【问题标题】:Gwt Compile Permutation size with locales带语言环境的 Gwt 编译排列大小
【发布时间】:2013-11-22 21:57:00
【问题描述】:

在我的应用程序中,我想为同一个国家/地区支持 2 种语言(en、tr)。所以我不想为我的申请使用不同的数字/日期格式。

没有任何语言环境设置(这意味着只有默认语言环境)我有 6 个排列。 但是当我添加 tr 和 en 时,我的排列变为 18。所以我仍然有图片中的默认语言环境。

所以我的第一个问题 如何摆脱默认区域设置(我希望我的默认设置是我定义的 en)

我只需要针对特定​​于语言环境的消息进行本地化,只需一个界面和 2 个消息属性文件。

我不明白为什么它应该只为这 3 个文件增加编译排列。有没有办法通过保留语言环境设置来加快编译速度。

通过扩展消息接口并且没有大量排列,将消息从 servlet 加载为 json 并在 GWT 编译时通过该接口实现接口更有意义。

【问题讨论】:

    标签: gwt compilation locale permutation


    【解决方案1】:

    要减少编译时间,您可以使用 -localWorker [核心数]。这将告诉 GWT 使用 [核心数] 进行编译。

    在您的模块描述符中,您可以通过

    添加可用的语言环境
    <extend-property name="locale" values="en_EN"/>
    

    要设置默认语言环境,请使用:

    <set-property name="locale" value="en_EN" />
    

    这应该会将排列数减少到 12 个。

    当然,您可以根据您的语言环境加载消息。这意味着,每次启动应用程序时,都会从服务器加载消息。这需要时间,用户必须等待。它还会增加应用程序的大小。用户必须等待更长的时间才能加载您的应用程序并开始使用它。

    我个人会使用动态加载消息,如果我想在不重新加载应用程序的情况下切换语言环境,或者如果消息会经常被编辑并且我不想每次都编译应用程序。

    【讨论】:

      【解决方案2】:

      如果您不想要多个排列,您可以使用动态 i18n:

      http://www.gwtproject.org/doc/latest/DevGuideI18n.html#DevGuideDynamicStringInternationalization

      【讨论】:

        【解决方案3】:

        感谢您的回答。 所以这个问题的解决方案如下。现在总排列是 6*2=12 而不是 6*3。所以默认语言环境消失了。

          <extend-property name="locale" values="en,tr"/>
          <set-property-fallback name="locale" value="en"/>
        
          <set-property name="locale" value="en,tr"/>
        

        但我仍然找不到在不增加排列大小的情况下处理消息传递的方法。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2014-05-21
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多