CN103927301B - 一种利用主题包动态翻译词条的方法及装置 - Google Patents

一种利用主题包动态翻译词条的方法及装置 Download PDF

Info

Publication number
CN103927301B
CN103927301B CN201410172060.1A CN201410172060A CN103927301B CN 103927301 B CN103927301 B CN 103927301B CN 201410172060 A CN201410172060 A CN 201410172060A CN 103927301 B CN103927301 B CN 103927301B
Authority
CN
China
Prior art keywords
entry
file
resource
bag
compressed
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.)
Expired - Fee Related
Application number
CN201410172060.1A
Other languages
English (en)
Other versions
CN103927301A (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的已翻译好的词条为最终词条。
作为优选的,在上述技术方案中,所述查找自定义目录下是否存在与当前应用模块包名相对应的资源文件压缩包的步骤之后还包括:
若不存在,则返回系统默认的词条。
作为优选的,在上述技术方案中,所述提取各应用模块的已翻译好的词条文件,并分别压缩成包名与各应用模块相对应的资源文件压缩包的步骤具体包括:
提取各应用模块的已翻译好的词条文件,按照预设的目录结构进行压缩,压缩后将文件后缀名去掉,文件名称为各应用模块对应的包名。
作为优选的,在上述技术方案中,所述对所有资源文件压缩包进行压缩,制作成一主题包的步骤具体包括:
将所有资源文件压缩包按照预设的目录结构进行压缩,压缩后将文件后缀名改为.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所述的利用主题包动态翻译词条的方法,其特征在于,所述查找自定义目录下是否存在与当前应用模块包名相对应的资源文件压缩包的步骤之后还包括:
若不存在,则返回系统默认的词条。
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 CN103927301A (zh) 2014-07-16
CN103927301B true 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)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104796775A (zh) * 2015-04-15 2015-07-22 广东长虹电子有限公司 一种快速预置多国语言节目的电视系统和方法
CN106648925B (zh) * 2016-11-17 2020-07-24 捷开通讯(深圳)有限公司 移动终端及其字符串信息的获取方法
CN107463386A (zh) * 2017-08-31 2017-12-12 四川长虹电器股份有限公司 一种管理android应用多国语言的方法
CN112732362B (zh) * 2021-01-18 2024-06-11 北京展心展力信息科技有限公司 跨国软件资源访问方法、装置、电子设备及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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 深圳市共进电子股份有限公司 一种自由配置终端设备默认语言的方法及终端默认语言配置系统

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8055496B2 (en) * 2007-11-01 2011-11-08 Microsoft Corporation Ensuring product correctness in a multilingual environment

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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 深圳市共进电子股份有限公司 一种自由配置终端设备默认语言的方法及终端默认语言配置系统

Also Published As

Publication number Publication date
CN103927301A (zh) 2014-07-16

Similar Documents

Publication Publication Date Title
US20220318336A1 (en) Method and Terminal Device for Extracting Web Page Content
CN106164866B (zh) 客户端侧web状态的高效迁移
CN108664239B (zh) 一种基于微服务的跨技术栈web前端开发系统及方法
CN107122200A (zh) 加载插件sdk的方法、系统及客户端
CN103927301B (zh) 一种利用主题包动态翻译词条的方法及装置
CN110825430A (zh) 一种api文档生成方法、装置、设备及存储介质
CN110727482B (zh) 一种界面的更新方法和装置
CN105068802B (zh) 一种跨设备运行的Web应用软件实现系统和方法
CN102118650A (zh) 一种电视机菜单显示方法、装置及电视机
CN113419710B (zh) 小程序的开发方法、装置、电子设备和介质
CN106570153A (zh) 一种海量url的数据提取方法及系统
CN110109983B (zh) 一种操作Redis数据库的方法和装置
KR101287371B1 (ko) 웹 컨텐츠 수집방법 및 수집장치, 그 기록매체
CN108920246B (zh) 表单草稿组件共享方法及装置、终端设备及可读存储介质
KR101117165B1 (ko) 이기종 운영체제 계층 모듈에서 동작하는 웹기반어플리케이션의 연동이 가능한 모바일 단말기용 웹 플랫폼 유닛
CN106020920A (zh) 一种jcvm解释器的预处理方法及系统
US10789751B2 (en) Method and apparatus for implementing animation in client application and animation script framework
CN112214250A (zh) 一种应用程序组件的加载方法和装置
CN102904925B (zh) 一种基于三屏互动的跨平台widget中间件系统
CN102117219A (zh) 一种客户端生成的方法、系统和终端设备
CN111324395B (zh) 调用方法、装置和计算机可读存储介质
US9015682B1 (en) Computer code transformations to create synthetic global scopes
CN106570152A (zh) 一种手机号码的海量提取方法及系统
CN102799423A (zh) Jsf中执行动态方法的方法及装置
CN105335174A (zh) 一种非OSGi的Java应用程序调用OSGi服务的方法及装置

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
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.

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

Granted publication date: 20170630