Hi,
Whatever I did, I could not get Zend_Translate do translation in the
application.
Although it is not very much critical, I wanted to find out what I am
doing wrong.
language file: application/languages/en_US.php
<?php
return array(
'application' => 'application in english',
);
application.ini - translation section:
resources.translate.registry_key = "Zend_Translate"
resources.translate.adapter = "array"
resources.translate.data.directory = APPLICATION_PATH "/languages/"
resources.translate.disableNotices = false
resources.translate.options.scan = "filename"
resources.translate.options.logUntranslated = true
resources.translate.data.fileExt = "php"
resources.translate.locale = "en_US"
bootstrap.php - _initTranslation() function:
$this->bootstrap('translate');
$tr = $this->getResource('translate');
Zend_Registry::set('tr', $tr);
Zend_Form::setDefaultTranslator($tr);
Now, the debug results (in _initTranslation function):
//debug
echo $tr->_('application');
returns application whereas it should return
"application in english"
print_r($tr->getList());
Array
(
[en_US] => en_US
)
print_r($tr->getMessageIds());
Array
(
[0] => directory
[1] => fileExt
)
echo ( ($tr->isAvailable("en_US")) ? 'language exists' : 'not
existing' );
returns "language exists"
If I do not use application.ini config and try to setup Zend_Translate
directly in bootstrap:
$tr = new Zend_Translate('array', APPLICATION_PATH .
'/languages/', 'en_US', array('scan'=>'filename'));
everything works fine and it translates the string ("application"
gives "application in english").
Any comment?
Thanks,
scs