一种基于Git的Android应用国际化语言管理方法和系统技术方案

技术编号:28490423 阅读:8 留言:0更新日期:2021-05-19 22:11
一种基于Git的Android应用国际化语言管理方法和系统,包括如下步骤:1)管理员创建语言项目,并配置该语言项目对应的Android工程项目的Git仓库地址;2)管理员根据不同语言,将语言项目分配给翻译人员;3)根据Git仓库地址克隆的源代码,对Android工程项目的源代码中的文件夹进行扫描并解析资源文件,翻译人员根据解析后的文本进行翻译;4)检测翻译完成后的文本是否符合Android规范,若符合,则修改或创建资源文件,并将该资源文件合并和提交至Git仓库的源代码中;若否,则提醒翻译人员进行修改。本发明专利技术在保证Android项目源代码安全并且人员学习成本较低的情况下,提高国际化的效率并且降低人工出错的概率。并且降低人工出错的概率。并且降低人工出错的概率。

【技术实现步骤摘要】
一种基于Git的Android应用国际化语言管理方法和系统


[0001]本专利技术涉及移动通信领域,特别是指一种基于Git的Android应用国际化语言管理方法和系统。

技术介绍

[0002]Android是目前市场占有量最大的移动端系统之一。Android项目开发过程中为了避免源代码的泄露,在做国际化时仅能将res/values下的默认的语言资源文件提取出来提交翻译人员进行翻译成目标国家的语言后,再由开发人员将语言资源文件进行替换或者新建。其存在的缺陷如下:
[0003]1.APP随着功能需求的增加将会对功能进行模块化的划分,每个模块都会有一份默认的语言资源文件;并且每个国家都必须有一份语言资源文件;假设当前有N个功能模块,需要翻译的目标国家语言有M个,显然在第一次翻译时需要工程师从N个模块中复制出默认语言资源文件,翻译后需要新建文件N*(M-1)个文件,但是在第二次翻译时就有重复第一次操作或者工程师复制N*(M-1)个文件提交翻译(由于每次新加条目都会在各个国家的资源文件下添加默认语言描述)。
[0004]2.项目中后期的开发任务往往和翻译是同时进行的,存在开发增加、删除、改动资源文件的情况,则存在两边文件不统一的情况,翻译完成后需要人力进行同步。
[0005]3.由于开发过程中,资源文件中将会出现“%s”,”“%d”等占位符或者一定的规范,翻译人员在翻译过程中可能因为不熟悉,将其删除或者不符合规范,将会导致开发人员无法直接使用,需要人工对比默认资源进行审查。
[0006]上面三种情况导致需要大量时间或者人力来进行处理,并且无法降低人工核对出错的情况。

技术实现思路

[0007]本专利技术的主要目的在于克服现有技术中的上述缺陷,提出一种基于Git的Android应用国际化语言管理方法和系统,保证Android项目源代码安全并且人员学习成本较低的情况下,提高国际化的效率并且降低人工出错的概率。
[0008]本专利技术采用如下技术方案:
[0009]一种基于Git的Android应用国际化语言管理方法,其特征在于,预先设定,语言项目的Git操作有仅能处理在Android项目Git仓库中的develop分支或hotfix分支下的源代码,包括如下步骤:
[0010]1)管理员创建语言项目,并配置该语言项目对应的Android工程项目Git仓库地址;
[0011]2)管理员根据不同语言,将语言项目分配给翻译人员;
[0012]3)根据步骤1)的Git仓库地址克隆源代码,对Android工程项目的源代码中的文件夹进行扫描并解析资源文件,翻译人员根据解析后的文本进行翻译;
[0013]4)检测翻译完成后的文本是否符合Android规范,若符合,则修改或创建资源文件,并将该资源文件合并和提交至Git仓库的源代码中;若否,则提醒翻译人员进行修改。
[0014]优选的,所述步骤1)中,先验证管理员的权限,判断其是否有权限访问Git仓库。
[0015]优选的,所述步骤1)中,管理员创建语言项目时,选择翻译所处的是develop分支还是hotfix分支,以及需要翻译或修改语言的国家,添加任务的说明。
[0016]优选的,所述步骤3)中,先扫描Android项目中资源文件的文件夹得到记录文本内容的XML文件,对默认语言的XML文件进行解析进而得到默认语言的文本内容与对应的索引;根据默认语言的文本内容的索引,去解析其他国家资源文件加下的XML文件,进而得到当前支持的每个国家的文本内容,选择其中一个国家的文本内容作为参考语言进行翻译。
[0017]优选的,所述步骤4)中,当文本符合Android规范,再判断本地是否有该语言对应的资源文件,若有,则对该资源文件进行条目的新增、修改或删除;若否则创建资源文件,将文本的条目按规范添加至该资源文件中。
[0018]优选的,使用JGit库进行Git操作。
[0019]一种基于Git的Android应用国际化语言管理系统,其特征在于,包括如下模块:
[0020]用户模块,进行权限管理,在新建语言项目时验证管理员权限;
[0021]Git操作模块,进行Git操作,有仅能处理在Android项目Git仓库中的develop分支或hotfix分支下的源代码,包括克隆、合并或提交;
[0022]XML文件解析与生成模块,对Android工程项目的源代码中的文件夹进行扫描并解析资源文件,检测翻译完成后的文本是否符合Android规范,修改或创建资源文件;
[0023]翻译模块,提供图形化界面,用于供管理员新建或管理语言项目并输入对应Android项目的Git仓库地址,及供翻译人员进行翻译;
[0024]通知模块,用于分配语言任务及发送通知。
[0025]优选的,还包括有统计分析模块,其记录有任务生命周期,并将任务细化为文本条目/字数进行统计。
[0026]优选的,所述Git操作模块布置于内网,且通过ssh方式操作Git仓库。
[0027]由上述对本专利技术的描述可知,与现有技术相比,本专利技术具有如下有益效果:
[0028]1、本专利技术的方法和系统,利用Git操作处理在Android项目Git仓库中的develop分支或hotfix分支下的源代码;通过管理员创建语言项目并分配给翻译人员翻译,翻译完成后由系统检测是否符合Android规范,再将资源文件合并和提交至Git仓库的源代码中,翻译人员通过系统间接的使用Git管理文件,无需人力复制文件再替换以及维护多个版本的文件,提高翻译效率、降低出错率。
[0029]2、本专利技术的方法和系统,使用Git进行版本管理(查看历史,版本回退等)无需人为维护版本,并且避免了除语言资源文件外的源代码的泄漏;通过Git模块替代用户进行同步、合并、提交等操作,降低了非开发人员的学习成本。
[0030]3、本专利技术的方法和系统,项目的源代码仅在内网且与Git仓库的资源文件同步,确保文件统一,且翻译人员看到了只有通过XML解析后的文本,避免了除语言资源文件外的源代码的泄漏。
[0031]4、本专利技术的系统,设置有统计分析模块,详细记录每个任务的生命周期,通过Git模块可进行方便的回滚。
[0032]5、本专利技术的方法和系统,非开发人员仅通过图形化界面,进行创建项目、任务、分配人员、填写翻译等操作,不需要用户学习任何Git命令或者Android知识。
[0033]6、本专利技术方法和系统,根据Android资源文件规范,通过XML解析从需要翻译的文本中提取每个文本条目涉及到的规则,通过得到的规则进行校验翻译人员的翻译文本是否达标,节省了人工审查的时间,降低错误率。
附图说明
[0034]图1为本专利技术方法的主流程图;
[0035]图2为本专利技术方法的资源文件操作流程图;
[0036]图3为本专利技术系统模块图。
[0037]以下结合附图和具体实施例对本专利技术作进一步详述。...

【技术保护点】

【技术特征摘要】
1.一种基于Git的Android应用国际化语言管理方法,其特征在于,预先设定,语言项目的Git操作有仅能处理在Android项目Git仓库中的develop分支或hotfix分支下的源代码,包括如下步骤:1)管理员创建语言项目,并配置该语言项目对应的Android工程项目Git仓库地址;2)管理员根据不同语言,将语言项目分配给翻译人员;3)根据步骤1)的Git仓库地址克隆源代码,对Android工程项目的源代码中的文件夹进行扫描并解析资源文件,翻译人员根据解析后的文本进行翻译;4)检测翻译完成后的文本是否符合Android规范,若符合,则修改或创建资源文件,并将该资源文件合并和提交至Git仓库的源代码中;若否,则提醒翻译人员进行修改。2.如权利要求1所述的一种基于Git的Android应用国际化语言管理方法,其特征在于,所述步骤1)中,先验证管理员的权限,判断其是否有权限访问Git仓库。3.如权利要求1所述的一种基于Git的Android应用国际化语言管理方法,其特征在于,所述步骤1)中,管理员创建语言项目时,选择翻译所处的是develop分支还是hotfix分支,以及需要翻译或修改语言的国家,添加任务的说明。4.如权利要求1所述的一种基于Git的Android应用国际化语言管理方法,其特征在于,所述步骤3)中,先扫描Android项目中资源文件的文件夹得到记录文本内容的XML文件,对默认语言的XML文件进行解析进而得到默认语言的文本内容与对应的索引;根据默认语言的文本内容的索引,去解析其他国家资源文件加下的XML文件,进而得到当前支持的每个国家的文本内容,选...

【专利技术属性】
技术研发人员:ꢀ七四专利代理机构
申请(专利权)人:厦门汉印电子技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1