2010-01-21 19 views

risposta

9

ne dite:

 
<set-property name="locale" value="en_GB" /> 
+0

Immagino che dovrai combinare questo con le risposte di cui sopra –

+0

Questo funziona! Ho avuto questa idea, ma sembra digitata in modo non corretto –

+4

Dove dovrei aggiungere questo proprietà? Ho provato nel mio file .gwt.xml, ma si lamenta di "Eccezione imprevista durante l'elaborazione dell'elemento 'set-property'" – raisercostin

2

Vedere this.

è necessario specificare le impostazioni internazionali nella pagina host in questo modo ...

<meta name="gwt:property" content="locale=x_Y"> 

Si potrebbe anche scrivere il proprio fornitore di proprietà.

+0

Questo non sostituirà le impostazioni locali di "default". Questo sta per impostare quale locale usare. Quello di cui ho bisogno è "default" locale su bahaive come 'en_GB'. –

+0

Se hai specificato una locale (come mostrato sopra), non dovrebbe sostituire l'impostazione predefinita. Ecco cosa viene detto sulle impostazioni internazionali predefinite ... "Il modulo com.google.gwt.i18n.I18N definisce solo una locale per impostazione predefinita, chiamata predefinita.Questa locale predefinita viene utilizzata quando la proprietà del client locale non viene specificata nella distribuzione. Le impostazioni internazionali predefinite sono utilizzate internamente come corrispondenza dell'ultimo resort tra un'interfaccia localizzabile e una risorsa o classe localizzata. " –

+0

Usiamo una localizzazione esclusiva -" default ", ma vogliamo che sia en-GB piuttosto en-US. è il motivo per cui ho chiesto come configurare le impostazioni internazionali predefinite –

3

È possibile impostare il valore predefinito tramite l'annotazione: @DefaultLocale("en_GB") sulle interfacce che estendono le interfacce i18, ad es. com.google.gwt.i18.client.Messages.

Ad esempio:

@DefaultLocale("en_GB") 
public interface MyMessages extends com.google.gwt.i18.client.Messages { 
    ... 

io non sono sicuro se questo risolve il problema reale, ma sembra che il modo per impostare il valore predefinito. Vedere anche http://code.google.com/p/google-web-toolkit/wiki/I18nAnnotations

+0

Questo sembra proprio quello che stai cercando. –

+0

Per lo più ho bisogno di questo per cose incorporate, come la data e il numero di moduli. Questo non risolve il mio problema Comunque grazie per il tuo tempo –

1

Here is a better hack (vedi il secondo commento).

Nota che avere solo questo codice

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

provoca LocaleInfo.getLocaleNativeDisplayName(localeName) tornare stringa vuota per il locale predefinito.

9
<extend-property name="locale" values="sl_SI"/> 
<set-property name="locale" value="sl_SI" /> 

prima aggiunge al set di locali disponibili.

quindi imposta il valore predefinito.

se il valore predefinito non è impostato sulle stesse impostazioni internazionali di quelle aggiunte, gwt creerà permutazioni per le impostazioni locali aggiunte e le impostazioni locali predefinite.

8

Qui sto suonando l'archeologo ma secondo GWT docs about internationalization dovresti usare la proprietà fallback per "locale" invece di forzare le impostazioni locali.

Quindi nel tuo modulo XML (il file .gwt.xml) si dovrebbe avere:

<!-- Let say you app supports the english language, independent of country --> 
<extend-property name="locale" values="en"/> 
<!-- Now set the fallback locale so your app will be in british english by default, Sir --> 
<set-property-fallback name="locale" value="en_GB"/> 

<set-property name="locale" value="en_GB"/> sarà impostato solo en_GB come la versione locale della vostra applicazione e non creerà la permutazione per le altre versioni locali definite.

Spero che questo aiuti.

Problemi correlati