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.
Ekzempla Paĝo
Vidi la ekzemplan paĝon ĉi tie.
Elementoj
- Japanalingva Frazo => Hiraganao, Katakanao aŭ Romaĝio
- Furiganao kaj okuriganao modoj
- 🆕Multaj lingvastrukturaj metodoj
- 🆕Multaj romanaskriptkonvertaj sistemoj
- Utilaj Japanalingvaj iloj
Gravaj Ŝanĝoj je 1.x
- Aparta lingvasttrukturametoda ilo kaj fonetika notacia logiko por eblegi la uzaton de multaj lingvastrukturaj metodoj. (finitaj iloj or personigitaj iloj)
- ES8/ES2017 por uzi “async/await” funkciojn
- Uzu la modulon ES6 anstataŭ CommonJS
Finitaj Analizilaj (Lingvastrukturaj) Iloj
Antaŭ uzi ilon, bonvolu certiĝi pri mediakongrueco | Analizilo | Node.js Uzadeblo | Retumilo Uzadeblo | Plugin Repo | Programisto | |—|—|—|—|—| |Kuromoji|✓|✓|kuroshiro-analyzer-kuromoji|Hexen Qi| |Mecab|✓|✗|kuroshiro-analyzer-mecab|Hexen Qi| |Yahoo Web API|✓|✗|kuroshiro-analyzer-yahoo-webapi|Hexen Qi|
Uzado
Node.js (aŭ per “module bundler”-ilo (kiel Webpack))
Instali per npm pako-administrilo:
$ npm install kuroshiro
Ŝargi la kodotekon:
Subtenas ambaŭ “ES6 Module” import
kaj “CommonJS” require
import Kuroshiro from "kuroshiro";
Generi:
const kuroshiro = new Kuroshiro();
Iniciati kuroshiro kun genero de analizilo (Rigardu la dokumenton apidoc por vidi pli da informo):
// 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:
const result = await kuroshiro.convert("感じ取れたら手を繋ごう、重なるのは人生のライン and レミリア最高!", { to: "hiragana" });
Retumilo
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:
<script src="url/to/kuroshiro.min.js"></script>
Por fari kiel en ĉi ekzemplo, vi devas ankaŭ inkluzivi kuroshiro-analyzer-kuromoji.min.js
kiu vi povas preni ĉe kuroshiro-analyzer-kuromoji
<script src="url/to/kuroshiro-analyzer-kuromoji.min.js"></script>
Ŝargi:
var kuroshiro = new Kuroshiro();
Iniciati kuroshiro per ŝargo de analizilo, poste konverti:
kuroshiro.init(new KuromojiAnalyzer({ dictPath: "url/to/dictFiles" }))
.then(function () {
return kuroshiro.convert("感じ取れたら手を繋ごう、重なるのは人生のライン and レミリア最高!", { to: "hiragana" });
})
.then(function(result){
console.log(result);
})
API
Konstruilo
Ekzemploj
const kuroshiro = new Kuroshiro();
Instancometodoj
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
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
// normal
await kuroshiro.convert("感じ取れたら手を繋ごう、重なるのは人生のライン and レミリア最高!", {mode:"okurigana", to:"hiragana"});
// rezulto:かんじとれたらてをつなごう、かさなるのはじんせいのライン and レミリアさいこう!
// spaced
await kuroshiro.convert("感じ取れたら手を繋ごう、重なるのは人生のライン and レミリア最高!", {mode:"okurigana", to:"hiragana"});
// rezulto:かんじとれ たら て を つなご う 、 かさなる の は じんせい の ライン and レミ リア さいこう !
// okurigana
await kuroshiro.convert("感じ取れたら手を繋ごう、重なるのは人生のライン and レミリア最高!", {mode:"okurigana", to:"hiragana"});
// rezulto: 感(かん)じ取(と)れたら手(て)を繋(つな)ごう、重(かさ)なるのは人生(じんせい)のライン and レミリア最高(さいこう)!
// furigana await kuroshiro.convert("感じ取れたら手を繋ごう、重なるのは人生のライン and レミリア最高!", {mode:"furigana", to:"hiragana"}); // rezulto: 感じ取れたら手を繋ごう、重なるのは人生のライン and レミリア最高!
Utilaĵoj
Ekzemploj
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.
Informo pri Romaĝia Konvertado
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.
Kontribui
Rigardu CONTRIBUTING.
Inspiroj
- kuromoji
- wanakana
Licenco
MIT