2

zend フレームワークで翻訳検証エラー メッセージを作成するにはどうすればよいですか?

誰かが例を挙げることができますか?

ありがとう

4

2 に答える 2

7

検証メッセージに関するZFマニュアルからZend_Validate

  $validator = new Zend_Validate_GreaterThan();
  $validator->setMessage('Please enter a lower value', 
                         Zend_Validate_GreaterThan::NOT_GREATER);

そしてまた:

Zend Frameworkには、200を超える失敗メッセージを含む45を超えるさまざまなバリデーターが付属しています。これらのメッセージをすべて翻訳するのは、大変な作業になる可能性があります。ただし、便利なように、ZendFrameworkには事前に翻訳された検証メッセージが付属しています。/resources/languagesそれらは、ZendFrameworkインストールのパス内にあります。[...]
たとえば、すべての検証メッセージをドイツ語に翻訳するには、Zend_Validate これらのリソースファイルの使用に翻訳者をアタッチするだけです。

  $translator = new Zend_Translate(
      'array',
      '/resources/languages',
      $language,
      array('scan' => Zend_Locale::LOCALE_DIRECTORY)
  );
  Zend_Validate_Abstract::setDefaultTranslator($translator);

もちろん、独自の翻訳を提供することもできます。ロードするだけで、翻訳アダプターで使用できるようになります。基本的には、上記の部分をカスタムパスに交換するだけです。

于 2010-04-13T07:00:46.937 に答える
2

ゴードンからの答えを少し改善したいだけです。実際の例は

$translator = new Zend_Translate(
    'array',
    'resources/languages',  // you need to copy the resources folder
                            // (from your Zend Framework installation)
                            // in the application folder 

    'it', // 'it' for italian, 'fr' for french, etc. 
          // Just look at the directories

    // Zend_Translate, NOT Zend_Locale
    array(
        'scan' => Zend_Translate::LOCALE_DIRECTORY
    )
);

Zend_Validate_Abstract::setDefaultTranslator($translator);

乾杯!ブルーノ

于 2011-10-12T14:26:55.793 に答える