PHPのgettextに問題があります。私は2つのサーバーを持っています。1つはWindows(vs.phpを使用)でローカル(vs.phpを使用)で動作し、もう1つはAmazon EC2(Ubuntu 12.04更新)で、これは本番サーバーであり、このサーバーでは同じコードはありません。 tが見つかりました。
これは私のコードです:
これでgettextを初期化します。
function initialize_i18n($locale) {
$locales_root = "./librerias/noAuto/locale";
putenv('LANG='.$locale);
putenv("LC_ALL=" . $locale);
setlocale(LC_ALL,$locale);
$domains = glob($locales_root.'/'.$locale.'/LC_MESSAGES/messages*.mo');
if (count ($domains) > 0)
{
$current = basename($domains[0],'.mo');
$timestamp = preg_replace('{messages-}i','',$current);
bindtextdomain($current,$locales_root);
bind_textdomain_codeset( $current, "UTF-8" );
textdomain($current);
if ($locale == "en_US")
{
if( _("Modificar") === "Modify" ) {
$system->setDebug( "Translated correctly");
} else {
$system->setDebug( "Gettext don't working");
}
}
}
}
initialize_i18n("en_US");
私のプロジェクトのすべてのファイルはUTF-8(スペイン語)でコード化されており、.moと.poはpoeditで生成されています。
apacheサービスをリロードしようとしましたが、機能しませんでした。
何か案が?