10 个版本 (3 个稳定版)

使用旧的 Rust 2015

1.0.2 2017年11月28日
1.0.1 2017年3月18日
1.0.0 2016年11月6日
0.1.0 2015年11月19日
0.0.2 2014年11月22日

#15 in #format-text


用于 lingua

无版权许可

21MB
401K SLoC

C++ 400K SLoC // 0.0% comments Rust 1K SLoC // 0.0% comments Shell 206 SLoC // 0.3% comments

Build Status Latest version License

已弃用,推荐使用 whatlang,它是本地的 Rust 库,且体积更小。如果您有使用此代码的强力用例,请发起一个问题。对于简单的 PR,特别是针对错误修复的,仍会阅读并可能合并。

此 Rust 库使用来自 Chromium 项目的 cld2 库 检测字符串的语言。

要使用它,请将以下行添加到您的 Cargo.toml 文件并运行 cargo update

[dependencies.cld2]
git = "git://github.com/emk/rust-cld2"

然后您可以按如下方式调用它

// Put these two lines the top of the file.
extern crate cld2;
use cld2::{detect_language, Format, Reliable, Lang};

let text = "It is an ancient Mariner,
And he stoppeth one of three.
'By thy long grey beard and glittering eye,
Now wherefore stopp'st thou me?";

assert_eq!((Some(Lang("en")), Reliable),
           detect_language(text, Format::Text));

您还可以传递语言检测提示并请求更详细的结果。有关详细信息,请参阅 API 文档

贡献

一如既往,欢迎提交拉取请求!请尽量保持补丁简单,并包括单元测试;这会使合并它们变得容易。

如果您想在其他平台上构建 C/C++ 代码,请参阅 cld2-sys构建脚本指南。您可能需要调整一些编译器选项。请不要犹豫提问;我非常希望这个库能够跨平台。

在您的第一次提交信息中,请包括以下声明

我将我的任何和所有贡献的版权利益奉献给公共领域。我做出这一承诺是为了公众的利益,并损害了我的继承人及继任者的利益。我打算将这一奉献作为永久放弃所有现在和未来版权法下对软件的所有权利的公开行为。

这使得我们可以合法地保持库无拘无束,并让每个人都能使用。

许可

原始的cld2库是在Apache License Version 2.0下分发的。这也涵盖了cld2-sys/src/wrapper.h中的大部分代码。所有的新代码都按照Unlicense的描述释放到公共领域。

依赖项