kuroshiro

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

Usage no npm install needed!

<script type="module">
  import kuroshiro from 'https://cdn.skypack.dev/kuroshiro';
</script>

README

kuroshiro

Kuroshiro

Build Status Coverage Status npm version Join the chat at https://gitter.im/hexenq/kuroshiro License

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