汉字标注假名转换器
sunshj Lv3

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

使用到的项目为kuroshirokuromoji

一、演示

你可以在这里查看我的演示。

二、使用

Web

导入kuroshiro.min.jskuroshiro-analyzer-kuromoji.min.js ,其中kuroshiro.min.js需要使用1.1.0版本。

可以直接通过CDN引入:

1
2
<script src="https://cdn.jsdelivr.net/npm/kuroshiro@1.1.0/dist/kuroshiro.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/kuroshiro-analyzer-kuromoji@1.1.0/dist/kuroshiro-analyzer-kuromoji.min.js"></script>
1
2
3
4
5
6
7
8
9
10
11
12
13
// 初始化kuroshiro
const kuroshiro = new Kuroshiro()
// 初始化kuroshiro-analyzer-kuromoji
kuroshiro.init(new KuromojiAnalyzer({ dictPath: '/path/to/dict/' }))

kuroshiro
.convert(text, {
mode: 'furigana',
to: 'hiragana'
})
.then(res => {
console.loe(res)
})

字典文件

下载kuromoji项目中dict下的gz文件(共12个)

image

Node

1
npm i kuroshiro kuroshiro-analyzer-kuromoji
1
2
3
4
5
6
7
8
9
10
import _Kuroshiro from 'kuroshiro'
import KuromojiAnalyzer from 'kuroshiro-analyzer-kuromoji'

const interopDefault = m => m.default || m
const Kuroshiro = interopDefault(_Kuroshiro)

const kuroshiro = new Kuroshiro()
await kuroshiro.init(new KuromojiAnalyzer())
const result = await kuroshiro.convert(text, { mode: 'furikana', to: 'hiragana' })
console.loe(result)

三、API说明

此处援引kuroshiro官网API说明

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时生效。有关这一参数的更多信息, 请见 罗马字体系

示例

1
2
3
4
5
// normal (标准模式)
kuroshiro.convert('感じ取れたら手を繋ごう、重なるのは人生のライン and レミリア最高!', {
mode: 'okurigana',
to: 'hiragana'
})

结果:かんじとれたらてをつなごう、かさなるのはじんせいのライン and レミリアさいこう!

1
2
3
4
5
// spaced (空格分组)
kuroshiro.convert('感じ取れたら手を繋ごう、重なるのは人生のライン and レミリア最高!', {
mode: 'okurigana',
to: 'hiragana'
})

结果:かんじとれ たら て を つなご う 、 かさなる の は じんせい の ライン and レミ リア さいこう !

1
2
3
4
5
// okurigana (送假名)
kuroshiro.convert('感じ取れたら手を繋ごう、重なるのは人生のライン and レミリア最高!', {
mode: 'okurigana',
to: 'hiragana'
})

结果:感(かん)じ取(と)れたら手(て)を繋(つな)ごう、重(かさ)なるのは人生(じんせい)のライン and レミリア最高(さいこう)!

1
2
3
4
5
// furigana (注音假名)
kuroshiro.convert('感じ取れたら手を繋ごう、重なるのは人生のライン and レミリア最高!', {
mode: 'furigana',
to: 'hiragana'
})

结果:(かん)()れたら()(つな)ごう、(かさ)なるのは人生(じんせい)のライン and レミリア最高(さいこう)

实用工具

示例

1
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”)。

 评论
评论插件加载失败
正在加载评论插件
由 Hexo 驱动 & 主题 Keep
访客数 访问量