1

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

1 回答 1

0

您确定要使用的所有其他语言环境都是 UTF-8 吗?在您的示例中,您在 setlocale() 中添加了“.UTF-8”。

于 2011-07-15T14:40:33.420 回答