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)
183 每月下载量
在 2 crates 中使用
550KB
495 行
OpenCC Rust
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
:是否使用static
或dylib
。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_dictionary
和 generate_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