CN101263454A - 本地化数据的可扩展xml格式和对象模型 - Google Patents

本地化数据的可扩展xml格式和对象模型 Download PDF

Info

Publication number
CN101263454A
CN101263454A CNA2006800332000A CN200680033200A CN101263454A CN 101263454 A CN101263454 A CN 101263454A CN A2006800332000 A CNA2006800332000 A CN A2006800332000A CN 200680033200 A CN200680033200 A CN 200680033200A CN 101263454 A CN101263454 A CN 101263454A
Authority
CN
China
Prior art keywords
data
localization
computer
software
readable medium
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.)
Granted
Application number
CNA2006800332000A
Other languages
English (en)
Other versions
CN101263454B (zh
Inventor
P·A·托姆普森
J·A·尼尔森
J·M·玛蒂
L·E·伯德泽斯基
D·阿斯
J·A·科帕纳
R·V·帕玛瑞斯
S·P·杰德
T·法瑞尔
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 CN101263454A publication Critical patent/CN101263454A/zh
Application granted granted Critical
Publication of CN101263454B publication Critical patent/CN101263454B/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
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/14Tree-structured documents
    • G06F40/143Markup, e.g. Standard Generalized Markup Language [SGML] or Document Type Definition [DTD]
    • 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/448Execution paradigms, e.g. implementations of programming paradigms
    • 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

Abstract

描述一种方法、设备以及包括用于本地化包含在软件程序中的数据的计算机可读组件的计算机可读介质。计算机可读组件包括:由软件数据模式定义的数据元;特性库数据元,用于存储关于数据元的多个数据特性;以及自有注释数据元,包括与包含在软件程序中的数据的本地化以及具有创建、访问和操纵自有注释数据元的许可的所有者有关的信息。

Description

本地化数据的可扩展XML格式和对象模型
背景
近年来,软件市场日益国际化。当今,诸如文字处理、电子数据表、电子邮件等的常用软件应用程序可在不同国家使用。使软件应用程序可在不同国家使用通常使创建带有以各种本地语言(与计算机语言不同)呈现的相应用户界面以及诸如错误消息的其它人类可读文本的软件应用程序成为必要。为了增加这些软件应用程序的市场份额和市场价值,这种本地化软件应用程序的创建是必要的。包括本地语言在软件应用程序的用户界面,诸如命令界面、菜单、消息、状态信息、标签、计算结果等等中是具有主要意义的。对采用不同本地语言的软件应用程序的需要受到许多因素的驱动,包括使用不同语言且计算机日益成为日常工作和生活的一部分的国家的数量增多,使用具有需要自然语言交互而非使用会计或数学符号的技术符号交互的软件应用程序(诸如文字处理之类的办公软件应用程序)的非技术领域的数量增大,以及以自己的本地语言与软件应用程序进行交互的用户需求。本领域中用于标识以不同的本地语言创建软件应用程序的过程的通用术语是“本地化(localization)”。
除了人类可读文本之外,可能还必需对诸如图标、色彩和形状的人类可视图形组件以及人类可听闻的声音进行本地化,以解决文化敏感性和背景。例如,在某些亚洲文化中,红色代表财富和繁荣,而在大多数西方文化中,红色代表危险或警告。所以,如果图形用户界面(GUI)中的对话框的符号或背景以红色显示,则这对来自不同文化的用户具有不同的混杂内涵。因此,本地化进程不止是将文本翻译成不同语言,它包括其它符号、色彩和声音等的本地化。
对本地化软件应用程序的需求在这些软件应用程序的开发和维护过程中产生许多问题。本地化软件应用程序的开发和维护需要适当的开发工具和开发环境,用于处理和本地化各种人类可读和人类可视的软件组件。此外,软件应用程序的本地化可由多个组织完成,每个组织包括多个部门,且每个部门执行本地化进程的不同部分。当前可用的开发和组织环境的主要缺点之一是开发工具和环境所使用的数据模型的可扩展性和灵活性有限。例如,开发工具和环境所使用的某些数据是二进制格式的,这使得数据的阅读、编辑、共享和操纵十分困难。
需要一种数据格式来提供跨不同组织和开发工具的一致性、可扩展性和灵活性。此外,需要用于访问和操纵这些数据的标准功能和数据接口方法。
概述
提供本概述是为了以简化形式引入概念精选,这些概念将在以下详细描述中得到进一步描述。本概述不旨在标识要求保护主题的关键特征,也不旨在用于帮助确定要求保护主题的范围。
描述一种方法、系统以及包括用于本地化包含在软件程序中的数据的计算机可读组件的计算机可读介质。计算机可读组件包括:由软件数据模式定义的数据元;特性库数据元,用于存储关于数据元的多个数据特性;以及自有注释数据元,包括与包含在软件程序中的数据的本地化以及具有创建、访问和操纵自有注释数据元的许可的所有者有关的信息。
还描述了一种方法、系统以及包括用于本地化包含在软件程序中的数据的计算机可读组件集合的计算机可读介质。计算机可读组件集合包括:由软件数据模式定义的数据元;特性库数据元,用于存储关于数据元的多个数据特性;本地化数据元的线性列表,可用于将计算机可读组件集合分割成多个子集,分开操纵多个子集中的数据元以及将多个子集重新合并成单个计算机可读组件集合;以及自有注释数据元,包括与包含在软件程序中的数据的本地化以及具有创建、访问和操纵自有注释数据元的许可的所有者有关的信息。
进一步描述了一种方法、系统以及包括存储其上的用于本地化软件程序的软件对象集合的计算机可读介质。软件对象集合包括:包含在每个软件对象中的数据和指令;本地化项目对象,包括本地化数据和以下中的至少一个:包含其它本地化项目对象列表的本地化项目列表对象;至少一个注释对象,包括关于软件程序本地化的信息;串数据对象,用于存储计算机文本信息;以及二进制数据对象,用于存储二进制信息,其中每个软件对象对应于由软件数据模式定义的数据结构,且其中每个软件对象用于访问和操纵存储在由软件数据模式定义的相应数据结构中的数据。
附图说明
通过结合附图参考以下详细描述,本发明的以上诸方面以及许多附加优点将变得更容易领会和更好地理解,在附图中:
图1是一示例性本地化进程的示意图;
图2是示出一示例性本地化数据流的示意图;
图3是示出另一示例性本地化数据流的示意图;
图4是示出对XML数据文件进行示例性文件分割和合并操作的示意图;
图5A是一示例性特性包的示意图;
图5B是一示意性布尔XML元素的示意图;
图5C是一示意性整数XML元素的示意图;
图5D是一示意性串XML元素的示意图;
图5E是一示例性XML串XML元素的示意图;
图6是带有源属性的一示例性注释数据格式的示意图;
图7是带有注释的一示例性本地化项目数据格式的框图;
图8是一示例性自有注释数据格式的示意图;
图9A是一示例性设置数据格式的示意图;
图9B是一示例性枚举元素的示意图;
图9C是一示例性列表元素的示意图;
图9D是一示例性选项表元素的示意图;
图10是一示例性本地化XML数据格式的示意图;
图11A是包含在CDATAXML元素中的文本数据的一示例性示意图;
图11B是包含在CDATA XML元素中包括括号字符的文本数据的一示例性示意图;
图12是本地化模式与对应对象模型的一示例性关系的框图;
图13A是带有返回指针的一示例性父对象和子对象的框图;
图13B是带有返回指针和文件指针的一示例性父对象和子对象的框图;
图14是带有外部定制文化信息的一示例性对象模型的示意图;
图15是部分加载数据的一示例性方法的功能流程图;
图16是用回调功能细化数据加载的一示例性方法的功能流程图;
图17A是部分保存数据的一示例性方法的功能流程图;
图17B是合并数据保存的一示例性方法的功能流程图;
图18是细化地存储数据的一示例性方法的功能流程图;
图19是一示例性本地化对象模型的示意图;
图20是创建和提供本地化数据文件的一示例性方法的功能流程图;
图21是向本地化项目添加注释的一示例性方法的功能流程图;
图22是文件剥离的一示例性方法的功能流程图。
详细描述
描述了一种用于定义标准可扩展本地化数据以及用于访问和操纵数据的对象模型的系统和方法。虽然该系统和方法非常适用于本地化进程,但是该系统和方法可在其它软件环境中使用,其中涉及共享同一底层数据的多个开发工具和组织。因此,应该理解,本发明不应被解读为限制于在本文所述的示例性实施方式中的应用,并且这些示例性实施方式不应被解读为是限制性的。
图1是一示例性本地化进程100的示意图。示例性本地化进程包括具有多个不同阶段的操作循环。这些阶段包括开发阶段102、本地化阶段104、翻译阶段106以及构建阶段108。本领域技术人员将会意识到,操作循环阶段可包括比在本示例实施方式中描述的更少或更多的阶段。例如,可将某些阶段合并以产生更少的阶段或者进一步分解以产生更多的阶段。在开发阶段102中,软件应用程序(软件应用程序)的开发工程师开发软件代码和用户界面(UI)。UI可包括文本、可视和可听闻组件。例如,开发工程师为软件应用程序编写和编译代码。代码可采用诸如C、C++、C#等多种可用编程语言中的任一种来编写,并且包括源代码文件、报头文件和资源文件。资源文件通常包含可视和其它UI元素,诸如位图。开发工程师还可在这些文件中诸如资源文件的某些文件中包含注释。注释包括关于代码或UI元素、以及对在本地化软件应用程序的开发过程中使用的诸如各种软件编译器、管理工具和构建工具之类的软件工具的指令的评论。软件工程师将包括已编译代码和资源文件的文件集合传递到本地化阶段104,在此本地化工程师继续进行本地化进程。本地化工程师向这些文件添加更多的注释,这可应用于所有目标语言和文化。然后,这些文件被传递到翻译阶段106,在此针对每种特定语言对软件应用程序进行翻译。最终,这些文件被传递到构建阶段108,在此构建文件以对多种语言中的每一种产生可执行软件应用程序文件。
图2是示出从开发阶段102到本地化阶段104的一示例性本地化数据流200的示意图。本地化解析器工具210用于合并多个文件,包括源二进制文件204、注释文件206、和设置文件208,并且产生输出本地化数据文件212。源二进制文件204来自开发工程师和软件构建实验室202。本地化文件212在本地化阶段104被传递到本地化工程214的文件。在一个示例性实施方式中,本地化数据文件212包括来自设置文件208的设置、来自注释文件206的注释、以及来自源二进制文件204的源二进制数据。由软件构建实验室202提供的源二进制文件204包括从采用诸如英语的原始语言构建软件应用程序源文件过程中得到的二进制数据。
对嵌入到注释文件206、源二进制文件204和设置文件208中的注释加标签以表明注释的所有者和来源。例如,可用“DEV”对来自开发工程师的注释加标签,以表明由该标签指示的注释来源。在本地化进程中使用的诸如注释提取器工具的各种软件工具也可以向软件应用程序文件添加注释。例如,注释提取器工具可用“RCCX”对由注释提取器工具拥有的注释加标签。如果在注释提取器工具所操作的输入文件中不存在注释,则注释提取器工具可以不产生输出文件。注释是大小写敏感的,其中小写和大写字母定义了不同的单词,或者注释不是大小写敏感的。注释还可被启用或禁用。例如,本地化管理工具可用“LCI”对注释加标签,并且可用于禁用其它DEV和RCCX注释。软件应用程序构建工具拥有的特定类型注释中的一种或多种,这类注释由代表构建工具进程的诸如DEV和RCCX的特定标签标识。在一个示例性实施方式中,诸如软件构建工具的工具行为受在配置文件中设定的参数的控制。
两种不同类型的文件包含并声明同一类型注释中的一个或多个的所有权,如注释标签所定义的。多个文件对同一类型注释的所有权声明会产生冲突。这种所有权冲突可通过例如将所有权赋予最近文件来解决,或者这种冲突可基于预先赋予文件的所有权优先级来解决。因此,较高优先级的文件将对所有权发生冲突的注释类型具有更好的声明。也可使用其它类型的冲突解决方案。因此,这些示例应该被解读为是示例性而非限制性的。
当包含不同类型注释的多个文件被合并时,如果所有权发生冲突则发出警告或错误消息。如果在注释合并操作期间遇到有意更改,则发出表明该情况的信息消息。例如,当由于自有注释的最近版本文件可用而忽略该注释时,可发出信息消息。如果注释无法被禁用,则生成警告消息。类似地,如果并非由一文件或工具拥有的注释被禁用,则发出警告消息。在一个示例性实施方式中,将注释类型的所有权从现有所有者转让给新的所有者。例如,将DEV类型注释的所有权从解析器工具传递到构建工具。在一个示例性实施方式中,每个所有权都具有该所有者所拥有的注释类型的所有权列表。如果将未在所有者的所有权列表上的新注释类型赋予该所有者,则该所有者保留该所有权并发出警告消息。在一个示例性实施方式中,如果两个文件声明同一注释的所有权,则发出错误消息。这种所有权冲突可在本地化进程的诸如构建阶段108的后续阶段中得到解决。在一个示例性实施方式中,不包含资源文件拥有的注释类型的资源被视为具有空的启用注释,并且在注释合并操作过程中如此处理。
如上所述,在本地化进程中,可向软件源代码和本地化文件添加注释以向本地化进程中的后续步骤提供信息和指令。注释帮助软件的本地化人员改进质量并降低本地化成本。提供注释的益处包括信息共享、帮助创建伪构建、以及检验翻译完整性。在一个示例性实施方式中,共享信息包括提供关于串资源的标准本地化指令,这减少了由这种串资源的不正确本地化所产生的错误。串资源包括向软件用户呈现的文本消息,诸如警告。伪构建是软件的临时测试构建(即软件代码的编译),由测试团队用来在产品开发周期的早期找到本地化错误,以便计划实际本地化构建的测试以及降低总体的本地化构建成本。通过使用本地化指令和注释来检验翻译完整性。通过将本地化人员提供的翻译与对本地化的限制集进行匹配来检验翻译完整性。限制集包括对软件原始语言与对软件进行本地化所针对的目标语言之间的诸如词语和短语的信息进行匹配。
在一个示例性实施方式中,使用注释提取器工具。如上所述,注释提取器工具是在一种本地化工具,它在包括待提取注释的文件上运行并将这些注释编写到诸如本地化数据文件的输出文件。在另一示例性实施方式中,本地化进程中所使用的每个工具都可生成注释并对这些注释加标签以将该工具标识为注释的源。工具可用指示不同源的源标签生成注释。例如,注释提取器工具可生成“DEV”注释。在这种情形中,在具有相同标签却来自不同源的两个注释之间可能发生抵触。在一个实施方式中,注释盖写模型用于禁用抵触注释。在处理期间忽略禁用注释。
图3是示出从本地化阶段104和翻译阶段106到构建阶段108的另一示例性本地化数据流300的示意图。在本示例中,本地化构建器312对源二进制文件204、本地化数据文件121和本地化语言文件310中包含的数据进行处理以产生输出文件的目标二进制文件314。如上相关于图2所述,本地化数据文件212包括设置从其它文件中的数据结合的设置、注释和源数据。本地化语言文件310包括由本地化工程214添加的设置、注释、源数据和翻译数据。本地化构建工具312使用源二进制文件204、本地化数据文件212和本地化语言文件310作为输入文件并产生目标语言的目标二进制文件314。目标二进制文件314的创建是最终的本地化软件应用程序产品,并且是本地化进程的主要目的。
以上描述的工具和进程依赖于一致的通用数据格式,这些工具基于该格式以标准化方式集成和处理数据。在一个示例性实施方式中,本地化可扩展标记语言(XML)模式用于定义一致的数据格式,以供上述各种本地化工具和相关文件使用。本地化XML模式提供允许不同小组和组织开发处理特定任务的软件工具的可扩展XML格式。本地化XML模式还允许开发可在多个组织之间共享的工具和数据,进而促进小组间合作。例如,本地化解析工具210、本地化构建工具312和本地化管理工具可在本地化进程中对不同的文件使用和共享同一数据格式。在一个示例性实施方式中,本地化XML模式还可以是可扩展的。本地XML模式的可扩展性允许其它各方开发带有新特征的新工具而无需更改数据格式。
图4是示出基于可扩展本地化XML模式分别对本地化XML数据文件404进行示例性文件分割和合并操作400和402(与注释合并操作不同)的示意图。在本示例性实施方式中,使用文件分割操作400将本地化XML数据文件404分割成多个部分数据文件406。部分数据文件406可由多个组织或并行处理软件工具并行使用,以便独立于其它部分数据文件406处理每个部分数据文件406。例如,开发多个软件工具的数据文件的多个第三方中的每一个可分别使用与由多个第三方中的该方开发的软件工具相关的一个部分数据文件。作为另一示例,将同一软件应用程序翻译成多种语言的多个组织可使用由文件分割操作400创建的适当部分数据文件406来创建已翻译版的软件应用程序资源。当多个组织完成部分数据文件406的处理时,使用文件合并操作402将部分数据文件406合并成单个本地化XML数据文件408。
本地XML数据文件404包括指定本地化信息的XML元素。包含在本地化XML数据文件404中的这些元素之一是特性包。图5A-5E示出特性包和相应XML元素的示例性实施方式。图5A是一示例性特性包数据结构500的示意图。特性包502是用于存储任意数量特性的数据容器。在一个示例性实施方式中,每个复杂数据类型都与至少一个特性包相关联。复杂数据类型是包含其它数据类型的数据类型。例如,包含其它XML元素的XML元素是复杂数据类型。在一个示例性实施方式中,使用“名称”属性定义的唯一名称和值被赋予该特性。值必须是由本地化XML模式支持的数据类型。在本地化XML模式中定义的每个复杂数据类型包括存储由本地化XML模式的使用者要求的任意数量数据的特性包元素。图5A所示的示例性特性包502包括布尔数据类型504、整数数据类型506、串数据类型508和XML数据类型510。
图5B是一示例性布尔XML元素522的示意图。布尔XML元素522包括属性列表524。XML中的数据类型属性用于表示关于数据类型的信息,诸如数据类型的名称和值。属性列表524中包含的属性之一是名称526。在一个示例性实施方式中,名称属性526是α数字串。值528是布尔XML元素522的另一属性。值528表示布尔XML元素522的逻辑值。如本领域已知的,逻辑值包括真和假两种逻辑状态值。
图5C是一示例性整数XML元素542的示意图。整数XML元素542包括属性列表544。属性列表544中包含的属性之一是名称546。在一个示例性实施方式中,名称属性546是α数字串。值548是整数XML元素542的另一属性。值548表示整数XML元素542的整数值。
图5D是一示例性串XML元素562的示意图。串XML元素562包括属性列表564。属性列表564中包含的属性之一是名称566。在一个示例性实施方式中,名称属性566是α数字串。值568是串XML元素562的另一属性。值568包括含有α数字以及其它字符的字符串,由串XML元素562表示。
图5E是一示例性XML串XML元素582的示意图。XML串XML元素582表示任何有效的XML语句。XML元素582包括属性列表584。属性列表584包含名称属性586。在一个示例性实施方式中,名称属性586是α数字串。属性列表584还包括任何XML语句属性588,包括任何有效的XML语句。
本领域技术人员将会意识到,属性包元素502的其它变体也是有可能的。例如,属性包元素502可包括一类数据元,诸如“任何(Any)”元素(未在以上图中示出),其中任何(Any)元素包括名称属性、类型属性和值属性。在这种示例性实施方式中,类型属性指定如何解释值属性。例如,类型可以是“Unsigned_Integer(未赋值整数)”,且值可以是“15”。
图6是带有源属性的一示例性注释数据格式600的示意图。在一个示例性实施方式中,注释元素603包括为人类操作员提供有关本地化进程信息的自然语言文本以及向处理注释文件206和本地化XML数据文件408的人类操作员和软件工具提供作为指令的预定文本串。图6所示的注释元素602包括属性列表604。在一个示例性实施方式中,属性列表604包括名称属性606、启用属性608、和SRC(对于源)属性610。名称属性606用于通过名称指代注释。启用属性608用作指示符以指示注释602是启用还是禁用。SRC属性610指示注释的源,即SRC属性610是标识注释的所有者和源的标签。如上参照图2所述,不同类型的注释由不同所有者拥有。注释所有者可包括有关与注释所有者的责任范围相关的本地化进程的指令和其它信息。例如,软件开发者可通过注释形式提供一般信息和指令。对由特定所有者作出的注释加标签,以标识该注释的所有者。在一个示例性实施方式中,由每个所有者作出的注释仅由这些注释所属的所有者来操纵。在另一示例性实施方式中,可将注释的所有权从一个所有者传递到另一个所有者。例如,可以允许标有“DEV”(即开发者,如上所述)的注释由注释提取器工具拥有,该工具通常只拥有标为“RCCX”的注释。在一示例性实施方式中,注释名称和注释可以是大小写不敏感的。注释还可被启用和禁用。如上所述,在处理过程中忽略禁用的注释。
图7是带有注释的一示例性本地化项目数据格式700的框图。在一个示例性实施方式中,本地化项目702包括属性704。属性704包括项目类型706和项目ID708。本地化项目702还包括串元素710、二进制元素712和注释714。本地化项目702是可被翻译或以其它方式适于本地文化和语言的正进行本地化的软件的任何部分或源。例如,文本消息或图标是本地化项目702。项目类型706是指定本地化项目702的类型的属性。例如,项目类型706可指示特定本地化项目702是文本消息或色彩。项目ID 708用作本地化项目702的标识符。本地化项目702可任选地包括串710、二进制数据712和注释714,这取决于项目类型706。例如,如果项目类型706指示本地化项目702是文本串,则本地化项目702可包括指定在本地化中使用的默认字体的另一元素,诸如特性元素(未在图中示出)。在一个示例性实施方式中,本地化项目702中包含若干类型的串710和二进制数据712。例如,本地化项目702中可以包括用于源语言、目标语言和其它参考语言的串和二进制数据。参考语言可用于为本地化项目702从源语言向目标语言的翻译提供附加信息。在一个示例性实施方式中,父本地化项目702包括一起构成本地化项目702的分层结构的零个或更多其它子本地化项目702(未示出)。子本地化项目702通过指针或等效软件技术的方式包括在父本地化项目702中。
图8是一示例性自有注释数据格式806的示意图。所示示例性自有注释元素802包括多个注释元素602,每个元素包括属性804。属性804包括名称属性806。
图9A-9D示出设置元素902和相应XML元素的示例性实施方式。图9A是一示例性设置数据格式的示意图。设置元素902包括含有名称906的属性904。设置元素902还包括多个设置908项目。示例性设置1包括属性910。属性910包括设置1的名称912。示例性设置1还包括布尔元素914、整数元素916、枚举元素918、串元素920、列表元素922和选项表元素924。以下进一步描述设置908的每个元素。设置元素902指定本地化数据文件的当前设置。
图9B是一示例性枚举元素942的示意图。示例性枚举元素942包括含有名称946和值948的属性944。名称属性946通过名称标识枚举元素942。值属性948包括由枚举942表示的枚举的值。
图9C是一示例性列表元素962的示意图。示例性列表元素962包括含有名称966和多个项目元素968的属性964。名称属性966通过名称标识列表元素962。项目元素968各自表示列表962的一个条目,并且可包括许多属性(未在本图中示出),诸如项目标识符、序列号、源文件名称等。此外,项目968可包括其它元素(未在本图中示出),诸如串元素、二进制元素、注释元素等。
图9D是一示例性选项表元素982的示意图。示例性选项表元素892包括含有名称986和值属性988的属性984。示例性选项表元素982还包括多个项目元素990。名称属性986通过名称标识列表元素982。项目元素990各自表示列表982的一个条目,并且可包括许多属性(未在本图中示出),诸如项目标识符、序列号、源文件名称等。此外,项目990可包括其它元素(未在本图中示出),诸如串元素、二进制元素、注释元素等。
本领域技术人员将会意识到,数据元的其它变型也是可能的。例如,数据元可包括诸如“任何(Any)”元素(未在上图中示出)的一类数据元,其中任何(Any)元素包括名称属性、类型属性和值属性。在这种示例性实施方式中,类型属性指定应该如何解读值属性。例如,类型可以是“Unsigned_Integer(未赋值整数)”以及值可以是“15”。
图10是一示例性本地化XML数据格式1002的示意图。本地化XML数据格式用于定义在本地化进程中使用的本地化数据的总的格式。示例性本地化XML数据元1002包括属性1004和任选元素,诸如如上所述的设置1016、特性包1018、自有注释1020和本地化项目1022。属性1004包括名称属性1006以及其它任选属性,诸如解析器ID 1010、描述1012、源1012和目标1014。如上参照图7所述,本地化项目1022可包括共同构成本地化项目702的分层结构的零个或更多子本地化项目1022(未示出)。
图11A是包含在CDATA XML元素1102中的文本数据的一示例性示意图。如本领域中已知的,CDATA XML元素1102用于表示本地化数据文件中的自由文本1104,类似于串。包含在CDATA XML元素1102中的自由文本1104通过在最后一个自由文本1104字符结束处立即使用闭合双括号1106来划定。即,在自由文本1104的结束处插入闭合双括号1106,而在自由文本1104的最后一个字符与闭合双括号1106之间没有任何空字符,诸如空白、制表符等。图11B是包含在CDATA XML元素1102a中的含有方括号字符1110的文本数据的一示例性示意图。如果自由文本1104a包括方括号“]”字符1110,则不能清晰确定自由文本1104a的范围。当字符的含义模糊时,即当能以多种方式解释字符时,转义字符可用于限制字符的解释。除其它技术之外可使用转义字符来消除该字符的岐义。在一个示例性实施方式中,消除方括号“]”的岐义包括在方括号字符1110之前插入诸如空格或制表符符号的空字符1108,来标识方括号1110是自由文本1104a的一部分且不是闭合双括号1106a的一部分。在其它示例性实施方式中,可类似地使用其它特定字符。
图12是本地化XML模式1202和相应对象模型1208的一示例性关系1200的框图。对象模型1208包括多个类1206,每个类1206指定对象模型中的软件对象的设计。本领域技术人员将会意识到,类是用于以诸如C++(C加加)、C#(C井号)和Java的面向对象计算机语言定义软件对象的抽象对象。此外,本领域技术人员将会认识到,软件对象是通过例示类而在计算机存储器中创建的,即通过分配存储器以基于由对应类指定的格式在存储器中创建物理对象。对象模型1208实质上对本地化XML模式1202中的每个元素1204定义一个类1206。使用对象模型1208,在软件应用程序和工具1210中实现本地化XML模式。如上所述,元素1204定义本地化数据格式1212。用于如元素1204所原始定义的用于指定本地化数据的数据格式的数据接口1214由对象模型1208中的类1206指定。软件应用程序和工具1210使用数据接口1214来对每个数据片采用正确格式以正确访问和操纵本地化数据。软件应用程序和工具1210还使用功能接口1216来访问和操纵本地化数据以配置和执行本地化任务。
图13A是带有返回指针的一示例性父和子对象的框图。父对象1302是从第一类例示的软件对象。子对象1304是从第二类例示的软件对象,该第二类是在设计第一和第二类时从第一类导出的。本领域技术人员将会认识到,在诸如C++、C#和Java的面向对象的计算机语言中,第二类可从第一类导出(即指定)。第二类被认为是继承在第一类中包含的成员。类的成员包括函数、变量、指针和其它类。第二类可定义在第一类中未定义的附加新成员。在本领域中,通过第二类获得第一类的成员的关系称为继承。继承是通常在与运行时(即在软件执行过程中)不同的软件开发过程中的设计时发生的进程。本领域技术人员公知为包容的面向对象语言的另一特性也称为聚集。当第一类是第二类的成员时,第一类被认为是包含在第二类中。包容是与继承不同的对象间关系。本领域中,习惯在继承和包容关系中使用术语“父”表示第一类,术语“子”表示第二类。因此,以下讨论中将使用父/子的术语。在图13A所示的示例中,对象模型1208(图12)中的子对象1304包括指向对应父对象1302的返回指针1306。返回指针1306通过在父对象1302与子对象1304之间提供直接链接来增加系统性能,由此可以遍历对象模型1208中的对象关系。所有对象使用指针1306维护对其相应父对象的引用。当父对象1302与子对象1304之间建立关系时,由父对象1302设定反向指针1306。当父对象1302与子对象1304之间的关系断开时,将子对象1302设定为指向另一父对象。
图13B是带有指针和文件指针的一示例性父对象和子对象的框图。如上所述,当父对象1322与1324之间建立关系时,父对象1322设定返回指针1326。当父对象1322与子对象1324之间的关系断开时,将子对象1322设定为指向另一父对象。当子对象1324是资源对象时,文件指针1328由子对象1324用来指向资源文件。如本领域技术人员已知的,资源通常是表示诸如图标、菜单或位图的图像组件的图形数据对象。资源数据包含在根据已起草的资源规范使用资源编译器创建的资源文件1330中。
图14是带有外部定制文化信息的一示例性对象模型1402的示意图。对象模型1402包括默认的公知定制文化1404。为了本地化到对象模型1402中未默认包含的语言和文化,用来自外部文件1406的定制文化信息1408增添对象模型1402。在一个示例性实施方式中,外部文件1406呈现在本地系统中。在另一示例性实施方式中,外部文件1406位于远程系统上。在一示例性实施方式中,对定制文化信息1406进行手动更新。在另一示例性实施方式中,可通过本地化应用程序软件将定制文化信息1406写入文件1406。
图15是部分加载数据的一示例性方法1500的功能流程图。在框1510,客户端软件应用程序打开本地化数据文件。如上所述,本地化数据文件包括在本地化进程中由也称为客户端软件应用程序的软件应用程序工具使用的本地化数据。在一个实施方式中,本地化数据文件包括XML元素。本领域技术人员将会意识到,可使用其它方法和格式来表示软件应用程序的数据,因此,本文中有关示例性XML元素的讨论被解读为是示例性而非限制性的。客户端软件应用程序具有确定将哪些XML元素加载到存储器中以供处理的内部逻辑。例如,只处理用于本地化的文本信息的客户端软件应用程序只需要加载文本相关信息,诸如文本字符的字体和大小。在框1520,从本地化数据文件获取下一XML元素以加载到存储器中并进行处理。然后,在框1530,客户端软件应用程序判定是否必须加载当前XML元素。如果当前XML元素被选择加载,则在框1540,加载当前XML元素,且方法1500进行到框1550。如果当前XML元素未被选择加载,则方法1500进行到框1550,其中方法1500判定在本地化数据文件中是否有更多XML元素可用。如果在本地化数据文件中有更多XML元素可用,则方法1500返回到框1520以获取下一XML元素。如果在本地化文件中没有更多的XML元素可用,则方法1500结束。在一个示例性实施方式中,客户端软件应用程序选择加载一种通用类型数据而不加载其它通用类型数据。例如,处理文本的客户端设置标志,用于只加载串数据而不加载任何二进制数据。在这种情形中,数据的选择在总体级别上进行,从而区分数据类型以基于所选的一般类型数据来加载。
图16是用回调功能细化数据加载的一示例性方法1600的功能流程图。在一个实施方式中,客户端软件应用程序指定要以细化级别加载的数据,包括所有类型的数据,诸如串数据和二进制数据。与以上参照图15讨论的在数据类型总体级别上操作的部分数据加载不同,细化数据加载在所有数据类型内的精细级别上进行。在细化加载中,客户端软件应用程序根据加载哪个数据元提供具体标准。在一个示例性实施方式中,客户端软件应用程序向对象模型1208的功能接口提供回调功能,由此从本地化数据文件检索本地化数据的对象判定是否加载每个数据元。回调功能使用如客户端软件应用程序所定义的用于选择数据的标准。在框1610中,客户端软件应用程序打开本地化数据文件。方法1600进行到框1620,其中由客户端软件应用程序从访问本地化数据文件的对象模型1208向对象提供回调功能。在框1630,获取XML数据元。该对象使用由客户端软件应用程序提供的回调功能以针对加载对XML数据元进行评估。在框1650,方法1600基于来自回调功能的结果判定是否加载当前XML数据元。如果当前XML数据元被选择用于加载,则方法1600进行到框1660,其中XML数据元被加载到存储器中,且方法进行到框1670。如果当前XML未被选择用于加载,则方法1600进行到框1670。在框1670,方法1600判定在本地化数据文件中是否有更多的XML数据元可用。如果有更多的XML数据元可用,则方法1600返回框1630以获取下一XML数据元。否则,方法1600结束。
图17A是数据部分保存的一示例性方法1700的功能流程图。部分保存方法1700是部分加载方法1500的补充。可以要求在存储器中具有准备保存到数据文件中的本地化数据的客户端软件应用程序只保存该数据的一部分。部分保存方法1700允许客户端软件应用程序指定应该将哪些数据保存到数据文件。例如,可以要求客户端软件应用程序只保存串数据。客户端软件应用程序可指定只将串数据保存到数据文件中。在框1710,客户端软件应用程序指定要保存到数据文件中的数据类型。在框1720,将由客户端软件应用程序所指定类型的数据保存到数据文件中。在框1730,关闭数据文件,方法1700结束。
图17B是合并数据保存的一示例性方法1750的功能流程图。无论通过上述的部分数据加载还是细化数据加载,客户端软件应用程序只在存储器中加载数据的一部分。如果客户端软件应用程序的存储器中的数据被如此存储,则最初未加载到存储器中的所有数据将丢失并且未记录在输出数据文件中。为了防止数据丢失,方法1750将客户端软件应用程序存储器中的数据与来自最初未加载到客户端软件应用程序存储器中的数据文件合并。为了保存由客户端软件应用程序对已加载数据进行的修改,保存对数据文件和客户端软件应用程序存储器通用的该数据的存储器副本。在框1760,打开客户端软件应用程序加载本地化数据所使用的原始数据文件。在框1770,从该数据文件获取下一可用XML元素。在框1780,方法1750判定客户端软件应用程序的存储器中是否也存在从该数据文件获取的当前XML元素。如果存储器中存在当前XML元素,则在框1785,将XML元素的存储器副本保存到该数据文件中。然后,方法1750进行到框1790。在框1780,如果存储器中不存在当前XML元素,则当前XML元素最初未被加载,并且未被修改,因此无需再次在数据文件中保存。在这种情形中,方法1750进行到框1790。在框1790,方法1750判定数据文件中是否还有更多的XML元素。如果还有更多的XML元素,则方法1750进行到框1770以获取下一XML元素。否则,方法1750结束。
图18是细化数据保存的一示例性方法1800的功能流程图。细化保存方法1800是细化数据加载方法1600的补充。类似于细化加载方法1600,细化保存方法1800指定每个数据对象是否必须被保存。在一个实施方式中,客户端软件应用程序指定要在精细细化级别保存的数据,包括所有类型的数据,诸如串数据和二进制数据。与以上参照图17A所述的在数据类型的总体级别上操作的数据部分保存不同,数据的细化保存在所有数据类型内的精细级别上进行。在细化保存中,客户端软件应用程序根据保存哪个数据对象指定具体标准。在一个示例性实施方式中,客户端软件应用程序向对象模型1208的功能接口提供回调功能,由此将本地化数据保存到本地化数据文件的对象判定是否保存每个数据元。回调功能使用如客户端软件应用程序所定义的数据选择标准。方法1800进行到框1810,其中由客户端软件应用程序从访问本地化数据文件的对象模型1208向对象提供回调功能。在框1820,从客户端软件应用程序存储器获取XML数据元。在框1830,该对象使用由客户端软件应用程序提供的回调功能来针对保存对XML数据对象进行评估。在框1840,方法1800基于来自回调功能的结果判定是否保存当前XML数据元。如果当前XML数据元被选择为保存,则方法1800进行到框1850,其中XML数据元被保存到数据文件,且该方法进行到框1860。如果当前XML未被选择为保存,则方法1800进行到框1860。在框1860,方法1800判定在存储器中是否有更多的XML数据元可用。如果有更多的XML数据元可用,则方法1800返回框1820以获取下一XML数据元。否则,方法1800结束。
图19是一示例性本地化对象模型1900的示意图。如上所述,本领域技术人员应该认识到,对象模型是软件系统中不同对象类型或类(对象的抽象表示)的关系的抽象表示。对象模型可用于表示对象之间的继承关系以及包容关系。对象模型1900提供用于对象和关系的类型规范,该规范允许相对于基于本地化XML模式1202创建的本地化数据文件中数据的基本输入和输出功能。如上所述,本领域技术人员将会意识到对象模型1900可应用于其它类型的数据模式,并且示例性本地化XML模式的讨论不应被解读为对本发明的限制。对象模型1900允许本地化数据文件的分割和合并。此外,对象模型1900允许添加有关注释的源和描述的信息。对象模型1900还允许包括已引用的翻译以在本地化进程中提供帮助。如参照图12所述的,对象模型1900紧密对应于本地化XML模式1202。即,对象模型1900中的每个类对应于本地化XML模式1202中的一个元素。因此,本地化文件1902是表示基于本地化XML模式1202的本地化数据文件的类。本地化文件类1902包括文化类1904和本地化项目列表类1906。本地化项目列表类1906包括在本地化项目类1908中。在一个实施方式中,本地化项目列表类1906是线性列表,与分层结构不同,它很容易允许将本地化数据文件404分割成部分数据文件406并将部分数据文件406合并回本地数据文件408。本地化项目类1908是对象模型1900中对象模型1900的大多数其它类所相关的中心类。在一个实施方式中,本地化项目类1908包括父资源、本地化文件、资源ID、子本地化项目(如下描述)的本地化项目列表(如下描述)、二进制数据类(如下描述)、以及各注释的注释列表(如下描述)。
本地化项目类1908还包括注释类1910。在一个实施方式中,注释类1910是注释列表类的一部分。本地化项目类1908还包括串数据类1912和二进制数据类1914。串数据类1912包括串源类1916和串目标类1918。串源数据类1916提供原始串和其它串特性。串目标类1918包括该串的本地化信息。二进制数据类1914包括二进制源类1920和二进制目标1922。二进制源类1920呈现原始二进制字节数组和其它二进制特性。二进制目标类1922提供二进制状态信息。在另一实施方式中,对象模型1900可以包括在本地化项目类1908中包含的诸如显示信息类和资源ID类的其它类。在一示例性实施方式中,串数据类1912和二进制数据类1914包括串参考类和二进制参考类(未示出)。参考类提供有关参考语言的信息,可用于为将串和二进制数据从源语言翻译到目标语言提供附加信息。
图20是用于创建和提供本地化数据文件的一示例性方法2000的功能流程图。在框2010,创建新的本地化数据文件。在框2020,向本地化数据文件添加本地化项目。在框2040,方法2000判定是否还有要向本地化数据文件添加的更多本地化项目。如果还有更多本地化项目,则方法2000进行到框2020,其中向本地化数据文件添加本地化项目。否则,方法2000进行到框2060,其中保存本地化数据文件。
图21是用于向本地化项目添加注释的一示例性方法2100的功能流程图。方法2100需要来自客户端软件应用程序的输入信息,以标识添加注释所针对的本地化项目。如上所述,可在注释中嵌入与本地化项目相关联的用于本地化的指令。在框2110,打开本地化数据文件。在框2120,方法2100验证尝试向本地化项目添加注释的客户端软件应用程序的注释所有权。如果该客户端软件应用程序不拥有向本地化项目的注释类型,则方法2100进行到框2170,其中关闭本地化数据。如果客户端软件应用程序拥有该注释类型,则方法2100进行到框2130,其中创建新的注释。在框2140,对所需值设定注释的名称和值属性。在框2150,向本地化项目添加注释。方法2100进行到框2160,其中保存该文件。在框2170,关闭该文件,且方法2100结束。
图22是用于文件剥离的一示例性方法2200的功能流程图。在保存数据之前,将必须不被保存到本地化数据文件的所有数据从客户端软件应用程序的存储器移除。在一个实施方式中,方法2200移除不包含注释的所有本地化项目。将二进制信息和串从所有其它本地化项目移除。在一个实施方式中,使用递归方法,它包括子本地化项目作为输入。递归方法从子本地化项目剥离所有二进制和串信息。来自对递归方法的调用的“假”返回值表明作为输入向递归方法提供的子本地化项目以及该子本地化项目的所有子项目不具有注释,并将该子本地化项目和该子本地化项目的所有子项目移除。在框2210,访问子本地化项目。在框2220,方法2200判定该子项目是否包括注释。如果该子项目包括注释,则方法2200进行到框2230,其中丢弃子本地化项目的二进制和串数据。如果该子项目不具有注释,则在框2240移除该子项目。在框2230,方法2200进行到框2250。在框2240,该方法2200进行到框2250,其中判定是否还有更多子本地化项目。如果还有更多子本地化项目,则方法2200进行到框2210,其中访问下一子本地化项目以进行评估。否则方法2200结束。
虽然示出和描述了本发明的当前较佳实施方式,但是本领域技术人员应该意识到,在此可进行各种变化而不背离本发明的精神和方法。例如,虽然上述系统和方法针对使用XML模式的本地化数据,但是可以使用其它数据格式规范。因此,本发明不应被解读为限制于上述示例性实施方式。

Claims (20)

1.一种具有用于本地化包含在软件程序中的数据的计算机可读组件的计算机可读介质,所述计算机可读组件包括:
由软件数据模式定义的数据元;
特性库数据元,用于存储有关所述数据元的多个数据特性;以及
自有注释数据元,包括与包含在软件程序中的所述数据的本地化以及具有创建、访问和操纵所述自有注释数据元的许可的所有者有关的信息。
2.如权利要求1所述的计算机可读介质,其特征在于,所述软件数据模式是可扩展标记语言(“XML”)模式。
3.如权利要求1所述的计算机可读介质,其特征在于,所述数据元中的至少两个被安排成分层结构,其中父数据元在所述分层结构中的位置比子数据元高。
4.如权利要求3所述的计算机可读介质,其特征在于,所述父和子数据元的每一个包括特性库数据元。
5.如权利要求1所述的计算机可读介质,其特征在于,所述自有注释数据元包括针对软件本地化工具和人类操作员中的至少一个、与所述软件程序中包含的数据的本地化相关的指令。
6.如权利要求1所述的计算机可读介质,其特征在于,所述自有注释数据元包括对所述自有注释数据元的描述以及与所述自有注释数据元的所有权有关的信息。
7.一种具有用于本地化包含在软件程序中的数据的计算机可读组件集合的计算机可读介质,所述计算机可读组件集合包括:
基于软件数据模式而定义的数据元;
特性库数据元,用于存储有关所述数据元的多个数据特性;
本地化数据元的线性列表,可用于将所述计算机可读组件集合分割成多个子集,分开操纵所述多个子集中的数据元,以及将所述多个子集重新合并回单个计算机可读组件集合;以及
自有注释数据元,包括与包含在软件程序中的所述数据的本地化以及具有创建、访问和操纵所述自有注释数据元的许可的所有者有关的信息。
8.如权利要求7所述的计算机可读介质,其特征在于,所述软件数据模式是可扩展标记语言(“XML”)模式。
9.如权利要求7所述的计算机可读介质,其特征在于,所述数据元中的至少两个被安排成分层结构,其中父数据元在所述分层结构中的位置比子数据元高。
10.如权利要求9所述的计算机可读介质,其特征在于,所述父和子数据元的每一个包括特性库数据元。
11.如权利要求7所述的计算机可读介质,其特征在于,所述自有注释数据元包括针对软件本地化工具和人类操作员中的至少一个、与所述软件程序中包含的数据的本地化相关的指令。
12.如权利要求7所述的计算机可读介质,其特征在于,所述自有注释数据元包括对所述自有注释数据元的描述以及与所述自有注释数据元的所有权有关的信息。
13.如权利要求7所述的计算机可读介质,其特征在于,所述自有注释数据元包括含有至少一个名称和相应值数据对的信息。
14,一种具有存储其上的用于软件程序本地化的软件对象集合的计算机可读介质,所述软件对象集合包括:
a)包含在每个软件对象中的数据和指令;
b)本地化项目对象,包括本地化数据和以下中的至少一个:
i)本地化项目列表对象,包含其它本地化项目对象的列表;
ii)注释对象,包括有关软件程序本地化的信息;
iii)串数据对象,用于存储计算机文本信息;以及
iv)二进制数据对象,用于存储二进制信息;
其中每个软件对象对应于由软件数据模式定义的数据结构,且每个软件对象用于访问和操纵存储在由所述软件数据模式定义的相应数据结构中的数据。
15.如权利要求14所述的计算机可读介质,其特征在于,所述软件对象的每一个包含采用面向对象计算机语言的软件类。
16.如权利要求14所述的计算机可读介质,其特征在于,所述软件数据模式是可扩展标记语言(“XML”)模式。
17.如权利要求14所述的计算机可读介质,其特征在于,所述软件对象中的至少一个读取存储在所述相应数据结构中的预选数据。
18.如权利要求14所述的计算机可读介质,其特征在于,所述软件对象中的至少一个将预选数据存储在所述对应数据结构中。
19.如权利要求14所述的计算机可读介质,其特征在于,所述软件对象中的至少两个作为父子彼此相关,其中子对象或是包含在父对象中或是从所述父对象导出。
20.如权利要求19所述的计算机可读介质,其特征在于,所述子对象包括指向所述父对象的返回指针。
CN2006800332000A 2005-09-12 2006-09-12 本地化软件程序及其中包含的数据的方法 Expired - Fee Related CN101263454B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US71629505P 2005-09-12 2005-09-12
US60/716,295 2005-09-12
US11/335,088 US7747588B2 (en) 2005-09-12 2006-01-18 Extensible XML format and object model for localization data
US11/335,088 2006-01-18
PCT/US2006/035691 WO2007033260A1 (en) 2005-09-12 2006-09-12 Extensible xml format and object model for localization data

Publications (2)

Publication Number Publication Date
CN101263454A true CN101263454A (zh) 2008-09-10
CN101263454B CN101263454B (zh) 2011-08-17

Family

ID=37856534

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2006800332000A Expired - Fee Related CN101263454B (zh) 2005-09-12 2006-09-12 本地化软件程序及其中包含的数据的方法

Country Status (7)

Country Link
US (1) US7747588B2 (zh)
EP (1) EP1934724A4 (zh)
JP (1) JP5049280B2 (zh)
KR (1) KR20080053295A (zh)
CN (1) CN101263454B (zh)
RU (1) RU2419838C2 (zh)
WO (1) WO2007033260A1 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102609247A (zh) * 2011-01-24 2012-07-25 谷歌公司 国际化的图形用户界面
CN103309647A (zh) * 2012-03-08 2013-09-18 鸿富锦精密工业(深圳)有限公司 应用程序多语言支持系统及方法
CN106412080A (zh) * 2016-10-21 2017-02-15 李丽亚 一种基于网络服务实现软件本地化和国际化的方法

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7552383B2 (en) 2005-06-23 2009-06-23 International Business Machines Corporation Method for efficiently processing comments to records in a database, while avoiding replication/save conflicts
US8151243B1 (en) * 2006-06-06 2012-04-03 Oracle America, Inc. System and method for determining whether an array is a read-only array
US7797349B2 (en) * 2007-03-06 2010-09-14 Kyocera Mita Corporation Device user interface XML string table manager
CN101329665A (zh) * 2007-06-18 2008-12-24 国际商业机器公司 解析标记语言文档的方法和解析器
US7912825B2 (en) * 2007-06-21 2011-03-22 Microsoft Corporation Configurable plug-in architecture for manipulating XML-formatted information
US7933933B2 (en) * 2007-07-30 2011-04-26 Oracle International Corporation Fast path loading of XML data
US8307008B2 (en) * 2007-10-31 2012-11-06 Microsoft Corporation Creation and management of electronic files for localization project
US8010339B2 (en) * 2008-02-14 2011-08-30 Microsoft Corporation Storage device that provides efficient, updatable national language support for a mobile device
US8719693B2 (en) * 2008-02-22 2014-05-06 International Business Machines Corporation Method for storing localized XML document values
US8521753B2 (en) * 2008-03-03 2013-08-27 Microsoft Corporation Unified formats for resources and repositories for managing localization
US9317274B2 (en) * 2008-08-06 2016-04-19 Lenovo (Singapore) Pte. Ltd. Apparatus, system and method for integrated customization of multiple disk images independent of operating system type, version or state
US20110106779A1 (en) * 2009-10-30 2011-05-05 Research In Motion Limited System and method to implement operations, administration, maintenance and provisioning tasks based on natural language interactions
US8515977B2 (en) * 2010-09-10 2013-08-20 International Business Machines Corporation Delta language translation
US8352507B2 (en) 2010-10-29 2013-01-08 Microsoft Corporation Retrieval and storage of localized instances of data objects
JP5729994B2 (ja) * 2010-12-08 2015-06-03 キヤノン株式会社 送信装置、送信システム、送信方法、およびプログラム
US9164751B2 (en) * 2011-09-30 2015-10-20 Emc Corporation System and method of rolling upgrades of data traits
US8612405B1 (en) 2011-09-30 2013-12-17 Emc Corporation System and method of dynamic data object upgrades
US9239831B2 (en) 2011-12-07 2016-01-19 Google Inc. Data localization service made available by a web browser
US9268533B2 (en) 2013-01-30 2016-02-23 International Business Machines Corporation Method and apparatus for enabling layered property definition in traditional and cloud computing environments
US9483450B2 (en) * 2013-04-04 2016-11-01 Adobe Systems Incorporated Method and apparatus for extracting localizable content from an article
GB201315520D0 (en) * 2013-08-30 2013-10-16 Deltaxml Ltd Representation of multiple markup language files that differ in structure and content in one file for the production of new markup language files
US9584565B1 (en) 2013-10-08 2017-02-28 Google Inc. Methods for generating notifications in a shared workspace
US20160366234A1 (en) 2015-06-10 2016-12-15 Ricoh Company, Ltd. Data process system, data process apparatus, and data process method
US10628175B2 (en) 2017-10-04 2020-04-21 Citrix Systems, Inc. Loader application with secondary embedded application object

Family Cites Families (26)

* 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
JPH1091418A (ja) * 1996-09-17 1998-04-10 Nec Corp 多国語対応ソフトウェア実現方式
US5960198A (en) * 1997-03-19 1999-09-28 International Business Machines Corporation Software profiler with runtime control to enable and disable instrumented executable
US6678882B1 (en) * 1999-06-30 2004-01-13 Qwest Communications International Inc. Collaborative model for software systems with synchronization submodel with merge feature, automatic conflict resolution and isolation of potential changes for reuse
US6311180B1 (en) 2000-03-28 2001-10-30 Linx Data Terminals, Inc. Method for mapping and formatting information for a display device
FR2809509B1 (fr) * 2000-05-26 2003-09-12 Bull Sa Systeme et procede d'internationalisation du contenu de documents a balises dans un systeme informatique
US6859820B1 (en) * 2000-11-01 2005-02-22 Microsoft Corporation System and method for providing language localization for server-based applications
EP1333374B1 (en) 2001-06-11 2016-09-07 Sap Se Dynamic generation of language localized and self-verified Java classes using XML descriptions and static initializers
US20030046670A1 (en) * 2001-06-15 2003-03-06 Marlow Mark J. Binary object system for automated data translation
US20030004703A1 (en) * 2001-06-28 2003-01-02 Arvind Prabhakar Method and system for localizing a markup language document
US6659945B2 (en) * 2001-06-29 2003-12-09 Depuy Orthopaedics, Inc. Self retaining retractor ring
US20030084401A1 (en) 2001-10-16 2003-05-01 Abel Todd J. Efficient web page localization
US7447624B2 (en) * 2001-11-27 2008-11-04 Sun Microsystems, Inc. Generation of localized software applications
US6944846B2 (en) * 2001-12-14 2005-09-13 Hewlett-Packard Development Company, L.P. Algorithm for localization of a JAVA application using reflection API and a custom class loader
US7007026B2 (en) * 2001-12-14 2006-02-28 Sun Microsystems, Inc. System for controlling access to and generation of localized application values
US7152222B2 (en) * 2002-01-08 2006-12-19 International Business Machines Corporation Method and system for localizing Java™ JAR files
US20050114445A1 (en) * 2002-07-25 2005-05-26 Kenneth Tracton Dynamic content customization in a clientserver environment
US20040088155A1 (en) 2002-10-31 2004-05-06 John Kerr Method and apparatus for localization of applications
US7437704B2 (en) * 2003-08-28 2008-10-14 Ines Antje Dahne-Steuber Real-time generation of software translation
US20050066315A1 (en) * 2003-09-23 2005-03-24 Nguyen Liem Manh Localization tool
US7516442B2 (en) * 2003-10-23 2009-04-07 Microsoft Corporation Resource manifest
CN1261867C (zh) * 2003-12-16 2006-06-28 艾默生网络能源有限公司 软件中语言资源本地化的实现方法
US20060059424A1 (en) * 2004-09-15 2006-03-16 Petri Jonah W Real-time data localization
US7617092B2 (en) * 2004-12-01 2009-11-10 Microsoft Corporation Safe, secure resource editing for application localization
US7788648B2 (en) * 2005-02-28 2010-08-31 International Business Machines Corporation System and method for the localization of released computer program
US7987087B2 (en) * 2005-06-15 2011-07-26 Xerox Corporation Method and system for improved software localization

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102609247A (zh) * 2011-01-24 2012-07-25 谷歌公司 国际化的图形用户界面
CN103309647A (zh) * 2012-03-08 2013-09-18 鸿富锦精密工业(深圳)有限公司 应用程序多语言支持系统及方法
CN106412080A (zh) * 2016-10-21 2017-02-15 李丽亚 一种基于网络服务实现软件本地化和国际化的方法

Also Published As

Publication number Publication date
RU2008109242A (ru) 2009-10-10
US20070061345A1 (en) 2007-03-15
WO2007033260A1 (en) 2007-03-22
CN101263454B (zh) 2011-08-17
JP2009508268A (ja) 2009-02-26
EP1934724A1 (en) 2008-06-25
RU2419838C2 (ru) 2011-05-27
EP1934724A4 (en) 2009-01-07
JP5049280B2 (ja) 2012-10-17
US7747588B2 (en) 2010-06-29
KR20080053295A (ko) 2008-06-12

Similar Documents

Publication Publication Date Title
CN101263454B (zh) 本地化软件程序及其中包含的数据的方法
US9405532B1 (en) Integrated cloud platform translation system
CN101520731B (zh) 图形用户接口应用比较器
Fontoura et al. The UML profile for framework architectures
Linsbauer et al. Concepts of variation control systems
CN102576363B (zh) 扩展商业智能系统的形式和功能的基于内容的方法
US7783637B2 (en) Label system-translation of text and multi-language support at runtime and design
US20060101051A1 (en) Electronic data capture and verification
EP1146437A2 (en) Method for executing a data transformation specification
US20050289524A1 (en) Systems and methods for software based on business concepts
US7523077B2 (en) Knowledge repository using configuration and document templates
US7921138B2 (en) Comment processing
Said et al. A method of refinement in UML-B
US7444314B2 (en) Methods and apparatus for business rules authoring and operation employing a customizable vocabulary
Peltonen Concepts and an implementation for product data management
Krogstie Capturing enterprise data integration challenges using a semiotic data quality framework
US20080127136A1 (en) Software build system, software build method, and recording medium storing software build program
US20070061351A1 (en) Shape object text
CN112507660A (zh) 一种用于复合文档的同源判定、差异化显示方法和系统
US9383972B2 (en) Methods and arrangements for processing and presentation of information
Polášek et al. Information and knowledge retrieval within software projects and their graphical representation for collaborative programming
CN113811849A (zh) 计算机辅助计算机编程的系统和方法
US11526336B2 (en) Community-oriented, cloud-based digital annealing platform
EP1143357A2 (en) Method for defining iteration configuration in a data transformation specification
El-Ghadhafi et al. An Enhancement Approach of Software System-Using Reverse Engineering and Restructuring Concept to Improve the Quality of Software Code

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: 20150424

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

Effective date of registration: 20150424

Address after: Washington State

Patentee after: Micro soft technique license Co., Ltd

Address before: Washington State

Patentee before: Microsoft Corp.

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

Granted publication date: 20110817

Termination date: 20190912

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