franc 项目介绍
项目概述
franc 是一个文本语言检测工具,可以识别多种语言的文本。它支持比任何其他库更多的语言,具体来说,包括 82 种、186 种或者 419 种语言版本。franc 还提供了一个命令行接口(CLI),方便用户直接从终端使用此功能。
项目优势
franc 的最大亮点在于其广泛的语言支持。基于《世界人权宣言》(UDHR),franc 是当前支持最多语言的免费版权文档。因此,franc 能够高效地处理各种文本,并提供准确的语言识别服务。
使用局限
虽然 franc 支持多种语言,但在处理较小文本时可能会容易混淆。因此,为了获得可靠的结果,建议对较大的文档进行检测。
安装指南
在 Node.js 环境中,用户可以通过 npm 安装 franc:
npm install franc
该命令将安装支持 187 种语言的 franc 包。如果需要简化或全面版本,也可以选择安装 franc-min(支持 82 种语言)或 franc-all(支持 414 种语言)。
在 Deno 或浏览器环境中,也可以通过 esm.sh 服务导入使用:
import {franc, francAll} from 'https://esm.sh/franc@6'
使用示例
franc 的基本用法如下:
import {franc, francAll} from 'franc'
console.log(franc('Alle menslike wesens word vry')) // 输出: 'afr'
console.log(francAll('Considerando ser essencial que os direitos humanos'))
// 输出: [['por', 1], ['glg', 0.771284519307895], ['spa', 0.6034146900423971], …]
用户可以通过设定选项来控制识别的语言范围及文本最小长度。
命令行接口
franc 提供了一个方便的命令行工具,可以在终端中直接检测文本语言。
npm install franc-cli --global
使用示例:
# 检测文本语言
$ franc "Alle menslike wesens word vry"
# 输出: afr
# 从标准输入检测语言
$ echo "এটি একটি ভাষা একক IBM স্ক্রিপ্ট" | franc
# 输出: ben
用户还可以通过参数设定只检测特定语言或忽略某些语言。
支持的数据
不同版本的 franc 支持不同数量的语言:
- franc-min 支持 82 种语言
- franc 支持 187 种语言
- franc-all 支持 414 种语言
franc 返回的是 ISO 639-3 标准的三字母语言代码,这与更常用的两字母 ISO 639-1 和三字母 ISO 639-2 有所不同。
跨平台兼容性
franc 兼容所有受支持版本的 Node.js(目前为 14.14+ 和 16.0+),同样适用于 Deno 和现代浏览器。
项目衍生与贡献
franc 已被移植到其他多种编程语言中,如 Elixir、Erlang、Go 和 Python 等。该项目源自几个不同语言的项目(Python、C++、Perl),并获得原作者授权以 MIT 许可证发布。
如果对项目感兴趣并希望参与贡献,可以参考【如何贡献开源项目】的指引。franc 项目是安全可靠的,也鼓励大家进行功能扩展与改进。