我已经在这件事上挣扎了两天,但仍然找不到任何有用的东西。
有人可以向我建议任何可以有效检测提交表单的语言,无论是任何插件或API,我都可以在我的php应用程序中使用。
如果他们对您可以提出的许多请求没有限制,以下方法对我很有帮助。
Google提供language detection library,这似乎适合我,但我完全不知道如何使用它。
是否有任何有效的方法可以即时检测用户输入的语言(短文本)? 或者也许有人可以帮我弄清楚如何在PHP中使用Google Detection库?
(在我的应用程序中,为每种语言执行不同的脚本,因此我需要检测提交表单的语言,以确定要执行的脚本)
答案 0 :(得分:2)
使用Pear的Text_LanguageDetect
安装:
sudo pear install Text_LanguageDetect
示例:
<?php
require_once 'Text/LanguageDetect.php';
$l = new Text_LanguageDetect();
echo "Supported languages:\n";
try {
$langs = $l->getLanguages();
sort($langs);
echo implode(', ', $langs) . "\n\n";
} catch (Text_LanguageDetect_Exception $e) {
die($e->getMessage());
}
$text = <<<EOD
Hallo! Das ist ein Text in deutscher Sprache.
Mal sehen, ob die Klasse erkennt, welche Sprache das hier ist.
EOD;
try {
//return 2-letter language codes only
$l->setNameMode(2);
$result = $l->detect($text, 4);
print_r($result);
} catch (Text_LanguageDetect_Exception $e) {
die($e->getMessage());
}
?>
输出:
Supported languages:
albanian, arabic, azeri, bengali, bulgarian, cebuano, croatian, czech,
danish, dutch, english, estonian, farsi, finnish, french, german, hausa,
hawaiian, hindi, hungarian, icelandic, indonesian, italian, kazakh, kyrgyz,
latin, latvian, lithuanian, macedonian, mongolian, nepali, norwegian, pashto,
pidgin, polish, portuguese, romanian, russian, serbian, slovak, slovene, somali,
spanish, swahili, swedish, tagalog, turkish, ukrainian, urdu, uzbek, vietnamese,
welsh
Array
(
[de] => 0.40703703703704
[nl] => 0.2880658436214
[en] => 0.28333333333333
[da] => 0.23452674897119
)
注意:不保留此包。 Read more