2017-02-17 12 views
1

Die App, an der ich arbeite, wird in Großbritannien, den USA und der AU erscheinen. Ich habe strings.xml in den Ordnern values-en-rUS, values-en-rAU und values. Ich habe bestimmte Zeichenfolgen für ex "Postleitzahl", die nur in den USA verwendet werden, also habe ich sie in strings.xml in values-en-rUS hinzugefügt. Ich habe "Postleitzahl" als Äquivalent in AU und UK strings.xml Dateien.Wie lautet der Standardansatz für die Verwendung von regionspezifischen Strings?

Dies funktioniert gut, solange das Gerätegebietsschema richtig eingestellt ist, dh Englisch (USA) in den USA. Wenn das Gerät in Englisch (Australien) ist und der Benutzer die App in USA verwendet, schlägt die Lösung fehl.

Gibt es einen Standardansatz für die Anzeige einer bestimmten Zeichenfolge unabhängig von der Geräteeinstellung? Jede Hilfe ist

geschätzt

Antwort

2

Die richtige Java SE praxisnah ist:

Locale:      Properties file name part: 

Locale("en", "US")   values_en_US 
Locale("en", "AUS")   values_en_AUS 
Locale("en", "UK")   values_en_UK 

Besten haben eine Locale("en")/values_en und values auch.

Es gibt einige Locale-Konstanten. Ein kleiner Prototyp wird sehen, ob das zufriedenstellend funktioniert.

1

Ich denke, Sie verwenden die falsche Lokalisierung. values-en-rUS Sie definieren Ressourcen in Englisch (Gebietsschema en) für Handys in der US-Region.

Wenn Sie stattdessen values-en_US verwenden, sollte es für das Gebietsschema korrekt funktionieren.

Um besser zu verstehen, wie der Rückfall zwischen den verschiedenen Schauplätzen auf diesen Link betrachten passieren wird: Android doc

Verwandte Themen