douyong8801 2014-08-13 15:31
浏览 45
已采纳

设置Symfony 2.5应用程序的语言环境(强制语言环境)

I would like to force locale for my Symfony 2.5 application to ru_RU.UTF-8. I want this locale to be used for strftime() function.

I have the following configuration in my app/config.yml:

framework:
    default_locale: "ru_RU.UTF-8"

I'm using the following code in one of my controllers to debug this:

//setlocale(LC_TIME, 'ru_RU.UTF-8');
var_dump(setlocale(LC_TIME, 0));
var_dump(strftime('%B', time()));
die();

When executed like this, it shows: string(1) "C" string(6) "August".

However, when first line is uncommented it shows: string(11) "ru_RU.UTF-8" string(12) "Август", so the locale is installed in the system and works correctly.

Ho do I make Symfony to always use locale specified in the config?


$ locale -a:

C
C.UTF-8
en_US.utf8
POSIX
ru_RU
ru_RU.iso88595
ru_RU.utf8
  • 写回答

2条回答 默认 最新

  • dongniuxia8650 2014-08-13 22:24
    关注

    The locale setting for Symfony doesn't influence the PHP settings, it's only a Symfony setting.

    You have to use setlocale() to configure PHP's locale. You can place this in the front controllers (web/app.php and web/app_dev.php) or create a listener for kernel.request.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?