软件翻译的内省编辑器系统、程序和方法技术方案

技术编号:2881121 阅读:229 留言:0更新日期:2012-04-11 18:40
一种向语言翻译者提供要翻译文本的上下文关系信息的系统、方法和程序。以基本语言向翻译者提供图形用户界面,随后翻译者可交互式翻译屏幕上的各个文本标记。由于是在正确的上下文中对文本进行翻译,因此可减少或消除翻译校验测试的时间和费用。通过向软件应用程序本身增加编辑器功能,获得在应用程序内编辑文本的能力。利用特定的资源束名称并依据关键字,可将应用程序中的各个文本标记保存在本地化文件中。当激活编辑器时,内省文本对象,以查找其源数据,翻译者可直接编辑文本。随后源数据被用于保存译文,供以后使用。(*该技术在2020年保护过期,可自由使用*)

【技术实现步骤摘要】

本专利技术涉及国际通用软件的开发工具,尤其涉及多语言软件开发。更具体地说,本专利技术涉及实现计算机软件的语言翻译的改进系统和方法。随着计算机变得越来越普遍,软件开发商最好能够把他们的产品销售给不讲软件开发商本国语言的那些人们。具体地说,最好用英语开发的软件既适用于美国国内人民,又适用于全世界内不讲英语的其他人民。因此,以英语开发的许多软件应用程序稍后都要经过翻译,供非英语用户使用。把软件包翻译成另一(或者一种以上其它)语言的过程既费时,费用又高。必须翻译各个文本消息、菜单和工具按钮,以使用户能够运用该程序。最直接的方式是搜索整个程序源代码,查找每个文本串,即查找将要显示给用户的每个字符串,并把各个字符串翻译成新的语言。这种方法存在几个问题。一个问题是使用这种方法意味着必须相对于每种预期的语言,特别地翻译并编译软件。这本身是费用高昂的过程,并且意味着源代码中的任意变化都需要编辑和重新编译各种语言版本的代码。图2中表示了Java应用程序中硬编码标记的例子。Java是两种事物编程语言和平台。一方面,Java是高级编程语言,并且与从不同的是每个Java程序既被编译又被解释,从而使其能够利用多种平台。Java也是运行于其它基于硬件的平台之上的纯软件平台。Java平台具有两个组件Java虚拟机(Java VM)和Java应用程序编程接口(Java API)。Java VM是Java平台的基础,并且通向各种基于硬件的平台。JavaAPI是一大批提供多种有用能力的现成软件组件,例如图形用户界面(GUI)窗口小部件。Java API被分为相关组件的库(包)。JavaBeans为Java平台带来组件技术(component technology)。JavaBeans API支持可重新使用的与平台无关的组件。通过使用服从JavaBeans的应用程序生成器工具,可把组件组合成为小程序、应用程序或复合组件。JavaBeans组件被称为Beans。图2中,所示窗口200具有两个图形用户界面(GUI)“按钮”210和230。这些按钮是利用硬编码Java“JButton”调用产生的;例如,代码行220调用具有串变元“OK”的Jbutton,产生具有文本标记“Ok”的按钮210。类似地,代码行240调用具有串变元“Cancel”的Jbutton,产生具有文本标记“Cancel”的按钮230。要翻译使用如图2中的硬编码串的软件应用程序,必须分析每行代码,并且相对于各个目标语言,单独翻译各个显示串。这种问题的一种解决方案是使用独立的本地化文件,要显示的文本串独立于其可执行代码单独存储在所述本地化文件中。当执行软件时,只是简单地以本地化文件中存储的任何语言从本地化文件中读出各个指定显示屏幕的文本。这样,可在不干扰可执行代码的情况下,翻译本地化文件中的文本,可在不干扰翻译文件的情况下,改变或替换可执行代码(当然,如果要显示的文本发生变化,则本地化文件中的相应条目也必须被改变的情况除外)。本地化文件可以采取任意多种格式,包括被编译信息目录、Java资源束(resource bundle)、HTML文件及其它多种格式。本地化文件的使用便于进行多重翻译,但是带来的一个新问题是对于翻译者来说,是在不存在任何上下文关系的情况下,对单独文件中的孤立文本进行翻译。由于情况是这样,因此翻译通常总是含有错误,而如果翻译者能够按照文本出现的上下文进行翻译,就不会存在这样的错误。不管用何种方法处理翻译,也必须校对使用中的程序的各个屏幕,以确保正确地显示翻译后的文本,并且正确地翻译显示环境中的文本。于是,通常的做法是雇用具有其它语言背景的人员来校对翻译后的程序的各个屏幕,以便检测任意显示、语法或其它翻译错误。该第二阶段被称为翻译校验测试(TVT)。图3中表示了按照常规方法的翻译和测试循环图。A国的代表性公司A构建了打算供B国使用的应用程序(310)。接下来,公司A把应用程序打包并运输给位于B国的公司B(320)。公司B将运行该应用程序,测试任何翻译或国际化错误(330)。随后公司B进行TVT测试,记录任何翻译错误,并进行任何必需的重新翻译(340)。随后公司B把改正内容返回公司A,重复上述过程,直到不再发现错误为止。按照这种常规方法,在B国每次校正错误或改变翻译,在重新测试产品之前,都必须在A国重构并重新打包该产品。因此,TVT过程必然既费钱又费时。于是希望提供一种向翻译者提供辅助信息,尤其是上下文信息的装置,从而初始翻译能够尽可能准确。这样,可降低或消除进行TVT测试所需的费用和时间。本专利技术的一个目的是提供一种改进的国际通用软件的开发工具。本专利技术的另一目的是提供改进的多语言软件的开发工具。本专利技术的又一目的是提供一种在计算机软件中进行语言翻译的改进系统和方法。在下述详细的书面说明中,本专利技术的上述及其它目的、特征和优点将是显而易见的。通过提供一种向语言翻译者提供要翻译文本的上下文关系信息的系统、方法和程序,可实现更高效的翻译过程。以基本语言向翻译者提供图形用户界面,随后翻译者可交互式翻译屏幕上的各个文本标记。由于是在正确的上下文中对文本进行翻译,因此可减少或消除翻译校验测试的时间和费用。通过向软件应用程序本身增加编辑器功能,获得在应用程序内编辑文本的能力。利用特定的资源束(resourcebundle)名称并依据关键字,可将应用程序中的各个文本标记保存在本地化文件中。当激活编辑器时,内省文本对象,以查找其源数据,翻译者可直接编辑文本。随后源数据被用于保存译文,供以后使用。因此,本专利技术提供了一种编辑软件程序的文本数据的方法,包括通过调用包括与第一文本数据相关的源数据的软件对象,显示第一文本数据;响应用户输入,检查软件对象,识别源数据;从用户输入接收对应于第一文本数据的第二文本数据;按照源数据,以机器可读的形式保存第二文本数据;并在计算机显示器上替代第一文本数据而显示第二文本数据,其中机器可读形式最好是计算机存储媒介上的本地化文件。第二文本数据最好是第一文本数据的译文,软件对象最好是Java组件。源数据还可包括对Java资源束的引用,并且也可包括与第一文本数据相关的关键字。检查步骤中的用户输入是鼠标点击。在另一个实施例中,本专利技术提供具有至少一个处理器、可存取存储器及可访问显示器的计算机系统,所述计算机系统包括用于通过调用包括与第一文本数据相关的源数据的软件对象,显示第一文本数据的装置;用于响应用户输入,检查软件对象,以识别源数据的装置;用于从用户输入接收对应于第一文本数据的第二文本数据的装置;用于按照源数据,以机器可读的形式保存第二文本数据的装置;以及用于在计算机显示器上替代第一文本数据而显示第二文本数据的装置,其中机器可读形式最好是计算机存储媒介上的本地化文件。第二文本数据最好是第一文本数据的译文,软件对象最好是Java组件。源数据还可包括对Java资源束的引用,并且也可包括与第一文本数据相关的关键字。检查步骤中的用户输入是鼠标点击。在又一个实施例中,本专利技术提供具有在计算机可用媒介上的计算机可读程序代码的计算机程序产品,包括用于通过调用包括与第一文本数据相关的源数据的软件对象,显示第一文本数据的指令;用于响应用户输入,检查软件对象,以识别源数据的指令;用本文档来自技高网...

【技术保护点】
一种编辑软件程序的文本数据的方法,包括: 通过调用包括与第一文本数据相关的源数据的软件对象,显示第一文本数据; 响应用户输入,检查软件对象,以识别源数据; 从用户输入接收对应于第一文本数据的第二文本数据; 按照源数据,以机器可读的形式保存第二文本数据;和 在计算机显示器上替代第一文本数据而显示第二文本数据。

【技术特征摘要】
...

【专利技术属性】
技术研发人员:山本启一余健雄大卫布鲁斯基米尔斯坦福德路易斯耶兹
申请(专利权)人:国际商业机器公司
类型:发明
国别省市:US[美国]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1
相关领域技术
  • 暂无相关专利