CN112306620B - 自定义表单控件的多语言加载方法及装置 - Google Patents
自定义表单控件的多语言加载方法及装置 Download PDFInfo
- Publication number
- CN112306620B CN112306620B CN202011542297.6A CN202011542297A CN112306620B CN 112306620 B CN112306620 B CN 112306620B CN 202011542297 A CN202011542297 A CN 202011542297A CN 112306620 B CN112306620 B CN 112306620B
- Authority
- CN
- China
- Prior art keywords
- language
- form control
- identification
- initial
- page
- 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
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
- G06F9/454—Multi-language systems; Localisation; Internationalisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/958—Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Human Computer Interaction (AREA)
- Data Mining & Analysis (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本申请涉及一种自定义表单控件的多语言加载方法,包括:响应于页面的加载请求,根据加载请求确定页面中待加载的表单控件,以及与表单控件对应的语种标识;从预设缓存中检索与表单控件对应且携带有语种标识的语言包;若在预设缓存中未检索到与表单控件对应且携带有语种标识的语言包,则生成与表单控件对应且携带有语种标识的语言包;根据语言包对表单控件进行加载,得到包含加载后的表单控件的页面;页面中的加载后的表单控件以与语种标识对应的语言显示。本申请根据语种标识获取相应的语言包并对表单控件进行加载,使得页面在正常运行情况下也能对表单控件正常加载;节省大量人力、时间成本,大幅提高互联网页面中自定义表单控件内容更新效率。
Description
技术领域
本申请涉及计算机技术领域,特别是涉及一种自定义表单控件的多语言加载方法、装置、计算机设备和存储介质。
背景技术
随着贸易全球化的不断发展,越来越多的企业需要在全球范围内寻找商业机会,而互联网则是各个企业优选的对外展示窗口。
目前,企业通常会以搭建好的网页作为模板,翻译人员将整个页面内容翻译为目标语言后,再由开发人员依据自身权限对网页中各个表单控件的内容进行替换;多语言页面的构建及更新过程都需要翻译人员和开发人员相互配合,完成后需要通过部署并重启服务器使得页面生效;因此,现有的互联网页面中自定义表单控件内容的更新效率还较低。
发明内容
基于此,有必要针对上述技术问题,提供一种自定义表单控件的多语言加载方法、装置、计算机设备和存储介质。
一种自定义表单控件的多语言加载方法,所述方法包括:
响应于页面的加载请求,根据所述加载请求确定所述页面中待加载的表单控件,以及与所述表单控件对应的语种标识;
从预设缓存中检索与所述表单控件对应且携带有所述语种标识的语言包;
若在所述预设缓存中未检索到与所述表单控件对应且携带有所述语种标识的语言包,则生成与所述表单控件对应且携带有所述语种标识的语言包;
根据所述语言包对所述表单控件进行加载,得到包含加载后的表单控件的页面;所述页面中的所述加载后的表单控件以与所述语种标识对应的语言显示。
在其中一个实施例中,所述生成与所述表单控件对应且携带有所述语种标识的语言包,包括:
对所述待加载的表单控件进行解析,得到包含有所述表单控件所显示内容的初始语言数据;
根据所述预加载语种标识,将所述初始语言数据转换为与所述预加载语种标识对应语种的目标语言数据;
根据所述目标语言数据生成与所述表单控件对应且携带有所述语种标识对应的语言包。
在其中一个实施例中,所述对所述待加载的表单控件进行解析,得到包含有所述表单控件所显示内容的初始语言数据,包括:
根据所述待加载的表单控件的类型,调用相应的解析器作为目标解析器;
通过所述目标解析器提取所述表单控件中所显示的内容,根据提取结果生成所述初始语言数据;所述提取结果中包括与所述表单控件中所显示的内容对应的初始字符串信息。
在其中一个实施例中,所述根据所述预加载语种标识,将所述初始语言数据转换为与所述预加载语种标识对应语种的目标语言数据,包括:
构建与所述初始语言数据对应的初始语言数据模板,并获取与所述预加载语种标识对应的语种映射字典;所述初始语言数据模板中包括多个所述初始字符串信息;
根据所述语种映射字典,将所述初始语言数据模板中的初始字符串信息替换为与所述预加载语种标识对应的目标字符串信息;
根据所述初始语言数据模板以及所述目标字符串信息生成所述与所述预加载语种标识对应语种的目标语言数据。
在其中一个实施例中,在生成与所述表单控件对应且携带有所述语种标识的语言包之后,还包括:
将所述语言包存入所述预设缓存;
所述将所述语言包存入所述预设缓存,包括:
通过预设缓存服务将所述语言包存入所述预设缓存。
在其中一个实施例中,所述响应于页面的加载请求,根据所述加载请求确定所述页面中待加载的表单控件,以及与所述表单控件对应的语种标识,包括:
从所述页面的加载请求中获取用户会话标识;
将与所述用户会话标识对应的语种标识作为与所述表单控件对应的语种标识。
在其中一个实施例中,在从预设缓存中检索与所述表单控件对应且携带有所述语种标识的语言包之后,还包括:
若在所述预设缓存中检索到与所述表单控件对应且携带有所述语种标识的语言包,则根据所述加载请求将所述语言包加载至所述表单控件。
一种自定义表单控件的多语言加载装置,所述装置包括:
请求响应模块,用于响应于页面的加载请求,根据所述加载请求确定所述页面中待加载的表单控件,以及与所述表单控件对应的语种标识;
语言包检索模块,用于从预设缓存中检索与所述表单控件对应且携带有所述语种标识的语言包;
语言包生成模块,用于若在所述预设缓存中未检索到与所述表单控件对应且携带有所述语种标识的语言包,则生成与所述表单控件对应且携带有所述语种标识的语言包;
语言包加载模块,用于根据所述语言包对所述表单控件进行加载,得到包含加载后的表单控件的页面;所述页面中的所述加载后的表单控件以与所述语种标识对应的语言显示。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
响应于页面的加载请求,根据所述加载请求确定所述页面中待加载的表单控件,以及与所述表单控件对应的语种标识;
从预设缓存中检索与所述表单控件对应且携带有所述语种标识的语言包;
若在所述预设缓存中未检索到与所述表单控件对应且携带有所述语种标识的语言包,则生成与所述表单控件对应且携带有所述语种标识的语言包;
根据所述语言包对所述表单控件进行加载,得到包含加载后的表单控件的页面;所述页面中的所述加载后的表单控件以与所述语种标识对应的语言显示。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
响应于页面的加载请求,根据所述加载请求确定所述页面中待加载的表单控件,以及与所述表单控件对应的语种标识;
从预设缓存中检索与所述表单控件对应且携带有所述语种标识的语言包;
若在所述预设缓存中未检索到与所述表单控件对应且携带有所述语种标识的语言包,则生成与所述表单控件对应且携带有所述语种标识的语言包;
根据所述语言包对所述表单控件进行加载,得到包含加载后的表单控件的页面;所述页面中的所述加载后的表单控件以与所述语种标识对应的语言显示。
上述自定义表单控件的多语言加载方法、装置、计算机设备和存储介质,方法包括:响应于页面的加载请求,根据加载请求确定页面中待加载的表单控件,以及与表单控件对应的语种标识;从预设缓存中检索与表单控件对应且携带有语种标识的语言包;若在预设缓存中未检索到与表单控件对应且携带有语种标识的语言包,则生成与表单控件对应且携带有语种标识的语言包;根据语言包对表单控件进行加载,得到包含加载后的表单控件的页面;页面中的加载后的表单控件以与语种标识对应的语言显示。本申请通过响应于页面加载请求,确定语种标识,根据语种标识获取相应的语言包并对表单控件进行加载,使得页面在正常运行情况下也能对表单控件正常加载;无需开发人员将翻译后的内容在表单控件上逐个替换,只需翻译人员确认语言包内容正确后即可完成,节省大量人力成本和时间成本,大幅提高了互联网页面中自定义表单控件内容更新效率。
附图说明
图1为一个实施例中自定义表单控件的多语言加载方法的应用环境图;
图2为一个实施例中自定义表单控件的多语言加载方法的流程示意图;
图3为一个实施例中表单控件的示意图;
图4为一个实施例中生成与表单控件对应且携带有语种标识的语言包步骤的流程示意图;
图5为一个实施例中对待加载的表单控件进行解析步骤的流程示意图;
图6为一个实施例中将初始语言数据转换为与预加载语种标识对应语种的目标语言数据方法的流程示意图;
图7a为一个实施例中初始语言数据模板的示意图;
图7b为一个实施例中字符串信息替换过程的示意图;
图8为另一个实施例中自定义表单控件的多语言加载方法的流程示意图;
图9为一个实施例中自定义表单控件的多语言加载装置的结构框图;
图10为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请提供的自定义表单控件的多语言加载方法,可以应用于如图1所示的应用环境中。其中,终端11通过网络与服务器12进行通信。具体地,服务器12响应于终端11上页面的加载请求,服务器12根据加载请求确定页面中待加载的表单控件,以及与表单控件对应的语种标识;服务器12从预设缓存中检索与表单控件对应且携带有语种标识的语言包;服务器12若在预设缓存中未检索到与表单控件对应且携带有语种标识的语言包,则生成与表单控件对应且携带有语种标识的语言包;服务器12根据语言包对表单控件进行加载,得到包含加载后的表单控件的页面;页面中的加载后的表单控件以与语种标识对应的语言显示。终端11可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备,服务器12可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群。终端11上运行有需要进行加载的页面,该页面可以是终端11上浏览器的运行页面,也可以是应用程序内置的页面。
在一个实施例中,如图2所示,提供了一种自定义表单控件的多语言加载方法,以该方法应用于图1中的服务器12为例进行说明,包括以下步骤:
步骤21,响应于页面的加载请求,根据加载请求确定页面中待加载的表单控件,以及与表单控件对应的语种标识。
其中,页面的加载过程通常伴随着自定义表单控件的加载过程;常见的自定义表单控件包括:文本输入框(TextBox)、按钮控件(Button)、下拉选框(DropList)、日期/时间控件(Date/TimePicker)、列表框(ListBox)、多格式文本框(RichTextBox)等;根据上述多种自定义表单控件进行组合后可以得到功能更多样的组合控件,例如,如图3所示的自定义表单控件示意图,即由若干按钮控件、文本输入框以及列表框组成,能够实现有选项的信息录入工作,是当前互联网中较为常用的一种组合控件。语种标识是指表单控件需要进行加载的具体语言种类,例如中文、日文、英文、表情符号等都可以作为语种标识。
具体地,服务器接收到终端发送的页面的加载请求,会对页面的加载请求进行响应,从加载请求中确定出待加载的表单控件,以及表单控件应该加载的语种标识。需要说明的是,本申请能够进行加载的控件不限于自定义表单控件,还可以是其他任一控件类型或组合控件。
例如,从页面的加载请求中确定出,该页面中A表单控件和B表单控件需要以E语言进行加载,则A、B控件为页面中待加载的表单控件,E语言则为与表单控件对应的语种标识,使得页面在正常运行情况下也能对表单控件正常加载,提高了互联网页面中自定义表单控件内容更新效率。
本步骤服务器通过响应于终端发送的页面的加载请求,确定给出待加载的表单控件以及相应的语种标识,后续能够根据语种标识确定出表单控件的加载语言。
步骤22,从预设缓存中检索与表单控件对应且携带有语种标识的语言包。
其中,语言包与表单控件以及语种标识均存在对应关系,根据表单控件的标识以及语种标识能够确定出语言包;语言包由多个存在固定格式的字符串信息构成,表单控件在进行加载时对从语言包中选择相应字符串信息进行显示。
语音包一旦设定通常不会经常变化,但是每个页面查看都需要读取语言包,因此语言包的获取、检索是一个高频操作,因此设置预设缓存可以减轻数据库的负载。例如,可以采用EhCache作为缓存服务;EhCache是一个纯Java(面向对象编程语言)的进程内缓存框架,具有快速、精干等特点,广泛使用的开源Java分布式缓存。主要面向通用缓存,Java EE和轻量级容器;具有内存和磁盘存储,缓存加载器,缓存扩展,缓存异常处理程序;利用内存进行缓存,可以提升读取数据的性能。
具体地,根据与表单控件的对应关系从预设缓存中进行初步检索,筛选出所有与该表单控件对应的语言包;再对这些语言包进行二次筛选,找出携带有语种标识的语言包。还可以是先根据语种标识进行筛选后,再根据与表单控件的对应关系进行再次筛选,具体筛选方式不做限制。
本步骤通过语言包与表单控件的对应关系以及携带的语种标识能够准确地从预设缓存中对语言包进行检索,提高了互联网页面中自定义表单控件内容更新效率。
步骤23,若在预设缓存中未检索到与表单控件对应且携带有语种标识的语言包,则生成与表单控件对应且携带有语种标识的语言包。
具体地,若在预设缓存中未检索到符合条件的语言包,则说明该语言包未存在于预设缓存中;据此,需要根据表单控件生成符合条件的语言包,即生成的语言包需要与表单控件对应且携带有语种标识。
部分页面为了提高数据的读写速度会使用预设缓存进行语言包的临时保存,通常还设置有数据库用户长期保存语言包;因此,若在预设缓存中未检索到符合条件的语言包,可再在数据库中进行语言包的检索,若预设缓存以及数据库中均不存在符合条件的语言包,同样也可以进行语言包的生成过程。
本步骤若未检索到负荷条件的语言包,则会根据表单控件生成相应的语言包,保证了表单控件的正常加载以及页面的常规展示,节省大量人力成本和时间成本,大幅提高了互联网页面中自定义表单控件内容更新效率。
步骤24,据语言包对表单控件进行加载,得到包含加载后的表单控件的页面;页面中的加载后的表单控件以与语种标识对应的语言显示。
具体地,从预设缓存中检索到相应的语言包,或者根据表单信息生成了相应的语言包后,可以对表单控件进行加载处理,使得表单控件能够将语言包中对应的语种信息在控件内正常展示,实现了自定义表单控件的多语言加载。这样,页面中的各个表单控件也都能以统一的语种进行信息展示。
本步骤使得页面在正常运行情况下也能对表单控件正常加载;无需开发人员将翻译后的内容在表单控件上逐个替换,只需翻译人员确认语言包内容正确后即可完成,节省大量人力成本和时间成本,大幅提高了互联网页面中自定义表单控件内容更新效率。
上述自定义表单控件的多语言加载方法,包括:响应于页面的加载请求,根据加载请求确定页面中待加载的表单控件,以及与表单控件对应的语种标识;从预设缓存中检索与表单控件对应且携带有语种标识的语言包;若在预设缓存中未检索到与表单控件对应且携带有语种标识的语言包,则生成与表单控件对应且携带有语种标识的语言包;根据语言包对表单控件进行加载,得到包含加载后的表单控件的页面;页面中的加载后的表单控件以与语种标识对应的语言显示。本申请通过响应于页面加载请求,确定语种标识,根据语种标识获取相应的语言包并对表单控件进行加载,使得页面在正常运行情况下也能对表单控件正常加载;无需开发人员将翻译后的内容在表单控件上逐个替换,只需翻译人员确认语言包内容正确后即可完成,节省大量人力成本和时间成本,大幅提高了互联网页面中自定义表单控件内容更新效率。
在一个实施例中,如图4所示,上述步骤23,生成与表单控件对应且携带有语种标识的语言包,包括:
步骤41,对待加载的表单控件进行解析,得到包含有表单控件所显示内容的初始语言数据;
步骤42,根据预加载语种标识,将初始语言数据转换为与预加载语种标识对应语种的目标语言数据;
步骤43,根据目标语言数据生成与表单控件对应且携带有语种标识对应的语言包。
其中,初始语言数据是自定义表单控件所显示内容经解析后得到的数据,例如图3中的自定义表单控件经解析后分别得到“区域”、“产品”、“度数”、“出厂价”、“华南”以及“华北”的字符串信息,将这些字符串信息进行整合后按固定格式存储后即得到初始语言数据。目标语言数据与初始语言数据相对应,仅是数据内的字符串信息被替换为与语种标识相对应的语言后形成的数据,例如将上述初始语言数据内的字符串信息进行转换,例如将“区域”、“度数”以及“出厂价”分别转换为“Area”、“Degrees”以及“Price”,完成了向语种标识对应语种的转换。
具体地,可以利用Html解析器对待加载的表单控件进行解析,例如Htmlparser解析器或jsoup解析器(一款Java 的HTML解析器,可直接解析某个URL地址、HTML文本内容);其中,Htmlparser解析器是一个纯java编写的html解析的库,它不依赖于其它的java库文件,解析HTML(超文本标记语言,Hyper Text Markup Language)性能较高。
本实施例通过对待加载的表单控件进行解析,得到初始语言数据,将初始语言数据转换为与预加载语种标识对应语种的目标语言数据,并得到相应的语言包,完成了语言包的生成;无需开发人员将翻译后的内容在表单控件上逐个替换,只需翻译人员确认语言包内容正确后即可完成,节省大量人力成本和时间成本,大幅提高了互联网页面中自定义表单控件内容更新效率。
在一个实施例中,如图5所示,上述步骤41,对待加载的表单控件进行解析,得到包含有表单控件所显示内容的初始语言数据,包括:
步骤51,根据待加载的表单控件的类型,调用相应的解析器作为目标解析器;
步骤52,通过目标解析器提取表单控件中所显示的内容,根据提取结果生成初始语言数据;提取结果中包括与表单控件中所显示的内容对应的初始字符串信息。
具体地,不同类别的自定义表单控件可以对应不同的解析器,因此可以根据自定义表单控件的具体种类选取最适宜的解析器作为目标解析器完成对自定义表单控件的解析。还可以通过OCR(光学字符识别,Optical Character Recognition)对部分表单控件进行解析,得到表单控件中所显示的内容并作为初始语言数据。
本实施例通过表单控件的类型,调用相应的解析器作为目标解析器,提升了对表单控件解析的速度,提高了互联网页面中自定义表单控件内容更新效率。
在一个实施例中,如图6所示,上述步骤42,根据预加载语种标识,将初始语言数据转换为与预加载语种标识对应语种的目标语言数据,包括:
步骤61,构建与初始语言数据对应的初始语言数据模板,并获取与预加载语种标识对应的语种映射字典;初始语言数据模板中包括多个初始字符串信息;
步骤62,根据语种映射字典,将初始语言数据模板中的初始字符串信息替换为与预加载语种标识对应的目标字符串信息;
步骤63,根据初始语言数据模板以及目标字符串信息生成与预加载语种标识对应语种的目标语言数据。
其中,如图7a所示,为与初始语言数据对应的初始语言数据模板;该模板中记录有空间名称、控件类型、控件属性、内容(即待进行语种转换的初始字符串信息)以及翻译(即语种转换后的目标字符串信息);如图7b所示,为将初始语言数据模板中的初始字符串信息替换为与预加载语种标识对应的目标字符串信息后的初始语言数据模板,可见“翻译”一栏中均根据“内容”一栏的内容进行了相应的语种转换。语种映射字典中包括了大量不同语种之间具体语句的对应映射关系;例如中文的“你好”可以映射为英文的“hello”,还可以映射为日语、德语等多个语种。语种映射字典可以是预先设定的,也可以是实时生成的,例如接入部分现有的在线翻译工具软件的接口实现实时的翻译。预加载语种标识是与目标字符串信息对应的语种标识,例如需要将中文转换为英文,则英文为预加载语种标识。
具体地,根据构建与初始语言数据对应的初始语言数据模板,通过语种映射字典,将初始语言数据模板中的初始字符串信息替换为目标字符串信息;替换完成后得到了包含目标字符串信息的初始语言数据模板,在进行整合后即得到目标语言数据。
本实施例通过语种映射字典将初始字符串信息转换为预加载语种标识对应的目标字符串信息,只需翻译人员确认语言包内容正确后即可完成,节省大量人力成本和时间成本,大幅提高了互联网页面中自定义表单控件内容更新效率。
在一个实施例中,在生成与表单控件对应且携带有语种标识的语言包之后,还包括:将语言包存入预设缓存;将语言包存入预设缓存,包括:通过预设缓存服务将语言包存入预设缓存。
具体地,将语言包通过预设缓存服务存入预设缓存能够提高后续的读取速度。
在一个实施例中,响应于页面的加载请求,根据加载请求确定页面中待加载的表单控件,以及与表单控件对应的语种标识,包括:从页面的加载请求中获取用户会话标识;将与用户会话标识对应的语种标识作为与表单控件对应的语种标识。
其中,用户会话标识可以是由session机制确定,session机制是一种服务器端的机制,Session存储特定用户会话所需的属性及配置信息,例如用户所使用的语言信息;可以根据该信息确定对表单控件进行加载时使用语言包的语种标识。这样,当用户在应用程序的Web(分布式图形信息系统)页之间跳转时,存储在Session对象中的变量将不会丢失,而是在整个用户会话中一直存在下去。当用户请求来自应用程序的 Web页时,如果该用户还没有会话,则Web服务器将自动创建一个 Session对象。当会话过期或被放弃后,服务器将终止该会话。
具体地,通过页面的加载请求能够获取到用户会话标识,并根据该标识确定出与表单控件对应的语种标识。当然,还可以从加载请求中获取IP地址信息,根据IP地址对应的区域确定与表单控件对应的语种标识。
本实施例能够通过从用户会话标识中得到的语种标识,为不同国家或地区的人们再访问页面时都优先提供符合他们所在地区或阅读习惯的语言。
在一个实施例中,在从预设缓存中检索与表单控件对应且携带有语种标识的语言包之后,还包括:若在预设缓存中检索到与表单控件对应且携带有语种标识的语言包,则根据加载请求将语言包加载至表单控件。
具体地,若在预设缓存中检索到与表单控件对应且携带有语种标识的语言包,则可以直接获取该语言包并加载至表单控件。
为了便于本领域技术人员理解本申请,以下将结合图8,对本申请实施例的自定义表单控件的多语言加载方法进行说明。
如图8所示,首先页面需要加载表单控件,之后会根据要加载的表单控件从缓存中匹配相应的语言包;若缓存中存在该语言包,则使得表单控件根据该语言包进行显示;若缓存中不存在该语言包,则查询数据库中是否存在该语言包;此时,在数据库中存在该语言包的情况下,可以直接将该语言包存储至缓存中,数据库中也不存在该语言包时,则可根据相关参数选择解析器,对表单控件进行解析,并将解析结果翻译为相应的语种,生成语言包并进行缓存;最后表单控件根据生成的语言包进行相应语种的显示,完成自定义表单控件的多语言加载。
应该理解的是,虽然图2、4-6的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2、4-6中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图9所示,提供了一种自定义表单控件的多语言加载装置,包括:
请求响应模块91,用于响应于页面的加载请求,根据加载请求确定页面中待加载的表单控件,以及与表单控件对应的语种标识;
语言包检索模块92,用于从预设缓存中检索与表单控件对应且携带有语种标识的语言包;
语言包生成模块93,用于若在预设缓存中未检索到与表单控件对应且携带有语种标识的语言包,则生成与表单控件对应且携带有语种标识的语言包;
语言包加载模块94,用于根据语言包对表单控件进行加载,得到包含加载后的表单控件的页面;页面中的加载后的表单控件以与语种标识对应的语言显示。
在一个实施例中,语言包生成模块93还用于对待加载的表单控件进行解析,得到包含有表单控件所显示内容的初始语言数据;根据预加载语种标识,将初始语言数据转换为与预加载语种标识对应语种的目标语言数据;根据目标语言数据生成与表单控件对应且携带有语种标识对应的语言包。
在一个实施例中,在一个实施例中,语言包生成模块93还用于根据待加载的表单控件的类型,调用相应的解析器作为目标解析器;通过目标解析器提取表单控件中所显示的内容,根据提取结果生成初始语言数据;提取结果中包括与表单控件中所显示的内容对应的初始字符串信息。
在一个实施例中,语言包生成模块93还用于构建与初始语言数据对应的初始语言数据模板,并获取与预加载语种标识对应的语种映射字典;初始语言数据模板中包括多个初始字符串信息;根据语种映射字典,将初始语言数据模板中的初始字符串信息替换为与预加载语种标识对应的目标字符串信息;根据初始语言数据模板以及目标字符串信息生成与预加载语种标识对应语种的目标语言数据。
在一个实施例中,自定义表单控件的多语言加载装置中还包括预设缓存模块,用于通过预设缓存服务将语言包存入预设缓存。
在一个实施例中,请求响应模块91还用于从页面的加载请求中获取用户会话标识;将与用户会话标识对应的语种标识作为与表单控件对应的语种标识。
在一个实施例中,语言包加载模块94还用于若在预设缓存中检索到与表单控件对应且携带有语种标识的语言包,则根据加载请求将语言包加载至表单控件。
关于自定义表单控件的多语言加载装置的具体限定可以参见上文中对于自定义表单控件的多语言加载方法的限定,在此不再赘述。上述自定义表单控件的多语言加载装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图10所示。该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储自定义表单控件的多语言加载数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种自定义表单控件的多语言加载方法。
本领域技术人员可以理解,图10中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:
响应于页面的加载请求,根据加载请求确定页面中待加载的表单控件,以及与表单控件对应的语种标识;
从预设缓存中检索与表单控件对应且携带有语种标识的语言包;
若在预设缓存中未检索到与表单控件对应且携带有语种标识的语言包,则生成与表单控件对应且携带有语种标识的语言包;
根据语言包对表单控件进行加载,得到包含加载后的表单控件的页面;页面中的加载后的表单控件以与语种标识对应的语言显示。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:对待加载的表单控件进行解析,得到包含有表单控件所显示内容的初始语言数据;根据预加载语种标识,将初始语言数据转换为与预加载语种标识对应语种的目标语言数据;根据目标语言数据生成与表单控件对应且携带有语种标识对应的语言包。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:根据待加载的表单控件的类型,调用相应的解析器作为目标解析器;通过目标解析器提取表单控件中所显示的内容,根据提取结果生成初始语言数据;提取结果中包括与表单控件中所显示的内容对应的初始字符串信息。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:构建与初始语言数据对应的初始语言数据模板,并获取与预加载语种标识对应的语种映射字典;初始语言数据模板中包括多个初始字符串信息;根据语种映射字典,将初始语言数据模板中的初始字符串信息替换为与预加载语种标识对应的目标字符串信息;根据初始语言数据模板以及目标字符串信息生成与预加载语种标识对应语种的目标语言数据。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:将语言包存入预设缓存;将语言包存入预设缓存。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:通过预设缓存服务将语言包存入预设缓存。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:从页面的加载请求中获取用户会话标识;将与用户会话标识对应的语种标识作为与表单控件对应的语种标识。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:若在预设缓存中检索到与表单控件对应且携带有语种标识的语言包,则根据加载请求将语言包加载至表单控件。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
响应于页面的加载请求,根据加载请求确定页面中待加载的表单控件,以及与表单控件对应的语种标识;
从预设缓存中检索与表单控件对应且携带有语种标识的语言包;
若在预设缓存中未检索到与表单控件对应且携带有语种标识的语言包,则生成与表单控件对应且携带有语种标识的语言包;
根据语言包对表单控件进行加载,得到包含加载后的表单控件的页面;页面中的加载后的表单控件以与语种标识对应的语言显示。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:对待加载的表单控件进行解析,得到包含有表单控件所显示内容的初始语言数据;根据预加载语种标识,将初始语言数据转换为与预加载语种标识对应语种的目标语言数据;根据目标语言数据生成与表单控件对应且携带有语种标识对应的语言包。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:根据待加载的表单控件的类型,调用相应的解析器作为目标解析器;通过目标解析器提取表单控件中所显示的内容,根据提取结果生成初始语言数据;提取结果中包括与表单控件中所显示的内容对应的初始字符串信息。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:构建与初始语言数据对应的初始语言数据模板,并获取与预加载语种标识对应的语种映射字典;初始语言数据模板中包括多个初始字符串信息;根据语种映射字典,将初始语言数据模板中的初始字符串信息替换为与预加载语种标识对应的目标字符串信息;根据初始语言数据模板以及目标字符串信息生成与预加载语种标识对应语种的目标语言数据。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:将语言包存入预设缓存;将语言包存入预设缓存。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:通过预设缓存服务将语言包存入预设缓存。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:从页面的加载请求中获取用户会话标识;将与用户会话标识对应的语种标识作为与表单控件对应的语种标识。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:若在预设缓存中检索到与表单控件对应且携带有语种标识的语言包,则根据加载请求将语言包加载至表单控件。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,上述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-Only Memory,ROM)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic Random Access Memory,DRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种自定义表单控件的多语言加载方法,其特征在于,所述方法包括:
响应于页面的加载请求,根据所述加载请求确定所述页面中待加载的表单控件,以及与所述表单控件对应的语种标识;所述语种标识是所述表单控件进行加载的具体语言种类;
从预设缓存中检索与所述表单控件对应且携带有所述语种标识的语言包;所述语言包与所述表单控件及所述语种标识均存在对应关系;
若在所述预设缓存中未检索到与所述表单控件对应且携带有所述语种标识的语言包,则生成与所述表单控件对应且携带有所述语种标识的语言包;将带有所述语种标识的语言包存入所述预设缓存,所述预设缓存用于提高所述语言包的读取速度;
根据所述语言包对所述表单控件进行加载,得到包含加载后的表单控件的页面;所述页面中的所述加载后的表单控件以与所述语种标识对应的语言显示;
所述从预设缓存中检索与所述表单控件对应且携带有所述语种标识的语言包,包括:
从预设缓存中获取与所述表单控件存在对应关系的语言包;
根据所述语种标识从与所述表单控件存在对应关系的语言包中获取携带有所述语种标识的语言包;
所述响应于页面的加载请求,根据所述加载请求确定所述页面中待加载的表单控件,以及与所述表单控件对应的语种标识,包括:
从所述页面的加载请求中获取用户会话标识;
将与所述用户会话标识对应的语种标识作为与所述表单控件对应的语种标识;
所述生成与所述表单控件对应且携带有所述语种标识的语言包,包括:
对所述待加载的表单控件进行解析,得到包含有所述表单控件所显示内容的初始语言数据;
将所述初始语言数据转换为与所述语种标识对应语种的目标语言数据;
根据所述目标语言数据生成与所述表单控件对应且携带有所述语种标识对应的语言包。
2.根据权利要求1所述的方法,其特征在于,所述对所述待加载的表单控件进行解析,得到包含有所述表单控件所显示内容的初始语言数据,包括:
根据所述待加载的表单控件的类型,调用相应的解析器作为目标解析器;
通过所述目标解析器提取所述表单控件中所显示的内容,根据提取结果生成所述初始语言数据;所述提取结果中包括与所述表单控件中所显示的内容对应的初始字符串信息。
3.根据权利要求2所述的方法,其特征在于,所述将所述初始语言数据转换为与所述语种标识对应语种的目标语言数据,包括:
构建与所述初始语言数据对应的初始语言数据模板,并获取与所述语种标识对应的语种映射字典;所述初始语言数据模板中包括多个所述初始字符串信息;
根据所述语种映射字典,将所述初始语言数据模板中的初始字符串信息替换为与所述语种标识对应的目标字符串信息;
根据所述初始语言数据模板以及所述目标字符串信息生成所述与所述语种标识对应语种的目标语言数据。
4.根据权利要求1所述的方法,其特征在于,
所述将带有所述语种标识的语言包存入所述预设缓存,包括:
通过预设缓存服务将带有所述语种标识的语言包存入所述预设缓存。
5.根据权利要求1所述的方法,其特征在于,在从预设缓存中检索与所述表单控件对应且携带有所述语种标识的语言包之后,还包括:
若在所述预设缓存中检索到与所述表单控件对应且携带有所述语种标识的语言包,则根据所述加载请求将所述语言包加载至所述表单控件。
6.一种自定义表单控件的多语言加载装置,其特征在于,所述装置包括:
请求响应模块,用于响应于页面的加载请求,根据所述加载请求确定所述页面中待加载的表单控件,以及与所述表单控件对应的语种标识;所述语种标识是所述表单控件进行加载的具体语言种类;
语言包检索模块,用于从预设缓存中检索与所述表单控件对应且携带有所述语种标识的语言包;所述语言包与所述表单控件及所述语种标识均存在对应关系;
语言包生成模块,用于若在所述预设缓存中未检索到与所述表单控件对应且携带有所述语种标识的语言包,则生成与所述表单控件对应且携带有所述语种标识的语言包;将所述携带有所述语种标识的语言包存入所述预设缓存,所述预设缓存用于提高所述语言包的读取速度;
语言包加载模块,用于根据所述语言包对所述表单控件进行加载,得到包含加载后的表单控件的页面;所述页面中的所述加载后的表单控件以与所述语种标识对应的语言显示;
所述语言包检索模块,还用于从预设缓存中获取与所述表单控件存在对应关系的语言包;根据所述语种标识从与所述表单控件存在对应关系的语言包中获取携带有所述语种标识的语言包;
所述请求响应模块,还用于从所述页面的加载请求中获取用户会话标识;将与所述用户会话标识对应的语种标识作为与所述表单控件对应的语种标识;
所述语言包生成模块,还用于对所述待加载的表单控件进行解析,得到包含有所述表单控件所显示内容的初始语言数据;将所述初始语言数据转换为与所述语种标识对应语种的目标语言数据;根据所述目标语言数据生成与所述表单控件对应且携带有所述语种标识对应的语言包。
7.根据权利要求6所述的装置,其特征在于,所述语言包生成模块,还用于根据所述待加载的表单控件的类型,调用相应的解析器作为目标解析器;通过所述目标解析器提取所述表单控件中所显示的内容,根据提取结果生成所述初始语言数据;所述提取结果中包括与所述表单控件中所显示的内容对应的初始字符串信息。
8.根据权利要求7所述的装置,其特征在于,所述语言包生成模块,还用于构建与所述初始语言数据对应的初始语言数据模板,并获取与所述语种标识对应的语种映射字典;所述初始语言数据模板中包括多个所述初始字符串信息;根据所述语种映射字典,将所述初始语言数据模板中的初始字符串信息替换为与所述语种标识对应的目标字符串信息;根据所述初始语言数据模板以及所述目标字符串信息生成所述与所述语种标识对应语种的目标语言数据。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至5中任一项所述的方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至5中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011542297.6A CN112306620B (zh) | 2020-12-24 | 2020-12-24 | 自定义表单控件的多语言加载方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011542297.6A CN112306620B (zh) | 2020-12-24 | 2020-12-24 | 自定义表单控件的多语言加载方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112306620A CN112306620A (zh) | 2021-02-02 |
CN112306620B true CN112306620B (zh) | 2021-07-16 |
Family
ID=74487551
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011542297.6A Active CN112306620B (zh) | 2020-12-24 | 2020-12-24 | 自定义表单控件的多语言加载方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112306620B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113407288B (zh) * | 2021-06-29 | 2022-09-30 | 杭州海康威视数字技术股份有限公司 | 数据处理方法、装置及电子设备 |
CN114385290B (zh) * | 2021-12-24 | 2024-04-05 | 国泰新点软件股份有限公司 | 页面转换方法、装置和存储介质 |
CN115965017B (zh) * | 2023-01-04 | 2023-11-10 | 北京三维天地科技股份有限公司 | 一种基于开发平台的多语言录入和解析系统及方法 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6526426B1 (en) * | 1998-02-23 | 2003-02-25 | David Lakritz | Translation management system |
US6754668B2 (en) * | 2000-10-24 | 2004-06-22 | Raytheon Company | Multilingual system having dynamic language selection |
CN101714080A (zh) * | 2009-10-28 | 2010-05-26 | 金蝶软件(中国)有限公司 | 实现web多语言控件的方法及系统 |
CN102207870B (zh) * | 2011-06-08 | 2014-04-23 | 广东威创视讯科技股份有限公司 | 多语言版本的软件界面自适应方法及系统 |
CN103699655B (zh) * | 2013-12-27 | 2017-02-15 | 福建星网视易信息系统有限公司 | 实现数据库国际化的方法及装置、数据转换方法及系统 |
GB2524491A (en) * | 2014-03-24 | 2015-09-30 | Interceptor Solutions Ltd | Multilingual system and corresponding method |
CN105786843A (zh) * | 2014-12-22 | 2016-07-20 | 华为软件技术有限公司 | 一种应用的多语言实现方法及多语言信息查询方法、装置 |
CN105404508A (zh) * | 2015-11-05 | 2016-03-16 | 浪潮(北京)电子信息产业有限公司 | 一种管理界面多语言的支持方法、装置及终端 |
CN110554893B (zh) * | 2018-05-31 | 2023-08-22 | 马上消费金融股份有限公司 | 软件系统多语言适配方法、装置、设备及可读存储介质 |
CN111061533A (zh) * | 2019-12-18 | 2020-04-24 | 深圳前海环融联易信息科技服务有限公司 | 页面多语言展示方法、其装置、电子设备及计算机存储介质 |
CN111427641A (zh) * | 2020-02-27 | 2020-07-17 | 深圳壹账通智能科技有限公司 | 多语言适配方法、装置、系统、计算机设备及存储介质 |
CN111857924A (zh) * | 2020-07-21 | 2020-10-30 | 哈尔滨海能达科技有限公司 | 一种终端的多语言实现方法及装置 |
-
2020
- 2020-12-24 CN CN202011542297.6A patent/CN112306620B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN112306620A (zh) | 2021-02-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112306620B (zh) | 自定义表单控件的多语言加载方法及装置 | |
CN108932122B (zh) | 接口文档生成方法、装置、计算机设备和存储介质 | |
CN111596965B (zh) | 项目工程初始化方法、装置、计算机设备和存储介质 | |
CN108717437B (zh) | 搜索结果展示方法、装置及存储介质 | |
CN107562735A (zh) | 用于应用的自动语言转化的系统和方法 | |
CN111831384B (zh) | 语言切换方法和装置、设备及存储介质 | |
CN108280219A (zh) | 文本翻译方法、装置、计算机设备和存储介质 | |
CN105550206A (zh) | 结构化查询语句的版本控制方法及装置 | |
CN111552903A (zh) | 基于html模板的页面生成方法、装置和计算机设备 | |
CN115438740A (zh) | 一种多源数据的汇聚融合方法和系统 | |
CN114816404A (zh) | 动态渲染视图页面的方法、装置、计算机设备及存储介质 | |
US20110035433A1 (en) | Webpage display method, computer system, and program | |
CN116227505A (zh) | 一种国际化文件翻译方法、装置、设备及介质 | |
CN115599386A (zh) | 代码生成方法、装置、设备及存储介质 | |
CN112187713A (zh) | 报文转换的方法、装置、计算机设备和存储介质 | |
CN113703777B (zh) | 基于数据库表的代码生成方法、装置、存储介质和设备 | |
CN111460254A (zh) | 一种基于多线程的网页爬取方法、装置、存储介质及设备 | |
CN114327435A (zh) | 技术文档生成方法、装置、计算机可读存储介质 | |
CN113127776A (zh) | 面包屑路径生成方法、装置及终端设备 | |
CN117389538A (zh) | 页面组件内容开发方法、装置、设备以及存储介质 | |
CN111240790B (zh) | 一种应用的多语言适配方法、装置、客户端和存储介质 | |
JP3110367B2 (ja) | ソースコンバータの処理方法及びソースコンバータ処理プログラムを記録したコンピュータ読み取り可能な記録媒体 | |
CN110647350A (zh) | 接口文档生成方法、装置、计算机设备和存储介质 | |
CN115390835A (zh) | 一种小程序标签化搜索框的构建方法及设备 | |
CN115981650A (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 |