将iso-639代码翻译成语言名称的标准功能?

时间:2013-03-07 16:12:58

标签: php linux internationalization iso

我想应该有一些标准的方法,只是为了避免每个人为他们的应用程序重新设置枯燥的常量。 ;) 我正在寻找一个函数(可在linux上的php web应用程序中使用),它可以使用两个ISO639语言代码并以第二语言返回第一个语言的名称,即 foo("fr","de")应该返回"französisch"foo("de","fr")应该返回"allemagne"

有吗?

1 个答案:

答案 0 :(得分:11)

Locale::getDisplayLanguage就是您所需要的。它在PHP国际扩展中,所以如果它不在,你必须打开php_intl.so(如果是Windows,则为dll)。

if (version_compare(PHP_VERSION, '5.3.0', '<')) {
    exit ('php_intl extension is available on PHP 5.3.0 or later.');
}    
if (!class_exists('Locale')) {
    exit ('You need to install php_intl extension.');
}

echo Locale::getDisplayLanguage('fr', 'de');