实现组件化工程本地化的方法和装置与流程

文档序号:18141995发布日期:2019-07-10 11:10阅读:187来源:国知局
实现组件化工程本地化的方法和装置与流程

本发明涉及计算机技术领域,尤其涉及一种实现组件化工程本地化的方法和装置。



背景技术:

本地化,是指根据用户操作系统的语言设置,自动将应用程序的语言设置为和用户操作系统语言一致的语言。往往一些应用程序需要提供给多个国家的人群使用,或者一个国家有多种语言,这就要求应用程序所展示的文字、图片等信息,能够让讲不同语言的用户读懂、看懂,进而提出为同一个应用程序适配多种语言,即本地化。以移动操作系统ios(苹果公司的移动操作系统)系统为例,提供的国际化多语言处理方法需要在软件中配置strings文件,启动软件后加载对应系统语言的strings文件,实现软件的多语言。

当工程项目越来越大,可以将项目根据功能或业务拆分成一个个组件,将每个组件交给部分开发人员来开发维护,每个组件的开发都是独立的。

在应用程序开发工程中,当一个组件发生语言改变的时候,其他所有组件需要相应的进行改变。

在实现本发明过程中,发明人发现现有技术中至少存在如下问题:

目前,关于应用程序的本地化解决方案,基本都是基于ios系统提供的本地化方案,其针对一个非组件工程进行本地化,而针对组件化工程进行本地化没有完整的解决方案。



技术实现要素:

有鉴于此,本发明实施例提供一种实现组件化工程本地化的方法和装置,能够针对组件化工程来实现本地化,使应用程序显示的语言与用户操作系统语言相符,灵活地支持多语言显示,方便用户多语言切换。

为实现上述目的,根据本发明实施例的一个方面,提供了一种实现组件化工程本地化的方法,包括:获取本地化语言和待本地化资源的唯一标识;根据所述本地化语言和所述唯一标识,确定与所述待本地化资源对应的本地化资源;依据所述本地化资源,使所述待本地化资源实现本地化。

可选地,所述组件化工程包括多个业务组件;

在获取本地化语言和待本地化资源的唯一标识之前,所述方法还包括:配置预设的可支持语言列表和所述多个业务组件的多语言资源文件。

可选地,所述组件化工程还包括公共资源组件;

所述配置预设的可支持语言列表和所述多个业务组件的多语言资源文件包括:根据所述组件化工程所处的操作系统配置预设的可支持语言列表;配置所述多个业务组件的多语言资源文件,并将所述多个业务组件中重复的多语言资源文件存储于公共资源组件中。

可选地,所述获取本地化语言包括:根据所述预设的可支持语言列表确定本地化语言。

可选地,所述根据所述预设的可支持语言列表确定本地化语言包括:确定本地化的目标语言;判断预设的可支持语言列表中是否存在所述目标语言;若存在,则将所述目标语言作为本地化语言;若不存在,则将预设的默认语言作为本地化语言。

可选地,所述获取本地化语言包括:根据所述公共资源组件的多语言资源文件,确定本地化语言。

可选地,所述根据所述公共资源组件的多语言资源文件,确定本地化语言包括:确定本地化的目标语言;判断公共资源组件的多语言资源文件中是否存在与所述目标语言一致的语言资源文件;若存在,则将所述目标语言作为本地化语言;若不存在,则将预设的默认语言作为本地化语言。

可选地,获取待本地化资源的唯一标识包括:接收来自业务组件的本地化通知;解析所述本地化通知,获取待本地化资源的唯一标识;

根据所述本地化语言和所述唯一标识,确定与所述待本地化资源对应的本地化资源包括:解析所述本地化通知,获取名称信息,所述名称信息包括所述业务组件的名称和/或所述公共资源组件的名称;根据所述名称信息,确定存储路径;根据所述本地化语言和所述唯一标识,在所述存储路径下确定与所述待本地化资源对应的本地化资源。

可选地,在所述存储路径下确定与所述待本地化资源对应的本地化资源之前,所述方法还包括:在所述存储路径下,判断是否存在与所述待本地化资源对应的本地化资源;若不存在,则将默认资源作为与所述待本地化资源对应的本地化资源,所述默认资源的语言与预设的默认语言一致。

为实现上述目的,根据本发明实施例的一个方面,提供了一种实现组件化工程本地化的装置,包括:获取模块,用于获取本地化语言和待本地化资源的唯一标识;本地化资源确定模块,用于根据所述本地化语言和所述唯一标识,确定与所述待本地化资源对应的本地化资源;本地化模块,用于依据所述本地化资源,使所述待本地化资源实现本地化。

为实现上述目的,根据本发明实施例的一个方面,提供了一种电子设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本发明任一实施例所提供的实现组件化工程本地化的方法。

为实现上述目的,根据本发明实施例的一个方面,提供了一种计算机可读介质,其上存储有计算机程序,所述程序被处理器执行时实现本发明任一实施例所提供的实现组件化工程本地化的方法。

上述发明中的一个实施例具有如下优点或有益效果:本发明实施例通过获取本地化语言和待本地化资源的唯一标识,根据所述本地化语言和待本地化资源的唯一标识,确定与所述待本地化资源对应的本地化资源,依据所述本地化资源,使所述待本地化资源实现本地化,能够针对组件化工程来实现本地化,使应用程序显示的语言与用户操作系统语言相符,灵活地支持多语言显示,方便用户多语言切换。

上述的非惯用的可选方式所具有的进一步效果将在下文中结合具体实施方式加以说明。

附图说明

附图用于更好地理解本发明,不构成对本发明的不当限定。其中:

图1是本发明一实施例的实现组件化工程本地化的方法的主要流程的示意图;

图2是本发明一实施例的实现组件化工程本地化方法中的资源规范;

图3是本发明另一实施例的实现组件化工程本地化的方法的主要流程的示意图;

图4是本发明又一实施例的实现组件化工程本地化的方法的主要流程的示意图;

图5是本发明再一实施例的实现组件化工程本地化的方法的主要流程的示意图;

图6是本发明再一实施例的实现组件化工程本地化的方法的主要流程的示意图;

图7是根据本发明实施例的实现组件化工程本地化的装置的主要模块的示意图;

图8是本发明实施例可以应用于其中的示例性系统架构图;

图9是适于用来实现本发明实施例的终端设备或服务器的计算机系统的结构示意图。

具体实施方式

以下结合附图对本发明的示范性实施例做出说明,其中包括本发明实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本发明的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。

图1是根据本发明实施例的实现组件化工程本地化的方法的主要流程的示意图。如图1所示,该方法包括:

步骤s101:获取本地化语言和待本地化资源的唯一标识;

步骤s102:根据所述本地化语言和所述唯一标识,确定与所述待本地化资源对应的本地化资源;

步骤s103:依据所述本地化资源,使所述待本地化资源实现本地化。

本发明实施例提供的实现组件化工程的方法可以应用于例如智能手机、平板电脑、个人计算机等电子设备,其中,该电子设备安装有操作系统,例如android(安卓)、ios等。下面以安装有ios操作系统的电子设备为例具体说明本发明实施例的方法。

在本发明实施例中,可以根据功能或业务将组件化工程划分为本地化组件和业务组件(也可以称为普通组件),其中,本地化组件负责使各个业务组件实现本地化,即本地化组件负责各个组件支持多语言的实现,本发明实施例提供的实现组件化工程本地化的方法可以应用于本地化组件中。业务组件中存储有多语言资源文件(或组件资源),例如各种语言的翻译文件、文案、图片等。本地化是指根据电子设备的操作系统的系统语言,将应用程序的语言设置为与电子设备的系统语言一致的语言。在本发明实施例中,使待本地化资源实现本地化是指将待本地化资源的语言设置为与本地化语言一致的语言。

上述组件化工程是指开发应用程序(app)所需要的代码工程。组件的本质就是framework库(framework即框架,它是一个语言开发软件,提供了软件开发的框架,使开发更具工程性、简便性和稳定性),库的本质是承载一部分功能或者业务的代码和资源的集合。而对于库的资源,一般都是放到bundle(文件束)中。对于放在bundle中的资源,framework库将以自定义的方式进行读取。

在步骤s101之前,该方法还可以包括配置预设的可支持语言列表和每个业务组件的多语言资源文件。

其中,可支持语言表可以根据该组件化工程的需求配置,例如将该组件化工程支持的所有语言写入可支持语言列表。

该可支持语言列表可以以key-value(键-值)形式存储,其中,key表示系统语言标识符,value表示自然语言标识符,例如en-english,zh-chinese,en和zh均为系统语言标识符,english和chinese为对应的自然语言标识符。系统语言标识符(key)对开发人员来说不易理解,可支持语言表将不易理解的系统语言标识符映射为容易理解的自然语言标识符,从而可以降低开发人员的学习难度。

默认语言是指该组件化工程默认的语言,其可以根据项目需求确定。默认语言可以配置在默认语言表中,其中,默认语言表也可以以key-value形式存储。

进一步的,上述可支持语言列表可以根据该组件化工程所处的操作系统配置,例如将ios系统支持的所有语言写入可支持语言列表中。

该默认语言表可以包括多个组件化工程的默认语言。默认语言表也可以以id-langues形式存储,id表示工程标识符,该工程标识符可以是工程的名字,langues表示默认语言(默认语言以系统语言标识符命名,例如默认语言为英语,则langues=en,默认语言为汉语,则langues=zh)。作为具体的示例,projecta-en表示名称为projecta的项目的默认语言为英语。

这样,在需要同时开展多个组件化工程或者增加新的语言时,可以仅仅增加该语言资源文件,不用再配置可支持语言列表,,减少工作量。

上述可支持语言表和默认语言表可以存储在本地化组件内。

对于上述每个业务组件的多语言资源文件,可以按照特定的格式命名和存储。在本发明实施例中,按照特定的格式命名多语言资源文件的方式可以看作是本发明实施例定义的资源规范。具体地,对该资源规范的定义如下所示:

图2是本发明一实施例提供的一种资源规范。如图2所示,对该资源规范的定义如下所示:

1:文件束(bundle),以组件名字命名。在本实施例中,一个组件只有一个文件束。

2:存放语言翻译文件的文件夹,以自然语言对应的英文单词命名。例如,该文件夹下存放英文翻译文件,那么将该文件夹命名为“english”。

3:存放图片本地化的文件,以.strings作为后缀。该文件统一以localizedimagename命名。因为每个组件可能是不同的开发人员独立开发的,采用这种方式,可以使每个组件的资源配置一目了然,可以减少每个组件在进行配置时的工作量,减少学习成本和使用成本。

4:存放文案本地化的文件,以.strings作为后缀。该文件同一以localizedistrings命名。

5:资源的key。在本发明实施例中,所述key就是资源的唯一标识。对于同一个资源,在每个存放语言翻译文件的文件夹下,key是一样的。在本实施例中,key可以以“页面+描述”的规范命名。

6:资源的value。在本发明实施例中,value就是同一资源的不同版本。例如,在待本地化文案实现本地化的过程中,value为不同语言版本的待本地化文案;在待本地化图片实现本地化的过程中,value为该图片在不同语言下的名字。

在本发明实施例中,资源以key-value的形式存储,在实现本地化的过程中,通过key可以读取该资源对应的value。

本发明实施例定义的资源规范,降低了组件开发人员在多语言开发过程中的学习成本,不用额外对工程进行配置,资源格式清晰,一目了然。尤其是以自然语言对应的英文单词命名文件夹的方式,让开发人员很容易清楚的明白当前文件夹下存放什么语言的strings翻译文件。另外,每个业务组件将需要使用的多种语言版本的资源存放在自身组件内,可以使各个业务组件的开发人员独立管理自己的资源,避免冲突。

进一步的,所述组件化工程还可以包括公共资源组件。因此,可以将多个业务组件中重复的多语言资源文件存储于公共资源组件中。其中,公共资源组件中多语言资源文件的命名方式和存储方式可以与业务组件中多语言资源文件的命名方式、存储方式相同。

对于步骤s101,待本地化资源的唯一标识可以根据如下过程获取:

接收来自业务组件的本地化通知;

解析所述本地化通知,获取待本地化资源的唯一标识。

在本发明实施例中,当需要本地化时,业务组件可以调用本地化组件的接口,即业务组件可以向本地化组件发送本地化通知。该本地化通知可以包括待本地化资源的唯一标识。该本地化通知还可以包括业务组件的名称。

本地化语言可以根据预设的可支持语言列表确定。具体的,可以包括如下过程:

确定本地化的目标语言;

判断预设的可支持语言列表中是否存在所述目标语言;

若存在,则将所述目标语言作为本地化语言;

若不存在,则将预设的默认语言作为本地化语言。

在本发明实施例中,本地化的目标语言为当前的系统语言。当预设的可支持语言列表中存在系统语言(即本发明实施例所述的本地化的目标语言)时,本地化语言为系统语言;当预设的可支持语言列表中不存在系统语言时,本地化语言为预设的默认语言。

以下面的例子为例说明获取本地化语言的过程:某电子设备的系统语言为en,可支持语言表中存储有:en-english,zh-chinese,fr-french,ja-japanese,默认语言为zh-chinese。则本地化的目标语言为英语,在可支持语言列表中存在英语,那么将英语作为本地化语言。

本地化语言也可以根据公共资源组件的多语言资源文件确定。具体的,可以包括如下过程:

确定本地化的目标语言;

判断所述公共资源组件的多语言资源文件中是否存在与所述目标语言一致的语言资源文件;

若存在,则将所述目标语言作为本地化语言;

若不存在,则将预设的默认语言作为本地化语言。

在确定系统语言之后,可以根据预设的可支持语言表确定与系统语言对应的自然语言标识符。之后,判断公共资源组件内是否存在名称与该自然语言一致的语言资源文件,如果存在,则将该系统语言作为本地化语言;如果不存在,可以将预设的默认语言作为本地化语言。其中,可以在预设的默认语言表根据工程标识符中映射得到预设的默认语言。

在本实施例中,只需要根据公共资源组件内的多语言资源文件来确定本地化语言(即当前工程支持的语言),不需要根据本地化组件配置来判断,这样可以使本地化组件具有通用性。在增加一个新项目或增加一种语言时不需要改变本地化组件的代码,仅仅根据新项目的需求自由配置多语言资源文件或增加一种语言资源文件就可以了。

在可选的实施例中,确定本地化语言的过程可以在本地化组件初始化时执行,之后本地化组件可以将获取的本地化语言保存。这样,当多个业务组件本地化时,本地化组件可以直接调取本地化语言,而不需要在每次本地化时获取一次本地化语言,从而提升效率。在其他可选的实施例中,也可以在每次业务组件本实现地化时确定一次本地化语言。

另外,在可选的实施例中,在本地化组件初始化时可以隐性注册资源,即,为后续读取资源所需要的变量赋值。因为存放语言翻译文件的文件夹是以自然语言命名的,根据获取的本地化语言(以系统语言标识符表示)映射自然语言,通过映射的自然语言设置bundle所在存储路径。因此,可以简化读取逻辑,提高读取效率。

对于步骤s102,与所述待本地化资源对应的本地化资源可以根据如下过程确定:

解析所述本地化通知,确定名称信息,所述名称信息包括所述业务组件的名称和/或所述公共资源组件的名称;

根据所述名称信息,确定存储路径;

根据所述本地化语言和所述唯一标识,在所述存储路径下确定与所述待本地化资源对应的本地化资源。

在实施例中,业务组件可以根据待本地化资源的多语言资源文件的存储位置,确定本地化通知包括的名称信息是业务组件的名称还是公共资源组件的名称。例如,待本地化资源的多语言资源文件存储在业务组件中,则本地化通知中包括业务组件的名称信息;待本地化资源的多语言文件存储在公共资源组件中,则本地化通知中包括公共资源组件的名称信息。在其他可选的实施例中,业务组件可以不判断待本地化资源的多语言资源文件的存储位置,而是将业务组件的名称和公共资源组件的名称都设置于本地化通知中。

由上述资源规范可知,业务组件中的多语言资源文件存储在以业务组件的名称命名的文件束或公共资源组件中,因此可以通过业务组件的名称或公共资源组件的名称确定存储路径,在该存储路径下,根据本地化语言和唯一标识可以找到与待本地化资源对应的本地化资源。

在其他可选的实施例中,在所述存储路径下确定与所述待本地化资源对应的本地化资源之前,该方法还包括:在所述存储路径下,判断是否存在与所述待本地化资源对应的本地化资源,

若不存在,则将默认资源作为与所述本地化资源对应的本地化资源,所述默认资源的语言与预设的默认语言一致。

根据项目需求,对于某种资源在某些情况下只会配置默认语言版本。当上述某种资源为待本地化资源时,在存储路径下找不到与本地化语言对应的本地化资源,则将所述某种语言的默认资源作为本地化资源。

对于步骤s103,依据所述本地化资源,使所述待本地化资源实现本地化的过程可以包括:向所述待本地化资源返回所述本地化资源,以使所述待本地化资源实现本地化,即向业务组件返回所述本地化资源以使待本地化资源实现本地化。由上述资源规范可知,调用组件中的多种语言版本的资源是以key-value的形式存储的,因此,确定了本地化资源就可以确定本地化资源的value,本地化组件可以向待本地化资源返回本地化资源的value,即,将该本地化资源的value发送至调用组件,以使待本地化资源实现本地化。

本发明实施例通过获取本地化语言和待本地化资源的唯一标识,根据所述本地化语言和待本地化资源的唯一标识,确定与所述待本地化资源对应的本地化资源,依据所述本地化资源,使所述待本地化资源实现本地化的技术方案,能够针对组件化工程来实现本地化,使应用程序显示的语言与用户操作系统语言相符,灵活地支持多语言显示,方便用户多语言切换。

进一步的,本发明实施例采用根据公共资源组件中多语言资源文件来确定组件化工程支持的语言,不需要根据工程配置或组件设置来判断,这种方式可以使组件化工程支持多语言更加灵活,在新增加一种语言时没必要改变本地化组件的代码,仅仅增加一种语言资源文件就能达到目的,进而实现了在不改变本地化组件代码的前提下,兼容多个组件化工程的多语言本地化需求,支持多语言显示,增加通用性,减少重复开发,提高开发效率和节省开发成本。

图3是本发明一实施例的实现组件化工程本地化的流程示意图。如图3所示,该方法包括:

步骤s301:配置可支持语言列表、默认语言和每个业务组件的多语言资源文件;

步骤s302:确定本地化的目标语言;

步骤s303:判断预设的可支持语言列表中是否存在所述目标语言;

步骤s304:若存在,则将所述目标语言作为本地化语言;

步骤s304’:若不存在,则将预设的默认语言作为本地化语言;

步骤s305:接收来自业务组件的本地化通知,解析所述本地化通知,获取待本地化资源的唯一标识;

步骤s306:解析所述本地化通知,确定所述业务组件的名称;

步骤s307:根据所述业务组件的名称,确定存储路径,根据所述本地化语言和所述唯一标识,在所述存储路径下确定与所述待本地化资源对应的本地化资源;

步骤s308:依据所述本地化资源,使所述待本地化资源实现本地化。

上述实施方式中,对于步骤s301,可以根据组件化工程的需求配置可支持语言列表、默认语言和每个业务组件的多语言资源文件。其中,各业务组件的多语言资源文件可以存储在各业务组件内。

步骤s302-308请参考图所示的方法实施例,本发明在此不再赘述。

本发明实施例的方法能够针对组件化工程来实现本地化,使应用程序显示的语言与用户操作系统语言相符,灵活地支持多语言显示,方便用户多语言切换。

图4是本发明一实施例的实现组件化工程本地化的流程示意图。如图4所示,该方法包括:

步骤s401:配置可支持语言列表、默认语言和每个业务组件的多语言资源文件,将业务组件中重复的多语言资源文件存储于公共资源组件中;

步骤s402:确定本地化的目标语言;

步骤s403:判断公共资源组件的多语言资源文件中是否存在与所述目标语言一致的语言资源文件;

步骤s404:若存在,则将所述目标语言作为本地化语言;

步骤s404’:若不存在,则将预设的默认语言作为本地化语言;

步骤s405:接收来自业务组件的本地化通知,解析所述本地化通知,获取待本地化资源的唯一标识;

步骤s406:解析所述本地化通知,获取名称信息,所述名称信息包括所述业务组件的名称和/或所述公共资源组件的名称;

步骤s407:根据所述名称信息,确定存储路径,根据所述本地化语言和所述唯一标识,在所述存储路径下确定与所述待本地化资源对应的本地化资源;

步骤s408:在所述存储路径下,判断是否存在与所述待本地化资源对应的本地化资源

步骤s409:若存在,则依据所述本地化资源,使所述待本地化资源实现本地化。

步骤s410:若不存在,则将默认资源作为与所述待本地化资源对应的本地化资源,依据所述本地化资源,使所述待本地化资源实现本地化。

上述实施方式中,对于步骤s401,可以根据组件化工程所处操作系统配置可支持语言列表。例如当组件化工程所处的操作系统为ios系统,则可以将ios系统支持的语言全部写入可支持语言列表。当需要同时开展多个组件化工程项目时,可以将每个组件化工程的工程标识符和该组件化工程的默认语言映射为默认语言列表,进而可以通过工程标识符确定组件化工程的默认语言。

步骤402-410请参考图1所示的方法实施例,本发明在此不再赘述。

本发明实施例的方法,根据公共资源组件内的多语言资源文件来确定本地化语言(即当前工程支持的语言),不需要根据本地化组件配置来判断,这样可以使本地化组件具有通用性。在增加一个新组件化工程或增加一种语言时不需要改变本地化组件的代码,仅仅根据新的组件化工程的需求自由配置多语言资源文件或增加一种语言资源文件即可。

图5是本发明一实施例的实现组件化工程本地化的流程示意图,该图示出了在执行该方法的过程中数据的流向。

如图5所示,501是指业务组件a向本地化组件发送本地化通知的过程,502是指本地化组件在业务组件a的资源中读取与本地化语言对应的本地化资源的过程,503是指本地化组件读取到本地化资源,504是指本地化组件将读取到的本地化资源返回至业务组件a。

图6是本发明一实施例的实现组件化工程本地化的流程示意图,该图示出了在执行该方法的过程中数据的流向。

如图6所示,601和602是指本地化组件根据公共资源组件b的多语言资源文件确定本地化语言的过程,603是指业务组件b向本地化组件发送本地化通知的过程,604和605是指本地化组件读取到本地化资源(在本实施例中,本地化通知包括业务组件b的名称,所以本地化组件在业务组件b中读取本地化资源),606是指本地化组件将读取到的本地化资源返回至业务组件b。

在可选的实施例中,当其中一个业务组件实现本地化之后,本地化组件可以向已注册本地化组件接口的其他业务组件发送语言切换事件通知(该语言切换事件包括类名和方法),以通知已注册本地化组件接口的其他业务组件进行相应的处理。接收到语言切换事件通知的其他业务组件可以调用本地化组件接口以实现本地化。当各个业务组件完成语言切换事件后将语言切换事件完成回调通知发送至本地化组件。

图7是本发明一实施例提供的实现组件化工程本地化的装置700的结构示意图。如图7所示,该装置包括:

获取模块701,用于获取本地化语言和待本地化资源的唯一标识;

本地化资源确定模块702,用于根据所述本地化语言和所述唯一标识,确定与所述待本地化资源对应的本地化资源;

本地化模块703,用于依据所述本地化资源,使所述待本地化资源实现本地化。

可选地,所述组件化工程包括多个业务组件;所述装置还包括配置模块,用于配置预设的可支持语言列表和所述多个业务组件的多语言资源文件。

可选地,所述组件化工程还包括公共资源组件;所述配置模块还用于:根据所述组件化工程所处的操作系统配置预设的可支持语言列表;配置所述多个业务组件的多语言资源文件,并将所述多个业务组件中重复的多语言资源文件存储于公共资源组件中。

可选地,所述获取模块701还用于:根据所述预设的可支持语言列表确定本地化语言。

可选地,所述获取模块701还用于:确定本地化的目标语言;判断预设的可支持语言列表中是否存在所述目标语言;若存在,则将所述目标语言作为本地化语言;若不存在,则将预设的默认语言作为本地化语言。

可选地,所述获取模块701还用于:根据所述公共资源组件的多语言资源文件确定本地化语言。

可选地,所述获取模块701还用于:确定本地化的目标语言;判断公共资源组件的多语言资源文件中是否存在与所述目标语言一致的语言资源文件;若存在,则将所述目标语言作为本地化语言;若不存在,则将预设的默认语言作为本地化语言。

可选地,所述获取模块701还用于:接收来自业务组件的本地化通知;解析所述本地化通知,获取待本地化资源的唯一标识;

所述本地化资源确定模块702还用于:解析所述本地化通知,获取名称信息,所述名称信息包括所述业务组件的名称和/或所述公共资源组件的名称;根据所述名称信息,确定存储路径;根据所述本地化语言和所述唯一标识,在所述存储路径下确定与所述待本地化资源对应的本地化资源。

可选地,所述本地化资源确定模块702还用于:在所述存储路径下,判断是否存在与所述待本地化资源对应的本地化资源;若不存在,则将默认资源作为与所述待本地化资源对应的本地化资源,所述默认资源的语言与预设的默认语言一致。

上述装置可执行本发明实施例所提供的方法,具备执行方法相应的功能模块和有益效果。未在本实施例中详尽描述的技术细节,可参见本发明实施例所提供的方法。

图8示出了可以应用本发明实施例的实现组件化工程本地化方法或实现组件化工程本地化装置的示例性系统架构800。

如图8所示,系统架构800可以包括终端设备801、802、803,网络804和服务器805。网络804用以在终端设备801、802、803和服务器805之间提供通信链路的介质。网络804可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。

用户可以使用终端设备801、802、803通过网络804与服务器805交互,以接收或发送消息等。终端设备801、802、803上可以安装有各种通讯客户端应用,例如购物类应用、网页浏览器应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等。

终端设备801、802、803可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。

服务器805可以是提供各种服务的服务器,例如对用户利用终端设备801、802、803所浏览的购物类网站提供支持的后台管理服务器。后台管理服务器可以对接收到的产品信息查询请求等数据进行分析等处理,并将处理结果(例如目标推送信息、产品信息)反馈给终端设备。

需要说明的是,本发明实施例所提供的实现组件化工程本地化方法一般由服务器805执行,相应地,实现组件化工程本地化装置一般设置于服务器805中。

应该理解,图8中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。

下面参考图9,其示出了适于用来实现本发明实施例的终端设备的计算机系统900的结构示意图。图9示出的终端设备仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。

如图9所示,计算机系统900包括中央处理单元(cpu)901,其可以根据存储在只读存储器(rom)902中的程序或者从存储部分908加载到随机访问存储器(ram)903中的程序而执行各种适当的动作和处理。在ram903中,还存储有系统900操作所需的各种程序和数据。cpu901、rom902以及ram903通过总线904彼此相连。输入/输出(i/o)接口906也连接至总线904。

以下部件连接至i/o接口905:包括键盘、鼠标等的输入部分906;包括诸如阴极射线管(crt)、液晶显示器(lcd)等以及扬声器等的输出部分907;包括硬盘等的存储部分908;以及包括诸如lan卡、调制解调器等的网络接口卡的通信部分909。通信部分909经由诸如因特网的网络执行通信处理。驱动器910也根据需要连接至i/o接口905。可拆卸介质911,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器910上,以便于从其上读出的计算机程序根据需要被安装入存储部分908。

特别地,根据本发明公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本发明公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分909从网络上被下载和安装,和/或从可拆卸介质911被安装。在该计算机程序被中央处理单元(cpu)901执行时,执行本发明的系统中限定的上述功能。

需要说明的是,本发明所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本发明中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本发明中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、rf等等,或者上述的任意合适的组合。

附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

描述于本发明实施例中所涉及到的模块可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的模块也可以设置在处理器中,例如,可以描述为:一种处理器包括发送模块、获取单元、确定单元和第一处理单元。其中,这些模块的名称在某种情况下并不构成对该模块本身的限定,例如,发送模块还可以被描述为“向所连接的服务端发送图片获取请求的模块”。

作为另一方面,本发明还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的设备中所包含的;也可以是单独存在,而未装配入该设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该设备执行时,使得该设备包括:

获取本地化语言和待本地化资源的唯一标识;

根据所述本地化语言和所述唯一标识,确定与所述待本地化资源对应的本地化资源;

依据所述本地化资源,使所述待本地化资源实现本地化。

本发明实施例的技术方案通过获取本地化语言和待本地化资源的唯一标识,根据所述本地化语言和待本地化资源的唯一标识,确定与所述待本地化资源对应的本地化资源,依据所述本地化资源,使所述待本地化资源实现本地化的技术方案,能够针对组件化工程来实现本地化,使应用程序显示的语言与用户操作系统语言相符,灵活地支持多语言显示,方便用户多语言切换。

上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,取决于设计要求和其他因素,可以发生各种各样的修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1