gpt4 book ai didi

Grails:组织 i18n 包

转载 作者:行者123 更新时间:2023-12-04 21:39:35 29 4
gpt4 key购买 nike

我看下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 )?
  • 那么我如何从 GSP 内部引用我的嵌套包?例如,在我的 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/

    29 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com