Japanese language support for GLOST - helper functions and transcription providers
npm install glost-jaglost package to keep the core lightweight and language-agnostic.
bash
npm install glost-ja glost glost-common
or
pnpm add glost-ja glost glost-common
`
Features
- Helper Functions: Convenience functions for creating Japanese GLOST word nodes
- Transcription Interfaces: Standard interfaces for Japanese transcription providers
- Romaji Support: Built-in support for romaji romanization
- Furigana Support: Support for furigana reading aids
- Multiple Systems: Interfaces for Hepburn, Kunrei-shiki, and Nihon-shiki romanization
Usage
$3
`typescript
import { createJapaneseWord } from 'glost-ja';
const word = createJapaneseWord({
text: 'こんにちは',
romaji: 'konnichiwa',
partOfSpeech: 'interjection',
furigana: 'こんにちは'
});
`
$3
This package defines interfaces for common Japanese transcription schemes:
- Romaji (generic romanization)
- Hepburn romanization (most common)
- Kunrei-shiki romanization
- Nihon-shiki romanization
- Furigana (reading aid in kana)
- Hiragana reading
- Katakana reading
- IPA (International Phonetic Alphabet)
$3
`typescript
import type { JapaneseTranscriptionProvider } from 'glost-ja/transcription';
const myJapaneseProvider: JapaneseTranscriptionProvider = {
getTranscription(text: string, scheme: string): string | undefined {
// Your implementation here
return transcription;
},
getDefaultScheme(): string {
return 'hepburn';
},
hasScheme(scheme: string): boolean {
return ['hepburn', 'furigana', 'ipa'].includes(scheme);
},
getAvailableSchemes(): string[] {
return ['romaji', 'hepburn', 'kunrei', 'furigana', 'ipa'];
},
getSchemeDisplayName(scheme: string): string {
const names: Record = {
'romaji': 'Romaji',
'hepburn': 'Hepburn',
'kunrei': 'Kunrei-shiki',
'nihon': 'Nihon-shiki',
'furigana': 'Furigana',
'ipa': 'IPA'
};
return names[scheme] ?? scheme;
}
};
`
API Reference
$3
#### createJapaneseWord(options: CreateJapaneseWordOptions): GLOSTWord
Creates a Japanese word node with romaji and optional furigana.
Options:
- text (string): Japanese text (hiragana, katakana, or kanji)
- romaji (string): Romaji romanization
- partOfSpeech (string, optional): Part of speech (default: "unknown")
- furigana (string, optional): Furigana reading
$3
#### JapaneseTranscriptionProvider
Interface for Japanese transcription providers. See glost-common for the base TranscriptionProvider interface.
#### JapaneseTranscriptionScheme
Type definition for Japanese transcription schemes: 'romaji' | 'hepburn' | 'kunrei' | 'nihon' | 'furigana' | 'hiragana' | 'katakana' | 'ipa'
#### isValidJapaneseScheme(scheme: string): boolean
Validates if a string is a valid Japanese transcription scheme.
#### getJapaneseSchemeDisplayName(scheme: string): string
Gets the display name for a Japanese transcription scheme.
Architecture
This package follows the GLOST Multi-Language Architecture pattern:
- Focused: Contains only Japanese-specific code
- Composable: Works seamlessly with core GLOST packages
- Extensible: Easy to add new transcription providers
- Type-safe: Full TypeScript support
Related Packages
- glost - Core GLOST types and node factories
- glost-common - Common language utilities
- glost-extensions - Extension system
- glost-th` - Thai language support