localizaciones iPhone (o es que localizaciones?) No toman ninguna notificación de la Región de las series de usuario (es decir, UK, Aus, NZ). Solo hay una traducción de idioma "inglés" disponible por defecto. Sin embargo, puedes hackear cosas para forzarlo a utilizar una configuración de traducción diferente. Acabo de hacer esto para elegir entre "inglés" (EE. UU.) Y "en_GB" (inglés británico).
En el archivo main.m, alterar para que se vea como algo más abajo (poner en sus propias pruebas para NZ o AU)
int main(int argc, char *argv[]) {
NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];
// Set up the locale jiggery pokery
NSString *language = [[NSLocale preferredLanguages] objectAtIndex:0];
NSString *locale = [[NSLocale currentLocale] objectForKey: NSLocaleCountryCode];
if ([language isEqualToString:@"en"] && [locale isEqualToString:@"GB"]) {
[[NSUserDefaults standardUserDefaults] setObject:[NSArray arrayWithObjects:@"en_GB", @"en", nil] forKey:@"AppleLanguages"];
}
int retVal = UIApplicationMain(argc, argv, nil, nil);
[pool release];
return retVal;
}
Esto hace aparecer el idioma usuarios (por ejemplo " en ") en el lenguaje NSString y la configuración regional de los usuarios (p. ej., NZ, GB, AU) en la configuración regional NSString. Si ellos (en mi caso) coinciden en en y GB, entonces establezco las configuraciones de preferencia de idioma del usuario para que sean "en_GB", luego "en".
Luego, en su aplicación a los delegados de aplicación: Método didFinishLaunchingWithOptions que desea eliminar que NSUserDefaults ajuste que acaba de establecer con el código
[[NSUserDefaults standardUserDefaults] removeObjectForKey:@"AppleLanguages"];
Es seguro retirar en este momento porque toda la inicialización paquete se ha completado. Su aplicación ahora debería usar un archivo Localization.strings dentro del directorio en_GB.lproj.
Es una solución horrible, hacky, pero me funciona.
borrar el archivo en inglés causó un montón de problemas ... Tengo un montón de otros idiomas trabajando, pero cuando quiero usar el mismo idioma pero para diferentes regiones, no funciona: S – dewberry