我必须管理一个多语言路由作为Symfony2项目的一部分。 为了得到整个URL翻译我不得不从PHP路由文件访问的EntityManager得到适当的翻译和翻译蛞蝓。如何使用Symfony2访问路由文件上的数据库?
有谁知道该怎么做?
感谢你, 安托万。
我必须管理一个多语言路由作为Symfony2项目的一部分。 为了得到整个URL翻译我不得不从PHP路由文件访问的EntityManager得到适当的翻译和翻译蛞蝓。如何使用Symfony2访问路由文件上的数据库?
有谁知道该怎么做?
感谢你, 安托万。
可能是你必须为每个语言分别三级域名(ru.site.com,fr.site.com),并使用你的数据库转换表从模板生成路线?
我可以建议你是检查JMSI18nRoutingBundle。这个包允许你定义本地化的路由。这里TA从文档所采取的捆绑概述文本的复制:
概述
该软件包允许您创建国际化的路线。要点:
- 使用翻译组件;翻译网址就像你会在您的网站翻译任何其他文字
- 允许您使用每个区域
- 不同的主机不要求你改变你的开发过程
- 可以把所有路由是否他们是从三阶未来方捆,或者你自己的应用
我没有使用它自己,我不是这个包的开发人员,我不知道它是否会为你的工作蛞蝓。但我希望这会在某些方面帮助你。
问候,
马特
为什么你需要从路由访问DB? {slug}不起作用?那么你在DB中搜索slu?? – ManseUK
我想,这不是一个好主意,因为性能低下,从DB每次请求生成路由配置。可能是你应该预先生成路由文件,并每5-15分钟更新一次,例如通过cron? – Casey
@ManseUK {slug}确实有效,但我需要整个翻译过的路线。 示例:/ domain/product/{productSlug_en},/ domain/produkt/{productSlug_de},/ domain/produit/{productSlug_fr}其中“product”,“produkt”和“produit”是存储在数据库中的密钥。 – sload