2013-05-02 12 views
5

Quando faccioGWT conteggio permutazione

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

il compilatore fa 4 permutazioni;

Ma l'aggiunta di:

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

vedo 48 permutazioni. Ma vorrei aspettarsi 4 * 2 = 8 permutazioni.

Quali sono le 48 permutazioni e/o c'è un modo per istruire il compilatore per mostrare cosa rappresentano le permutazioni durante il processo di compilazione?

Ho anche questa nel mio modulo <inherits name="com.google.gwt.i18n.CldrLocales" />

* AGGIORNAMENTO *: Questo cambiamento dà 56 permutazioni

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

Non è ancora chiaro come il compilatore arriva a questo numero?

+2

Un nit: si dovresti avere '' o avrai ancora l'impostazione di "default" anche se non la userai mai. –

+0

è stato! super, thx. – koma

risposta

7

Questo commento da Thomas ha rivelato la soluzione:

si dovrebbe avere <set-property name="locale" value="en,nl"/> o ti avere ancora la località di default, anche se non sarai mai usarlo.

Così modificato per:

<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 permutazioni, come previsto dal 4 (browser) * 3 (lang/paese) = 12 permutazioni

0

Immagino che tu abbia risposto a questo problema.

Sembra che le sue permutazioni di produzione per tutti i paesi (?).

Per i casi in cui i valori tradotti sono gli stessi, ma si vuole ancora i dettagli specifici del paese, è possibile utilizzare locali di runtime per ridurre il numero di permutazioni compilati, ma ancora ottenere dettagli specifici del paese, come la valuta di default, regole di formattazione numero/data, ecc

a titolo di esempio, si potrebbe avere una serie di traduzioni per tutte spagnolo parlato in America Latina (es_419), pur consentendo agli utenti di scegliere un locale specifico per il paese, come Spagnolo argentino (es_AR).

Read Runtime LocaleSpecifying

+0

questo è ciò che dovrebbe essere prevenuto aggiungendo le istruzioni di proprietà collapse come , no? – koma

+3

Le proprietà di compressione non riducono il numero di permutazioni, riduce il numero di file di output, comprimendo diverse permutazioni nello stesso script di output. –

+0

riducendo ulteriormente il numero di lang/paesi si ottengono ancora più permutazioni (56!), Vedere la domanda aggiornata. Ancora perplesso su come il compilatore calcola il numero di permutazioni. Ne avevo solo 4 prima di aggiungere country/lang. – koma