我正在尝试更改应用程序的默认语言环境。到目前为止我尝试过的事情:
app/config/parameters.ini
这是实施。由于调用\Locale::getDefault()
不执行此方法,Locale类似乎没有被覆盖。
<?php
use Symfony\Component\Locale\Stub\StubLocale;
class Locale extends StubLocale
{
static public function getDefault()
{
return 'et_EE';
}
}
尝试完所有这些方法后,\Locale::getDefault()
仍会返回en
。我需要它来返回et_EE
以在适当的语言环境中呈现表单小部件,例如国家/地区或语言。
我该怎么做?能够在以后支持多个语言环境也很棒。感谢。
答案 0 :(得分:18)
在Symfony 2.0中:
# app/config/config.yml
framework:
session: { default_locale: en }
在Symfony 2.1 +中:
# app/config/config.yml
framework:
default_locale: en
答案 1 :(得分:6)
在Symfony 2.0中,您也可以为会话设置default_locale
:
framework:
translator: { fallback: %locale% }
...
session:
default_locale: %locale%
auto_start: true
%locale%
是一个变量,它是从parameters.ini
文件解析的。