android字符串块,一种Android系统字符串提取及合并方法与流程

ae2befe0838d7cd5f3147070b769dbfd.gif

本发明涉及字符串提取及合并方法,尤其涉及一种Android系统字符串提取及合并方法。

背景技术:

随着智能通讯终端的日益普及,采用Android系统的智能通讯终端设备越来越走向世界各地,而对于多国语言的支持问题逐渐成为各终端厂商不可或缺的一环。在采用了Android系统的终端设备研发过程中,对于软件系统界面的各国语言文字的正确性检查成为各个终端厂商必不可少的一项工作。

当前的手段大多是通过本地测试人员,人工的方式逐个界面进行检查、反馈,或通过界面截图的方式,尽可能多截取系统UI场景界面,或提供给当地语言测试人员进行检查和反馈。而针对已存在的原始字符串文件进行正确性检查的手段目前并没有成熟的方案。

技术实现要素:

为了解决现有技术中的问题,本发明提供了一种Android系统字符串提取及合并方法。

本发明提供了一种Android系统字符串提取及合并方法,包括以下步骤:

S1、提取字符串,将系统源代码中某种语言的文字全部提取到一个输出文件中,并插入路径关键字按模块路径加以标记;

S2、合并字符串,将输出文件通过自动化方式按路径关键字为识别标记合入系统源代码。

作为本发明的进一步改进,步骤S1包括以下子步骤:

S11、针对源码按目录递归地进行字符串文件扫描,目标为路径中包含特殊路径标记名称的文件夹下的语言字符串文件;

S12、扫描到字符串文件后,创建一个输出文件,插入语言字符串文件所在目录路径元素,随后再插入所扫描到的文件夹下的字符串文件中的全部字符串元素及值;

S13、按目录递归扫描符字符串文件,直到搜索完所有满足名称包含特殊路径标记的文件夹为止,处理方式按步骤S11和步骤S12进行,最后,在输出文件中插入文件结束标记。

作为本发明的进一步改进,步骤S1还包括S14、将步骤S13执行完之后得到的输出文件提供给本地或当地语言测试人员进行语法、语义检查,并修改此输出文件;

步骤S2包括以下子步骤:

S21、针对修改后的输出文件,逐行扫描,根据读取到的路径关键字,处理对应的目录文件夹下的语言字符串文件,将该路径关键字后面所跟随的字符串内容,替换原有字符串文件中所对应的字符串内容,此过程递归执行,直到读取到文件结束标记。

作为本发明的进一步改进,在步骤S11中,扫描满足条件的路径中包含不同特殊路径标记为名称的文件夹时,同步判断多种语言。

作为本发明的进一步改进,步骤S1包括以下子步骤:

S101、创建values-{XX}.xml文件,插入xml文件开始标记,XX代表某语言;

S102、扫描根目录文件;

S103、文件夹下是否包含res/values-{XX}为名称的文件夹,如果是,则进入步骤S104,如果否,则进入步骤S105;

S104、插入该文件夹下语言字符串xml文件的目录路径元素,再插入文件夹下的字符串xml文件中的全部字符串;

S105、继续扫描子目录文件夹,判断是否已经全部扫描,如果否,则返回步骤S103,如果是,则进入步骤S106;

S106、在values-{XX}.xml文件中插入xml文件结束标记;

S107、结束。

作为本发明的进一步改进,步骤S2包括以下子步骤:

S201、打开values-{XX}.xml文件;

S202、读取一个元素及值;

S203、判断是否是文件结束关键字,如果是,则结束,如果否,则进入下一步骤:

S204、判断是否是路径关键字元素,如果否,则进入下一步骤,如果是,则记录路径值为P,并进入下一步骤;

S205、在路径P下,替换旧字符串xml文件中对应的字符串元素值为新值,返回步骤S202。

本发明的有益效果是:将系统中某种语言的文字全部提取到一个文件中,并插入路径关键字按模块路径加以标记,提供给本地或当地语言测试人员先期进行语法、语义检查,直接在该文件加以修正,然后再通过自动化方式按路径关键字为识别标记合入系统源代码,在对于软件系统界面的各国语言文字的正确性检查中,起到先期纠正语法、语义错误的作用,进而减少错误量,减少后期工作量。

附图说明

图1是本发明一种Android系统字符串提取及合并方法中提取字符串的流程图。

图2是本发明一种Android系统字符串提取及合并方法中合并字符串的流程图。

具体实施方式

下面结合附图说明及具体实施方式对本发明作进一步说明。

一种Android系统字符串提取及合并方法,包括以下步骤:

S1、提取字符串,将系统源代码中某种语言的文字全部提取到一个输出文件中,并插入路径关键字按模块路径加以标记;

S2、合并字符串,将输出文件通过自动化方式按路径关键字为识别标记合入系统源代码。

一种Android系统字符串提取及合并方法,包括具体以下步骤:

1.针对源码按目录递归地进行字符串文件扫描,目标为路径中包含特殊路径标记名称的文件夹下的语言字符串文件。

2.扫描到字符串文件后,创建一个输出文件,插入语言字符串文件所在目录路径元素,随后再插入所扫描到的文件夹下的字符串文件中的全部字符串元素及值。

3.按目录递归扫描符字符串文件,直到搜索完所有满足名称包含特殊路径标记的文件夹为止,处理方式按步骤1和步骤2进行。最后,在输出文件中插入文件结束标记。

将步骤3执行完之后得到的输出文件提供给本地或当地语言测试人员进行语法、语义检查,并修改此文件。

4.针对修改后的输出文件,逐行扫描,根据读取到的路径关键字,处理对应的目录文件夹下的语言字符串文件,将该路径关键字后面所跟随的字符串内容,替换原有字符串文件中所对应的字符串内容。此过程递归执行,直到读取到文件结束标记。

5.上述过程中可以同步处理多种语言,即扫描满足条件的路径中包含不同特殊路径标记为名称的文件夹时,同步判断多种语言,例如针对Android平台,特殊路径标记名称可包含res/values-ru,或res/values-es,或res/values-th,或res/values-es,或res/values-hi等等。

如图1所示,步骤S1具体包括以下子步骤:

S101、创建values-{XX}.xml文件,插入xml文件开始标记,XX代表某语言;

S102、扫描根目录文件;

S103、文件夹下是否包含res/values-{XX}为名称的文件夹,如果是,则进入步骤S104,如果否,则进入步骤S105;

S104、插入该文件夹下语言字符串xml文件的目录路径元素,再插入文件夹下的字符串xml文件中的全部字符串;

S105、继续扫描子目录文件夹,判断是否已经全部扫描,如果否,则返回步骤S103,如果是,则进入步骤S106;

S106、在values-{XX}.xml文件中插入xml文件结束标记;

S107、结束。

如图2所示,步骤S2具体包括以下子步骤:

S201、打开values-{XX}.xml文件;

S202、读取一个元素及值;

S203、判断是否是文件结束关键字,如果是,则结束,如果否,则进入下一步骤:

S204、判断是否是路径关键字元素,如果否,则进入下一步骤,如果是,则记录路径值为P,并进入下一步骤;

S205、在路径P下,替换旧字符串xml文件中对应的字符串元素值为新值,返回步骤S202。

本发明提供的一种Android系统字符串提取及合并方法的重点如下:

1.将全部源码的字符文件提取到单独的一个文件中;

2.提取生成的文件是xml文件,以路径关键字元素区分各个文件夹字符串的路径;

3.合并阶段以路径关键字为区分,将修正后的文件内容,更新到原提取目录文件夹下。

提供以下实施例:

1.针对Android源码按目录递归地进行字符串文件扫描,即路径中包含res/values-{XX}为名称的文件夹(记为A)下的保存语言字符串的xml文件。其中,{XX}代表某种语言,可以取ru,es,tr等等语言码。

2.扫描到字符串文件后,首先创建一个values-{XX}.xml文件,然后先插入xml文件开始标记,然后再插入语言字符串xml文件所在的目录路径元素(路径关键字属性及其路径,如:

"frameworks-base-core-res-res"),随后再插入扫描到文件夹A下的字符串xml中的全部字符串。

3.继续按目录递归扫描符字符串xml文件,直到搜索完所有满足路径名称包含res/values-{XX}的文件夹为止,处理方式按步骤1和步骤2进行。最后,在values-{XX}.xml文件中插入xml文件结束标记。从而,针对XX语言的全部翻译,生成到单独一个values-{XX}.xml文件中。

4.将步骤3执行完之后得到的values-{XX}.xml,提供给本地或当地语言测试人员进行语法、语义检查,并修改此文件。

5.针对修改后的values-{XX}.xml文件,逐行扫描,根据读取到的路径关键字,将该路径关键字之下的字符串内容,逐行替换路径关键字所代表的文件路径下的字符串xml文件中所对应的字符串,直到遇到下一个路径关键字。此过程递归处理,直到读取到文件结束标记。

6.上述过程中可以同步处理多个语言,即扫描满足条件的路径中包含res/values-{XX}为名称的文件夹时,同步判断多个XX语言,路径名称包含res/values-ru,或res/values-es,或res/values-th,或res/values-es,或res/values-hi等等。

7.values-{XX}.xml文件输出内容及格式如下,以俄语为例:

其中,hipad_module_name为路径关键字元素名,其对应值为其后跟随的字符串所在的文件夹目录路径。上述示例展示了不同路径下的字符串文件提取后的内容,包含的路径有frameworks/base/core/res/res,frameworks/base/packages/SystemUI/res,packages/apps/Calculator/res等,分表代表系统级资源语言文件路径,状态栏语言文件路径,计算器应用语言文件路径等。

本发明提供的一种Android系统字符串提取及合并方法,将系统中某种语言的文字全部提取到一个文件中,并插入路径关键字按模块路径加以标记,提供给本地或当地语言测试人员先期进行语法、语义检查,直接在该文件加以修正,然后再通过自动化方式按路径关键字为识别标记合入系统源代码,在对于软件系统界面的各国语言文字的正确性检查中,起到先期纠正语法、语义错误的作用,进而减少错误量,减少后期工作量。

以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值