私の見解では、通話$this->translate('test')
は機能していません。
ブートストラップには、翻訳を開始する次のコードがあります。
protected function _initTranslate() {
$apc = $this->getOption('enable_apc_cache');
if ($apc) {
$cache = Zend_Registry::get('cache');
Zend_Translate::setCache($cache);
}
// Set the correct locale
$locale = new Zend_Locale('nl');
Zend_Registry::set('Zend_Locale', $locale);
// Form error translations
$translator = new Zend_Translate(
'array',
APPLICATION_PATH.'/../resources/languages',
'auto',
array('scan' => Zend_Translate::LOCALE_DIRECTORY)
);
Zend_Form::setDefaultTranslator($translator);
// All other translations, including form labels
$translate = new Zend_Translate(
'gettext',
APPLICATION_PATH.'/../resources/languages/',
'auto',
array('scan' => Zend_Translate::LOCALE_DIRECTORY));
Zend_Registry::set('Zend_Translate', $translate);
}
私が正しく理解している場合(stackoverflowとGoogleで検索した場合)、キーZend_Translate
を使用してトランスレータをレジストリに配置すると、うまくいくはずです。
今、私の見解では、電話をかけると<?php echo $this->translate->_('Purchaseorder'); ?>
エラー<?php echo $this->translate->('Purchaseorder'); ?>
が発生します。
Call to a member function _() on a non-object
アンダースコア呼び出しありとアンダースコア呼び出しParse error: syntax error, unexpected '(', expecting identifier (T_STRING) or variable (T_VARIABLE) or '{' or '$'
なし。
私は何を間違っている/行方不明ですか? http://framework.zend.com/manual/en/zend.view.helpers.html#zend.view.helpers.initial.translateによると、これでうまくいくはずです。