【iOS 国际化】如何把国际化时需要3天的工作量缩减到10分钟

痛点

如果 APP 要求国际化,其实添加国际化文字是很头痛的一件事。对于一个大型
APP 来说,更是麻烦,而且工作量很大。通常替换国际化文字时,产品会给我们一个 Excel 表:

excel.png

我们需要做的事,就是把 Excel 表中的文字,添加到下面各个文件中:

locailzable.png

如果有 2000 条翻译,有 8 国语言需要添加,可想工作量有多大。

解决办法

我们目前手里只有汉语国际化文件,这里称为 source.strings 文件,还有一份全部翻译好的文件,这里称为 language.xlxs

source.strings 文件中的内容如下:

"5-6_event" = "您已忽略了该事件";
"5-6_customer" = "账号已被封停";
"5-6_version" = "请更新版本后再申请提现";
"5-6_update" = "您的当前版本过低,请立即升级";

language.xlxs 文件中的内容如下:

屏幕快照 2017-08-24 下午2.14.14.png

我们想做的就是把 language.xlxs 文件的内容转换成类似:

"5-6_event" = "You have missed this event";
"5-6_customer" = "account stop,please contact Customer Services";
"5-6_version" = "Please update new version before submitting withdrawal application";
"5-6_update" = "Please update to new version, your current version is outdated";
"5-6_event" = "귀하께서 해당사항 홀시 ";
"5-6_customer" = "계좌번호가 사용정지되어, 애프터 서비스와 연락할것. 
"5-6_version" = "새로운 버전으로 갱신후에 다시 인출 신청할 것. ";
"5-6_update" = "귀하의 현재 버번이 너무 낮아, 즉시 승급할것. ";

这样的文件,然后把它导入到对应的国际化文件中

locailzable.png

这样就算完成了。

观察发现,这些都有规律可循,我们完全可以使用一个工具来做这些事,而不是手动。

TCZLocalizableTool

TCZLocalizableTool 可以帮助我们完成这些事,当然某些地方可能需要手动改一下。 如果觉得能帮到你,给个星星支持一下。它主要原理为:

process.png

以汉语为例说明一下 TCZLocalizableTool 工作流程:

  • source.strings 其实是一个 plist 文件,可以把它转换成 key-value 的形式,这样我们可以拿到自己定义的 key 和 value;
  • 解析 Excel 文件 language.xlxs 一般需要把它转换成 language.csv 文件;
  • 读取 language.csv 文件中的每个值的时候,根据 source.strings 转换后的字典,可以找到对应的 key 和 value;
  • 把结果导出为 csv 文件。

最终结果如图:

Simulator Screen Shot 2017年8月24日 下午2.49.39.png

推荐阅读

搭建微信小程序服务器
Promise
微信iOS数据库是什么样的

===== 我是有底线的 ======
喜欢我的文章,欢迎关注我的新浪微博 Lefe_x,我会不定期的分享一些开发技巧



作者:Lefe
链接:https://www.jianshu.com/p/2c77f0d108c3
來源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值