翻訳は開発サーバーでは正常に機能しますが、本番サーバーでは次の通知が表示されます。言語「fr」の翻訳は利用できません。
ブートストラップの変換構成は次のとおりです(テストのロケールを強制します):
$locale = "fr_CA.utf8";
$translate = new Zend_Translate(
array(
'adapter'=>'gettext',
'content' => APPLICATION_PATH . '/lang',
'locale' => $locale,
'scan' => Zend_Translate::LOCALE_DIRECTORY,
'disableNotices' => false,
'clear' =>true,
'reload'=>true,
)
);
.moファイルはAPPLICATION_PATH/lang / fr_CA.utf8 / LC_MESSAGES/messages.moにあります
「locale-a」によると、.moファイルには翻訳された文字列があり、ロケールは両方のサーバーに存在します。
そのようなセットアップが一方のサーバーで機能し、もう一方のサーバーでは機能しない理由についての手がかりはありますか?
編集 :
次の構成で動作するようになりました。
$translate = new Zend_Translate(
array(
'adapter'=>'gettext',
'content' => APPLICATION_PATH.'/lang/'.$locale.'/LC_MESSAGES/messages.mo',
'locale' => $locale,
'disableNotices' => true,
'clear' =>true,
'reload'=>true,
)
);
スキャンが機能していなかったようです。