我在grails-app/i18n
下看到有大量messages*.properties
个捆绑包。我想国际化我的应用程序,但有1"捆绑集"每页。通过 bundle set 我的意思是,包含相同文本但是针对不同语言的set bundle / properties文件。例如,如果我希望我的网站支持英语,法语和西班牙语,那么我的"关于"页面可能包含3个捆绑包:
about.properties
(英文)about_fr.properties
(法文)about_es.properties
(西班牙文)如果我的应用包含100个页面,并且每页有3个属性文件,那么我最终会在grails-app/i18n
下拥有300个属性文件!多数民众赞成在一起。蠕虫!
我想知道我是否可以在grails-app/i18n
下添加子文件夹并以分散的方式组织它:
myapp/
grails-app/
i18n/
about/
about.properties
about_fr.properties
about_es.properties
contact/
contact.properties
contact_fr.properties
contact_es.properties
fizzbuzz/
fizzbuzz.properties
fizzbuzz_fr.properties
fizzbuzz_es.properties
... etc.
这将使更好/更清洁/更有组织的代码。如果可能的话:
grails-app/
i18n下创建文件夹/包,还是有我可以使用的Grails CLI命令(例如grails create-i18n-bundle about
)?about.gsp
中,我会使用:<g:message code="about/foo.bar" />
?答案 0 :(得分:1)
Grails获取grails-app / i18n文件夹下的所有包。因此,您可以为每个组创建一个文件夹。
引用它们就像在messages.properties中一样简单。 我的意思是,如果你有:
的grails-app / I18N / messages.properties
foo.bar = foo bar
的grails-app / I18N /约/ about.properties
bar.foo = bar foo
你可以用你的gsp:
<g:message code="foo.bar"/>
<g:message code="bar.foo"/>
这里有一份简短的文档:https://grails.org/wiki/Internationalization