CN103927301A - 一种利用主题包动态翻译词条的方法及移动终端 - Google Patents

一种利用主题包动态翻译词条的方法及移动终端 Download PDF

Info

Publication number
CN103927301A
CN103927301A CN201410172060.1A CN201410172060A CN103927301A CN 103927301 A CN103927301 A CN 103927301A CN 201410172060 A CN201410172060 A CN 201410172060A CN 103927301 A CN103927301 A CN 103927301A
Authority
CN
China
Prior art keywords
entry
resource
file
application module
mobile terminal
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201410172060.1A
Other languages
English (en)
Other versions
CN103927301B (zh
Inventor
焉文臣
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guangdong Oppo Mobile Telecommunications Corp Ltd
Original Assignee
Guangdong Oppo Mobile Telecommunications Corp Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Guangdong Oppo Mobile Telecommunications Corp Ltd filed Critical Guangdong Oppo Mobile Telecommunications Corp Ltd
Priority to CN201410172060.1A priority Critical patent/CN103927301B/zh
Publication of CN103927301A publication Critical patent/CN103927301A/zh
Application granted granted Critical
Publication of CN103927301B publication Critical patent/CN103927301B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种利用主题包动态翻译词条的方法及移动终端,该方法包括以下步骤:提取各应用模块的词条文件,并分别压缩成包名与各应用模块相对应的资源文件压缩包;对所有资源文件压缩包进行压缩,制作成一主题包;将制作好的主题包拷贝至移动终端,并解压到自定义目录中;当移动终端的系统使用id查找对应的应用模块的词条时,则解析传递进来的资源id,并查找自定义目录下是否存在与当前应用模块包名相对应的资源文件压缩包;若存在,则加载该资源文件压缩包中的词条文件到内存中,并返回词条文件内对应资源id的词条为最终词条。运用本发明之后,翻译人员可将翻译后的词条文件制作成主题包,拷贝至移动终端中,即可查看词条实时显示效果。

Description

一种利用主题包动态翻译词条的方法及移动终端
技术领域
本发明涉及移动终端应用领域,更具体地说,是涉及一种利用主题包动态翻译词条的方法及移动终端。
背景技术
随着移动终端的普及和国际化定制的需要,一款移动终端通常需要内置20多种语言,并且这个数量还在不断递增。而各手机开发厂商最常用的方式是:提供给国内外翻译公司待翻译的词条,然后将翻译后的词条更改进移动终端的软件配置中。然而,该常规处理方式有一系列缺点,如下:
1、不能实时查看翻译后的词条,如果想实时查看,则需要开发人员将其配置进软体,再通过编译、安装过程才能查看最终效果。并且,上述过程需要几十个模块同时进行,翻译周期长,在分秒必争的移动互联网时代,这可能会给企业带来很大的损失;
2、实用场景缺失,因为翻译后的词条最终是在移动终端上显示,所以其长度、与界面的一致性相对受到制约,而这是翻译公司前期无法察觉的;
3、如遇用户投诉,修复该问题至少需要几步骤:重新翻译,修改软件,释出版本,这可能会使用户对产品失去信心;
4、翻译的词条文件与软件产品耦合,牵一发而动全身。
发明内容
本发明的目的在于克服现有技术中的上述缺陷,提供一种利用主题包动态翻译词条的方法及移动终端,其能够实现实时查看翻译词条的显示效果。
为实现上述目的,本发明提供的技术方案如下:一种利用主题包动态翻译词条的方法,包括以下步骤:
提取各应用模块的词条文件,并分别压缩成包名与各应用模块相对应的资源文件压缩包;
对所有资源文件压缩包进行压缩,制作成一主题包;
将制作好的主题包拷贝至移动终端,并解压到自定义目录中;
当移动终端的系统使用id查找对应的应用模块的词条时,则解析传递进来的资源id,并查找自定义目录下是否存在与当前应用模块包名相对应的资源文件压缩包;
若存在,则加载该资源文件压缩包中的词条文件到内存中,并返回词条文件内对应资源id的词条为最终词条。
作为优选的,在上述技术方案中,所述解析传递进来的资源id,并查找自定义目录下是否存在与当前应用模块包名相对应的资源文件压缩包的步骤之后还包括:
若不存在,则返回系统默认的词条。
作为优选的,在上述技术方案中,所述提取各应用模块的词条文件,并分别压缩成包名与各应用模块相对应的资源文件压缩包的步骤具体包括:
提取各应用模块的词条文件,按照预设的目录结构进行压缩,压缩后将文件后缀名去掉,文件名称为各应用模块对应的包名。
作为优选的,在上述技术方案中,所述对所有资源文件压缩包进行压缩,制作成一主题包的步骤具体包括:
将所有资源文件压缩包按照预设的目录结构进行压缩,压缩后将文件后缀名改为.theme,并自定义文件名称。
作为优选的,在上述技术方案中,所述返回词条文件内对应资源id的词条为最终词条的步骤具体包括:
调用接口函数,将资源id转变为字符串名,根据字符串名与字符串值的映射关系,找到对应的字符串值,即为最终词条。
本发明还提供了一种利用主题包动态翻译词条的移动终端,其包括:
解压模块,用于当主题包拷贝至移动终端时,则解压到自定义目录中;其中,所述主题包内包含有由各应用模块的词条文件压缩而成的资源文件压缩包;
解析模块,用于当移动终端的系统使用id查找对应的应用模块的词条时,则解析传递进来的资源id;
查找模块,用于查找自定义目录下是否存在与当前应用模块包名相对应的资源文件压缩包;
加载模块,用于当自定义目录下存在与当前应用模块包名相对应的资源文件压缩包时,则加载该资源文件压缩包中的词条文件到内存中;
词条返回模块,用于返回词条文件内对应资源id的词条为最终词条。
作为优选的,在上述技术方案中,所述词条返回模块还用于当自定义目录下不存在与当前应用模块包名相对应的资源文件压缩包时,则返回系统默认的词条。
与现有技术相比,本发明的有益效果在于:
本发明更改了移动终端词条处理系统,使移动终端具备解析主题包中词条的功能,翻译人员可直接对主题包中的词条文件进行翻译,翻译后将文件压缩为主题包,拷贝至移动终端中,即可查看词条实时显示效果,减少了问题反馈、重新翻译到释出版本的周期。尤其在跨国合作时,其提供的便利性可节省大量成本。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是实施例一提供的利用主题包动态翻译词条的方法流程图;
图2是一资源文件压缩包的内部文件结构示意图;
图3是一主题包的内部文件结构示意图;
图4是从java开发技术角度绘制的类关系图;
图5是实施例二提供的利用主题包动态翻译词条的移动终端的结构框图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例一
本发明的实施例一提供了一种利用主题包动态翻译词条的方法,下面结合附图对本实施例进行详细说明。图1是本发明实施例一的方法流程图,请参考图1,本发明实施例的方法包括以下步骤:
步骤S101、提取各应用模块的词条文件,并分别压缩成包名与各应用模块相对应的资源文件压缩包;
在本实施中,步骤S101具体包括:先提取各应用模块的词条文件,按照如图2所示的目录结构进行压缩,压缩格式为zip,压缩后将文件后缀名去掉,文件名称为各应用模块对应的包名。例如:与桌面应用相对应的资源文件压缩包的包名为<com.oppo.launcher>。其中,翻译人员可事先对词条文件进行翻译。
步骤S102、对所有资源文件压缩包进行压缩,制作成一主题包;
在本实施中,步骤S102具体包括:将所有资源文件压缩包按照图3所示的目录结构进行压缩,压缩格式为zip,压缩后将文件后缀名改为.theme,并自定义文件名称。例如:主题包可以命名为<机器人总动员.theme>。
步骤S103、将制作好的主题包拷贝至移动终端,并解压到自定义目录中;
在本实施中,解压缩后,该自定义目录下的文件结构为图3所示。举例的,该自定义目录可以为:/data/system/default/theme。
步骤S104、当移动终端的系统使用id查找对应的应用模块的词条时,则解析传递进来的资源id,并查找自定义目录下是否存在与当前应用模块包名相对应的资源文件压缩包;
具体的,Android系统默认会使用Resource类对传入的id进行解析,查找资源并返回词条。因此,在Android系统资源的解析机制中,可以在Resource类内部加入定制函数,加入主题包解析机制。如图4所示,图中右边部分为解析主题包而增加的java文件类,包括:OppoThemeResources类(主题公共资源管理类)、OppoThemeResourcesPackage类(主题应用资源管理类)、OppoThemeResourcesSystem类(主题系统资源管理类)和OppoThemeZipFile类(主题资源压缩包类),利用上述类可以解析资源。
其中,OppoThemeResourcesSystem类和OppoThemeResourcesPackage类继承自OppoThemeResources类,OppoThemeResources类收到传入的id和应用模块的模块名packageName,首先判断模块名packageName是否为系统资源(如oppo-framework-res或framework-res)。如果是,则调用OppoThemeResourcesSystem类来进行进一步解析;如果不是,则调用OppoThemeResourcesPackage类来进行进一步解析。
解析过程,无论是系统资源还是应用资源,其在查找词条的时,都会传给Resources类一个id值,Resources类拿到id值后,按照如下方式传递:
系统资源:Resources类->OppoThemeResources类->
OppoThemeResourcesSystem类->OppoThemeZipFile类;
应用资源:Resources类->OppoThemeResourcesPackag类->
OppoThemeResources类->OppoThemeResourcesSystem类
->OppoThemeZipFile类。
如图4所示,每个应用模块在首次加载(即启动应用)时,都由一个Resources类对象来进行初始化资源。在该初始化过程中,可以加入主题包的初始化,即OppoThemeResources类或其子类对象的初始化。如果模块为应用模块,则调用OppoThemeResourcesPackage类进行初始化,由于java继承类的性质,OppoThemeResourcesPackage类初始化时会首先对其父类进行初始化,即OppoThemeResources类的初始化。在OppoThemeResources类中存放了系统资源变量,用于连接OppoThemeResourcesSystem类管理的系统资源。初始化的过程是一个优化点,使用预加载来提升解析速度。
在本实施中,使用OppoThemeResources类通过传递进来的资源id,去查找自定义目录下是否存在当前应用模块包名对应的资源文件压缩包,当自定义目录下存在与当前应用模块包名相对应的资源文件压缩包时,则执行步骤S105,否则,则执行步骤S106。
步骤S105、加载该资源文件压缩包中的词条文件到内存中,并返回词条文件内对应资源id的词条为最终词条;
具体的,OppoThemeZipFile类能够加载资源文件压缩包中的词条文件到内存中,由于应用模块查找主题包词条的前提是该应用处于启动状态(即运行于内存中),所以读写内存的速度要高于读写存储卡的速度,因此加载到内存中能够提升速率。OppoThemeZipFile类拿到资源id后,会调用已有接口函数,将id转变为字符串名,由于在初始化的过程中已经将主题包中资源加载完成(即字符串名与字符串值的映射关系),那么,OppoThemeZipFile类就可以根据字符串名,找到字符串值,即最终翻译词条。
其中,OppoThemeResources类还负责管理OppoThemeZipFile类,用以判断资源文件压缩包是否需要更新,其所对应的资源文件压缩包内是否加载词条成功。加载成功后,还用以主题包内的词条等资源的基本信息加载,及已加载过的主题包的缓存,以节省时间。
示例性的,桌面应用的包名为com.oppo.launcher,查找的资源id为:oppo_launcher,则先去/data/system/default/theme目录下,查看是否存在com.oppo.launcher名字的资源文件压缩包。如存在,加载该资源文件压缩包到内存,并查找strings.xml中id为oppo_launcher的词条。
步骤S106、返回系统默认的词条。
本发明更改了移动终端词条处理系统,使移动终端具备解析主题包中词条的功能,翻译人员可直接对主题包中的词条文件进行翻译,翻译后将文件压缩为主题包,拷贝至移动终端中,即可查看词条实时显示效果,减少了问题反馈、重新翻译到释出版本的周期。尤其在跨国合作时,其提供的便利性可节省大量成本。
实施二
本发明的实施例二提供了一种利用主题包动态翻译词条的移动终端,请参考图5,其包括:
解压模块201,用于当主题包拷贝至移动终端时,则解压到自定义目录中;其中,所述主题包内包含有由各应用模块的词条文件压缩而成的资源文件压缩包;
解析模块202,用于当移动终端的系统使用id查找对应的应用模块的词条时,则解析传递进来的资源id;
查找模块203,用于查找自定义目录下是否存在与当前应用模块包名相对应的资源文件压缩包;
加载模块204,用于当自定义目录下存在与当前应用模块包名相对应的资源文件压缩包时,则加载该资源文件压缩包中的词条文件到内存中;
词条返回模块205,用于返回词条文件内对应资源id的词条为最终词条。
在一实施例中,所述词条返回模块205还用于当自定义目录下不存在与当前应用模块包名相对应的资源文件压缩包时,则返回系统默认的词条。
需要说明的是,上述实施例提供的一种利用主题包动态翻译词条的移动终端,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将系统的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,所述的程序可以在存储于一计算机可读取存储介质中,所述的存储介质,如ROM/RAM、磁盘、光盘等。
上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。

Claims (7)

1.一种利用主题包动态翻译词条的方法,其特征在于,该方法包括以下步骤:
提取各应用模块的词条文件,并分别压缩成包名与各应用模块相对应的资源文件压缩包;
对所有资源文件压缩包进行压缩,制作成一主题包;
将制作好的主题包拷贝至移动终端,并解压到自定义目录中;
当移动终端的系统使用id查找对应的应用模块的词条时,则解析传递进来的资源id,并查找自定义目录下是否存在与当前应用模块包名相对应的资源文件压缩包;
若存在,则加载该资源文件压缩包中的词条文件到内存中,并返回词条文件内对应资源id的词条为最终词条。
2.根据权利要求1所述的利用主题包动态翻译词条的方法,其特征在于,所述解析传递进来的资源id,并查找自定义目录下是否存在与当前应用模块包名相对应的资源文件压缩包的步骤之后还包括:
若不存在,则返回系统默认的词条。
3.根据权利要求1所述的利用主题包动态翻译词条的方法,其特征在于,所述提取各应用模块的词条文件,并分别压缩成包名与各应用模块相对应的资源文件压缩包的步骤具体包括:
提取各应用模块的词条文件,按照预设的目录结构进行压缩,压缩后将文件后缀名去掉,文件名称为各应用模块对应的包名。
4.根据权利要求1所述的利用主题包动态翻译词条的方法,其特征在于,所述对所有资源文件压缩包进行压缩,制作成一主题包的步骤具体包括:
将所有资源文件压缩包按照预设的目录结构进行压缩,压缩后将文件后缀名改为.theme,并自定义文件名称。
5.根据权利要求1所述的利用主题包动态翻译词条的方法,其特征在于,所述返回词条文件内对应资源id的词条为最终词条的步骤具体包括:
调用接口函数,将资源id转变为字符串名,根据字符串名与字符串值的映射关系,找到对应的字符串值,即为最终词条。
6.一种利用主题包动态翻译词条的移动终端,其特征在于,包括:
解压模块,用于当主题包拷贝至移动终端时,则解压到自定义目录中;其中,所述主题包内包含有由各应用模块的词条文件压缩而成的资源文件压缩包;
解析模块,用于当移动终端的系统使用id查找对应的应用模块的词条时,则解析传递进来的资源id;
查找模块,用于查找自定义目录下是否存在与当前应用模块包名相对应的资源文件压缩包;
加载模块,用于当自定义目录下存在与当前应用模块包名相对应的资源文件压缩包时,则加载该资源文件压缩包中的词条文件到内存中;
词条返回模块,用于返回词条文件内对应资源id的词条为最终词条。
7.根据权利要求6所述的利用主题包动态翻译词条的移动终端,其特征在于,所述词条返回模块还用于当自定义目录下不存在与当前应用模块包名相对应的资源文件压缩包时,则返回系统默认的词条。
CN201410172060.1A 2014-04-25 2014-04-25 一种利用主题包动态翻译词条的方法及装置 Expired - Fee Related CN103927301B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410172060.1A CN103927301B (zh) 2014-04-25 2014-04-25 一种利用主题包动态翻译词条的方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410172060.1A CN103927301B (zh) 2014-04-25 2014-04-25 一种利用主题包动态翻译词条的方法及装置

Publications (2)

Publication Number Publication Date
CN103927301A true CN103927301A (zh) 2014-07-16
CN103927301B CN103927301B (zh) 2017-06-30

Family

ID=51145524

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410172060.1A Expired - Fee Related CN103927301B (zh) 2014-04-25 2014-04-25 一种利用主题包动态翻译词条的方法及装置

Country Status (1)

Country Link
CN (1) CN103927301B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104796775A (zh) * 2015-04-15 2015-07-22 广东长虹电子有限公司 一种快速预置多国语言节目的电视系统和方法
CN106648925A (zh) * 2016-11-17 2017-05-10 捷开通讯(深圳)有限公司 移动终端及其字符串信息的获取方法
CN107463386A (zh) * 2017-08-31 2017-12-12 四川长虹电器股份有限公司 一种管理android应用多国语言的方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090119092A1 (en) * 2007-11-01 2009-05-07 Microsoft Corporation Ensuring product correctness in a multilingual environment
CN102109958A (zh) * 2011-03-04 2011-06-29 深圳市开立科技有限公司 实现多语言用户界面的方法和系统
CN102681851A (zh) * 2012-05-11 2012-09-19 许继集团有限公司 嵌入式装置多语言的动态切换方法
CN102915302A (zh) * 2011-08-02 2013-02-06 盛大计算机(上海)有限公司 压缩包解压方法及系统
CN103176826A (zh) * 2013-03-27 2013-06-26 深圳市共进电子股份有限公司 一种自由配置终端设备默认语言的方法及终端默认语言配置系统

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090119092A1 (en) * 2007-11-01 2009-05-07 Microsoft Corporation Ensuring product correctness in a multilingual environment
CN102109958A (zh) * 2011-03-04 2011-06-29 深圳市开立科技有限公司 实现多语言用户界面的方法和系统
CN102915302A (zh) * 2011-08-02 2013-02-06 盛大计算机(上海)有限公司 压缩包解压方法及系统
CN102681851A (zh) * 2012-05-11 2012-09-19 许继集团有限公司 嵌入式装置多语言的动态切换方法
CN103176826A (zh) * 2013-03-27 2013-06-26 深圳市共进电子股份有限公司 一种自由配置终端设备默认语言的方法及终端默认语言配置系统

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
力诚教育: "《新手学电脑有问必答》", 31 March 2008, 电子科技大学出版社 *
杨奎河: "《新手学上网一点通》", 31 January 2011, 金盾出版社 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104796775A (zh) * 2015-04-15 2015-07-22 广东长虹电子有限公司 一种快速预置多国语言节目的电视系统和方法
CN106648925A (zh) * 2016-11-17 2017-05-10 捷开通讯(深圳)有限公司 移动终端及其字符串信息的获取方法
CN106648925B (zh) * 2016-11-17 2020-07-24 捷开通讯(深圳)有限公司 移动终端及其字符串信息的获取方法
CN107463386A (zh) * 2017-08-31 2017-12-12 四川长虹电器股份有限公司 一种管理android应用多国语言的方法

Also Published As

Publication number Publication date
CN103927301B (zh) 2017-06-30

Similar Documents

Publication Publication Date Title
US9811360B2 (en) Dynamic determination of application server runtime classloading
US20090037386A1 (en) Computer file processing
CN103955364A (zh) 一种适用于手机的前端组件方法
CN105389186A (zh) 一种Java应用的热部署方法及系统
CN110020358B (zh) 用于生成动态页面的方法和装置
CN101105757A (zh) 一种类装载隔离的方法及一种类装载隔离的装置
KR20080039080A (ko) 이종언어편집 라이브러리의 인터페이스 기능이 구비된단말장비, api호출방법 및 컴파일함수생성방법
CN103927301A (zh) 一种利用主题包动态翻译词条的方法及移动终端
CN103685400A (zh) 一种信息处理方法、服务器及电子设备
CN112559088A (zh) 配置文件的优化方法、装置、服务器以及存储介质
KR101117165B1 (ko) 이기종 운영체제 계층 모듈에서 동작하는 웹기반어플리케이션의 연동이 가능한 모바일 단말기용 웹 플랫폼 유닛
CN113553214B (zh) 一种幂等性校验方法及装置
CN112214250A (zh) 一种应用程序组件的加载方法和装置
CN102117219A (zh) 一种客户端生成的方法、系统和终端设备
CN110727482A (zh) 一种界面的更新方法和装置
CN115543546B (zh) 一种基于Spring的模块热部署方法及系统
CN108920246B (zh) 表单草稿组件共享方法及装置、终端设备及可读存储介质
CN110162412B (zh) 在客户端进行数据操作的方法和装置
CN106570152A (zh) 一种手机号码的海量提取方法及系统
CN116414774A (zh) 文件迁移方法、装置、设备及存储介质
CN105739916A (zh) 具有处理机制的计算系统和操作的方法
CN101770508B (zh) 移动通信终端中的数据访问方法和设备
CN112379885B (zh) 小程序编译方法、装置、设备及可读存储介质
CN104978221A (zh) 实现程序的下载删除的方法及系统
CN114090070A (zh) 应用程序安装包文件处理方法及电子设备

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CP01 Change in the name or title of a patent holder

Address after: Changan town in Guangdong province Dongguan 523860 usha Beach Road No. 18

Patentee after: GUANGDONG OPPO MOBILE TELECOMMUNICATIONS Corp.,Ltd.

Address before: Changan town in Guangdong province Dongguan 523860 usha Beach Road No. 18

Patentee before: GUANGDONG OPPO MOBILE TELECOMMUNICATIONS Corp.,Ltd.

CP01 Change in the name or title of a patent holder
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20170630

CF01 Termination of patent right due to non-payment of annual fee