CN1368693A - 用于全球化软件的方法和设备 - Google Patents
用于全球化软件的方法和设备 Download PDFInfo
- Publication number
- CN1368693A CN1368693A CN01123655A CN01123655A CN1368693A CN 1368693 A CN1368693 A CN 1368693A CN 01123655 A CN01123655 A CN 01123655A CN 01123655 A CN01123655 A CN 01123655A CN 1368693 A CN1368693 A CN 1368693A
- Authority
- CN
- China
- Prior art keywords
- code
- area
- software
- resource packet
- file
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/51—Source to source
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/205—Parsing
- G06F40/211—Syntactic parsing, e.g. based on context-free grammar [CFG] or unification grammars
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/205—Parsing
- G06F40/221—Parsing markup language streams
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/279—Recognition of textual entities
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/30—Semantic analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/40—Processing or translation of natural language
- G06F40/58—Use of machine translation, e.g. for multi-lingual retrieval, for server-side translation for client devices or for real-time translation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
- G06F9/454—Multi-language systems; Localisation; Internationalisation
Abstract
一种方法,用来通过自动、半自动语法分析过程处理与一个最初地区相关的软件或网站代码。该方法将代码分成一个与地区不相关的国际化代码文件,以及一个针对最初地区的特定的项目的资源包。国际代码与资源包联合操作,用来执行原始代码功能。资源包能够被转换到任何数目的其它地区。每一个转换的资源包与国际代码一起作用于源代码,使其适应另一地区。
Description
发明领域
本发明关于自动或半自动的处理软件或包含特定地区信息、用来产生全球化的软件的网站代码的方法和设备。
发明背景技术
在本文件中,我们使用“网站代码”这个术语是指定义网站的标记语言,脚本语言和程序设计语言(他们的后继站的当前语言),同时,“软件”是指用任何一种程序设计语言所写的程序,例如,Java、C、C++、VisualBasic、Perl、COBOL、SQL、C#等语言所写的程序。软件和网站代码通常包括某种格式的信息,这些信息与特定的地区相适应。例如,当前对客户的显示器和用户界面,通常使用一种在这一地区经常使用的语言。在网站代码定义了向特定地区的用户传播的网站的情况下,通常使用在这个地区的货币形式。时间是根据所在地区的时区给出的。所有这类信息(与语言和文化有关的信息)在这里被称为“与地区相关”的信息。
一般情况下,在特定地区的用户所写的软件必须适应其他用户的地区。例如,由软件定义的用户界面允许用户控制软件,可能需要从一种语言翻译到另一种语言。可以估计,对于网站代码来说,目前大约有2亿非英语因特网用户,并且更进一步地知道,在网站进行产品广告的情况下,人们更愿意买使用他们母语的产品,尽管其它产品对于他们来说所使用的语言是他们能够理解的,但不是他们的母语。这一事实导致客户需要能够访问包含一定与地区相关的信息的网站。
传统情况下,为解决提供多语种支持的问题,各公司利用两层处理,其中软件或网站代码为首先对一定地区开发的,然后,在需要的时候,可以根据每个地区转换格式(例如,参考手册式的),每个地区有一个转换处理。这一处理是麻烦的,耗时,昂贵并且管理、维护和支持的效率很低。无论什么时候,打算提供对于适合一个新地区的代码,必须重复进行同样工作。转换过程可以通过使用了一个编辑器或替代程序表的字符串替代程序利用参考手册式的执行。
发明概述
本发明目的在于提供一种能够自动、半自动、处理软件或包含特定的第一地区的信息的网站代码的新的、有用的方法和设备。
按照一般说法,本发明建议,软件和网站代码包括与第一地区(或“最初”地区)结合在一起的信息,是由自动、半自动国际化的语法分析过程分别转换成国际化代码的文件(即与地区不相关),以及专门针对第一地区的项目的资源包。国际化过程包括对确认其结构的原始代码分析,并且在这一分析基础之上包括附加到资源包中的信息的可能项目的确认。
这样产生的资源包可以服从“地区化”,其转换成专门针对第二地区的资源包。
新的处理过程是自动的(或半自动的),并且更加准确。这样,本发明使得适合软件或网站代码成为可能(i)比已有技术,本发明转换时间较短(ii)本方法有效利用成本(iii)同时可以任选多个地区(iv)提高了质量控制,以及(v)提高了早期管理、维持、更新和支持的连贯性。
包含附加到资源包的信息的任选项的确认使用“国际化规则”。更好的是,这些规则能够通过用户改善国际化(例如,根据最初地区的知识、程序设计语言或代码类型)来增补,并且这种方法使用应用国际化规则的规则引擎。
值得注意的是当需要产生一个针对第三地区的软件,这可以通过转换第三地区的资源包来完成。而国际化的步骤就不必重复了。
本发明可以等价地描述为方法、用来执行方法的设备;或者用来执行使计算机执行这一方法的计算机可读程序结构的计算机程序产品。
附图说明
下面将描述本发明的实施例,为此参考以下附图:
图1为本发明第一实施例的操作示意图。
图2为本发明第一实施例的操作的又一示意图。
图3表示本发明第一实施例的结构。
图4表示本发明第一实施例的国际化处理阶段。
图5表示本发明第一实施例的国际化分析处理阶段。
图6为本发明第一实施例的地区化处理的工作流程图。
图7为本发明第二实施例的结构。
图8为由本发明第二实施例执行的网页全球化过程。
实施例的详细描述
下面描述本发明的两个实施例。第一实施例用于国际化软件。第二实施例用于国际化网站代码。1.本发明第一实施例第一实施例概述
本发明的实施例可以称为执行SGIL(通过国际化和地区化使软件全球化),“国际化”有时被缩写成“I18N”,而地区化被缩写成“L10N”,特别在附图中。
图1(在划线部分之上)为本发明第一实施例,是一个计算机软件包。实施例中包含一个带有一系列组件的软件全球化框架,应用程序接口(API),以及通过国际化和地区化使软件全球化能够实现和改善的工具。
正如图1所示,该实施例执行输入“原始代码”,“原始代码”包含与第一地区(“默认地区”)相关联的一定数量的与语言和文化相关的信息。原则上来说,默认地区可以是任何地区,尽管实际上通常指美国。在国际化阶段,“原始代码”被分成与地区不相关的国际化源代码(“I18Ned”源代码),以及与地区相关的资源包,资源包即是一系列的“资源文件”。
本实施例进一步包含一系列“地区化工具”。这些在国际化处理中没有用到。但是,它们用来提高和改善地区化处理。具体来说,实施例的一个用户(他执行在划线部分之下描述的处理)向已被国际化处理过程处理过的资源包存取。他执行一个地区化处理,例如,使用实施例中提供的地区化工具,将资源包从默认语言转换为其它资源包,每一个都对应一个不同的地区。被国际化的代码和转换了的资源包的结合是适合新地区的地区代码。
结果是一种具有图示在图2中的格式的软件。图2说明,除了在国际化处理过程中创建的默认地区(“英语”)资源包以外,还有在对中国、法国以及西班牙等的地区化处理过程中创建的资源包,它们当中任何一个都与国际化,与地区化无关的代码(即是国际化代码)相结合来形成针对那个地区的软件。结构
本实施例的结构由图3给出。具体来说,第一实施例的组件有:
1)一个Java虚拟机(JVM)。这一组件以一种已知的方法操
作于本实施例和运行本实施例的操作系统之间的接口上,例
如Windows 9x/NT/2000,SUN操作系统,Solaris 2.X,Linux,
或支持JVM的任何操作系统。
2)工程主机作为一个管理工具来组织工程。它控制所有有关
全球化的文件,例如源文件和资源文件,以及下面描述的系
统其它组件。
3)配置中心是一个与用户通信的接口,它允许用户设置和培
植本实施例的操作。
4)分析器是一个源代码分析组件,它用来理解源代码语法结
构和根据下面描述的国际化规则检测诸如硬代码文本和地区
相关的功能可能存在的国际化错误。分析产生关于如何解决
可能存在的国际化错误的建议。分析器按照以下4个阶段操
作:词汇、句子结构、语义和国际化分析。每一个源程序从
一种描述转换成另一种描述。分析器构成了作为嵌于本实施
例的结构的核心组件的语言I18N/L10N引擎。
5)国际化规则组件是一系列的规则,有了这些规则,源代码
中可能存在的国际化错误能够被判断出来。通过“可能存在
的国际化错误”,其含义是源代码中的地区相关项目。可能存
在的国际化错误是我们需要根据国际化规则改正的项目。
6)鉴定器提供统计资料,评价国际或地区的准备
(readiness)。
7)国际化分析器(Interlyzer)根据详细的国际化分析(分析
器)提供关于如何解决可能存在的国际化错误的建议。其提
供诸如那些相关的字符串、日期、时间、货币、重量以及测
量等等与国际化地区相关的建议,这些建议是通过下述步骤
完成的:
——根据I18N规则提取消息,
——根据I18N规则改写方法,
——创建资源文件,并且将硬代码地区(以来语言和转换/统
计偏差)转移到外部资源文件。
8)地区化分析器工作在产生于国际化分析器的资源文件之
上。它提供的模块(词典应用程序接口(DAPI)、资源管理
器、以及翻译-存储器接口)用来增加和改善地区化生产力。
地区化分析器通过提供工具和环境来集成其他厂家的地区化
产品来组织、操纵和管理资源以加速地区化和翻译处理过程。
9)DAPI(词典应用程序接口)提供了一个用来集成任何给
定语言词典到地区化分析器以提高消息翻译的效率的接口。
10)资源管理器是一个把国际化处理过程中产生的资源文件合
为一体的工具。这种资源重组织包括归并相同的字符串,并
且产生词汇词典。组织好的资源文件能够被更快、更有效的
翻译。
11)翻译-存储器接口通过比较包含在先前工作中的数据库的
消息使翻译处理更容易。完全翻译过的消息被滤出,仅剩下
新的需要翻译的消息。第一实施例的运行
第一实施例执行国际化(主要由分析器和国际化分析器执行)和地区化(由地区化分析器执行)两个处理过程。国际化过程能通过以下步骤执行:
a)自动利用默认配置。
b)自动利用国际化脚本。
c)通过在屏幕上选择项目对项目进行交互操作。国际化处理被分为(a)扫描阶段(b)语法分析阶段(c)语义分析阶段(d)全球化分析阶段,以及(e)国际化分析阶段。阶段(a)到阶段(d)由分析器执行,阶段(e)由国际化分析器执行。图4详细图示了这些阶段。
a)扫描阶段可以被认为是词汇分析。在这一阶段中构成源代码的字符流被从头读到尾,并被按照具有共同含义的字符的顺序分组为各个项目。这些项目被称为标记。在这一阶段,检测连续的字符串。
b)语法分析阶段可以被认为是句子结构分析。这一阶段获得在扫描阶段产生的标记流,然后根据程序设计语言的语法试图给它们按照语法阶段的层次分组。这一阶段以语法树的形式描述。与此同时,程序结构是清楚的并且不同的表述被识别出来。
c)语义分析阶段检查语法树,并且对每一条代码完成详述,尤其是确定它们的类型。这一阶段的一项重要任务是参考与当前目标文件相关的其它源文件或库。然后,能确定表示类型和实际的例行程序(功能约束)。这一阶段中语法树是最终的语法树。
d)全球化分析阶段利用国际化规则详细分解语法树。这一阶段检测可能存在的国际化问题,例如,硬代码文本、地区特定功能,以及与地区相关的数据格式。所有项目都以可能存在的国际化错误(“PIE”)记录。
e)国际化分析阶段产生与地区无关的源代码和PIE的资源包。资源包也包含每个PIE的详细信息,例如,将PIE转换为全球化的声明或形式的建议。
在阶段(a)到(e)中,在软件的全球化流畅程序中评价数据被累加到本实施例的评价组件中。
下面我们详细描述全球化分析阶段(d),其中包括以下步骤:
1.字符串分析。
字符串经常是初始的国际化目标,因为通常情况下的全部
用户接口信息都是在字符串中产生的。但是,为了准确地实现
它,本实施例对来自语法树的全球化分析的全部字符串进行上
下文检测,来找到它们的用法,以便确定是否对它们进行国际
化。剩下的工作是过滤出例外的字符串。例如,在Java程序设
计语言中,以下字符串不必进行国际化,并且需要从PIE表中
滤出:
◆字体:“DialogInput”,“Dialog”,“Monospaced”,“Serif”,
“SansSerif”,“Symbol”。
在Java虚拟机(JVM)上,当被用作具体化虚拟字体名
称时,这些字符串不必进行国际化。JVM将这些字体地区化
为运行期内的矫正地区字体。◆版式布局字符串:“North”,“South”,“Center”,“West”,“East”。
在版式布局管理器组件中,这些字符串作为JVM内部使用的版式布局结构。◆类名:com,sybase,jdbc2,jdbc,SybDriver……
在Java语言中,类装载程序能够以类名访问一个类。这作为“通过名称装载”功能,是已知的,该功能尤其对于JDB(Java数据库连接)驱动器初始化来说是非常有用的。这些字符串不能被国际化。同样,对于Java,long,reflect包中使用的大部分字符串都是这样的。◆在因特网上的www服务程序上用于指定信息位置的方法(URL)和电子邮件(Email):http://www.everlastingsystems.com……
URL和Email不必进行国际化。同样,对用户名和密码也是这样的。◆文件名:“log.txt”……
这种字符串使用在代表文件名的文件开放方法标准中,并且不必进行国际化。◆控制流:“\n”……
有时无意义的字符串,可能是控制流或仅是内部使用的字符串,不必进行国际化。
除了过滤,本实施例根据它们在I18N规则中自己的字符定义,将其余的字符串加以系统化,其中颜色和图片能被放入单独的类目中,以便于统一对它们进行处理。2.格式
一条复合的消息可以包含几种不同的数据:日期、时间、字符串、数字、货币、以及百分数。因为终端用户能够理解这些数据元素,它们的格式必须符合各种不同的文化习俗。例如,如果程序需要当前下面的消息:“At<time>on<date>we are going to meet our<num>customersin the city of<place>”
在这些项目中以尖括号引用的部分在这条消息中为不确定复合。在替换了这些不确定(元素)之后的结果为:“At 9:00 am on January 15,2000,we are going to meet our1600 customers in the city of San Jose”
但是在另一个地区,以下方面将会完全不同:◆词序
对于一些语言,动词出现在句尾。消息的国际化规则通过使用一个消息格式已知的子规则解决了这一问题。◆复数
消息中的词可能会变化成复数词格式或单数词格式。针对复数的国际化规则检测以不同的数字表示消息复合的,以及使用了已知的可选格式的子规则来图示对一个词或一个阶段的数目,允许语法改正消息的结构。
◆日期、时间、数字、货币、百分数
对于不同语言来说,这些信息的表述有很大的不同,有一
系列国际化规则检测变量和建议来使用已知日期格式、时间格
式、数字格式、百分数格式的子规则。
◆校勘
通过文本执行频繁的字符串比较对应程序分类。但是,在
两个字符串中字符的二进制元素比较不是根据相关的大部分非
拉丁语地区的顺序。针对这些规则建议使用校勘库来代替。
◆检查字符属性
检查字符属性是证明由终端用户键入的数据的普通方式,
但是通过字符连续比较的方法是错误的,因为这种方法仅以英
语和少数其它语言工作。实施例指出并建议使用由国际化规则
提供的方法。
◆其它与地区相关的方法的使用
在源代码中一些其它方法的使用可以通过新的国际化支持
而被拒绝,例如,不通过时区信息获得系统时间,不通过译码
信息将字节转换成字符串。对本实施例有很多国际化规则可以
发现这些方法的使用和建议利用了相应的新规则。
下面我们详细描述国际化分析阶段(e)。这一阶段处理PIE,将源代码国际化,或者按照默认计划的配置以国际化脚本自动进行,或者通过向用户显示这些消息并指导他们将源代码国际化。这一过程详细表示在图5中。
在本实施例中提供的并且能够通过用户根据他们特定的需求被调节的配置。它覆盖了对于PIE分类的计划以及对一定类型的PIE的默认行为,等等。
国际化脚本是一种文本脚本,其指导国际化分析器,以批处理模式将软件国际化。通常情况下,脚本首先由国际化分析器产生,由用户根据他们实际需要更改,然后在国际化工作的其它过程中产生作用。一种常见的方案为:国际化工程师将软件国际化,并且产生脚本。测试者在测试过程中发现一些问题,并且将信息反馈到国际化工程师。国际化工程师更改脚本以适应这一问题,然后再以批处理模式将软件国际化。
在国际化分析器中,我们进行如下配置:
a)保存资源包的位置和它们的格式如何
b)如何组织资源包
c)资源文件中应该保存哪一种消息
d)是否处理选择格式或消息格式
e)是否处理诸如:日期、时间、货币、数字等其它格式
f)是否处理校勘问题
g)对于特定地区的有关功能的使用来说,什么是国际化解决
方案
h)什么是当前例外列表
在交互模式下,以上全部设置都能够被用户更改。
下面描述由地区化分析器执行的功能。流程图见图6所示。正如图6所示,地区化工作能够被分解成消息的翻译和文化的地区化。
文化地区化是指有关文化的部分的翻译要适应一定的地区。这包括日期和时间的格式,货币的转换,小数分离符号,以及千位数分离符。
对于消息翻译,地区化分析器首先通过删除相同的消息以使消息统一,这是指“统一资源”。通常有许多同样消息的相同部分,删除这些相同部分的消息大大降低了翻译的工作量,并且使其更稳定。
然后,翻译存储器过滤器获取这些统一的资源,并且以翻译存储器处理它们。通过比较包含预先翻译消息的数据库的信息,翻译存储器使得翻译过程更容易。另外,它帮助保证其更稳定。之前已被翻译的消息被滤出,而之前尚未被翻译的消息留到接下来的翻译任务中。
翻译以两种方式执行。第一种方式是将这些消息输出到翻译提供者处理,(在图6中以“提供者翻译”标记),提供者为本实施例之外的。另一种方式是将消息通过地区化分析器由用户内部逐词直接翻译。
如果词典被插入,便能够帮助用户完成翻译。不同于翻译存储器,通常,词典对某一特定项目提供的不只是一个翻译结果,所以用户的交互是必不可少的。尽管如此,实施例可以任选包含一个词典本身,第一实施例包括一个DAPI组件,它使得用户可以集成其它词典。
在图6中所示的集成步骤将从翻译存储器中找到的消息和已被翻译完的消息集中起来,然后把这些消息再放回到资源包中,并且为进一步的使用更新翻译存储器。本发明的第二实施例
图7表示了本发明的第二实施例,“网页工作站的SGIL”。不同于第一个实施例,该实施例相对于软件来说更倾向于网站代码。作为“网页工作站的SGIL平台”已在图7中说明了,它是通过一个服务器操作的,服务器通过因特网连接与用户进行交互(见图的左侧)。平台与信息资料库更进一步地交互。
第二实施例大概看来与第一实施例相似。原始(网站代码被分成与地区不相关的模板和一个资源包(“国际化”),并且资源包是从第一地区向一个或多个其它地区转换得来的。
对于国际化处理过程,第二实施例接收可以包含任意三种网页资源的作为输入的网站代码:
1.客户端网页页面——网页页面被完全发送到它们客户浏览
器。这种网页页面包括静态HTML页面,串联形式的页,以
及嵌入到客户端脚本语言中的页面。
2.Java服务器页面——这些页面在服务器一端执行,仅仅是将
结果发送到客户端浏览器。
3.以Perl、C、C++、VB等语言写的CGI服务程序——与服务
器脚本页面类似,这些页面在服务器端运行,然后将结果发送
到客户端浏览器。
为了将客户端脚本国际化,第二实施例首先从HTML部分分离出脚本部分(以<script>开始,以</script>结束),然后利用脚本引擎为每一个脚本流出部分产生一个语法树。引擎处理标记语言页面。内容将以用来建立模板的不同标志标记。国际化处理过程将从串联形式的页中提取格式信息。
对于服务器端脚本页面,脚本流是用Java(JSP)、VB Script、ASP、PHP等写成的。第二实施例将静态HTML部分从那些脚本中分离出来,然后利用相应的语言引擎脚本流出国际化并产生资源包。
CGI程序的全球化流程图与服务器端脚本页面的处理过程相似。第二实施例通过用中心陈诉替换地区敏感陈诉来处理CGI程序。从程序中提取出来的消息信息存储在资源包中。资源格式能够是依赖特定脚本语言的几种类型。
第二实施例包含一个国际化引擎(其执行国际化处理过程),一个规则引擎(通过国际化引擎在用户使用的国际化规则控制下用来执行定义和重定义),一个资源管理引擎和翻译存储器引擎(在执行地区化过程中辅助地区化工程师)。第二实施例更进一步包含的组件包括一个全球化内容管理组件、一个工程管理组件、一个操纵板和一个集成翻译环境。
工程管理(PM)组件提供以下功能块:
a)管理国际化和地区化的所有工程;
b)输出和输入用户工程文件;
c)为每一个工程获得工作空间(登记、检验程序、版本);
d)管理全部用户;
e)利用不同任务为用户分组;
f)为不同的任务分配权限。
国际化引擎接收最初的网站代码以及执行网站代码中每个文件的内容分析。根据这个分析,国际化引擎确定网站代码是用哪一种语言写的,并且相应地选择一定数目的组件,在其中进行各自语言的语法分析。图7中给出了这些组件:
a)一个HTML引擎:对html页面作语法分析,
b)一个Java脚本引擎:对Java脚本作语法分析,
c)一个JSP引擎:为Java服务器页面作语法分析,
d)一个CSS引擎:为串联形式的页面作语法分析,
图7中没有画出的另一个可能的组件可能是一个Perl引擎:为用Perl写的CGI程序作语法分析。这些组件的每一个都使用了存储在规则引擎中的一组国际化规则。
翻译存储器引擎提供了一个接口来继承翻译存储器系统,用来在地区化处理过程中使用。它支持来自/到翻译存储器系统的输出/输入翻译存储器转换文件。
资源管理引擎在其它组件和数据资料库之间提供一个通用接口。
全球化内容管理组件(GCM)控制大概的全球化流程,即紧随地区化过程之后的国际化处理过程。对于全球化网页页面,GCM首先从页面上将脚本和内容分开,然后在国际化引擎的支持下来开始国际化过程,根据国际化计划产生国际化模板和资源包,管理那些资源包的地区。它也包括以下工具:
a)内容识别器——通过计算机语言引擎的支持来过滤网页页
面的内容。在源网页页面中的每一个文件将按照从格式信息
中分成文本段、脚本和代码的顺序被作语法分析。
b)内容改变检测器——检测任何一项更新的内容并且根据这
些改变通过自动执行国际化或地区化过程作出行动。当与数
据库或内容管理系统(CMS)相连接时,检测器等待来自数
据库触发器或来自CMS接口的改变确认。改变的数据,或者
指针,已传递到作为流程控制的操纵板用于整个网页全球化
处理过程。
c)内容分解器——将网页页面的内容分为以不同全球化活动
标记的模板和资源包。本实施例允许用户为内容全球化选择
5个活动,这里:
1.“保持”意思是在标识符、商标等源内容中没有改变
2.“替换”意思是内容需要以地区化的内容代替
3.“翻译”意思是内容需要翻译成地区化的内容
4.“拒绝”意思是内容将在另一个地区被删除
5.“增加”意思是在其它地区一些内容是需要增加的
d)内容合成器——将国际化模板与地区化的内容合并起来。
操纵板组件是一个流程控制器。流程是定义在每一步需要做什么的特定的一系列处理过程。操纵板管理在全球化活动中的诸如,跟踪规则、任务、责任等使用的每一个独立的过程,以及工程的全球化处理过程的状态。用户能够在创建和获得网页全球化任务时进行合作。一项任务即是在全球化系统中使用的可管理单元。用户能够获得他的通过其他成员或通过系统自动设计创建的任务列表。操纵板也包含一个公布板来向网页服务器公布全球化的网页页面。
集成的翻译环境(ITE)组件辅助将分解的源代码和内容进行地区化。它管理从源文件中分离出来的资源包。它提供从翻译提供者资料库输出资源和向资料库输入资源的能力。
翻译环境的核心是翻译平台接口,翻译平台接口由翻译存储器API、词典API和机器翻译API组成。第二实施例支持服务器端的词典。用户也能够为不同的语言定制和上载他们的词典或者从因特网词典提供者获得翻译服务。它为与翻译存储器系统或机器翻译系统的集成提供了翻译引擎,以便更快、更有效地翻译。
第二实施例中的整个网页全球化处理过程在图8中给出。本实施例接收“原始源文件”到工程管理单元。它将原始源文件传递到全球化内容管理单元。内容管理单元将源文件传递到国际化引擎,国际化引擎执行与以上第一实施例详细描述过的过程相似的过程。源代码被进行了语法分析来建立语法树。然后将由“分析器”单元进行分析,与第一实施例中的分析器相对应。分析器利用国际化规则(用规则引擎定义或修改)形成一个可能存在的国际化错误列表(在图8中叫做“I18项目”)。这些项目再通过一个执行第一实施例中国际化分析器(也利用国际化规则)的“国际化”单元处理,来产生将原始源代码地区和与地区不相关的模板相结合的信息的资源包。结果传递回全球化内容管理单元。工程管理单元将这些结果(国际化的模板、估计国际化难度的国际化报告,以及资源包)输出到国际化工程师处。同时资源管理单元将所有相同的数据传递到资料库中。
如果用户(例如:地区化工程师)希望将资源包地区化,他可以连接到本实施例上,然后将资源包传递到集成翻译环境。在用户的控制之下,资源包的某一部分可以被发送到格式转换器,格式转换器将其转换成适合从系统到外部翻译提供者输出的格式,从其再进入系统作为一个翻译过的资源。资源包的其它部分利用词典和翻译存储器直接翻译,在图6中所示的类似的方式。集成翻译环境的输出为地区化的资源包(例如:为另一个地区而地区化的)以及地区化报告。
以上已经详细描述了本发明的实施例,但是对于熟悉本技术的读者在本发明的精神范围之内可能有很多变化。尽管实施例中包含地区化组件,严格地说对于生产一个有用的设备来说不是必须的,因为国际化处理过程本身的结果可以是有用的,例如用在与不同的地区化处理过程相结合,相对于在这篇文件中描述的或者真正的参考手册的地区化。
Claims (21)
1.一种基于计算机的、处理用程序设计语言编写的、并且包含与第一地区相关的软件的方法,用来产生与地区不相关的源代码文件和包含与第一地区相关的数据的资源包,源代码文件被设置成与资源包联合操作,来执行软件的功能,该方法包括:
利用与程序设计语言相关的信息的第一分析步骤,用来产生表示软件结构的语法树;
利用语法树和一组预先定义的国际化规则的第二分析步骤,用来确认和分离可能包含与第一地区相关的数据的软件的部分;以及
利用确认的软件的部分的划分步骤,用来产生资源包,以及利用语法树来产生与地区不相关的源代码文件。
2.根据权利要求1的方法,其中第一分析步骤包含利用程序设计语言的技术规程执行(i)一个扫描阶段,其中软件被分组成具有共同含义的项目,以及(ii)一个语法分析阶段,其中项目被按层次分组成语法树。
3.根据权利要求2的方法,其中第一分析步骤在语法分析阶段之后,进一步包括(iii)一个语义分析阶段,其中语法树通过参考其它软件或源代码库,由确认项目功能的信息来补充。
4.根据权利要求1的方法,其中第二分析步骤包括一个确认软件中的字符串的步骤,以及从字符串设置中排除任何根据它们在语法树中的地区不必被国际化的字符串。
5.根据权利要求1的方法,其中第二分析步骤包括一个确认软件中具有各自的与地区相关的参数的功能。
6.根据权利要求1的方法,其中第二分析步骤进一步包括利用国际化规则产生对于软件的已确认的部分的国际化的建议,将其划分到与地区不相关的源代码和与地区相关的资源文件中。
7.根据权利要求1的方法,其中国际化规则进一步在第二分析步骤中使用,用来产生一个软件国际化的难度的数字化的估计。
8.根据权利要求1的方法,其中所述划分步骤至少包括一些与用户的交互。
9.根据权利要求1的方法,其中所述划分步骤完全是自动执行。
10.一种基于计算机的、将用程序设计语言编写的、并且包含与第一地区相关的数据的软件转换为其它地区的软件的方法,该方法包括在第一软件上执行根据权利要求1的方法,产生与地区不相关的源代码文件和包括与第一地区相关的数据的第一资源包,源代码文件被设置成与第一资源包联合操作,来执行软件的功能,并将第一资源包中的数据从第一地区转换到另一个地区,形成第二资源包。
11.根据权利要求10的方法,其中所述转换步骤利用资源包中语言学项目的建议的翻译的词典库来执行,用户在这些翻译之间选择。
12.根据权利要求11的方法,其中进一步使用了保存由用户所选择的翻译的记录的翻译存储器,并且利用所选择的翻译来产生资源包中的语言项目的任何更进一步的事例的翻译。
13.一种基于计算机的、处理包含与第一地区相关的数据的网站代码的方法,用来产生一个与地区不相关的模板文件、至少一个与地区不相关的资源文件、以及包括与第一地区的数据相关的资源包,模板文件被设置成和与地区不相关的网站源文件联合操作,并且资源包执行网站代码的功能,该方法包括:
利用与网站代码语言相关的信息的第一分析步骤,用来产生表示网站代码结构的语法树;
利用语法树和一组预先定义的国际化规则的第二分析步骤,用来确认可能包含与第一地区相关的数据的网站代码部分;以及
利用确认的网站代码的部分的划分步骤,用来产生资源包,以及利用语法树来产生模板文件和与地区不相关的网站源文件。
14.一种基于计算机的、将包含与第一地区相关的数据的网站代码转换为包含与另一地区相关的数据的网站代码(的方法),该方法包括:
在第一网站代码上执行根据权利要求13的方法,产生一个与地区不相关的模板、至少一个与地区不相关的网站源文件、以及包含与第一地区相关的数据的第一资源包,模板文件被设置成与第一资源文件联合操作,并且第一资源包执行第一网站代码的功能,以及
将第一资源包中的数据从第一地区转换到另一地区,形成第二资源包所述模板文件。
15.一种基于计算机的、将包含与第一地区相关的数据的第一计算机代码转换到适合另一地区的形式的方法,该方法包括:
利用与第一计算机代码的语言相关的信息的第一分析步骤,用来产生表示第一计算机代码结构的语法树;
利用语法树和一组预先定义的国际化规则的第二分析步骤,用来确认可能包含与第一地区相关的数据的第一计算机代码的部分;以及
利用确认的第一代码的部分的划分步骤,用来产生与第一地区相关的数据的资源包,以及利用语法树产生至少一个与地区不相关的代码文件,每一个与地区不相关的代码文件和资源包联合操作,执行第一代码的功能。
16.一计算机用来执行根据权利要求1的方法。
17.一种用于控制计算机执行如权利要求1所述方法的装置,控制计算机时,所述装置耦合到被控制的计算机,以控制计算机执行根据计算机可执行指令的运行,所述装置包括:
第一子装置,利用与程序设计语言相关的信息,用来产生表示软件结构的语法树;
第二子装置,利用语法树和一组预先定义的国际化规则,用来确认和分离可能包含与第一地区相关的数据的软件的部分;以及
第三子装置,利用确认的软件的部分,用来产生资源包,以及利用语法树来产生与地区不相关的源代码文件。
18.一计算机用来执行根据权利要求13的方法。
19.一种用于控制计算机执行如权利要求13所述方法的装置,控制计算机时,所述装置耦合到被控制的计算机,以控制计算机执行根据计算机可执行指令的运行,所述装置包括:
第一子装置,利用与网站代码语言相关的信息,用来产
生表示网站代码结构的语法树;
第二子装置,利用语法树和一组预先定义的国际化规
则,用来确认可能包含与第一地区相关的数据的网站代码部分;
以及
第三子装置,利用确认的网站代码的部分,用来产生
资源包,以及利用语法树来产生模板文件和与地区不相关的网
站源文件。
20.一计算机用来执行根据权利要求15的方法。
21.一种用于控制计算机执行如权利要求15所述方法的装置,控制计算机时,所述装置耦合到被控制的计算机,以控制计算机执行根据计算机可执行指令的运行,所述装置包括:
第一子装置,利用与第一计算机代码的语言相关的信息,
用来产生表示第一计算机代码结构的语法树;
第二子装置,利用语法树和一组预先定义的国际化规则,
用来确认可能包含与第一地区相关的数据的第一计算机代码的
部分;以及
第三子装置,利用确认的第一代码的部分,用来产生与第
一地区相关的数据的资源包,以及利用语法树产生至少一个与地区不相关的代码文件,每一个与地区不相关的代码文件和资源包联合操作,执行第一代码的功能。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/778,987 | 2001-02-07 | ||
US09/778,987 US6983238B2 (en) | 2001-02-07 | 2001-02-07 | Methods and apparatus for globalizing software |
Publications (1)
Publication Number | Publication Date |
---|---|
CN1368693A true CN1368693A (zh) | 2002-09-11 |
Family
ID=25114955
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN01123655A Pending CN1368693A (zh) | 2001-02-07 | 2001-08-30 | 用于全球化软件的方法和设备 |
Country Status (2)
Country | Link |
---|---|
US (1) | US6983238B2 (zh) |
CN (1) | CN1368693A (zh) |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101120339B (zh) * | 2005-02-16 | 2010-05-19 | 三星电子株式会社 | 用于应用程序的多语言支持系统和方法 |
US7937685B2 (en) | 2005-01-13 | 2011-05-03 | Hsbc Technology & Services (Usa) Inc. | Computer software implemented framework for configuration and release management of group systems software, and method for same |
CN102103494A (zh) * | 2009-12-16 | 2011-06-22 | 新奥特(北京)视频技术有限公司 | 一种软件资源更改的方法和装置 |
CN102156655A (zh) * | 2011-05-05 | 2011-08-17 | 北京大学深圳研究生院 | 高级语言代码的生成方法及其产生器 |
CN101382888B (zh) * | 2008-09-10 | 2011-09-14 | 金蝶软件(中国)有限公司 | 一种处理国际化资源的方法及系统 |
CN101697127B (zh) * | 2009-10-30 | 2012-08-29 | 南京中兴软创科技股份有限公司 | 一种软件系统国际化方法 |
CN101634948B (zh) * | 2009-08-18 | 2012-10-03 | 恒生电子股份有限公司 | 一种多国语言软件开发系统及语言资源数据管理方法 |
CN102981851A (zh) * | 2012-11-15 | 2013-03-20 | 深圳市共进电子股份有限公司 | 一种嵌入式网络设备界面语言的快速开发维护系统及方法 |
CN103309647A (zh) * | 2012-03-08 | 2013-09-18 | 鸿富锦精密工业(深圳)有限公司 | 应用程序多语言支持系统及方法 |
CN103383680A (zh) * | 2012-05-02 | 2013-11-06 | 成都勤智数码科技股份有限公司 | It运维系统的多语化系统 |
CN103383679A (zh) * | 2012-05-02 | 2013-11-06 | 成都勤智数码科技股份有限公司 | 多语统一的it运维知识库实现方法 |
CN104536769A (zh) * | 2015-01-16 | 2015-04-22 | 浪潮电子信息产业股份有限公司 | 一种国际化文档实现方法 |
Families Citing this family (213)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6738827B1 (en) * | 1998-09-29 | 2004-05-18 | Eli Abir | Method and system for alternate internet resource identifiers and addresses |
US20060116865A1 (en) * | 1999-09-17 | 2006-06-01 | Www.Uniscape.Com | E-services translation utilizing machine translation and translation memory |
US8645137B2 (en) | 2000-03-16 | 2014-02-04 | Apple Inc. | Fast, language-independent method for user authentication by voice |
US20020198931A1 (en) * | 2001-04-30 | 2002-12-26 | Murren Brian T. | Architecture and process for presenting application content to clients |
US7346921B2 (en) * | 2001-04-30 | 2008-03-18 | Ge Capital Corporation | Definition of low-level security rules in terms of high-level security concepts |
US20020162093A1 (en) * | 2001-04-30 | 2002-10-31 | Ming Zhou | Internationalization compiler and process for localizing server applications |
US20030009433A1 (en) * | 2001-04-30 | 2003-01-09 | Murren Brian T. | Automatic identification of computer program attributes |
US7519546B2 (en) | 2001-04-30 | 2009-04-14 | General Electric Company | Maintaining synchronization of information published to multiple subscribers |
US20030078949A1 (en) * | 2001-04-30 | 2003-04-24 | Scholz Bernhard J. | Automatic generation of forms with input validation |
US7603403B2 (en) * | 2001-05-30 | 2009-10-13 | International Business Machines Corporation | Localization in distributed computer environments |
US6938259B2 (en) * | 2001-10-02 | 2005-08-30 | Hewlett-Packard Development Company, L.P. | API to enforce internationalization |
US20030084401A1 (en) * | 2001-10-16 | 2003-05-01 | Abel Todd J. | Efficient web page localization |
US20030093465A1 (en) * | 2001-10-31 | 2003-05-15 | International Business Machines Corporation | Management strategies for internationalization in a distributed computer environment |
US7251674B2 (en) * | 2002-01-08 | 2007-07-31 | International Business Machines Corporation | Internationalization of the web services infrastructure |
EP1482414B1 (en) * | 2002-01-29 | 2010-10-06 | International Business Machines Corporation | Translating method for emphasised words |
US20030212982A1 (en) * | 2002-05-09 | 2003-11-13 | International Business Machines Corporation | Message compiler for internationalization of application programs |
US7110937B1 (en) * | 2002-06-20 | 2006-09-19 | Siebel Systems, Inc. | Translation leveraging |
US7308399B2 (en) * | 2002-06-20 | 2007-12-11 | Siebel Systems, Inc. | Searching for and updating translations in a terminology database |
US7360155B2 (en) * | 2003-01-14 | 2008-04-15 | Oracle International Corp. | Structured datatype expansion framework |
US7165244B2 (en) * | 2003-01-30 | 2007-01-16 | Hamilton Sundstrand Corporation | Web application code conversion system |
CA2429558A1 (en) * | 2003-05-22 | 2004-11-22 | Cognos Incorporated | Presentation of multilingual metadata |
US7676793B2 (en) * | 2003-12-08 | 2010-03-09 | Honeywell International Inc. | Determination of dependent objects by a source control system and a method to automatically include those objects with the parent object when changes are enabled |
CA2453971C (en) * | 2003-12-23 | 2009-08-11 | Daniel A. Rose | On-demand creation of java locale source |
CA2453973A1 (en) * | 2003-12-23 | 2005-06-23 | Daniel A. Rose | On-demand creation of posix locale source |
US7983896B2 (en) | 2004-03-05 | 2011-07-19 | SDL Language Technology | In-context exact (ICE) matching |
US20050204332A1 (en) * | 2004-03-15 | 2005-09-15 | Ramco Systems Limited | Method and system for developing large web-based multi-language applications |
US7665063B1 (en) | 2004-05-26 | 2010-02-16 | Pegasystems, Inc. | Integration of declarative rule-based processing with procedural programming |
JP4048188B2 (ja) * | 2004-06-07 | 2008-02-13 | 株式会社インパルスジャパン | Webページ翻訳装置及びwebページ翻訳方法 |
US20060080082A1 (en) * | 2004-08-23 | 2006-04-13 | Geneva Software Technologies Limited | System and method for product migration in multiple languages |
US20060059424A1 (en) * | 2004-09-15 | 2006-03-16 | Petri Jonah W | Real-time data localization |
US8335704B2 (en) | 2005-01-28 | 2012-12-18 | Pegasystems Inc. | Methods and apparatus for work management and routing |
US20060206797A1 (en) * | 2005-03-08 | 2006-09-14 | Microsoft Corporation | Authorizing implementing application localization rules |
US7653528B2 (en) * | 2005-03-08 | 2010-01-26 | Microsoft Corporation | Resource authoring incorporating ontology |
US7774195B2 (en) * | 2005-03-08 | 2010-08-10 | Microsoft Corporation | Method and system for creating, storing, managing and consuming culture specific data |
US7698126B2 (en) * | 2005-03-08 | 2010-04-13 | Microsoft Corporation | Localization matching component |
US8219907B2 (en) * | 2005-03-08 | 2012-07-10 | Microsoft Corporation | Resource authoring with re-usability score and suggested re-usable data |
US7571092B1 (en) * | 2005-07-29 | 2009-08-04 | Sun Microsystems, Inc. | Method and apparatus for on-demand localization of files |
US7636656B1 (en) * | 2005-07-29 | 2009-12-22 | Sun Microsystems, Inc. | Method and apparatus for synthesizing multiple localizable formats into a canonical format |
US20070038982A1 (en) * | 2005-08-11 | 2007-02-15 | International Business Machines Corporation | Method and process to automatically perform test builds or translated files for a software product |
US7761849B2 (en) * | 2005-08-25 | 2010-07-20 | Microsoft Corporation | Automated analysis and recovery of localization data |
US8677377B2 (en) | 2005-09-08 | 2014-03-18 | Apple Inc. | Method and apparatus for building an intelligent automated assistant |
GB0521792D0 (en) | 2005-10-26 | 2005-12-07 | Ibm | A method, apparatus and computer program for validating source code |
US8645931B2 (en) * | 2005-11-04 | 2014-02-04 | International Business Machines Corporation | Moving static elements between a document and an external resource file in a document editor |
US7904883B2 (en) * | 2005-12-01 | 2011-03-08 | Microsoft Corporation | Localizable object pattern |
US20070162468A1 (en) * | 2005-12-30 | 2007-07-12 | Ralf Dentzer | Localization layer and method for delivery of change packages |
US20090132232A1 (en) * | 2006-03-30 | 2009-05-21 | Pegasystems Inc. | Methods and apparatus for implementing multilingual software applications |
US20070233902A1 (en) * | 2006-03-30 | 2007-10-04 | Alan Trefler | User interface methods and apparatus for rules processing |
US8924335B1 (en) | 2006-03-30 | 2014-12-30 | Pegasystems Inc. | Rule-based user interface conformance methods |
US20080208785A1 (en) * | 2006-03-30 | 2008-08-28 | Pegasystems, Inc. | User interface methods and apparatus for rules processing |
US20070233456A1 (en) * | 2006-03-31 | 2007-10-04 | Microsoft Corporation | Document localization |
EP1847923A1 (en) * | 2006-04-21 | 2007-10-24 | Microsoft Corporation | Localising unstructured resources |
US9318108B2 (en) | 2010-01-18 | 2016-04-19 | Apple Inc. | Intelligent automated assistant |
CN101154157A (zh) * | 2006-09-29 | 2008-04-02 | 国际商业机器公司 | 为JavaScript应用提供全球化功能的系统和方法 |
JP4979414B2 (ja) * | 2007-02-28 | 2012-07-18 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 複数ロケール混在環境におけるプロビジョニング用の管理サーバ、コンピュータプロブラム、及び方法 |
US8250525B2 (en) | 2007-03-02 | 2012-08-21 | Pegasystems Inc. | Proactive performance management for multi-user enterprise software systems |
US8977255B2 (en) | 2007-04-03 | 2015-03-10 | Apple Inc. | Method and system for operating a multi-function portable electronic device using voice-activation |
US7793156B2 (en) * | 2007-07-26 | 2010-09-07 | International Business Machines Corporation | System and method to facilitate automatic globalization verification test |
US9910850B2 (en) * | 2007-10-25 | 2018-03-06 | Disney Enterprises, Inc. | System and method of localizing assets using text substitutions |
US8335682B2 (en) * | 2007-10-30 | 2012-12-18 | Sercomm Corporation | Multi-language interfaces switch system and method therefor |
US9330720B2 (en) | 2008-01-03 | 2016-05-03 | Apple Inc. | Methods and apparatus for altering audio output signals |
US8595710B2 (en) * | 2008-03-03 | 2013-11-26 | Microsoft Corporation | Repositories and related services for managing localization of resources |
US7698688B2 (en) * | 2008-03-28 | 2010-04-13 | International Business Machines Corporation | Method for automating an internationalization test in a multilingual web application |
US8996376B2 (en) | 2008-04-05 | 2015-03-31 | Apple Inc. | Intelligent text-to-speech conversion |
US10496753B2 (en) | 2010-01-18 | 2019-12-03 | Apple Inc. | Automatically adapting user interfaces for hands-free interaction |
US20100030549A1 (en) | 2008-07-31 | 2010-02-04 | Lee Michael M | Mobile device having human language translation capability with positional feedback |
US8412511B2 (en) | 2008-09-03 | 2013-04-02 | United Parcel Service Of America, Inc. | Systems and methods for providing translations of applications using decentralized contributions |
US9959870B2 (en) | 2008-12-11 | 2018-05-01 | Apple Inc. | Speech recognition involving a mobile device |
US8843435B1 (en) | 2009-03-12 | 2014-09-23 | Pegasystems Inc. | Techniques for dynamic data processing |
US8468492B1 (en) | 2009-03-30 | 2013-06-18 | Pegasystems, Inc. | System and method for creation and modification of software applications |
US9858925B2 (en) | 2009-06-05 | 2018-01-02 | Apple Inc. | Using context information to facilitate processing of commands in a virtual assistant |
US10241752B2 (en) | 2011-09-30 | 2019-03-26 | Apple Inc. | Interface for a virtual digital assistant |
US10241644B2 (en) | 2011-06-03 | 2019-03-26 | Apple Inc. | Actionable reminder entries |
US10706373B2 (en) | 2011-06-03 | 2020-07-07 | Apple Inc. | Performing actions associated with task items that represent tasks to perform |
US9431006B2 (en) | 2009-07-02 | 2016-08-30 | Apple Inc. | Methods and apparatuses for automatic speech recognition |
US10679605B2 (en) | 2010-01-18 | 2020-06-09 | Apple Inc. | Hands-free list-reading by intelligent automated assistant |
US10553209B2 (en) | 2010-01-18 | 2020-02-04 | Apple Inc. | Systems and methods for hands-free notification summaries |
US10276170B2 (en) | 2010-01-18 | 2019-04-30 | Apple Inc. | Intelligent automated assistant |
US10705794B2 (en) | 2010-01-18 | 2020-07-07 | Apple Inc. | Automatically adapting user interfaces for hands-free interaction |
US8682667B2 (en) | 2010-02-25 | 2014-03-25 | Apple Inc. | User profiling for selecting user specific voice input processing information |
US8311800B1 (en) * | 2010-04-01 | 2012-11-13 | Symantec Corporation | Systems and methods for detecting incorrect translations of terms in a computing string |
US8264385B1 (en) * | 2010-06-29 | 2012-09-11 | Google Inc. | Using error bucketing and baseline analysis for I18N testing |
CN102467497B (zh) | 2010-10-29 | 2014-11-05 | 国际商业机器公司 | 校对程序中的文本翻译的方法和系统 |
US10762293B2 (en) | 2010-12-22 | 2020-09-01 | Apple Inc. | Using parts-of-speech tagging and named entity recognition for spelling correction |
US8880487B1 (en) | 2011-02-18 | 2014-11-04 | Pegasystems Inc. | Systems and methods for distributed rules processing |
US9262612B2 (en) | 2011-03-21 | 2016-02-16 | Apple Inc. | Device access using voice authentication |
US10057736B2 (en) | 2011-06-03 | 2018-08-21 | Apple Inc. | Active transport based notifications |
US20130006603A1 (en) * | 2011-06-30 | 2013-01-03 | Verizon Patent And Licensing, Inc. | Graphical user interface localization systems and methods |
US8994660B2 (en) | 2011-08-29 | 2015-03-31 | Apple Inc. | Text correction processing |
CA2756102A1 (en) * | 2011-11-01 | 2012-01-03 | Cit Global Mobile Division | Method and system for localizing an application on a computing device |
US9195936B1 (en) | 2011-12-30 | 2015-11-24 | Pegasystems Inc. | System and method for updating or modifying an application without manual coding |
US10134385B2 (en) | 2012-03-02 | 2018-11-20 | Apple Inc. | Systems and methods for name pronunciation |
US9483461B2 (en) | 2012-03-06 | 2016-11-01 | Apple Inc. | Handling speech synthesis of content for multiple languages |
US8813046B2 (en) * | 2012-03-23 | 2014-08-19 | Infosys Limited | System and method for internationalization encoding |
US9280610B2 (en) | 2012-05-14 | 2016-03-08 | Apple Inc. | Crowd sourcing information to fulfill user requests |
US9038032B2 (en) * | 2012-05-25 | 2015-05-19 | Fujitsu Limited | Symbolic execution and automatic test case generation for JavaScript programs |
US9721563B2 (en) | 2012-06-08 | 2017-08-01 | Apple Inc. | Name recognition system |
US9495129B2 (en) | 2012-06-29 | 2016-11-15 | Apple Inc. | Device, method, and user interface for voice-activated navigation and browsing of a document |
US9576574B2 (en) | 2012-09-10 | 2017-02-21 | Apple Inc. | Context-sensitive handling of interruptions by intelligent digital assistant |
US20140081618A1 (en) * | 2012-09-17 | 2014-03-20 | Salesforce.Com, Inc. | Designing a website to be displayed in multiple languages |
US9547647B2 (en) | 2012-09-19 | 2017-01-17 | Apple Inc. | Voice-based media searching |
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 |
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 |
JP2016508007A (ja) | 2013-02-07 | 2016-03-10 | アップル インコーポレイテッド | デジタルアシスタントのためのボイストリガ |
US10652394B2 (en) | 2013-03-14 | 2020-05-12 | Apple Inc. | System and method for processing voicemail |
US9368114B2 (en) | 2013-03-14 | 2016-06-14 | Apple Inc. | Context-sensitive handling of interruptions |
WO2014144579A1 (en) | 2013-03-15 | 2014-09-18 | Apple Inc. | System and method for updating an adaptive speech recognition model |
KR101759009B1 (ko) | 2013-03-15 | 2017-07-17 | 애플 인크. | 적어도 부분적인 보이스 커맨드 시스템을 트레이닝시키는 것 |
WO2014168626A1 (en) * | 2013-04-11 | 2014-10-16 | Hewlett-Packard Development Company, L.P. | Automated contextual-based software localization |
US9110889B2 (en) | 2013-04-23 | 2015-08-18 | Facebook, Inc. | Methods and systems for generation of flexible sentences in a social networking system |
JP5867540B2 (ja) * | 2013-04-26 | 2016-02-24 | キヤノンマーケティングジャパン株式会社 | プログラム生成装置、プログラム生成装置の制御方法、およびプログラム |
US9606987B2 (en) * | 2013-05-06 | 2017-03-28 | Facebook, Inc. | Methods and systems for generation of a translatable sentence syntax in a social networking system |
US9292271B2 (en) * | 2013-05-24 | 2016-03-22 | Medidata Solutions, Inc. | Apparatus and method for managing software translation |
US9582608B2 (en) | 2013-06-07 | 2017-02-28 | Apple Inc. | Unified ranking with entropy-weighted information for phrase-based semantic auto-completion |
WO2014197336A1 (en) | 2013-06-07 | 2014-12-11 | Apple Inc. | System and method for detecting errors in interactions with a voice-based digital assistant |
WO2014197334A2 (en) | 2013-06-07 | 2014-12-11 | Apple Inc. | System and method for user-specified pronunciation of words for speech synthesis and recognition |
WO2014197335A1 (en) | 2013-06-08 | 2014-12-11 | Apple Inc. | Interpreting and acting upon commands that involve sharing information with remote devices |
US10176167B2 (en) | 2013-06-09 | 2019-01-08 | Apple Inc. | System and method for inferring user intent from speech inputs |
CN110442699A (zh) | 2013-06-09 | 2019-11-12 | 苹果公司 | 操作数字助理的方法、计算机可读介质、电子设备和系统 |
CN105265005B (zh) | 2013-06-13 | 2019-09-17 | 苹果公司 | 用于由语音命令发起的紧急呼叫的系统和方法 |
JP6163266B2 (ja) | 2013-08-06 | 2017-07-12 | アップル インコーポレイテッド | リモート機器からの作動に基づくスマート応答の自動作動 |
JP6226321B2 (ja) * | 2013-10-23 | 2017-11-08 | 株式会社サン・フレア | 翻訳支援システム、翻訳支援システムのサーバー、翻訳支援システムのクライアント、翻訳支援システムの制御方法、及びそのプログラム |
US9489377B1 (en) | 2014-02-21 | 2016-11-08 | Yummly, Inc. | Inferring recipe difficulty |
US20150286609A1 (en) * | 2014-04-02 | 2015-10-08 | Ims Health Incorporated | System and method for linguist-based human/machine interface components |
JP2015219608A (ja) * | 2014-05-14 | 2015-12-07 | 株式会社リコー | 情報処理装置、情報処理システム、レポート作成方法、及びプログラム |
US9620105B2 (en) | 2014-05-15 | 2017-04-11 | Apple Inc. | Analyzing audio input for efficient speech and music recognition |
US10592095B2 (en) | 2014-05-23 | 2020-03-17 | Apple Inc. | Instantaneous speaking of content on touch devices |
US9502031B2 (en) | 2014-05-27 | 2016-11-22 | Apple Inc. | Method for supporting dynamic grammars in WFST-based ASR |
US9785630B2 (en) | 2014-05-30 | 2017-10-10 | Apple Inc. | Text prediction using combined word N-gram and unigram language models |
US9430463B2 (en) | 2014-05-30 | 2016-08-30 | Apple Inc. | Exemplar-based natural language processing |
US10078631B2 (en) | 2014-05-30 | 2018-09-18 | Apple Inc. | Entropy-guided text prediction using combined word and character n-gram language models |
US10170123B2 (en) | 2014-05-30 | 2019-01-01 | Apple Inc. | Intelligent assistant for home automation |
US9734193B2 (en) | 2014-05-30 | 2017-08-15 | Apple Inc. | Determining domain salience ranking from ambiguous words in natural speech |
US9966065B2 (en) | 2014-05-30 | 2018-05-08 | Apple Inc. | Multi-command single utterance input method |
US9760559B2 (en) | 2014-05-30 | 2017-09-12 | Apple Inc. | Predictive text input |
US10289433B2 (en) | 2014-05-30 | 2019-05-14 | Apple Inc. | Domain specific language for encoding assistant dialog |
US9715875B2 (en) | 2014-05-30 | 2017-07-25 | Apple Inc. | Reducing the need for manual start/end-pointing and trigger phrases |
US9633004B2 (en) | 2014-05-30 | 2017-04-25 | Apple Inc. | Better resolution when referencing to concepts |
US9842101B2 (en) | 2014-05-30 | 2017-12-12 | Apple Inc. | Predictive conversion of language input |
US9338493B2 (en) | 2014-06-30 | 2016-05-10 | Apple Inc. | Intelligent automated assistant for TV user interactions |
US10659851B2 (en) | 2014-06-30 | 2020-05-19 | Apple Inc. | Real-time digital assistant knowledge updates |
US10446141B2 (en) | 2014-08-28 | 2019-10-15 | Apple Inc. | Automatic speech recognition based on user feedback |
US9818400B2 (en) | 2014-09-11 | 2017-11-14 | Apple Inc. | Method and apparatus for discovering trending terms in speech requests |
US10789041B2 (en) | 2014-09-12 | 2020-09-29 | Apple Inc. | Dynamic thresholds for always listening speech trigger |
US10127911B2 (en) | 2014-09-30 | 2018-11-13 | Apple Inc. | Speaker identification and unsupervised speaker adaptation techniques |
US10074360B2 (en) | 2014-09-30 | 2018-09-11 | Apple Inc. | Providing an indication of the suitability of speech recognition |
US9886432B2 (en) | 2014-09-30 | 2018-02-06 | Apple Inc. | Parsimonious handling of word inflection via categorical stem + suffix N-gram language models |
US9668121B2 (en) | 2014-09-30 | 2017-05-30 | Apple Inc. | Social reminders |
US9646609B2 (en) | 2014-09-30 | 2017-05-09 | Apple Inc. | Caching apparatus for serving phonetic pronunciations |
US10469396B2 (en) | 2014-10-10 | 2019-11-05 | Pegasystems, Inc. | Event processing with enhanced throughput |
US10552013B2 (en) | 2014-12-02 | 2020-02-04 | Apple Inc. | Data detection |
US9711141B2 (en) | 2014-12-09 | 2017-07-18 | Apple Inc. | Disambiguating heteronyms in speech synthesis |
US9865280B2 (en) | 2015-03-06 | 2018-01-09 | Apple Inc. | Structured dictation using intelligent automated assistants |
US10567477B2 (en) | 2015-03-08 | 2020-02-18 | Apple Inc. | Virtual assistant continuity |
US9721566B2 (en) | 2015-03-08 | 2017-08-01 | Apple Inc. | Competing devices responding to voice triggers |
US9886953B2 (en) | 2015-03-08 | 2018-02-06 | Apple Inc. | Virtual assistant activation |
US9899019B2 (en) | 2015-03-18 | 2018-02-20 | Apple Inc. | Systems and methods for structured stem and suffix language models |
US9842105B2 (en) | 2015-04-16 | 2017-12-12 | Apple Inc. | Parsimonious continuous-space phrase representations for natural language processing |
US10083688B2 (en) | 2015-05-27 | 2018-09-25 | Apple Inc. | Device voice control for selecting a displayed affordance |
US10127220B2 (en) | 2015-06-04 | 2018-11-13 | Apple Inc. | Language identification from short strings |
US9578173B2 (en) | 2015-06-05 | 2017-02-21 | Apple Inc. | Virtual assistant aided communication with 3rd party service in a communication session |
US10101822B2 (en) | 2015-06-05 | 2018-10-16 | Apple Inc. | Language input correction |
US10186254B2 (en) | 2015-06-07 | 2019-01-22 | Apple Inc. | Context-based endpoint detection |
US11025565B2 (en) | 2015-06-07 | 2021-06-01 | Apple Inc. | Personalized prediction of responses for instant messaging |
US10255907B2 (en) | 2015-06-07 | 2019-04-09 | Apple Inc. | Automatic accent detection using acoustic models |
US9582294B1 (en) * | 2015-08-26 | 2017-02-28 | Mckesson Financial Holdings | Apparatuses, methods, and computer program products for automatic internationalization of grammatical output |
US10747498B2 (en) | 2015-09-08 | 2020-08-18 | Apple Inc. | Zero latency digital assistant |
US10671428B2 (en) | 2015-09-08 | 2020-06-02 | Apple Inc. | Distributed personal assistant |
US9697820B2 (en) | 2015-09-24 | 2017-07-04 | Apple Inc. | Unit-selection text-to-speech synthesis using concatenation-sensitive neural networks |
US10366158B2 (en) | 2015-09-29 | 2019-07-30 | Apple Inc. | Efficient word encoding for recurrent neural network language models |
US11010550B2 (en) | 2015-09-29 | 2021-05-18 | Apple Inc. | Unified language modeling framework for word prediction, auto-completion and auto-correction |
US11587559B2 (en) | 2015-09-30 | 2023-02-21 | Apple Inc. | Intelligent device identification |
US10691473B2 (en) | 2015-11-06 | 2020-06-23 | Apple Inc. | Intelligent automated assistant in a messaging environment |
US10049668B2 (en) | 2015-12-02 | 2018-08-14 | Apple Inc. | Applying neural network language models to weighted finite state transducers for automatic speech recognition |
US10223066B2 (en) | 2015-12-23 | 2019-03-05 | Apple Inc. | Proactive assistance based on dialog communication between devices |
US10446143B2 (en) | 2016-03-14 | 2019-10-15 | Apple Inc. | Identification of voice inputs providing credentials |
US9934775B2 (en) | 2016-05-26 | 2018-04-03 | Apple Inc. | Unit-selection text-to-speech synthesis based on predicted concatenation parameters |
US10698599B2 (en) | 2016-06-03 | 2020-06-30 | Pegasystems, Inc. | Connecting graphical shapes using gestures |
US9972304B2 (en) | 2016-06-03 | 2018-05-15 | Apple Inc. | Privacy preserving distributed evaluation framework for embedded personalized systems |
US10249300B2 (en) | 2016-06-06 | 2019-04-02 | Apple Inc. | Intelligent list reading |
US10049663B2 (en) | 2016-06-08 | 2018-08-14 | Apple, Inc. | Intelligent automated assistant for media exploration |
DK179309B1 (en) | 2016-06-09 | 2018-04-23 | Apple Inc | Intelligent automated assistant in a home environment |
US10490187B2 (en) | 2016-06-10 | 2019-11-26 | Apple Inc. | Digital assistant providing automated status report |
US10192552B2 (en) | 2016-06-10 | 2019-01-29 | Apple Inc. | Digital assistant providing whispered speech |
US10586535B2 (en) | 2016-06-10 | 2020-03-10 | Apple Inc. | Intelligent digital assistant in a multi-tasking environment |
US10067938B2 (en) | 2016-06-10 | 2018-09-04 | Apple Inc. | Multilingual word prediction |
US10509862B2 (en) | 2016-06-10 | 2019-12-17 | Apple Inc. | Dynamic phrase expansion of language input |
DK179049B1 (en) | 2016-06-11 | 2017-09-18 | Apple Inc | Data driven natural language event detection and classification |
DK179343B1 (en) | 2016-06-11 | 2018-05-14 | Apple Inc | Intelligent task discovery |
DK201670540A1 (en) | 2016-06-11 | 2018-01-08 | Apple Inc | Application integration with a digital assistant |
DK179415B1 (en) | 2016-06-11 | 2018-06-14 | Apple Inc | Intelligent device arbitration and control |
US10698647B2 (en) | 2016-07-11 | 2020-06-30 | Pegasystems Inc. | Selective sharing for collaborative application usage |
US10162819B2 (en) * | 2016-08-17 | 2018-12-25 | Netflix, Inc. | Change detection in a string repository for translated content |
US10043516B2 (en) | 2016-09-23 | 2018-08-07 | Apple Inc. | Intelligent automated assistant |
US10339029B2 (en) * | 2016-11-01 | 2019-07-02 | Ca, Inc. | Automatically detecting internalization (i18n) issues in source code as part of static source code analysis |
US10593346B2 (en) | 2016-12-22 | 2020-03-17 | Apple Inc. | Rank-reduced token representation for automatic speech recognition |
CN106775914B (zh) * | 2016-12-27 | 2018-03-30 | 竞技世界(北京)网络技术有限公司 | 一种自动生成键值的代码国际化方法及装置 |
DK201770439A1 (en) | 2017-05-11 | 2018-12-13 | Apple Inc. | Offline personal assistant |
DK179745B1 (en) | 2017-05-12 | 2019-05-01 | Apple Inc. | SYNCHRONIZATION AND TASK DELEGATION OF A DIGITAL ASSISTANT |
DK179496B1 (en) | 2017-05-12 | 2019-01-15 | Apple Inc. | USER-SPECIFIC Acoustic Models |
DK201770431A1 (en) | 2017-05-15 | 2018-12-20 | Apple Inc. | Optimizing dialogue policy decisions for digital assistants using implicit feedback |
DK201770432A1 (en) | 2017-05-15 | 2018-12-21 | Apple Inc. | Hierarchical belief states for digital assistants |
DK179549B1 (en) | 2017-05-16 | 2019-02-12 | Apple Inc. | FAR-FIELD EXTENSION FOR DIGITAL ASSISTANT SERVICES |
US10635463B2 (en) * | 2017-05-23 | 2020-04-28 | International Business Machines Corporation | Adapting the tone of the user interface of a cloud-hosted application based on user behavior patterns |
US10635863B2 (en) | 2017-10-30 | 2020-04-28 | Sdl Inc. | Fragment recall and adaptive automated translation |
US10817676B2 (en) | 2017-12-27 | 2020-10-27 | Sdl Inc. | Intelligent routing services and systems |
US11048488B2 (en) | 2018-08-14 | 2021-06-29 | Pegasystems, Inc. | Software code optimizer and method |
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 |
US11256867B2 (en) | 2018-10-09 | 2022-02-22 | Sdl Inc. | Systems and methods of machine learning for digital assets and message creation |
US10691428B2 (en) * | 2018-10-24 | 2020-06-23 | Sap Se | Digital compliance platform |
US11567945B1 (en) | 2020-08-27 | 2023-01-31 | Pegasystems Inc. | Customized digital content generation systems and methods |
CN115879479A (zh) * | 2021-09-26 | 2023-03-31 | 北京字节跳动网络技术有限公司 | 一种应用程序的翻译方法及装置 |
CN115618887B (zh) * | 2022-10-17 | 2023-07-25 | 北京志凌海纳科技有限公司 | 动态长文本国际化方法、装置、设备及存储介质 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6278967B1 (en) * | 1992-08-31 | 2001-08-21 | Logovista Corporation | Automated system for generating natural language translations that are domain-specific, grammar rule-based, and/or based on part-of-speech analysis |
US5434776A (en) * | 1992-11-13 | 1995-07-18 | Microsoft Corporation | Method and system for creating multi-lingual computer programs by dynamically loading messages |
US6496793B1 (en) * | 1993-04-21 | 2002-12-17 | Borland Software Corporation | System and methods for national language support with embedded locale-specific language driver identifiers |
US6185729B1 (en) * | 1996-03-04 | 2001-02-06 | Sun Microsystems, Inc. | Multibyte locale for single byte languages |
US5900871A (en) * | 1997-03-10 | 1999-05-04 | International Business Machines Corporation | System and method for managing multiple cultural profiles in an information handling system |
US6119079A (en) * | 1997-04-24 | 2000-09-12 | Hewlett-Packard Company | Method and structure for tokenized message logging system |
US6035121A (en) * | 1997-07-07 | 2000-03-07 | Netscape Communication Corporation | Method and system for localizing a computer program |
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 |
-
2001
- 2001-02-07 US US09/778,987 patent/US6983238B2/en not_active Expired - Lifetime
- 2001-08-30 CN CN01123655A patent/CN1368693A/zh active Pending
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7937685B2 (en) | 2005-01-13 | 2011-05-03 | Hsbc Technology & Services (Usa) Inc. | Computer software implemented framework for configuration and release management of group systems software, and method for same |
CN101120339B (zh) * | 2005-02-16 | 2010-05-19 | 三星电子株式会社 | 用于应用程序的多语言支持系统和方法 |
CN101382888B (zh) * | 2008-09-10 | 2011-09-14 | 金蝶软件(中国)有限公司 | 一种处理国际化资源的方法及系统 |
CN101634948B (zh) * | 2009-08-18 | 2012-10-03 | 恒生电子股份有限公司 | 一种多国语言软件开发系统及语言资源数据管理方法 |
CN101697127B (zh) * | 2009-10-30 | 2012-08-29 | 南京中兴软创科技股份有限公司 | 一种软件系统国际化方法 |
CN102103494A (zh) * | 2009-12-16 | 2011-06-22 | 新奥特(北京)视频技术有限公司 | 一种软件资源更改的方法和装置 |
CN102156655A (zh) * | 2011-05-05 | 2011-08-17 | 北京大学深圳研究生院 | 高级语言代码的生成方法及其产生器 |
CN102156655B (zh) * | 2011-05-05 | 2014-04-02 | 北京大学深圳研究生院 | 高级语言代码的生成方法及其产生器 |
CN103309647A (zh) * | 2012-03-08 | 2013-09-18 | 鸿富锦精密工业(深圳)有限公司 | 应用程序多语言支持系统及方法 |
CN103383680A (zh) * | 2012-05-02 | 2013-11-06 | 成都勤智数码科技股份有限公司 | It运维系统的多语化系统 |
CN103383679A (zh) * | 2012-05-02 | 2013-11-06 | 成都勤智数码科技股份有限公司 | 多语统一的it运维知识库实现方法 |
CN102981851A (zh) * | 2012-11-15 | 2013-03-20 | 深圳市共进电子股份有限公司 | 一种嵌入式网络设备界面语言的快速开发维护系统及方法 |
CN102981851B (zh) * | 2012-11-15 | 2016-02-03 | 深圳市共进电子股份有限公司 | 一种嵌入式网络设备界面语言的快速开发维护系统及方法 |
CN104536769A (zh) * | 2015-01-16 | 2015-04-22 | 浪潮电子信息产业股份有限公司 | 一种国际化文档实现方法 |
Also Published As
Publication number | Publication date |
---|---|
US6983238B2 (en) | 2006-01-03 |
US20020107684A1 (en) | 2002-08-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1368693A (zh) | 用于全球化软件的方法和设备 | |
CN100347696C (zh) | 企业业务过程管理的方法和系统 | |
CN1257470C (zh) | 评价网页的装置和方法 | |
CN1257465C (zh) | 用操作系统安装新的设备驱动程序的装置和方法 | |
CN1773508A (zh) | 把源文档转换成目标网页文件的方法 | |
CN1248139C (zh) | 用于表达频道化数据的系统和方法 | |
CN1992728A (zh) | 用于便利分组合作的系统和方法 | |
CN1841366A (zh) | 用于通过执行翻译来支持交流的交流支持设备和方法 | |
CN1650327A (zh) | 可训练可扩充的自动数据-知识转换器 | |
CN1315017A (zh) | 包含内部引用的两种版本数据表格之间的差别提取 | |
CN1680959A (zh) | 进程编辑设备和方法以及进程管理设备和方法 | |
CN1379882A (zh) | 将二维数据转换为标准形式的方法 | |
CN101048728A (zh) | 文档管理系统及其方法 | |
CN1439979A (zh) | 解决方案数据编辑处理及自动概括处理装置和方法 | |
CN1934569A (zh) | 集成有用户注释的搜索系统和方法 | |
CN101065746A (zh) | 文件自动丰富的方法和系统 | |
CN1667609A (zh) | 文档信息管理系统和文档信息管理方法 | |
CN1530860A (zh) | 使用全局唯一标识符的数据搜索系统和数据搜索方法 | |
CN1776724A (zh) | 基于网络的工程制图自动评判方法 | |
CN1866260A (zh) | 向用户可操作设备提供程序的方法和系统 | |
CN1869989A (zh) | 用于从非结构化描述生成结构化表示的系统和方法 | |
CN100351831C (zh) | 一种用于提供实时标记分析的聊天服务的方法和系统 | |
CN1286445A (zh) | 电子邮件设备 | |
CN1144004A (zh) | 多个客户机共有的数据库系统、数据更新方法及面向文字处理装置的应用 | |
CN1959678A (zh) | 信息处理方法及其设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |