汉字标注假名转换器

2022-03-09 00:10:00 教程 网站建设 总结 863 words 5 min read

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

使用到的项目为kuroshirokuromoji

一、演示

二、使用

Web

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

可以直接通过CDN引入:

html
          <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>

        
javascript
          // 初始化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个)

Node

          npm i kuroshiro kuroshiro-analyzer-kuromoji

        
javascript
          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 - 可选 转换选项,见下表。
选项类型默认值描述
toString‘hiragana’目标音节文字 hiragana (平假名), katakana (片假名), romaji (罗马字)
modeString‘normal’转换模式 normal (标准模式), spaced (空格分组), okurigana (送假名), furigana (注音假名)
romajiSystem*String“hepburn”罗马字体系 nippon (日本式), passport (护照式), hepburn (平文式)
delimiter_startString’(‘分隔符 (起始)
delimiter_endString’)’分隔符 (结束)

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

示例

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

        

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

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

        

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

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

        

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

js
          // 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”)。


汉字标注假名转换器
http://localhost/articles/kanjifurigana
作者
sunshj
发布于
2022-03-09 00:10
许可
CSS的层叠权重值
在学习CSS的过程中可能听说过特指度(I-C-E)这个东西,简单来说特指度表示一个CSS选择器表达式的重要程度,通常称为I-C-E计算公式。其中的 I 对应着 Id,C 对应着 class,E 对应着 Element,在针对一个 CSS 选择器表达式的时候,遇到一个 Id 就往特指度数值中加 100,遇到一个 class 就往特指度数值中加 10,遇到一个 Element 就往特指度数值中加 1。
Hexo添加Tidio在线聊天
Tidio界面优雅简洁,支持多渠道回复,网页、Windows、安卓、IOS,关键是免费功能对普通用户完全够用。
© 2021-2025 sunshj's Blog