最近接手了一个新的项目,是个纯中文项目,需要把项目里面的中文全部替换成英文.
由于项目不熟悉,如果用手机一边使用一边改,遇到哪里改哪里,虽然也是一种办法,但是比较低效,而且可能会遗漏掉一些地方.
所以,最好的办法使用正则表达式搜索出整个项目使用中文字符串的地方,针对性的修改
搜索项目Objective-C代码中的中文字符串
@"[^"]*[\u4E00-\u9FA5]+[^"\n]*?"
搜索项目swift代码中的中文字符串
"[^"]*[\u4E00-\u9FA5]+[^"\n]*?"

关于如何进行多语言国际化,网上已经有很多文章了,这里不多赘述,就简单记录一下流程吧.
- 1.使用Xcode 创建Localizable.string 和 InfoPlist.strings 文件,分别对应项目中多语言和系统弹框多语言.
注意文件名是苹果规定死的,不能随便写

-
2.在 Project -> Info -> Localizations 下面添加多语言
-
3.分别点击Localizable.string 和 InfoPlist.strings ,在Xcode 右侧工具栏Localization 选项中勾选多语言
-
4.对多语言文件进行配置和代码里面把字符串改成多语言适配的方法
遇到的坑
项目目前支持中文和英文,要求无论手机使用任何语言APP默认使用英文,
我明明在代码中做了各种配置
但是遇到情况是: App第一次安装启动显示的是中文,之后就正常显示英文了
最终摸索出解决办法是:
- 1.在项目Info.plist文件增加两个key
Localized resources can be mixed 值为 YES
Localizations 数组第一个值是 English


-
2.修改工程的Edite Scheme ,option下APP Language 为English
网友评论