2017-03-14 5 views
0

Meine App unterstützt vier verschiedene Sprachen und ich muss meinem Server mitteilen, welcher verwendet wird, damit die Daten vom Server in der richtigen Sprache sind. Welche der vielen Sprach-/Locale-Klassen liefert mir die Informationen, welche meiner Übersetzungen derzeit verwendet werden.Wie kann man herausfinden, welche Lokalisierung gerade verwendet wird?

Also wenn das Gerät Russisch ist (für das ich keine Übersetzung habe), wird es wieder auf Englisch zurückgesetzt (ich denke), also muss ich wissen, dass "en" gerade benutzt wird. Wenn das Gerät italienisch ist (wofür ich eine Übersetzung habe), muss ich natürlich wissen, dass es "es" ist.

Vielen Dank!

Antwort

0

Nach einigen zusätzlichen Tests und Nachforschungen konnte ich es selbst beantworten und ich fand heraus, dass das Folgende die richtige Antwort liefert.

NSString* language = [[[NSBundle mainBundle] preferredLocalizations] firstObject]; 

Die [[NSBundle mainBundle] preferredLocalizations] werden Sie eine geordnete Liste von Sprachen, die auch von Ihrer Anwendung unterstützt werden. Es wird Ihnen jedoch nur den Sprachteil geben. Also nur "en" und nicht "en-US".

Ich habe nicht diese über mehrere Versionen von iOS getestet, aber es funktioniert in iOS 10.

1

Für Swift 3 können Sie

let localization = Bundle.main.preferredLocalizations.first 
verwenden
Verwandte Themen