2010-04-13 145 views

回答

7

ZF Manual on Zend_Validate Validation Messages

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

而且也:

Zend框架附帶有超過45個不同的驗證與200多個失敗消息。翻譯所有這些消息可能是一項艱鉅的任務。但爲了您的便利,Zend Framework自帶了預翻譯的驗證消息。你可以在你的Zend Framework安裝路徑/resources/languages中找到它們。 [...]
因此,要將所有驗證消息翻譯爲德語,例如,您只需使用這些資源文件將翻譯器附加到Zend_Validate即可。

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

當然,您也可以提供自己的翻譯。你所要做的就是加載使它們可用於翻譯適配器。基本上你只需將上面顯示的部分換成自定義路徑即可。

+0

非常有用,非常感謝。 – 2010-05-28 13:32:26

1

我只是想提高一點點從戈登答案: 工作的例子是

$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); 

乾杯! Bruno