2010-01-21 13 views
12

Nasza aplikacja powinna zostać naprawiona, aby używać ustawień regionalnych eb-GB. Na razie dodałem:Jak zmienić domyślne ustawienia narodowe w GWT

<extend-property name="locale" values="en_GB"/> 

Ale to oznacza, że ​​GWT buduje premutacje dla obu. Jak domyślnie ustawić GWT na eb-GB? Lub, jak usunąć default z kompilacji?

Odpowiedz

9

Jak o:

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

Zgaduję, że będziesz musiał połączyć to z odpowiedziami z góry –

+0

To działa! Miałem ten pomysł, ale wydaje mi się, że wpisałem coś w sposób icorrectly –

+4

Gdzie powinienem to dodać? Właściwość? Próbowałem w moim pliku .gwt.xml, ale narzeka na "nieoczekiwany wyjątek podczas przetwarzania elementu 'set-property" " – raisercostin

2

Zobacz this.

musisz określić ustawienia regionalne na stronie gospodarza, jak tak ...

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

Można także napisać własny dostawcy nieruchomości.

+0

Nie zastąpi to "domyślnego" ustawienia narodowego. Chodzi o to, jakich ustawień regionalnych użyć. To czego potrzebuję to "domyślne" locale do bahaive jako 'en_GB'. –

+0

Jeśli określiłeś ustawienia narodowe (jak pokazałeś powyżej), nie powinno to zastąpić domyślnego. Oto, co jest powiedziane na temat domyślnych ustawień regionalnych ... "Moduł com.google.gwt.i18n.I18N definiuje domyślnie tylko jeden język, nazywany domyślnym.Te domyślne ustawienia narodowe są używane, gdy właściwość klienta ustawień narodowych nie jest określona podczas wdrażania. Domyślne ustawienia narodowe są używane wewnętrznie jako ostateczne dopasowanie między interfejsem lokalizowalnym a zlokalizowanym zasobem lub klasą. " –

+0

Używamy exaclty one locale -" default ", ale chcemy, aby był to en-GB raczej en-US. dlatego spytałem, jak skonfigurować domyślne ustawienia narodowe –

3

Można ustawić wartość domyślną za pomocą adnotacji: @DefaultLocale("en_GB") na interfejsach rozszerzających interfejsy i18, np. com.google.gwt.i18.client.Messages.

Na przykład:

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

Nie jestem pewien, czy to rzeczywista rozwiąże problem, ale wydaje się, aż do ustawienia domyślnego. Zobacz także http://code.google.com/p/google-web-toolkit/wiki/I18nAnnotations

+0

Wygląda na to, czego naprawdę potrzebujesz. –

+0

Potrzebuję tego głównie do wbudowanych rzeczy, takich jak data i numeraty, więc dziękuję za wskazanie tego, ale to nie rozwiąże mojego problemu, w każdym razie dziękuję za poświęcony czas –

1

Here is a better hack (patrz drugi komentarz).

Zauważ, że mając tylko ten kod

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

powoduje LocaleInfo.getLocaleNativeDisplayName(localeName) wrócić pusty ciąg dla domyślnej lokalizacji.

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

po raz pierwszy dodaje do zestawu dostępnych ustawień regionalnych.

następnie ustawia wartość domyślną.

jeśli domyślnie nie ustawiono tych samych ustawień narodowych co te dodane, gwt utworzy permutacje dla dodanych locale i domyślnych ustawień narodowych.

8

Gram w archeologa tutaj, ale zgodnie z GWT docs about internationalization powinieneś użyć zwrotu właściwości dla "locale" zamiast forsowania samego locale.

Więc w module XML (plik .gwt.xml) powinny mieć:

<!-- 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"/> będzie tylko ustawić en_GB jako lokalizacji swojego wniosku i nie stworzy permutacji dla innych lokalizacjach zdefiniowanymi.

Mam nadzieję, że to pomoże.

Powiązane problemy