#script #language #convert-text #text #converter #scripting-language #ainu

ainconv

在不同的阿伊努文字脚本(假名、拉丁、西里尔)之间转换阿伊努词汇

3个版本

0.1.2 2024年7月22日
0.1.1 2024年3月2日
0.1.0 2024年2月28日

9#convert-text

Download history 1/week @ 2024-05-17 4/week @ 2024-05-31 1/week @ 2024-06-07 127/week @ 2024-07-19 41/week @ 2024-07-26 6/week @ 2024-08-02

174 每月下载量

MIT 许可证

26KB
474

ainconv - 阿伊努语言脚本转换器

Crates.io GitHub issues GitHub

概述

此Cargo包提供了一组用于在不同阿伊努语言书写系统之间转换文本的全面函数。

目前,支持拉丁(罗马化)、假名和西里尔脚本。我们还在计划在不同罗马化和假名变体之间进行转换。目前仅支持较广泛采用的拉丁脚本和有损的假名脚本。

计划在未来支持句子转换。目前,仅接受格式良好的单个单词。转换后的字符串始终是小写的。

重要说明

拉丁和西里尔脚本之间的转换是无损的,然而,假名与其他脚本之间的转换是有损的。这意味着从假名转换到其他脚本然后再转换回假名可能不会得到原始字符串,结果可能是不明确或甚至错误的。

这是因为广泛用于阿伊努语言的假名脚本本质上是不明确的。例如,它不能区分 towtu(两者都是 トゥ),iwi.u(两者都是 イウ),aya.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

另请参阅

无运行时依赖