На самом деле, в скриптах Grails есть ошибка. При упаковке Grails будет копировать только файлы .properties, расположенные в папке / grails-app / i18n . Ваши 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")
}
}
Он скопирует ваши сообщения * .xml в путь ресурсов вашего приложения Grails при следующем запуске.
Вы можете использовать messages.xml в качестве отправной точки - он должен учитывать Java DTD.
Использование в ваших представлениях будет работать так же, как и в файлах messages.properties.