采用外观类进行软件翻译的内观编辑器系统、程序和方法技术方案

技术编号:2885511 阅读:183 留言:0更新日期:2012-04-11 18:40
一种为语言翻译者提供待译文本的上下文信息的系统、方法和程序。向翻译者显示一个基本语言的图形用户界面,翻译者然后互动地翻译屏幕上的每个文本标签。由于翻译是针对处于正确上下文中的文本进行的,所以能减少甚至去除翻译验证测试的时间和费用。文本的上下文表示的实现方法是,创建一个包括Java JCom-ponents的“外观”类,并向每个成员组件添加额外属性。额外属性包括每个JComponent的Java资源束名和关键字。(*该技术在2020年保护过期,可自由使用*)

【技术实现步骤摘要】

本专利技术总体涉及用于开发国际通用软件的工具,特别是用于多语种软件开发的工具。更具体来说,本专利技术涉及在计算机软件中进行语言翻译的一种改进的系统。软件国际化随着计算机变得更加流行,软件开发商已经开始希望能够向那些不使用软件开发商母语的人们营销他们的产品。特别是希望用英语开发的软件能为美国和世界其它地区不讲英语的人们所用。所以,许多用英语开发的软件应用程序后来被翻译,供不讲英语的人们使用。将软件包翻译到另一种(或一种以上)语言的过程既费时又耗财。要让用户能操作程序,必须要翻译每一个文本信息、菜单和按钮。这样做的最直接方法是检索出整个程序源代码中的文本串一即要向用户显示的每个字符串,然后将每个字符串翻译成新的语言。这种方法有几个问题。一个问题是使用这种方法意味着必须针对每种目的语言对软件进行专门的翻译和编译。当然这本身就是一个费用很高的过程,并且意味着源代码中发生任何变动时都要求对代码的每个语言的版本进行编辑和重新编译。图2表示Java应用程序中硬编码(hardcoded)标签的例子。该图中显示,窗口200有两个图形用户界面(GUI)“按钮”210和230。这些按钮是用硬编码的Java“JButton”调用创建的。例如,代码行220以串参数“Ok”调用JButton,生成带文本标签“Ok”的按钮210。类似地,代码行240以串参数“Cancel”调用JButton,生成带文本标签“Cancel”的按钮230。要翻译采用图中那样的硬编码的串的软件应用程序,必须分析每个代码行,并且必须将每个显示串分别译成目标语言。这个问题的一种解决方案是使用独立的本地化文件,其中,待显示文本串与可执行代码本身分开存储。执行软件时,只要简单地从本地化文件中读出每个给定显示屏的文本,文本使用的就是文件中存储的语言。这样就能翻译本地化文件中的文本而不干扰可执行程序,就能修改可执行程序而不干扰被翻译的文本(当然,除非待显示的文本改变,这时,本地化文件中的对应项也必须改变)。本地化文件可以有多种格式,包括编译信息目录、Java资源束(resourcebundles)、HTML文件及许多其它格式。本地化文件的使用提供了一种简易的多重翻译的方法,但又带来另外的问题,即翻译是针对单独文件中的孤立文本进行的,没有任何种类的上下文供翻译者参考。由于这个情况,译文常常含有错误一翻译者若能按出现文本所在的上下文来进行翻译,这些错误原本不会出现。不管翻译问题是如何处理的,然后都要校对运行程序的每个屏幕,保证翻译后的文本显示得当,保证按显示的上下文正确地翻译文本。因此,通行的作法是雇佣具有其它语言背景的人员来校对被翻译程序的每个屏幕,检查任何显示、语法或其它翻译错误。这个第二阶段被称为翻译验证测试(TVT)。图3表示的是按照常规方法的翻译和测试周期的示意图。代表性的A公司位于A国,编制供B国使用的应用程序(310)。然后,A公司将应用程序打包并运送到位于B国的B公司(320)。B公司然后将执行该应用程序,检查任何翻译或国际化错误(330)。B公司然后进行TVT测试,记录任何翻译错误,并进行任何必要的重新翻译(340)。B公司然后将更正结果送还给A公司,这个过程一直重复到不再发现错误。按照这个常规过程,每次在B国更正错误或改动翻译后,该产品都必须在A国被重新编制和重新打包,然后再被重新测试。由于这样,TVT过程必定是个耗资费时的过程。因此,希望提供一种方法来向翻译者提供额外的信息,特别是上下文信息,以便使初次翻译尽可能准确。这样做能减低甚至去除进行TVT测试所需的费用和时间。JavaJava有两个方面程序设计语言和平台。一方面,Java是一种高级程序设计语言,其不寻常之处是Java程序既是编译的也是解释的,这使它能在许多平台上使用。Java也是一种在其它基于硬件的平台的顶部上运行的唯软件平台。Java平台有两个组件Java虚拟机(Java VM)和Java应用程序设计接口(Java API)。Java VM是Java平台的基础,依靠在各种基于硬件的平台上面。Java API是一系列编制好的软件组件,它们提供许多有用的功能,诸如图形用户界面(GUI)小配件。Java API被分组成相关组件的库(包)。JavaBeans为Java平台带来组件技术。JavaBeans API支持可重用的、独立于平台的组件。采用符合JavaBeans的应用程序编制器工具,可以将组件组合成小应用程序、应用程序或复合组件。JavaBean组件被称为豆(Bean)。因此,本专利技术的一个目的是提供一种用于开发有国际性应用的软件的改进的工具。本专利技术的另一个目的是提供一种用于多语言软件开发的改进的工具。本专利技术的另一个目的是提供一种用于进行计算机软件中的语言翻译的改进的系统和方法。本专利技术的以上及其它目的、功能和优点将显见于以下的详细说明中。通过提供一种为语言翻译者提供待翻译文本的上下文信息的系统和方法,有可能设计出更有效的翻译过程。翻译者被提供一个基础语言的图形用户界面,然后就能互动地翻译屏幕上的每个文本标签。由于翻译是针对恰当的上下文中的文本进行的,翻译验证测试的时间和费用就会减少甚至消除。编辑应用程序内部文本的能力是通过向软件应用程序本身添加编辑器功能而取得的。应用程序中的每个文本标签被存储在作为“外观(facade)”类的组件的本地化文件中,“外观”类包括Java JComponents并向每个成员组件添加额外特性。额外特性包括每个JComponent的Java资源束名和关键字。当编辑器启动时,翻译者能直接地编辑文本,上下文信息被用来存储译文,供以后使用。被认为是本专利技术的特征的新颖功能在后附的权利要求中陈述。然而,本专利技术本身及其最佳使用方式、其它目的和优点,最好将通过参考以下结合各附图对示例性实施例的详细说明而理解。附图说明图1表示可以在其中实现按照本专利技术最佳实施例的系统的数据处理系统;图2是一例带有硬编码文本的GUI显示;图3表示按照常规方法的翻译和测试过程的框图;图4是按照本专利技术最佳实施例的翻译和测试过程的框图;图5表示按照本专利技术最佳实施例的一例采用Java资源文件的GUI显示;图6是按照本专利技术最佳实施例的软件应用程序的内观工具(introspection tool)的框图;图7表示按照本专利技术最佳实施例的Java包装类的框图;图8是按照本专利技术最佳实施例的Java包装类的更详细的图示;图9表示按照本专利技术最佳实施例的Java外观类的框图。现在参考各附图,特别是参考图1,该图表示的是一个可以在其中实现按照本专利技术最佳实施例的系统的数据处理系统。数据处理系统100例如可以是国际商用机器公司(位于美国纽约Armonk)提供的计算机。数据处理系统100包括处理器102和103,在示例性实施例中,它们各自分别与二级(L2)高速缓存103和104相连,高速缓存进而与系统总线106相连。与系统总线106也相连的是系统存储器108和基本主桥(PHB)122。PHB 122将I/O总线112连接到系统总线106,从一个总线向另一个总线转接和/或变换数据事务。在示例性实施例中,数据处理系统1 00包括与I/O总线112相连的、为显示器120接收用户界面信息的图形适配器118。外围设备通过工业本文档来自技高网...

【技术保护点】
一种编辑软件程序的文本数据的方法,包含: 通过对包含与第一文本数据相关的源数据的软件对象的调用,显示第一文本数据,该软件对象是Java对象类的成员,该类包括是具有额外的源数据属性的Java组件对象的成员; 根据用户输入,检查软件对象,以确定源数据; 接收来自用户输入的、与第一文本数据对应的第二文本数据; 按照源数据,以机器可读形式存储第二文本数据;和 在计算机显示器上显示第二文本数据,替代第一文本数据。

【技术特征摘要】
...

【专利技术属性】
技术研发人员:山本启一余健雄DB库伊SL雅特斯
申请(专利权)人:国际商业机器公司
类型:发明
国别省市:US[美国]

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

1