CN101542428B - 资源创作合并本体论 - Google Patents

资源创作合并本体论 Download PDF

Info

Publication number
CN101542428B
CN101542428B CN2006800076112A CN200680007611A CN101542428B CN 101542428 B CN101542428 B CN 101542428B CN 2006800076112 A CN2006800076112 A CN 2006800076112A CN 200680007611 A CN200680007611 A CN 200680007611A CN 101542428 B CN101542428 B CN 101542428B
Authority
CN
China
Prior art keywords
localization
localized
data
translation
application program
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.)
Expired - Fee Related
Application number
CN2006800076112A
Other languages
English (en)
Other versions
CN101542428A (zh
Inventor
B·克赫尔米尔
L·A·布朗内尔
W·吴
S·叶
J·M·玛蒂
J·A·尼尔森
M·埃尔-盖姆
J·D·班纳特
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.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Corp
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
Priority claimed from US11/118,544 external-priority patent/US7653528B2/en
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of CN101542428A publication Critical patent/CN101542428A/zh
Application granted granted Critical
Publication of CN101542428B publication Critical patent/CN101542428B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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

Landscapes

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

Abstract

本发明提供了一种本地化平台(200),它能整合到操作系统中或者虽然没有被完全整合但具有与操作系统紧密操作的部件。本发明利用本地化平台(200)来本地化内容和软件(202),其中本地化包括适应不同市场中的各种差异。本地化平台(200)与应用程序(202)交互安排在一起,该应用程序通过数据收集组件(205)将各种翻译输入到本地化平台(200)中的数据存储内。

Description

资源创作合并本体论
发明背景
本发明涉及数据处理。
本地化是修改产品或服务来解决不同市场中的差异的过程。本地化的一常见示例在应用程序使用源语言创作并被引入到使用不同于原始语言的目标语言的市场时发生。例如,如果应用程序使用英语创作,然后被引入中国,则可通过将该应用程序中的各个英语字符串和UI元件(菜单、图标等)、软件组件和用户帮助翻译成汉语来本地化。UI布局和样式(包括字体类型、大小、控件位置等)也可能被改变以便适应目标语言。当然,本地化的概念比单单修改语言来得宽。使用同一语言的市场可能由于其它原因而有所不同。例如,可针对不同年龄组“本地化”软件应用程序。它可具有用于成人的一组语言和外观以及用于儿童和少年的另一组语言和外观。因此,本地化说明性地适应不同市场中的各种差异。
尽管如上所述,本地化涉及比仅翻译字符串多得多的事情;但为了便于阅读本文献,将把描述集中于该场景。以类似的方式,大多数示例从软件本地化领域取得,但本发明不限于软件本地化。类似地,尽管本发明的众多讨论关注于本地化产品,但本发明不这样限制并且也可应用于服务,因此为本说明起见,术语“产品”包括“服务”。在以往,不存在提供本地化的系统级尝试,相反使用个别组件执行本地化来解决个别问题。例如,可使用某些机器翻译技术来扩充本地化器以改进本地化的速度、正确性和一致性。然而,不同的本地化器可仅使用翻译存储器以便通过重用之前的翻译来加快再循环速率,从而比没有工具的情况以更快的速度提供更一致的结果。
而且,这常规地以离线方式完成。换言之,作者创建整个应用程序或组件的较大部分,且该组件和应用程序被提供给本地化器以便本地化。通常的过程是使本地化器与原作者的交互最小化或不存在。这使得将便于原始内容本地化的改变引入原始内容变得困难。实际上,在许多情况中,本地化直到整个产品已被开发且已作出将该产品推广到使用不同语言或以其它方式有所区别的不同市场中的战略性营销决策之后很久才会执行。在所有这些情况中,一般开发应用程序时很少进行考虑本地化或甚至优化本地化的预先工作。类似地,在开发/创作阶段,很少存在对开发相对易于本地化的应用程序或其它产品/服务的支持,即使创作易于本地化的产品或服务并不比创作不易于本地化的产品或服务更困难。
因此,传统上通过复杂、手动且劳动密集的过程将产品、服务和应用程序翻译成不同的语言或以其它方式本地化。这种软件产品本地化以及对产品相关内容的翻译的成本,代表了为进入新市场而必须克服的巨大障碍。这对小型到中型独立软件厂商或内容作者尤其如此。
本地化的问题也根据开发软件的特定地点而有大小上的变化。对在具有较大市场的地点创作软件的开发人员而言,将软件本地化到不同(可能较小)的市场的需求较小。然而,如果开发人员在具有较小市场的地点(且使用具有较小市场的语言)创作,则产品的整体生命力可能取决于将产品本地化到较大市场所使用的语言的能力。这要求制造商在本地化上花费极大量的资源。这通常减少了开发可用的资源。
与之前的本地化努力相关联的另一问题在于不存在利用各种其它本地化源的工作的良好方式。例如,各种各样的厂商针对各个市场本地化其产品。由不同厂商开发的类似应用程序针对相同的市场可能本地化相同或非常类似的字符串或软件。然而,目前不存在两者利用或共享彼此工作的便利方式。因此,本地化产品时存在大量重复工作。
而且,存在具有不同类型的资源管理器、资源格式和数据存储的众多不同的程序设计模型(诸如Win32、CLR和WEB脚本)。它们要求处理本地化的不同语法分析器和成套工具,这导致了复杂且成本高昂的过程以及本地化质量的不一致性。
发明概述
本发明提供用于处理数据的系统。
附图简述
图1是可在其中使用本发明的环境的一个说明性实施例。
图2是使用本发明各方面的运行时环境的更详细框图。
图3是示出图2中所示的其中翻译不可用的平台(或系统)的总体操作的流程图。
图4是示出图2中所示的匹配组件的操作的流程图。
图5是图2中所示的如在应用程序或其它内容的开发期间使用的本地化平台(或系统)的更详细框图。
图6是根据本发明的一个实施例示出可如何开发产品从而实现协助稍后本地化的技术的流程图。
说明性实施例的详细描述
本发明提供具有集成本地化平台、或尽管不是完全集成但也具有可与操作系统紧密操作的组件的本地化平台的操作系统。本发明的本地化平台也可被提供为操作系统所请求的服务。本发明利用本地化平台来本地化内容和软件。本发明也可在产品或服务的开发期间使用,实现允许更迅速且更有效地本地化产品或服务的实践。本说明将主要关于本地化过程期间的翻译进行,但本发明并不如此受限,且本地化也包括针对不同市场的各种其它调节。在更详细地描述本发明之前,将描述可在其中使用本发明的环境的一个实施例。
图1示出了可在其上实现本发明的合适的计算系统环境100的示例。计算系统环境100只是合适的计算环境的一个示例,并不旨在对本发明的使用范围或功能提出任何限制。也不应该把计算环境100解释为对示例性操作环境100中示出的任一组件或其组合有任何依赖性或要求。
本发明可使用众多其它通用或专用计算系统环境或配置来操作。适合在本发明中使用的公知的计算系统、环境和/或配置的示例包括,但不限于,个人计算机、服务器计算机、手持或膝上型设备、多处理器系统、基于微处理器的系统、机顶盒、可编程消费者电子产品、网络PC、小型机、大型机、电话系统、包含以上系统或设备中的任一个的分布式计算机环境等。
本发明可在诸如程序模块等由计算机执行的计算机可执行指令的通用语境中描述。一般而言,程序模块包括例程、程序、对象、组件、数据结构等,它们执行特定任务或实现特定抽象数据类型。本发明被设计成在分布式计算环境中实现,其中任务由通过通信网络链接的远程处理设备执行。在分布式计算环境中,程序模块位于包括存储器存储设备在内的本地和远程计算机存储介质中。
参考图1,用于实现本发明的示例性系统包括计算机110形式的通用计算设备。计算机110的组件可以包括,但不限于,处理单元120、系统存储器130和将包括系统存储器在内的各种系统组件耦合至处理单元120的系统总线121。系统总线121可以是若干类型的总线结构中的任一种,包括存储器总线或存储器控制器、外围总线和使用各种总线体系结构中的任一种的局部总线。作为示例,而非限制,这样的体系结构包括工业标准体系结构(ISA)总线、微通道体系结构(MCA)总线、扩展的ISA(EISA)总线、视频电子技术标准协会(VESA)局部总线和外围部件互连(PCI)总线(也被称为Mezzanine总线)。
计算机110通常包括各种计算机可读介质。计算机可读介质可以是能够被计算机110访问的任何可用介质,且包括易失性和非易失性介质、可移动和不可移动介质。作为示例,而非限制,计算机可读介质可以包括计算机存储介质和通信介质。计算机存储介质包括以任何方法或技术实现的用于存储诸如计算机可读指令、数据结构、程序模块或其它数据等信息的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括,但不限于,RAM、ROM、EEPROM、闪存或其它存储器技术;CD-ROM、数字多功能盘(DVD)或其它光盘存储;磁带盒、磁带、磁盘存储或其它磁性存储设备;或能用于存储所需信息且可以由计算机110访问的任何其它介质。通信介质通常具体化为诸如载波或其它传输机制等已调制数据信号中的计算机可读指令、数据结构、程序模块或其它数据,且包含任何信息传递介质。术语“已调制数据信号”指的是这样一种信号,其一个或多个特征以在信号中编码信息的方式被设定或更改。作为示例,而非限制,通信介质包括诸如有线网络或直接线连接的有线介质,以及诸如声学、RF、红外线和其它无线介质的无线介质。上述中任一个的组合也应包括在计算机可读介质的范围之内。
系统存储器130包括易失性或非易失性存储器形式的计算机存储介质,诸如只读存储器(ROM)131和随机存取存储器(RAM)132。基本输入/输出系统133(BIOS)包含有助于诸如启动时在计算机110中元件之间传递信息的基本例程,它通常存储在ROM131中。RAM132通常包含处理单元120可以立即访问和/或目前正在操作的数据和/或程序模块。作为示例,而非限制,图1示出了操作系统134、应用程序135、其它程序模块136和程序数据137。
计算机110也可以包括其它可移动/不可移动、易失性/非易失性计算机存储介质。仅作为示例,图1示出了从不可移动、非易失性磁介质中读取或向其写入的硬盘驱动器141,从可移动、非易失性磁盘152中读取或向其写入的磁盘驱动器151,以及从诸如CD ROM或其它光学介质等可移动、非易失性光盘156中读取或向其写入的光盘驱动器155。可以在示例性操作环境下使用的其它可移动/不可移动、易失性/非易失性计算机存储介质包括,但不限于,盒式磁带、闪存卡、数字多功能盘、数字录像带、固态RAM、固态ROM等。硬盘驱动器141通常由诸如接口140的不可移动存储器接口连接至系统总线121,磁盘驱动器151和光盘驱动器155通常由诸如接口150的可移动存储器接口连接至系统总线121。
以上描述和在图1中示出的驱动器及其相关联的计算机存储介质为计算机110提供了对计算机可读指令、数据结构、程序模块和其它数据的存储。例如,在图1中,硬盘驱动器141被示为存储操作系统144、应用程序145、其它程序模块146和程序数据147。注意,这些组件可以与操作系统134、应用程序135、其它程序模块136和程序数据137相同或不同。操作系统144、应用程序145、其它程序模块146和程序数据147在这里被标注了不同的标号是为了说明至少它们是不同的副本。
用户可以通过输入设备,诸如键盘162、麦克风163和诸如鼠标、跟踪球或触摸垫的定点设备161向计算机110输入命令和信息。其它输入设备(未示出)可以包括操纵杆、游戏垫、圆盘式卫星天线、扫描仪等。这些和其它输入设备通常通过耦合至系统总线的用户输入接口160连接至处理单元120,但也可以由诸如并行端口、游戏端口或通用串行总线(USB)等其它接口或总线结构连接。监视器191或其它类型的显示设备也经由诸如视频接口190的接口连接至系统总线121。除监视器以外,计算机也可以包括其它外围输出设备,诸如扬声器197和打印机196,它们可以通过输出外围接口195连接。
计算机110可使用至诸如远程计算机180的一个或多个远程计算机的逻辑连接在网络化环境下操作。远程计算机180可以是个人计算机、手持式设备、服务器、路由器、网络PC、对等设备或其它常见网络节点,且通常包括以上相对于计算机110描述的许多或所有元件。图1中所示逻辑连接包括局域网(LAN)171和广域网(WAN)173,但也可以包括其它网络。这样的连网环境在办公室、企业范围计算机网络、内联网和因特网中是常见的。
当在LAN连网环境中使用时,计算机110通过网络接口或适配器170连接至LAN171。当在WAN连网环境中使用时,计算机110通常包括调制解调器172或用于在诸如因特网等WAN173上建立通信的其它装置。调制解调器172可以是内置或外置的,它可以经由用户输入接口160或其它合适的机制连接至系统总线121。在网络化环境中,相对于计算机110所描述的程序模块或其部分可以存储在远程存储器存储设备中。作为示例,而非限制,图1示出了远程应用程序185驻留在远程计算机180上。可以理解,所示的网络连接是示例性的,且可以使用在计算机之间建立通信链路的其它手段。
图2示出了集成到图1所示的操作系统134内的本地化平台(或系统)200。本地化平台200被示为具有多个不同的存储器存储,且可以理解那些存储器存储可被具体化成图1中所示的各个存储设备中的任一个或不同的存储设备。系统200被示为与将经历本地化的应用程序202和通过数据收集组件205将各种翻译输入到系统200中的数据存储内的各个输入源204交互安排。
系统200本身包括资源管理器206、布局引擎208、翻译存储器(TM)匹配器210、下载管理器212、翻译存储器(TM)数据服务214、机器翻译(MT)系统216、过滤器218、证书系统220和多个不同的数据存储。图2中所示的数据存储包括应用程序规则数据存储222、本地存储224和私有存储226、术语库数据存储228和术语库翻译数据存储230、本体论存储(ontology store)232、翻译存储器234和公用UI元件数据存储236。一般而言,应用程序规则在资源中用来指定与应用程序相关的丰富数据,而过滤器用于确保贡献数据的实体(或输入源204)只能够修改它们所贡献的数据,且所添加的所有数据基于某些规则被过滤。当然,数据存储可按照任何期望的方式来不同地归组、合并或拆分。系统200的详细操作将在以下说明书中参考图2-6描述。然后,现在将进行对系统200的操作和图2中所示各项的简要讨论。
在运行时期间,资源管理器206将与应用程序202相关联的资源加载到高速缓存存储器207内(对内容或其它类型的可本地化数据可找到类似的场景)。资源管理器206也从应用程序202接收对资源的调用。作为响应,资源管理器206首先加载与平台200当前所选的地点相关联的语言的字符串。资源管理器206基于诸如可用性、置信度级别、用户设定等各种准则来决定要加载资源的版本。资源管理器206可决定调用TM匹配器210。为此,资源管理器206调用TM匹配器210来实现对指定资源的翻译(或本地化)。TM匹配器210也可具有预先填充的资源数据以防止资源加载时的运行时延迟;将使用相关信息来对预先填充的信息加上标签,这些相关信息诸如它是来自MT系统216还是TM匹配器210、其置信度源等。这将在以下更详细地讨论。如果TM匹配器210未返回资源的匹配,则资源管理器206通过资源回退(fallback)来级联,使得可使用不同、回退的语言来提供翻译。这也将在以下更详细地描述。而且,在一个实施例中,资源管理器206和TM匹配器210均具有回退。它们可彼此不同,尽管TM匹配器210的结果可影响资源管理器206,但资源管理器206可决定在不调用TM匹配器210的情况下回退。
由字符串的本地化所作出的改变并不常常对包含这些字符串的显示项强加改变。常见的示例包括对更多空间的需求(较长字符串)、对对话流的改变(自右至左语言对比自左至右语言)等。调节过程可在本地化时、呈现时或这两个时刻发生。最常见的情况是需要对对话中的项重新安排和重设大小,且该过程被称为自动布局。在创作过程期间提供的信息的数量和正确性将影响运行时产生的结果。
TM匹配器210位于各个翻译源和资源管理器206之间,它要求内容被匹配(或被翻译成另一语言或以其它方式本地化)。TM匹配器210搜索可用源(以及被应用程序202信任的那些源)来找到与之相关联的具有最高置信度得分的翻译。
再一次,将在以下参考图4描述TM匹配器210的操作的更详细讨论。然而,简要地,TM匹配器210访问应用程序规则数据存储222中与应用程序或内容202相关联的规则,以确保提供给资源管理器206的任何本地化不会使应用程序202误动作。TM匹配器210首先搜索本地数据存储224和私有数据存储226来查看是否已经存在本地化。在资源管理器206所作请求是先前曾经已作请求的情况中,本地数据存储224保存对已经本地化的资源的翻译或其它本地化。
TM匹配器210也调用TM数据服务214。TM数据服务214访问包含各种不同事物的翻译或其它本地化的翻译存储器234,这些事物诸如存储在存储236中的公用用户界面(UI)元件、以及存储在术语库228中的所定义的术语,并且本体论存储232提供应用程序202和相关联域的上下文信息。
如果在存储224或226本地上或存储234远程上均尚不存在本地化,则TM匹配器210可访问可任选地可用的机器翻译(MT)系统216(或多个可用MT系统之一)来对要本地化的内容执行机器翻译。TM匹配器210调用MT系统216的决定可基于用户偏好、翻译的可用性、可用翻译和MT提供的翻译的质量等。在一个实施例中,机器翻译系统216是任何市场上出售的MT系统,且说明性地仅当不存在与来自其它存储器源(诸如TM数据服务214和本地数据存储224和私有数据存储226)中任一个的更高置信度级别的匹配时用于翻译。MT系统216实质上可以是任何MT系统、或能够使用不同存储中的数据(例如,以往的翻译)来产生翻译的任何系统的事实,极大地增强了系统的可扩展性,因为TM匹配器210可容易地利用新的或不同的MT系统。
当然,MT系统可扩展性不是系统中的唯一可扩展性,而仅是一个示例。系统可扩展性的某些其它示例包括内容创作编辑器、语言语法分析器、第三方翻译存储器、社区(community)编辑器、开发创作环境、至web服务的连接等。这些领域等中的可扩展性由平台200中的API支持。
在任何情况中,TM匹配器210所调用的翻译资源中的每一个将说明性地向TM匹配器210提供指示与正请求的本地化相关联的置信度和重用速率的置信度得分(或翻译速率、再循环速率或其它类似的度量)。TM匹配器210然后可从提供与最高得分相关联的翻译的受信任源中选择本地化或翻译。如果翻译尚未被存储在本地存储224中,则下载管理器212然后将翻译下载到本地存储224。
在一个说明性实施例中,各种输入源204可将翻译输入提供给系统200中的各个存储器。例如,开发集成有本地化平台200的操作系统的厂商或软件制造商将说明性地向各个存储器提供受信任术语。然而,在一个实施例中,输入源204可包括普通社区和开发社区。普通社区允许使用系统200执行本地化服务的任何人通过数据收集组件205将所建议的内容本地化提供给适当的存储器。输入源204还可包括将存储仅由官方识别的开发人员提供的翻译的开发社区(与普通社区相对)。因此,可看到平台200允许本地化过程对大范围的社区参与开放、以及在一粒度级别上调节(例如,用户决定信任和不信任的对象)来满足用户的需求和期望。
此外,数据收集组件可动态(在设置、运行时、配置等期间)间歇地从各个输入源204收集新数据。新数据当然可以是新资源数据以及预先本地化的数据、或翻译存储器数据,来支持新应用程序、新域并执行对正在运行的操作系统的自整定(turning)。这包括系统的适应性和准确性。
然而,特定的应用程序开发人员、系统管理员或用户可能期望仅信任某些本地化内容。开发人员例如可能不希望信任来自普通社区或开发社区的本地化内容,而仅信任来自厂商和OS制造商的本地化内容。这使得开发人员或用户能设置平台200向不同源开放本地化任务的范围。这甚至可在逐个字符串的基础上设置。
在一个这样的实施例中,系统200包括证书系统220,它将证书附加于某些源提供的内容。在这样的情况中,应用程序202的开发人员可能期望只信任附加有证书的本地化内容。例如,开发人员和其它贡献者可能能够获取与其应用程序相关的、对相关于它们所处层次的其内容签名的权限。这意味着应用程序开发人员的证书将开发人员置于该特定应用程序的开发人员层次中,而所有其它贡献者位于“其它ISV”、社区或用户层次的下一层中。可相对贡献者的层次来信任证书。例如,给定的制造商可总是具有最高层次,但自该层向下用户可确定受信任层次以及层次内的受信任源。对任何给定应用程序202或任何用户可信任哪些本地化内容的指示可被存储在应用程序规则数据存储222中。这些证书有助于建立用于翻译的信任系统。
用户或开发人员也可选择分层受信任源。例如,基于本地化内容的来源,用户可确定是仅信任OS制造商,还是如果没有OS制造商可用则信任独立软件厂商翻译,还是仅当没有独立软件厂商翻译可用时则信任开发社区等。在一个说明性实施例中,默认建立这种分层结构,但用户可简单地接受或使用个人设定来覆盖。这样的设定可用与每一应用程序或运行该应用程序的单个机器相关联的应用程序规则来实现。
而且,应注意私有存储226类似于本地存储224,因为它驻留在用户的数据存储上。然而,本地存储224说明性地是系统范围的存储,而私有存储226是可用于指示对应于个别用户的包括用户仅为其自身私人使用而输入的数据的受信任本地化内容的存储。因此,每一个别用户可标识不同的受信任本地化内容。在私有存储226中向该特定用户标识该内容。这允许个别用户甚至比与各个应用程序相关联的过程更进一步地定制本地化过程。例如,如应用程序所需或所允许地,用户可对其自身的应用程序作出改变。用户也可与社区共享本地或私有存储。
此外,可锁定某些翻译使得它们不被修改。这对避免潜在的恶意翻译是至关重要的。例如,输入源之一可提供将术语“点击此处来格式化你的硬盘驱动器”的术语翻译成“点击此处来继续”的恶意翻译。
一旦TM匹配器210从资源管理器206获取了对请求的所需本地化,它就应用过滤器218和来自存储222的应用程序规则。过滤器218说明性地定义了未被置于使用任何给定语言的任何本地化内容中的术语。例如,某些用户可能期望过滤淫秽词语或任何其它应反对的内容。因此,在使用资源管理器206所请求的本地化内容之前,应用过滤器218。将注意到,应用过滤器(以及任何其它类型的确认)是本地化中的一个步骤,且可在过程中的多个步骤应用,诸如编辑、下载、使用等。
例如,确认一般在两个组件交换数据时发生,除非组件彼此完全信任,且用于通信的通道也是受信任的(诸如,反对暗中活动)。因此,例如,如果资源从受信任源下载,且资源包含有效签名,则不需进行其它确认(除确认签名以外)。如果源受到信任但文件未被签名,则评估用于传输信息的通道来确定它是否也受信任。例如,从因特网下载的未经签名的文件比用户从同一计算机中另一文件夹复制的未签名文件更可能被篡改。取决于若干因素,可决定进行快速功能确认,或可进行某些附加的内容确认,诸如检查冒犯性的词语或确保原始资源中的术语在目标资源上呈现(例如,“菜单”不被翻译成“文件夹”)。
应用程序设置/配置组件240在设置期间和设置配置后使用。在设置期间,应用程序202向本地资源存储224注册其资源。组件240说明性地展示了在应用程序尚未被本地化时允许用户将应用程序本地化成平台所支持的目标语言的用户界面。用户界面可使用户能显式地选择目标语言。按需本地化组件241将这些请求传递给资源管理器206,并且也可能将其传递给TM匹配器210。
传统应用程序242表示过去开发的且不了解平台200的应用程序。兼容性层243支持应用程序242所使用的现有资源接口,并将调用重定向到资源管理器206。
图3是根据本发明的一个实施例的更详细示出平台200的操作的流程图。在运行时期间,用户首先选择或启动应用程序202。这由图3中的框300指示。接着,在该实施例中,资源管理器206将与应用程序202相关联的所需资源加载到高速缓存存储器207内(或另一存储设备内,在该上下文中它们均被称为“高速缓存”)。这由框302指示。
在后台中,操作系统(具体地为本地化平台200)开始将高速缓存207中的资源翻译成所需的语言。为此,平台200实现与应用程序202相关联的应用程序规则222、以及与应用程序202或用户相关联的信任模型(即,受信任本地化源)(所应用的那一个)。资源管理器206为存储在高速缓存207中的资源调用TM匹配器210来获取其本地化值。在后台中对加载到高速缓存207内的资源的本地化由图3中的框304指示。
也应注意到,对应用程序填充本地化资源不需等到运行时。相反,它可在设置期间或另一时间完成。此外,本地化的某些部分可在运行时运行,而其它部分可在设置时或另一时间完成。例如,某些计算更密集或更耗时的任务可在设置期间或另一时间在后台执行,而较迅速的任务可在运行时执行。在又一实施例中,任务可(由用户)分配以在任何特定时间执行,且这些任务的状态也可被显示。
当资源在后台中本地化时,本地化值不仅被存储在高速缓存207中,而且也被置于本地存储224中。因此,在下一次启动应用程序202时,本地化过程将快得多,因为已经被本地化的所有这些资源值将已经位于本地存储224中。因此,TM匹配器210无需搜索TM数据服务214或使用机器翻译系统216来翻译这些值,因为系统将记住本地化。相反,它们可简单地从本地存储224中检索。在本地存储224中存储翻译由图3中的框306指示。而且,根据需要,整个翻译可使用下载管理器202被加载到本地存储224中。
当然,本发明也可检查更新。例如,一开始可能选择不理想的翻译,因为不能够定位更好的。但是后来,源204之一可将更好的翻译加载到存储器之一中。然后可周期性更新资源来适于此。
类似地,代码更新可使得之前本地化的资源无效。因此,在一个实施例中,代码改变触发对部分或所有资源的重新本地化。
当进行资源翻译时,布局引擎208标识将需要对应用程序的显示布局进行修改的某些翻译。此外,应用程序中源语言所使用的字体被映射为目标语言的字体。这可由布局引擎208或其它组件在运行时或之前的某一时刻完成。布局和字体映射由图3中的框308指示。
以此方式,操作系统中的本地化平台200继续本地化与应用程序202相关联并存储在高速缓存207中的资源。然而,可能发生应用程序对尚未在后台中本地化的资源作出请求。这样的请求由图3中的框310指示。资源过滤器206首先确定所请求的资源是否已被本地化并被储存在高速缓存207中。这由图3中的框312指示。如果是这样,则对所请求资源的本地化即从高速缓存存储器207返回到应用程序202。这由框314指示。
然而,如果资源尚未在后台中本地化并被存储在高速缓存207中,则资源管理器206向TM匹配器210请求对资源的本地化。TM匹配器210然后请求对来自它具有访问权的各个源的资源的本地化,并返回所请求资源的本地化。调用TM匹配器210由图3中的框316指示。TM匹配器210的操作将参考图4更详细地描述。
通过在后台中本地化高速缓存207中的资源,本地化平台200与以往的系统有显著不同。以往的系统使用资源来加载高速缓存。然而,这导致本地化时的显著缺点。如果本地化平台等待应用程序请求资源以便通过调用MT来在运行时将其本地化,则这可能导致应用程序202操作中不期望的延迟、或者结果可能受到可在这样的受限环境(性能要求可限制准确性)中使用的一组算法的限制。当前的机器翻译技术翻译一个句子约需一秒半。尽管本发明当然构想了运行时翻译和其它本地化,但使用机器翻译系统216在运行时翻译所有资源可能导致应用程序运行时的过度延迟。当然,如果之前已经本地化相当数量的资源并将其存储在本地存储224或私有存储226中,或者如果它们被存储在翻译存储器234中,且仅资源的相对较小部分需要由MT系统216翻译,则在后台中本地化高速缓存207就不如避免损害应用程序202的运行来得重要。
在任何情况中,TM匹配器210继续在后台中和/或在运行时本地化高速缓存207中的值。TM匹配器210继续,直到所有资源被本地化。
一般而言,TM匹配器210可针对一个或多个数据存储来工作。它可任选地与其它再循环引擎(诸如TM匹配器或MT系统)集成。它可任选地利用术语学及其翻译和关系(本体论)。它可使用元数据来决定存储中的哪些数据被假定为构成搜索空间(诸如域区、作者、批准状态或其它元数据)。它可考虑关于字符串本身的限制(应用程序规则/过滤器),并利用其来产生更好的匹配或更易于确认的匹配。当然,这些特征均是可任选的,并可添加更多特征,且这些特征可按需改变或从TM匹配器操作中删除。
图4是仅为示例起见,更详细地示出TM匹配器210的操作的一个实施例的流程图。资源管理器206首先向TM匹配器210提供对本地化的请求。这由图4中的框350指示。TM匹配器210然后获取当前上下文的信任模型信息。在一个实施例中,信任模型信息与数据本身一起存储,但也可被存储在私有存储226或任何其它源中,它标识给定目前的上下文可基于其确定受信任本地化源的任何其它上下文项目。该信任模型信息可包括对哪些源受信任的指示,或本地化项目要有效并被考虑所必须满足的要求列表。这也有助于更新场景。对代码的更新可改变资源必须满足的一组限制。这些改变要求对之前假定有效的资源的再次确认。这由图4中的框352指示。
TM匹配器210然后说明性地向所有受信任本地化源请求对资源的本地化,但可按给定顺序来进行。所检查的源的顺序和数目说明性地可根据环境(诸如本地化是在运行时、设置时、还是批处理时等进行)而有所变化。这由框354指示。换言之,在一个实施例中,TM匹配器210甚至不向不受信任源请求翻译。在这种情况中,假定用户不希望信任来自输入源204中普通社区或开发社区的翻译。TM匹配器210将仅请求源自受信任源的本地化内容,从而排除由普通社区和开发社区提供的所有本地化内容。当然,TM匹配器210将修改给定上下文将基于受信任源向其请求本地化结果的源。
响应于来自TM匹配器210的请求,被请求本地化内容的各个源返回其相关联的置信度得分。例如,翻译结果具有指示给定源语言输入翻译正确有多少可能性的相关联置信度级别是极为常见的。究竟使用哪种具体度量来指示与翻译或其它本地化相关联的置信度就本发明而言是不重要的。在说明性实施例中,来自所有源的得分或者使用同一度量,或使用彼此相关的度量,使得TM匹配器210可确定得分的相对大小。返回与翻译(或本地化内容)相关联的置信度得分由图4中的框356指示。
TM匹配器210然后从得分最高的受信任源获取本地化内容(例如,翻译)。这由框358指示。而且,TM匹配器210也可基于其它或附加准则选择本地化内容,诸如获取本地化内容所需的时间、本地化内容与目标市场的接近程度、确认准则或其它准则或准则的任何组合。此外,TM匹配器可从多个源检索本地化内容并将其组合。
一旦接收到翻译之后,TM匹配器210就应用过滤器218和其它确认来确保在给定应用程序和上下文以及用户所需的任何过滤器或确认准则的情况下本地化内容(或翻译)适当。应用过滤器和其它确认由图4中的框360指示。TM匹配器210也说明性地应用应用程序规则,使得针对给定资源检索的本地化内容不会抑制应用程序的操作、或引起不当操作、或使应用程序崩溃。也应注意到,可预先计算过滤和确认过程的一部分,而非在过程中此刻等待执行所有必要步骤。
一旦完成之后,TM匹配器210将结果返回给资源管理器206。这由框362指示。可以理解,该过程可在TM匹配器210被资源处理器206调用的任何时刻执行。因此,该过程将在高速缓存207中的资源在后台被本地化时执行,且将在应用程序202对尚未本地化的资源进行调用时执行。
在任一情况中,TM匹配器210可能发现不存在所需语言的可用翻译、或者所返回的置信度得分低于给定阈值,但必须使用机器翻译系统216来进行翻译。此时,在一个实施例中,资源管理器206得到通知,并且可请求TM匹配器210寻找回退语言的翻译。例如,如果目标语言是加泰隆尼亚语,则应用程序202可请求一资源的翻译,但没有加泰隆尼亚语的翻译可用。然而,资源管理器206可被配置成使西班牙语成为加泰隆尼亚语的第一回退语言。在这种情况中,TM匹配器210向资源管理器105返回指示没有可用的加泰隆尼亚语翻译,并且必须调用机器翻译系统216来获取这样的翻译(或者,可在TM匹配器210首次调用时调用MT系统216)。资源管理器206不承担与运行时机器翻译相关联的性能惩罚,而是仅请求TM匹配器210返回所请求资源的西班牙语翻译。如果西班牙语翻译可用,则它将由TM匹配器210返回。
当然,如上所述,回退地点/语言可被分层级联至任何所需程度,使得各个地点是各个其它地点的回退,其最终回退可以是源语言。因此,如果达到最终回退,则资源管理器206不提供所请求资源的翻译,而仅向应用程序202返回最终回退的所请求资源,这由平台确保使得应用程序不会由于平台而崩溃或丢失与用户的交互点。
用户也可说明性地设置回退分层结构如何工作。例如,用户可指示一起显示一组资源(例如,具有若干字符串的对话)可以一种语言(本地化至一个市场)示出对话的一部分,而以另一种语言(例如,以回退语言)示出对话的其它部分。其它用户可指示所显示的资源组将全部使用一种语言(或本地化至同一市场)。
也可注意到,用户不需启动应用程序来使其由平台200翻译。用户可仅选择应用程序或其它软件组件以便本地化,并且平台200可在后台对其本地化。例如,在一个实施例中,用户右击应用程序,并从菜单中选择“本地化”。平台200然后开始在后台本地化该应用程序,在本地存储中存储经本地化的内容。内容也可在后台被本地化。在一个实施例中,用户右击存储在文件系统中或服务器上的文档,并选择“本地化”。本地化平台将在后台对该文档本地化。这同样适用于从因特网下载的文档。
此外,当应用程序被安装时(或稍后),用户可选择多种不同语言以便安装。这些语言然后被加载到本地数据存储224。翻译可被存储在产品光盘或其它介质上。
图5是示出开发环境中平台200的各个组件的框图。大量项与图2中所示的那些类似,并被类似地标号。
图5示出协助平台380和开发组件382。开发组件382可以是任何所需的开发组件,诸如华盛顿州雷德蒙市微软公司提供的Visual Studio、或用于创作软件的任何其它所需的开发组件。协助平台380通过与平台200的一个或多个组件(诸如翻译平台381)交互来协助创作内容,以使开发人员能开发具有高再循环速率的产品,从而极大地降低了本地化成不同语言的成本。开发组件382和协助平台380两者都消费由平台200提供的服务。在这样做时,开发组件382和协助平台380协同其它组件将某些实践装入前端开发/创作过程,这有可能极大地增强本地化产品进入各个不同市场的能力、从而极大地增加开发投资的回报。
构建组件384使用本地化平台和/或协作平台380或可通过API访问本地化平台的任何其它内容创作工具所提供的信息和数据存储222中的应用程序规则,并建立应用程序202以及内容文档。
也可注意到,本发明对图5的讨论一般关于开发人员开发应用程序或作者创作内容来进行。然而,本系统可用于各种事物,而不考虑开发人员正在开发的或作者正在创作的软件或内容的类型。
根据本发明的一个实施例,存在开发人员或作者分别使用开发组件382来开发软件或使用协助平台380来开发内容的两种方式。第一种方式是使用其创作/开发环境中的特征,即通过平台应用程序编程接口(API)或其它类似的机制来确定是否已经开发了任何类似的内容或软件、并且是否将其存储在平台200的任何存储器中。第二种方式是开发人员仅开发软件或内容(原始或非原始)。在后一情况中,平台200仅用于向开发人员提供关于内容/软件的再循环速率(例如,在给定之前翻译的平台200中,可被翻译成不同语言的内容/软件的数量)的反馈,并提议可能会增加再循环速率的实践,以及提议可能抑制应用程序在本地化后误动作的实践。
根据第一实施例,内容作者通过协助平台380提供输入,协助平台380调用API或其它类似机制来创作资源。这由图6中的框500指示。协助平台380然后调用TM匹配器210来访问本地存储224,并返回已经具有翻译的所有类型的资源。这由图6中的框502指示。例如,开发人员平台可调用API,指示内容开发员希望创作资源。作为响应,平台380返回对平台200中所包含的且已经具有众多不同语言的翻译的所有不同类资源的指示。例如,假定来自平台的并由开发人员平台向用户呈现的结果为“菜单”或“出错消息”类。
通过API中所展示的功能,开发人员可选择“出错消息”类,并且协助平台380请求平台200的这种信息(它可能被存储在任何存储器中),然后返回平台200中所包含的所有不同类的出错消息。开发人员然后选择各类出错消息之一,并且平台380返回与该类相关联的所有具体出错消息。用户然后可简单地选择已经被创作、且针对其的本地化将已经高度有效(例如,因为它已经被翻译成各种不同语言或以其它方式本地化)的出错消息之一。开发人员选择可用的类型、类和具体资源由图6中的框504指示。
当然,也可理解,开发人员希望创作的具体、精确消息可能尚不可用。在这种情况中,用户可选择非常接近的消息并修改之。经修改的消息在众多情况中将有可能能够被相当有效地本地化,因为其大部分已经存在于本地化平台200中。在任何情况中,选择类似而非完全相同的消息将导致置信度惩罚。修改所选资源由图6中的框506指示。
这种类型的再循环向作者提供相对于在开发之后进行的现有技术本地化器的高度灵活性。例如,作者可改变软件字符串上可安置字符的数目,而传统本地化器受到的限制要多得多。而且,作者可完整地替换源语句(假定,保持关键术语),而传统本地化器可能不能这样做。考虑用于出错消息的语句:“文件{0}不存在。”作者可将其改为“找不到驱动器{1}上的文件{0}。”,而常规本地化器不能使用第一语句的翻译来作为第二语句的翻译,因为在没有访问代码的情况下,常规本地化器不能改变代码中关于可安置字符数目的底层假设。再循环不仅可关于消息中找到的文字进行,而且也可关于数据存储236中公用UI元件进行。重用现有的UI元件也增强了产品的再循环速率和本地化。
在开发期间,开发人员也可能希望提供本体论对本体论的存储232。本体论是对概念化的说明,并描述术语之间的关系,这允许内容和字符串的语义编码。本体论的一个实施例在美国专利No.6,253,170和6,098,033中描述。对本体论的另一描述在Gruber的A TRANSLATION APPROACH TO PORTABLE ONTOLOGIES,Knowledge Acquisition,5(2):199-220(1993)中描述。
一般而言,取决于上下文,单词被不同地翻译。具体地,单词或术语可取决于软件本地化的应用程序上下文而被不同地翻译。本地化平台200能访问描述术语之间关系的本体论数据存储282形式的语义数据。本体论一般通过与单词或术语一起输入语义信息来手动生成,或通过应用能够根据一单词或术语与其它单词或术语的接近程度来确定语义上下文的算法自动生成。数据存储282说明性地根据从资源格式中得到的结构和应用程序上下文来填充。本体论存储282中的这种语义编码允许平台200消除要翻译资源的语义的歧义,同时提供强有力的搜索能力,因为它也允许查询歧义消除。在图6中的框508翻译平台381确定是否要求消除歧义。如果是,则能够访问本体论存储232来获取消除歧义的语义信息,或者协助平台380可向作者请求消除歧义的语义信息,开发组件382可按照相同方式对开发人员做相同的事。这由图6中的框510指示。
当开发人员继续开发产品时,所创作的每一资源由平台200中的翻译平台381进行本地化速率估算。当估算所创作资源的本地化速率时,翻译平台381标识这些资源中已经被翻译(或以其它方式本地化)且驻留在平台200上某处的百分比。翻译平台381也考虑由系统216对资源进行机器翻译的需求,并考虑与平台200上所驻留的每一翻译相关联的置信度得分。这些项被组合以提供再循环速率,这是所创作的产品将多易于本地化到在不同语言下运行的市场的度量。提供运行的总再循环速率由图5中的框512指示。
可以注意到,可按照各种不同方式使用再循环速率。例如,如果开发人员仅开发整个系统的一个组件,则该组件在被允许投入使用之前可能需要满足某一再循环速率阈值。类似地,给定产品被引入其它市场的可能性,再循环速率也可指示产品价值。当然,也可以各种其它方式使用这种再循环速率。
也应注意到,系统可计算尚未在平台上开发的代码的再循环速率。可仅向平台200提供代码,TM匹配器210可整体地计算代码的再循环速率,并按需将其返回。这可在决定是否将产品推入新市场或甚至是否购买该产品中的权限时使用。
讨论现在关于其中开发人员不选择已经存在的资源的实施例进行。假定开发人员不希望从预先创作的资源中选择,则开发人员可创作原始资源或内容。这由图6中的框514指示。在这种情况中,开发人员仅创作内容的一部分,而协助平台380调用TM匹配器210来确定所创作内容的再循环速率。这由图6中的框516指示。TM匹配器210然后访问其本地化源,并返回新创作资源或内容的再循环速率。这由图6中的框518指示。
此时,平台200也可用于通知作者关于可能有助于作者改进正在开发产品的再循环速率的实践,或向作者警告一旦应用程序被本地化即可能使应用程序误动作的某些实践。返回这些提示由图6中的框520指示。在一个实施例中,即使产品源正在被重用,也提供这些提示。它正被重用的事实当然可能意味着已经执行了某些检查。
可能影响再循环速率或应用程序功能的实践的某些示例包括,例如写入长字符串。长字符串不仅更难以理解,而且更难以翻译。此外,软件提供了可能使应用程序崩溃的缓冲区溢出的风险。可能影响再循环速率或应用程序功能的其它实践包括,对特殊字符的使用或对不当或非正式文法的使用。使用适当文法结构导致翻译文本能力的极大增加。TM匹配器210由此提供关于代码的再循环速率的实时反馈以及实践提示。
而且,平台200可采取若干措施来减少所分析内容中这些问题区域的负面影响。这些措施将减少应用程序在进行本地化之后崩溃的可能性。平台200可向用户警告将采取这些补救措施。
关于本发明,应注意多个其它问题。首先,它说明性地提供热键自动化。翻译平台381说明性地跟踪在任何给定UI上显示的热键,以避免对给定UI上的同一热键分配两个功能。可调用翻译平台381来自动选择热键,或者它可仅被调用来检查以确保在给定UI上没有热键重复。为了能够选择或向用户提示热键,平台需要关于哪些项目同时可供用户使用的信息,因此它可避免重复。该信息与需要将该信息呈现到用户计算机上的信息紧密相关。
本发明也可提供运行时环境的确认和模拟。一旦开发人员创作了组件之后,开发人员就可调用开发平台382上的API,并且平台200将模拟需要本地化的运行时环境。运行时模拟允许开发人员在该环境被本地化之后,在显示屏上物理地看到显示。这允许开发人员按需扫描隐错(bug),测量显示的美学吸引力,并作出改变。
本发明因此增强了开发人员重用已开发内容的能力。这显著地增强了产品的再循环速率和本地化。
此外,本发明提供智能地组合来自操作系统、应用程序、社区和第三方以及来自机器翻译的经本地化内容的系统。资源管理器通过根据所需语言或其它文化或市场准则从各种源或数据存储(也被称为本地化内容组件)返回所请求资源来加载应用程序的资源。
此外,本地化平台可用于将经本地化的数据提供给各种请求实体,诸如应用程序、浏览器、搜索引擎、资源加载器、创作工具等。
而且,通过允许社区和普通社区提出本地化替换,本发明允许定义社区标准本地化、并且有时允许本地化到某些非常小的市场。例如,本发明允许用户针对斯瓦希里语来本地化英语应用程序。用户可将该本地化提供给平台200作为应用程序中各种资源的提议翻译。其它南非用户可选择信任该经本地化内容并用斯瓦希里语来下载它,或者自己对其本地化或修改本地化并将其自己的本地化提供给平台200。以此方式,应用程序可被本地化和修订并可在否则由于市场过小而不可用的市场中使用。
在一个实施例中,当输入源204提供数据时,数据收集组件205也记录元数据,诸如来源、用途、上下文信息(诸如资源版本)、置信度级别、属性、机器翻译提示等。也可收集并分类其它数据。而且,在一个实施例中,只有提供数据的输入源204才能改变该数据。
本发明不仅允许从社区下载翻译,而且也允许上传它们。此外,可以类似方式上传/下载源字符串。
也可注意到,第三方公司和社区可将新的源和翻译存储器添加到平台200。在一个说明性实施例中,平台200提供允许添加新的源术语及其元数据的网页或web服务。将说明性地认证用户,使得平台200可确定每一新添加项的来源。
此外,平台200将说明性地根据已发布方案(诸如XML方案)来工作,这允许用户一次上传若干字符串。再一次地,每一字符串的来源已知,因为每个操作均可需要认证。可说明性地与一个或多个翻译一起添加这样的源字符串。平台200对于术语数据库中的术语进行类似操作。
而且,根据一个实施例,社区能够向平台200中的源字符串提供翻译。当编辑翻译时,源中所呈现的元数据说明性地对“翻译者”可用,并在接受翻译之前实施该元数据。这可在简单的web界面上完成。如果用户选择与社区共享其翻译,则这些翻译可由他人使用。
本发明也说明性地允许社区来审阅平台200上已经存在的翻译。这允许翻译源来确定其翻译已被其它用户选择了多少次。这将允许社区中的输入源基于工作质量为其自己建立名称,而这推动输入源更好地工作以便在社区中变得更有价值。
根据本发明的又一实施例,当开发人员上传应用程序以便翻译时,向该开发人员提供允许终端用户下载该产品的其自己本地化版本的机会。如果启用该选项,则用户可登录平台200并挑选要使用的语言、引擎和翻译以便生成该产品的个人版本。
例如,用户可请求产品的“xyz”版本,同时使用社区(或特定用户)所批准的翻译存储器仅指定翻译引擎的精确匹配。可周期性地重复该过程来获取更高百分比的资源翻译。当新翻译可用时,平台200也可经由邮件或其它警告服务来向用户提供通知。
根据另一实施例,第三方可将新的源验证(或翻译)引擎添加给平台200。如上所述,开发员可向平台200提交一应用程序以确定应用程序是否可高度本地化。第三方可编写新引擎来对此进行支持。当第三方开发了满足执行源验证的准则的引擎时(例如,当其实现了所需接口时),第三方可将其上传给平台200,并对用户下载该引擎收费。与关于本发明描述的过程的其它部分一样,签名和认证说明性地用于确保引擎的源已知且用户已决定信任该源。
可用类似的方式添加翻译引擎,但它们可说明性地运行在实现平台200的服务器上,并且所采用的步骤确保翻译引擎不会破坏任何已经存在的翻译数据。此外,本发明执行全局化和语言检查来协助作者。本发明也允许社区来帮助作者。例如,可向社区请求某一域中对话框上的源字符串,在那里该源字符串可易于被本地化。这在一开始创作可高度本地化的内容时有助于作者。
也应注意到,尽管在所述实施例中向某些组件分配了某些功能,但不需如此。功能可由不同的组件来执行,因此某些组件可被删除、修改或添加,这均落入本发明的范围内。
因此可见,本发明根据对各种产品和各种输入源的本地化来固定本地化用数据。与每一应用程序或产品具有其自身不可被其它产品访问的翻译存储器不同,平台200按开发人员或用户所需使得该信息可用于不同产品随后的本地化。它也改变了本地化过程,使得终端用户能够访问更多的选项来定制(本地化)其计算机体验。也允许社区参与到该过程中。作为结果,本地化任务本身变得独立于产品,仅通过应用程序上下文链接至产品。如果信任模型和应用程序上下文允许,其它应用程序可在任何时间访问经本地化的字符串。
尽管已参考特定实施例描述了本发明,但本领域的技术人员可认识到,可对形式和细节作出改变,而不背离本发明的精神和范围。

Claims (14)

1.一种可用于耦合至操作系统的本地化平台系统,包括:
多个本地化组件,提供被本地化到一个或多个不同市场的经本地化数据;
本体论存储,存储本体论信息;以及
翻译匹配组件,被配置成接收对应于要被本地化的输入数据的本地化请求、基于所述本地化请求访问所述多个本地化组件和所述本体论存储来消除所述要被本地化的输入数据的歧义、以及基于预定准则从所述多个本地化组件中的一个或多个中选择和输出经本地化数据,所述输入数据包括与要被本地化的应用程序相关联的资源,
其中,所述本地化平台系统配置成提供关于资源的再循环速率的反馈,所述再循环速率是所创作的应用程序将怎样容易地被本地化到在不同语言下运行的所述一个或多个不同市场的度量。
2.如权利要求1所述的本地化平台系统,其特征在于,所述翻译匹配组件被配置成从创作组件接收所述输入数据。
3.如权利要求1所述的本地化平台系统,其特征在于,所述翻译匹配组件被配置成从耦合至所述应用程序的资源管理器接收所述输入数据。
4.如权利要求1所述的本地化平台系统,其特征在于,所述本地化组件、所述本体论存储和所述翻译匹配组件与操作系统集成为一体。
5.如权利要求1所述的本地化平台系统,其特征在于,给定所述输入数据,所述本地化组件提供与经本地化数据相关联的置信度得分,且所述翻译匹配组件被配置成基于所述置信度得分选择所述经本地化数据。
6.如权利要求1所述的本地化平台系统,其特征在于,所述本地化组件包括:
多个数据存储,存储被本地化到一个或多个不同市场的数据。
7.如权利要求1所述的本地化平台系统,其特征在于,所述本地化组件包括:
至少一个机器翻译系统。
8.如权利要求1所述的本地化平台系统,其特征在于,所述本地化平台系统被配置成将本地化作为服务提供给一分开的操作系统。
9.一种本地化数据的方法,包括:
接收对应于要被本地化的数据的请求,所述数据包括与要被本地化的应用程序相关联的资源;
基于所述请求,访问提供经本地化数据的多个本地化组件;
基于所述请求,访问存储本体论信息的本体论存储;
基于预定准则从所述多个本地化组件的一个或多个中选择经本地化数据,其中所述选择包括基于所述本体论存储中的本体论数据消除所述要被本地化的数据的歧义;
提供关于资源的再循环速率的反馈,所述再循环速率是所创作的应用程序将怎样容易地被本地化到在不同语言下运行的所述一个或多个不同市场的度量。
10.如权利要求9所述的方法,其特征在于,接收包括:
从创作组件接收所述请求。
11.如权利要求9所述的方法,其特征在于,接收包括:
从资源管理器接收所述请求,所述资源管理器被配置成基于来自所述应用程序的一请求接收要被本地化的数据。
12.如权利要求9所述的方法,其特征在于,所述接收请求、访问多个本地化组件、访问本体论存储以及选择经本地化数据的步骤由操作系统执行。
13.如权利要求9所述的方法,其特征在于,所述接收请求、访问多个本地化组件、访问本体论存储以及选择经本地化数据的步骤由一服务响应于来自操作系统的调用而执行。
14.如权利要求9所述的方法,其特征在于,给定所述要被本地化的数据,所述本地化组件提供与经本地化数据相关联的置信度得分,且选择包括:
基于所述置信度得分选择所述经本地化数据。
CN2006800076112A 2005-03-08 2006-03-08 资源创作合并本体论 Expired - Fee Related CN101542428B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US65961605P 2005-03-08 2005-03-08
US60/659,616 2005-03-08
US11/118,544 2005-04-29
US11/118,544 US7653528B2 (en) 2005-03-08 2005-04-29 Resource authoring incorporating ontology
PCT/US2006/012901 WO2006132700A2 (en) 2005-03-08 2006-03-08 Resource authoring incorporating ontology

Publications (2)

Publication Number Publication Date
CN101542428A CN101542428A (zh) 2009-09-23
CN101542428B true CN101542428B (zh) 2013-05-01

Family

ID=37195231

Family Applications (4)

Application Number Title Priority Date Filing Date
CN2006100596405A Expired - Fee Related CN1855040B (zh) 2005-03-08 2006-03-07 带有可重用得分和建议的可重用数据的资源创作
CNB200610059641XA Expired - Fee Related CN100535854C (zh) 2005-03-08 2006-03-07 实现应用程序本地化规则的创作
CN200610059634A Expired - Fee Related CN100589075C (zh) 2005-03-08 2006-03-07 用于创建、储存、管理和消费文化专用数据的方法和系统
CN2006800076112A Expired - Fee Related CN101542428B (zh) 2005-03-08 2006-03-08 资源创作合并本体论

Family Applications Before (3)

Application Number Title Priority Date Filing Date
CN2006100596405A Expired - Fee Related CN1855040B (zh) 2005-03-08 2006-03-07 带有可重用得分和建议的可重用数据的资源创作
CNB200610059641XA Expired - Fee Related CN100535854C (zh) 2005-03-08 2006-03-07 实现应用程序本地化规则的创作
CN200610059634A Expired - Fee Related CN100589075C (zh) 2005-03-08 2006-03-07 用于创建、储存、管理和消费文化专用数据的方法和系统

Country Status (3)

Country Link
US (1) US7698126B2 (zh)
CN (4) CN1855040B (zh)
ZA (1) ZA200601470B (zh)

Families Citing this family (50)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7904595B2 (en) 2001-01-18 2011-03-08 Sdl International America Incorporated Globalization management system and method therefor
US8219907B2 (en) * 2005-03-08 2012-07-10 Microsoft Corporation Resource authoring with re-usability score and suggested re-usable data
US20060206797A1 (en) * 2005-03-08 2006-09-14 Microsoft Corporation Authorizing implementing application localization rules
US7552053B2 (en) * 2005-08-22 2009-06-23 International Business Machines Corporation Techniques for aiding speech-to-speech translation
US8265924B1 (en) * 2005-10-06 2012-09-11 Teradata Us, Inc. Multiple language data structure translation and management of a plurality of languages
WO2007070558A2 (en) * 2005-12-12 2007-06-21 Meadan, Inc. Language translation using a hybrid network of human and machine translators
US7853555B2 (en) * 2006-04-19 2010-12-14 Raytheon Company Enhancing multilingual data querying
US8533746B2 (en) * 2006-11-01 2013-09-10 Microsoft Corporation Health integration platform API
US20080104104A1 (en) * 2006-11-01 2008-05-01 Microsoft Corporation Health integration platform schema
US8316227B2 (en) 2006-11-01 2012-11-20 Microsoft Corporation Health integration platform protocol
US8417537B2 (en) * 2006-11-01 2013-04-09 Microsoft Corporation Extensible and localizable health-related dictionary
US8650553B2 (en) * 2007-10-25 2014-02-11 Disney Enterprises, Inc. System and method for localizing assets using automatic generation of alerts
US8521753B2 (en) * 2008-03-03 2013-08-27 Microsoft Corporation Unified formats for resources and repositories for managing localization
US8086692B2 (en) * 2008-08-27 2011-12-27 Satyam Computer Services Limited System and method for efficient delivery in a multi-source, multi destination network
US20110289424A1 (en) * 2010-05-21 2011-11-24 Microsoft Corporation Secure application of custom resources in multi-tier systems
US8799140B1 (en) * 2010-11-22 2014-08-05 Bloomberg Finance L.P. Fixed income market model system
US10657540B2 (en) 2011-01-29 2020-05-19 Sdl Netherlands B.V. Systems, methods, and media for web content management
US9547626B2 (en) 2011-01-29 2017-01-17 Sdl Plc Systems, methods, and media for managing ambient adaptability of web applications and web services
US10580015B2 (en) 2011-02-25 2020-03-03 Sdl Netherlands B.V. Systems, methods, and media for executing and optimizing online marketing initiatives
US9015030B2 (en) * 2011-04-15 2015-04-21 International Business Machines Corporation Translating prompt and user input
US8635233B2 (en) 2011-06-27 2014-01-21 Microsoft Corporation Techniques to automatically build a language dependency graph for localizable resources
US9430449B2 (en) * 2012-03-30 2016-08-30 Sdl Plc Systems, methods, and media for managing editable previews of webpages
US9773270B2 (en) 2012-05-11 2017-09-26 Fredhopper B.V. Method and system for recommending products based on a ranking cocktail
US10949230B2 (en) 2012-05-31 2021-03-16 Microsoft Technology Licensing, Llc Language lists for resource selection based on language text direction
US9639676B2 (en) 2012-05-31 2017-05-02 Microsoft Technology Licensing, Llc Login interface selection for computing environment user login
US20140006004A1 (en) * 2012-07-02 2014-01-02 Microsoft Corporation Generating localized user interfaces
US9727350B2 (en) * 2012-07-26 2017-08-08 Entit Software Llc Localizing computer program code
US11308528B2 (en) 2012-09-14 2022-04-19 Sdl Netherlands B.V. Blueprinting of multimedia assets
US10452740B2 (en) 2012-09-14 2019-10-22 Sdl Netherlands B.V. External content libraries
US11386186B2 (en) 2012-09-14 2022-07-12 Sdl Netherlands B.V. External content library connector systems and methods
US9778917B2 (en) * 2012-09-26 2017-10-03 International Business Machines Corporation Dynamically building subsections of locale objects at run-time
US9116680B2 (en) 2012-09-26 2015-08-25 International Business Machines Corporation Dynamically building locale objects or subsections of locale objects based on historical data
US9141352B2 (en) 2012-09-26 2015-09-22 International Business Machines Corporation Dynamically building locale objects at run-time
CN103019736A (zh) * 2012-12-26 2013-04-03 广东欧珀移动通信有限公司 一种语言文件生成方法及装置
US20140195220A1 (en) * 2013-01-07 2014-07-10 Unisys Corporation Method and system for internationalization of a computing device
US20140280957A1 (en) * 2013-03-15 2014-09-18 Silicon Graphics International Corp. Dynamic Assembly and Dispatch of Controlling Software
US9323514B2 (en) * 2013-05-30 2016-04-26 Microsoft Technology Licensing, Llc Resource package indexing
CN103744841A (zh) * 2013-12-23 2014-04-23 武汉传神信息技术有限公司 一种信息碎片的翻译方法及系统
US9262407B1 (en) 2014-09-19 2016-02-16 International Business Machines Corporation Optimization of a multi-language user interface layout via reverse pseudo-translation
US10614167B2 (en) 2015-10-30 2020-04-07 Sdl Plc Translation review workflow systems and methods
CN105653447B (zh) * 2015-12-24 2018-07-31 小米科技有限责任公司 系统配置的处理方法及装置
DE102017103830A1 (de) 2016-02-29 2017-08-31 Fanuc Corporation Maschinensystem, maschinensteuercomputer, basissoftwareanwendung, computerlesbares speichermedium, und maschinensteuerungsverfahren für die interkommunikation mit maschinen
CN107797860A (zh) * 2017-11-21 2018-03-13 上海望友信息科技有限公司 任务自动处理方法及系统、客户端、服务器及存储介质
US11048885B2 (en) * 2018-09-25 2021-06-29 International Business Machines Corporation Cognitive translation service integrated with context-sensitive derivations for determining program-integrated information relationships
US11126644B2 (en) * 2019-01-31 2021-09-21 Salesforce.Com, Inc. Automatic discovery of locations of translated text in localized applications
US11630681B2 (en) * 2019-09-10 2023-04-18 Microsoft Technology Licensing, Llc Integrated system for localization of resources tailored for translations by setting a flag
US11307838B2 (en) 2020-05-21 2022-04-19 Microsoft Technology Licensing, Llc De-duplication of localized resources
CN112232091B (zh) * 2020-10-14 2021-11-16 文思海辉智科科技有限公司 一种内容匹配的方法及装置、可读存储介质
CN113010244B (zh) * 2021-02-24 2023-05-26 上海莉莉丝网络科技有限公司 语言资源数据库、语言资源管理平台及语言资源管理系统
CN113935339B (zh) * 2021-08-31 2023-05-23 北京百度网讯科技有限公司 翻译方法、装置、电子设备及存储介质

Family Cites Families (42)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE69430421T2 (de) * 1994-01-14 2003-03-06 Sun Microsystems, Inc. Verfahren und Gerät zur Automatisierung der Umgebungsanpassung von Rechnerprogrammen
US5678039A (en) 1994-09-30 1997-10-14 Borland International, Inc. System and methods for translating software into localized versions
US5694559A (en) * 1995-03-07 1997-12-02 Microsoft Corporation On-line help method and system utilizing free text query
US5918222A (en) * 1995-03-17 1999-06-29 Kabushiki Kaisha Toshiba Information disclosing apparatus and multi-modal information input/output system
US5903859A (en) 1996-03-27 1999-05-11 Dell Usa, L.P. Dynamic multi-lingual software module system
AU3477397A (en) * 1996-06-04 1998-01-05 Paul J. Werbos 3-brain architecture for an intelligent decision and control system
US7165020B2 (en) * 1998-05-29 2007-01-16 Citicorp Development Center, Inc. Multi-language phrase editor and method thereof
US6151022A (en) * 1997-12-01 2000-11-21 Microsoft Corporation Method and apparatus for statically testing visual resources
US6092036A (en) 1998-06-02 2000-07-18 Davox Corporation Multi-lingual data processing system and system and method for translating text used in computer software utilizing an embedded translator
AU773414B2 (en) 1998-11-03 2004-05-27 Throwright Llc Elbow brace for teaching baseball throwing
US6275978B1 (en) * 1998-11-04 2001-08-14 Agilent Technologies, Inc. System and method for term localization differentiation using a resource bundle generator
US6519571B1 (en) * 1999-05-27 2003-02-11 Accenture Llp Dynamic customer profile management
US6530039B1 (en) * 1999-06-14 2003-03-04 Microsoft Corporation Porting engine for testing of multi-lingual software
US6321190B1 (en) 1999-06-28 2001-11-20 Avaya Technologies Corp. Infrastructure for developing application-independent language modules for language-independent applications
US6425123B1 (en) * 1999-06-29 2002-07-23 International Business Machines Corporation System, method, and program for testing translatability of software by using english multi-byte transliteration creating double-wide characters
US6275790B1 (en) 1999-07-28 2001-08-14 International Business Machines Corporation Introspective editor system, program, and method for software translation
US6490547B1 (en) * 1999-12-07 2002-12-03 International Business Machines Corporation Just in time localization
US6865716B1 (en) * 2000-05-05 2005-03-08 Aspect Communication Corporation Method and apparatus for dynamic localization of documents
US7865358B2 (en) 2000-06-26 2011-01-04 Oracle International Corporation Multi-user functionality for converting data from a first form to a second form
AU2001296823A1 (en) * 2000-10-13 2002-04-22 Trados Corporation Client-driven workflow environment
EP1202168A3 (en) * 2000-10-30 2006-08-23 Microsoft Corporation System and method for dynamically veryfying the compatibility of a user interface resource
US6993568B1 (en) * 2000-11-01 2006-01-31 Microsoft Corporation System and method for providing language localization for server-based applications with scripts
US6983238B2 (en) * 2001-02-07 2006-01-03 American International Group, Inc. Methods and apparatus for globalizing software
US7340389B2 (en) * 2001-02-16 2008-03-04 Microsoft Corporation Multilanguage UI with localized resources
US20020143523A1 (en) * 2001-03-30 2002-10-03 Lakshmi Balaji System and method for providing a file in multiple languages
US6938259B2 (en) * 2001-10-02 2005-08-30 Hewlett-Packard Development Company, L.P. API to enforce internationalization
EP1315084A1 (en) 2001-11-27 2003-05-28 Sun Microsystems, Inc. Method and apparatus for localizing software
US20030154071A1 (en) 2002-02-11 2003-08-14 Shreve Gregory M. Process for the document management and computer-assisted translation of documents utilizing document corpora constructed by intelligent agents
CA2475857C (en) 2002-03-11 2008-12-23 University Of Southern California Named entity translation
US7110937B1 (en) 2002-06-20 2006-09-19 Siebel Systems, Inc. Translation leveraging
US7194413B2 (en) * 2002-07-31 2007-03-20 Deere & Company Method of providing localized information from a single global transformation source
EP1576586A4 (en) 2002-11-22 2006-02-15 Transclick Inc LANGUAGE TRANSLATION SYSTEM AND METHOD
US7509251B2 (en) 2002-12-23 2009-03-24 International Business Machines Corporation Mock translating software applications at runtime
JP2004362249A (ja) * 2003-06-04 2004-12-24 Advanced Telecommunication Research Institute International 翻訳知識最適化装置、翻訳知識最適化のためのコンピュータプログラム、コンピュータ及び記憶媒体
US7533372B2 (en) * 2003-08-05 2009-05-12 Microsoft Corporation Cross language migration
US7437704B2 (en) 2003-08-28 2008-10-14 Ines Antje Dahne-Steuber Real-time generation of software translation
JP3919771B2 (ja) * 2003-09-09 2007-05-30 株式会社国際電気通信基礎技術研究所 機械翻訳システム、その制御装置、及びコンピュータプログラム
US7283950B2 (en) * 2003-10-06 2007-10-16 Microsoft Corporation System and method for translating from a source language to at least one target language utilizing a community of contributors
US7318020B1 (en) 2003-10-08 2008-01-08 Microsoft Corporation Methods and systems for external localization
US7814101B2 (en) 2003-10-30 2010-10-12 Microsoft Corporation Term database extension for label system
US20060173671A1 (en) * 2005-02-02 2006-08-03 Kabushiki Kaisha Toshiba Localizing tool for client software
US7774195B2 (en) 2005-03-08 2010-08-10 Microsoft Corporation Method and system for creating, storing, managing and consuming culture specific data

Also Published As

Publication number Publication date
ZA200601470B (en) 2008-03-26
CN1855039A (zh) 2006-11-01
CN100589075C (zh) 2010-02-10
CN1855040A (zh) 2006-11-01
CN101542428A (zh) 2009-09-23
CN1855040B (zh) 2010-09-29
US20060206877A1 (en) 2006-09-14
US7698126B2 (en) 2010-04-13
CN1862489A (zh) 2006-11-15
CN100535854C (zh) 2009-09-02

Similar Documents

Publication Publication Date Title
CN101542428B (zh) 资源创作合并本体论
KR101311074B1 (ko) 문화 특징적인 데이터를 생성, 저장, 관리 및 소비하기 위한 방법 및 시스템
KR101203327B1 (ko) 재사용 가능성 점수 및 제안된 재사용 가능한 데이터에 의한 자원 작성
Johnson Expert one-on-one J2EE design and development
AU2006255783B2 (en) Resource authoring incorporating ontology
JP5063014B2 (ja) アプリケーションローカライゼーション規則を実装するオーサリング
Fonseca Cacho et al. Reproducible research in document analysis and recognition
US20200274856A1 (en) Isolated data processing modules
KR20220035610A (ko) 파이프라인 기반의 기계 학습 통합 플랫폼 제공 시스템 및 방법
Paulheim Seamlessly integrated, but loosely coupled: building user interfaces from heterogeneous components
West Professional Sitecore Development
Hester et al. Automating Microsoft Windows Server 2008 R2 with Windows Powershell 2.0

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
ASS Succession or assignment of patent right

Owner name: MICROSOFT TECHNOLOGY LICENSING LLC

Free format text: FORMER OWNER: MICROSOFT CORP.

Effective date: 20150505

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20150505

Address after: Washington State

Patentee after: MICROSOFT TECHNOLOGY LICENSING, LLC

Address before: Washington State

Patentee before: Microsoft Corp.

CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20130501