开发Android studio 插件:项目国际化与Excel文件双向导入,并支持在线翻译。

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了开发Android studio 插件:项目国际化与Excel文件双向导入,并支持在线翻译。相关的知识,希望对你有一定的参考价值。

参考技术A 当一个项目从非国际化(只有单言语类型)转向国际化(多语言支持)亦或项目过于庞大Module数量众多每期迭代都需要从各个Module抽取和填补翻译时就会有了个很烦恼的事情,这么多的语言资源靠手动整理那得到猴年马月,等整理完也练就了一双麒麟臂了。(以上纯属抱怨可忽略)😄

言归正传,如同以上机械式工作作为一名程序猿当然是交给程序去处理喽,所以需要写一个能够遍历读取识别并提取项目中的语言资源文件,并将资源导出成Excel文件以方便交给其他工具人(手动狗头)进行翻译的脚本,翻译完成后还需要将Excel文件转换成项目中的资源格式并原路存储进去。为了更加方便的在各个项目中使用当然还是把上面写的脚本套上Intellij plugin的皮囊一起食用更佳。

选择模式

点击OK后开始扫描项目中的资源。

导出:导出项目中国际化翻译资源到Excel表格
等待扫描结束后开始配置参数,参数会根据扫描项目的结果自动列出一存在的module和语言类型。可自行选择需要导出的module和语言类型。

配置完成点击OK,等待导出结果。

导入:将Excel表格中的资源导入到项目中
等待扫描结束后开始配置参数

<font color='red'>Tip:默认语言语种指的是values/strings.xml中语言类型</font>

点击OK等待导入完成即可。

最后效果如下:

插件和脚本源码地址: https://github.com/LucasDevelop/LangTransExcel

如何使用Android Studio开发Gradle插件

Gradle插件开发

Gradle插件是使用Groovy进行开发的,而Groovy其实是可以兼容Java的。Android Studio其实除了开发Android App外,完全可以胜任开发Gradle插件这一工作,下面来讲讲具体如何开发。

首先,新建一个Android项目。

之后,新建一个Android Module项目,类型选择Android Library。

将新建的Module中除了build.gradle文件外的其余文件全都删除,然后删除build.gradle文件中的所有内容。

在新建的module中新建文件夹src,接着在src文件目录下新建main文件夹,在main目录下新建groovy目录,这时候groovy文件夹会被Android识别为groovy源码目录。除了在main目录下新建groovy目录外,你还要在main目录下新建resources目录,同理resources目录会被自动识别为资源文件夹。在groovy目录下新建项目包名,就像Java包名那样。resources目录下新建文件夹META-INF,META-INF文件夹下新建gradle-plugins文件夹。这样,就完成了gradle 插件的项目的整体搭建,之后就是小细节了。目前,项目的结构是这样的。

打开Module下的build.gradle文件,输入

apply plugin: 'groovy'
apply plugin: 'maven'

dependencies
compile gradleApi()
compile localGroovy()


repositories
mavenCentral()
12345678910111234567891011

下面我们在包名下新建一个文件,命名为PluginImpl.groovy,注意有groovy后缀,然后在里面输入,注意包名替换为你自己的包名。

package cn.edu.zafu.gradle

import org.gradle.api.Plugin
import org.gradle.api.Project

public class PluginImpl implements Plugin<Project>
void apply(Project project)
project.task('testTask') <<
println "Hello gradle plugin"


123456789101112123456789101112

然后在resources/META-INF/gradle-plugins目录下新建一个properties文件,注意该文件的命名就是你只有使用插件的名字,这里命名为plugin.test.properties,在里面输入

implementation-class=cn.edu.zafu.gradle.PluginImpl11

注意包名需要替换为你自己的包名。

这样就完成了最简单的一个gradle插件,里面有一个叫testTask的Task,执行该task后会输出一段文字,就像当初我们输出HelloWorld一样。

参考技术A 基于Gradle的构建支持; Android特定重构和快速修复; 提示工具更好地对程序性能、可用性、版本兼容和其他问题进行控制捕捉; 支持ProGuard和应用签名功能; 自带布局编辑器,可以让自己拖放UI组件,并在多个屏幕配置上预览布局,等等。

以上是关于开发Android studio 插件:项目国际化与Excel文件双向导入,并支持在线翻译。的主要内容,如果未能解决你的问题,请参考以下文章

Android Studio修行手册,快速涨薪-小提示单词提醒国际化代码折叠和代码模板

如何使用Android Studio 开发Gradle插件

Android Studio 插件开发1创建标题 通知等

如何使用Android Studio开发Gradle插件

android studio一键生成快速开发实现语言国际化

拥抱 Android Studio 之五:Gradle 插件开发