2013-05-06 100 views
0

我是Grails新手,嘗試使用標準集成在grails-framework(我使用2.2.1)中的i18n-plugin。我使用動態腳手架,並想知道我的域模型的變量的標籤沒有隨着屬性文件的值而改變。這就是爲什麼我試圖直接使用消息標籤。但這兩種方式都行不通。 我沒有更改任何配置。我舉一個簡單的視圖附加:grails i18n不更改代碼屬性

<g:message code=„my.test.de.label「 /> 

我在message.properties和message_de.properties添加以下條目:

test.de.label=testDE 

我打開網址與「LANG = DE?」並沒有這個參數,沒有任何工作。此外,通過動態拼湊來標記域模型也不起作用。 如果我這g:消息標籤與在屬性文件everthing標準的代碼是好的。而且我不明白爲什麼我的自定義標籤不起作用。

問題: - 有沒有我需要做的配置? - 是否有任何代碼錯誤?

回答

0

除了根據需要創建新消息外,您不需要執行任何配置。我剛剛創建了一個帶有測試域類(Notification)的新2.2.1項目,然後爲新域運行generate all

當我去到列表視圖新域在http://localhost:8080/TestApp/notifications/list?lang=de我確實看到了德國正在使用:Notifications anlegenNotifications Liste

唯一的錯誤我可以直接用郵件標記看是逗號,,而不是引號"mymy.test.de.label。這個工作對我來說:

//gsp 
<g:message code="test.label" /> 

//messages_de.properties 
test.label=testDe 

你或許應該不是指語言在實際消息名稱 - 那種失敗的目的。每一種語言的文件應該有相同的名字「的消息:

//messages_de.properties 
default.button.create.label=Anlegen 

//messages.properties 
default.button.create.label=Create 

//messages_es.properties 
default.button.create.label=Crear 

在你的GSP

<g:message code="default.button.create.label" /> 

這樣的國際化系統挑選出來基於從瀏覽器發送的語言,然後使用。

+0

嘿,感謝您的幫助。我對grails 2.2.2進行了更新,並查看了逗號,並知道everthing正在運行! :) – 2013-05-12 19:52:48

+0

沒問題 - 很高興它解決了! – Kelly 2013-05-12 21:18:02