pinyindart 0.0.1 copy "pinyindart: ^0.0.1" to clipboard
pinyindart: ^0.0.1 copied to clipboard

Chinese pinyin conversion for Dart and Flutter with tone, polyphone, reverse lookup, and frequency support.

pinyindart #

pinyindart 是一个可直接被 Dart / Flutter 第三方项目引用的汉字转拼音库,功能对齐 pinyingo Go 版,并尽量保持和 pinyinjs 常见能力一致。

Features #

  • 汉字转拼音,支持带声调和无声调
  • 拼音首字母提取
  • 多音字识别和全部组合输出
  • 拼音反查汉字
  • 声调符号和数字互转
  • 汉字字频序号和累计频率查询
  • 纯 Dart 实现,字典数据已内嵌到包内

Getting started #

dart pub add pinyindart

Flutter 项目同样可以直接加入依赖后使用,无需额外初始化 assets。

Usage #

import 'package:pinyindart/pinyindart.dart';

void main() {
  print(getPinyin('中国'));
  // zhōng guó

  print(getPinyin('中国', withTone: false));
  // zhong guo

  print(getPinyin('中国', separator: '-'));
  // zhōng-guó

  print(getPinyin('重庆', polyphone: true));
  // chóng qìng

  print(getFirstLetter('中华人民共和国'));
  // ZHRMGHG

  print(getPinyinAll('大夫'));
  // [dà fū, dà fú, dài fū, dài fú]

  print(getFirstLetterAll('乐'));
  // [L, Y]

  print(getHanzi('zhong'));
  // 中钟终...

  print(removeTone('zhōng guó'));
  // zhong guo

  print(addTone('zhong1 guo2'));
  // zhōng guó

  print(getToneNumber('zhōng'));
  // 1
}

Compatibility #

除了 Dart 风格的顶层函数,也提供 PinyinUtil 静态方法,方便向 JS 风格调用迁移:

print(PinyinUtil.getPinyin('中国'));
print(PinyinUtil.getHanzi('zhong'));

Dictionary source #

词典数据来源于当前仓库中的 pinyingo 实现,并通过 tool/generate_dictionary_data.dart 预生成到 Dart 源码中,因此运行时不依赖本地文件。

0
likes
155
points
359
downloads

Documentation

API reference

Publisher

unverified uploader

Weekly Downloads

Chinese pinyin conversion for Dart and Flutter with tone, polyphone, reverse lookup, and frequency support.

Repository (GitHub)
View/report issues

License

MIT (license)

Dependencies

archive

More

Packages that depend on pinyindart