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.