前言
对于有过做国际化经历的小伙伴,语言本地化是一个非常恶心的过程,产品给了相应的语言文件,自己去转成iOS中的strings
文件这个过程就很繁琐且机械,上github上找到了⭐️⭐️比较多的一个工具,Excel和strings进行相互转化的一个脚本。
工具链接
踩坑
(看生效的截图直接滑到最后)
关于这个工具的使用在文件ReadMe描述的很详细,首先是环境的配置:
按照这个步骤进行配置就好了。
然后下面还给了使用说明,我主要是从Excel转到Strings
,使用说明如下:
于是我照着这个操作:
这个操作只给我生成了当前时间戳的一个文件夹,并没有相应的strings
文件生成。
我还以为是自己粗心,检查了好几遍 -f
和-t
下面的路径是不是有问题。
我鼓捣了一天,都要放弃了!甚至想找找别的工具代替下。我确实也找了,也是找了之后给我了启发。
我新找到的python
脚本,它里面指定了要用名字为language
命名文件名,因为python
代码里导入的文件名是写死的,我就想,咦那那个是不是也是这问题。然后就找到Localizable.strings2Excel
的那个示例文件:
然后就先试了下Strings转Xls
,执行了:
然后又仔细看了下那个说明,看它好像只到了具体文件名的目录下,于是就改成到它的目录下,改来改去,最终生效
了的路径如下:
也就是他这个路径下要有名为xx.iproj
的这个文件夹类型,到这个文件夹xx.iproj
的上一层路径,然后去执行它提供的这个代码就好了!
我用同样的方法进行Xls转Strings
的处理,最终成功截图:
注意:xls
文件名称要是国际化语言的那个简称,比如英文是en
,自己命名成别的名称,我试了也不生效,生成的只有文件夹。或者自己去改下工具的python文件里面的代码。
以上为昨日深坑,搞了一下午,逼得我差点去学个python
。
总结
1、Strings转Xls时,-f 后面的路径是xx.iproj
的这个文件夹的上一级目录。并且.iproj
的命名最好是根据示例走,是一定可以转出来的。-t 后面的路径没要求,是一个目录就行。
2、Xls转Strings时,Xls的命名要是国际化语言的那个简称,比如英文是en
,自己定义成别的名称,转换不生效。