1

我已经在这件事上苦苦挣扎了两天,但仍然找不到任何有用的东西。

有人可以建议我任何可以有效检测提交表单的语言的方法,无论是任何插件或 API,我都可以在我的 php 应用程序中使用它们。

如果以下方法对您可以提出的请求数量没有限制,那么它们将非常适合我。

谷歌提供语言检测库,看起来很适合我,但我完全不清楚如何使用它。

是否有任何有效的方法可以即时检测用户输入(短文本)的语言?或者也许有人可以帮助我弄清楚如何将 Google 检测库与 PHP 一起使用?

(在我的应用程序中,每种语言都执行不同的脚本,因此我需要检测提交表单的语言,以确定要执行的脚本)

4

1 回答 1

2

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
)

注意:此软件包未维护。阅读更多


PHP语言检测器的另一个例子:

crodas/语言检测器

于 2014-07-02T10:53:31.670 回答