#language-detection #detect #wrapper #low-level #detector #hint #cld2

已弃用 sys cld2-sys

为 cld2 语言检测库提供的非安全、低级包装器

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 日

#21 in #hint

Download history 16/week @ 2023-11-26 13/week @ 2023-12-03 8/week @ 2023-12-10 66/week @ 2023-12-31 18/week @ 2024-01-14 2/week @ 2024-01-21 27/week @ 2024-01-28 26/week @ 2024-02-04 7/week @ 2024-02-11 57/week @ 2024-02-18 18/week @ 2024-02-25 23/week @ 2024-03-03 16/week @ 2024-03-10

114 次每月下载
2 个包中使用(通过 cld2

Unlicense/Apache-2.0

21MB
401K SLoC

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

Build Status Latest version License

已弃用,推荐使用 whatlang,这是一个原生的 Rust 库,体积更小。如果您有强烈的理由使用此代码,请提交问题。简单的 PR,尤其是错误修复的 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/build.rb此构建脚本指南。您可能需要调整一些编译器选项。请随时提问;我希望这个库能够跨平台。

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

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

这使我们能够保持库的法律上无负担,并免费供每个人使用。

许可协议

原始的cld2库采用Apache License Version 2.0许可发行。这也涵盖了代码库中大部分的代码,包括cld2-sys/src/wrapper.h。所有的新代码按照Unlicense的描述,发布到公有领域。


lib.rs:

这是围绕cld2(基于Chromium代码的“紧凑语言检测器”)的低级不安全包装,以及一个非常薄的C包装层。除非您正在编写自己的cld2包装库,否则通常您不会想直接使用这个库。

如果您需要访问目前未包装的API,请随时发送pull请求!

依赖项