2014-10-16 10 views
6

Da quello che ho capito, iOS8 ora supporta localizzazioni regionali (in questo caso voglio supportare pt-BR).Localizzazione regionale iOS8 (ad esempio pt-BR)?

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

Sto avendo problemi con questo, prove con un nuovo marchio singola applicazione vista, in Xcode ho aggiunto le lingue PT e PT-BR al mio progetto, e alterato il testo di conseguenza nel pt directory .lproj e pt-BR.lproj.

Dopo aver impostato il dispositivo su pt-BR e in esecuzione, il testo visualizzato è sempre pt, non pt-BR come desiderato.

Infatti la registrazione della localizzazione preferita restituito da NSLocale

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

restituisce solo 'locale = pt' ...

mi manca qualsiasi iniziativa o si tratta di un bug in iOS 8?

Grazie per qualsiasi aiuto ...

risposta

2

Secondo la documentazione di Apple un IETF BCP 47 deve essere restituita. Quindi dovresti ottenere pt-BR se questa è la tua lingua di sistema preferita.

Se quello che vuoi è solo il locale corrente vi consiglio di utilizzare:

[[NSLocale currentLocale] localeIdentifier] 

Sostituire currentLocale con autoupdatingCurrentLocale se si vuole supportare le modifiche delle impostazioni internazionali, mentre la vostra applicazione è in esecuzione.

MODIFICA: Le impostazioni internazionali non corrispondono all'ID lingua. Scusa per l'incomprensione. In ogni caso "pt" è l'ID lingua corretta per il portoghese brasiliano:

... Per esempio, l'uso pt come l'ID della lingua per il portoghese in quanto viene utilizzato in Brasile e pt-PT come ID lingua portoghese come è usato in Portogallo. Il sottomenu Altro (in fondo all'elenco) contiene più lingue e dialetti.

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

+0

Queste uscite pt_US – Chris

+0

La mia lingua è decisamente portoghese (brasiliano) nelle preferenze iOS. Inoltre, sono meno interessato a interrogare NSLocale e altro con i miei file localizzati (xibs e stringhe) che prelevano la lingua corretta ... – Chris

+0

Ho modificato la mia risposta con la soluzione corretta. – Shank

2

Per qualche ragione, sta usando iOS 8 pt per portoghese Brasil (invece di pt_BR). Quando si seleziona portoghese Portogallo, la localizzazione sarà pt_PT

Ho cancellato la localizzazione, e ha aggiunto il portoghese generico (e sostituito con .strings file con quelle vecchie).

+2

Sembra l'unica soluzione per ora. "pt_BR" non funziona in quanto l'identificatore locale per il portoghese Brazil restituisce "pt_US". – atxe

Problemi correlati