公司需要适配7个语言,布局需要适应所有文字。遇到UI适配时,语言来回切换,必须到系统语言处改。改一次得等一两分钟,又得跳到指定页面。非常麻烦。
关于国际化大家可以参考这篇文章3分钟实现iOS语言本地化/国际化 。
demo的实现原理这篇文章讲的比较清楚详述iOS国际化 。
我完成的是一个自定义按钮快速切换语言。只需两步,瞬间切换语言。demo地址
1.设置指定语言
2.刷新界面
这里简单解释下NSLocalizedStringFromTableInBundle(key, tbl, bundle, comment)
的用法。
key:你输入的字符串
@"Localizable":文件名
bundle:文件所在bundle
nil:描述(可忽略)
NSLocalizedStringFromTableInBundle(key, @"Localizable", bundle, nil);
每个语言都有一个.lproj的bundle。比如日语是jq.lproj,德语是de.lproj。我需要我可以手动选择语言,选择完之后,每次都去指定的国际化文档中读取字符串。
强调一哈GitHub demo地址! demo