2014-10-16 14 views
6

Z tego co wiem, system iOS8 obsługuje teraz regionalne lokalizacje (w tym przypadku chcę wesprzeć pt-BR).Lokalizacja regionalna iOS8 (np. Pt-BR)?

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

mam problemy z tym, testując ten z jednej aplikacji widzenia nowy, w Xcode Dodałem PT i PT-BR języków do mojego projektu, a zmieniany tekst odpowiednio w pkt Katalogi .lproj i pt-BR.lproj.

Po ustawieniu mojego urządzenia na pt-BR i uruchomieniu, wyświetlany tekst jest zawsze pt, a nie pt-BR zgodnie z oczekiwaniami.

Rzeczywiście zalogowaniu preferowanego ustawienia regionalne zwrócony przez NSLocale

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

Powroty tylko 'Locale = pt' ...

jestem brakuje jakichkolwiek czynności lub jest to błąd w systemów iOS 8?

dzięki za pomoc ...

Odpowiedz

2

według docs jabłko IETF BCP 47 powinny zostać zwrócone. Powinieneś otrzymać PT-BR, jeśli jest to twój preferowany język systemowy.

Jeśli to, co chcesz jest tylko bieżąca locale Proponuję użyć:

[[NSLocale currentLocale] localeIdentifier] 

Wymień currentLocale z autoupdatingCurrentLocale jeśli chcesz wesprzeć zmiany ustawień narodowych podczas gdy aplikacja jest uruchomiona.

EDYCJA: Lokalizacja nie jest identyczna z identyfikatorem języka! Przepraszam za nieporozumienie. W każdym razie "pt" jest poprawnym identyfikatorem języka portugalskiego portugalskiego:

... Na przykład użyj pt jako identyfikatora języka portugalskiego, ponieważ jest on używany w Brazylii i pt-PT jako identyfikator języka portugalskiego jako jest używany w Portugalii. Podmenu Inne (u dołu listy) zawiera więcej języków i dialektów.

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

+0

Powoduje wyświetlenie pt_US – Chris

+0

Mój język jest zdecydowanie portugalski (Brazylia) w preferencjach systemu iOS. Ponadto, jestem mniej zainteresowany zapytaniami o NSLocale i więcej z moimi zlokalizowanymi plikami (xibs i stringami), które zbierają poprawny język ... – Chris

+0

Zmodyfikowaliśmy moją odpowiedź za pomocą poprawnego rozwiązania. – Shank

2

z jakiegoś powodu, systemów iOS 8 korzysta pt dla portugalskiej Brazylii (zamiast pt_BR). Po wybraniu portugalskiej Portugalia, umiejscowienie będzie pt_PT

Usunąłem lokalizację i dodał rodzajowego portugalski (i zastąpione .strings plików ze starymi).

+2

Wygląda na to, że jest to jedyne rozwiązanie na razie. "pt_BR" nie działa, ponieważ identyfikator ustawień narodowych dla portugalskiej Brazylii zwraca "pt_US". – atxe