teclado - Configuración del idioma predeterminado para la aplicación de iPhone en la primera ejecución
como cambiar el idioma del app store de chino a español (2)
Me encontré con el mismo problema, y la única forma de solucionarlo fue tener el fragmento de código en la etapa más temprana de la aplicación, es decir, en main.c:
int main(int argc, char *argv[]) {
NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
[defaults setObject:[NSArray arrayWithObjects:@"fr", nil] forKey:@"AppleLanguages"];
[defaults synchronize];
int retVal = UIApplicationMain(argc, argv, nil, nil);
[pool release];
return retVal;
}
No estoy seguro de si es una buena práctica pero funcionó como esperaba en mi caso.
Estoy desarrollando una aplicación que debe admitir dos idiomas: inglés y francés. Sin embargo, debido a que la traducción al inglés aún no se ha realizado, queremos implementarla solo en francés y luego agregar la traducción al inglés más adelante.
El problema es que no quiero quitar el idioma inglés de mi código ya que algunas partes ya están hechas, hay diferentes NIB para ese idioma, etc. En cambio, me gustaría que el idioma inglés se desactive temporalmente en mi aplicación.
Lo que hice es poner este código como la primera instrucción de
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
[defaults setObject:[NSArray arrayWithObjects:@"fr", nil] forKey:@"AppleLanguages"];
[defaults synchronize];
Funciona bien excepto por una cosa. Cuando inicia la aplicación por primera vez después de la instalación, todavía está en inglés. Probablemente sea porque la preferencia de AppleLanguages
todavía no estaba establecida. Después de salir de la aplicación y volver a iniciarla, se muestra correctamente en francés.
¿Alguien sabe una solución para que el idioma francés se aplica también en la primera carrera?
Suena desordenado ¿Por qué no simplemente desmarcar los recursos de inglés sin terminar del objetivo, para que no se desplieguen? Además, ¿ha analizado la configuración CFBundleDevelopmentRegion en Info.plist?