sme*_*eeb 5 grails internationalization
我看到下面grails-app/i18n有很多messages*.properties捆.我想将我的应用程序国际化,但每页有1个"捆绑集".通过捆绑集我的意思是,包含文字相同的组包/属性文件,但针对不同的语言.例如,如果我希望我的网站支持英语,法语和西班牙语,那么我的"关于"页面可能包含3个捆绑包:
about.properties (英语)about_fr.properties (法文)about_es.properties (西班牙语)如果我的应用程序包含100个页面,并且每页有3个属性文件,那么我将最终拥有300个属性文件grails-app/i18n!多数民众赞成!
我想知道我是否可以添加子文件夹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.
Run Code Online (Sandbox Code Playgroud)
这将使更好/更清洁/更有组织的代码.如果可能的话:
grails-app/i18n 下创建文件夹/包,还是有我可以使用的Grails CLI命令(例如grails create-i18n-bundle about)?about.gsp,我会使用:<g:message code="about/foo.bar" />?小智 1
Grails 获取 grails-app/i18n 文件夹下的所有包。因此,您可以为每个组创建一个文件夹。
引用它们就像在 messages.properties 中一样简单。我的意思是,如果你有:
grails-app/i18n/messages.properties
foo.bar = foo bar
Run Code Online (Sandbox Code Playgroud)
grails-app/i18n/about/about.properties
bar.foo = bar foo
Run Code Online (Sandbox Code Playgroud)
您可以在 gsp 中执行以下操作:
<g:message code="foo.bar"/>
<g:message code="bar.foo"/>
Run Code Online (Sandbox Code Playgroud)
这里有一个简短的文档: https: //grails.org/wiki/Internationalization
| 归档时间: |
|
| 查看次数: |
224 次 |
| 最近记录: |