Actualmente tengo dos idiomas compatibles: inglés y español. Por lo tanto, tengo dos archivos main.strings
para cada idioma. Uno en en.lproj
y uno en es.lproj
.iPhone: archivo de cadenas por defecto de localización/internacionalización
Lo que quiero ahora es que el main.strings
Inglés es el archivo predeterminado si un usuario con una configuración regional que no en
es
o llega a la aplicación, por ejemplo, de
o fr
.
Sé que puedo configurarlo manualmente para cada cadena en el código con el parámetro defaultString
:
NSLocalizedStringWithDefaultValue(key, @"main",[NSBundle mainBundle], defaultString, comment);
Pero yo preferiría no entrar en él allí de nuevo (y tienen que cambiar en dos lugares), sino que tiene el archivo en
main.strings
como predeterminado para cualquier otra configuración regional "no compatible".
Argh. Tienes toda la razón. Estúpido de mí por no haber probado a fondo. En lugar de utilizar un lenguaje completamente diferente, usé "es" para probar, para lo cual ya tenía un archivo de cadena vacío creado. – znq
el repliegue depende de la secuencia de [NSLocale preferredLanguages] en lugar del inglés predeterminado. por ejemplo, si cambias de chino a alemán, el primero es deutsch y el segundo chino, por lo que si la aplicación admite chino, entonces muestra chino en lugar de inglés – chings228
este de arriba debería ser la respuesta aceptada –