Change default locale in Symfony2
I'm trying to change the default locale of my application. Things I've tried so far:
- set intl.default_locale to 'et_EE'
- set locale to 'et' in
app/config/parameters.ini
- Changed the default locale in my bundle's boot() method described here
- Implemented a class Locale that extends StubLocale and overwrites method getDefault() to return 'et_EE'.
Here is the implementation. The Locale class does not seem to be getting overwritten as calling \Locale::getDefault()
doesn't execute this method.
<?php
use Symfony\Component\Locale\Stub\StubLocale;
class Locale extends StubLocale
{
static public function getDefault()
{
return 'et_EE';
}
}
After trying all these methods described, \Locale::getDefault()
still returns en
. I need it to return e开发者_JAVA技巧t_EE
to render form widgets, such as country or language, in the proper locale.
How would I go doing this? Being able to support multiple locales later would also be great. Thanks.
In Symfony 2.0:
# app/config/config.yml
framework:
session: { default_locale: en }
In Symfony 2.1+:
# app/config/config.yml
framework:
default_locale: en
In Symfony 2.0, you can set default_locale
for the session too:
framework:
translator: { fallback: %locale% }
...
session:
default_locale: %locale%
auto_start: true
The %locale%
is a variable, and it's resolved from the parameters.ini
file.
精彩评论