Ok the code i used is:

if ($this->_hasParam('language')) {
                        $language = $this->_getParam('language');
                        if ($bootstrap = $this->getInvokeArg('bootstrap')) {
                                $translateResource = 
$bootstrap->getPluginResource('Translate');
                                $translate = $translateResource->getTranslate();
                                if (!$translate->isAvailable($language)) {
                                        $options = 
$translateResource->getOptions();
                                        try {
                                                
$translate->setOptions(array('reload' => true));
                                                
$translate->addTranslation($options['data'], $language);
                                        } catch (Zend_Translate_Exception $e) {}
                                }
                                // is it now available?
                                if ($translate->isAvailable($language)) {
                                        $translate->setLocale($language);
                                }
                        }
                }

Also is it possible for Zend_Translate to read all translation sources in
the directory instead of one?


thomasW wrote:
> 
> You should give some reproducable code from your side instead of code from 
> ZF.
> Looking at your result you should ask yourself what you are doing that the 
> "nl" files are read as "en".
> Because Zend_Translate has no way to detect for which language the content 
> of a file is when the directory or filename does not reflect this.
> 
> Greetings
> Thomas Weidner, I18N Team Leader, Zend Framework
> http://www.thomasweidner.com
> 
> ----- Original Message ----- 
> From: "ignace" <[email protected]>
> To: <[email protected]>
> Sent: Wednesday, October 07, 2009 7:42 PM
> Subject: [fw-general] Zend_Translate & addTranslation
> 
> 
>>
>> Hi,
>>
>> I have a problem: Zend_Translate loads by default the browser's default
>> language (in my case nl) Then through a navigation I can alter the 
>> language
>> in which I want to see the website but it doesn't change it a closer look
>> showed that Zend_Translate indeed retrieves the translation source as it
>> outputs at some point:
>>
>> 'en' => array
>>    'About us' => 'About us'
>>
>> 'nl' => array
>>    'About us' => 'Over ons'
>>
>> But changes it later on to:
>>
>> 'en' => array
>>    'About us' => 'Over ons'
>>
>> 'nl' => array
>>    'About us' => 'Over ons'
>>
>> This process occurs in Zend_Translate_Adapter at lines 499 - 501 in 
>> version
>> 1.10.0dev The lines in question are:
>>
>> if (array_key_exists($key, $temp) && is_array($temp[$key])) {
>>                $this->_translate[$key] = $temp[$key] +
>> $this->_translate[$key];
>>            }
>> -- 
>> View this message in context: 
>> http://www.nabble.com/Zend_Translate---addTranslation-tp25791169p25791169.html
>> Sent from the Zend Framework mailing list archive at Nabble.com. 
> 
> 
> 

-- 
View this message in context: 
http://www.nabble.com/Zend_Translate---addTranslation-tp25791169p25793989.html
Sent from the Zend Framework mailing list archive at Nabble.com.

Reply via email to