我安装了三个区域设置捆绑包:
我的配置。yml
如下所示:
jms_i18n_routing:
default_locale: en
locales: [en, fr, es]
strategy: prefix
lunetics_locale:
strict_mode: false
allowed_locales: [en, fr, es]
guessing_order:
- query
- router
- session
- browser
- cookie
be_simple_i18n_routing: ~
一切都按我的喜好工作,除了我在日志中发现了一个错误:
[2015-08-02 01:16:48]请求。关键:处理异常时引发异常(Twig_错误\u运行时:在呈现模板时引发异常(“I18nRoute”站点\u主页(en_US)不存在)在第77行的“TwigBundle:Exception:error.html.twig”中,{“Exception”:“[object](twig\u error\u运行时(代码:0):在呈现“TwigBundle:error.html.twig”中的模板(“I18nRoute\”site\u homepage\(en\u US)不存在\“在第77行,at/app/cache/prod/classes.php:4528,Symfony\\Component\\Routing\\Exception\\RouteNotFoundException(代码:0):I18nRoute\”站点主页\“(en_US)不存在。at/app/cache/prod/classes.php:14728)}[]
在堆栈中我发现:[2015-08-02 01:16:49]应用程序。信息:将[en_US]设置为(子)请求[][]
的区域设置,但是,我不明白如何将区域设置设置为“en_US”。
我想它来自于对Lunetics的猜测,但是有“en_US”的人应该匹配“en”,而不是“en_US”。
我的主要问题是,我不知道如何跟踪这一点。当我用自己的设置连接到主页时,首先是“fr_fr”,绝对没有问题。
有人有什么想法可以测试我来解决这个问题吗?
自从我更新到Symfony2.7后,Lunetics Bundle和JMSi18n之间发生了冲突。
显然,在处理子请求时这是一个问题,Lunetics被JMS包取代了。
所以我现在只使用JMS进行区域设置检测。它远不如Lunetics干净,但它能工作。
我刚开始使用symfony,我正在尝试建立一个multilang网站,但是我在更改区域设置时遇到了一个问题 我读了一些帖子,也读了相关文档,但语言环境没有改变,我尝试: 但是$locale中的值总是'en'(我的默认语言环境) 我也试试 在本例中,$locale是fr,但翻译总是来自消息。ENyml 我想第一次使用$\u SERVER['HTTP\u ACCEPT\u LANGUAGE']检测用户
我想强制我的Symfony 2.5应用程序的区域设置为。我希望这个区域设置用于strftime()函数。 我的: 我正在我的一个控制器中使用以下代码来调试: 当这样执行时,它显示:。 但是,当第一行未注释时,它会显示:,因此区域设置已安装在系统中并正常工作。 我如何使Symfony始终使用配置中指定的语言环境? $locale-a:
我正在尝试在Symfony 2.7项目中使用locale。我想将区域设置设置为
我创建了一个控制器,根据加密的GET参数手动设置安全令牌。我使用它来创建一个远程登录URL,当用户遵循此链接时,该URL将执行登录。 现在我想添加区域设置。当提供了朗参数时,它应该设置区域设置。我添加了这个到我的控制器: 正在根据开发栏将_locale变量设置到设置中。但是,未加载语言文件,它将返回默认语言。 我读过关于创建监听器来实现这一点的文章,但是在我看来,当你想在网址中提供语言时,这是有用
我试图在Symfony中设置一个区域设置,除了我试图在布局文件中翻译或生成路线的地方,一切都很好。我创建了一个侦听器,这样我就可以在每个请求上设置区域设置。 } 如果在树枝模板中,我试图使用app.session.get('_locale')访问会话变量,该变量存储了它应该是的语言环境-我得到了所需的结果。但是当我尝试app.request.locale我得到默认的语言环境,而不是在网址。正因为如
我想更改symfony上所有页面的区域设置。 我尝试了这个: