App的多语言切换方法和系统的制作方法

文档序号:10511910阅读:339来源:国知局
App的多语言切换方法和系统的制作方法
【专利摘要】本发明公开了一种APP的多语言切换方法和系统,用以简化现有软件进行语言切换时的繁琐操作流程。所述方法包括:接收语言切换指令,所述语言切换指令携带目标语言信息;根据所述目标语言信息,载入所述目标语言信息对应的语言资源文件;根据载入的所述语言资源文件,将所述APP的用户界面中当前语言描述的所有字符资源替换成目标语言描述的所有字符资源。
【专利说明】
APP的多语言切换方法和系统
技术领域
[0001] 本发明涉及电子领域,特别是涉及一种APP的多语言切换方法和系统。
【背景技术】
[0002] 软件国际化多语言是软件海外推广的重要功能,可以有效扩大用户群体。目前, iOS(苹果公司的移动操作系统)系统提供的国际化多语言处理方法需要在软件中配置 strings文件,启动软件后加载对应系统语言的strings文件,实现软件的多语言。
[0003] 但是,iOS系统提供的处理方法中,如果软件(APP Application)要切换语言,需要 退出软件界面,切换到iOS系统设置界面中进行语言设置,来切换系统语言;同时iOS系统切 换语言时,系统会重启。
[0004] 因此,现有技术中实现软件国际化多语言的处理方法比较单一,只适合一种语言, 而且操作流程很繁琐,没有考虑到语言切换和文字资源实时替换,影响用户体验。

【发明内容】

[0005] 本发明目的在于提供一种APP的多语言切换方法和系统,用以简化现有软件进行 语言切换时的繁琐操作流程。
[0006] 本发明目的主要是通过以下技术方案实现的:
[0007] 根据本发明的一个方面,本发明提供一种APP的多语言切换方法,包括:
[0008] 接收语言切换指令,所述语言切换指令携带目标语言信息;
[0009] 根据所述目标语言信息,载入所述目标语言信息对应的语言资源文件;
[0010] 根据载入的所述语言资源文件,将所述APP的用户界面中当前语言描述的所有字 符资源替换成目标语言描述的所有字符资源。
[0011] 进一步,所述方法还包括:
[0012] 生成并存储多种语言资源文件;
[0013] 其中,一种语言资源文件的生成方式包括:
[0014] 将原始语言描述的所述APP的用户界面中所有字符资源对应的采用一种目标语言 描述,并存储在一个文本文档中;所述原始语言具体为所述APP的程序代码中的语言。
[0015] 将所述文本文档作为对应的该种目标语言的语言资源文件。
[0016] 进一步,所述将原始语言描述的所述APP的用户界面中所有字符资源对应的采用 一种目标语言描述,并存储在一个文本文档中的步骤,具体包括:
[0017] 将原始语言描述的每个字符资源作为键;
[0018] 将一种目标语言描述的该字符资源作为值;
[0019] 将每个所述键与对应的所述值以键值对的形式存储在一个所述文本文档中。
[0020] 进一步,所述根据载入的所述语言资源文件,将所述APP的用户界面中当前语言描 述的所有字符资源替换成目标语言描述的所有字符资源的步骤,具体包括:
[0021] 根据所述键值对,从载入的所述语言资源文件中调用与每个所述键对应的所述 值,从而使所述APP的用户界面中当前语言描述的所有字符资源替换成目标语言描述的所 有字符资源。
[0022]进一步,所述将所述文本文档作为对应的该种目标语言的语言资源文件的步骤, 还包括:
[0023] 并采用该种目标语言的名称和/或目标语言的地域信息命名该语言资源文件;
[0024] 所述根据所述目标语言信息,载入所述目标语言信息对应的语言资源文件的步 骤,具体包括:
[0025] 所述目标语言信息包括目标语言的名称和/或目标语言的地域信息;
[0026] 从预存的多种语言资源文件中,查找并载入与所述目标语言信息对应的语言资源 文件。
[0027] 进一步,所述多种语言资源文件存储在在客户端和/或服务器端;
[0028] 其中,每个所述字符资源为如下资源的一种:
[0029] 文本显示资源、输出的文本资源、时间信息资源和币种信息资源。
[0030] 根据本发明的另一个方面,本发明提供一种APP的多语言切换系统,其特征在于, 包括:
[0031] 指令模块,用于接收语言切换指令,所述语言切换指令携带目标语言信息;
[0032] 载入模块,用于根据所述目标语言信息,载入所述目标语言信息对应的语言资源 文件;
[0033]切换模块,用于根据载入的所述语言资源文件,将所述APP的用户界面中当前语言 描述的所有字符资源替换成目标语言描述的所有字符资源。
[0034] 进一步,所述系统还包括资源存储模块,用于生成并存储多种语言资源文件;
[0035] 其中,资源存储模块生成一种语言资源文件时用于将原始语言描述的所述APP的 用户界面中所有字符资源对应的采用一种目标语言描述,并存储在一个文本文档中;所述 原始语言具体为所述APP的程序代码中的语言。
[0036] 将所述文本文档作为对应的该种目标语言的语言资源文件。
[0037] 进一步,述资源存储模块生成一种语言资源文件时具体用于将原始语言描述的每 个字符资源作为键;
[0038] 将一种目标语言描述的该字符资源作为值;
[0039] 将每个所述键与对应的所述值以键值对的形式存储在一个所述文本文档中。
[0040] 进一步,所述切换模块具体用于根据所述键值对,从载入的所述语言资源文件中 调用与每个所述键对应的所述值,从而使所述APP的用户界面中当前语言描述的所有字符 资源替换成目标语言描述的所有字符资源。
[0041] 本发明有益效果如下:
[0042] 本发明在进行软件的语言切换时,不需要在iOS系统中进行设置,不需要重新启动 i〇S系统,有效的简化了软件进行语言切换时的繁琐操作流程。
【附图说明】
[0043]图1是本发明实施例中一种APP的多语言切换方法的流程图;
[0044]图2是本发明实施例中应用本发明实施例中切换方法的系统架构图;
[0045] 图3是本发明实施例中一种APP的多语言切换系统的结构示意图。
【具体实施方式】
[0046] 为了简化现有软件进行语言切换时的繁琐操作流程,本发明提供了一种APP的多 语言切换方法和系统,以下结合附图以及实施例,对本发明进行进一步详细说明。应当理 解,此处所描述的具体实施例仅仅用以解释本发明,并不限定本发明。
[0047] 实施例一
[0048]如图1所示,本发明实施例提供一种APP的多语言切换方法,包括:
[0049] S101,接收语言切换指令,所述语言切换指令携带目标语言信息;
[0050] S102,根据所述目标语言信息,载入所述目标语言信息对应的语言资源文件;
[0051] S103,根据载入的所述语言资源文件,将所述APP的用户界面中当前语言描述的所 有字符资源替换成目标语言描述的所有字符资源。
[0052]本发明实施例可以方便的在软件内完成语言资源切换,不用离开软件界面,瞬间 完成语言切换,不需要在i〇S系统中进行设置,不需要重新启动iOS系统,有效的简化了软件 进行语言切换时的繁琐操作流程,增强用户体验性能。
[0053]以下详细说明本发明实施例方法。
[0054]在软件中实施本发明实施例方法时,可以采用如图2所示的系统框架图,该系统包 括多种(至少一个)语言资源文件、多语言管理框架和多语言界面替换框架组成。
[0055]多种语言资源文件中包含了各个国家语言的文字资源。以键值对的形式保存为 txt文本文档中,可以放在本地,也可以配置在服务器。
[0056]也就是说,所述方法还包括:
[0057]生成并存储多种语言资源文件;
[0058] 其中,一种语言资源文件的生成方式包括:
[0059] 将原始语言描述的所述APP的用户界面中所有字符资源对应的采用一种目标语言 描述,并存储在一个文本文档中;所述原始语言具体为所述APP的程序代码中的语言。
[0060] 将所述文本文档作为对应的该种目标语言的语言资源文件。
[0061] 其中,语言资源文件可以存储在客户端和/或服务器端;如果把语言资源文件存放 在服务器,可以随时添加新的语言资源,实现语言资源的无限扩展。
[0062] 其中,每个所述字符资源为如下资源的一种:
[0063] 文本显示资源、输出的文本资源、时间信息资源和币种信息资源。
[0064]文本显示资源包括各种类型按钮上的文本、各种类型标签上的文本等;
[0065] 输出的文本资源包括各种文本框输出的文本、软件运行后输出的文本等;
[0066] 时间信息资源包括目标语言或当前语言对应地域的时间控件的显示样式。
[0067] 币种信息资源包括目标语言或当前语言对应地域的币种的显示样式。
[0068] 可选地,每种目标语言会有一种资源文件。本发明实施例中优选采用下述方式存 储每种语言资源文件:
[0069] 将原始语言描述的每个字符资源作为键;
[0070] 将一种目标语言描述的该字符资源作为值;
[0071 ]将每个所述键与对应的所述值以键值对的形式存储在一个所述文本文档中。
[0072]可选地,根据载入的所述语言资源文件,将所述APP的用户界面中当前语言描述的 所有字符资源替换成目标语言描述的所有字符资源的步骤,具体包括:
[0073]根据所述键值对,从载入的所述语言资源文件中调用与每个所述键对应的所述 值,从而使所述APP的用户界面中当前语言描述的所有字符资源替换成目标语言描述的所 有字符资源。
[0074] 可选地,将所述文本文档作为对应的该种目标语言的语言资源文件的步骤,还包 括:
[0075] 并采用该种目标语言的名称和/或目标语言的地域命名该语言资源文件;
[0076] 根据所述目标语言信息,载入所述目标语言信息对应的语言资源文件的步骤,具 体包括:
[0077] 所述目标语言信息包括目标语言的名称和/或目标语言的地域;
[0078] 从预存的多种语言资源文件中,查找并载入与所述目标语言信息对应的语言资源 文件。
[0079]本发明实施例中当前语言表示APP的用户界面正显示的语言,目标语言表示用户 将要切换的语言。
[0080] 例如以软件的程序开发的本地语言为中文为例,其英文的语言资源文件对应的存 储内容和格式如下:其中"="前表示键,"="后表示值。
[0081] "帐号"="Account";
[0082] 〃默认帐号内容〃 = 〃Email/DiDi Number";
[0083] 〃输入手机号"="Enter Mobile Number";
[0084] 〃密码"="Password";
[0085] 〃创建新帐号〃 ="Create new account";
[0086] 〃请填写帐号"="Please enter DiDi Number";
[0087] 〃请填写密码" = "Please enter password";
[0088] 〃请填写手机号"="Please enter mobile number";
[0089] 〃请填写正确的邮箱〃 ="Invalid E-mail address";
[0090] 〃填写密码"="Please enter password";
[0091] 〃确定〃 = 〃〇K";
[0092] 〃通过手机找回密码" = "Recover via Mobile Number";
[0093] 〃通过邮箱找回密码" = "Recover via Email";
[0094] 〃取消" = "Cancel";
[0095] 〃通过Facebook登陆"="Login with Facebook";
[0096] 〃通过手机号登陆〃 =''Login with Mobile Number";
[0097] 〃通过邮箱登陆〃 = 〃Login with Email";
[0098] 例如以软件的程序开发的本地语言为中文为例,其繁体中文的语言资源文件对应 的存储内容和格式如下:
[0099] 〃帐号〃=〃帳戶、
[0100] 〃默认帐号内容〃=〃電郵/DiDi號碼〃;
[0101] 〃默认帐号内容仅邮箱〃=〃請輸入電郵地址〃;
[0102] 〃输入手机号〃=〃輸入手機號碼〃;
[0103] 〃密码〃=〃密碼";
[0104] 〃创建新帐号〃=〃創建新帳戶〃;
[0105] 〃请填写帐号〃=〃請輸入DiDi號碼〃;
[0106] 〃请填写密码〃=〃請填寫密碼〃;
[0107] 〃请填写手机号〃=〃請輸入手機號碼〃;
[0108] 〃请填写正确的邮箱〃=〃電郵地址不正確〃;
[0109] 〃填写密码〃=〃請輸入密碼〃;
[0110] 〃通过手机找回密码"="通手機號碼找回密碼";
[0111] 〃通过邮箱找回密码〃=〃通過電郵找回密碼〃;
[0112] 〃取消〃=〃取消〃;
[0113] 〃通过 Facebook 登陆" = "Facebook 登入";
[0114] 〃通过手机号登陆〃=〃手機號碼〃;
[0115] 〃通过邮箱登陆〃=〃電郵登入〃;
[0116] 多语言管理框架负责多语言文件载入,根据用户的某地域的语言的切换指令,将 软件的语言替换为相应的语言,扩展新的语言;负责多语言文件键值对管理;负责匹配每个 语言键值对以及负责多语言逻辑。
[0117] 本发明实施例方法通过如下数据结构,来实现多语言管理逻辑:
[0118] 某地域的语言选择键值:
[0123]通过读取某地域语言对应的语言资源文件内容,并填充到数据结构中,实现代码 如下:
[0125]
[0126] 多语言界面替换框架负责通知界面更换语言。为UI界面提供多语言文字调用接 口,方便快捷的接入程序,UI界面只需调用一个宏定义的函数,就完成了软件的语言切换。
[0127] 具体说,本发明实施例方法采用自定义的宏封装语言替换函数,使用户使用起来 简洁,明了,方便。
[0128] 宏定义代码如下:
[0129] #define MLocalizableString(strkey,strcomment)\
[0130] [[MultiLanguageManager shareInstance]MlocalizedStringForKey:strkey wi thComment:strcomment]
[0131] 调用方式:
[0132] _passwordFie Id .placeholder=MLocalizableString(@"填写密码",nil) 〇
[0133] 也就是说,根据所述键值对,从载入的所述语言资源文件中调用与每个所述键对 应的所述值,从而使所述ΑΡΡ的当前语言描述的所有字符资源替换成所述目标语言描述的 所有字符资源。
[0134] 本发明实施例方法的详细流程包括:
[0135] 1、用户进入软件的语言设置界面,选择不同地域(国家或地区)的语言;
[0136] 2、软件根据用户的选择载入相应的多语言文件;也就是说软件接收用户的某地域 的语言的切换指令;从预存的至少一个语言资源文件中载入与选择的所述语言对应的所述 语言资源文件;
[0137] 3、如果载入的语言资源文件不存在,使用默认的语言资源文件;
[0138] 4、如果载入的语言资源文件存在,将载入的语言资源文件中语言的键值对载入到 程序中;
[0139] 5、UI界面通过键值对显示相应的语言;
[0140] 6、完成软件的多语言的切换。
[0141] iOS现有的国际化多语言方案,在程序内无法完成语言切换,在程序外切换语言还 需要重启系统,费时费力。
[0142] 本发明实施例方法以一种轻量级的技术框架,实现了程序内瞬间切换语言,用户 体验好,而且便于扩展和部署。对海外版本扩张提供很有力的技术功能解决方案。
[0143] 实施例二
[0144] 如图3所示,本发明实施例提供一种APP的多语言切换系统,包括:
[0145] 指令模块,用于接收语言切换指令,所述语言切换指令携带目标语言信息;
[0146] 载入模块,用于根据所述目标语言信息,载入所述目标语言信息对应的语言资源 文件;
[0147] 切换模块,用于根据载入的所述语言资源文件,将所述APP的用户界面中当前语言 描述的所有字符资源替换成目标语言描述的所有字符资源。
[0148] 可选地,所述系统还包括资源存储模块,用于生成并存储多种语言资源文件;
[0149] 其中,资源存储模块生成一种语言资源文件时用于将原始语言描述的所述APP的 用户界面中所有字符资源对应的采用一种目标语言描述,并存储在一个文本文档中;所述 原始语言具体为所述APP的程序代码中的语言。
[0150] 将所述文本文档作为对应的该种目标语言的语言资源文件。
[0151] 具体地,所述资源存储模块生成一种语言资源文件时具体用于将原始语言描述的 每个字符资源作为键;
[0152] 将一种目标语言描述的该字符资源作为值;
[0153] 将每个所述键与对应的所述值以键值对的形式存储在一个所述文本文档中。
[0154] 所述切换模块具体用于根据所述键值对,从载入的所述语言资源文件中调用与每 个所述键对应的所述值,从而使所述APP的用户界面中当前语言描述的所有字符资源替换 成目标语言描述的所有字符资源。
[0155] 所述语言资源文件存储在在客户端和/或服务器端;
[0156] 其中,每个所述字符资源为如下资源的一种:
[0157] 文本显示资源、输出的文本资源、时间信息资源和币种信息资源。
[0158] 本发明实施例为实施例一对应的装置实施例,在具体实现时,可以参阅实施例一, 本发明实施例也具备实施例的技术效果,在此不再赘述。
[0159] 尽管为示例目的,以上已经公开了本发明的优选实施例,但本领域的技术人员将 意识到各种改进、增加和取代也是可能的,因此,本发明的范围应当不限于上述实施例。
【主权项】
1. 一种APP的多语言切换方法,其特征在于,包括: 接收语言切换指令,所述语言切换指令携带目标语言信息; 根据所述目标语言信息,载入所述目标语言信息对应的语言资源文件; 根据载入的所述语言资源文件,将所述APP的用户界面中当前语言描述的所有字符资 源替换成目标语言描述的所有字符资源。2. 如权利要求1所述的方法,其特征在于,所述方法还包括: 生成并存储多种语言资源文件; 其中,一种语言资源文件的生成方式包括: 将原始语言描述的所述APP的用户界面中所有字符资源对应的采用一种目标语言描 述,并存储在一个文本文档中;所述原始语言具体为所述APP的程序代码中的语言。 将所述文本文档作为对应的该种目标语言的语言资源文件。3. 如权利要求2所述的方法,其特征在于,所述将原始语言描述的所述APP的用户界面 中所有字符资源对应的采用一种目标语言描述,并存储在一个文本文档中的步骤,具体包 括: 将原始语言描述的每个字符资源作为键; 将一种目标语言描述的该字符资源作为值; 将每个所述键与对应的所述值以键值对的形式存储在一个所述文本文档中。4. 如权利要求3所述的方法,其特征在于,所述根据载入的所述语言资源文件,将所述 APP的用户界面中当前语言描述的所有字符资源替换成目标语言描述的所有字符资源的步 骤,具体包括: 根据所述键值对,从载入的所述语言资源文件中调用与每个所述键对应的所述值,从 而使所述APP的用户界面中当前语言描述的所有字符资源替换成目标语言描述的所有字符 资源。5. 如权利要求2所述的方法,其特征在于,所述将所述文本文档作为对应的该种目标语 言的语言资源文件的步骤,还包括: 并采用该种目标语言的名称和/或目标语言的地域信息命名该语言资源文件; 所述根据所述目标语言信息,载入所述目标语言信息对应的语言资源文件的步骤,具 体包括: 所述目标语言信息包括目标语言的名称和/或目标语言的地域信息; 从预存的多种语言资源文件中,查找并载入与所述目标语言信息对应的语言资源文 件。6. 如权利要求1-5任意一项所述的方法,其特征在于,所述多种语言资源文件存储在在 客户端和/或服务器端; 其中,每个所述字符资源为如下资源的一种: 文本显示资源、输出的文本资源、时间信息资源和币种信息资源。7. -种APP的多语言切换系统,其特征在于,包括: 指令模块,用于接收语言切换指令,所述语言切换指令携带目标语言信息; 载入模块,用于根据所述目标语言信息,载入所述目标语言信息对应的语言资源文件; 切换模块,用于根据载入的所述语言资源文件,将所述APP的用户界面中当前语言描述 的所有字符资源替换成目标语言描述的所有字符资源。8. 如权利要求7所述的系统,其特征在于,所述系统还包括资源存储模块,用于生成并 存储多种语言资源文件; 其中,资源存储模块生成一种语言资源文件时用于将原始语言描述的所述APP的用户 界面中所有字符资源对应的采用一种目标语言描述,并存储在一个文本文档中;所述原始 语言具体为所述APP的程序代码中的语言。 将所述文本文档作为对应的该种目标语言的语言资源文件。9. 如权利要求8所述的系统,其特征在于,所述资源存储模块生成一种语言资源文件时 具体用于将原始语言描述的每个字符资源作为键; 将一种目标语言描述的该字符资源作为值; 将每个所述键与对应的所述值以键值对的形式存储在一个所述文本文档中。10. 如权利要求9所述的系统,其特征在于,所述切换模块具体用于根据所述键值对,从 载入的所述语言资源文件中调用与每个所述键对应的所述值,从而使所述APP的用户界面 中当前语言描述的所有字符资源替换成目标语言描述的所有字符资源。
【文档编号】G06F9/44GK105867920SQ201610184924
【公开日】2016年8月17日
【申请日】2016年3月29日
【发明人】古滔
【申请人】海尔优家智能科技(北京)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1