国际化多语言转换工具

方案介绍

当项目涉及到多语言国际化的时候,我们需要把string.xml翻译成其他国家语言,一般翻译公司会需要excel等格式文档,可是这翻译文件实在是不好整,幸好有大神做了个py工具实现 string文件转excel.

目前有两种方式:

  1. Localizable.strings2Excel (下载源码,然后在终端输入命令跑脚本进行文件转换)
    作者:CatchZeng,https://github.com/CatchZeng/Localizable.strings2Excel

  2. LocalizableTool(可视化工具,支持strings.xml 与 Excel 互相转换)
    作者:ParfoisMeng,https://github.com/ParfoisMeng/LocalizableTool
    这个图形化可视化工具的脚本代码也是来自CatchZeng大神的Localizable.strings2Excel项目。

方案1 – Localizable.strings2Excel 脚本工具

支持:

  • iOS 本地化文件(.strings)与 Excel 互相转换
  • Android 的 strings.xml 与 Excel 互相转换
  • iOS 本地化文件(.strings)转换成 android 的 strings.xml 文件

特性

  • 支持将 iOS strings 文件转换成 excel 文件
  • 支持将 excel 文件转换成 iOS strings 文件
  • 支持将 android xml 文件转换成 excel 文件
  • 支持将 excel 文件转换成 android xml 文件
  • 支持将 iOS strings 文件转换成 android xml 文件

当前版本

V1.0.0

所需环境

1.检查 python 版本

python 版本必须是 2.x

python --version
Python 2.7.10

2.检查 pip(python 包管理器)

pip --version
pip 19.0 from /Library/Python/2.7/site-packages/pip (python 2.7)

如果没有安装 pip

curl https://bootstrap.pypa.io/pip/2.7/get-pip.py -o get-pip.py
sudo python get-pip.py

3.安装 pyexcelerator

sudo pip install pyExcelerator

4.安装 xlrd

sudo pip install xlrd

使用说明

1. 下载Localizable.strings2Excel 源码到电脑

下载地址:https://github.com/CatchZeng/Localizable.strings2Excel
下载好源码后,切换到该项目目录下打开命令行终端。

2.将 iOS strings 文件转换成 excel 文件

python python/Strings2Xls.py -f examples/ios/ -t examples/output

执行结果:

Start converting Convert examples/ios/ successfully! you can see xls
file in examples/output/strings-files-to-xls_20190129_165830

3.将 excel 文件转换成 iOS strings 文件

python python/Xls2Strings.py -f examples/output/strings-files-to-xls_20190129_165830/ -t examples/output/

执行结果:

options: {‘fileDir’:
‘examples/output/strings-files-to-xls_20190129_165830/’, ‘targetDir’:
‘examples/output/’, ‘excelStorageForm’: ‘multiple’, ‘additional’: None
}, args: []

Start converting Convert
examples/output/strings-files-to-xls_20190129_165830/ successfully!
you can see strings file in
examples/output//xls-files-to-strings_20190129_171146

4.将 android xml 文件转换成 excel 文件

python python/Xml2Xls.py -f examples/android/ -t examples/output

执行结果

5.将 excel 文件转换成 android xml 文件

python python/Xls2Xml.py -f examples/output/xml-files-to-xls_20220217_101250/ -t examples/output/

执行结果:

6.将 iOS strings 文件转换成 android xml 文件

python python/Strings2Xml.py -f examples/ios/en.lproj/ -t examples/output/

执行结果:

options: {‘fileDir’: ‘examples/ios/en.lproj/’, ‘targetDir’:
‘examples/output/’, ‘additional’: None}, args: [] Creating android
file:examples/output//strings-files-to-xml_20190129_164122/Localizable.xml
Creating android
file:examples/output//strings-files-to-xml_20190129_164122/InfoPlist.xml
Convert successfully! you can see xml files in
examples/output//strings-files-to-xml_20190129_164122

方案2 – Localizable Tool 使用说明

Android 开发国际化可视化工具,可将 strings.xml 与 Excel 互相转换。

  1. 核心 Python 脚本代码来自 Github 开源项目 Localizable.strings2Excel ,在其基础上做了一定的修改以适配 Python3。
  2. 可视化界面使用 PyQt5 编写。
  3. 本工具的开发是边学边写,所以内部代码写的很渣。

下载:releases


页面说明

上图各标识点说明:

  1. 选择是 Xml2Xls(strings.xml转Excel) 还是 Xls2Xml(Excel转strings.xml) ,默认为前者。
  2. 选择源文件夹。如果是 Xml2Xls 则选择来源的 Xml 相关文件夹路径(应包含 values/values-en 等文件夹),如果是 Xls2Xml 则选择来源的 Excel 相关文件夹路径(应包含一个或多个文件夹)。
  3. 选择目标文件夹。如果是 Xml2Xls 则选择生成目标 Excel 的路径,如果是 Xls2Xml 则选择生成目标 Xml 的路径。
  4. 选择 Single(单文件) 还是 Multiple(多文件) 模式。Xml2Xls 在 Single 模式下会生成以语种为列名的单个 Excel 文件,在 Multiple 模式下会生成对应语种的多个 Excel 文件;Xls2Xml 与 Xml2Xls 对应,Single 模式需要选择以语种为列名的单个 Excel 文件,Multiple 需要选择对应语种的多个 Excel 文件。
  5. 生成的脚本语言。使用此可视化工具时可以不用关注。
  6. 复制 5 中的脚本语言到剪贴板。使用此可视化工具时可以不用关注。
  7. 执行转换。

结论

  • 第一个方案 功能最全,iOS和Android都支持,但是上手稍微复杂一点,需要下载源码并且在终端输命名跑脚本。iOS多语言文件转换推荐方案一
  • 第二种是图形化软件,傻瓜式操作,但是只支持安卓的 string和excel互转。安卓的多语言文件转换推荐方案二

app国际化多语言strings.xml 与 Excel 互相转换的工具,支持iOS和Android相关推荐

  1. Flutter 淘宝 App,支持 iOS、Android

    GZXTaoBaoAppFlutter 项目地址:GanZhiXiong/GZXTaoBaoAppFlutter  简介:Flutter 淘宝 App,支持 iOS.Android 更多:作者   提 ...

  2. 安卓国际化之strings.xml导入Excel表格及从excel恢复到Strings.xml中

    APP国际化已经是一个比较常用的需求了,当然中文部分身为开发人员自己就能三两下搞定,如果是其他语种...emm,我们身为开发人员的是不会越俎代庖的(关键是懒其实是不会),还是交给专业人士好了,哈哈哈. ...

  3. 安卓国际化之strings.xml导入Excel表格

    APP国际化已经是一个比较常用的需求了,当然中文部分身为开发人员自己就能三两下搞定,英文部分如果要求不严格的话,自己也能七八下解决.但是,如果是其他语种...emm,我们身为开发人员的是不会越俎代庖的 ...

  4. android app 多国语语言快速翻译

    android app 多国语语言快速翻译 在excel中输入A2单元格输入 设置 用公式提取出app_name: =IFERROR(IF(ISBLANK(A2),"",MID(A ...

  5. App自动化元素定位不到?别慌,3大工具帮你解决

    在日常的android app自动化测试工作当中,很多朋友在元素定位时,会遇到以下类似的报错: 然后会来问,这是啥情况? 一般情况下,都会送上以下亲切的关怀: 1)adb能识别到设备吗? 2)设备有被 ...

  6. 网易大神app ios和android,网易大神app是干嘛的?网易大神有什么用?

    网易大神app是网易最近刚推出的一个玩家社区软件,让小伙伴在这个软件中交流的一个软件,很多小伙伴不是很清楚的这个软件是干嘛的.今天小编就为大家详细的介绍下这个软件的具体情况! 网易大神是什么? 「网易 ...

  7. android app在线商城,ECMobile:只需一步即可生成iOS或Android原生APP商城应用

    App 快速开发服务已经屡见不鲜,国内有简网 App 工场.道有道.ECMobile这么简洁--你只需将一个集成过的文件夹放进ECShop(一款被广泛使用的开源 B2C 网店)安装根目录,无需任何配置 ...

  8. android生成ios程序,ECMobile:只需一步即可生成iOS或Android原生APP商城应用

    App 快速开发服务已经屡见不鲜,国内有简网 App 工场.道有道.ECMobile这么简洁--你只需将一个集成过的文件夹放进ECShop(一款被广泛使用的开源 B2C 网店)安装根目录,无需任何配置 ...

  9. Html5+APICloud插件支持IOS和安卓原生APP开发

    支持IOS和Android的真机或模拟机调试,发布调试版本,发布应用安装包等,即使只会前端的人员也可以做出一个像模像样的APP应用. 插件下载地址:http://www.apicloud.com/de ...

  10. 记APP实现多语言(国际化)过程,兼容Android 8.0以上

    此文属于finddreams的原创博客,转载请注明出处:http://blog.csdn.net/finddreams/article/details/78470768   APP为什么要做多语言? ...

最新文章

  1. Py:Python实现好莱坞《黑客》影视中珠帘似吊炸天的华丽动态加密页面
  2. Linux中关于 su 和 su - 的区别
  3. 清华计算机系上热搜!近9成优秀毕业生放弃留学,前50名41人留校深造
  4. 迁移学习 Transfer Learning—通俗易懂地介绍(常见网络模型pytorch实现)
  5. conda内部python卸载了_使用conda安装软件包如何更改我的python版本并删除co​​nda?...
  6. [再学Python] - 5 - 布尔操作符
  7. 一款开源且功能强大的C#甘特图控件.NET Winforms Gantt Chart Control
  8. python docx 表格复制粘贴_python Word 表格转 Excel
  9. linux系统中文件不同颜色的含义
  10. 小学英语之拯救小学生 V1.0 名词单复数变化规则
  11. linux 销毁 文件,彻底删除Linux文件的方法汇总
  12. AGV调式之软件开发—API调用
  13. git push简介
  14. 我是漂移王-说明介绍
  15. java protoc工具_protoc 编译工具
  16. python之pythonnet
  17. c语言怎么取一个数的平均值,c语言如何求n个数的平均值?
  18. kernel power domain分析
  19. mac电脑idea配置tfs并连接
  20. 为啥训练的时候要分batch

热门文章

  1. Java数据结构与算法——图
  2. 从入门到高级Java书籍推荐
  3. 简单的python画图代码_常见的python画图简单代码
  4. Java学习思维导图整理
  5. 吴恩达机器学习课程笔记
  6. modelsim教程
  7. Java程序设计以及实验指导 实验笔记
  8. 使用密码字典暴力破解加密rar、zip压缩文件
  9. 【C++】图书管理系统(含全部源代码)
  10. 职场怪谈:技术面试过了一般HR多久联系?