Android多国语言转换Excel及Excel转换为string详解
前言
在实际的开发中,当我们完成了一个apk,一般都是英语和中文简体这两种语语言,如果发布了,则需要把字符转换给翻译公司,让他们帮忙翻译,一般提供一个 Excel 表格,如下:
当翻译完成之后,我们希望能把它快速转换成 value-xx 文件下对应的 string 或者 arrays ,如:
我只要复制粘贴即可。当然网上也有很多大神用 Python 或者其他语言写了,但是我们用 Android 的,所以肯定用 Java 了。于是我写了个 EasyTransLib 用来方便翻译。因为 studio 对 pc 端的支持并友好,所以这个工程是用 eclipse 开发。
工程如下:https://github.com/LillteZheng/EasyTranalte
String 转换成 Excel
首先,在工程的根目录,写一个文件夹,比如 Test:
values 比较简单,就一个 string 和 arrays ,目前也就支持这两个。
其中 strings 如下:
<?xml version="1.0" encoding="utf-8"?
<resources
<string name="app_name" OtaService</string
<string name="anim_time" 200</string
<string name="system_update" System upgrade</string
<string name="check_new_version" Find a new version. Download it?</string
</resources
arrays 如下:
<?xml version="1.0" encoding="utf-8"?
<resources
<string-array name="test_array"
<item one</item
<item two</item
<item three</item
</string-array
<string-array name="test2_array"
<item hour</item
<item min</item
<item second</item
</string-array
</resources
开始转换
找到工程下的 WriteXmlToXls
需要添加 文件夹的名字:
效果如下 gif 图:
刷新一下,就会看到生成 string 和 arrays strings
arrays
arrays 的样式丑了点,但这都是为了接下来住转换 strings 准备的。
Excel 转 strings.xml 和 arrays
上面,我们已经把 strings 和 arrays 转换成 Excel 了,那么接下来就是对 Excel 传承我们最喜欢 的string 和 arrays 了。 把 test.xlsx 的 strings 添加多几个字符,和新增一个中文繁体的
其中首行的 国家名称必须写,否则无法识别成对应的文件夹的名称
arrays 也加一个:
然后把 test.xlsl 放在根目录下,并找到 ReadXlsToXml 这个类
ReadXlsToXml 可以配置一些信息:
看下面的 动图:
按 F5 刷新一下,就可以看到 也生成了 value-zh-rTW 的繁体字符了。
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对ZaLou.Cn的支持。
- 机器学习(四)——梯度下降算法解释以及求解
- 在Windows上运行单节点的Cassandra
- Mono技术规格
- 如何站在使用者的角度来设计SDK-微信公众号开发SDK(消息处理)设计之抛砖引玉
- 机器学习(三)——k-近邻算法基础
- 利用Windows性能计数器(PerformanceCounter)监控
- zepto 基础知识(1)
- [C#7] 1.Tuples(元组)
- 防止“rm-rf/”误删除的5种方法
- 基于DotNetOpenAuth实现OpenID 服务提供者
- .NET 和Java 对象 XML序列化 库WOX
- jquery mobile 移动web(6)
- IIS6 间歇性的发生500错误的解决方法
- 产品之上的世界观
- java教程
- Java快速入门
- Java 开发环境配置
- Java基本语法
- Java 对象和类
- Java 基本数据类型
- Java 变量类型
- Java 修饰符
- Java 运算符
- Java 循环结构
- Java 分支结构
- Java Number类
- Java Character类
- Java String类
- Java StringBuffer和StringBuilder类
- Java 数组
- Java 日期时间
- Java 正则表达式
- Java 方法
- Java 流(Stream)、文件(File)和IO
- Java 异常处理
- Java 继承
- Java 重写(Override)与重载(Overload)
- Java 多态
- Java 抽象类
- Java 封装
- Java 接口
- Java 包(package)
- Java 数据结构
- Java 集合框架
- Java 泛型
- Java 序列化
- Java 网络编程
- Java 发送邮件
- Java 多线程编程
- Java Applet基础
- Java 文档注释
- Linux下使用 github+hexo 搭建个人博客03-hexo配置优化
- 接口测试框架实战(五) | 测试数据的数据驱动
- Linux下使用 github+hexo 搭建个人博客04-next主题优化
- Linux下使用 github+hexo 搭建个人博客05-next主题接入评论系统 来必力畅言Valine获取 livere_uid在Next主题配置浏览器访问数据
- Linux下使用 github+hexo 搭建个人博客06-next主题接入数据统计
- egg.js 动态转发代理
- Linux下使用 github+hexo 搭建个人博客07-next主题接入搜索和站点管理
- Linux curl 命令详解
- Linux curl 常用示例
- Linux curl 表单登录或提交与cookie使用
- Rsync 服务部署与参数详解
- Linux 查看磁盘IO并找出占用IO读写很高的进程
- Linux tcpdump 命令详解与示例
- 手动搭建Hadoop分布式集群
- Ansible-安装配置