默认语言环境中的ZF2 CurrencyFormat不起作用

时间:2013-01-09 09:58:07

标签: locale zend-framework2 number-formatting

在我的应用程序中,我使用serval语言。我是我的module.php我通过以下方法设置用户的语言环境:

$translator = $e->getApplication()->getServiceManager()->get('translator');
$translator ->setLocale(\Locale::acceptFromHttp($_SERVER['HTTP_ACCEPT_LANGUAGE']))
            ->setFallbackLocale($this->setDomainLocale());

在这个应用程序上运行服务器domain.tdl(不同的语言)所以我在我的后备中使用一个函数来设置每个域的回退区域设置,无论如何......

我想使用currencyFormat但是我没有按照用户的语言环境使用它。我使用和不使用'\ Locale :: getDefault())'尝试了下面的代码; 像“1509053”这样的数字应该以'€1.509.053.00'或','取决于地区,我只需要'€1509053.00'。

$this->plugin("currencyformat")->setCurrencyCode("EUR")->setLocale(\Locale::getDefault());
输出\ Locale :: getDefault())

string(11) "en_US_POSIX"

module.php $ translator

的输出
   class Zend\I18n\Translator\Translator#193 (8) { protected $messages => array(0) { } 
protected $files => array(0) { } protected $patterns => array(1) { 'default' => array(1) { [0] => array(3) { 'type' => string(7) "gettext" 'baseDir' => string(119) "..../module/.../config/../language" 'pattern' => string(5) "%s.mo" } } } protected $remote => array(0) { } protected $locale => string(35) "nl-NL,nl;q=0.8,en-US;q=0.6,en;q=0.4" protected $fallbackLocale => string(5) "nl_NL" protected $cache => NULL protected $pluginManager => NULL }

希望有人能把我放在正确的方向:) Thnx

1 个答案:

答案 0 :(得分:0)

使用函数'\ Locale :: getDefault();'我们需要先设置'\ Locale :: setDefault(language_code);' $ translate-> setLocale未设置Locale :: getDefault();。