美文网首页
IOS 国际化自动配置

IOS 国际化自动配置

作者: Lingday | 来源:发表于2020-09-08 17:57 被阅读0次

    此处只有生成国际化文件的步骤,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

    相关文章

      网友评论

          本文标题:IOS 国际化自动配置

          本文链接:https://www.haomeiwen.com/subject/ewjjektx.html