1

すべてのビューで、すべてのフォーム要素の翻訳テキスト ドメインを設定する方法はありますか? たとえば、フォーム ラベルを翻訳するには、最初のテキスト ドメインを設定する必要があります。$this->formLabel()->setTranslatorTextDomain('mytextdomain'); このコードは、フォーム ラベルを翻訳するためにすべてのビューに追加する必要があります。

そこで、次のようにすべてのビューにテキスト ドメインを設定しようとしました。

public function getViewHelperConfig()
{
    return array(
        // Change the View Helper Text Domain for ALL modules
        'initializers' => array(
            'injectTranslatorTextDomain' => function($helper) {
                if ($helper instanceof TranslatorAwareInterface) {
                    $helper->setTranslatorTextDomain('mytextdomain');
                }
            },
        ),
    );
}

動作しますが、AbstractValidator メッセージを書き換えます (トランスレータ テキスト ドメインを挿入した後、デフォルトの検証メッセージは翻訳されません)。

4

1 に答える 1

1

この質問の解決策は、バリデーターとビューヘルパーに同じ「テキストドメイン」を追加することでした。また、「デフォルト」は両方に使用できます。

于 2013-11-22T09:00:51.920 に答える