po mo translation работает только для en-GB и en-US и не работает с другими языками - PullRequest
1 голос
/ 15 июля 2011

Я создал файлы перевода с помощью 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");

1 Ответ

0 голосов
/ 15 июля 2011

Вы уверены, что все остальные локали, которые вы хотите использовать, находятся в UTF-8?В вашем примере вы добавляете '.UTF-8' в setlocale ().

...