6

当我做

<set-property name="user.agent" value="ie9,gecko1_8,safari,opera" />

编译器做了4 个排列

但添加:

<set-property name="user.agent" value="ie9,gecko1_8,safari,opera" />

<extend-property name="locale" values="nl" />
<extend-property name="locale" values="en" />

<collapse-property name="locale" values="en*" />
<collapse-property name="locale" values="nl*" />
<set-property-fallback name="locale" value="en" />

我看到了 48 个排列。但我希望 4 * 2 = 8排列。

48 种排列是什么和/或有没有办法指示编译器在编译过程中显示排列代表什么?

我的模块中也有这个<inherits name="com.google.gwt.i18n.CldrLocales" />

*更新* : 此更改提供56 种排列

<extend-property name="locale" values="nl_NL" />
<extend-property name="locale" values="nl_BE" />
<extend-property name="locale" values="en_GB" />
<set-property-fallback name="locale" value="en_GB" />
<set-property name="user.agent" value="ie9,gecko1_8,safari,opera" />

仍然不清楚编译器如何得到这个数字?

4

2 回答 2

8

托马斯的这条评论揭示了解决方案:

您应该拥有<set-property name="locale" value="en,nl"/>,否则即使您永远不会使用默认语言环境,您仍将拥有它。

所以修改为:

<extend-property name="locale" values="nl_NL" />
<extend-property name="locale" values="nl_BE" />
<extend-property name="locale" values="en_GB" />
<set-property name="locale" value="en_GB,nl_NL,nl_BE"/>
<!-- <collapse-property name="locale" values="en*" /> <collapse-property 
    name="locale" values="nl*" /> -->
<set-property-fallback name="locale" value="en_GB" />

=> 12 个排列,正如预期的4(浏览器)* 3(语言/国家)= 12 个排列

于 2013-05-03T11:18:08.640 回答
0

我猜你遇到了这个问题。

似乎它为所有国家/地区产生了排列(?)。

对于翻译值相同但仍需要特定国家/地区的详细信息的情况,您可以使用运行时语言环境来减少编译排列的数量,但仍可以获得特定国家/地区的详细信息,例如默认货币、数字/日期格式规则,等等

例如,您可能拥有一套针对拉丁美洲使用的所有西班牙语 (es_419) 的翻译,但允许用户选择特定国家/地区的语言环境,例如阿根廷西班牙语 (es_AR)。

阅读运行时语言环境指定

于 2013-05-03T05:18:49.553 回答