Php 如何检测用户输入的语言

Php 如何检测用户输入的语言,php,input,language-detection,Php,Input,Language Detection,我为这件事苦苦挣扎了两天,但仍然找不到任何有用的东西 有人能告诉我什么可以有效地检测表单提交时使用的语言,无论是插件还是API,我都可以在php应用程序中使用 如果以下方法对您可以提出的请求数量没有限制,那么它们将非常适合我 谷歌提供,这似乎适合我,但我完全不清楚如何使用它 有没有什么有效的方法可以动态检测用户输入的语言(短文本)? 或者也许有人能帮我弄清楚如何将Google检测库与PHP结合使用 (在我的应用程序中,每种语言都会执行不同的脚本,因此我需要检测提交表单的语言,以确定要执行

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

有人能告诉我什么可以有效地检测表单提交时使用的语言,无论是插件还是API,我都可以在php应用程序中使用

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

谷歌提供,这似乎适合我,但我完全不清楚如何使用它

有没有什么有效的方法可以动态检测用户输入的语言(短文本)? 或者也许有人能帮我弄清楚如何将Google检测库与PHP结合使用

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

从Pear使用

安装:

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());
}
?>  
注意:此软件包未维护


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

您需要的全部内容都写在这里:您很难找到一个好的PHP语言检测库。Google one看起来不错,Apache项目在某处也有一个。一些Python NLA工具可能会提供一些功能。关键是,你肯定要用一种不是PHP的语言来做。如何最好地将这些信息整合到您拥有的内容中是一个非常广泛的话题,需要在这里充分回答。另一方面,您可以在用户提交表单之前要求他们向您提供这些信息,而不是试图使用复杂的魔法。@Baalthasarr,我知道这项服务,但这是一项付费服务,因此这不是一个可行的选择。
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
)