当设备UI语言不被应用程序支持时,是否有方法可以设置默认语言?本地化iOS中的字符串:默认(后备)语言?
例子: 我的应用程序本地化为英语和德语:
// en.lproj:
"POWER_TO_THE_PEOPLE_BTN" = "Power";
"POWER_PLUG_BTN" = "Power";
// de.lproj:
"POWER_TO_THE_PEOPLE_BTN" = "Macht";
"POWER_PLUG_BTN" = "Spannung";
现在,如果我在设备上运行的应用程序设置为Italian
应用程序将使用钥匙串POWER_TO_THE_PEOPLE_BTN
和POWER_PLUG_BTN
UI语言。
必须有指定在这种情况下使用应用程序默认(后备)语言的一种方式。
从上面的例子,应该清楚,使用英文字符串作为一个键将无法正常工作。
我现在看到的唯一选择是使用NSLocalizedStringWithDefaultValue
而不是NSLocalizedString
。
回退语言是应用程序支持的[NSLocale preferredLanguages]中的第一种语言。它并不总是英文。如果您在设置中更改语言,它将移至列表顶部。 – Felix 2013-12-03 18:20:58
为了扩大/改变这一点,后备语言是用户最近在设置中选择的语言,也是在应用程序包中表示的语言。 – hyperspasm 2014-10-12 15:28:24
Juan Pablo,感谢编辑 – 2016-05-16 16:55:35