6 Stimmen

IPhone/iOS: Wie kann ich zur Laufzeit feststellen, welche Lokalisierung das Telefon verwendet?

Ich habe Schwierigkeiten, eine App zu lokalisieren. Sie muss ins Persische (Iranisches Persisch) übersetzt werden. Nicht nur das, sie muss den Solar-Kalender verwenden, wenn fa_IR als Lokalisierung ausgewählt wird.

Das Betriebssystem hat einen persischen Kalender. Es ist für mich kein Problem, ihn zu verwenden, aber ich muss wissen, dass die Lokalisierung fa_IR ausgewählt wurde. Als ob das nicht genug wäre, kann ich diese Sprachvariante nicht in den USA testen, da es scheint, dass AT&T sie nicht als Lokalisierung zulässt. Ich muss sie nach Iran senden, was äußerst lästig ist.

Es fällt mir verdammt schwer, zur Laufzeit die Lokalisierung herauszufinden. Es gibt eine Menge Zeug, um auf die Bündel-Flags zuzugreifen, aber ich kann nichts finden, um Laufzeitinformationen zu erhalten.

Ich bin ziemlich grün hinter den Ohren im iOS-Programmieren, also muss ich noch herausfinden, bei welchem M ich das H nachlesen soll. Ich habe die Dokumentation mit vielen Schlüsselwörtern durchsucht, leider ohne Erfolg.

Kann mir jemand bei einer scheinbar absurd einfachen Frage helfen?

10voto

Joe Punkte 56389

NSLocale wird die benötigten Gebietsschemas bereitstellen. Beachten Sie, dass Foundation-Klassen empfohlene Einstellungen wie den 24-Stunden-Modus und Gebietsschemas unterstützen.

NSLog(@"%@", [[NSLocale currentLocale] localeIdentifier]);

6voto

Erik B Punkte 38197
NSArray *localizations = [[NSBundle mainBundle] preferredLocalizations];
for (NSString *string in localizations) {
    NSLog(@"Localization: %@", string);
}

Der obige Code sollte hilfreich sein, um die aktuelle Lokalisierung zu finden.

NSLog(@"%@", [[NSLocale currentLocale] localeIdentifier]);

NSLocale gibt en_US zurück, während NSBundle sv zurückgibt, was korrekt für mein Telefon ist.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X