最近、SymfonyのsfDoctrineGuardPluginで苦労しています。問題は、プラグインの翻訳です。symfony、sfDoctrineGuardPluginと翻訳(I18N/I10N)
sfDoctrineGuardPluginの背後にいる人たちは、自分のプロジェクトのproper directoryにいくつかの翻訳を提供しているので、明らかにi18nについて考えました。しかし問題は、すべてのテキスト要素が翻訳されるとは限らないことです。より具体的には、login/signin-formは部分的にのみ翻訳されます。
私はノルウェー語の翻訳ファイルを追加しました(簡単にするために)、プラグインi18n-directoryの中に配置しました。私はすべての項目が正しく翻訳されるとすぐにそこから移動しますが、それは別の話です。レンダリング時に私のログイン・フォーム(デフォルトにsfDoctrineGuardPlugin用1)は次のようになります
(スタイルは簡単にするために削除):
あなたは、ヘッダー要素だけでなく、signin-を見ることができるようにボタンは翻訳されますが、ユーザー名/電子メールとパスワードのフィールドは表示されません。 sfDoctrineGuardPlugin/LIB /フォーム/教義/ベース/ BasesfGuardFormSignin.class.phpで
次のコードが存在する:
if (sfConfig::get('app_sf_guard_plugin_allow_login_with_email', true))
{
$this->widgetSchema['username']->setLabel('Username or E-Mail');
}
これは翻訳されないテキスト要素の一つです。私のsg_guard.nb.xmlでは、sfDoctrineGuardPlugins svn-repositoryのサンプル翻訳で見つかるすべての文字列を翻訳しました。上記のラベルのために私は次があります。
<trans-unit>
<source>Username or E-Mail</source>
<target>Brukernavn eller epost</target>
</trans-unit>
私の推測では、setLabelは二つのセクションまでの使用が国際化・システムがどこにあるべき私の翻訳を挿入することができないことを保証していることです。
sfDoctrineGuardPluginは、sf_guard.XX.xml以外のカタログからテキストを置き換えるように設定されていますか?
何があなたは翻訳を有効にしましたか?私は本当にsfDoctrineGuardPluginソースを修正したくない場合(つまり、クリーンな依存関係があるため)、ソースを変更したくありません。
どのポインタも高く評価されています。
これを今試してみましたが、どのように名前を付けても、すべての翻訳を手に入れることはできませんでした。私のカスタムsf_guard.nb.xmlファイルからは、ヘッダーフィールドとボタンテキストが表示されますが、フィールドのラベルは表示されません。 Bizzare。しかし、私は自分のnb/messages.xmlファイルに翻訳をコピーしようとしましたが、それはうまくいきました。私はここで犯人を追跡し、read-me-fileの中のいくつかを明確にするためにモジュール/ symfonyの開発者を得ることを確かにします。 – Christopher