0
我需要使用XML文件來存儲我的應用程序使用的每個鍵/值對(而不是通常的屬性文件)。如何在Grails中使用XML文件國際化(i18n)
Grails默認使用properties文件來處理國際化。
如何配置grails來讀取XML文件中的國際化信息?
謝謝
我需要使用XML文件來存儲我的應用程序使用的每個鍵/值對(而不是通常的屬性文件)。如何在Grails中使用XML文件國際化(i18n)
Grails默認使用properties文件來處理國際化。
如何配置grails來讀取XML文件中的國際化信息?
謝謝
實際上,Grails腳本中存在一個bug。在打包時,Grails將只複製位於文件夾/grails-app/i18n下的.properties文件。您的XML文件將被忽略。
要修復它,您可以手動編輯文件{grails-sources} /scripts/_GrailsPackage.groovy。
查找:
if(config.grails.enable.native2ascii) {
profile("converting native message bundles to ascii") {
ant.native2ascii(src:"${basedir}/grails-app/i18n",
dest:i18nDir,
includes:"*.properties",
encoding:"UTF-8")
}
}
else {
ant.copy(todir:i18nDir) {
fileset(dir:"${basedir}/grails-app/i18n", includes:"*.properties")
}
}
並將代替:
if(config.grails.enable.native2ascii) {
profile("converting native message bundles to ascii") {
ant.native2ascii(src:"${basedir}/grails-app/i18n",
dest:i18nDir,
includes:"*.properties, *.xml",
encoding:"UTF-8")
}
}
else {
ant.copy(todir:i18nDir) {
fileset(dir:"${basedir}/grails-app/i18n", includes:"*.properties, *.xml")
}
}
它會在你運行它的你的Grails應用程序下一次的資源路徑複製郵件* .XML。 您可以使用messages.xml作爲起點 - 它必須尊重Java DTD。
在您的視圖中使用將與使用messages.properties文件一起工作。
DTD:http://java.sun.com/dtd/properties.dtd – rochb 2009-10-05 13:44:37
非常感謝!這正是我正在尋找的,它的工作原理! (非常清楚的解釋謝謝!) – 2009-10-05 16:57:53