首页> 中国专利> 一种在移动终端中支持多语言用户界面的方法及系统

一种在移动终端中支持多语言用户界面的方法及系统

摘要

本发明公开了一种在移动终端中支持多语言用户界面的方法,包括:基于XML格式保存各种语言的语言字符串资源文件;读取至少一用户界面所需的XML语言字符串资源文件,并在用户界面上显示所读取XML语言字符串资源文件的语言字符串。相应地,本发明还提供一种支持多语言用户界面的系统。本发明通过XML格式来保存多种语言的语言字符串资源文件,实现了语言字符串资源文件与操作平台和/或应用程序的源码分开进行管理,再根据需要读取至少一用户界面的XML语言字符串资源文件,然后在用户界面上显示所读取的语言字符串。借此,本发明移动终端的用户界面不仅可以方便地实现对多语言的支持,并且可灵活地添加对新语言的支持。

著录项

  • 公开/公告号CN101441567A

    专利类型发明专利

  • 公开/公告日2009-05-27

    原文格式PDF

  • 申请/专利权人 宇龙计算机通信科技(深圳)有限公司;

    申请/专利号CN200810217830.4

  • 发明设计人 郭和平;周佐华;

    申请日2008-11-18

  • 分类号G06F9/44(20060101);G06F17/30(20060101);

  • 代理机构11006 北京律诚同业知识产权代理有限公司;

  • 代理人刘健;黄韧敏

  • 地址 518057 广东省深圳市南山区高新技术产业园(北区)梦溪道2号

  • 入库时间 2023-12-17 22:01:59

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2012-06-13

    授权

    授权

  • 2009-07-22

    实质审查的生效

    实质审查的生效

  • 2009-05-27

    公开

    公开

说明书

技术领域

本发明涉及移动通信设备技术,尤其涉及一种在移动终端中支持多语言用户界面的方法及系统。

背景技术

通常,手机、PHS(Personal Handyphone System,个人手持电话系统,俗称小灵通)以及PDA(Personal Digital Assistant,个人数字助理)等移动终端的用户界面只能支持一种语言,或者支持一种本国语言,再加上对英文的支持,所述用户界面包括操作平台界面和/或应用程序界面。然而随着移动通信技术的不断发展,用户对移动终端的要求也越来越高;同时伴随国际化的发展,使得移动终端面临着对多种语言的支持问题。虽然目前市场上也出现了一些支持多语言的移动终端,但现有支持多语言的移动终端一般将所有用户界面各种语言的语言字符串资源文件与操作平台和/或应用程序的源码放在一起进行管理,该用户界面支持多种语言的技术方案不仅实现复杂,而且不便于灵活的在移动终端上添加新语言支持。

综上可知,现有移动终端的用户界面技术在实际使用上显然存在不便与缺陷,所以有必要加以改进。

发明内容

针对上述的缺陷,本发明的目的在于提供一种在移动终端中支持多语言用户界面的方法及系统,其移动终端的用户界面不仅能够方便地实现对多语言的支持,且能够灵活地添加对新语言的支持。

为了实现上述目的,本发明提供一种在移动终端中支持多语言用户界面的方法,所述方法包括如下步骤:

A、基于XML格式保存各种语言的语言字符串资源文件;

B、读取至少一用户界面所需的XML语言字符串资源文件,并在所述用户界面上显示所读取XML语言字符串资源文件的语言字符串。

根据本发明的方法,所述步骤A进一步包括:

A1、建立一多语言根目录,并根据所支持的语言种类建立对应的若干语言目录;

A2、将所有用户界面各种语言的语言字符串资源文件采用XML格式存储在所述多语言根目录下;并将每种语言的XML语言字符串资源文件分别存储于对应的语言目录中,且同一用户界面的XML语言字符串资源文件在不同的语言目录下保持资源文件名称一致。

根据本发明的方法,所述用户界面的XML语言字符串资源文件中采用支持DOM树解析的XML解析器,所述XML解析器对所述一XML语言字符串资源文件进行解析时将生成DOM树结构,所述DOM树结构中包括一个根节点和若干层语言字符串节点,所述每个语言字符串节点中包括一个唯一标识一语言字符串的语言字符串ID号和一个语言字符串本身。

根据本发明的方法,所述步骤B中用户界面直接从XML语言字符串资源文件中读取语言字符串,其调用读取语言字符串函数接口,并根据指定的资源文件路径名及语言字符串ID号,确定并读取所对应的语言字符串。

根据本发明的方法,所述资源文件路径名为一个应用程序界面的XML语言字符串资源文件的资源文件路径名;或者

所述资源文件路径名为一个操作平台的功能界面的XML语言字符串资源文件的资源文件路径名。

根据本发明的方法,所述步骤B中用户界面直接从XML语言字符串资源文件中读取语言字符串的步骤进一步包括:

B101、申请保存语言字符串的缓冲,并初始化语言字符串默认文本;

B102、调用读取语言字符串函数接口,并分别传入指定的资源文件路径名、语言字符串ID号、保存语言字符串的字符串缓冲指针以及读取的字符个数;

B103、根据传入的资源文件路径名以及当前用户界面语言标记,打开对应的XML语言字符串资源文件进行解析,若解析成功则执行步骤B104,否则执行步骤B107;

B104、在解析生成的DOM树结构中,搜索指定语言字符串ID号的语言字符串节点,若找到指定语言字符串ID号的语言字符串节点则执行步骤B105,否则执行步骤B107;

B105、将所述语言字符串节点的语言字符串本身复制到字符串缓冲指针所对应的内存位置;

B106、将所读取的语言字符串设置到若干控件进行显示,或者直接输出进行显示;

B107、将初始化的语言字符串默认文本设置到若干控件进行显示,或者直接输出进行显示。

根据本发明的方法,所述步骤B中用户界面从XML语言字符串资源文件的字符串资源句柄中读取语言字符串,其调用打开文件函数接口打开XML语言字符串资源文件,进而打开所述字符串资源句柄,再根据指定语言字符串ID号,确定并读取对应的语言字符串。

根据本发明的方法,所述步骤B中用户界面从XML语言字符串资源文件的字符串资源句柄中读取语言字符串的步骤进一步包括:

B201、申请保存语言字符串的缓冲,并初始化语言字符串默认文本;

B202、定义字符串资源句柄,并初始化为空;

B203、根据指定资源文件路径名,调用打开文件函数接口打开相应的XML语言字符串资源文件,并判断是否将对应的字符串资源句柄打开,若打开成功,则执行步骤B204,否则执行步骤B209;

B204、搜索指定语言字符串ID号的语言字符串节点,若找到指定语言字符串ID号的语言字符串节点则执行步骤B205,否则执行步骤B209;

B205、读取该语言字符串节点的语言字符串本身;

B206、将所读取的语言字符串设置到若干控件进行显示,或者直接输出进行显示;

B207、判断是否继续读取语言字符串,若是则返回步骤B204,否则执行步骤B208;

B208、关闭所述字符串资源句柄;

B209、将初始化的语言字符串默认文本设置到若干控件进行显示,或者直接输出进行显示。

根据本发明的方法,所述步骤B进一步包括:

B301、需要切换当前用户界面语言的类别时,调用语言设置函数接口;

B302、在该语言设置函数实现中改变当前用户界面语言标记,并向已开启的操作平台界面和/或应用程序界面发送语言改变广播消息;

B303、所述操作平台界面和/或应用程序界面处理该语言改变广播消息,并重新装载新用户界面语言标记所对应的语言字符串;

B304、将所述重新装载的语言字符串保存,并设置到若干控件进行显示,或者直接输出进行显示。

本发明还提供一种支持多语言用户界面的系统,所述系统应用于移动终端中,至少包括:

语言字符串资源存储模块,用于采用XML格式保存各种语言的语言字符串资源文件;

语言字符串资源读取模块,用于从所述语言字符串资源存储模块中读取至少一用户界面所需的XML语言字符串资源文件;

语言字符串显示模块,用于在用户界面上显示所述语言字符串资源读取模块所读取的XML语言字符串资源文件的语言字符串。

本发明通过采用XML格式来保存用户界面多种语言的语言字符串资源文件,实现了语言字符串资源文件与操作平台和/或应用程序的源码分开进行管理,再根据需要读取至少一用户界面的XML语言字符串资源文件,然后在用户界面上显示所读取的语言字符串。借此,本发明移动终端的用户界面不仅可以方便地实现对多语言的支持,如对中文、英文、日文或者韩文支持等,并且可以灵活地添加对新语言的支持。

附图说明

图1是本发明支持多语言用户界面的系统的结构示意图;

图2是本发明系统中语言字符串资源存储模块的文件组织结构示意图;

图3是本发明XML语言字符串资源文件中语言字符串节点的存储结构示意图;

图4是本发明提供的在移动终端中支持多语言用户界面的方法流程图;

图5是本发明直接从XML语言字符串资源文件中读取语言字符串的实例流程图;

图6是本发明从字符串资源句柄中读取语言字符串的实例流程图;

图7是本发明更新用户界面语言的实例流程图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

图1示出了本发明所提供的支持多语言用户界面的系统10结构,所述系统10应用于移动终端中,所述用户界面可以包括操作平台界面和/或应用程序界面,所述多语言支持是指系统10的用户界面可以根据用户的选择与喜好,设置为不同的语言,例如可以把系统10的用户界面设置为中文、英文、日文或者韩文等类型,本发明支持多语言用户界面的系统10至少包括:

语言字符串资源存储模块11,用于采用XML(eXtensible MarkupLanguage,可扩展标记语言)格式保存用户界面的各种语言的语言字符串资源文件。所谓XML是一套定义语义标记的规则,这些标记将文件分成许多部件并对这些部件加以标识,并且可使用XML自由决定的标记语言,这就是语言的可扩展性。遵守XML结构和语义的文件,称之为XML文件。系统10中包括操作平台界面和/或应用程序界面都可以保存在该语言字符串资源存储模块11中。

语言字符串资源读取模块12,用于从语言字符串资源存储模块11中读取至少一用户界面所需的XML语言字符串资源文件。这里所读取的至少一用户界面的XML语言字符串资源文件可以是一个应用程序界面或者是操作平台某一功能界面的XML语言字符串资源文件。例如启动一应用程序时,会创建至少一应用程序界面(或称为窗口),其调用操作平台的读取语言字符串函数接口,并根据当前用户界面语言标志,从语言字符串资源存储模块11中读取并保存语言字符串。

本发明的语言字符串资源读取模块12包括两种语言字符串读取方式:

第一种语言字符串读取方式中,语言字符串资源读取模块12直接从XML语言字符串资源文件中读取用户界面所需的语言字符串,其调用操作平台的读取语言字符串函数接口,并根据指定的资源文件路径名及语言字符串ID号,确定并读取所对应的语言字符串。所述资源文件路径名为一个应用程序界面的XML语言字符串资源文件的资源文件路径名;或者所述资源文件路径名为一个操作平台的功能界面的XML语言字符串资源文件的资源文件路径名。

第二种语言字符串读取方式中,语言字符串资源读取模块12从XML语言字符串资源文件的字符串资源句柄中读取用户界面所需的语言字符串,其调用操作平台的打开文件函数接口打开XML语言字符串资源文件,进而打开所述字符串资源句柄,再根据指定语言字符串ID号,确定并读取对应的语言字符串。

语言字符串显示模块13,用于在用户界面上显示语言字符串资源读取模块12所读取的XML语言字符串资源文件的语言字符串。这里可以是将所读取的XML语言字符串资源文件的语言字符串设置到若干控件进行显示,或者直接输出进行显示。所述控件包括按钮、菜单等。

图2示出了本发明系统10中语言字符串资源存储模块11优选的的文件组织结构,该语言字符串资源存储模块11建立一多语言根目录languageres,用户界面的多种语言的XML语言字符串资源文件都统一存放在所述多语言根目录languageres下;并根据所支持的语言种类建立对应的若干语言目录,如简体中文,创建zhcn语言目录;英文,创建en语言目录;日文,创建jp语言目录等等。相应地,操作平台界面以及应用程序界面的对应XML语言字符串资源文件都存放在相应的语言目录下,如中文XML语言字符串资源文件,存放在languageres\zhcn语言目录下;英文XML语言字符串资源文件,存放在languageres\en语言目录下。另外,同一个应用程序界面或者操作平台某一功能界面的XML语言字符串资源文件,在不同的语言目录下,要保持资源文件名称一致,如快速拨号应用程序界面,XML语言字符串资源文件名为spd_string.xml,那么在中文目录zhcn下以及英文目录en下,都采用同一个资源文件名称spd_string.xml。再如协同应用程序界面,XML语言字符串资源文件名为coopres.xml,那么在中文目录zhcn下以及英文目录en下,都采用同一个资源文件名称coopres.xml。XML语言字符串资源文件按图2的文件组织结构,更有利于系统10支持多种语言,语言字符串资源文件与源码分开进行管理,更适合于灵活的添加对其他语言的支持。

图3是本发明XML语言字符串资源文件中语言字符串节点的存储结构示意图,由于每一种数据格式都需要一个解析器将其中的信息解析出来才可使用,XML文件当然也不会例外,本发明中用户界面的XML语言字符串资源文件中采用支持DOM(Document Object Model,文档对象模型)树解析的XML解析器。所谓DOM是一种基于树型的解析技术,它在内存中构建起一棵完整的解析树,借此实现对整个XML文件的全面、动态访问。所述XML解析器对所述一XML语言字符串资源文件(例如对需要启动的一个应用程序界面文件或者操作平台的一功能界面文件)进行解析,并生成DOM树结构,所述DOM树结构中包括一个根节点root和若干层语言字符串节点object,每个语言字符串节点object包含ID数据项和string数据项,所述ID数据项是语言字符串ID号,在一个XML文件中,唯一标识一个语言字符串;而所述string数据项,则用于保存语言字符串值本身,例如字母、数字和标点符号等字符的有限序列。

图4示出了本发明提供的在移动终端中支持多语言用户界面的方法流程,其通过图1所示的支持多语言用户界面的系统10来实现,具体包括如下步骤:

步骤S401,基于XML格式保存用户界面的各种语言的语言字符串资源文件,所述用户界面可以包括操作平台界面和/或应用程序界面。具体而言,本步骤是由系统10的语言字符串资源存储模块11实现的,语言字符串资源存储模块11建立一多语言根目录,并根据所支持的语言种类建立对应的若干语言目录;再将所有用户界面各种语言的语言字符串资源文件采用XML格式存储在所述多语言根目录下;并将每种语言的XML语言字符串资源文件分别存储于对应的语言目录中,且同一用户界面的XML语言字符串资源文件在不同的语言目录下保持资源文件名称一致。如快速拨号应用程序界面的XML语言字符串资源文件,如图2所示,在中文目录zhcn下以及英文目录en下,都采用同一个资源文件名称spd_string.xml。

步骤S402,读取至少一用户界面所需的XML语言字符串资源文件,并在所述用户界面上显示所读取XML语言字符串资源文件的语言字符串。具体而言,本步骤中由系统10的语言字符串资源读取模块12来读取至少一用户界面所需的XML语言字符串资源文件,并由语言字符串显示模块13在用户界面上显示所读取XML语言字符串资源文件的语言字符串string。本步骤中用户界面可以直接从XML语言字符串资源文件中读取语言字符串string,其调用读取语言字符串函数接口,并根据指定的资源文件路径名及语言字符串ID号,确定并读取所对应的语言字符串string。或者,用户界面从XML语言字符串资源文件的字符串资源句柄中读取语言字符串string,其调用打开文件函数接口打开XML语言字符串资源文件,进而打开所述字符串资源句柄,再根据指定语言字符串ID号,确定并读取对应的语言字符串string。

图5示出了本发明直接从XML语言字符串资源文件(即保存语言字符串的XML文件)中读取语言字符串的实例流程,其通过图1所示的支持多语言用户界面的系统10来实现,具体包括如下步骤:

步骤S501,申请保存语言字符串string的缓冲,并初始化语言字符串默认文本。

步骤S502,调用读取语言字符串函数LoadResStringFromFile(filepath,id,pDst,len)接口,并分别传入指定的资源文件路径名filepath、语言字符串ID号、保存语言字符串的字符串缓冲指针pDst以及读取的字符个数len等参数;所述资源文件路径名filepath可以为一个应用程序界面的XML语言字符串资源文件的资源文件路径名或者为一个操作平台的功能界面的XML语言字符串资源文件的资源文件路径名。

步骤S503,根据传入的资源文件路径名filepath以及当前用户界面语言标记,打开对应的XML语言字符串资源文件进行解析。例如需要打开图2中所示的快速拨号应用程序界面的XML文件,且当前用户界面语言标记为中文简体,则打开资源文件路径名filepath为languageres\zhcn\spd_string.xml的XML语言字符串资源文件。

步骤S504,判断XML语言字符串资源文件是否解析成功,若成功则执行步骤S505,否则执行步骤S509。

步骤S505,在解析生成的DOM树结构中,如图3所示,搜索指定语言字符串ID号的语言字符串节点object。

步骤S506,判断是否找到指定语言字符串ID号的语言字符串节点object,若找到则执行步骤S507,否则执行步骤S509;

步骤S507,将所述语言字符串节点object的语言字符串string本身复制到字符串缓冲指针pDst所对应的内存位置。

步骤S508,将所读取的语言字符串string设置到若干控件进行显示,或者直接输出进行显示。这里的控件包括按钮、菜单等。

步骤S509,若解析XML语言字符串资源文件失败,或者没有找到指定语言字符串ID号的语言字符串节点object,则将初始化的语言字符串默认文本设置到若干控件进行显示,或者直接输出进行显示。

上述步骤S501~S507由系统10的语言字符串资源读取模块12实现,而步骤S508~S509由系统10的语言字符串显示模块13实现。通过本方法来读取语言字符串string,系统10在读取一个语言字符串string时,都需要对该XML语言字符串资源文件进行解析,因为内存不保存以前的解析结果。因此,这种读取语言字符串方式只适合于读取的语言字符串string个数不多,并且该XML语言字符串资源文件本身也比较小的情况。

图6是本发明从字符串资源句柄中读取语言字符串的实例流程,其通过图1所示的支持多语言用户界面的系统10来实现,具体包括如下步骤:

步骤S601,申请保存语言字符串string的缓冲,并初始化语言字符串默认文本。

步骤S602,定义字符串资源句柄,并初始化为空NULL。

步骤S603,根据指定资源文件路径名,调用打开文件函数接口打开相应的XML语言字符串资源文件,打开一个XML语言字符串资源文件,可以返回字符串资源句柄,也就是可以将对应的字符串资源句柄打开。

步骤S604,判断是否将对应的字符串资源句柄打开,若打开成功,则执行步骤S605,否则执行步骤S611。

步骤S605,搜索指定语言字符串ID号的语言字符串节点object。

步骤S606,判断是否找到指定语言字符串ID号的语言字符串节点object,若找到则执行步骤S607,否则执行步骤S61l。

步骤S607,读取该语言字符串节点object的语言字符串string本身。

步骤S608,将所读取的语言字符串string设置到若干控件进行显示,例如设置到按钮或者菜单上显示,或者直接输出进行显示。

步骤S609,判断是否继续读取语言字符串string,若是则返回步骤S605,否则执行步骤S610。

步骤S610,关闭所述字符串资源句柄,以释放所占用的内存空间。

步骤S611,若打开字符串资源句柄失败,或者没有找到指定语言字符串ID号的语言字符串节点object,则将初始化的语言字符串默认文本设置到若干控件进行显示,或者直接输出进行显示。

上述步骤S608和S611由系统10的语言字符串显示模块13实现,其余步骤均由系统10的语言字符串资源读取模块12实现。在这种语言字符串读取方式中,每个XML语言字符串资源文件对应一个字符串资源句柄,XML语言字符串资源文件只解析一次,将解析好的结果保存在内存中,再次使用时直接调用字符串资源句柄即可,可以从该字符串资源句柄中读取任意多次,适合于连续读取多个语言字符串string,其语言字符串string读取效率高。

图7示出了本发明更新用户界面语言的实例流程,其通过图1所示的支持多语言用户界面的系统10来实现,具体包括如下步骤:

步骤S701,当系统10收到用户更改当前用户界面语言类别时,例如用户要求将当前用户界面从中文简体切换为英文,调用语言设置函数SetLanguage接口。

步骤S702,在该语言设置函数SetLanguage实现中改变当前用户界面语言标记,如将当前用户界面语言标记从中文简体改为英文,并向已开启的操作平台界面和/或应用程序界面发送语言改变广播消息MSG_LNGCHANGE,这里所述的已开启的操作平台界面和/或应用程序界面是指当前操作平台中所有开启的窗口。

步骤S703,所述已开启的操作平台界面和/或应用程序界面处理该语言改变广播消息MSG_LNGCHANGE,重新装载新用户界面语言标记所对应的语言字符串string,例如重新装载英文语言标记所对应的语言字符串string,以实现操作平台界面和应用程序界面的当前语言一致。

步骤S704,将所述重新装载的语言字符串string保存,并设置到若干控件进行显示,或者直接输出进行显示,例如显示英文字符串。

上述步骤S701~S703由系统10的语言字符串资源读取模块12实现,而步骤S704由系统10的语言字符串显示模块13实现。借此,当用户更改用户界面当前语言时,操作平台界面与应用程序界面的语言字符串string可动态更新,以实现当前语言一致。

综上所述,本发明通过采用XML格式来保存用户界面的多种语言的语言字符串资源文件,实现了语言字符串资源文件与操作平台和/或应用程序的源码分开进行管理,再根据需要读取至少一用户界面的XML语言字符串资源文件,然后在用户界面上显示所读取的语言字符串。借此,本发明移动终端的用户界面不仅可以方便地实现对多语言的支持,如对中文、英文、日文或者韩文支持等,并且可以灵活地添加对新语言的支持。

当然,本发明还可有其它多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员当可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号