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");