2009-10-01 64 views

回答

2

實際上,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文件一起工作。

+0

DTD:http://java.sun.com/dtd/properties.dtd – rochb 2009-10-05 13:44:37

+0

非常感謝!這正是我正在尋找的,它的工作原理! (非常清楚的解釋謝謝!) – 2009-10-05 16:57:53