2012-09-24 72 views
1

我的配置是ZF2如何改變區域視圖

'translator' => array(
'locale' => 'en_EN', 
'translation_file_patterns' => array(
    array(
     'type'  => 'gettext', 
     'base_dir' => __DIR__ . '/../language', 
      'pattern' => '%s.mo', 
     ), 
    ), 
), 

,我怎麼可以從我的觀點或控制器改變區域?

回答

4

獲取Translator實例並調用setLocale()方法。示例(控制器上下文):

// Get the translator from the service locator. 
$translator = $this->getServiceLocator()->get('translator'); 
$translator->setLocale($myLocale); 
+0

由於它工作正常! – Cawa

+0

我認爲代碼應該是這樣的$ this-> getServiceLocator() - > get('translator'); – kwelsan

+0

這工作正常,但只有當'$ myLocale'變量的值是'en_US'或法語 - 'fr_FR'的情況下。我想知道如果值只是「fr」,我應該怎麼做。我的網址是'domain.com/fr/..' –

1

UPDATE:

$translator = $this->getServiceLocator()->get('translator'); 
$translator->setLocale($myLocale);