kuroshiro 您所在的位置:网站首页 汉字转假名工具 kuroshiro

kuroshiro

2024-06-09 09:56| 来源: 网络整理| 查看: 265

kuroshiro

kuroshiro

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

kuroshiro是一款十分方便使用的日文转换注音工具,主要针对日文文本,进行到平假名、片假名及罗马字的转换,并支持注音假名、送假名 (旁注音)等注音模式。

其他说明语言:English, 日本語, 简体中文, 繁體中文, Esperanto。

演示

你可以在这里查看在线演示。

特性 日文文本 => 平假名、片假名、罗马字 支持注音假名和送假名 🆕支持多种语素解析器 🆕支持多种罗马字体系 实用日语工具 1.x版本的重大变化 从注音逻辑中分离语素解析器部分,使得我们可以使用不同的语素解析器(预定义的或自定义的) 拥抱ES8/ES2017以使用async/await方法 使用ES6 Module取代CommonJS 解析器插件

在开始工作之前,请先确认各插件的环境兼容性

解析器 Node.js支持 浏览器支持 仓库 开发者 Kuromoji ✓ ✓ kuroshiro-analyzer-kuromoji Hexen Qi Mecab ✓ ✗ kuroshiro-analyzer-mecab Hexen Qi Yahoo Web API ✓ ✗ kuroshiro-analyzer-yahoo-webapi Hexen Qi 如何使用 Node.js (或使用Webpack等打包工具时)

首先使用npm包管理器进行安装:

$ npm install kuroshiro

加载kuroshiro库:

同时支持ES6 Module import 和 CommonJS require

import Kuroshiro from "kuroshiro";

实例化:

const kuroshiro = new Kuroshiro();

使用一个解析器实例来初始化kuroshiro (请参考API说明):

// 在这个示例中,首先npm install并import导入kuromoji解析器 import KuromojiAnalyzer from "kuroshiro-analyzer-kuromoji"; // ... // 初始化 // 这里使用了async/await, 你同样也可以使用Promise await kuroshiro.init(new KuromojiAnalyzer());

进行转换操作:

const result = await kuroshiro.convert("感じ取れたら手を繋ごう、重なるのは人生のライン and レミリア最高!", { to: "hiragana" }); 浏览器

将dist/kuroshiro.min.js加入到你的工程 (你需要先后执行npm install和npm run build,以把它构建出来),并在HTML中加入:

在这个示例中, 你还需要引入kuroshiro-analyzer-kuromoji.min.js。具体获取方法请参考kuroshiro-analyzer-kuromoji

实例化:

var kuroshiro = new Kuroshiro();

使用一个解析器实例来初始化kuroshiro,然后进行转换操作:

kuroshiro.init(new KuromojiAnalyzer({ dictPath: "url/to/dictFiles" })) .then(function () { return kuroshiro.convert("感じ取れたら手を繋ごう、重なるのは人生のライン and レミリア最高!", { to: "hiragana" }); }) .then(function(result){ console.log(result); }) API说明 构造器

示例

const kuroshiro = new Kuroshiro(); 实例方法 init(analyzer)

使用一个解析器实例来初始化kuroshiro。你需要首先导入并初始化一个解析器。你可以使用上面提到的已实现的解析器插件。关于解析器的初始化方法请参照相应解析器的文档说明。

参数

analyzer - 解析器实例。

示例

await kuroshiro.init(new KuromojiAnalyzer()); convert(str, [options])

转换指定的字符串到指定的音节文字(可在选项中配置注音模式等设置)。

参数

str - 将被转换的字符串。 options - 可选 转换选项,见下表。 选项 类型 默认值 描述 to String ‘hiragana’ 目标音节文字hiragana (平假名),katakana (片假名),romaji (罗马字) mode String ‘normal’ 转换模式normal (标准模式),spaced (空格分组),okurigana (送假名),furigana (注音假名) romajiSystem* String “hepburn” 罗马字体系nippon (日本式),passport (护照式),hepburn (平文式) delimiter_start String ’(‘ 分隔符 (起始) delimiter_end String ’)’ 分隔符 (结束)

*: romajiSystem参数仅当to参数设置为romaji时生效。有关这一参数的更多信息, 请见 罗马字体系

示例

// normal (标准模式) kuroshiro.convert("感じ取れたら手を繋ごう、重なるのは人生のライン and レミリア最高!", {mode:"okurigana", to:"hiragana"}); // 结果:かんじとれたらてをつなごう、かさなるのはじんせいのライン and レミリアさいこう! // spaced (空格分组) kuroshiro.convert("感じ取れたら手を繋ごう、重なるのは人生のライン and レミリア最高!", {mode:"okurigana", to:"hiragana"}); // 结果:かんじとれ たら て を つなご う 、 かさなる の は じんせい の ライン and レミ リア さいこう ! // okurigana (送假名) kuroshiro.convert("感じ取れたら手を繋ごう、重なるのは人生のライン and レミリア最高!", {mode:"okurigana", to:"hiragana"}); // 结果: 感(かん)じ取(と)れたら手(て)を繋(つな)ごう、重(かさ)なるのは人生(じんせい)のライン and レミリア最高(さいこう)! // furigana (注音假名) kuroshiro.convert("感じ取れたら手を繋ごう、重なるのは人生のライン and レミリア最高!", {mode:"furigana", to:"hiragana"}); // 结果: 感(かん)じ取(と)れたら手(て)を繋(つな)ごう、重(かさ)なるのは人生(じんせい)のライン and レミリア最高(さいこう)! 实用工具

示例

const result = Kuroshiro.Util.isHiragana("あ")); isHiragana(char)

判断输入字符是否是平假名。

isKatakana(char)

判断输入字符是否是片假名。

isKana(char)

判断输入字符是否是假名。

isKanji(char)

判断输入字符是否是日文汉字。

isJapanese(char)

判断输入字符是否是日文。

hasHiragana(str)

检查输入字符串中是否含有平假名。

hasKatakana(str)

检查输入字符串中是否含有片假名。

hasKana(str)

检查输入字符串中是否含有假名。

hasKanji(str)

检查输入字符串中是否含有日文汉字。

hasJapanese(str)

检查输入字符串中是否含有日文。

kanaToHiragna(str)

转换输入假名字符串至平假名。

kanaToKatakana(str)

转换输入假名字符串至片假名。

kanaToRomaji(str, system)

转换输入假名字符串至罗马字。参数system可选值为"nippon", "passport", "hepburn" (默认值: “hepburn”)。

罗马字体系

kuroshiro支持三种罗马字体系。

nippon: 日本式罗马字。参照 ISO 3602 Strict。

passport: 护照式罗马字。 参照日本外务省发布的 日文罗马字对照表。

hepburn: 平文罗马字。参照 BS 4812 : 1972。

想快速了解这些罗马字体系的不同,可参考这个实用的网页。

罗马字转换须知

完全自动化进行注音假名到罗马字的直接转换是不可能的,这是因为一般的注音假名都缺乏正确的发音信息,可以参考 なぜ フリガナでは ダメなのか?。

因此kuroshiro在进行直接的注音假名->罗马字转换(使用任何罗马字体系)时,不会处理长音。(但长音符会被处理)

例如,当进行假名”こうし”到罗马字的转换时,对于nippon, passport, hepburn三种罗马字体系,你会分别得到”kousi”, “koushi”, “koushi”这几个结果

汉字->罗马字的转换无论使用注音假名模式与否都 不受 此逻辑影响。

贡献

请查阅文档 CONTRIBUTING.

灵感源 kuromoji wanakana 版权说明

MIT



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有