ZF2 で多言語 Web サイトに取り組んでいます。同じために、コントローラー/フォーム/ビューで「ロケール」と「テキストドメイン」を「翻訳」と「URL」ヘルパーに渡す必要があります。
取得して MVC 経由で渡すにはどうすればよいでしょうか。フォーム ラベルの翻訳の処理方法について結論を出すことができません。
ヘルプ/提案をお寄せいただきありがとうございます。
ZF2 で多言語 Web サイトに取り組んでいます。同じために、コントローラー/フォーム/ビューで「ロケール」と「テキストドメイン」を「翻訳」と「URL」ヘルパーに渡す必要があります。
取得して MVC 経由で渡すにはどうすればよいでしょうか。フォーム ラベルの翻訳の処理方法について結論を出すことができません。
ヘルプ/提案をお寄せいただきありがとうございます。
ドキュメントをチェックしてください:
https://packages.zendframework.com/docs/latest/manual/en/modules/zend.form.view.helpers.html
Zend\I18n\Translator\Translator がアタッチされている場合、FormLabel ビュー ヘルパーは、レンダリング中にラベルの内容を翻訳します。
// Setting a translator
$this->formLabel()->setTranslator($translator);
// Setting a text domain
$this->formLabel()->setTranslatorTextDomain('my-text-domain');
// Setting both
$this->formLabel()->setTranslator($translator, 'my-text-domain');
ノート
注: サービス マネージャーのキー「translator」の下にトランスレーターがある場合、ビュー ヘルパー プラグイン マネージャーは自動的にトランスレーターを FormLabel ビュー ヘルパーにアタッチします。詳細については、Zend\View\HelperPluginManager::injectTranslator() を参照してください。
ZF2 スケルトン アプリケーションは、上記のようにトランスレータをセットアップする方法を示しています。これにより、ラベルが自動的に翻訳されます :)