iOS 自动适配多语言方法,支持缺省英文

有时候对多语言的启用,并不能及时更新,这时候至少应该显示英文,而不是key键值,这就需要一个小技巧:

创建一个新的strings语言文件,将原有的默认语言(en或者base)内容移动到新的文件中,新的文件不进行多语言处理。将支持多语言的文件删掉en和base

使用下面这个宏就搞定了,当从LocationMe中读不到值时直接从LocationDef读取。 (读不到值会返回key本身)

#define LANGLOC(key) ([key isEqualToString:NSLocalizedStringFromTable(key,@"LocationMe",nil)]?NSLocalizedStringFromTable(key,@"LocationDef",nil):NSLocalizedStringFromTable(key,@"LocationMe",nil))
iOS 自动适配多语言方法,支持缺省英文_第1张图片
image.png

就是这么简单

这样做的好处是让你的默认配置能第一时间适配到其他语言中,虽然不太妥当,但是总比回显key值要强得多。另外某些配置都差不多的就可以都放到默认里面,比如都用英文说明,则直接在默认里面写就好了,不用每个文件都去粘贴。

你可能感兴趣的:(iOS 自动适配多语言方法,支持缺省英文)