#chinese #opencc #bindings #localization #simple #traditional #directory

sys opencc-rust

Open Chinese Convert(OpenCC, 开放中文转换) 为 Rust 语言编写的绑定,用于简体和繁体中文之间的转换

31 个稳定版本

1.1.19 2024年8月10日
1.1.18 2023年11月13日
1.1.17 2023年9月9日
1.1.16 2023年6月29日
1.0.7 2018年11月14日

#169国际化(i18n)

Download history 9/week @ 2024-04-29 8/week @ 2024-05-13 16/week @ 2024-05-20 18/week @ 2024-05-27 11/week @ 2024-06-03 22/week @ 2024-06-10 20/week @ 2024-06-17 22/week @ 2024-06-24 22/week @ 2024-07-08 5/week @ 2024-07-15 11/week @ 2024-07-22 7/week @ 2024-07-29 126/week @ 2024-08-05 38/week @ 2024-08-12

183 每月下载量
2 crates 中使用

Apache-2.0

550KB
495

OpenCC Rust

CI

Open Chinese Convert(OpenCC, 开放中文转换) 为 Rust 语言编写的绑定,用于简体和繁体中文之间的转换。

编译

要编译此 crate,您需要首先编译 OpenCC C++ 库。您可以在操作系统上安装 OpenCC,或者在文件系统中的某个位置安装。对于后者,您需要设置以下环境变量以链接 OpenCC 库

  • OPENCC_LIB_DIRS:库文件目录,如 -L。使用 : 分隔。
  • OPENCC_LIBS:您想要链接的库名称,如 -l。使用 : 分隔。通常包含 opencc:marisa
  • OPENCC_INCLUDE_DIRS:头文件目录,如 -i。使用 : 分隔。
  • OPENCC_STATIC:是否使用 staticdylib
  • OPENCC_DYLIB_STDCPP:如果您使用 static 链接,并且您的 OpenCC 库是用 GNU C 编译的,则应设置此环境变量。
  • OPENCC_STATIC_STDCPP:如果您使用 static 链接,并且您的 OpenCC 库是用 musl libc 编译的,则应设置此环境变量。

示例

use opencc_rust::*;

let opencc = OpenCC::new(DefaultConfig::TW2SP).unwrap();

let s = opencc.convert("涼風有訊");

assert_eq!("凉风有讯", &s);

let s = opencc.convert_to_buffer(",秋月無邊", s);

assert_eq!("凉风有讯,秋月无边", &s);
use opencc_rust::*;

let opencc = OpenCC::new(DefaultConfig::S2TWP).unwrap();

let s = opencc.convert("凉风有讯");

assert_eq!("涼風有訊", &s);

let s = opencc.convert_to_buffer(",秋月无边", s);

assert_eq!("涼風有訊,秋月無邊", &s);

静态词典

通常,OpenCC 需要在安装了 OpenCC 的环境中执行。如果您想使其可移植,可以启用 static-dictionaries 功能。

[dependencies.opencc-rust]
version = "*"
features = ["static-dictionaries"]

然后,将提供 generate_static_dictionarygenerate_static_dictionaries 函数。

默认的 OpenCC 词典将由 lazy_static_include crate 编译到二进制文件中。您可以使用这两个函数按需恢复它们。

例如,

use opencc_rust::*;

let output_path = "/path/to/dictionaries-directory";

generate_static_dictionary(&output_path, DefaultConfig::TW2SP).unwrap();

let opencc = OpenCC::new(Path::join(&output_path, DefaultConfig::TW2SP)).unwrap();

assert_eq!("凉风有讯", &opencc.convert("涼風有訊"));

支持的平台

当前这个crate支持Linux。其他平台不支持保证。

Crates.io

https://crates.io/crates/opencc-rust

文档

https://docs.rs/opencc-rust

许可证

Apache-2.0

依赖