有时候对多语言的启用,并不能及时更新,这时候至少应该显示英文,而不是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))
就是这么简单