2014-10-16 1 views
6

Soweit ich weiß, unterstützt iOS8 jetzt regionale Lokalisierungen (in diesem Fall möchte ich pt-BR unterstützen).iOS8 regionale Lokalisierung (z. B. pt-BR)?

Siehe http://www.ibabbleon.com/iOS-Language-Codes-ISO-639.html

ich Probleme damit habe, teste diese mit einer brandneuen Single View-Anwendung, in Xcode ich die pt und pt-BR Sprachen zu meinem Projekt hinzugefügt habe, und veränderten Text entsprechend im pt .lproj und pt-BR.lproj Verzeichnisse.

Nachdem ich mein Gerät auf pt-BR eingestellt und ausgeführt habe, ist der angezeigte Text immer pt, nicht pt-BR wie gewünscht.

Protokollierung der Tat das bevorzugte Gebietsschema zurück von NSLocale

NSString *language = [[NSLocale preferredLanguages] objectAtIndex:0]; 
NSLog(@"Locale = %@", language); 

Gibt nur 'locale = pt' ...

Bin ich irgendwelche Schritte fehlt oder ist das ein Fehler in iOS8?

Danke für jede Hilfe ...

Antwort

2

Nach dem Apfel docs 47 ein IETF BCP zurückgegeben werden soll. Also solltest du pt-BR bekommen, wenn das deine bevorzugte Systemsprache ist.

Wenn das, was Sie wollen nur das aktuelle Gebietsschema Ich schlage vor, Sie verwenden:

[[NSLocale currentLocale] localeIdentifier] 

ersetzen current mit autoupdatingCurrentLocale wenn Sie locale Änderungen unterstützen möchten, während die App läuft.

EDIT: Locale ist nicht das gleiche wie Sprache ID! Entschuldigung für das Missverständnis. Wie dem auch sei „pt“ ist die richtige Sprache ID für brasilianisches Portugiesisch:

... Verwenden Sie zum Beispiel pt als Sprache ID für Portugiesisch, wie es in Brasilien und pt-PT als die Sprach-ID für Portugiesisch verwendet wird, wie Es wird in Portugal verwendet. Das Untermenü Andere (am Ende der Liste) enthält weitere Sprachen und Dialekte.

Von: https://developer.apple.com/library/ios/documentation/MacOSX/Conceptual/BPInternational/LocalizingYourApp/LocalizingYourApp.html

+0

Dies gibt pt_US – Chris

+0

Meine Sprache ist definitiv Portugiesisch (Brasilianisch) in den iOS-Einstellungen. Außerdem bin ich weniger damit beschäftigt, NSLocale und mehr mit meinen lokalisierten Dateien (xibs und Zeichenketten) abzufragen, die die korrekte Sprache aufheben ... – Chris

+0

Modifizierte meine Antwort mit der korrekten Lösung. – Shank

2

Aus irgendeinem Grund wird mit iOS8 pt für Portugiesisch Brasil (statt pt_BR). Wenn Sie Portugiesisch Portugal wählen, wird die Lokalisierung pt_PT sein

ich die Lokalisierung gelöscht haben, und fügte hinzu, die generische portugiesisch (und mit .strings Dateien mit den alten ersetzt).

+2

Es scheint die einzige Lösung für jetzt. "pt_BR" funktioniert nicht, da die Gebietsschema-ID für Portugiesisch Brasilien "pt_US" zurückgibt. – atxe