app国际化多语言strings.xml 与 Excel 互相转换的工具,支持iOS和Android
国际化多语言转换工具
方案介绍
当项目涉及到多语言国际化的时候,我们需要把string.xml翻译成其他国家语言,一般翻译公司会需要excel等格式文档,可是这翻译文件实在是不好整,幸好有大神做了个py工具实现 string文件转excel.
目前有两种方式:
Localizable.strings2Excel (下载源码,然后在终端输入命令跑脚本进行文件转换)
作者:CatchZeng,https://github.com/CatchZeng/Localizable.strings2ExcelLocalizableTool(可视化工具,支持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 互相转换。
- 核心 Python 脚本代码来自 Github 开源项目 Localizable.strings2Excel ,在其基础上做了一定的修改以适配 Python3。
- 可视化界面使用 PyQt5 编写。
- 本工具的开发是边学边写,所以内部代码写的很渣。
下载:releases
页面说明
上图各标识点说明:
- 选择是 Xml2Xls(
strings.xml
转Excel) 还是 Xls2Xml(Excel转strings.xml
) ,默认为前者。 - 选择源文件夹。如果是 Xml2Xls 则选择来源的 Xml 相关文件夹路径(应包含 values/values-en 等文件夹),如果是 Xls2Xml 则选择来源的 Excel 相关文件夹路径(应包含一个或多个文件夹)。
- 选择目标文件夹。如果是 Xml2Xls 则选择生成目标 Excel 的路径,如果是 Xls2Xml 则选择生成目标 Xml 的路径。
- 选择 Single(单文件) 还是 Multiple(多文件) 模式。Xml2Xls 在 Single 模式下会生成以语种为列名的单个 Excel 文件,在 Multiple 模式下会生成对应语种的多个 Excel 文件;Xls2Xml 与 Xml2Xls 对应,Single 模式需要选择以语种为列名的单个 Excel 文件,Multiple 需要选择对应语种的多个 Excel 文件。
- 生成的脚本语言。使用此可视化工具时可以不用关注。
- 复制 5 中的脚本语言到剪贴板。使用此可视化工具时可以不用关注。
- 执行转换。
结论
- 第一个方案 功能最全,iOS和Android都支持,但是上手稍微复杂一点,需要下载源码并且在终端输命名跑脚本。iOS多语言文件转换推荐方案一。
- 第二种是图形化软件,傻瓜式操作,但是只支持安卓的 string和excel互转。安卓的多语言文件转换推荐方案二。
app国际化多语言strings.xml 与 Excel 互相转换的工具,支持iOS和Android相关推荐
- Flutter 淘宝 App,支持 iOS、Android
GZXTaoBaoAppFlutter 项目地址:GanZhiXiong/GZXTaoBaoAppFlutter 简介:Flutter 淘宝 App,支持 iOS.Android 更多:作者 提 ...
- 安卓国际化之strings.xml导入Excel表格及从excel恢复到Strings.xml中
APP国际化已经是一个比较常用的需求了,当然中文部分身为开发人员自己就能三两下搞定,如果是其他语种...emm,我们身为开发人员的是不会越俎代庖的(关键是懒其实是不会),还是交给专业人士好了,哈哈哈. ...
- 安卓国际化之strings.xml导入Excel表格
APP国际化已经是一个比较常用的需求了,当然中文部分身为开发人员自己就能三两下搞定,英文部分如果要求不严格的话,自己也能七八下解决.但是,如果是其他语种...emm,我们身为开发人员的是不会越俎代庖的 ...
- android app 多国语语言快速翻译
android app 多国语语言快速翻译 在excel中输入A2单元格输入 设置 用公式提取出app_name: =IFERROR(IF(ISBLANK(A2),"",MID(A ...
- App自动化元素定位不到?别慌,3大工具帮你解决
在日常的android app自动化测试工作当中,很多朋友在元素定位时,会遇到以下类似的报错: 然后会来问,这是啥情况? 一般情况下,都会送上以下亲切的关怀: 1)adb能识别到设备吗? 2)设备有被 ...
- 网易大神app ios和android,网易大神app是干嘛的?网易大神有什么用?
网易大神app是网易最近刚推出的一个玩家社区软件,让小伙伴在这个软件中交流的一个软件,很多小伙伴不是很清楚的这个软件是干嘛的.今天小编就为大家详细的介绍下这个软件的具体情况! 网易大神是什么? 「网易 ...
- android app在线商城,ECMobile:只需一步即可生成iOS或Android原生APP商城应用
App 快速开发服务已经屡见不鲜,国内有简网 App 工场.道有道.ECMobile这么简洁--你只需将一个集成过的文件夹放进ECShop(一款被广泛使用的开源 B2C 网店)安装根目录,无需任何配置 ...
- android生成ios程序,ECMobile:只需一步即可生成iOS或Android原生APP商城应用
App 快速开发服务已经屡见不鲜,国内有简网 App 工场.道有道.ECMobile这么简洁--你只需将一个集成过的文件夹放进ECShop(一款被广泛使用的开源 B2C 网店)安装根目录,无需任何配置 ...
- Html5+APICloud插件支持IOS和安卓原生APP开发
支持IOS和Android的真机或模拟机调试,发布调试版本,发布应用安装包等,即使只会前端的人员也可以做出一个像模像样的APP应用. 插件下载地址:http://www.apicloud.com/de ...
- 记APP实现多语言(国际化)过程,兼容Android 8.0以上
此文属于finddreams的原创博客,转载请注明出处:http://blog.csdn.net/finddreams/article/details/78470768 APP为什么要做多语言? ...
最新文章
- Py:Python实现好莱坞《黑客》影视中珠帘似吊炸天的华丽动态加密页面
- Linux中关于 su 和 su - 的区别
- 清华计算机系上热搜!近9成优秀毕业生放弃留学,前50名41人留校深造
- 迁移学习 Transfer Learning—通俗易懂地介绍(常见网络模型pytorch实现)
- conda内部python卸载了_使用conda安装软件包如何更改我的python版本并删除co​​nda?...
- [再学Python] - 5 - 布尔操作符
- 一款开源且功能强大的C#甘特图控件.NET Winforms Gantt Chart Control
- python docx 表格复制粘贴_python Word 表格转 Excel
- linux系统中文件不同颜色的含义
- 小学英语之拯救小学生 V1.0 名词单复数变化规则
- linux 销毁 文件,彻底删除Linux文件的方法汇总
- AGV调式之软件开发—API调用
- git push简介
- 我是漂移王-说明介绍
- java protoc工具_protoc 编译工具
- python之pythonnet
- c语言怎么取一个数的平均值,c语言如何求n个数的平均值?
- kernel power domain分析
- mac电脑idea配置tfs并连接
- 为啥训练的时候要分batch