采用表的语言的本地化的制作方法

文档序号:6624937阅读:134来源:国知局
专利名称:采用表的语言的本地化的制作方法
技术领域
本发明的方面涉及软件产品。更特别地,本发明的方面涉及采用本地语言为用户提供应用程序目录。
相关技术领域的描述计算系统以多种语言形式存在。大量的软件应用程序和操作系统以第一语言被生成,随后被传送转换成其他语言。这有时涉及到应用程序和操作系统的本地化。但是,大量的软件应用程序是从来不被翻译成其他语言的。这些应用程序由于种种原因仅以其源语言的形式被保留为可用。有时,本地化的高成本对采用其他语言的应用程序的销售者来说是不被期望遇到的。另一些时候,程序开发者可能缺少必需的有效率的翻译或者将应用程序的细微的地方翻译成其他语言的能力。这些和其他原因限制了不同语言的用户对那些没有被翻译成其特定语言的软件的使用。
一种公知的使用多于一种语言来生成应用程序的过程如图3A所示。在步骤301以第一语言生成一个应用程序。之后,在步骤302开发人员可以将所述应用程序翻译成第二语言。公知的使用多于一种语言来生成应用程序的过程通过本地化工具的使用来实现。任一源文件被本地化并且产品被重新编译,或者采用不需要所述应用程序的重新编译的工具。
存在一些技术允许应用程序为了用户而更加容易地被翻译成其他语言。首先,一些系统提供向自动机翻译词典的连接,所述自动机翻译词典能够实时地被获取以将那些呈现给用户的文本翻译成用户的本地语言。此处,所述自动机翻译词典当被应用在应用程序上时不具备短语知识。所选择的译文典型地与先前被翻译过的词汇没有任何共通之处。这种方法的一个难点在于仅仅呆板的词典翻译通常质量很差。源语言的文件(涉及到获取一份文档的位置的操作)当仅仅使用呆板的词典翻译时可能被翻译成金属锻修工具。
其次,如图3B所示,一个应用程序304可能包括一个应用程序翻译源305在其中。应用程序304的核心可能以第一语言写成。但是,当文本被输出到显示器或打印机或其他设备或介质上时,所述应用程序304从应用程序翻译源305处获取应用程序的翻译文本。应用程序304在翻译源305的文本中获得相应的条目,所述条目相关于期望的文本信息以及它们已被翻译的等价物。所述被翻译的等价物被传送给图形设备接口(GDI)308,呈现,并输出给显示器309。
图3B的系统存在三个问题。首先,除非提供了应用程序翻译源305,否则应用程序304的任何具有鲁棒性的翻译都将不存在。其次,某些由应用程序304提供的信息可能生成于操作系统当中,而不是由应用程序304直接生成。如果所述支持应用程序304的操作系统被本地化为第一语言并且应用程序304被本地化为第二语言,那么用户将被迫接受既有第一语言又有第二语言的消息。第三,如果应用程序不包括翻译源305而存在,那么潜在用户可能不具备以其语言使用应用程序304的能力,直到生成翻译表305并且将其集成到应用程序304中为止。
简明概要本发明的各个方面致力于上述的一个或多个问题。因而,为不同语言的用户提供应用程序。本发明的方面包括采用操作系统-层的翻译表以提供信息的翻译,所述操作系统层的翻译表可以单独使用,也可以和其他翻译表共同使用。
这些和其他方面将结合附图和相关的实施例进行说明。
附图简要说明本发明不同的方面将结合附图进行说明。


图1和2示出了支持本发明一个或多个方面的通用计算机环境。
图3A和3B示出了现有的应用程序本地化的技术。
图4示出了应用程序,系统资源和GDI之间的相互作用。
图5A和5B示出了根据本发明的方面提供用户本地化应用程序的多种过程。
图6示出了根据本发明的方面的那些可能在标准化过程中发生不同过程。
图7示出了根据本发明的方面的多种表格以及它们与用户系统的关系。
图8示出了根据本发明的方面的多种表格之间的相互作用。
图9-11示出了根据本发明的方面的利用一个或多个表格翻译的应用程序的输出。
图12示出了根据本发明的方面的用户界面。
附图的具体描述本发明的方面涉及提供一种翻译应用程序和操作系统的能力。通过单独使用操作系统层的翻译表或结合其他翻译表(包括应用程序-特定翻译表和共有翻译表)使用,应用程序可被其他语言应用。
下面分成了若干部分已协助读者。所述标题包括通用计算环境;基于表格的本地化;翻译表格的定位;操作系统集成;和翻译表格应用的例子。
通用计算环境图1和2表示了本发明能够在其中被实现的合适的操作环境100和201的例子。所述操作环境100和201仅仅是合适的操作系统的一小部分例子,并不能对本发明的功能或应用的范围企图建议任何限制。另外,那些可能是适合本发明应用的已知计算机系统,环境,和/或配置包括,但并不仅限于,个人计算机,计算机服务器,手持或便携式设备,多处理器系统,基于微处理器的系统,可编程用户电子设备,网络PC,小型计算机,大型计算机,包括上述所有系统或设备以及相似产品的分布式计算环境。
本发明的方面将在计算机可执行指令的通用背景中进行描述,例如被一个或多个计算机或其他设备执行的计算机程序模块。通常,程序模块包括那些履行特定任务或实现特定的抽象数据结构的程序,算法,程序,目标,组成,数据结构等。典型地,在不同的实施例中,程序模块的功能性将被根据需要结合或分散。
计算装置系统100和201典型地包括至少一些计算机可读介质的形式。计算机可读介质能够是任何可由服务器103或者系统201访问的有效的介质。举例来说,并且并不限于此,计算机可读介质可以包括计算机存储介质和通讯介质。计算机存储介质包括易失或非易失的,可移动的和不可移动的介质,所述介质以信息存储的任何方法或者技术实现,例如计算机可读取指令,数据结构,程序模块或者其他数据。计算机存储介质包括,但是并不限于,RAM,ROM,EEPROM,闪存或者其他存储技术,CD-ROM,数字化视频光盘(DVD)或者其他光学存储设备,盒式磁带,磁带,磁盘存储或其他磁性存储设备,或其他能够用于存储所需信息和能够由服务器103或系统201所访问的任何介质。通讯介质典型地包括计算机可读指令,数据结构,程序模块或者其他已调制的数据信号的数据,例如载波或其他传输机制,并且包括任何信息传输介质。短语“已调制的数据信号”表示一个具有一个或多个它的特征集或者以编码信号中信息的方式变化的信号。举例来说,但并不限于此,通讯介质包括有线介质例如一个有线网络或者直接有线连接,和无线介质例如声波,RF,红外线以及其他无线介质。上述的结合也应该被包括在计算机可读介质的范围内。
如图2所示,是一个能够实现本发明的方面的示例性系统,包括了一个计算装置,例如装置201。在所述的最基本的配置中,装置201典型地包括一个处理单元204和存储器203。根据所述的精确配置和计算装置的类型,存储器203可以是易失的(例如RAM),非易失的(例如ROM,闪存等)或者两者结合的一些实例。另外,装置201也可以具有大规模存储(可移除和/或不可移除)例如磁性或光盘或磁带205-206。同样地,装置201也可以具备输入装置例如208(包括一个鼠标,输入笔,键盘,轨迹球,以及其他相似物品)和/或输出装置207例如显示屏以及相似物。装置201的其他方面可能包括网络连接器209利用有线或无线介质210连接到其他的设备,计算机,网络,服务器,等等。所有上述设备都是本领域公知的并且在此不需要被深入讨论。
基于表格的本地化利用本发明的方面,应用程序可以为用户提供翻译。在本发明的某些方面,本发明的操作可被描绘成在一个或多个层次发生应用程序层和/或操作系统层。
所述操作系统可以提供一个引擎,所述引擎通过比较送往系统资源加载或GDI的截取文本和一个翻译文本的存储表来允许快速翻译。所述存储表可分别具备每一个短语的译文和/或可以仅仅包括文本的串。所述串可以是在菜单/按钮/对话框及相似事务中呈现给用户的整个内容或句子。具备文本串的相关译文的一个优点是在所述串中的短语的意思被保留了。通过这种方式,结果译文将一直与源文本相应。
所述引擎也可以建立在操作系统或其他地方。如果某处没有指定翻译表,引擎就将系统资源加载或GDI的截取文本调用传给它们可能的目的地。将引擎放置在操作系统层的一个优点是如果提供了其应用程序的所有译文,那么应用程序开发者就可以较少地调整他们的编码。在一些情况下,应用程序开发者可能希望仅仅使用操作系统能够访问的翻译表。在另一些情况下,应用程序开发者可能需要系统提供附加或者可选的翻译表以完成下述工作a.覆盖附加的语言或方言;b.为一些术语提供可选择的翻译;以及c.为与操作系统配合的翻译表没有提到的特殊应用程序的术语提供翻译。
图4提供了系统资源加载401和系统GDI403,它们都与应用程序402交换信息。应用程序402的资源加载过程由系统资源加载模块处理。对资源加载应用程序界面的调用(例如,加载资源API或寻找外部资源或者内部资源),其可以由应用程序直接组成或由系统为应用程序间接进行,为了由系统资源加载401处理所述应用程序并且最终结果将被返回给应用程序402。
重定位引擎允许截取片段与用户接口资源单元内容的最终重定向数据在应用程序402,系统资源加载401和系统GDI403之间进行交换。
所述翻译表(包括操作系统翻译表和应用程序翻译表)利用引擎的功能提供一个可选的数据源,所述数据源包括所期望的目标语言的UI单元。所述操作系统的翻译表可包括普通操作系统的项目。它也可以包括或不包括通用的应用程序的术语。为了简便,是否包括通用的程序的术语的操作系统的翻译表被表示为“核心翻译表”。应用程序开发者可以通过包括应用程序特定翻译表来增补操作系统的翻译表。
翻译表的自然特性可以是从一个单一源语言到一个单一目标语言的单向映射。可选地,所述翻译表可可以使在源语言和目标语言之间的双向映射。更进一步,翻译表可以是一个单一源语言到多个目标语言的映射(单向或双向)。对目标语言的指定帮助确定采用哪种目标语言。
图5A和图5B显示了根据本发明的一个方面的翻译表的使用。在图5A中,在步骤501中一个应用程序开始与系统资源加载或者GDI交换数据。在步骤502中,从步骤501传来的数据被所述引擎截取。在步骤503中,所述数据被简化和规范。在步骤504,所述数据在目标语言的应用程序翻译表中被查找。如果步骤503中的数据与翻译表502中的信息匹配(步骤505),那么在步骤506,所述数据原始的格式被恢复。所述被恢复的原始格式的信息被存储以便将来的应用。在步骤507窗口和对话框将被重新描绘大小以适应翻译完毕的内容。所述处理返回到应用程序的步骤501。
如果在步骤505中没有发现匹配(由于没有匹配或者没有应用程序的翻译表存在),那么在步骤508中,所述系统针对目标语言的核心翻译表查找数据。在步骤509,如果发现一个匹配,那么系统进行步骤506并且继续从该步骤向下。如果在步骤509没有发现匹配,那么应用程序被重定向到资源加载或GDI以便进行常规处理。
图5B显示了图5A的一个调整,其中图5A存在一个公共翻译表。如果在步骤509没有发现匹配,那么在步骤511,数据被依照公共建立的翻译表进行查找。如果在步骤512发现匹配,那么进行步骤506和处理如步骤5A那样继续。如果在步骤512没有发现匹配,那么所述处理利用机器翻译(例如,实时字典翻译)513。如果在步骤514中翻译成功,那么处理返回到步骤506并且继续。如果在步骤514中没有发现匹配,在步骤510中所述处理重定向数据。
在图6中显示了步骤503更详细的细节。简化和规范处理包括下面的一个或多个a.统一大小写(602)-改变所有数据的大小写到大写或小写;b.移除控制字符(603)-例如,“&open...\tCrtl+O”可能被替换成“open”;c.利用替换交叉引用字符串(604)-具备替换变量的字符串资源可以在资源加载数据交换和显示的GDI之间交叉引用。
在如图6所述的简化和规范的步骤503中对数据生成的结果,改变和对改变的描述可被存储在存储装置605中。例如,从“Open”到“open”的变化,可以被存储为或者“Open”到“open”或者“O”到“o”或者一些第一字符能够变换为小写的表示。同样地,对控制字符的移除和交叉引用也可以被存储已备将来的应用。
重新回到图5B,步骤511中公共建立的翻译表可以由实体生成,在所述开发者没有生成一个应用程序翻译表时被使用。可选地,公众可以开发翻译表以补充和增加已有的翻译表。例如,在某些情况下用户可以决定提供的翻译表在某些情况下是不足以使用的。公众可以利用所述应用程序生成一个翻译表。用户能够指定翻译表应用的顺序。在这些有公众生成翻译表的例子中,用户可以指定公众翻译表能够优先于应用程序特定的翻译表或核心翻译表而使用。
公众可以提供公众建立的翻译表,例如,通过公共术语表中公众的努力为没有覆盖的术语提供新的解释或者为新语言提供翻译。如上所述,图5B中应用程序利用图5A中的处理可以胜任到另一个语言的本地化是可选择的。
机器翻译513可以是或者不是一个选项。在一些例子中,机器翻译字典可能不存在中间语言源和目标语言。
步骤506可以包括通过源或者目标语言重设置热键。利用源语言重新生成热键的一个好处是在应用程序和操作系统之间的联系被保留了。
在步骤502中能够截取数据交换的引擎可能被以多种方式实现,包括动态连接库和数据库的结合。例如,动态连接库可能对下面一个或多个任务进行响应a.识别被核准/和注册的应用程序。
b.截取在所述应用程序和系统的资源加载和/或GDI之间交换的数据。
c.资源简化为了提高命中率以及保持翻译表的较小尺寸,所述引擎所述执行简化和规范步骤503。步骤503的例子进一步包括从一个字符串中移除空格,新行,省略号,冒号,分号,加速键等等。并且,替代了“&open...\tCrtl+O”,一个字符串可以被调整为“Open”或者“open”。
d.自动改变尺寸自动调整对话框和目标应用程序的窗口的尺寸以防止翻译所造成的文本和控制的截止。所述改变尺寸可以在运行时间通过加入垂直和水平补白到窗口尺寸中被完成。为了这样,百分比的增加值,字体名,和字体大小可以为了所述语言的任何一个被定义。所述值被严格编码和更改。默认值的例子可以包括i. 大小的增加30%。
ii.字体名微软无衬线铅字。
iii.字体大小8。
如果采用微软视窗操作系统,需要生成一个登陆密码,例如在HKEY_CURRENT_USER\Sofeware\MAT\来存储一个或多个下面的值a.用户希望发布应用程序的源语言的说明书;b.用户希望发布应用程序的目标语言的说明书;c.重确定大小制定应用程序自动确定大小的比例;d.字体大小应用程序实际应用的字体大小;和e.利用图5A和图5B查找的应用程序资源。
为了另外的实现,可以使用不同的存储位置。
在某些情况下,例如采用non-Unicode应用程序,本地匹配系统需要用户期望的语言的用户接口单元的合适的显示。在这些情况下,如果目标语言没有被现有配置的本地化系统处理,系统可能试图激活本地化的匹配系统。这些过程可出现在用户背景中,当目标引用程序列表被预定义并且non-Unicode应用程序被识别时。
所述引擎的数据库组成包括含有应用程序列表也包括non-Unicode应用程序标记的文件。
系统为用户提供用户接口以调整数据翻译是如何被进行的。图12示出了用户接口,所述用户接口提供这些包括是否一个应用程序被翻译,源和目标语言以及放大窗口的大小的一些选项的选项。进一步,默认的处理可以发布为与运行的操作系统相同的语言的有效的应用程序。
在此,终端用户能够决定是否本地化目标语言或者以一种可选的语言发布所述应用程序。另外,如上,重新确定窗口和对话框的大小值以补偿由翻译引起的文本大小的增加。更进一步的编辑可以被提供给开发者以允许他们抽取他们的应用程序的UI部件并且为他们提供新的/可选的翻译。所述编辑允许开发者生成翻译表的二进制文件以为其程序提供导航。
翻译表的本地化对翻译表的本地化是不同的。图7显示了翻译表可以被本地化的不同的例子。应用程序翻译表701,核心翻译表702和公共翻译表703可以被在本地和远距离本地化,如我的分界线708所示。远程地可能包括通过internet或其他远距离定位。
具备处理器706的用户系统704可以不同方式使用翻译表701-703。首先,用户系统可直接获取翻译表并且在运行应用程序时(如在翻译表701-703和系统704中的箭头)使用它们。其次,翻译表可被本地装入到系统704到705并且被直接获取。第三,所述翻译表可被放置在如本地翻译表707的本地地点。这三种方法可以以不同的组合来使用。
操作系统集成图8显示了所述操作系统的引擎是如何帮助提供翻译的。具备或不具备应用程序翻译表802的应用程序801发送向下的信息流。所述信息被作为操作系统803的一部分而运行的数据截取引擎804所截取。数据截取引擎804通过使用核心翻译表805与从应用程序801传来的数据协同工作,并且发送翻译完的向下的信息流至GDI806(或者系统资源加载,未示出)。翻译结果的信息可以被发送到输出807(例如,显示器,打印机,打印机驱动,等等)。
翻译表应用的例子图9-11显示了被翻译的应用程序的不同例子。在图9中,一个采用语言L1的应用程序901可以被语言L1使用。同时,其也可以利用核心翻译表903被翻译成语言LN904。公共表905和实时翻译906也可以被应用。
在图10中应用程序翻译表1001被加入到图9的例子中。
在图11中,系统仅仅使用了公共表905和实时翻译906来翻译应用程序901。
本发明的方面被以此处描述的实施例来描述。在附加的权利要求中的范围和精神内的众多其他的实施例,修改和变化对本领域普通技术人员来说通过此处揭露的内容都将发生。
权利要求
1.一种修改信息以从源语言变换为目标语言的方法包括步骤截取发送往系统资源或GDI之一的数据;比较所述截取数据和核心翻译表的数据;基于所述比较步骤将所述截取数据替换为所述核心翻译表中的数据。
2.如权利要求1所述的方法,进一步包括步骤基于所述比较步骤重定向所述截取数据到所述系统资源或GDI之一。
3.如权利要求1所述的方法,进一步包括步骤比较所述截取数据和应用徎序翻译表的数据;和将所述截取数据替换为所述应用程序翻译表中的数据。
4.如权利要求1所述的方法,进一步包括步骤简化和规范所述截取数据。
5.如权利要求4所述的方法,其中所述简化和规范步骤进一步包括步骤统一所述截取数据的大小写。
6.如权利要求4所述的方法,其中所述简化和规范步骤进一步包括步骤移除控制字符。
7.如权利要求4所述的方法,其中所述简化和规范步骤进一步包括步骤交叉引用在资源加载和GDI之间的所述截取数据。
8.如权利要求1所述的方法,进一步包括步骤将翻译数据重新存储为所述截取数据的格式。
9.如权利要求1所述的方法,进一步包括步骤重新确定显示项目的大小以显示所述翻译数据。
10.如权利要求1所述的方法,进一步包括步骤比较所述截取数据和公共建立的翻译表的数据;和将所述截取数据替换为所述公共建立的翻译表中的数据。
11.如权利要求1所述的方法,进一步包括步骤利用机器翻译处理所述截取数据。
12.一种修改信息以从源语言变换为目标语言的系统包括截取发送往系统资源或GDI之一的数据的装置;比较所述截取数据和核心翻译表的数据的装置;基于来自所述比较装置的结果将所述截取数据替换为所述核心翻译表中的数据的装置。
13.如权利要求12所述的系统,进一步包括基于来自所述比较装置的结果重定向所述截取数据到所述系统资源或所述GDI之一的装置。
14.如权利要求12所述的系统,进一步包括比较所述截取数据和应用程序翻译表的数据的装置;和将所述截取数据替换为所述应用程序翻译表中的数据的装置。
15.如权利要求12所述的系统,进一步包括步骤简化和规范所述截取数据的装置。
16.如权利要求15所述的系统,其中所述简化和规范的装置进一步包括统一所述截取数据的大小写的装置。
17.如权利要求15所述的系统,其中所述简化和规范的装置进一步包括移除控制字符的装置。
18.如权利要求15所述的系统,其中所述简化和规范的装置进一步包括交叉引用在所述资源加载和所述GDI之间的所述截取数据的装置。
19.如权利要求12所述的系统,进一步包括将翻译数据重新存储为所述截取数据格式的装置。
20.如权利要求12所述的系统,进一步包括重新确定显示项目的大小以显示所述翻译数据的装置。
21.如权利要求12所述的系统,进一步包括比较所述截取数据和公共建立的翻译表的数据的装置;和将所述截取数据替换为所述公共建立的翻译表中的数据的装置。
22.如权利要求12所述的系统,进一步包括利用机器翻译处理所述截取数据的装置。
23.一种提供翻译的系统,包括一个运行操作系统的处理器,所述操作系统与至少一个核心翻译表相应,所述处理器截取发送往系统资源或GDI之一的数据;比较所述截取数据和核心翻译表的数据;基于所述比较结果输出所述翻译数据;一个接收所述已翻译数据并输出所述已翻译数据的输出装置。
24.如权利要求23的系统,进一步包括一个存储器,存储有所述至少一个核心翻译表,所述存储器可以被所述处理器访问以获得所述翻译数据。
全文摘要
一种为应用程序提供翻译的系统和方法,其可以具备或不具备所描述的相关翻译表。核心翻译表可以被用于或不用于与应用程序翻译表和公共翻译表一同使用。
文档编号G06F7/60GK1702621SQ200510078309
公开日2005年11月30日 申请日期2005年4月20日 优先权日2004年4月22日
发明者B·C·雷蒂格, H·欧雅玛, H·连, H·普纳赛尔, J·R·法尔克纳, M·祖雷西, R·素旺纳舒克, X·臧, Y·郭, Z·李 申请人:微软公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1