CN111240790A - 一种应用的多语言适配方法、装置、客户端和存储介质 - Google Patents

一种应用的多语言适配方法、装置、客户端和存储介质 Download PDF

Info

Publication number
CN111240790A
CN111240790A CN202010071982.9A CN202010071982A CN111240790A CN 111240790 A CN111240790 A CN 111240790A CN 202010071982 A CN202010071982 A CN 202010071982A CN 111240790 A CN111240790 A CN 111240790A
Authority
CN
China
Prior art keywords
application
language
target sub
character string
adaptation
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
CN202010071982.9A
Other languages
English (en)
Other versions
CN111240790B (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.)
Bigo Technology Pte Ltd
Original Assignee
Guangzhou Baiguoyuan Information Technology Co 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 Guangzhou Baiguoyuan Information Technology Co Ltd filed Critical Guangzhou Baiguoyuan Information Technology Co Ltd
Priority to CN202010071982.9A priority Critical patent/CN111240790B/zh
Publication of CN111240790A publication Critical patent/CN111240790A/zh
Application granted granted Critical
Publication of CN111240790B publication Critical patent/CN111240790B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • G06F9/454Multi-language systems; Localisation; Internationalisation
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Machine Translation (AREA)
  • Stored Programmes (AREA)

Abstract

本发明实施例公开了一种应用的多语言适配方法、装置、客户端和存储介质。其中,该方法包括:在原生应用中访问目标子应用时,确定所述目标子应用中存在多语言适配需求的字符串;以所述字符串为键名,在所述目标子应用的适配语言码对应的键值对集合中确定出所述字符串的适配语言翻译。本发明实施例提供的技术方案,实现原生应用内子应用的多语言适配,无需明确各个字符串对应的多语言转换函数,直接将字符串作为键值对的键名,解决多语言转换函数不支持由字符串中特殊字符命名的问题,从而保证目标子应用中的各字符串在多语言适配下的动态调用,提高多语言适配的准确性。

Description

一种应用的多语言适配方法、装置、客户端和存储介质
技术领域
本发明实施例涉及互联网多语言页面显示领域,尤其涉及一种应用的多语言适配方法、装置、客户端和存储介质。
背景技术
目前,针对互联网下各类原生应用中所包含的不同页面的设计需求,可以采用Flutter技术预先开发出该原生应用中不同页面对应的子应用,后续将该子应用嵌入到原生应用中,来实现原生应用下的不同页面设计。
而由于不同地区的终端上均允许配置该原生应用,该原生应用也支持多语言下的选择配置,此时要求原生应用内嵌入的各个子应用也能够支持多语言配置,以展示与所处地区或者原生应用当前选用的语言相匹配的语言内容;现有的多语言配置方案中通常首先在子应用代码中筛选出存在多语言转换需求的初始字符串,并根据当前选用的代码编程语言下的函数定义限制对该初始字符串进行预处理,如去掉初始字符串中的某些特殊符号等,后续将预处理后的剩余字符串直接作为该初始字符串对应的多语言转换函数的名称。
此时,在原生应用内访问所嵌入的某个子应用时,会收到服务器下发的该子应用代码中存在多语言转换需求的初始字符串,而由于不同初始字符串的预处理操作各不相同,因此无法明确服务器本次下发的初始字符串对应的多语言转换函数,从而无法得出对应的语言内容,此时现有的多语言配置方案不支持特殊字符命名的多语言转换函数,以及无法实现不同初始字符串在多语言适配下的动态调用。
发明内容
本发明实施例提供了一种应用的多语言适配方法、装置、客户端和存储介质,实现原生应用内子应用的多语言适配,提高多语言适配的准确性。
第一方面,本发明实施例提供了一种应用的多语言适配方法,该方法包括:
在原生应用中访问目标子应用时,确定所述目标子应用中存在多语言适配需求的字符串;
以所述字符串为键名,在所述目标子应用的适配语言码对应的键值对集合中确定出所述字符串的适配语言翻译。
第二方面,本发明实施例提供了一种应用的多语言适配装置,该装置包括:
字符串确定模块,用于在原生应用中访问目标子应用时,确定所述目标子应用中存在多语言适配需求的字符串;
多语言适配模块,用于以所述字符串为键名,在所述目标子应用的适配语言码对应的键值对集合中确定出所述字符串的适配语言翻译。
第三方面,本发明实施例提供了一种客户端,该客户端包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本发明任意实施例所述的应用的多语言适配方法。
第四方面,本发明实施例提供了一种应用的多语言适配系统,该系统包括:上述第三方面中所述的客户端以及与所述客户端通信连接的适配服务器;
所述适配服务器在检测到所述客户端在原生应用中访问目标子应用时,向所述客户端下发所述目标子应用中存在多语言适配需求的字符串;所述客户端以所述字符串为键名,在所述目标子应用的适配语言码对应的键值对集合中确定出所述字符串的适配语言翻译。
第五方面,本发明实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现本发明任意实施例所述的应用的多语言适配方法。
本发明实施例提供的一种应用的多语言适配方法、装置、客户端和存储介质,预先为原生应用内的每一子应用在不同语言码下设定对应语言翻译的键值对集合,在原生应用中访问目标子应用时,直接以该目标子应用中存在多语言适配需求的各个字符串为键名,从该目标子应用在当前的适配语言码下设定的键值对集合中不断确定出每一字符串的适配语言翻译,从而实现原生应用内子应用的多语言适配,无需明确各个字符串对应的多语言转换函数,直接将字符串作为键值对的键名,解决多语言转换函数不支持由字符串中特殊字符命名的问题,从而保证目标子应用中的各字符串在多语言适配下的动态调用,提高多语言适配的准确性。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
图1A为本发明实施例一提供的一种应用的多语言适配方法的流程图;
图1B为本发明实施例一提供的应用的多语言适配过程的原理示意图;
图2A为本发明实施例二提供的一种应用的多语言适配方法的流程图;
图2B为本发明实施例二提供的方法中对目标子应用中的各个字符串进行多语言适配的原理示意图;
图3A为本发明实施例三提供的应用的多语言适配方法的流程图;
图3B为本发明实施例三提供的方法中构建各个子应用在不同语言码下的键值对集合的原理示意图;
图4为本发明实施例四提供的一种应用的多语言适配系统的原理示意图;
图5为本发明实施例五提供的一种应用的多语言适配装置的结构示意图;
图6为本发明实施例六提供的一种客户端的结构示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。此外,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。
实施例一
图1A为本发明实施例一提供的一种应用的多语言适配方法的流程图,本实施例可适用于任一种对原生应用内的子应用进行多语言适配的情况中。本实施例提供的一种应用的多语言适配方法可以由本发明实施例提供的应用的多语言适配装置来执行,该装置可以通过软件和/或硬件的方式来实现,并集成在执行本方法的客户端中,该客户端可以是配置有原生应用的终端等。
具体的,参考图1A,该方法可以包括如下步骤:
S110,在原生应用中访问目标子应用时,确定目标子应用中存在多语言适配需求的字符串。
具体的,本实施例中的原生应用为基于iOS/Android技术在系统上所开发的宿主应用本身,例如用户终端上安装的直播软件或会话软件等各类应用程序(Application,App),而由于互联网下的各类原生应用中均包含有多种显示该原生应用下各类内容的界面视图,因此需要在原生应用中预先开发多种用于显示各类应用内容下的页面视图,本实施例中可以设定每个页面视图均对应一个子应用。此时,在各个子应用在页面显示时,需要与用户在系统默认设置的显示语言或者指定该原生应用选用的显示语言所匹配,每个子应用中会相对存在多个需要进行多语言适配的字符串,例如该字符串可以为各个子应用需要显示在终端界面上的文字等。
可选的,在原生应用中访问某一目标子应用时,为了保证后续该目标子应用与原生应用的显示语言适配性,首先可以通过解析该目标子应用在开发时生成的原始代码文件,从而确定出需要在终端界面上显示的具有多语言适配需求的各个字符串,以便后续对每一字符串进行多语言适配。
S120,以字符串为键名,在目标子应用的适配语言码对应的键值对集合中确定出字符串的适配语言翻译。
可选的,为了保证原生应用内每一子应用在页面显示时的语言适配性,本实施例会预先在多个不同语言码下为原生应用内的每一子应用分别设定对应的键值对集合,该键值对集合中记录有对应子应用自身内存在多语言适配需求的各个字符串以及每一字符串在对应语言码下的语言翻译结果。示例性的,如图1B所示,原生应用内每一子应用在不同语言码下的键值对集合中分别设定该子应用中存在多语言适配需求的各个字符串为对应键值对的键,该字符串在对应语言码下的语言翻译结果为该对应键值对的值,从而生成每一子应用的各个字符串在不同语言码下的键值对集合。
具体的,在确定出原生应用中当前访问的目标子应用中存在多语言适配需求的字符串后,为了保证该目标子应用与原生应用的语言适配,首先需要根据原生应用或系统默认选用的语言码确定出该目标子应用的适配语言码,如图1B所示,进而在原生应用内的每一子应用在不同语言码下分别设定对应的键值对集合中查找出该目标子应用在该适配语言码下预先设定的键值对集合,进而依次以该目标子应用中存在多语言适配需求的每一字符串为键名,在该目标子应用的适配语言码下对应的键值对集合中查找出目标子应用中各个字符串在适配语言码下的适配语言翻译,从而实现原生应用内各个子应用的多语言适配,无需明确各个字符串对应的多语言转换函数,直接将存在多语言适配需求的字符串作为键值对的键名,解决多语言转换函数不支持由字符串中特殊字符命名的问题,从而保证目标子应用中的各字符串在多语言适配下的动态调用,提高多语言适配的准确性。
此外,本实施例在目标子应用的适配语言码对应的键值对集合中确定出每一字符串的适配语言翻译之后,还可以包括:在原生应用中展示字符串的适配语言翻译。
具体的,在原生应用显示给用户的视图页面中的对应位置分别展示各个字符串在转换为适配语言码后的适配语言翻译,从而使用户能够浏览目标子应用在适配语言码下的信息,实现原生应用内各个子应用的多语言适配。
本实施例提供的技术方案,预先为原生应用内的每一子应用在不同语言码下设定对应语言翻译的键值对集合,在原生应用中访问目标子应用时,直接以该目标子应用中存在多语言适配需求的各个字符串为键名,从该目标子应用在当前的适配语言码下设定的键值对集合中不断确定出每一字符串的适配语言翻译,从而实现原生应用内子应用的多语言适配,无需明确各个字符串对应的多语言转换函数,直接将字符串作为键值对的键名,解决多语言转换函数不支持由字符串中特殊字符命名的问题,从而保证目标子应用中的各字符串在多语言适配下的动态调用,提高多语言适配的准确性。
实施例二
图2A为本发明实施例二提供的一种应用的多语言适配方法的流程图,图2B为本发明实施例二提供的方法中对目标子应用中的各个字符串进行多语言适配的原理示意图。本实施例是在上述实施例的基础上进行优化。具体的,如图2A所示,本实施例中对于目标子应用中存在多语言适配需求的字符串的确定过程和每一字符串的多语言适配过程进行详细的解释说明。
可选的,如图2A所示,本实施例中可以包括如下步骤:
S210,在原生应用中访问目标子应用时,通过适配服务器在目标子应用的代码文件中确定出存在多语言适配需求的字符串。
可选的,由于本实施例会采用Flutter技术来开发原生应用内的各个子应用,后续将开发完成的各个子应用嵌入到原生应用中,此时会先将各个子应用对应开发后生成的代码文件存储在相应的适配服务器中,由该适配服务器后续确定各个子应用的代码文件中存在多语言适配需求的字符串。
具体的,在原生应用中访问目标子应用时,客户端会生成该目标子应用的访问指令,并上报给适配服务器,如图2B所示,由适配服务器根据该访问指令在预先开发存储的各个子应用的代码文件中查找出该目标子应用的代码文件,进而解析该目标子应用的代码文件中各个字符串在视图页面上的显示类型,从而确定出该目标子应用的代码文件中存在多语言适配需求的各个字符串,并将存在多语言适配需求的每一字符串下发给客户端,由客户端对每一字符串进行多语言适配,以实现目标子应用的语言适配性。
S220,确定目标子应用预先在适配语言码下设定的键值对集合。
具体的,在确定出目标子应用中存在多语言适配需求的各个字符串后,首先根据原生应用或系统默认选用的语言码确定出该目标子应用的适配语言码,进而在原生应用内的每一子应用在不同语言码下分别设定对应的键值对集合中查找出该目标子应用在该适配语言码下预先设定的键值对集合,以便后续在该键值对集合中查找该目标子应用中存在多语言适配需求的每一字符串对应的适配语言翻译。
S230,以字符串为键名,判断是否在该键值对集合中查找出该字符串对应的目标键值对,若是,执行S240;若否,执行S250。
可选的,由于原生应用内的各个子应用在视图页面内显示时,本次存在多语言适配需求的字符串可能是原生应用的名称等原生应用内已完成翻译的字符串,而目标子应用预先在适配语言码下设定的键值对集合中仅存储该目标子应用自身在该适配语言码下的语言翻译结果,因此在确定出存在多语言适配需求的各个字符串后,需要以每一字符串为键名,在该目标子应用的适配语言码下的键值对集合中依次查找各个字符串对应的目标键值对,而由于当前的字符串可能为原生应用自身需要在目标子应用下展示的字符串,因此该键值对集合中可能不包含该字符串,此时本实施例可以分别以每一字符串为键名,首先依次判断在该键值对集合中是否能够查找出该字符串对应的目标键值对,以确定当前的字符串为目标子应用自身翻译的,还是原生应用自身翻译的,以便后续执行不同的操作。
S240,根据目标键值对中的语言适配函数确定字符串在适配语言码下的适配语言翻译。
可选的,针对每一存在多语言适配需求的字符串,如果在该目标子应用的适配语言码下的键值对集合中查找出该字符串对应的目标键值对,则首先获取该目标键值对中预先记录的对该字符串进行适配语言码转换的语言适配函数,如图2B所示,根据该语言适配函数对该字符串进行适配语言码的翻译,从而得到该字符串在适配语言码下的适配语言翻译。
S250,通过目标子应用和原生应用之间的桥接通道,从原生应用预先在适配语言码下设定的键值对集合中确定字符串的适配语言翻译。
可选的,针对每一存在多语言适配需求的字符串,如果在该目标子应用的适配语言码下的键值对集合中未查找到该字符串对应的目标键值对,说明该字符串为原生应用自身翻译的字符串,此时可以通过预先在目标子应用和原生应用之间所建立的桥接通道,如图2B所示,获取原生应用预先在该适配语言码下设定的键值对集合,进而以该字符串为键名,在该键值对集合中查找出对应的原生键值对,由该原生键值对中记录的对该字符串进行适配语言码转换的语言适配函数,根据该语言适配函数对该字符串进行适配语言码的翻译,从而得到原生应用内该字符串在适配语言码下的适配语言翻译;此时对于存在多语言适配需求的每一字符串,均采用上述相同的步骤,确定该字符串在适配语言码下的适配语言翻译,从而实现原生应用内子应用的多语言适配。
本实施例提供的技术方案,预先为原生应用内的每一子应用在不同语言码下设定对应语言翻译的键值对集合,在原生应用中访问目标子应用时,直接以该目标子应用中存在多语言适配需求的各个字符串为键名,从该目标子应用在当前的适配语言码下设定的键值对集合中或者原生应用自身在适配语言码的键值对集合中依次确定出每一字符串的适配语言翻译,从而跨平台实现原生应用内子应用的多语言适配,保证目标子应用在多语言适配下的多样性,实现目标子应用中的各字符串在多语言适配下的动态调用,提高多语言适配的准确性。
实施例三
图3A为本发明实施例三提供的应用的多语言适配方法的流程图,图3B为本发明实施例三提供的方法中构建各个子应用在不同语言码下的键值对集合的原理示意图。本实施例是在上述实施例的基础上进行优化。具体的,本实施例对于目标子应用的适配语言码的确定和不同语言码下的键值对集合的构建的具体过程进行详细的解释说明。
可选的,如图3A所示,本实施例中可以包括如下步骤:
S310,根据目标子应用的代码文件预先配置目标子应用在不同语言码下的键值对集合。
可选的,为了保证原生应用中访问目标子应用时的多语言适配,本实施例在采用Flutter技术开发出目标子应用后,首先可以通过解析该目标子应用在开发后所生成的代码文件,得到该代码文件中目标子应用在界面显示时自身携带的需要进行多语言适配的各个字符串,并针对每一字符串,分别在不同语言码下进行对应的翻译,进而在每一语言码下,以各个字符串为键名,各字符串在该语言码下的翻译结果为值,构建目标子应用在各个语言码下的键值对集合。
示例性的,本实施例中根据目标子应用的代码文件预先配置目标子应用在不同语言码下的键值对集合,具体可以包括:从预设翻译平台中下载目标子应用的代码文件存在多语言适配需求的字符串在不同语言码下的语言翻译结果,并生成对应的语言适配函数;基于每一语言码,分别以各字符串为键名,以各字符串在该语言码下的语言适配函数为值,构建目标子应用在该语言码下的键值对集合。
具体的,在采用Flutter技术开发出目标子应用后,通过脚本对该目标子应用开发后所生成的初始应用文件进行多语言分析,进而确定出该目标子应用的代码文件中存在多语言适配需求的各个字符串,并从预设翻译平台中下载出每一字符串在不同语言码下的语言翻译结果,本实施例中的预设翻译平台可以为在线翻译协作Crowdin平台;进一步的,如图3B所示,根据每一字符串在不同语言码下的语言翻译结果,生成每一字符串在不同语言码下的语言适配函数,该语言适配函数用于对该字符串在对应语言码下进行准确翻译,进而基于每一语言码,分别以各个字符串为键名,以各字符串在该语言码下的语言适配函数为值,构建目标子应用在每一语言码下的键值对集合,以便后续在原生应用中访问时对该目标子应用进行多语言适配。
需要说明的是,从预设翻译平台中下载各个字符串在不同语言码下的语言翻译结果后,会生成对应数据交换格式(JavaScript Object Notation,JSON)文件,后续可以对该JSON文件进行格式转换,通过脚本生成对应开放源代码编程语言下的Dart文件,此时在该Dart文件添加各个字符串在每一语言码下的键值对集合。
S320,将目标子应用嵌入原生应用中。
可选的,在采用Flutter技术开发出目标子应用后,需要将该目标子应用嵌入到原生应用中,确保后续在原生应用中对该目标子应用的正常访问。
S330,在目标子应用的程序入口实时记录对应的适配语言码。
可选的,在将目标子应用嵌入到原生应用后,可以通过实时分析原生应用或系统默认选用的语言码确定该目标子应用的适配语言码,并将该适配语言码实时记录在该目标子应用的程序入口,以便后续在原生应用中访问时直接从该程序入口读取目标子应用的适配语言码,提高目标子应用在多语言适配下的快捷性和准确性。
示例性的,如图3B所示,本实施例中在目标子应用的程序入口实时记录对应的适配语言码,具体可以包括:通过目标子应用和原生应用之间的桥接通道实时读取原生应用选用的原生语言码;若原生语言码为非空,则直接将该原生语言码作为目标子应用的适配语言码,否则读取本地的系统语言码作为目标子应用的适配语言码。
具体的,本实施例在将目标子应用嵌入到原生应用后,可以通过预先在目标子应用和原生应用之间建立的桥接通道实时读取原生应用当前时刻所选用的原生语言码,此时由于原生应用可能不会单独设置自身的语言码,而默认采用本地的系统语言码,因此首先需要判断该原生应用选用的原生语言码是否为空,若为空,说明原生应用未单独设置自身的语言码,则直接读取本地的系统语言码作为目标子应用的适配语言码;若为非空,说明原生应用在系统语言码之外预先单独设置自身选用的原生语言码,则直接将该原生语言码作为目标子应用的适配语言码,进而将实时获取的适配语言码记录在该目标子应用的程序入口,保证适配语言码的准确性。
S340,在原生应用中访问目标子应用时,确定目标子应用中存在多语言适配需求的字符串,并从目标子应用的程序入口查找当前时刻下的适配语言码。
可选的,在原生应用中访问目标子应用时,为了对目标子应用进行多语言适配,首先可以通过适配服务器解析该目标子应用在开采用Flutter技术开发时所生成的代码文件,得到该目标子应用中存在多语言适配需求的各个字符串,同时从该目标子应用的程序入口中查找出当前时刻下的适配语言码,以便对该目标子应用中的各个字符串在该适配语言码下进行语言翻译,实现原生应用中子应用访问时的多语言适配。
S350,以字符串为键名,在目标子应用的适配语言码对应的键值对集合中确定出字符串的适配语言翻译。
本实施例提供的技术方案,预先为原生应用内的每一子应用在不同语言码下设定对应语言翻译的键值对集合,在原生应用中访问目标子应用时,直接以该目标子应用中存在多语言适配需求的各个字符串为键名,从该目标子应用在当前的适配语言码下设定的键值对集合中不断确定出每一字符串的适配语言翻译,从而实现原生应用内子应用的多语言适配,无需明确各个字符串对应的多语言转换函数,直接将字符串作为键值对的键名,解决多语言转换函数不支持由字符串中特殊字符命名的问题,从而保证目标子应用中的各字符串在多语言适配下的动态调用,提高多语言适配的准确性。
实施例四
图4为本发明实施例四提供的一种应用的多语言适配系统的原理示意图。本实施例中主要对在原生应用内访问某一目标子应用时,该目标子应用的多语言适配过程进行详细描述。参照图4,本实施例的应用的多语言适配系统中可以包括客户端40以及与客户端40通信连接的适配服务器41。
其中,客户端40可以执行上述任一实施例提供的应用的多语言适配方法;适配服务器41在检测到客户端40在原生应用中访问目标子应用时,可以通过解析该目标子应用在开发时生成的代码文件,确定出该目标子应用中存在多语言适配需求的字符串,并下发给客户端40;此时客户端40依次以适配服务器41所下发的每一字符串为键名,在目标子应用的适配语言码对应的键值对集合中确定出字符串的适配语言翻译。
本实施例提供的技术方案,预先为原生应用内的每一子应用在不同语言码下设定对应语言翻译的键值对集合,在原生应用中访问目标子应用时,直接以该目标子应用中存在多语言适配需求的各个字符串为键名,从该目标子应用在当前的适配语言码下设定的键值对集合中不断确定出每一字符串的适配语言翻译,从而实现原生应用内子应用的多语言适配,无需明确各个字符串对应的多语言转换函数,直接将字符串作为键值对的键名,解决多语言转换函数不支持由字符串中特殊字符命名的问题,从而保证目标子应用中的各字符串在多语言适配下的动态调用,提高多语言适配的准确性。
实施例五
图5为本发明实施例五提供的一种应用的多语言适配装置的结构示意图,具体的,如图5所示,该装置可以包括:
字符串确定模块510,用于在原生应用中访问目标子应用时,确定目标子应用中存在多语言适配需求的字符串;
多语言适配模块520,用于以字符串为键名,在目标子应用的适配语言码对应的键值对集合中确定出字符串的适配语言翻译。
本实施例提供的技术方案,预先为原生应用内的每一子应用在不同语言码下设定对应语言翻译的键值对集合,在原生应用中访问目标子应用时,直接以该目标子应用中存在多语言适配需求的各个字符串为键名,从该目标子应用在当前的适配语言码下设定的键值对集合中不断确定出每一字符串的适配语言翻译,从而实现原生应用内子应用的多语言适配,无需明确各个字符串对应的多语言转换函数,直接将字符串作为键值对的键名,解决多语言转换函数不支持由字符串中特殊字符命名的问题,从而保证目标子应用中的各字符串在多语言适配下的动态调用,提高多语言适配的准确性。
进一步的,上述字符串确定模块510,可以具体用于:
通过适配服务器在目标子应用的代码文件中确定出存在多语言适配需求的字符串。
进一步的,上述多语言适配模块520,可以具体用于:
确定目标子应用预先在适配语言码下设定的键值对集合;
以字符串为键名,在该键值对集合中查找出字符串对应的目标键值对,并根据目标键值对中的语言适配函数确定字符串在适配语言码下的适配语言翻译。
进一步的,上述多语言适配模块520,还可以用于:
若在该键值对集合中未查找到字符串对应的目标键值对,则通过目标子应用和原生应用之间的桥接通道,从原生应用预先在适配语言码下设定的键值对集合中确定字符串的适配语言翻译。
进一步的,上述应用的多语言适配装置,还可以包括:
子应用嵌入模块,用于将目标子应用嵌入原生应用中。
进一步的,上述应用的多语言适配装置,还可以包括:
语言码记录模块,用于在目标子应用的程序入口实时记录对应的适配语言码。
进一步的,上述语言码记录模块,可以具体用于:
通过目标子应用和原生应用之间的桥接通道实时读取原生应用选用的原生语言码;
若原生语言码为非空,则直接将该原生语言码作为目标子应用的适配语言码,否则读取本地的系统语言码作为目标子应用的适配语言码。
进一步的,上述应用的多语言适配装置,还可以包括:
语言码查找模块,用于从目标子应用的程序入口查找当前时刻下的适配语言码。
进一步的,上述应用的多语言适配装置,还可以包括:
键值对配置模块,用于根据目标子应用的代码文件预先配置目标子应用在不同语言码下的键值对集合。
进一步的,上述键值对配置模块,可以具体用于:
从预设翻译平台中下载目标子应用的代码文件存在多语言适配需求的字符串在不同语言码下的语言翻译结果,并生成对应的语言适配函数;
基于每一语言码,分别以各字符串为键名,以各字符串在该语言码下的语言适配函数为值,构建目标子应用在该语言码下的键值对集合。
进一步的,上述应用的多语言适配装置,还可以包括:
适配语言展示模块,用于在原生应用中展示字符串的适配语言翻译。
本实施例提供的应用的多语言适配装置可适用于上述任意实施例提供的应用的多语言适配方法,具备相应的功能和有益效果。
实施例六
图6为本发明实施例六提供的一种客户端的结构示意图,如图6所示,该客户端包括处理器60、存储装置61和通信装置62;客户端中处理器60的数量可以是一个或多个,图6中以一个处理器60为例;客户端中的处理器60、存储装置61和通信装置62可以通过总线或其他方式连接,图6中以通过总线连接为例。
存储装置61作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本发明任意实施例所述的应用的多语言适配方法对应的程序指令/模块。处理器60通过运行存储在存储装置61中的软件程序、指令以及模块,从而执行客户端的各种功能应用以及数据处理,即实现上述应用的多语言适配方法。
存储装置61可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端的使用所创建的数据等。此外,存储装置61可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储装置61可进一步包括相对于处理器60远程设置的存储器,这些远程存储器可以通过网络连接至客户端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
通信装置62可用于实现客户端与适配服务器之间的网络连接或者移动数据连接。
本实施例提供的一种客户端可用于执行上述任意实施例提供的应用的多语言适配方法,具备相应的功能和有益效果。
实施例七
本发明实施例七还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时可实现上述任意实施例中的应用的多语言适配方法。
该方法具体可以包括:
在原生应用中访问目标子应用时,确定目标子应用中存在多语言适配需求的字符串;
以字符串为键名,在目标子应用的适配语言码对应的键值对集合中确定出字符串的适配语言翻译。
当然,本发明实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述的方法操作,还可以执行本发明任意实施例所提供的应用的多语言适配方法中的相关操作。
通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本发明可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(RandomAccess Memory,RAM)、闪存(FLASH)、硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
值得注意的是,上述应用的多语言适配装置的实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。
以上所述仅为本发明的优选实施例,并不用于限制本发明,对于本领域技术人员而言,本发明可以有各种改动和变化。凡在本发明的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (15)

1.一种应用的多语言适配方法,其特征在于,包括:
在原生应用中访问目标子应用时,确定所述目标子应用中存在多语言适配需求的字符串;
以所述字符串为键名,在所述目标子应用的适配语言码对应的键值对集合中确定出所述字符串的适配语言翻译。
2.根据权利要求1所述的方法,其特征在于,所述确定所述目标子应用中存在多语言适配需求的字符串,包括:
通过适配服务器在所述目标子应用的代码文件中确定出存在多语言适配需求的字符串。
3.根据权利要求1所述的方法,其特征在于,在所述目标子应用的适配语言码对应的键值对集合中确定出所述字符串的适配语言翻译,包括:
确定所述目标子应用预先在所述适配语言码下设定的键值对集合;
以所述字符串为键名,在该键值对集合中查找出所述字符串对应的目标键值对,并根据所述目标键值对中的语言适配函数确定所述字符串在所述适配语言码下的适配语言翻译。
4.根据权利要求3所述的方法,其特征在于,在确定所述目标子应用预先在所述适配语言码下设定的键值对集合之后,还包括:
若在该键值对集合中未查找到所述字符串对应的目标键值对,则通过所述目标子应用和所述原生应用之间的桥接通道,从所述原生应用预先在所述适配语言码下设定的键值对集合中确定所述字符串的适配语言翻译。
5.根据权利要求1所述的方法,其特征在于,在原生应用中访问目标子应用之前,还包括:
将所述目标子应用嵌入所述原生应用中。
6.根据权利要求5所述的方法,其特征在于,在将所述目标子应用嵌入所述原生应用中之后,还包括:
在所述目标子应用的程序入口实时记录对应的适配语言码。
7.根据权利要求6所述的方法,其特征在于,在所述目标子应用的程序入口实时记录对应的适配语言码,包括:
通过所述目标子应用和所述原生应用之间的桥接通道实时读取所述原生应用选用的原生语言码;
若所述原生语言码为非空,则直接将该原生语言码作为所述目标子应用的适配语言码,否则读取本地的系统语言码作为所述目标子应用的适配语言码。
8.根据权利要求6所述的方法,其特征在于,在原生应用中访问目标子应用时,还包括:
从所述目标子应用的程序入口查找当前时刻下的适配语言码。
9.根据权利要求5所述的方法,其特征在于,在将所述目标子应用嵌入所述原生应用中之前,还包括:
根据所述目标子应用的代码文件预先配置所述目标子应用在不同语言码下的键值对集合。
10.根据权利要求9所述的方法,其特征在于,根据所述目标子应用的代码文件预先配置所述目标子应用在不同语言码下的键值对集合,包括:
从预设翻译平台中下载所述目标子应用的代码文件存在多语言适配需求的字符串在不同语言码下的语言翻译结果,并生成对应的语言适配函数;
基于每一语言码,分别以各字符串为键名,以各字符串在该语言码下的语言适配函数为值,构建所述目标子应用在该语言码下的键值对集合。
11.根据权利要求1-10任一项所述的方法,其特征在于,在所述目标子应用的适配语言码对应的键值对集合中确定出所述字符串的适配语言翻译之后,还包括:
在所述原生应用中展示所述字符串的适配语言翻译。
12.一种应用的多语言适配装置,其特征在于,包括:
字符串确定模块,用于在原生应用中访问目标子应用时,确定所述目标子应用中存在多语言适配需求的字符串;
多语言适配模块,用于以所述字符串为键名,在所述目标子应用的适配语言码对应的键值对集合中确定出所述字符串的适配语言翻译。
13.一种客户端,其特征在于,所述客户端包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-11中任一所述的应用的多语言适配方法。
14.一种应用的多语言适配系统,其特征在于,包括权利要求13所述的客户端以及与所述客户端通信连接的适配服务器;
所述适配服务器在检测到所述客户端在原生应用中访问目标子应用时,向所述客户端下发所述目标子应用中存在多语言适配需求的字符串;所述客户端以所述字符串为键名,在所述目标子应用的适配语言码对应的键值对集合中确定出所述字符串的适配语言翻译。
15.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-11中任一所述的应用的多语言适配方法。
CN202010071982.9A 2020-01-21 2020-01-21 一种应用的多语言适配方法、装置、客户端和存储介质 Active CN111240790B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010071982.9A CN111240790B (zh) 2020-01-21 2020-01-21 一种应用的多语言适配方法、装置、客户端和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010071982.9A CN111240790B (zh) 2020-01-21 2020-01-21 一种应用的多语言适配方法、装置、客户端和存储介质

Publications (2)

Publication Number Publication Date
CN111240790A true CN111240790A (zh) 2020-06-05
CN111240790B CN111240790B (zh) 2023-06-27

Family

ID=70876273

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010071982.9A Active CN111240790B (zh) 2020-01-21 2020-01-21 一种应用的多语言适配方法、装置、客户端和存储介质

Country Status (1)

Country Link
CN (1) CN111240790B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112799557A (zh) * 2021-01-28 2021-05-14 青岛海信移动通信技术股份有限公司 一种水墨屏显示控制方法、终端及计算机可读存储介质
CN113031932A (zh) * 2021-03-11 2021-06-25 腾讯科技(深圳)有限公司 项目开发方法、装置、电子设备及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104899010A (zh) * 2014-03-04 2015-09-09 北京金山云网络技术有限公司 源代码的多语言化方法及系统
CN107451128A (zh) * 2017-08-04 2017-12-08 深圳Tcl新技术有限公司 多语言代码适配方法、设备及存储介质
CN109284145A (zh) * 2018-08-28 2019-01-29 北京城市网邻信息技术有限公司 多语言配置文件的生成和展示方法及装置、设备和介质
CN109918166A (zh) * 2019-03-12 2019-06-21 天津字节跳动科技有限公司 小程序处理方法、装置及电子设备

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104899010A (zh) * 2014-03-04 2015-09-09 北京金山云网络技术有限公司 源代码的多语言化方法及系统
CN107451128A (zh) * 2017-08-04 2017-12-08 深圳Tcl新技术有限公司 多语言代码适配方法、设备及存储介质
CN109284145A (zh) * 2018-08-28 2019-01-29 北京城市网邻信息技术有限公司 多语言配置文件的生成和展示方法及装置、设备和介质
CN109918166A (zh) * 2019-03-12 2019-06-21 天津字节跳动科技有限公司 小程序处理方法、装置及电子设备

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112799557A (zh) * 2021-01-28 2021-05-14 青岛海信移动通信技术股份有限公司 一种水墨屏显示控制方法、终端及计算机可读存储介质
CN113031932A (zh) * 2021-03-11 2021-06-25 腾讯科技(深圳)有限公司 项目开发方法、装置、电子设备及存储介质
CN113031932B (zh) * 2021-03-11 2023-10-20 腾讯科技(深圳)有限公司 项目开发方法、装置、电子设备及存储介质

Also Published As

Publication number Publication date
CN111240790B (zh) 2023-06-27

Similar Documents

Publication Publication Date Title
CN111176996A (zh) 测试用例生成方法、装置、计算机设备及存储介质
US9292253B2 (en) Methods and apparatus for voiced-enabling a web application
CN108427731B (zh) 页面代码的处理方法、装置、终端设备及介质
US9400633B2 (en) Methods and apparatus for voiced-enabling a web application
US9781262B2 (en) Methods and apparatus for voice-enabling a web application
CN111736840A (zh) 小程序应用的编译方法、运行方法、存储介质及电子设备
US10157612B2 (en) Methods and apparatus for voice-enabling a web application
US11570196B2 (en) Method for determining duplication of security vulnerability and analysis apparatus using same
CN111367595B (zh) 数据处理方法、程序运行方法、装置及处理设备
CN109597618B (zh) 程序开发方法、装置、计算机设备及存储介质
CN110955608B (zh) 测试数据处理方法、装置、计算机设备和存储介质
CN111124479B (zh) 配置文件的解析方法、系统及电子设备
AU2018298640B2 (en) Determination device, determination method, and determination program
US9292252B2 (en) Methods and apparatus for voiced-enabling a web application
CN109614325B (zh) 一种确定控件属性的方法及装置、电子设备和存储介质
CN109032612B (zh) 混合型应用的接口调用方法、装置及计算机可读存储介质
CN110866152A (zh) 一种故障码检索方法、装置和电子设备及可读存储介质
CN111240790A (zh) 一种应用的多语言适配方法、装置、客户端和存储介质
CN114398673A (zh) 应用程序的合规检测方法、装置、存储介质与电子设备
CN113051514A (zh) 元素的定位方法、装置、电子设备及存储介质
CN107577943B (zh) 基于机器学习的样本预测方法、装置及服务器
CN112114866A (zh) 一种json文件的数据转换加载方法、装置及存储介质
CN111580822A (zh) 基于vex中间语言的物联网设备组件版本信息提取方法
CN111159036A (zh) 产品翻译功能准确性测试方法、系统、终端及存储介质
CN106502707B (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
TR01 Transfer of patent right

Effective date of registration: 20231008

Address after: 31a, 15th floor, building 30, maple commercial city, bangrang Road, Brazil

Patentee after: Baiguoyuan Technology (Singapore) Co.,Ltd.

Address before: 511400 floor 5-13, West Tower, building C, 274 Xingtai Road, Shiqiao street, Panyu District, Guangzhou City, Guangdong Province

Patentee before: GUANGZHOU BAIGUOYUAN INFORMATION TECHNOLOGY Co.,Ltd.

TR01 Transfer of patent right