私はpoeditを使用して翻訳ファイルを作成し、moファイルを生成してそれぞれのフォルダに保持しました。しかし、どういうわけか私はen_GBとen_USフォルダにある翻訳にしかアクセスできません。私はDE変換をこれらのフォルダに置いても動作します。po mo翻訳はen-GBとen-USのみで動作し、他の言語では動作しません
他のロケールでは使用できないのはなぜですか?私が作る必要のある設定がありますか、何かが欠けていますか?
これは私が使用しているコードです。
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");
でもWebサーバーを再起動しても何の違いはありません。 – Developer
これはオンラインサーバーで動作しています。私のテストサーバーでは動作しません。今私は構成の問題だと確信しています。誰でも? – Developer