小编mlp*_*lpo的帖子

Symfony2在路由中使用默认语言环境(一种语言的一个URL)

我目前正在开发一个使用Symfony2的网站,我需要翻译它.使用Symfony2提供的工具非常简单.但是我遇到了一个问题:

我想要一种语言(即一个URL,一种语言)的特定URL(带前缀),但使用默认语言.具体来说:

假设默认语言是英语,那么

  • http://example.com/fr/hello 用法语显示页面
  • http://example.com/it/hello 用意大利语显示页面
  • http://example.com/en/hello重定向到http://example.com/hello(因为en是默认语言)
  • http://example.com/hello 当然显示英文页面(默认语言)

我天真地尝试像这样配置我的路由:

#routing.yml
_welcome:
    pattern:  /{_locale}/hello
    defaults: { _controller: AcmeDemoBundle:Welcome:hello, _locale: en}
Run Code Online (Sandbox Code Playgroud)

但这不起作用(http://example.com/en/hello只显示英文页面并http://example.com/hello返回404错误).

当然,每次创建两条路线是可能的,但这非常繁琐.所以我正在寻找一个干净的解决方案.

顺便说一下,我注意到我用URL查找的行为正是Symfony2官方文档所采用的行为:

http://symfony.com/fr/doc/current/book/translation.html 展示法国传统

http://symfony.com/it/doc/current/book/translation.html 显示意大利语traduction

http://symfony.com/en/doc/current/book/translation.html重定向到http://symfony.com/doc/current/book/translation.html(以英文显示页面)

php routing locale translation symfony

10
推荐指数
1
解决办法
4015
查看次数

何处将LICENSE文件放在Symfony应用程序中?

我有一个使用Symfony2创建的Web应用程序,我想在存储库中添加我的许可选择.问题是默认的Symfony2项目在根目录中有一个LICENSE文件,我不知道我应该把我的LICENSE文件放在哪里,如果我应该删除Symfony2的那个.README文件也会发生.

我猜你Symfony2程序员肯定知道如何处理这个问题.

licensing symfony

6
推荐指数
1
解决办法
342
查看次数

标签 统计

symfony ×2

licensing ×1

locale ×1

php ×1

routing ×1

translation ×1