iphone - NSLocale preferredLanguages objectAtIndex: 0 siempre devuelve "en"
nsuserdefaults region (2)
Esto es un error. Me estaba volviendo loco. Apple ya lo sabe.
Vea estas respuestas:
y esto:
Localización de simulador de iOS 8.1 rota (NSLocalizedString)
(En la respuesta hay una solución temporal que cambia el esquema)
Mejor, gigi
El lenguaje del simulador ya cambió a japonés, ¿por qué [[NSLocale preferredLanguages] objectAtIndex:0] siempre devuelve "en" ?
Ni el idioma preferido ni la región están relacionados con "en", ¿de dónde proviene "en" ?
[[NSLocale preferredLanguages] objectAtIndex: obtener [[NSLocale preferredLanguages] objectAtIndex: 2 ] , luego crash muestra *** Terminating app due to uncaught exception ''NSRangeException'', reason: ''-[__NSCFArray objectAtIndex:]: index (2) beyond bounds (1)
¿Significa que no hay ningún idioma configurado en el simulador? ¡Tan raro!
Esto nunca sucedió antes de actualizar a Xcode 6.1 con iOS8.1 / 7.1.
Mientras tanto, intenté lo mismo en mi iPhone 5, la consola salió correctamente.
¿Por qué tan raro? ¿Alguien tiene tales problemas?
Actualizaciones: 1
- Elimine Xcode así como los simuladores, y vuelva a instalarlo descargando desde Mac Store.
- Crea un nuevo proyecto simple, cambia el lenguaje del simulador.
- Aún así obtener siempre "en".
Oh! Que pasa ....
Actualizaciones: 2
- Hoy, reinstalado el nuevo Yosemite mediante el cambio de formato en HD
- Descargar Xcode 6.1
- Iniciar un nuevo proyecto predeterminado simple
- Pon estos códigos
- Cambiar / Agregar idioma de simulador, japonés, holandés, inglés,
- correr
- ¡Oh Dios! Obtuve solo
"en"otra vez, japonés e inglés no encontrado!
¿Por qué todavía solo se puede encontrar un "en" ? ¿Dónde están el japonés y el inglés?
¿Qué pasó con los simuladores?
¿Hay algo que me perdí?
Mi simulador de iOS de repente comenzó a informar "en" lugar de "en-US" , por lo que parece que este problema sigue activo.
Reproducido en
- Xcode 8.2.1, iOS 10
- Xcode 9.4.1, iOS 11
Entré en la configuración de idioma y seleccioné inglés y Estados Unidos. Seleccioné Canadá y Francia, y obtuve "fr-CA" . Luego lo cambié de nuevo y comencé a recibir "en-US" nuevo. No he podido reproducir el problema "en" desde.
Así que parece que no podemos pasar los valores de [NSLocale preferredLanguages] en el supuesto de que sean pares de idioma-región.