CN107451128B - 多语言代码适配方法、设备及存储介质 - Google Patents
多语言代码适配方法、设备及存储介质 Download PDFInfo
- Publication number
- CN107451128B CN107451128B CN201710664210.4A CN201710664210A CN107451128B CN 107451128 B CN107451128 B CN 107451128B CN 201710664210 A CN201710664210 A CN 201710664210A CN 107451128 B CN107451128 B CN 107451128B
- Authority
- CN
- China
- Prior art keywords
- file
- translation
- translated
- language
- character string
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/40—Processing or translation of natural language
- G06F40/58—Use of machine translation, e.g. for multi-lingual retrieval, for server-side translation for client devices or for real-time translation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/73—Program documentation
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Library & Information Science (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Machine Translation (AREA)
- Stored Programmes (AREA)
- Document Processing Apparatus (AREA)
Abstract
本发明公开了一种多语言代码适配方法、设备及存储介质,该多语言代码适配方法包括以下步骤:从触发的多语言检测请求中获取文件目录,并读取所述文件目录下的待检测文件和语言配置文件;根据所述语言配置文件对所述待检测文件进行翻译检测,以获取待翻译字符串,并根据所述待翻译字符串生成待翻译文件。对所述待翻译文件进行翻译,以获取翻译文件,并将所述翻译文件存储至翻译文件目录;根据触发的翻译文件导入请求中的翻译文件名读取所述翻译文件目录下的翻译文件,并将所述翻译文件中的字符串写入所述语言配置文件。本发明能够极大的减少适配工作量,降低人力成本,有效的保证代码适配的准确度。
Description
技术领域
本发明涉及Android开发领域,尤其涉及一种多语言代码适配方法、设备及存储介质。
背景技术
随着Android系统的快速发展,Android应用开发的国际化趋势也越来越明显,需要对开发的代码进行多国语言适配,适配工作量大,需要花费较多的时间进行,例如,开发人员在开发过程中需要增加或翻译一批文字,需要开发人员手动输入文字,并对输入的文字进行处理,得到固定格式的待翻译文件,然后再将该待翻译文件发给翻译人员进行翻译,在翻译完成后,将翻译后的文件发给开发人员,最后开发人员手动的将翻译后的文件导入代码中。
上述适配过程,需要开发人员手动进行,每增加一条文字或者一种语言翻译,适配工作量都是成几何倍数增加,人力成本较高,在适配过程中,难免会出现数据遗漏的情况,无法有效保证代码适配的准确度。
因此,现有的针对代码的翻译检测方法,存在人力成本较高,代码适配的准确度无法得到有效保证的问题。
上述内容仅用于辅助理解本发明的技术方案,并不代表承认上述内容是现有技术。
发明内容
本发明的主要目的在于提供一种多语言代码适配方法、设备及存储介质,旨在解决人力成本较高,代码适配的准确度无法得到有效保证的技术问题。
为实现上述目的,本发明提供一种多语言代码适配方法,所述多语言代码适配方法包括以下步骤:
从触发的多语言检测请求中获取文件目录,并读取所述文件目录下的待检测文件和语言配置文件;
根据所述语言配置文件对所述待检测文件进行翻译检测,以获取待翻译字符串,并根据所述待翻译字符串生成待翻译文件;
对所述待翻译文件进行翻译,以获取翻译文件,并将所述翻译文件存储至翻译文件目录;
根据触发的翻译文件导入请求中的翻译文件名读取所述翻译文件目录下的翻译文件,并将所述翻译文件中的字符串写入所述语言配置文件。
可选地,所述根据所述语言配置文件对所述待检测文件进行翻译检测,以获取待翻译字符串,并根据所述待翻译字符串生成待翻译文件的步骤包括:
获取所述语言配置文件的配置文件名,并根据所述配置文件名确定翻译语言类型;
根据所述翻译语言类型对所述待检测文件进行翻译检测,以获取待翻译字符串;
计算所述文件目录下所述语言配置文件的配置文件数,并根据所述配置文件数和预设表头列表数确定待翻译文件的表头列表数;
根据所述表头列表数和所述待翻译字符串生成待翻译文件。
可选地,所述对所述待翻译文件进行翻译,以获取翻译文件,并将所述翻译文件存储至翻译文件目录的步骤包括:
获取所述待翻译文件中每个列表的表头名,并根据所述表头名确定翻译语言类型;
根据所述翻译语言类型翻译所述待翻译文件,以获取翻译文件,并将所述翻译文件存储至翻译文件目录。
可选地,所述根据所述语言配置文件对所述待检测文件进行翻译检测,以获取待翻译字符串的步骤还包括:
从所述多语言检测请求中获取所述待检测文件的过滤条件,并根据所述过滤条件过滤所述待检测文件;
根据所述语言配置文件对过滤后的待检测文件进行翻译检测,以获取待翻译字符串。
可选地,所述根据触发的翻译文件导入请求中的翻译文件名读取所述翻译文件目录下的翻译文件,并将所述翻译文件中的字符串写入所述语言配置文件的步骤包括:
根据触发的翻译文件导入请求中的翻译文件名读取所述翻译文件目录下的翻译文件;
获取所述翻译文件中每个列表的表头名,并获取所述文件目录下每个语言配置文件的配置文件名,以获取配置文件名集;
在所述表头名处于所述配置文件名集时,根据所述表头名获取语言配置文件,并将所述翻译文件中的字符串写入所述语言配置文件。
可选地,所述获取所述翻译文件中每个列表的表头名,并获取所述文件目录下每个语言配置文件的配置文件名,以获取配置文件名集的步骤之后还包括:
在所述表头名未处于所述配置文件名集时,则根据所述表头名建立语言配置文件,并将所述翻译文件中的字符串写入建立后的语言配置文件。
此外,为实现上述目的,本发明还提供一种多语言代码适配设备,该多语言代码适配设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的多语言代码适配程序,所述多语言代码适配程序被所述处理器执行时实现以下步骤:
从触发的多语言检测请求中获取文件目录,并读取所述文件目录下的待检测文件和语言配置文件;
根据所述语言配置文件对所述待检测文件进行翻译检测,以获取待翻译字符串,并根据所述待翻译字符串生成待翻译文件;
对所述待翻译文件进行翻译,以获取翻译文件,并将所述翻译文件存储至翻译文件目录;
根据触发的翻译文件导入请求中的翻译文件名读取所述翻译文件目录下的翻译文件,并将所述翻译文件中的字符串写入所述语言配置文件。
本发明还提供一种计算机可读存储介质,该计算机可读存储介质上存储有多语言代码适配程序,所述多语言代码适配程序被处理器执行时实现以下步骤:
从触发的多语言检测请求中获取文件目录,并读取所述文件目录下的待检测文件和语言配置文件;
根据所述语言配置文件对所述待检测文件进行翻译检测,以获取待翻译字符串,并根据所述待翻译字符串生成待翻译文件;
对所述待翻译文件进行翻译,以获取翻译文件,并将所述翻译文件存储至翻译文件目录;
根据触发的翻译文件导入请求中的翻译文件名读取所述翻译文件目录下的翻译文件,并将所述翻译文件中的字符串写入所述语言配置文件。
本发明从触发的多语言检测请求中获取文件目录,并读取该文件目录下的待检测文件和语言配置文件,然后根据该语言配置文件对该待检测文件进行翻译检测,以获取待翻译字符串,并根据该待翻译字符串生成待翻译文件,再然后对该待翻译文件进行翻译,以获取翻译文件,并将该翻译文件存储至翻译文件目录,最后根据触发的翻译文件导入请求中的翻译文件名读取该翻译文件目录下的翻译文件,并将该翻译文件中的字符串写入该语言配置文件,本方案通过对待检测文件进行翻译检测,能够获取待翻译字符串,同时导出该待翻译字符串,生成待翻译文件,自动快速的检测和导出待检测文件中未翻译的字符串,此外,对该待翻译文件进行翻译,以获取翻译文件,并导入该翻译文件,将该翻译文件写入代码中,实现代码的语言适配,上述适配过程,无需用户手动检测待检测文件中未翻译的字符串,极大的减少适配工作量,降低人力成本,有效的保证代码适配的准确度。
附图说明
图1是本发明实施例方案涉及的硬件运行环境的设备结构示意图;
图2为本发明多语言代码适配方法第一实施例的流程示意图;
图3为图2中所述根据所述语言配置文件对所述待检测文件进行翻译检测,以获取待翻译字符串,并根据所述待翻译字符串生成待翻译文件步骤的细化流程示意图;
图4为本发明实施例中待翻译文件的表头示意图;
图5为图2中所述对所述待翻译文件进行翻译,以获取翻译文件,并将所述翻译文件存储至翻译文件目录步骤的细化流程示意图;
图6为本发明第二实施例中所述根据所述语言配置文件对所述待检测文件进行翻译检测,以获取待翻译字符串步骤的细化流程示意图;
图7为本发明第三实施例中所述根据触发的翻译文件导入请求中的翻译文件名读取所述翻译文件目录下的翻译文件,并将所述翻译文件中的字符串写入所述语言配置文件步骤的细化流程示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明实施例的主要解决方案是:本发明从触发的多语言检测请求中获取文件目录,并读取该文件目录下的待检测文件和语言配置文件,然后根据该语言配置文件对该待检测文件进行翻译检测,以获取待翻译字符串,并根据该待翻译字符串生成待翻译文件,再然后对该待翻译文件进行翻译,以获取翻译文件,并将该翻译文件存储至翻译文件目录,最后根据触发的翻译文件导入请求中的翻译文件名读取该翻译文件目录下的翻译文件,并将该翻译文件中的字符串写入该语言配置文件。
由于上述适配过程,需要开发人员手动进行,每增加一条文字或者一种语言翻译,适配工作量都是成几何倍数增加,人力成本较高,在适配过程中,难免会出现数据遗漏的情况,无法有效保证代码适配的准确度。
本发明提供一种解决方案,本方案通过对待检测文件进行翻译检测,能够获取待翻译字符串,同时导出该待翻译字符串,生成待翻译文件,自动快速的检测和导出待检测文件中未翻译的字符串,此外,对该待翻译文件进行翻译,以获取翻译文件,并导入该翻译文件,将该翻译文件写入代码中,实现代码的语言适配,上述适配过程,无需用户手动检测待检测文件中未翻译的字符串,极大的减少适配工作量,降低人力成本,有效的保证代码适配的准确度。
如图1所示,图1是本发明实施例方案涉及的硬件运行环境的设备结构示意图。
本发明实施例设备可以是PC等固定式终端设备,也可以是智能手机、平板电脑、便携计算机等可移动式终端设备。
如图1所示,该设备可以包括:处理器1001,例如CPU,通信总线1002,用户接口1003,网络接口1004,存储器1005。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选的用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1005可以是高速RAM存储器,也可以是稳定的存储器(non-volatile memory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
本领域技术人员可以理解,图1中示出的设备结构并不构成对设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图1所示,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及多语言代码适配程序。
在图1所示的设备中,处理器1001可以用于调用存储器1005中存储的多语言代码适配程序,并执行以下步骤:
从触发的多语言检测请求中获取文件目录,并读取所述文件目录下的待检测文件和语言配置文件;
根据所述语言配置文件对所述待检测文件进行翻译检测,以获取待翻译字符串,并根据所述待翻译字符串生成待翻译文件;
对所述待翻译文件进行翻译,以获取翻译文件,并将所述翻译文件存储至翻译文件目录;
根据触发的翻译文件导入请求中的翻译文件名读取所述翻译文件目录下的翻译文件,并将所述翻译文件中的字符串写入所述语言配置文件。
进一步地,所述根据所述语言配置文件对所述待检测文件进行翻译检测,以获取待翻译字符串,并根据所述待翻译字符串生成待翻译文件的步骤包括:
获取所述语言配置文件的配置文件名,并根据所述配置文件名确定翻译语言类型;
根据所述翻译语言类型对所述待检测文件进行翻译检测,以获取待翻译字符串;
计算所述文件目录下所述语言配置文件的配置文件数,并根据所述配置文件数和预设表头列表数确定待翻译文件的表头列表数;
根据所述表头列表数和所述待翻译字符串生成待翻译文件。
进一步地,所述对所述待翻译文件进行翻译,以获取翻译文件,并将所述翻译文件存储至翻译文件目录的步骤包括:
获取所述待翻译文件中每个列表的表头名,并根据所述表头名确定翻译语言类型;
根据所述翻译语言类型翻译所述待翻译文件,以获取翻译文件,并将所述翻译文件存储至翻译文件目录。
进一步地,所述所述根据所述语言配置文件对所述待检测文件进行翻译检测,以获取待翻译字符串的步骤包括:
从所述多语言检测请求中获取所述待检测文件的过滤条件,并根据所述过滤条件过滤所述待检测文件;
根据所述语言配置文件对过滤后的待检测文件进行翻译检测,以获取待翻译字符串。
进一步地,所述根据触发的翻译文件导入请求中的翻译文件名读取所述翻译文件目录下的翻译文件,并将所述翻译文件中的字符串写入所述语言配置文件的步骤包括:
根据触发的翻译文件导入请求中的翻译文件名读取所述翻译文件目录下的翻译文件;
获取所述翻译文件中每个列表的表头名,并获取所述文件目录下每个语言配置文件的配置文件名,以获取配置文件名集;
在所述表头名处于所述配置文件名集时,根据所述表头名获取语言配置文件,并将所述翻译文件中的字符串写入所述语言配置文件。
进一步地,所述根据触发的翻译文件导入请求中的翻译文件名读取所述翻译文件目录下的翻译文件,并将所述翻译文件中的字符串写入所述语言配置文件的步骤还包括:
根据触发的翻译文件导入请求中的翻译文件名读取所述翻译文件目录下的翻译文件;
获取所述翻译文件中每个列表的表头名,并获取所述文件目录下每个语言配置文件的配置文件名,以获取配置文件名集;
在所述表头名未处于所述配置文件名集时,则根据所述表头名建立语言配置文件,并将所述翻译文件中的字符串写入建立后的语言配置文件。
本发明多语言代码适配设备的具体实施例与下述多语言代码适配方法的各具体实施例基本相同,在此不作赘述。
本发明提供一种多语言代码适配方法。
参照图2,图2为本发明多语言代码适配方法第一实施例的流程示意图。
在本实施例中,该多语言代码适配方法包括:
步骤S101,从触发的多语言检测请求中获取文件目录,并读取所述文件目录下的待检测文件和语言配置文件;
该多语言代码适配方法应用于多语言代码适配设备,该多语言代码适配设备包括显示屏、存储器和控制器等,该多语言代码适配设备可以为智能手机和平板电脑等移动终端设备,也可以PC机和一体机等固定终端设备,该多语言代码适配设备存储有多语言代码适配工具,当使用该多语言代码适配工具时,显示用户操作主界面,该用户操作界面显示文件目录选择按钮、翻译检测按钮和翻译导入按钮等,用户可通过手指或鼠标点击文件目录选择按钮、翻译检测按钮和翻译导入按钮等,从而触发不同的用户请求。
当用户通过手指或鼠标点击该文件目录选择按钮时,触发文件目录界面的显示指令,该多语言代码适配设备根据该显示指令显示文件目录选择界面,此时用户可在该文件目录选择界面中选择文件目录,在接收到用户选择的文件目录后,将文件目录选择界面切换为用户操作主界面,此时该用户操作主界面显示用户选择的文件目录。当用户通过手指或鼠标点击翻译检测按钮时,触发多语言检测请求,该多语言检测请求中携带有文件目录,该多语言代码适配设备从触发的多语言检测请求中获取文件目录,读取该文件目录下的待检测文件和语言配置文件,该待检测文件包括需要翻译检测的全部代码,该语言配置文件是根据Android开发标准ISO-639-1进行命名的,表示该待检测文件需要适配的语言,例如,values-ug-rCN表示维吾尔文(中国),values-zh-rCN表示中文(中国),values-zh-rTW表示中文(中国台湾),values-zh-rHK表示中文(中国香港特别行政区),values-en-rUS表示英语(美国),values-en-rGB表示英语(英国),values-ar-rEG表示阿拉伯文(埃及),values-ar-rIL表示阿拉伯文(以色列),values-de-rDE表示德文(德国),values-el-rGR表示希腊文,values-fr-rFR表示表示法文(法国),values-it-rIT表示意大利文(意大利),values-ja-rJP表示日文,values-ko-rKR表示韩文,values-ru-rRU表示俄文等。该语言配置文件可以为一个,也可以为多个。
步骤S102,根据所述语言配置文件对所述待检测文件进行翻译检测,以获取待翻译字符串,并根据预设文件格式导出所述待翻译字符串,以生成待翻译文件。
该多语言代码适配设备在获得语言配置文件和待检测文件后,根据该语言配置文件对该待检测文件进行翻译检测,以获取待翻译字符串,并显示该待翻译字符串,然后在检测到触发的待翻译字符串的导出指令时,根据待翻译字符串生成待翻译文件,该待翻译文件包括待翻译字符串和翻译语言类型等。
具体地,参照图3,图3为图2中该步骤S102的细化流程示意图,该步骤S102包括:
步骤S1021,获取所述语言配置文件的配置文件名,并根据所述配置文件名确定翻译语言类型;
步骤S1022,根据所述翻译语言类型对所述待检测文件进行翻译检测,以获取待翻译字符串;
该多语言代码适配设备获取该语言配置文件的配置文件名,并根据该配置文件名确定翻译语言类型,例如,该配置文件名为values-de-rDE,则翻译语言类型为德文(德国),又例如,该配置文件名为values-en-rUS,翻译语言类型为英语(美国)。然后根据该翻译语言类型对该待检测文件进行翻译检测,以获取待翻译字符串,即检测出需要翻译成该翻译语言类型的字符串。
步骤S1023,计算所述文件目录下所述语言配置文件的配置文件数,并根据所述配置文件数和预设表头列表数确定待翻译文件的表头列表数;
步骤S1024,根据所述表头列表数和所述待翻译字符串生成待翻译文件。
该多语言代码适配设备获得待翻译字符串后,计算文件目录下该语言配置文件的配置文件数,并根据该配置文件数和预设表头列表数确定待翻译文件的表头列表数,然后根据该表头列表数和该待翻译字符串生成待翻译文件,即在预设表头列表的基础上,新增数量为该配置文件数的表头列表。该预设表头列表数为该待翻译文件的默认表头列表数量,包括待翻译字符串的列表表头和默认值列表表头,该表头列表数为配置文件数和预设表头列表数之和。该待翻译文件是xls格式的Excel文件,图4为本发明实施例中待翻译文件的表头示意图,如图4所示,该待翻译文件中显示有待翻译字符串表头”key“、待翻译字符串为“hello”,默认值表头为”默认值(values)“和各需要翻译的语言类型,包括”中文(中国)(values-zh-rCN)“、”保加利亚语(values-bg)“和”波斯尼亚语(values-bs)“等。
步骤S103,对所述待翻译文件进行翻译,以获取翻译文件,并将所述翻译文件存储至翻译文件目录;
该多语言代码适配设备生成待翻译文件后,对该待翻译文件进行翻译,以获取翻译文件,并将该翻译文件存储至翻译文件目录,具体地,参照图5,图5为图2中该步骤S103的细化流程示意图,该步骤S103包括:
步骤S1031,获取所述待翻译文件中每个列表的表头名,并根据所述表头名确定翻译语言类型;
步骤S1032,根据所述翻译语言类型翻译所述待翻译文件,以获取翻译文件,并将所述翻译文件存储至翻译文件目录。
该多语言代码适配设备获取该待翻译文件中每个列表的表头名,并根据该表头名确定翻译语言类型,例如,表头名为保加利亚语(values-bg),则翻译语言类型为保加利亚语,又例如,表头名为波斯尼亚语(values-bs),则翻译语言类型为波斯尼亚语,再例如,表头名为德语(values-de-rDE),则翻译语言类型为德语。然后根据该翻译语言类型翻译该待翻译文件,以获取翻译文件,并将该翻译文件存储至翻译文件目录,即根据确定的翻译语言类型,如德语,进一步确定翻译规则,然后根据该翻译规则遍历该待翻译文件中的待翻译字符串,将该待翻译字符串翻译为该翻译语言类型的字符串,并将翻译后的字符串写入对应的单元格中,如待翻译字符串为英语,而翻译语言类型为德语,则将英语的待翻译字符串翻译为德语的字符串。不同翻译语言类型对应不同的翻译规则,该翻译文件目录可根据用户选择进行设置。
在具体实施中,该待翻译文件中的翻译语言类型为多个时,即需要将待翻译文件翻译为多种语言类型的翻译文件,则首先确定翻译语言类型集,然后逐一从该翻译语言类型集中选择翻译语言类型,并将该待翻译文件中的全部待翻译字符串翻译为选择的翻译语言类型的字符串,直至该翻译语言类型集中的语言类型均被获取,此外,还可以逐一将待翻译文件中的待翻译字符串翻译为该翻译语言类型集中每个翻译语言类型的字符串,例如,该翻译语言类型集包括保加利亚语、波斯尼亚语和德语,则将待翻译文件中的待翻译字符串翻译为保加利亚语、波斯尼亚语和德语的字符串,然后进行下一个待翻译字符串的翻译,直至待翻译文件中的待翻译字符串全部完成翻译。在另一具体实施中,还可以将该待翻译文件传输给第三方翻译人员进行翻译,然后第三方翻译人员反馈翻译后的文件文件,将该翻译文件存储在翻译文件目录。
步骤S104,根据触发的翻译文件导入请求中的翻译文件名读取所述翻译文件目录下的翻译文件,并将所述翻译文件中的字符串写入所述语言配置文件。
当用户通过手指或鼠标点击该翻译导入按钮时,该多语言代码适配设备显示翻译文件的选择界面,用户可基于该选择界面选择翻译文件,在选择翻译文件后,触发翻译文件导入请求,该翻译文件导入请求包括选择的翻译文件目录和翻译文件名,该多语言代码适配设备从触发的翻译文件导入请求中获取翻译文件名和翻译文件目录,并根据该翻译文件名该翻译文件目录下的翻译文件,然后将该翻译文件中的字符串写入该语言配置文件中。在具体实施中,当该翻译文件中的字符串的语言类型为多种,即需要适配多种语言的代码,则根据该翻译文件中的表头名确定语言配置文件,以及与该语言配置文件对应的字符串,并将对应的字符串写入该语言配置文件中。
在本实施例中,本方案通过对待检测文件进行翻译检测,能够获取待翻译字符串,同时导出该待翻译字符串,生成待翻译文件,自动快速的检测和导出待检测文件中未翻译的字符串,实现待翻译字符串一键获取,此外,对该待翻译文件进行翻译,以获取翻译文件,并导入该翻译文件,将该翻译文件写入代码中,实现代码的语言适配,上述适配过程,无需用户手动检测待检测文件中未翻译的字符串,极大的减少适配工作量,降低人力成本,有效的保证代码适配的准确度。
进一步的,参照图6,基于上述第一实施例,提出了本发明多语言代码适配方法的第二实施例,与前述实施例的区别在于,该步骤S102还包括:
步骤S1025,从所述多语言检测请求中获取所述待检测文件的过滤条件,并根据所述过滤条件过滤所述待检测文件;
该多语言代码适配设备在获取待检测文件和语言配置文件后,从该多语言检测请求中获取该待检测文件的过滤条件,并根据该过滤条件过滤该待检测文件,该过滤条件为过滤包含特殊字段的字符串,该特殊字段还可以为translatable等,可根据实际情况进行设置,在本实施例中该特殊字段为translatable。
步骤S1026,根据所述语言配置文件对过滤后的待检测文件进行翻译检测,以获取待翻译字符串。
将该待检测文件过滤后,根据该语言配置文件对过滤后的待检测文件进行翻译检测,以获取待翻译字符串,即获取该语言配置文件的配置文件名,并根据该配置文件名确定翻译语言类型,例如,该配置文件名为values-de-rDE,则翻译语言类型为德文(德国),又例如,该配置文件名为values-en-rUS,翻译语言类型为英语(美国)。然后根据该翻译语言类型对过滤后的待检测文件进行翻译检测,以获取待翻译字符串,即检测出需要翻译成该翻译语言类型的字符串。
在本实施例中,本发明通过设置待检测文件的过滤条件,能够过滤掉无需翻译的字符串,减少待翻译字符串数量,此外,有的字符串具有通用含义,在翻译之后,含义发生变化,容易导致代码不可用,因此通过设置过滤条件,可过滤掉具有特定含义的字符串,保证代码的可用性。
进一步地,参照图7,基于上述第一或第二实施例,提出了本发明多语言代码适配方法的第三实施例,与前述实施例的区别在于,该步骤S104包括:
步骤S1041,根据触发的翻译文件导入请求中的翻译文件名读取所述翻译文件目录下的翻译文件;
当用户通过手指或鼠标点击该翻译导入按钮时,该多语言代码适配设备显示翻译文件的选择界面,用户可基于该选择界面选择翻译文件,在选择翻译文件后,触发翻译文件导入请求,从触发的翻译文件导入请求中获取翻译文件名和翻译文件目录,并根据该翻译文件名该翻译文件目录下的翻译文件。
步骤S1042,获取所述翻译文件中每个列表的表头名,并获取所述文件目录下每个语言配置文件的配置文件名,以获取配置文件名集;
该多语言代码适配设备在获得翻译文件后,获取该翻译文件中每个列表的表头名,并获取该文件目录下每个语言配置文件的配置文件名,以获取配置文件名集,该表头名与该配置文件名的命名标准相同,均为Android开发标准ISO-639-1。在得到表头名和配置文件名集时,判断该表头名是否处于该配置文件名集,如果该表头名处于该配置文件名集,则表示文件目录下存在与该表头名对应的语言配置文件,如果该表头名未处于该配置文件名集,则表示文件目录下不存在与该表头名对应的语言配置文件。
步骤S1043,在所述表头名处于所述配置文件名集时,根据所述表头名获取语言配置文件,并将所述翻译文件中的字符串写入所述语言配置文件。
在该表头名处于该配置文件名集时,根据该表头名获取语言配置文件,并将该翻译文件中的字符串写入该语言配置文件,以实现代码的语言适配,进一步地,在该表头未处于该配置文件名集时,根据该表头名建立语言配置文件,并将该翻译文件中的字符串写入建立后的语言配置文件,以实现代码的语言适配。
在本实施例中,本发明根据翻译文件中列表的表头名实现将翻译文件中的字符串对应写入语言配置文件,实现代码的多语言适配。
此外,本发明实施例还提出一种计算机可读存储介质,所述计算机可读存储介质上存储有多语言代码适配程序,所述多语言代码适配程序被处理器执行时实现以下步骤:
从触发的多语言检测请求中获取文件目录,并读取所述文件目录下的待检测文件和语言配置文件;
根据所述语言配置文件对所述待检测文件进行翻译检测,以获取待翻译字符串,并根据所述待翻译字符串生成待翻译文件;
对所述待翻译文件进行翻译,以获取翻译文件,并将所述翻译文件存储至翻译文件目录;
根据触发的翻译文件导入请求中的翻译文件名读取所述翻译文件目录下的翻译文件,并将所述翻译文件中的字符串写入所述语言配置文件。
进一步地,所述根据所述语言配置文件对所述待检测文件进行翻译检测,以获取待翻译字符串,并根据所述待翻译字符串生成待翻译文件的步骤包括:
获取所述语言配置文件的配置文件名,并根据所述配置文件名确定翻译语言类型;
根据所述翻译语言类型对所述待检测文件进行翻译检测,以获取待翻译字符串;
计算所述文件目录下所述语言配置文件的配置文件数,并根据所述配置文件数和预设表头列表数确定待翻译文件的表头列表数;
根据所述表头列表数和所述待翻译字符串生成待翻译文件。
进一步地,所述对所述待翻译文件进行翻译,以获取翻译文件,并将所述翻译文件存储至翻译文件目录的步骤包括:
获取所述待翻译文件中每个列表的表头名,并根据所述表头名确定翻译语言类型;
根据所述翻译语言类型翻译所述待翻译文件,以获取翻译文件,并将所述翻译文件存储至翻译文件目录。
进一步地,所述根据所述语言配置文件对所述待检测文件进行翻译检测,以获取待翻译字符串的步骤包括:
从所述多语言检测请求中获取所述待检测文件的过滤条件,并根据所述过滤条件过滤所述待检测文件;
根据所述语言配置文件对过滤后的待检测文件进行翻译检测,以获取待翻译字符串。
进一步地,所述根据触发的翻译文件导入请求中的翻译文件名读取所述翻译文件目录下的翻译文件,并将所述翻译文件中的字符串写入所述语言配置文件的步骤包括:
根据触发的翻译文件导入请求中的翻译文件名读取所述翻译文件目录下的翻译文件;
获取所述翻译文件中每个列表的表头名,并获取所述文件目录下每个语言配置文件的配置文件名,以获取配置文件名集;
在所述表头名处于所述配置文件名集时,根据所述表头名获取语言配置文件,并将所述翻译文件中的字符串写入所述语言配置文件。
进一步地,所述根据触发的翻译文件导入请求中的翻译文件名读取所述翻译文件目录下的翻译文件,并将所述翻译文件中的字符串写入所述语言配置文件的步骤还包括:
根据触发的翻译文件导入请求中的翻译文件名读取所述翻译文件目录下的翻译文件;
获取所述翻译文件中每个列表的表头名,并获取所述文件目录下每个语言配置文件的配置文件名,以获取配置文件名集;
在所述表头名未处于所述配置文件名集时,则根据所述表头名建立语言配置文件,并将所述翻译文件中的字符串写入建立后的语言配置文件。
本发明计算机可读存储介质的具体实施例与上述多语言代码适配方法的各具体实施例基本相同,在此不作赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (7)
1.一种多语言代码适配方法,其特征在于,所述多语言代码适配方法包括以下步骤:
从触发的多语言检测请求中获取文件目录,并读取所述文件目录下的待检测文件和语言配置文件;
根据所述语言配置文件对所述待检测文件进行翻译检测,以获取待翻译字符串,并根据所述待翻译字符串生成待翻译文件;
对所述待翻译文件进行翻译,以获取翻译文件,并将所述翻译文件存储至翻译文件目录;
根据触发的翻译文件导入请求中的翻译文件名读取所述翻译文件目录下的翻译文件,并将所述翻译文件中的字符串写入所述语言配置文件;
其中,根据所述语言配置文件对所述待检测文件进行翻译检测,以获取待翻译字符串,并根据所述待翻译字符串生成待翻译文件的步骤包括:
获取所述语言配置文件的配置文件名,并根据所述配置文件名确定翻译语言类型;
根据所述翻译语言类型对所述待检测文件进行翻译检测,以获取待翻译字符串;
计算所述文件目录下所述语言配置文件的配置文件数,并根据所述配置文件数和预设表头列表数确定待翻译文件的表头列表数;
根据所述表头列表数和所述待翻译字符串生成待翻译文件。
2.如权利要求1所述的多语言代码适配方法,其特征在于,所述对所述待翻译文件进行翻译,以获取翻译文件,并将所述翻译文件存储至翻译文件目录的步骤包括:
获取所述待翻译文件中每个列表的表头名,并根据所述表头名确定翻译语言类型;
根据所述翻译语言类型翻译所述待翻译文件,以获取翻译文件,并将所述翻译文件存储至翻译文件目录。
3.如权利要求1或2所述的多语言代码适配方法,其特征在于,所述根据所述语言配置文件对所述待检测文件进行翻译检测,以获取待翻译字符串的步骤包括:
从所述多语言检测请求中获取所述待检测文件的过滤条件,并根据所述过滤条件过滤所述待检测文件;
根据所述语言配置文件对过滤后的待检测文件进行翻译检测,以获取待翻译字符串。
4.如权利要求1或2所述的多语言代码适配方法,其特征在于,所述根据触发的翻译文件导入请求中的翻译文件名读取所述翻译文件目录下的翻译文件,并将所述翻译文件中的字符串写入所述语言配置文件的步骤包括:
根据触发的翻译文件导入请求中的翻译文件名读取所述翻译文件目录下的翻译文件;
获取所述翻译文件中每个列表的表头名,并获取所述文件目录下每个语言配置文件的配置文件名,以获取配置文件名集;
在所述表头名处于所述配置文件名集时,根据所述表头名获取语言配置文件,并将所述翻译文件中的字符串写入所述语言配置文件。
5.如权利要求4所述的多语言代码适配方法,其特征在于,所述获取所述翻译文件中每个列表的表头名,并获取所述文件目录下每个语言配置文件的配置文件名,以获取配置文件名集的步骤之后还包括:
在所述表头名未处于所述配置文件名集时,则根据所述表头名建立语言配置文件,并将所述翻译文件中的字符串写入建立后的语言配置文件。
6.一种多语言代码适配设备,其特征在于,所述多语言代码适配设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的多语言代码适配程序,所述多语言代码适配程序被所述处理器执行时实现如权利要求1-5任一项所述方法的步骤。
7.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有多语言代码适配程序,所述多语言代码适配程序被处理器执行时实现如权利要求1-5任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710664210.4A CN107451128B (zh) | 2017-08-04 | 2017-08-04 | 多语言代码适配方法、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710664210.4A CN107451128B (zh) | 2017-08-04 | 2017-08-04 | 多语言代码适配方法、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107451128A CN107451128A (zh) | 2017-12-08 |
CN107451128B true CN107451128B (zh) | 2021-09-28 |
Family
ID=60490232
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710664210.4A Active CN107451128B (zh) | 2017-08-04 | 2017-08-04 | 多语言代码适配方法、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107451128B (zh) |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110554893B (zh) * | 2018-05-31 | 2023-08-22 | 马上消费金融股份有限公司 | 软件系统多语言适配方法、装置、设备及可读存储介质 |
CN109062906B (zh) * | 2018-06-15 | 2022-07-01 | 出门问问创新科技有限公司 | 程序语言资源的翻译方法及装置 |
CN109101302B (zh) * | 2018-06-29 | 2022-02-25 | 北京金山安全软件有限公司 | 一种文案导入方法、装置、电子设备及存储介质 |
CN109614593B (zh) * | 2018-11-09 | 2023-06-30 | 深圳市鼎阳科技股份有限公司 | 人机交互设备及其多语种实现方法、装置及存储介质 |
CN111367595B (zh) * | 2018-12-25 | 2024-03-26 | 阿里巴巴集团控股有限公司 | 数据处理方法、程序运行方法、装置及处理设备 |
CN110134586A (zh) * | 2019-04-12 | 2019-08-16 | 深圳壹账通智能科技有限公司 | 代码片段纠正方法、装置、计算机设备和存储介质 |
CN110134397A (zh) * | 2019-04-12 | 2019-08-16 | 深圳壹账通智能科技有限公司 | 代码片段翻译方法、装置、计算机设备和存储介质 |
CN110471659B (zh) * | 2019-08-16 | 2023-07-21 | 珠海格力电器股份有限公司 | 多语言实现方法和系统、人机界面组态软件端和设备端 |
CN110673915A (zh) * | 2019-09-24 | 2020-01-10 | 四川天邑康和通信股份有限公司 | 一种用于ONU的web管理页面语言切换方法 |
CN112988292A (zh) * | 2019-12-17 | 2021-06-18 | 青岛海信传媒网络技术有限公司 | 一种多语言翻译文件生成方法及终端 |
CN111240790B (zh) * | 2020-01-21 | 2023-06-27 | 广州市百果园信息技术有限公司 | 一种应用的多语言适配方法、装置、客户端和存储介质 |
CN111652003B (zh) * | 2020-06-09 | 2023-08-15 | 广东小天才科技有限公司 | 语言翻译处理方法、装置、电子设备和介质 |
CN112486623B (zh) * | 2020-12-16 | 2024-09-17 | 恩亿科(北京)数据科技有限公司 | 基于界面自动支持多语言的开发方法、系统和电子设备 |
CN112650534A (zh) * | 2020-12-24 | 2021-04-13 | 深圳Tcl新技术有限公司 | 应用字符资源同步方法、系统及计算机可读存储介质 |
CN112965772A (zh) * | 2021-03-02 | 2021-06-15 | 网易(杭州)网络有限公司 | web页面显示方法、装置和电子设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101158894A (zh) * | 2006-10-08 | 2008-04-09 | 上海科泰世纪科技有限公司 | 一种构件化软件系统中动态自动适配的编程系统及方法 |
CN104317788A (zh) * | 2014-11-03 | 2015-01-28 | 上海鼎讯电子有限公司 | Android多国语言翻译方法和装置 |
CN106776584A (zh) * | 2016-11-24 | 2017-05-31 | 网易(杭州)网络有限公司 | 文字显示方法、翻译表生成方法、文件翻译方法及装置 |
CN106843986A (zh) * | 2017-02-15 | 2017-06-13 | 福建天晴在线互动科技有限公司 | 一种移动终端的语言配置方法及系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9047276B2 (en) * | 2012-11-13 | 2015-06-02 | Red Hat, Inc. | Automatic translation of system messages using an existing resource bundle |
-
2017
- 2017-08-04 CN CN201710664210.4A patent/CN107451128B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101158894A (zh) * | 2006-10-08 | 2008-04-09 | 上海科泰世纪科技有限公司 | 一种构件化软件系统中动态自动适配的编程系统及方法 |
CN104317788A (zh) * | 2014-11-03 | 2015-01-28 | 上海鼎讯电子有限公司 | Android多国语言翻译方法和装置 |
CN106776584A (zh) * | 2016-11-24 | 2017-05-31 | 网易(杭州)网络有限公司 | 文字显示方法、翻译表生成方法、文件翻译方法及装置 |
CN106843986A (zh) * | 2017-02-15 | 2017-06-13 | 福建天晴在线互动科技有限公司 | 一种移动终端的语言配置方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN107451128A (zh) | 2017-12-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107451128B (zh) | 多语言代码适配方法、设备及存储介质 | |
WO2018077085A1 (zh) | 应用程序处理方法、装置及存储介质 | |
US9886430B2 (en) | Entity based content selection | |
US10713437B2 (en) | Method and apparatus for identifying questionable line break characters in an application | |
US20170083495A1 (en) | Method for Modifying Webpage and Apparatus for Modifying Webpage | |
CN106371819B (zh) | 参数获取方法、装置及电子设备 | |
WO2019042349A1 (zh) | 操作系统框架的翻译方法、移动终端和存储装置 | |
JP6859504B2 (ja) | データを抽出するための方法、デバイス及び端末デバイス | |
CN109271323B (zh) | 页面元素的处理方法、装置、测试设备及存储介质 | |
CN113760266B (zh) | 一种功能模块文件的创建方法、创建装置和电子设备 | |
CN105094562A (zh) | 一种信息处理方法及终端 | |
JPWO2011148719A1 (ja) | 情報処理装置、gui操作支援方法およびgui操作支援プログラム | |
US11853685B2 (en) | Transformation of resource files using mapped keys for tracking content location | |
WO2014177033A1 (zh) | 输入法调用方法、调用装置和终端 | |
US20180088766A1 (en) | Folder creating and cancelling method and system applied on touch screen | |
US10254959B2 (en) | Method of inputting a character into a text string using a sliding touch gesture, and electronic device therefor | |
CN113626441A (zh) | 基于扫描设备的文本管理方法、装置、设备以及存储介质 | |
CN107168549B (zh) | 输入方法、显示装置及计算机可读存储介质 | |
WO2019095578A1 (zh) | 校验输入内容的方法、装置、设备及计算机可读存储介质 | |
WO2016065903A1 (zh) | 内容输入方法、系统、设备及非易失性计算机存储介质 | |
CN115543324A (zh) | 交互界面的生成方法、装置、设备及介质 | |
CN112035373B (zh) | 基本测试脚本的测试方法、装置、服务器及介质 | |
CN113268617A (zh) | 论文元数据的检测方法及装置 | |
CN105700813A (zh) | 一种信息处理方法及终端 | |
CN112487759A (zh) | 一种文档页码设置方法、装置、电子设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |