IOS 国际化自动配置

2020-09-08  本文已影响0人  Lingday

此处只有生成国际化文件的步骤,Project中需要增加语言的操作,不知道的自行百度;

1、批量替换字符串

使用正则表达式:@"["]*[\u4E00-\u9FA5]+["\n]*?" 批量查找项目中的中文字符;

注意:查找条件设置为:

​​

2、批量替换

使用正则表达式:NSLocalizedString($0, nil) 批量替换项目中的中文;

3、自动生成多语言文件(使用xcode自带命令行)

然后我们遍历所有的子目录文件,去生成Localizable.strings,命令如下:

   find ./ -name *.m -print0 | xargs -0 genstrings -o en.lproj

基本都说genstrings -o en.lproj *.m就可以生成Localizable.strings,但是这个命令只能生成当前目录的,并没有遍历子目录,所以基本没用

  这样系统就会把子目录用到NSLocalizedString函数的key值都写到文件里。

需要注意的是,NSLocalizedString(key,comment),用这个函数时,key不能是宏定义或者一些动态字符串,否则用上面的命令会报错。

 今天重新回来做国际化,发现上面的命令是只能遍历.m文件的,但实际发现经常有字符串放在了.h文件,所以应该用如下命令去遍历整个.h和.m文件,特意来加上:

   find . \( -name '*.m' -o -name '*.h' \) -print0 | xargs -0 genstrings -o en.lproj

4、在项目文件中找到生成的

​​

将en.lproj 和 zh-Hans.lproj 文件夹拖入工程项目中就可以了;

5、最后就是翻译的事;

注:在此期间如果出现Error:

xcode-select: error: tool 'xcodebuild' requires Xcode, but active developer directory '/Library/Developer/CommandLineTools' is a command line tools instance

可以执行:sudo xcode-select -s /Applications/Xcode.app/Contents/Developer 来解决

或者重新安装xcode

另外Excel转化:https://github.com/CatchZeng/Localizable.strings2Excel

学习收藏 原:https://www.cnblogs.com/zhanghouqi/p/11098964.html

上一篇下一篇

猜你喜欢

热点阅读