Android多国语言转换Excel及Excel转换为string详解
作者:夏至的稻穗 发布时间:2022-10-30 08:07:02
前言
在实际的开发中,当我们完成了一个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 的繁体字符了。
来源:https://juejin.im/post/5c37120551882525a50bc0dc


猜你喜欢
- C语言 数据整除判断题目C语言编程实现——输入一个整数,判断它能否被 3,5,7 整除,并输出以下信
- 最近由于项目需求,项目中需要实现一个WebSSH连接终端的功能,由于自己第一次做这类型功能,所以首先上了GitHub找了找有没有现成的轮子可
- C语言字符串大小比较#include <stdio.h>#include <string.h>int fun(cha
- 概览Android 平台包含蓝牙网络堆栈支持,此支持能让设备以无线方式与其他蓝牙设备交换数据。应用框架提供通过 Android Blueto
- 前言说真的,平常看源码都是自己看完自己懂,很少有写出来的冲动。但是在写算法的时候,经常用到java中各种集合,其中也比较常用到remove方
- 在 Servlet/Jsp 项目中,如果涉及到系统任务,例如在项目启动阶段要做一些数据初始化操作,这些操作有一个共同的特点,只在项目启动时进
- 一直以来做对外的接口文档都比较原始,基本上都是手写的文档传来传去,最近发现了一个新玩具,可以在接口上省去不少麻烦。swagger是一款方便展
- 开发环境:IntelliJ IDEA 2019.2.2Spring Boot版本:2.1.8一、发布REST服务1、IDEA新建一个名称为r
- 1.Hibernate中的多表查询 1.1SQL中的多表查询【交叉连接】select * from A,B;【内连接】显示内连接:
- 存储结构二叉树是一种特殊的树,给个结点最多有两个子节点,并且子节点有左右之分,并且兄弟,父亲,孩子可以很方便的通过编号得到1.在二叉树的第i
- 一、项目简述本系统功能包括:通知公告,老人管理,护工管理,问答管理等等功能。二、项目运行环境配置: Jdk1.8 + Tomcat8.5 +
- spring 多文件配置:1、properties文件2、YAML文件一、properties文件在 Spring Boot 中, 多环境配
- 注册中心呢 就是springcloud的一个核心组件 所有微服务的基石 微服务的核心思想就是分布式 所有的服务分开管理 但这些服务分开后该如
- 经常进行图形界面设计的编程者肯定知道,控件在设计的时候才能随意拖动,运行的时候就不能拖动了.你肯定会问:运行时能随意拖动控件吗?答案是肯定的
- 这篇文章主要介绍了spring boot如何加入mail邮件支持,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值
- 顺序语句顺序顾名思义就是程序自上而下执行public class User { public static voi
- 一、项目运行环境配置:Jdk1.8 + Tomcat8.5 + mysql + Eclispe(IntelliJ IDEA,Eclispe,
- 1、什么是 生命周期?Maven 强大的原因是有一个十分完善的生命周期,生命周期可以理解为项目构建步骤的集合,它定义了各个构建环节的执行顺序
- Java 8新增了LocalDate和LocalTime接口,为什么要搞一套全新的处理日期和时间的API?因为旧的java.util.Dat
- 本文实例讲述了C#实现把图片转换成二进制以及把二进制转换成图片的方法。分享给大家供大家参考,具体如下:private void button