我使用poedit创建了翻译文件并生成了mo文件并将它们保存在各自的文件夹中。但不知何故,我只能访问en_GB和en_US文件夹中的翻译。即使我将DE翻译放在这些文件夹中也可以。
为什么它无法使用其他语言环境?是否有任何我需要进行的移民或我遗失的东西?
这是我正在使用的代码。
switch ($_GET['language']) {
case 'de' : $locale = 'de_DE'; break;
case 'us' : $locale = 'en_US'; break;
case 'fr' : $locale = 'fr_FR'; break;
case 'es' : $locale = 'es_ES'; break;
case 'it' : $locale = 'it_IT'; break;
default : $locale = 'en_GB'; break;
}
putenv("LC_ALL=$locale");
setlocale(LC_ALL, $locale . '.UTF-8');
$domname = 'default';
bindtextdomain($domname, 'locale');
textdomain($domname);
bind_textdomain_codeset($domname, 'UTF-8');
echo gettext ("test123");
echo gettext ("hello every one");
答案 0 :(得分:0)
您确定要使用的所有其他语言环境都是UTF-8吗?在您的示例中,您在setlocale()中添加“.UTF-8”。