4

是否有一些常见的解决方案或最佳实践如何在(java)中实现本地化的URL字符串和路由玩!应用?本地化路由和URL字符串

我们需要的路线是这样的:

/例子/示范

/esempi/dimostrazione

/przyklady/demonstracji

...(10+语言)

自然指向控制器的所有URL 示例和动作示例

在此先感谢!

+2

通常你会在其中放置一个语言代码,以便不同语言出现但含义不同的单词不会使您的URL模糊不清。例如,'/ en/once'可能对应于'/ es/una_vez /',而'/ es/once /'可能对应于'/ en/eleven /'。 – 2012-01-18 21:56:08

+0

等一下,在上面的示例中,我试图表明“example.com/examples/demonstration”不应该写在波兰语版本的站点中。因此,应用程序中的链接应该被翻译,包含已翻译的路线,但指向相同的控制器。 – 2012-01-18 22:04:14

+0

我意识到,但没有语言环境标识符,您将遇到[false cognates](http://en.wiktionary.org/wiki/false_cognate)。 “/ once /”是指英文单词“once”还是指“/ eleven /”的西班牙语翻译? – 2012-01-18 22:05:40

回答

0

也许你可以做这样的事情:

对于英语:

%{ if (play.i18n.Lang.getLocale().getLanguage().equals("en")) { }% 
GET  /add-new-post    Application.addNewPost 
%{ } }% 

荷兰:

%{ if (play.i18n.Lang.getLocale().getLanguage().equals("nl")) { }% 
GET  /voeg-nieuwe-commentaar  Application.addNewPost 
%{ } }% 

等等等等。

学分:http://playframework.wordpress.com/2011/07/15/hidden-features-of-the-play-framework-routes-file/

祝你好运

+0

如果没有其他我学到了关于路线的新东西:)其实我们决定采用“经典”方式,例如Joomla,对于每种语言,页面/动作和菜单/控制器都有“重复”内容。谢谢。 – 2012-02-14 21:17:24

+0

好吧,请让我们不知何故更新,因为我打算做类似的项目,我需要至少5种语言..祝您好运! – adis 2012-02-14 22:05:30

+0

如果在多个不同语言的实例中部署相同的代码,但在相同Play实例中支持多种语言时无效,这非常棒。我认为路线文件中的代码只在播放开始时执行一次,而不是每次路线颠倒(生成一个URL)。 – 2012-03-23 09:13:33