我的Symfony 2应用程序存在内部化问题。在旧版网站URL结构中,默认文化是“en”,并且有许多翻译版本的网站,但对于英文版本,culture参数从URL中删除,如下所示:
/search - the culture "/en" is dropped
/fr/search - "/fr" is available
/es/search - likewise
我正在尝试在应用中创建路由,但我似乎找不到使URL的“/ en”部分可选的解决方案。
我检查了文档,但它似乎没有选项。是否可以通过标准Symfony配置或我应该为此做一个自定义路由器?
答案 0 :(得分:2)
我建议您查看https://github.com/schmittjoh/JMSI18nRoutingBundle。
基本上,这将允许您根据所选国家/地区国际化您的路线。
您可以使用传统的symfony路由执行此操作,例如
/**
* @Route("/{country}")
*/
Class Something {
/**
*@Route("/search"), name="search"
*/
public function searchAction(){
}
}
{country}参数将成为动态路由路径的一部分。
但我建议使用jms解决方案,因为如果您希望采用这种方法,这将有助于翻译您的页面。