如何检测文字语言?

时间:2010-05-02 06:49:53

标签: php language-detection

我有一个表单,可以让用户输入文本片段。那么怎样才能找出输入文本的语言?

现在特别是这些语言:

阿拉伯语:هذههيبعضالنصوصالعربية

中文:这是一些阿拉伯文字

日语:これは,いくつかのアラビア语のテキストです

[编辑] 检测功能也可以通过API检索(不涉及浏览器)

5 个答案:

答案 0 :(得分:9)

您可以确定这些字符是来自Unicode地图的阿拉伯语,中文还是日语部分。

如果查看Wikipedia上的列表,您会看到每种语言都包含地图的许多部分。但是你没有进行翻译,所以你不必担心每一个字形。

例如,你的中文文本开始(十六进制)0x8FD9 0x662F 0x4E00 - 这些都在“CJK统一表意文字”部分,这是中文。以下是一些可以帮助您入门的范围:

阿拉伯语(0600-06FF)

日语

  • 平假名(3040-309F)
  • 片假名(30A0-30FF)
  • Kanbun(3190-319F)

中国

  • CJK统一表意文字(4E00-9FFF)

(我使用Chinese to Unicode Converter获得了中文的十六进制。)

答案 1 :(得分:2)

您可以使用Google Ajax API来检测文本片段的语言。

答案 2 :(得分:2)

据推测,猜测用户的语言是以适当的语言显示回复。检查浏览器首选语言的设置怎么样?从HTTP标头 Accept-Language 中获取。请参阅第14.4节here

答案 3 :(得分:0)

我正在为服务器端探索同样的事情。到目前为止,我找到了https://code.google.com/p/language-detection/。希望这有助于某人。

答案 4 :(得分:0)

您可以使用https://detectlanguage.com/这是围绕CLD2构建的Web服务。