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