2012-09-24 38 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);