kuroshiro is a Japanese language library for converting Japanese sentence to Hiragana, Katakana or Romaji with furigana and okurigana modes supported.
npm install kuroshiro




la Kuroshiro estas Japanalingvo kodlibrejo por konverti Japanajn frazojn al Hiraganao, Katakanao aŭ Romaĝio, kaj ankaŭ subtenas furiganaon kaj okuriganaon.
Legi ĉi tion per aliaj lingvoj: English, 日本語, 简体中文, 繁體中文, Esperanto.
sh
$ npm install kuroshiro
`
Ŝargi la kodotekon:Subtenas ambaŭ "ES6 Module"
import kaj "CommonJS" require
`js
import Kuroshiro from "kuroshiro";
`Generi:
`js
const kuroshiro = new Kuroshiro();
`Iniciati kuroshiro kun genero de analizilo (Rigardu la dokumenton apidoc por vidi pli da informo):
`js
// Por ĉi tiu ekzemplo, vi devus fari npm install kaj importi la "kuromoji" analizilon unue.
import KuromojiAnalyzer from "kuroshiro-analyzer-kuromoji";// ...
// Ŝargi
// Ĉi tio uzas async/await, sed vi ankaŭ povus uzi Promise
await kuroshiro.init(new KuromojiAnalyzer());
`Konverti frazon:
`js
const result = await kuroshiro.convert("感じ取れたら手を繋ごう、重なるのは人生のライン and レミリア最高!", { to: "hiragana" });
`
$3
Aldoni dist/kuroshiro.min.js al via "frontend-a projekto" (vi povas antaŭe kompili la originalan kodon per npm run build post npm install), kaj en via HTML:
`html
`Por fari kiel en ĉi ekzemplo, vi devas ankaŭ inkluzivi
kuroshiro-analyzer-kuromoji.min.js kiu vi povas preni ĉe kuroshiro-analyzer-kuromoji
`html
`Ŝargi:
`js
var kuroshiro = new Kuroshiro();
`Iniciati kuroshiro per ŝargo de analizilo, poste konverti:
`js
kuroshiro.init(new KuromojiAnalyzer({ dictPath: "url/to/dictFiles" }))
.then(function () {
return kuroshiro.convert("感じ取れたら手を繋ごう、重なるのは人生のライン and レミリア最高!", { to: "hiragana" });
})
.then(function(result){
console.log(result);
})
`API
$3
__Ekzemploj__`js
const kuroshiro = new Kuroshiro();
`$3
#### init(analyzer)
Iniciati kuroshiro per instanco de analizilo. Vi devus unue importi analizilon kaj iniciati ĝin. Vi povas uzi la finitaj-iloj skribita supre. Bonvole rigardu la analizilan dokumentaron por vidi instrukciojn.__Argumentoj__
*
analyzer - Instanco de Analizilo.__Ekzemploj__
`js
await kuroshiro.init(new KuromojiAnalyzer());
`#### convert(str, [options])
Konverti frazon al cela skribsistemo (kun agordoj)
__Argumentoj__
*
str - Konvertvola Frazo.
options - Optional* kuroshiro havas multajn frazajn konvertagordojn.| Agordoj | Tipo | Defaŭlto | Informo |
|---|---|---|---|
| to | String | "hiragana" | Target syllabary [
hiragana, katakana, romaji] |
| mode | String | "normal" | Convert mode [normal, spaced, okurigana, furigana] |
| romajiSystem* | String | "hepburn" | Romanization system [nippon, passport, hepburn] |
| delimiter_start | String | "(" | Delimiter(Start) |
| delimiter_end | String | ")" | Delimiter(End) |*: Param
romajiSystem estas uzata sole kiam parametro to estas romaji. Por vidi plie, rigardu Romanaskriptkonvertaj Sistemoj__Ekzemploj__
`js
// normal
await kuroshiro.convert("感じ取れたら手を繋ごう、重なるのは人生のライン and レミリア最高!", {mode:"okurigana", to:"hiragana"});
// rezulto:かんじとれたらてをつなごう、かさなるのはじんせいのライン and レミリアさいこう!
``js
// spaced
await kuroshiro.convert("感じ取れたら手を繋ごう、重なるのは人生のライン and レミリア最高!", {mode:"okurigana", to:"hiragana"});
// rezulto:かんじとれ たら て を つなご う 、 かさなる の は じんせい の ライン and レミ リア さいこう !
``js
// okurigana
await kuroshiro.convert("感じ取れたら手を繋ごう、重なるのは人生のライン and レミリア最高!", {mode:"okurigana", to:"hiragana"});
// rezulto: 感(かん)じ取(と)れたら手(て)を繋(つな)ごう、重(かさ)なるのは人生(じんせい)のライン and レミリア最高(さいこう)!
`
// furigana
await kuroshiro.convert("感じ取れたら手を繋ごう、重なるのは人生のライン and レミリア最高!", {mode:"furigana", to:"hiragana"});
// rezulto: 感じ取れたら手を繋ごう、重なるのは人生のライン and レミリア最高!
$3
__Ekzemploj__
`js
const result = Kuroshiro.Util.isHiragana("あ"));
`
#### isHiragana(char)
Determini se enigita litero estas hiragana.#### isKatakana(char)
Determini se enigita litero estas katakana.
#### isKana(char)
Determini se enigita litero estas kana.
#### isKanji(char)
Determini se enigita litero estas kanĵio.
#### isJapanese(char)
Determini se enigita litero estas Japanolingva.
#### hasHiragana(str)
Determini se enigita frazo enhavas hiraganan.
#### hasKatakana(str)
Determini se enigita frazo enhavas katakanan.
#### hasKana(str)
Determini se enigita frazo enhavas kanan.
#### hasKanji(str)
Determini se enigita frazo enhavas kanĵion.
#### hasJapanese(str)
Determini se enigita frazo enhavas Japanolingvajn Frazojn.
#### kanaToHiragna(str)
Konverti enigitan kanan frazon al hiragana
#### kanaToKatakana(str)
Konverti enigitan kanan frazon al katakana.
#### kanaToRomaji(str, system)
Konverti enigitan kanan frazon al romaĝio. Param
system povas enhavi "nippon", "passport", "hepburn" (Defaŭlta: "hepburn").Romanaskriptkonvertaj Sistemoj
kuroshiro povas uzi tri da Romanaskriptkonvertajn Sistemojn.nippon: Nippon-shiki sistemo. Rigardu ISO 3602 Strict.passport: Passport-shiki sistemo. Rigardu Japanese romanization table de la "Japana Ministerio de Eksteraj Aferoj".hepburn: Hepburn sistemo. Rigardu BS 4812 : 1972.Por vidi la malsamecoj de la tri sistemoj, rigardu webpage.
$3
Ne eblas tute konverti __furigana__ precize al __romaĝio__ ĉar furigana ne enhavas kompletan prononcan informon, (Rigardu なぜ フリガナでは ダメなのか?) do kuroshiro ne konvertas chōon dum konvertado el furigana (kana) -> romaĝio je ĉiom da sistemoj (Sed, Chōonpu ĉiam konvertas) *Ekzemple, vi vidos "kousi", "koushi", "koushi" dum kana konvertado de "こうし" al romaĝio
kiam vi uzas
nippon, passport, hepburn` sistemojn respektive*Kanĝip -> romaĝio konvertado __ne estas afektita__.