3个版本
0.1.2 | 2024年7月22日 |
---|---|
0.1.1 | 2024年3月2日 |
0.1.0 | 2024年2月28日 |
9 在 #convert-text
174 每月下载量
26KB
474 行
ainconv - 阿伊努语言脚本转换器
概述
此Cargo包提供了一组用于在不同阿伊努语言书写系统之间转换文本的全面函数。
目前,支持拉丁(罗马化)、假名和西里尔脚本。我们还在计划在不同罗马化和假名变体之间进行转换。目前仅支持较广泛采用的拉丁脚本和有损的假名脚本。
计划在未来支持句子转换。目前,仅接受格式良好的单个单词。转换后的字符串始终是小写的。
重要说明
拉丁和西里尔脚本之间的转换是无损的,然而,假名与其他脚本之间的转换是有损的。这意味着从假名转换到其他脚本然后再转换回假名可能不会得到原始字符串,结果可能是不明确或甚至错误的。
这是因为广泛用于阿伊努语言的假名脚本本质上是不明确的。例如,它不能区分 tow 和 tu(两者都是 トゥ),iw 和 i.u(两者都是 イウ),ay 和 a.i(两者都是 アイ)等。已经提出了某些替代的假名脚本以解决这个问题,但没有一个被广泛采用。我们计划在未来支持其中一些替代脚本。
安装
使用cargo安装包
cargo add ainconv
或将以下行添加到您的 Cargo.toml
文件中
[dependencies]
ainconv = "0.1.0"
用法
单词转换
use ainconv::{
convert_kana_to_latn,
convert_latn_to_kana,
convert_cyrl_to_latn,
convert_latn_to_cyrl,
convert_kana_to_cyrl,
convert_cyrl_to_kana,
// ...
}
println!("{}", convert_kana_to_latn("イランカラㇷ゚テ")); // "irankarapte"
println!("{}", convert_latn_to_kana("irankarapte")); // "イランカラㇷ゚テ"
println!("{}", convert_cyrl_to_latn("иранкараптэ")); // "irankarapte"
println!("{}", convert_latn_to_cyrl("irankarapte")); // "иранкараптэ"
println!("{}", convert_cyrl_to_kana("иранкараптэ")); // "イランカラㇷ゚テ"
println!("{}", convert_kana_to_cyrl("イランカラㇷ゚テ")); // "иранкараптэ"
额外功能
脚本检测
检测给定字符串的脚本。
use ainconv::detect;
println!("{}", detect("aynu")); // "Latn"
println!("{}", detect("アイヌ")); // "Kana"
println!("{}", detect("айну")); // "Cyrl"
音节分割
use ainconv::separate;
println!("{:?}", separate("eyaykosiramsuypa")); // ["e", "yay", "ko", "si", "ram", "suy", "pa"]
许可证
MIT许可证 (c) 2024 mkpoli
另请参阅
- ainconv - npm:此包的JavaScript版本
- ainconv - PyPI:此包的Python版本
- Module:ain-kana-conv - ウィクショナリー日本語版:日本维基词典中的原始Lua Scribunto模块