我看下grails-app/i18n
有一吨messages*.properties
捆绑。我想将我的应用程序国际化,但每页有 1 个“捆绑集”。我所说的包集是指包含相同文本但用于不同语言的一组包/属性文件。例如,如果我希望我的网站支持英语、法语和西类牙语,那么我的“关于”页面可能有 3 个捆绑包:
about.properties
(英文) about_fr.properties
(法语) about_es.properties
(西类牙语)如果我的应用程序包含 100 个页面,并且每页有 3 个属性文件,那么我最终将在
grails-app/i18n
下拥有 300 个属性文件。 !这是一个可以o'蠕虫!我想知道是否可以在
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" />
? 最佳答案
Grails 获取 grails-app/i18n 文件夹下的所有包。因此,您可以为每个组创建一个文件夹。
引用它们就像在 messages.properties 中一样简单。
我的意思是,如果你有:
grails-app/i18n/messages.properties
foo.bar = foo bar
grails-app/i18n/about/about.properties
bar.foo = bar foo
您可以在 gsp 中执行以下操作:
<g:message code="foo.bar"/>
<g:message code="bar.foo"/>
这里有一个简短的文档:https://grails.org/wiki/Internationalization
关于Grails:组织 i18n 包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30031098/