【发布时间】:2014-08-13 15:31:53
【问题描述】:
我想将我的 Symfony 2.5 应用程序的区域设置强制为 ru_RU.UTF-8。我希望将此语言环境用于strftime() 函数。
我的app/config.yml 中有以下配置:
framework:
default_locale: "ru_RU.UTF-8"
我在我的一个控制器中使用以下代码进行调试:
//setlocale(LC_TIME, 'ru_RU.UTF-8');
var_dump(setlocale(LC_TIME, 0));
var_dump(strftime('%B', time()));
die();
这样执行时,显示:string(1) "C" string(6) "August"。
但是,当第一行被取消注释时,它显示:string(11) "ru_RU.UTF-8" string(12) "Август",因此语言环境已安装在系统中并且可以正常工作。
如何让 Symfony 始终使用配置中指定的语言环境?
$ locale -a:
C
C.UTF-8
en_US.utf8
POSIX
ru_RU
ru_RU.iso88595
ru_RU.utf8
【问题讨论】:
-
如果我理解正确,Symfony 使用语言环境进行翻译 (symfony.com/doc/current/book/translation.html)。换句话说,它不使用函数
setlocale()