CN117251240A - 国际化应用程序运行方法及装置、存储介质、计算机设备 - Google Patents

国际化应用程序运行方法及装置、存储介质、计算机设备 Download PDF

Info

Publication number
CN117251240A
CN117251240A CN202311154723.2A CN202311154723A CN117251240A CN 117251240 A CN117251240 A CN 117251240A CN 202311154723 A CN202311154723 A CN 202311154723A CN 117251240 A CN117251240 A CN 117251240A
Authority
CN
China
Prior art keywords
application program
target
resources
internationalization
internationalized
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.)
Pending
Application number
CN202311154723.2A
Other languages
English (en)
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.)
Shenzhen Workec Technology Co ltd
Original Assignee
Shenzhen Workec 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 Shenzhen Workec Technology Co ltd filed Critical Shenzhen Workec Technology Co ltd
Priority to CN202311154723.2A priority Critical patent/CN117251240A/zh
Publication of CN117251240A publication Critical patent/CN117251240A/zh
Pending legal-status Critical Current

Links

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
    • 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/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请公开了一种国际化应用程序运行方法及装置、存储介质、计算机设备,该方法包括:响应于应用程序的启动信号,显示所述应用程序的启动页,并识别所述应用程序的目标使用语言;将所述应用程序的私有目录下与所述目标使用语言匹配的目标国际化资源加载至应用程序缓存中,其中,所述私有目录下包括多种语言的本地国际化资源;在所述目标国际化资源加载结束后,基于加载到所述应用程序缓存中的所述目标国际化资源对所述应用程序进行初始化,显示所述应用程序的主页面。即使应用程序对国际化资源进行更改,也无需更改应用程序的本地代码,只需要更新私有目录中的国际化资源即可,有助于实现国际化资源的快速更新。

Description

国际化应用程序运行方法及装置、存储介质、计算机设备
技术领域
本申请涉及计算机技术领域,尤其是涉及到一种国际化应用程序运行方法及装置、存储介质、计算机设备。
背景技术
APP应用程序的国际化是指将软件界面、功能、内容等进行本地化处理,以满足不同语言、文化、地域等用户的需求,随着互联网和计算机技术的不断发展,应用程序国际化已经成为很多应用程序开发商的普遍需求。
目前App端国际化资源都是硬编码在本地,如果需要添加另一种国际化方式就需要在本地代码中添加;如果已存在的国际化需要修改翻译文件或者需要添加另一种国际化方式就需要在本地代码中添加或者修改。这样App端只能重新发布版本如果用户不升级版本就无法体验新增的国际化方式。
发明内容
有鉴于此,本申请提供了一种国际化应用程序运行方法及装置、存储介质、计算机设备,即使应用程序对国际化资源进行更改,也无需更改应用程序的本地代码,只需要更新私有目录中的国际化资源即可,有助于实现国际化资源的快速更新。
根据本申请的一个方面,提供了一种国际化应用程序运行方法,所述方法包括:
响应于应用程序的启动信号,显示所述应用程序的启动页,并识别所述应用程序的目标使用语言;
将所述应用程序的私有目录下与所述目标使用语言匹配的目标国际化资源加载至应用程序缓存中,其中,所述私有目录下包括多种语言的本地国际化资源;
在所述目标国际化资源加载结束后,基于加载到所述应用程序缓存中的所述目标国际化资源对所述应用程序进行初始化,显示所述应用程序的主页面。
可选地,所述将所述应用程序的私有目录下与所述目标国际化选项匹配的目标国际化资源加载至应用程序缓存中,包括:
判断所述应用程序的私有目录下是否包含所述本地国际化资源;
若不包含,则将所述应用程序的安装包中的国际化资源复制到所述私有目录中,得到所述私有目录下的本地国际化资源,并将所述应用程序的私有目录下与所述目标国际化选项匹配的目标国际化资源加载至应用程序缓存中;
若包含,则将所述应用程序的私有目录下与所述目标国际化选项匹配的目标国际化资源加载至应用程序缓存中。
可选地,所述方法还包括:
响应于应用程序的启动信号,建立与所述应用程序的服务器之间的长链接,通过所述长链接监听所述服务器中是否存在所述应用程序对应的国际化资源更新数据;
基于所述国际化资源更新数据,对所述私有目录下的本地国际化资源以及所述应用程序缓存中的目标国际化资源进行更新。
可选地,所述国际化资源更新数据包括更新资源数据和/或添加资源数据;
所述基于所述国际化资源更新数据,对所述私有目录下的本地国际化资源以及所述应用程序缓存中的目标国际化资源进行更新,包括:
若所述国际化资源更新数据包括所述添加资源数据,则基于所述添加资源数据,在所述私有目录下新增所述添加资源数据对应的待添加语言的本地国际化资源;
若所述国际化资源更新数据包括所述更新资源数据,则判断所述更新资源数据对应的待更新语言是否为所述目标使用语言;
若所述待更新语言为所述目标使用语言,则基于所述更新资源数据,对所述私有目录下的所述目标使用语言的本地国际化资源进行更新、以及对所述应用程序缓存中的目标国际化资源进行更新;
若所述待更新语言不为所述目标使用语言,则基于所述更新资源数据,对所述私有目录下的所述待更新语言的本地国际化资源进行更新。
可选地,基于所述更新资源数据,对所述应用程序缓存中的目标国际化资源进行更新之后,所述方法还包括:
基于所述应用程序环境中的目标国际化资源,对所述应用程序的显示页面进行更新。
可选地,所述显示所述应用程序的主页面之后,所述方法还包括:
响应于所述应用程序的语言切换指令,确定待切换语言;
删除所述应用程序缓存中的所述目标国际化资源,并将所述应用程序的私有目录下与所述待切换语言匹配的国际化资源加载至所述应用程序缓存中,得到所述应用程序缓存中的新的目标国际化资源;
基于所述应用程序缓存中的所述新的目标国际化资源,刷新所述应用程序的显示页面。
可选地,所述识别所述应用程序的目标使用语言,包括:
查询所述应用程序是否存在预配置的语言信息;
若存在,则基于预配置的语言信息,确定所述目标使用语言;
若不存在,则基于客户端定位信息确定客户端使用国家,并将所述客户端使用国家对应的通用语言作为所述目标使用语言。
根据本申请的另一方面,提供了一种国际化应用程序运行装置,所述装置包括:
启动模块,用于响应于应用程序的启动信号,显示所述应用程序的启动页,并识别所述应用程序的目标使用语言;
加载模块,用于将所述应用程序的私有目录下与所述目标使用语言匹配的目标国际化资源加载至应用程序缓存中,其中,所述私有目录下包括多种语言的本地国际化资源;
运行模块,用于在所述目标国际化资源加载结束后,基于加载到所述应用程序缓存中的所述目标国际化资源对所述应用程序进行初始化,显示所述应用程序的主页面。
可选地,所述加载模块,用于:
判断所述应用程序的私有目录下是否包含所述本地国际化资源;
若不包含,则将所述应用程序的安装包中的国际化资源复制到所述私有目录中,得到所述私有目录下的本地国际化资源,并将所述应用程序的私有目录下与所述目标国际化选项匹配的目标国际化资源加载至应用程序缓存中;
若包含,则将所述应用程序的私有目录下与所述目标国际化选项匹配的目标国际化资源加载至应用程序缓存中。
可选地,所述加载模块,用于:
响应于应用程序的启动信号,建立与所述应用程序的服务器之间的长链接,通过所述长链接监听所述服务器中是否存在所述应用程序对应的国际化资源更新数据;
基于所述国际化资源更新数据,对所述私有目录下的本地国际化资源以及所述应用程序缓存中的目标国际化资源进行更新。
可选地,所述国际化资源更新数据包括更新资源数据和/或添加资源数据;
所述加载模块,用于:
所述基于所述国际化资源更新数据,对所述私有目录下的本地国际化资源以及所述应用程序缓存中的目标国际化资源进行更新,包括:
若所述国际化资源更新数据包括所述添加资源数据,则基于所述添加资源数据,在所述私有目录下新增所述添加资源数据对应的待添加语言的本地国际化资源;
若所述国际化资源更新数据包括所述更新资源数据,则判断所述更新资源数据对应的待更新语言是否为所述目标使用语言;
若所述待更新语言为所述目标使用语言,则基于所述更新资源数据,对所述私有目录下的所述目标使用语言的本地国际化资源进行更新、以及对所述应用程序缓存中的目标国际化资源进行更新;
若所述待更新语言不为所述目标使用语言,则基于所述更新资源数据,对所述私有目录下的所述待更新语言的本地国际化资源进行更新。
可选地,所述运行模块,用于:
基于所述应用程序环境中的目标国际化资源,对所述应用程序的显示页面进行更新。
可选地,所述运行模块,用于:响应于所述应用程序的语言切换指令,确定待切换语言;
所述加载模块,用于:删除所述应用程序缓存中的所述目标国际化资源,并将所述应用程序的私有目录下与所述待切换语言匹配的国际化资源加载至所述应用程序缓存中,得到所述应用程序缓存中的新的目标国际化资源;
所述运行模块,用于:基于所述应用程序缓存中的所述新的目标国际化资源,刷新所述应用程序的显示页面。
可选地,所述启动模块,用于:
查询所述应用程序是否存在预配置的语言信息;
若存在,则基于预配置的语言信息,确定所述目标使用语言;
若不存在,则基于客户端定位信息确定客户端使用国家,并将所述客户端使用国家对应的通用语言作为所述目标使用语言。
依据本申请又一个方面,提供了一种存储介质,其上存储有计算机程序,所述程序被处理器执行时实现上述国际化应用程序运行方法。
依据本申请再一个方面,提供了一种计算机设备,包括存储介质、处理器及存储在存储介质上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述国际化应用程序运行方法。
借由上述技术方案,本申请提供的一种国际化应用程序运行方法及装置、存储介质、计算机设备,用户请求启动应用程序app时,显示应用程序的启动页,并识别应用程序的目标使用语言,例如默认使用语言或设定使用语言。在显示启动页的过程中,在应用程序的私有目录下的多种语言的本地化国际资源中,查询目标使用语言的目标国际化资源,从而将私有目录下的目标国际化资源加载到应用程序缓存中,以便应用程序运行后能够使用缓存中的国际化资源。当保证app缓存已经加载成功国际化资源文件时,这个情况才能正常初始化app,这里不用担心加载是否耗时,因为该国际化资源文件为xml文件格式,读取速度和操作速度很快,而且app本来就有启用页,当启动页显示时后台线程会读取xml文件到缓存中,读取完之后启动页才关闭跳转至首页。本申请实施例通过将国际化资源存储在应用程序的私有目录中,从而在应用程序启动时将私有目录下的国际化资源加载到缓存中进行使用,即使应用程序对国际化资源进行更改,也无需更改应用程序的本地代码,只需要更新私有目录中的国际化资源即可,有助于实现国际化资源的快速更新。
上述说明仅是本申请技术方案的概述,为了能够更清楚了解本申请的技术手段,而可依照说明书的内容予以实施,并且为了让本申请的上述和其它目的、特征和优点能够更明显易懂,以下特举本申请的具体实施方式。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1示出了本申请实施例提供的一种国际化应用程序运行方法的流程示意图;
图2示出了本申请实施例提供的另一种国际化应用程序运行方法的流程示意图;
图3示出了本申请实施例提供的另一种国际化应用程序运行方法的流程示意图;
图4示出了本申请实施例提供的另一种国际化应用程序运行方法的流程示意图;
图5示出了本申请实施例提供的一种国际化资源的示意图;
图6示出了本申请实施例提供的另一种国际化资源的示意图;
图7示出了本申请实施例提供的一种国际化应用程序运行装置的结构示意图;
图8示出了本申请实施例提供的一种计算机设备的装置结构示意图。
具体实施方式
下文中将参考附图并结合实施例来详细说明本申请。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
在本实施例中提供了一种国际化应用程序运行方法,如图1所示,该方法包括:
步骤101,响应于应用程序的启动信号,显示所述应用程序的启动页,并识别所述应用程序的目标使用语言。
步骤102,将所述应用程序的私有目录下与所述目标使用语言匹配的目标国际化资源加载至应用程序缓存中,其中,所述私有目录下包括多种语言的本地国际化资源。
步骤103,在所述目标国际化资源加载结束后,基于加载到所述应用程序缓存中的所述目标国际化资源对所述应用程序进行初始化,显示所述应用程序的主页面。
通过应用本实施例的技术方案,用户请求启动应用程序app时,显示应用程序的启动页,并识别应用程序的目标使用语言,例如默认使用语言或设定使用语言。在显示启动页的过程中,在应用程序的私有目录下的多种语言的本地化国际资源中,查询目标使用语言的目标国际化资源,从而将私有目录下的目标国际化资源加载到应用程序缓存中,以便应用程序运行后能够使用缓存中的国际化资源。当保证app缓存已经加载成功国际化资源文件时,这个情况才能正常初始化app,这里不用担心加载是否耗时,因为该国际化资源文件为xml文件格式,读取速度和操作速度很快,而且app本来就有启用页,当启动页显示时后台线程会读取xml文件到缓存中,读取完之后启动页才关闭跳转至首页。本申请实施例通过将国际化资源存储在应用程序的私有目录中,从而在应用程序启动时将私有目录下的国际化资源加载到缓存中进行使用,即使应用程序对国际化资源进行更改,也无需更改应用程序的本地代码,只需要更新私有目录中的国际化资源即可,有助于实现国际化资源的快速更新。
进一步的,作为上述实施例具体实施方式的细化和扩展,为了完整说明本实施例的具体实施过程,提供了另一种国际化应用程序运行方法,如图2所示,该方法包括:
步骤201,响应于应用程序的启动信号,显示所述应用程序的启动页,并查询所述应用程序是否存在预配置的语言信息;若存在,则基于预配置的语言信息,确定所述目标使用语言;若不存在,则基于客户端定位信息确定客户端使用国家,并将所述客户端使用国家对应的通用语言作为所述目标使用语言。
在本实施例中,应用程序启动时,显示应用程序的启动页,并确定应用程序的目标使用语言。具体地,如果预配置了应用程序的语言信息,那么直接将预配置的语言信息作为目标使用语言,例如将上一次用户选择的语言作为目标使用语言,否则,可以根据客户端定位信息确定当前的客户端使用国家,并将该国家的通用语言作为目标使用语言。
步骤202,判断所述应用程序的私有目录下是否包含所述本地国际化资源。
步骤203,若不包含,则将所述应用程序的安装包中的国际化资源复制到所述私有目录中,得到所述私有目录下的本地国际化资源,并将所述应用程序的私有目录下与所述目标国际化选项匹配的目标国际化资源加载至应用程序缓存中。
步骤204,若包含,则将所述应用程序的私有目录下与所述目标国际化选项匹配的目标国际化资源加载至应用程序缓存中。
步骤205,在所述目标国际化资源加载结束后,基于加载到所述应用程序缓存中的所述目标国际化资源对所述应用程序进行初始化,显示所述应用程序的主页面。
在该实施例中,如图3所示,应用程序的安装包(工程)内部有一份默认的国际化资源,但由于系统原因安装包在运行时是无法操作安装包(工程)内部国际化资源文件,所以是先将工程内部的国际化资源文件拷贝至app私有目录中(这个私有目录是由系统分配的,其它外部app是无法访问的);App启动是首先判断app私有目录是否存在国际化资源文件夹,如果存在表示之前已经拷贝过,所以app从私有目录加载国际化资源到app缓存中,如果不存在将安装包(工程)内部的国际化资源文件拷贝至app私有目录中,拷贝成功之后该国际化资源加载到app缓存中;当保证app缓存已经加载成功国际化资源文件时,这个情况才能正常初始化App;不用担心加载是否耗时,因为该文件为xml文件格式,读取速度和操作速度很快,何况app本来就有启用页。当启动页显示时后台线程会读取xml文件到缓存中,读取完之后启动页才关闭跳转至首页。
步骤206,响应于应用程序的启动信号,建立与所述应用程序的服务器之间的长链接,通过所述长链接监听所述服务器中是否存在所述应用程序对应的国际化资源更新数据;基于所述国际化资源更新数据,对所述私有目录下的本地国际化资源以及所述应用程序缓存中的目标国际化资源进行更新,所述国际化资源更新数据包括更新资源数据和/或添加资源数据。
在该实施例中,在应用程序启动时,还可以建立应用程序与服务器之间的长链接,通过长链接查询服务器是否存在服务器已进行更新、但应用程序还未更新过的国际化资源更新数据,以及通过长链接实时接收服务器下发的国际化资源更新数据。如果查询到、或接收到国际化资源更新数据,那么对应用程序的私有目录下的本地国际化资源以及应用程序缓存中的目标国际化资源进行更新。其中,国际化资源更新数据可以包括用于对已有语言的国际化资源进行修改的更新资源数据,还可以包括用于新增一种语言的国际化资源的添加资源数据。
在本申请实施例中,可选地,步骤206中所述基于所述国际化资源更新数据,对所述私有目录下的本地国际化资源以及所述应用程序缓存中的目标国际化资源进行更新,包括:
步骤206-1,若所述国际化资源更新数据包括所述添加资源数据,则基于所述添加资源数据,在所述私有目录下新增所述添加资源数据对应的待添加语言的本地国际化资源;
步骤206-2,若所述国际化资源更新数据包括所述更新资源数据,则判断所述更新资源数据对应的待更新语言是否为所述目标使用语言;
步骤206-3,若所述待更新语言为所述目标使用语言,则基于所述更新资源数据,对所述私有目录下的所述目标使用语言的本地国际化资源进行更新、以及对所述应用程序缓存中的目标国际化资源进行更新;基于所述应用程序环境中的目标国际化资源,对所述应用程序的显示页面进行更新。
步骤206-4,若所述待更新语言不为所述目标使用语言,则基于所述更新资源数据,对所述私有目录下的所述待更新语言的本地国际化资源进行更新。
在该实施例中,如图4所示,当App启动之后程序会判断当前用户选择是哪种国际化就会加载哪种国际化资源文件。国际化资源文件从app私有目录中获取加载到app缓存map中。app初始化时与服务端进行长链接方式,本专利使用的是websocket,注册服务端监听机制,主要监听服务端的更新资源项和添加资源文件。当服务端下发指令更新资源项或者添加资源文件时,app端websocket就会监听到服务端下发的通知,根据不同的通知指令进行不同的逻辑处理;如果收到的指令为更新资源项(更新资源数据),如果该资源项为当前选择的国际化,会更新缓存和本地资源文件,如果该资源项不是当前选择的国际化则只会更新本地资源文件,不会更新缓存;如果收到的指令为添加资源文件(添加资源数据)时,则会把服务端下发的资源文件添加到app私有目录中,然后会更新国际化配置文件,这样用户再次打开国际化切换界面时就会支持刚刚添加的国际化,用户无需重启app。
步骤207,响应于所述应用程序的语言切换指令,确定待切换语言;删除所述应用程序缓存中的所述目标国际化资源,并将所述应用程序的私有目录下与所述待切换语言匹配的国际化资源加载至所述应用程序缓存中,得到所述应用程序缓存中的新的目标国际化资源;基于所述应用程序缓存中的所述新的目标国际化资源,刷新所述应用程序的显示页面。
在该实施例中,如图4所示,当用户切换国际化时,会把app缓存的map清空,加载切换之后的国际化资源文件;由于界面都是通过资源id获取的值,这时只需将打开的界面重新refresh(刷新)一次即可。如图5所示,国际化资源包括颜色值color,drawable图片资源,string字符串资源。如图6所示,以国际化文件(国际化资源)包括中文资源values和英文资源values-en为例,不同语言的国际化资源均包括strings.xml文件、colors.xml文件、drawable.xml文件。国际化配置文件信息(本地国际化资源)存储在私有目录中,当app切换国际化时会读取该本地国际化资源xml文件,该文件中有多少项就在UI上就能显示多少种国际化提供给用户切换,这个配置文件信息是可以支持在线更新(从服务端获取更新),即更新即使用。
通过应用本实施例的技术方案,国际化资源文件主要存储在App私有目录中,如果App私有目录中没有资源文件夹则会从App(工程)内部拷贝文件至App私有目录中。App启动时从私有目录将对应的国际化资源文件加载到缓存Map中,app需要使用时从map中获取,国际化资源缓存,以Map<ID,String>数据结构方式存储。app弹出国际化切换界面时,国际化数据完全通过配置文件读取之后在UI上展示,主要是为了更方便热更新时去更新本地配置文件。app通过向服务端获取最新的国际化资源文件信息,如果有更新或者新增时则会更新本地私有目录中的资源文件和app缓存资源文件,还有一种方式就是服务端主动通知app有资源更新时app去获取最新的资源信息后更新本地文件和app缓存文件。当app缓存文件更新时,app不需要重启就能立马在UI上显示最新的资源信息,该资源可以是字符串(文字)、颜色(color)、图片(drawable)。从而实现了国际化资源的热更新,无需应用程序重新发版。
进一步的,作为图1方法的具体实现,本申请实施例提供了一种国际化应用程序运行装置,如图7所示,该装置包括:
启动模块,用于响应于应用程序的启动信号,显示所述应用程序的启动页,并识别所述应用程序的目标使用语言;
加载模块,用于将所述应用程序的私有目录下与所述目标使用语言匹配的目标国际化资源加载至应用程序缓存中,其中,所述私有目录下包括多种语言的本地国际化资源;
运行模块,用于在所述目标国际化资源加载结束后,基于加载到所述应用程序缓存中的所述目标国际化资源对所述应用程序进行初始化,显示所述应用程序的主页面。
可选地,所述加载模块,用于:
判断所述应用程序的私有目录下是否包含所述本地国际化资源;
若不包含,则将所述应用程序的安装包中的国际化资源复制到所述私有目录中,得到所述私有目录下的本地国际化资源,并将所述应用程序的私有目录下与所述目标国际化选项匹配的目标国际化资源加载至应用程序缓存中;
若包含,则将所述应用程序的私有目录下与所述目标国际化选项匹配的目标国际化资源加载至应用程序缓存中。
可选地,所述加载模块,用于:
响应于应用程序的启动信号,建立与所述应用程序的服务器之间的长链接,通过所述长链接监听所述服务器中是否存在所述应用程序对应的国际化资源更新数据;
基于所述国际化资源更新数据,对所述私有目录下的本地国际化资源以及所述应用程序缓存中的目标国际化资源进行更新。
可选地,所述国际化资源更新数据包括更新资源数据和/或添加资源数据;
所述加载模块,用于:
所述基于所述国际化资源更新数据,对所述私有目录下的本地国际化资源以及所述应用程序缓存中的目标国际化资源进行更新,包括:
若所述国际化资源更新数据包括所述添加资源数据,则基于所述添加资源数据,在所述私有目录下新增所述添加资源数据对应的待添加语言的本地国际化资源;
若所述国际化资源更新数据包括所述更新资源数据,则判断所述更新资源数据对应的待更新语言是否为所述目标使用语言;
若所述待更新语言为所述目标使用语言,则基于所述更新资源数据,对所述私有目录下的所述目标使用语言的本地国际化资源进行更新、以及对所述应用程序缓存中的目标国际化资源进行更新;
若所述待更新语言不为所述目标使用语言,则基于所述更新资源数据,对所述私有目录下的所述待更新语言的本地国际化资源进行更新。
可选地,所述运行模块,用于:
基于所述应用程序环境中的目标国际化资源,对所述应用程序的显示页面进行更新。
可选地,所述运行模块,用于:响应于所述应用程序的语言切换指令,确定待切换语言;
所述加载模块,用于:删除所述应用程序缓存中的所述目标国际化资源,并将所述应用程序的私有目录下与所述待切换语言匹配的国际化资源加载至所述应用程序缓存中,得到所述应用程序缓存中的新的目标国际化资源;
所述运行模块,用于:基于所述应用程序缓存中的所述新的目标国际化资源,刷新所述应用程序的显示页面。
可选地,所述启动模块,用于:
查询所述应用程序是否存在预配置的语言信息;
若存在,则基于预配置的语言信息,确定所述目标使用语言;
若不存在,则基于客户端定位信息确定客户端使用国家,并将所述客户端使用国家对应的通用语言作为所述目标使用语言。
需要说明的是,本申请实施例提供的一种国际化应用程序运行装置所涉及各功能单元的其他相应描述,可以参考图1至图4方法中的对应描述,在此不再赘述。
本申请实施例还提供了一种计算机设备,具体可以为个人计算机、服务器、网络设备等,如图8所示,该计算机设备包括总线、处理器、存储器和通信接口,还可以包括输入输出接口和显示设备。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质和内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储位置信息。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现各方法实施例中的步骤。
本领域技术人员可以理解,图8中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机可读存储介质,所述计算机可读存储介质可以是非易失性,也可以是易失性,其上存储有计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
需要说明的是,本申请所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-OnlyMemory,ROM)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(ReRAM)、磁变存储器(Magnetoresistive Random Access Memory,MRAM)、铁电存储器(Ferroelectric Random Access Memory,FRAM)、相变存储器(Phase Change Memory,PCM)、石墨烯存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器等。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic RandomAccess Memory,DRAM)等。本申请所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本申请所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。

Claims (10)

1.一种国际化应用程序运行方法,其特征在于,所述方法包括:
响应于应用程序的启动信号,显示所述应用程序的启动页,并识别所述应用程序的目标使用语言;
将所述应用程序的私有目录下与所述目标使用语言匹配的目标国际化资源加载至应用程序缓存中,其中,所述私有目录下包括多种语言的本地国际化资源;
在所述目标国际化资源加载结束后,基于加载到所述应用程序缓存中的所述目标国际化资源对所述应用程序进行初始化,显示所述应用程序的主页面。
2.根据权利要求1所述的方法,其特征在于,所述将所述应用程序的私有目录下与所述目标国际化选项匹配的目标国际化资源加载至应用程序缓存中,包括:
判断所述应用程序的私有目录下是否包含所述本地国际化资源;
若不包含,则将所述应用程序的安装包中的国际化资源复制到所述私有目录中,得到所述私有目录下的本地国际化资源,并将所述应用程序的私有目录下与所述目标国际化选项匹配的目标国际化资源加载至应用程序缓存中;
若包含,则将所述应用程序的私有目录下与所述目标国际化选项匹配的目标国际化资源加载至应用程序缓存中。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
响应于应用程序的启动信号,建立与所述应用程序的服务器之间的长链接,通过所述长链接监听所述服务器中是否存在所述应用程序对应的国际化资源更新数据;
基于所述国际化资源更新数据,对所述私有目录下的本地国际化资源以及所述应用程序缓存中的目标国际化资源进行更新。
4.根据权利要求3所述的方法,其特征在于,所述国际化资源更新数据包括更新资源数据和/或添加资源数据;
所述基于所述国际化资源更新数据,对所述私有目录下的本地国际化资源以及所述应用程序缓存中的目标国际化资源进行更新,包括:
若所述国际化资源更新数据包括所述添加资源数据,则基于所述添加资源数据,在所述私有目录下新增所述添加资源数据对应的待添加语言的本地国际化资源;
若所述国际化资源更新数据包括所述更新资源数据,则判断所述更新资源数据对应的待更新语言是否为所述目标使用语言;
若所述待更新语言为所述目标使用语言,则基于所述更新资源数据,对所述私有目录下的所述目标使用语言的本地国际化资源进行更新、以及对所述应用程序缓存中的目标国际化资源进行更新;
若所述待更新语言不为所述目标使用语言,则基于所述更新资源数据,对所述私有目录下的所述待更新语言的本地国际化资源进行更新。
5.根据权利要求4所述的方法,其特征在于,基于所述更新资源数据,对所述应用程序缓存中的目标国际化资源进行更新之后,所述方法还包括:
基于所述应用程序环境中的目标国际化资源,对所述应用程序的显示页面进行更新。
6.根据权利要求1至5中任一项所述的方法,其特征在于,所述显示所述应用程序的主页面之后,所述方法还包括:
响应于所述应用程序的语言切换指令,确定待切换语言;
删除所述应用程序缓存中的所述目标国际化资源,并将所述应用程序的私有目录下与所述待切换语言匹配的国际化资源加载至所述应用程序缓存中,得到所述应用程序缓存中的新的目标国际化资源;
基于所述应用程序缓存中的所述新的目标国际化资源,刷新所述应用程序的显示页面。
7.根据权利要求1至5中任一项所述的方法,其特征在于,所述识别所述应用程序的目标使用语言,包括:
查询所述应用程序是否存在预配置的语言信息;
若存在,则基于预配置的语言信息,确定所述目标使用语言;
若不存在,则基于客户端定位信息确定客户端使用国家,并将所述客户端使用国家对应的通用语言作为所述目标使用语言。
8.一种国际化应用程序运行装置,其特征在于,所述装置包括:
启动模块,用于响应于应用程序的启动信号,显示所述应用程序的启动页,并识别所述应用程序的目标使用语言;
加载模块,用于将所述应用程序的私有目录下与所述目标使用语言匹配的目标国际化资源加载至应用程序缓存中,其中,所述私有目录下包括多种语言的本地国际化资源;
运行模块,用于在所述目标国际化资源加载结束后,基于加载到所述应用程序缓存中的所述目标国际化资源对所述应用程序进行初始化,显示所述应用程序的主页面。
9.一种存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法。
10.一种计算机设备,包括存储介质、处理器及存储在存储介质上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述的方法。
CN202311154723.2A 2023-09-07 2023-09-07 国际化应用程序运行方法及装置、存储介质、计算机设备 Pending CN117251240A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311154723.2A CN117251240A (zh) 2023-09-07 2023-09-07 国际化应用程序运行方法及装置、存储介质、计算机设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311154723.2A CN117251240A (zh) 2023-09-07 2023-09-07 国际化应用程序运行方法及装置、存储介质、计算机设备

Publications (1)

Publication Number Publication Date
CN117251240A true CN117251240A (zh) 2023-12-19

Family

ID=89136066

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311154723.2A Pending CN117251240A (zh) 2023-09-07 2023-09-07 国际化应用程序运行方法及装置、存储介质、计算机设备

Country Status (1)

Country Link
CN (1) CN117251240A (zh)

Similar Documents

Publication Publication Date Title
WO2021218327A1 (zh) 一种页面处理方法和相关装置
CN105867947B (zh) 预置应用程序升级后的数据处理方法及装置
WO2018103550A1 (zh) 应用程序页面处理方法和装置
US8745601B1 (en) Methods and systems for using data structures for operating systems
US11016785B2 (en) Method and system for mirror image package preparation and application operation
US5903753A (en) Name space registry with backward compatibility for older applications
US20070169084A1 (en) Persistent maintenance of customization data on computing devices
WO2020019458A1 (zh) 混合应用的页面切换方法、框架、计算机设备及存储介质
CN112256286B (zh) 一种应用运行的方法、装置及计算机存储介质
US20190332367A1 (en) Method and apparatus for installing application
CN106257418B (zh) 用于通过使用辅助应用来评价应用的技术
US11522967B2 (en) System metamodel for an event-driven cluster of microservices with micro frontends
CN103324517A (zh) 离线应用的生成及调用方法、终端及系统
CN110688174A (zh) 容器启动方法、存储介质和电子设备
CN112486552A (zh) 服务器热更新方法、装置、设备和存储介质
CN115291946A (zh) 鸿蒙系统移植方法、装置、电子设备及可读介质
CN111433747A (zh) 用于加载操作系统的虚拟存储器
CN113656005B (zh) 应用组件库构建方法、应用组件配置方法及相关装置
CN113127430B (zh) 镜像信息处理方法、装置、计算机可读介质及电子设备
CN117234582A (zh) 一种项目代码处理方法、装置、电子设备及存储介质
US20240241708A1 (en) Method and apparatus for controlling android app, and terminal device
CN110941471A (zh) 一种软件系统基础数据国际化的方法及装置
CN117251240A (zh) 国际化应用程序运行方法及装置、存储介质、计算机设备
CN113986385A (zh) 项目字体库加载方法、装置、电子设备及存储介质
CN113282328A (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