14

我有一个表单可以让用户输入文本片段。那么如何判断输入文本的语言呢?

目前特别是这些语言:

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

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

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

[编辑]检测也适用于通过 API 检索的文本(不涉及浏览器)

4

5 回答 5

8

您可以确定字符是来自 Unicode 映射的阿拉伯语、中文还是日语部分。

如果您查看Wikipedia上的列表,您会发现每种语言都有许多地图部分。但是你不是在做翻译,所以你不需要担心每一个字形。

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

阿拉伯语 (0600–06FF)

日本人

  • 平假名 (3040–309F)
  • 片假名 (30A0–30FF)
  • 看文 (3190–319F)

中国人

  • 中日韩统一表意文字 (4E00–9FFF)

(我通过使用Chinese to Unicode Converter得到了你的中文的十六进制。)

于 2010-05-02T06:53:51.430 回答
2

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

于 2010-05-02T06:53:14.703 回答
1

大概猜测用户的语言是用正确的语言显示响应。检查浏览器的首选语言设置怎么样?从 HTTP 标头Accept-Language获取它。请参阅此处的第 14.4 节。

于 2010-05-02T07:02:32.130 回答
0

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

于 2014-03-05T09:47:12.717 回答
0

您可以使用https://detectlanguage.com/,它是围绕 CLD2 构建的网络服务。

于 2017-08-13T13:13:32.790 回答