我使用 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");