CN100589075C - 用于创建、储存、管理和消费文化专用数据的方法和系统 - Google Patents

用于创建、储存、管理和消费文化专用数据的方法和系统 Download PDF

Info

Publication number
CN100589075C
CN100589075C CN200610059634A CN200610059634A CN100589075C CN 100589075 C CN100589075 C CN 100589075C CN 200610059634 A CN200610059634 A CN 200610059634A CN 200610059634 A CN200610059634 A CN 200610059634A CN 100589075 C CN100589075 C CN 100589075C
Authority
CN
China
Prior art keywords
localization
assembly
data
translation
localized content
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
CN200610059634A
Other languages
English (en)
Other versions
CN1855039A (zh
Inventor
B·科尔梅尔
J·A·尼尔森
J·M·玛蒂
J·D·班尼特
L·A·布朗奈尔
M·埃尔-佳梅尔
S·叶
W·吴
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
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of CN1855039A publication Critical patent/CN1855039A/zh
Application granted granted Critical
Publication of CN100589075C publication Critical patent/CN100589075C/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

本发明提供了一种用于处理数据的系统。

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内的元件之间传输信息的基本例程,通常储存在ROM 131中。RAM 132通常包含处理单元120立即可访问或者当前正在操作的数据和/或程序模块。作为示例而非局限,图1示出了操作系统134、应用程序135、其它程序模块136和程序数据137。
计算机110也可包括其它可移动/不可移动、易失性/非易失性计算机存储介质。仅作示例,图1示出了对不可移动、非易失性磁介质进行读写的硬盘驱动器141、对可移动、非易失性磁盘152进行读写的磁盘驱动器151以及对可移动、非易失性光盘156,如CD ROM或其它光介质进行读写的光盘驱动器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连接至LAN 171。当在WAN网络环境中使用时,计算机110通常包括调制解调器172,或用于通过WAN 173,如因特网建立通信的其它装置。调制解调器172可以是内置或外置的,通过用户输入接口160或其它适当的机制连接至系统总线121。在网络化环境中,相对于计算机110所描述的程序模块或其部分可储存在远程存储器存储设备中。作为示例,而非局限,图1示出了远程应用程序185驻留在远程计算机180上。可以理解,示出的网络连接是示例性的,也可以使用在计算机之间建立通信链路的其它手段。
图2示出了被集成到图1所示的操作系统134中的本地化平台(或系统)。本地化平台200被示出为具有许多不通的存储器存储,且可以理解,这些存储器存储可以用图1中所示的各种存储设备的任一种来实施,或以不同的存储设备来实施。系统200被示出为与经受本地化的应用程序202和各种输入源204交互式地安排,输入源204通过数据收集组件205将各种翻译输入到系统200中的数据存储。
系统200本身包括资源管理器206、布局引擎208、翻译存储器(TM)匹配器210、下载管理器212、翻译存储器(TM)数据服务214、机器翻译(MT)系统216、过滤器214、证书系统22以及多个不同的数据存储。图2所示的数据存储包括应用程序规则数据存储222、本地和专用存储224和226、术语库数据存储228以及术语库翻译数据存储230、本体知识存储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级联地通过资源后援,使得可以用不同的、后援的语言来提供翻译。这也可在下文中更详细描述。同样,在一个实施例中,资源管理器206和TM匹配器210可具有后援。它们可以彼此不同,且尽管TM匹配器210的结果可影响资源管理器206,但资源管理器206可决定使用后援而无需调用TM匹配器210。
由本地化对字符串作出的改变迫使包含这些字符串的显示项目上的改变并非是不常见的。常见的例子包括对更多空间(较长的字符串)、对对话流程(从左到右语言与从右到左语言相比)的改变等的需求。调整过程可在本地化、呈现时或两者同时发生。最常见的情况是需要对话框中的项目的重新排列和调整大小,且该过程被称为自动布局。在创作过程期间提供的信息的量和正确性将会影响运行时产生的结果。
TM匹配器210位于各种翻译源和资源管理器206之间,它请求匹配内容(或将内容翻译成另一语言或另外地本地化)。TM匹配器210搜索可用源(以及应用程序202所信任的源)来找出具有与其相关联的最高置信度得分的翻译。
对TM匹配器210的操作的更详细讨论也在下文中参考图4来陈述。然而,简言之,TM匹配器210访问应用程序规则数据存储222中与应用程序或内容202相关联的规则,以确保提供回给资源管理器206的任何本地化都不会导致应用程序202的故障。TM匹配器210首先搜索本地数据存储224和专用数据存储226,来查看本地化是否已经存在。如果由资源管理器206作出的请求是先前所作出过的请求,本地数据存储224持有已被本地化的资源的翻译或其它本地化。
TM匹配器210也调用TM数据服务214。TM数据服务214访问包含各种各样不同事物,诸如储存在存储236中的公共用户界面(UI)元素以及储存在术语库228中的已定义术语的翻译或其它本地化的翻译存储器234,且本体知识存储232为应用程序202和相关联的域提供上下文信息。
如果本地化已经在存储224或226上本地存在,或者远程地在存储234上存在,则TM匹配器210可访问可任选地可用的机器翻译(MT)系统216(或多个可用MT系统中的一个),以对要本地化的内容执行机器翻译。TM匹配器210调用MT系统216的决策可基于用户偏好、翻译的可用性、可用翻译的质量以及MT提供的翻译等。在一个实施例中,机器翻译系统216是任何市场上可购买的MT系统,且说明性地仅用于在其它存储器源(诸如TM数据服务214和本地及专用数据存储224和226)的任一个中没有具有更高置信度级别的任何匹配的情况下的翻译。MT系统216能够实际上是任何MT系统或能够使用不同存储中的数据(例如,先前的翻译)来产生翻译的任何系统的这一事实很大程度上增强了系统的可扩展性,因为新的或不同的MT系统可被TM匹配器210容易地使用。
当然,MT系统可扩展性不是系统的唯一可扩展性,而仅是一个示例。系统可扩展性的某些其它示例包括内容创作编辑器、语言语法分析器、第三方翻译存储器、团体编辑器、开发创作环境、到web服务的连接等。这些和其它领域中的可扩展性可由平台200中的API支持。
在任何情况下,由TM匹配器210访问的每一翻译资源将说明性地向TM匹配器210提供指示与所请求的本地化相关联的置信度或重用率的置信度得分(或翻译率、再循环率或其它类似的度量)。TM匹配器210然后可从可信源中选择提供与最高得分相关联的翻译的本地化或翻译。如果在本地存储224中尚无翻译,则翻译然后由下载管理器212下载到本地存储224。
在一个说明性实施例中,各种各样的输入源204可向系统200中的各种存储器提供翻译输入。例如,开发结合本地化平台200的操作系统的厂商或软件制造商可说明性地向各种存储器提供可信术语。然而,在一个实施例中,输入源204可包括自由团体以及开发团体。自由团体允许使用系统200来执行本地化服务的任何人通过数据收集组件205向一个内容提供建议的本地化。输入源204也可包括开发团体,开发团体(与自由团体相比)储存仅由官方地被如此承认的开发者提供的翻译。由此,可以看到,平台200允许本地化过程对非常大的规模上所涉及的团体开放,以及在某一粒度级别上调整(例如,用户决定信任什么和不信任什么)来满足用户的需求和期望。
此外,数据收集组件可动态地(在设置、运行时、配置等过程中)、间歇地从各种输入源204收集新数据。新数据当然可以是新资源数据以及预先本地化的数据或翻译存储器数据,以支持新应用程序、新领域,并执行对运行的操作系统的自我转变。这包含了系统的自适应性和准确性。
然而,特定的应用程序开发者、系统管理员或用户可能期望仅信任某些本地化内容。例如,开发者可能不希望信任来自自由团体或开发团体的本地化内容,而仅信任来自厂商或OS制造商的内容。这允许开发者或用户设置平台200向不同源开放本地化任务的程度。这甚至可以在逐字符串的基础上设置。
在一个这样的实施例中,系统200包括将证书附加到由某些源提供的内容的证书系统220。在该情况下,应用程序202的开发者可能期望仅附加了证书的本地化内容是可信的。例如,开发者和其它贡献者可能能够获得签署相对于他们所在的层、与其应用程序有关的内容的权限。这意味着应用程序开发者的证书将该开发者置于用于该特定应用程序的层中,而所有其它贡献者在下一层,在“其它ISV”、团体或用户层中。证书可以相对于贡献者的层而言是可信的。例如,给定制造商可能总是具有最高层,但是从该层往下,用户可确定可信层以及层内的可信源。对任何给定应用程序202或任何用户要信任哪一本地化内容的指示可被储存在应用程序规则数据存储222中。证书有助于建立用于翻详的信任系统。
用户或开发者也可选择分层可信源。例如,基于本地化内容的起源,用户可确定是否仅信任OS制造商,且如果没有一个是可用的,则信任独立软件厂商翻译,且如果那些独立软件厂商翻译也是不可用的,则然后仅信任开发团体,依此类推。在一个说明性实施例中,该分层结构是默认地建立的,但是用户可以简单地接受或用个人设置来覆盖它。这样的设置可以在与每一应用程序或运行该应用程序的各个机器相关联的应用程序规则中实现。
同样,应当注意,专用存储226类似于本地存储224,这表现在它驻留在用户的数据存储上。然而,本地存储224说明性地是系统级存储,而专用存储226是可用于指示对应于个别用户的可信本地化内容,包括由用户为其自己的私人使用而输入的数据。因此,每一个别用户可标识不同的可信本地化内容。该内容在专用存储226中向该特定用户标识。这允许个别用户能够比与个别应用程序相关联地更进一步地定制本地化过程。例如,如由应用程序所需且允许的,用户可对他或她自己的应用程序作出改变。用户也可反过来向团体共享本地或专用存储。
另外,某些翻译可被锁定,使得它们不被修改。这对于避免潜在的恶意翻译是极其重要的。例如,输入源之一可能提供将术语“Click here to format your harddrive”(点击这里来格式化您的硬盘驱动器)翻译成“Click here to continue”(点击这里来继续)的恶意翻译。
一旦TM匹配器210从资源管理器206获得了对请求所期望的本地化,它应用来自存储222的过滤器218和应用程序规则。过滤器218说明性地定义了不被置于任何给定语言的任何本地化内容中的术语。例如,某些用户可能期望过滤淫秽的术语或任何其它不能采用的内容。因此,过滤器218在使用资源管理器206所请求的本地化内容之前应用。注意,应用过滤器(以及任何其它类型的确认)是本地化中的一个步骤,且可以在过程中的许多步骤处应用,诸如编辑、下载、使用等。
例如,一般而言,只要两个组件交换数据就发生确认,除非组件完全信任对方,且用于通信的信道也是可信的(诸如反对暗中的活动)。因此,例如,如果资源是从可信源下载的,且资源包含有效的签名,则无需完成任何其它确认(除确认签名之外)。如果源是可信的,但文件未被签署,则评估用于传输信息的信道以确定它是否是可信的。例如,从互联网下载的未签署文件比用户从同一计算机的另一文件夹中复制的未签署文件更有可能被篡改。取决于若干因素,可决定进行快速功能确认,或可进行某些附加的内容确认,诸如检查冒犯性的词或确保原始资源中的术语在目标资源上存在(例如,因此,“menu”(菜单)不被翻译为“folder”(文件夹))。
应用程序设置/配置组件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表示的。同样,在要求时,整个翻译可使用下载管理器212被加载到本地存储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的操作中的不合需要的延迟或者结果将被在这一受约束环境(性能要求可限制准确度)中使用的该组算法限制。当前的机器翻译计数要求大约1.5秒来翻译一个句子。尽管即时翻译和其它本地化肯定是本发明所构想的,但是使用机器翻译系统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返回到资源管理器206,指示在加泰罗尼亚语中没有翻译可用,且必须调用机器翻译系统216以获得这一翻译(或者,MT系统216可在TM匹配器210的首次调用时调用)。资源管理器206只需请求TM匹配器210返回所请求的资源的西班牙语的翻译,而非遭受与即时机器翻译相关联的性能损失。如果有这样的翻译可用,则它由TM匹配器210返回。
当然,如上所述,后援区域设置/语言可以被分层地级联到任何期望的程度,使得各种区域设置是对各种其它区域设置的后援,其最终的后援可以是源语言。由此,如果到达最终的后援,则资源管理器206只需在平台确保的最终后援中向应用程序202返回所请求的资源,而不是提供所请求的资源的翻译,因此应用程序不会由于平台而崩溃或丢失与用户的交互点。
用户也可说明性地设置后援分层结构如何工作。例如,用户可指示将一组资源显示在一起(例如,具有若干字符串的对话框)可以用一种语言(或本地化到一个市场)显示该对话框的部分,而以另一种语言(例如,在后援中)显示其它部分。其它用户可指示所显示的资源组都是一种语言(或本地化到同一市场)。
可以注意到,用户无需启动应用程序以使其由平台200来翻译。用户只需选择一个应用程序或其它软件组件用于本地化,而平台200可在后台对其本地化。例如,在一个实施例中,用户可右键点击应用程序,并从菜单中选择“Localize(本地化)”。平台200然后开始在后台本地化应用程序,将本地化的内容储存在本地存储中。内容也可在后台本地化。在一个实施例中,用户在储存在文件系统或服务器上的文档上右键点击,并选择“Localize”。本地化平台在后台本地化该文档。这也适用于从互联网下载的文档。
另外,当安装应用程序时(或在稍后的时刻),用户可选择多个不同的语言用于安装。这些语言然后被加载到本地数据存储224中。翻译可被储存在产品光盘或其它介质上。
图5是示出开发上下文中的平台200的组件的框图。大多数项目类似于图2所示的项目,且被类似地标号。
图5示出了协助平台380和开发组件382。开发组件382可以是诸如可从华盛顿州雷蒙德市微软公司获得的Visual Studio等任何期望的开发组件,或用于创作软件的任何其它期望的开发组件。协助平台380有助于通过与平台200的一个或多个组件,诸如翻译平台381交互来创作内容,以允许开发者开发具有高再循环率的产品,且由此很大程度上降低了用于本地化成不同语言的成本。开发组件382和协助平台380都使用由平台200提供的服务。为此,开发组件382和协助平台380与某些实施中构建到前端开发/创作过程中的其它组件结合,这些前端开发/创作过程可能很大程度上增强产品被本地化以进入各种不同的市场的能力,且因此很大程度上增加了开发投资的回报。
构建组件384使用由本地化平台和/或协助平台380或任何其它内容创作工具提供的信息,这些内容创作工具可通过数据存储222中API和应用程序规则来访问本地化平台,并构建应用程序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表示的。
这一类型的再循环向作者提供了相对于现有技术的在开发之后发生的本地化器的高度灵活性。例如,作者可改变软件串上可放位置的数目,而传统的本地化器要远远受限得多。同样,作者可完全替换源句子(假定保留关键术语),而传统的本地化器可能无法这样做。考虑出错消息的句子:“file{0}does not exist.”(文件{0}不存在)。作者可将其改为“file{0}on drive{1}could not be found.”(驱动器{1}上的文件{0}找不到),而常规的本地化器无法使用第一句句子的翻译作为对第二句句子的翻译,因为如果不能访问代码,常规本地化器无法改变代码中关于可放位置数目的假设。再循环可能仅相对于消息中找到的文本完成,但是也可对于数据存储236中的公共UI元素完成。重用现有的UI元素也增强了产品的再循环率和本地化。
在开发期间,开发者也可能希望提供本体知识对本体知识的存储232。本体知识是概念化的规范,且描述了术语之间的关系,这允许对内容和字符串进行语义编码。本体知识的一个实施例在美国专利第6,253,170和6,098,033中陈述。本体知识的另一描述在Gruber的A TRANSLATION APPROACH TO PORTABLEONTOLOGIES,Knowledge Acquisition,5(2):199-200(1993)中陈述。
一般而言,单词根据上下文来不同地翻译。具体地,单词或术语可以根据软件本地化中的应用程序上下文来不同地翻译。本地化平台200能够访问本体知识数据存储282形式的语义数据,该语义数据描述了术语之间的关系。本体知识可通过输入语义信息以及单词或术语来手动生成,或通过应用能够按照单词或术语与其它单词或术语的邻近性来确定语义上下文的算法来自动生成。数据存储282说明性地由从资源格式中导出的结构和应用程序上下文来填充。本体知识存储282中编码的语义类型允许平台200对要翻译的资源消除语义的歧义,同时也提供了强大的搜索能力,因为它也允许对查寻消除歧义。翻译平台381在图6的框508确定是否需要消除歧义。如果是,则可访问本体知识存储232来获取消除歧义的语义信息,或者协助平台380可向作者请求消除歧义的语义信息,开发组件382可以按同样的方式对开发者完成同样的动作。这在图6中由框510来表示。
当开发者继续开发产品时,每个创作的资源经受平台200中的翻译平台381的本地化率估计。在估计创作的资源的本地化率时,翻译平台381标识已经被翻译(或本地化)且驻留在平台200的某处的资源的百分比。翻译平台381也解决使资源经受系统216的机器翻译的要求,并考虑了与驻留在平台200上的每一翻译相关联的置信度得分。这些项目被组合以提供再循环率,它是对所创作的产品被本地化成以不同的语言运作的市场的容易程度的度量。提供连续的、总体再循环率在图6中由框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可模拟其中需要本地化的运行时环境。运行时模拟允许开发者在本地化之后实际上在显示屏上看见显示。这允许开发者在需要时扫描错误、评估显示的美学外观并作出改变。
由此,本发明增强了开发者重用已开发的内容的能力。这显著地增强了产品的再循环率和本地化。
此外,本发明提供了智能地组合来自操作系统、应用程序、团体和第三方以及来自机器翻译的本地化内容。资源管理器通过依照来自各种源或数据存储(也被称为本地化内容组件)的所需语言或其它文化或市场准则返回所请求的资源来加载应用程序的资源。
另外,本地化平台可用于向各种各样的请求实体,诸如应用程序、浏览器、搜索引擎、资源加载器、创作工具等提供本地化的数据。
同样,通过允许团体和自由团体建议本地化替换方案,本发明允许定义团体标准本地化,且有时允许本地化到某一非常小的市场。例如,本发明允许用户对斯瓦希里人本地化英语应用程序。用户可将该本地化提供回平台200作为应用程序中各种资源的建议翻译。其它南非用户可选择信任该本地化的内容,并以斯瓦希里语下载它,或自己本地化它或修改本地化并反过来向平台200提供其自己的本地化。以此方式,应用程序可被本地化和修订,并在它否则由于较小市场规模而不可用的市场中变得可用。
在一个实施例中,当输入源204提供数据时,数据收集组件205也记录诸如起源、用途、上下文信息(诸如资源版本化)、置信度级别、属性、机器翻译提示等的元数据。其它数据也可被收集和排序。同样,在一个实施例中,只有提供数据的输入源204可改变该数据。
本发明不仅能够从团体下载翻译,也能够上传翻译。另外,源字符串可以按类似的方式来上传/下载。
也可注意,第三方公司和团体可向平台200添加新的源和翻译存储器。在一个说明性实施例中,平台200提供了能够添加新源术语及其元数据的网页或web服务。说明性地认证用户,使得平台200可确定每一新添加的项目的源。
另外,平台200说明性地依照允许用户一次上传若干字符串的所发布的模式(诸如XML模式)来工作。再一次,每一字符串的源是已知的,因为每一操作可要求认证。这一源字符串可说明性地用一个或多个翻译来添加。平台200对于术语数据库中的术语也类似地操作。
同样,依照一个实施例,团体能够向平台200中的源字符串提供翻译。当编辑翻译时,源中存在的元数据说明性地对“翻译者”可用,且在接受翻译之前强制实施该元数据。这可通过简单的web接口来完成。如果用户选择与团体共享其翻译,则这些翻译可由其它人使用。
本发明也说明性地允许团体审阅已经存在于平台200上的翻译。这允许翻译源确定其翻译被其它用户选择多少次。这使得团体中的输入源能够基于工作质量为其自己构建名称,且这驱使输入源完成更好的工作以在团体中变得更有价值。
依照本发明的又一实施例,当开发者上传一个应用程序用于翻译时,向开发者提供允许最终用户下载对产品的其自己的本地化版本的机会。如果启用该选项,则用户可登录到平台200并选取要选择哪一语言、引擎和翻译来生成产品的个人版本。
例如,用户可要求产品的“xyz”版本,同时仅使用团体(或特定用户)认可的翻译存储器指定翻译引擎的确切匹配。该过程可被周期性地重复以获取资源翻译的更高百分比。平台200也可在新翻译可用时通过邮件或其它警告服务向用户提供通知。
依照另一实施例,第三方可向平台200添加新的源验证(或翻译)引擎。如上所述,开发者可向平台200提交应用程序以确定应用程序是否是高度可本地化的。第三方可编写新引擎以支持这一功能。当第三方开发满足执行源验证准则的引擎时(例如,当它实现期望的接口时),第三方可将其上传到平台200,并反过来向用户收费以下载该引擎。对于参考本发明所描述的过程的其它部分,说明性地使用了签署和认证来确保引擎的源是已知的,且用户决定信任该源。
翻译引擎可以用类似的方式来添加,但是可说明性地运行在实现平台200的服务器上,并采取步骤来确保翻译引擎不破坏任何现有的翻译数据。另外,本发明执行全球化和语言检查来协助作者。本发明也允许团体帮助作者。例如,可向团体要求某一领域中对话框上的源字符串,而该源字符串可被容易地本地化。这在最初创作高度可本地化的内容时帮助了作者。
也应当注意,尽管在所描述的实施例中某些功能被分配给某些组件,但是情况不必如此。功能可由不同的组件来执行,且某些组件可被删除、修改或添加,所有这些都落入本发明的范围之内。
由此,可以看到,本发明整合了用于从各种各样产品和各种各样输入源的过去的本地化进行本地化的数据。并非每一应用程序或产品具有不能由其它产品访问的自己的翻译存储器,而是翻译平台200使得该信息如由开发者或用户所期望的那样可用于不同产品的随后的本地化。它也改变了本地化过程,使得最终用户能够访问较宽广程度的选项来定制(本地化)其计算机体验。它也允许团体对过程的参与。作为结果,本地化任务本身变为产品不相关的,仅通过应用程序上下文链接到产品。如果信任模型和应用程序上下文允许,其它应用程序可在任何时刻访问本地化的字符串。
尽管参考特定实施例描述了本发明,然而本领域的技术人员可以认识到,可以在形式和细节上作出改变而不脱离本发明的精神和范围。

Claims (17)

1.一种包括在应用程序的开发期间使用的软件本地化平台的计算机实现的系统,所述软件本地化平台包括:
多个本地化内容组件,所述本地化内容组件被配置成提供要被本地化到一个或多个不同市场的数据;
供应用程序开发者用于创作新资源的开发组件;以及
匹配器组件,所述匹配器组件被配置成接收所创作的新资源、访问所述多个本地化内容组件、以及基于访问所述多个本地化内容组件返回所创作的新资源的再循环率,其中所述再循环率是对所创作的产品被本地化到以不同的语言运作的市场的容易程度的度量。
2.如权利要求1所述的计算机实现的系统,其特征在于,所述软件本地化平台还包括:
资源管理器,它被配置成将应用程序的资源加载到存储器组件中并通过向所述应用程序返回所请求的资源来响应来自所述应用程序的资源请求,所述本地化平台被集成在操作系统中。
3.如权利要求1或2所述的计算机实现的系统,其特征在于,所述多个本地化内容组件和所述匹配器组件被配置成响应于来自外部组件的调用提供所述本地化数据作为服务,所述外部组件包括应用程序和操作系统中的一个。
4.如权利要求1或2所述的计算机实现的系统,其特征在于,还包括:
数据收集组件,所述数据收集组件被配置成从多个不同的输入源接收要本地化到一个或多个市场的数据,并将其提供给所述本地化内容组件。
5.如权利要求4所述的计算机实现的系统,其特征在于,所述数据收集组件被配置成将对应于所述本地化内容的元数据以及上下文信息中的至少一个储存在所述本地化内容组件中。
6.如权利要求4所述的计算机实现的系统,其特征在于,所述数据收集组件被配置成通过网页接口或web服务从所述多个输入源接收本地化内容。
7.如权利要求4所述的计算机实现的系统,其特征在于,所述数据收集组件被配置成允许输入源仅修改由该输入源通过所述数据收集组件提供的本地化内容。
8.如权利要求1或2所述的计算机实现的系统,其特征在于,所述本地化内容组件中的至少一个是:
操作上耦合到所述匹配器组件的翻译存储器数据服务,并且多个本地化内容组件是本地化内容数据存储,所述翻译存储器数据服务被配置成在所述本地化内容数据存储中搜索所述本地化内容。
9.如权利要求8所述的计算机实现的系统,其特征在于,所述本地化内容数据存储包括以下的至少一个:术语库、以及储存术语或公共UI元素或两者的翻译的一个或多个翻译存储器。
10.如权利要求1或2所述的计算机实现的系统,其特征在于,所述本地化内容组件中的至少一个是:
响应于所述匹配器组件的请求提供翻译的机器翻译系统。
11.如权利要求1或2所述的计算机实现的系统,其特征在于,所述本地化内容组件中的至少一个是:
可由所述匹配器组件访问的数据服务组件,并且多个所述本地化内容组件是
多个本地化数据存储,所述多个本地化数据存储可由所述数据服务组件访问,并储存被本地化到一个或多个不同市场的数据。
12.如权利要求1或2所述的计算机实现的系统,其特征在于:
所述本地化内容组件中的至少一个是响应于所述匹配器组件的请求提供翻译的机器翻译系统;
所述本地化内容组件中的至少另一个是可由所述匹配器组件访问的数据服务组件,并且多个所述本地化内容组件是多个本地化数据存储,所述多个本地化数据存储可由所述数据服务组件访问,并储存被本地化到一个或多个不同市场的数据;
所述机器翻译系统被配置成访问所述数据服务组件。
13.如权利要求2所述的计算机实现的系统,其特征在于,所述软件本地化平台被配置成在后台操作中本地化所述应用程序所请求的资源的至少一部分。
14.如权利要求2所述的计算机实现的系统,其特征在于,所述软件本地化平台被配置成在应用程序设置或配置期间本地化所述应用程序所请求的资源的至少一部分。
15.如权利要求2所述的计算机实现的系统,其特征在于,所述软件本地化平台被配置成在运行时本地化所述应用程序所请求的资源的至少一部分。
16.如权利要求2所述的计算机实现的系统,其特征在于,所述本地化内容组件中的至少一个是:
对所述资源管理器为本地的本地数据存储。
17.如权利要求2所述的计算机实现的系统,其特征在于,所述资源管理器访问远程数据存储。
CN200610059634A 2005-03-08 2006-03-07 用于创建、储存、管理和消费文化专用数据的方法和系统 Expired - Fee Related CN100589075C (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US65961605P 2005-03-08 2005-03-08
US60/659,616 2005-03-08
US11/118,548 2005-04-29

Publications (2)

Publication Number Publication Date
CN1855039A CN1855039A (zh) 2006-11-01
CN100589075C true CN100589075C (zh) 2010-02-10

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

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN2006100596405A Expired - Fee Related CN1855040B (zh) 2005-03-08 2006-03-07 带有可重用得分和建议的可重用数据的资源创作

Family Applications After (2)

Application Number Title Priority Date Filing Date
CNB200610059641XA Expired - Fee Related CN100535854C (zh) 2005-03-08 2006-03-07 实现应用程序本地化规则的创作
CN2006800076112A Expired - Fee Related CN101542428B (zh) 2005-03-08 2006-03-08 资源创作合并本体论

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
US8145472B2 (en) * 2005-12-12 2012-03-27 John Shore 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
US20080104104A1 (en) * 2006-11-01 2008-05-01 Microsoft Corporation Health integration platform schema
US8417537B2 (en) * 2006-11-01 2013-04-09 Microsoft Corporation Extensible and localizable health-related dictionary
US8316227B2 (en) 2006-11-01 2012-11-20 Microsoft Corporation Health integration platform protocol
US8533746B2 (en) * 2006-11-01 2013-09-10 Microsoft Corporation Health integration platform API
US8275606B2 (en) * 2007-10-25 2012-09-25 Disney Enterprises, Inc. System and method for localizing assets using flexible metadata
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
US9547626B2 (en) 2011-01-29 2017-01-17 Sdl Plc Systems, methods, and media for managing ambient adaptability of web applications and web services
US10657540B2 (en) 2011-01-29 2020-05-19 Sdl Netherlands B.V. Systems, methods, and media for web content management
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
US9639676B2 (en) 2012-05-31 2017-05-02 Microsoft Technology Licensing, Llc Login interface selection for computing environment user login
US10949230B2 (en) 2012-05-31 2021-03-16 Microsoft Technology Licensing, Llc Language lists for resource selection based on language text direction
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
US10452740B2 (en) 2012-09-14 2019-10-22 Sdl Netherlands B.V. External content libraries
US11308528B2 (en) 2012-09-14 2022-04-19 Sdl Netherlands B.V. Blueprinting of multimedia assets
US11386186B2 (en) 2012-09-14 2022-07-12 Sdl Netherlands B.V. External content library connector systems and methods
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
US9778917B2 (en) * 2012-09-26 2017-10-03 International Business Machines Corporation Dynamically building subsections of 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
EP0668558B1 (en) * 1994-01-14 2002-04-17 Sun Microsystems, Inc. Method and apparatus for automating the localization of a computer program
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
US6581048B1 (en) * 1996-06-04 2003-06-17 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
WO2000025708A1 (en) 1998-11-03 2000-05-11 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
WO2004049110A2 (en) 2002-11-22 2004-06-10 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

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
INTEGRATING TRANSLATIONSFROMMULTIPLESOURCES WITHIN THE PANGLOSSMARK IIIMACHINETRANSLATION SYSTEM. FREDERKING ET AL.PROCEEDINGS OF THE FIRST AMTA CONFERENCE. 1994
INTEGRATING TRANSLATIONSFROMMULTIPLESOURCES WITHIN THE PANGLOSSMARK IIIMACHINETRANSLATION SYSTEM. FREDERKING ET AL.PROCEEDINGS OF THE FIRST AMTA CONFERENCE. 1994 *

Also Published As

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

Similar Documents

Publication Publication Date Title
CN100589075C (zh) 用于创建、储存、管理和消费文化专用数据的方法和系统
KR101203327B1 (ko) 재사용 가능성 점수 및 제안된 재사용 가능한 데이터에 의한 자원 작성
AU2006200694B2 (en) Method and system for creating, storing, managing and consuming culture specific data
JP5058966B2 (ja) オントロジを組み込むリソース・オーサリング
CN100573503C (zh) 自动生成内容的方法和系统
CN100476734C (zh) 用于修改信息以从源语言变换为目标语言的方法和系统
EP1701255B1 (en) Authoring implementing application localization rules
CN101535934A (zh) 提供用于查看和编辑元数据的定制用户界面的方法和系统
JP2009545077A (ja) 利用可能なソースデータ及びローカライゼーションの再利用
CN101106577B (zh) 用于在异构环境中管理基于服务器转译消息的方法和系统
Paulheim Seamlessly integrated, but loosely coupled: building user interfaces from heterogeneous components
Lunka Adobe Experience Manager: A Guide to CQ5 for Marketing Professionals
West Professional Sitecore Development
Feiler Special edition using FileMaker 9

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

Granted publication date: 20100210

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