Android多国语言转换Excel及Excel转换为string详解

所属分类: 软件编程 / Android 阅读数: 45
收藏 0 赞 0 分享

前言

在实际的开发中,当我们完成了一个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 的繁体字符了。

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对脚本之家的支持。

更多精彩内容其他人还在看

使用ViewPager实现android软件使用向导功能实现步骤

现在的大部分android软件,都是使用说明,就是第一次使用该软件时,会出现向导,可以左右滑动,然后就进入应用的主界面了,下面我们就实现这个功能
收藏 0 赞 0 分享

android在异步任务中关闭Cursor的代码方法

android在异步任务中如何关闭Cursor?在我们开发应用的时候,很多时候会遇到这种问题,下面我们就看看代码如何实现
收藏 0 赞 0 分享

Android自定义桌面功能代码实现

android自定义桌面其实很简单,看一个例子就明白了
收藏 0 赞 0 分享

android将图片转换存到数据库再从数据库读取转换成图片实现代码

有时候我们想把图片存入到数据库中,尽管这不是一种明智的选择,但有时候还是不得以会用到,下面说说将图片转换成byte[]数组存入到数据库中去,并从数据库中取出来转换成图像显示出来
收藏 0 赞 0 分享

TextView显示系统时间(时钟功能带秒针变化

用System.currentTimeMillis()可以获取系统当前的时间,我们可以开启一个线程,然后通过handler发消息,来实时的更新TextView上显示的系统时间,可以做一个时钟的功能
收藏 0 赞 0 分享

Android用ListView显示SDCard文件列表的小例子

本文简单实现了用ListView显示SDCard文件列表,目录的回退等功能暂不讨论,获取文件列表,files即为所选择目录下的所有文件列表
收藏 0 赞 0 分享

Android拦截外拨电话程序示例

这篇文章主要介绍了Android拦截外拨电话的示例,大家参考使用吧
收藏 0 赞 0 分享

通过Html网页调用本地安卓(android)app程序代码

如何使用html网页和本地app进行传递数据呢?经过研究,发现还是有方法的,总结了一下,大致有一下几种方式
收藏 0 赞 0 分享

android Textview文字监控(Textview使用方法)

以手机号充值为例,当用户输入最后一位数时候,进行汇率的变换,本文就实现类似这样的功能
收藏 0 赞 0 分享

Android ListView长按弹出菜单二种实现方式示例

这篇文章主要介绍了Android ListView长按弹出菜单的方法,大家参考实现
收藏 0 赞 0 分享
查看更多