¿Hay alguna manera de establecer un idioma predeterminado para usar cuando el idioma de la IU del dispositivo no es compatible con una aplicación?Localizar cadenas en iOS: ¿idioma predeterminado (de respaldo)?
Ejemplo: Mi aplicación se localiza en Inglés y alemán:
// en.lproj:
"POWER_TO_THE_PEOPLE_BTN" = "Power";
"POWER_PLUG_BTN" = "Power";
// de.lproj:
"POWER_TO_THE_PEOPLE_BTN" = "Macht";
"POWER_PLUG_BTN" = "Spannung";
Ahora, si me quedo la aplicación en un dispositivo con el lenguaje de interfaz de usuario configurado en Italian
la aplicación va a utilizar las cadenas principales POWER_TO_THE_PEOPLE_BTN
y POWER_PLUG_BTN
.
Debe haber una forma de especificar un idioma predeterminado (de respaldo) para ser utilizado por la aplicación en tal caso.
A partir del ejemplo anterior, debe quedar claro que no funcionará el uso de la cadena en inglés como clave.
La única opción que veo ahora es usar NSLocalizedStringWithDefaultValue
en lugar de NSLocalizedString
.
El idioma alternativo es el primer idioma en '[NSLocale preferredLanguages]' que admite la aplicación. No es siempre inglés. Si cambia el idioma en la configuración, se moverá a la parte superior de la lista. – Felix
Para expandir/reformular esto, el idioma alternativo es el idioma que el usuario eligió más recientemente en Configuración, que también está representado en el paquete de la aplicación. – hyperspasm
Juan Pablo, gracias por la edición –