Число перестановок GWT


Когда я это делаю

<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" />

До сих пор не ясно, как компилятор добирается до этого числа ?

2   5   2013-05-03 01:17:08

2 ответа:

Этот комментарий Томаса показал решение :

Вы должны иметь <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 перестановок

Я думаю, вы побежали к этому вопросу.

Похоже, что его производящие перестановки для всех стран(?).

В тех случаях, когда переведенные значения совпадают, но вы все еще хотите получить сведения о конкретной стране, вы можете использовать локали среды выполнения, чтобы уменьшить количество скомпилированных перестановок, но все же получить сведения о конкретной стране, такие как валюта по умолчанию, правила форматирования чисел/дат и т. д.

Например, у вас может быть один набор переводов для всего испанского языка как говорят в Латинской Америке (es_419), но позволяют пользователям выбирать язык конкретной страны, например аргентинский испанский (es_AR).

Чтение Среды Выполнения LocaleSpecifying