C'è un modo per impostare una lingua predefinita da utilizzare quando la lingua dell'interfaccia utente del dispositivo non è supportata da un'app?Localizzazione delle stringhe in iOS: lingua predefinita (fallback)?
Esempio: La mia app è localizzata in inglese e tedesco:
// en.lproj:
"POWER_TO_THE_PEOPLE_BTN" = "Power";
"POWER_PLUG_BTN" = "Power";
// de.lproj:
"POWER_TO_THE_PEOPLE_BTN" = "Macht";
"POWER_PLUG_BTN" = "Spannung";
Ora, se eseguire l'applicazione su un dispositivo con lingua dell'interfaccia utente impostata Italian
l'applicazione utilizzerà le stringhe chiave POWER_TO_THE_PEOPLE_BTN
e POWER_PLUG_BTN
.
Ci deve essere un modo per specificare un linguaggio di default (fallback) da utilizzare in tal caso nell'applicazione.
Dall'esempio precedente dovrebbe essere chiaro che l'utilizzo della stringa inglese come chiave non funzionerà.
L'unica opzione che vedo ora è utilizzare NSLocalizedStringWithDefaultValue
anziché NSLocalizedString
.
La lingua di fallback è la prima lingua in '[NSLocale preferredLanguages]' supportata dall'app. Non è sempre inglese Se cambi la lingua nelle impostazioni, si sposterà in cima alla lista. – Felix
Per espandere/riformulare questo, la lingua di fallback è la lingua scelta più recentemente dall'utente in Impostazioni, anch'essa rappresentata nel pacchetto dell'app. – hyperspasm
Juan Pablo, grazie per la modifica –