2013-05-02 15 views
5

Kiedy zrobićGWT liczba permutacji

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

kompilator robi 4 permutacje;

Ale dodaje:

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

widzę 48 permutacje. Ale chciałbym, aby oczekiwał permutacji 4 * 2 = 8.

Jakie są 48 permutacji i/lub czy istnieje sposób nakazania kompilatorowi pokazania, jakie permutacje reprezentują podczas kompilacji?

mam to również w moim module <inherits name="com.google.gwt.i18n.CldrLocales" />

* UPDATE *: Ta zmiana daje 56 permutacje

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

To wciąż nie jest jasne, w jaki sposób kompilator robi to numer?

+2

One NIT: ci powinien mieć '' lub nadal będziesz mieć 'default' locale, nawet jeśli nigdy go nie użyjesz. –

+0

to było to! super, thx. – koma

Odpowiedz

7

Komentarz od Thomas ujawnił rozwiązanie:

należy mieć <set-property name="locale" value="en,nl"/> lub będziesz jeszcze domyślne ustawienia regionalne, chociaż nigdy go używać.

Tak zmodyfikowany:

<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 permutacji, jak oczekiwano od 4 (przeglądarek) * 3 (lang/kraj) = 12 permutacje

0

Zgaduję, że wpadłeś w ten problem.

Wydaje się, że produkuje permutacje dla wszystkich krajów (?).

W przypadkach, gdzie tłumaczone wartości są takie same, ale nadal chcesz dane dla poszczególnych krajów, można użyć lokalizacje wykonawcze do zmniejszenia liczby zebranych permutacji, ale wciąż uzyskać dane dla poszczególnych krajów, jak walucie, zasady formatowania numer/data, itp

jako przykład można mieć jeden zestaw dla wszystkich tłumaczeń hiszpańskiego jako używany w Ameryce Łacińskiej (es_419), ale pozwalają użytkownikom wybrać locale dla danego kraju, takich jak Argentyński hiszpański (es_AR).

Read Runtime LocaleSpecifying

+0

to właśnie należy zapobiegać, dodając instrukcje właściwości collapse, takie jak , no? – koma

+3

Zwiń właściwości nie zmniejsza liczby permutacji, zmniejsza liczbę plików wyjściowych, przez zwijanie kilku permutacji do tego samego skryptu wyjściowego. –

+0

zmniejszenie liczby języków/krajów jeszcze bardziej skutkuje jeszcze większą liczbą (56!) Permutacji, patrz zaktualizowane pytanie. Wciąż zastanawiasz się, w jaki sposób kompilator oblicza liczbę permutacji. Miałem tylko 4 przed dodaniem kraju/języka. – koma