自动化的基于上下文的软件本地化的制作方法_3

文档序号:9383084阅读:来源:国知局
口以检测在源代码中的屏幕状态。一旦检测到屏幕状态,翻译包创建器模块200可以(例如,通过模块202和/或模块204)确定至少一个属性文件中的哪个部分与屏幕状态相关联。例如,屏幕状态检测器模块202可以分析与特定屏幕状态相关联的代码以确定哪个属性键被包括在这种代码中。
[0038]属性文件约简器模块204可以基于至少一个属性文件和关于屏幕状态的信息产生至少一个约简的属性文件。例如,当屏幕状态检测器模块检测到屏幕状态以及与屏幕状态相关联的属性键时,属性文件约简器模块204可以分析每个阶段2属性文件(例如,每种语言一个)以识别相同的属性键(与屏幕状态相关联)。与屏幕状态相关联的这些属性文件的部分然后可以被提取并用于产生新属性文件。该过程然后可以针对其它屏幕状态进行重复。对于每个特定语言阶段2属性文件,该结果可以是针对每个屏幕状态的一个约简的属性文件,其中每个约简的属性文件包括与特定屏幕状态相关联的属性键和值。属性文件约简器模块204也可以以类似的方式产生阶段I属性文件的约简的属性文件。
[0039]屏幕截图捕捉模块206可以基于关于屏幕状态的信息捕捉、接收、产生和/或创建至少一个屏幕截图。例如,当屏幕状态检测器模块检测屏幕状态时,屏幕截图捕捉模块206可以捕捉、接收、产生和/或创建图像(例如,GIF, JPG, PNG等),该图像与当使用软件产品而经历屏幕状态时用户见到的图像相同或类似。
[0040]包装器模块208对于每个屏幕状态和可能达到每种语言一个屏幕状态而言可以包装相关联的屏幕截图和至少一个相关联的约简的属性文件。包装器模块208可以接收(例如,从模块206)针对每个屏幕状态的屏幕截图。包装器模块208可以接收(例如,从模块204)针对每个屏幕状态的至少一个约简的阶段2属性文件。包装器模块208可以接收(例如,从模块204)针对每个屏幕状态的约简的阶段I属性文件。包装器模块208可以创建针对每个屏幕状态的翻译包(TP),并且可能达到一种语言一个翻译包,如下更详细描述的。
[0041]再次参考图1B,翻译包创建器模块136可以创建至少一种翻译包(TP) 138,例如每个屏幕状态一个翻译包,并且可能达到每种语言一个翻译包。在各种场景中,可以以各种方式构建翻译包。在图1B的特定实施例中,翻译包138可以被构建为每种屏幕状态一个翻译包,其中每种翻译包138包括屏幕截图140,针对每个支持语言一个约简的阶段2属性文件142,并且可能包括约简的阶段I属性文件144。在其它场景中,翻译包138可以被构建为每个屏幕状态一个翻译包,并且然后对于每种屏幕状态,达到每种支持语言一个翻译包。换句话说,在具有每种支持语言一个TP的场景中,翻译包的总数量可以是“屏幕状态的数量”乘以“支持语言的数量”。在这种场景中,每个翻译包138 (对于特定的屏幕状态和支持语言)包括屏幕截图140、针对特定支持语言的一个约简的阶段2属性文件142、以及可能的约简的阶段I属性文件144。在这种场景中,对于特定的屏幕截图,翻译包(每种支持语言一个翻译包)可以包括复制信息。例如,每个翻译包(针对屏幕状态)可以包括相关联的屏幕截图的副本、以及可能的相关联的约简的阶段I属性文件的副本。为了清楚起见,在这种场景中,图1B的翻译包138可以出现一个屏幕截图、一个约简的阶段I属性文件以及一个约简的阶段2属性文件,并且然后,翻译包可以是每种屏幕状态一个以及每种支持语言一个。在其它场景中,一些翻译包(每种屏幕状态)可以包括除了其它TP以外的或多或少约简的阶段2属性文件。例如,一个TP可以支持3种语言并且另一种TP可以支持I种语言。
[0042]屏幕截图140可以是显示UI —部分的图像(例如,GIF, JPG、PNG等),该一部分UI结合相关屏幕状态被显示给用户。每个约简的阶段2属性文件142可以是对应语言的阶段2属性文件130的子集。每个约简的阶段2属性文件142可以仅包括状态2属性文件的与相关屏幕状态相关联的部分。例如,阶段2属性文件可以仅包括与特定语言元素相关联的属性键和值,该特定语言元素可以显示为相关屏幕状态的结果。类似地,约简的阶段I属性文件144可以是阶段I属性文件132的子集并且可以仅仅包括与特定语言元素相关联的来自阶段I属性文件132的属性键和值,该特定语言元素可以显示为相关屏幕状态的结果。
[0043]翻译包创建器模块136然后可以将屏幕截图140、至少一个约简的阶段2属性文件142 (例如,针对每个支持语言一个)、以及可能的约简的阶段I属性文件144打包在一起。如上所述,在可替代的实施例中,翻译包创建器模块136可以每个屏幕状态打包一个TP,或者每个屏幕状态打包一个TP并且达到每种支持语言一个TP。翻译包138可以采取任何文件或文件夹形式,该文件或文件夹可以包含多个文件(例如,a.zip文件、a.rar文件、数字文件夹等)。在这点,每个TP可以提供需要被本地化的各种元素(例如,来自约简的阶段I属性文件144的属性键和值)、针对元素(例如,在约简的阶段2属性文件中的数值)的翻译初稿以及每个元素的特定应用程序上下文信息(屏幕截图)。
[0044]图3A至图3C描述了示例翻译包的示例内容。图3A描述了可以包括在示例翻译包中的示例屏幕截图300。图3B描述了可以包括在示例翻译包中的示例约简的阶段I属性文件330(例如以英语)的至少一部分。图3C描述了可以包括在示例翻译包中的示例约简的阶段2属性文件360 (例如,以法语)的至少一部分。如通过比较图3A、3B以及3C可见,UI的各种特定语言元素(例如,屏幕截图300)具有在属性文件中的属性键(以及值)副本。例如,在图3A中的特定语言元素(例如可显示的字符串)302、304、306和308具有在图3B中的副本属性键/值332、334、336和338。同样,例如,在图3A中的特定语言元素(例如,可显示的字符串)302、304、306和308具有在图3C中的副本属性键/值362、364、366和368。通过比较图3B和图3C可见,属性键(例如,“Addlntegrat1nDialogCancelButton”)在每个属性文件中是相同的,但是取决于语言(例如,“Cancel”用于英语以及“Annuler”用于法语),属性键数值是不同的。
[0045]图3A至图3C显示了翻译包是如何针对需要被翻译或本地化的各种特定语言元素提供上下文的示例。翻译包可以在可显示在软件产品中的屏幕和显示在这种屏幕中的相关特定语言元素之间提供直接链接。例如,人工翻译可以查看英语属性文件(例如,图3B)以确定需要被翻译的值。人工翻译然后可以查看特定语言(例如,在图3C中是法语)的“初稿”属性文件以领会该值的可能正确翻译。人工翻译然后可以查看屏幕截图(例如,图3A)以获取关于当显示给用户时该值在软件产品中如何使用的上下文。人工翻译然后可以确定初稿翻译是正确的,或者可以修改翻译以更好地适合上下文。
[0046]再次参考图1B,阶段3可以输出每个屏幕状态一个翻译包(TP),并且可能达到每种语言一个翻译包,并且随后阶段可以使用这些。例如,阶段3计算设备可以将这些项目传送到至少一个阶段4计算设备。在一些场景中,阶段3计算设备可以将这些项目传送到至少一个其它阶段计算设备,并且然后至少一个其它阶段计算设备可以将这些项目传送到至少一个阶段4计算设备。在一些场景中,阶段3计算设备可以将这些项目传送到在过程中的不是阶段4的随后阶段的至少一个阶段计算设备。在一些实施例中,只要翻译包模块136已经产生了翻译包138,阶段3计算设备就可以自动地将翻译包138传送到随后阶段(例如,阶段4)。阶段3也可以输出阶段I源代码128和/或阶段2属性文件130,并且随后阶段可以使用这些。例如,阶段3计算设备可以将这些项目传送到阶段5计算设备。在一些场景中,阶段3计算设备可以将这些项目传送到至少一个其它阶段,并且然后至少一个其它阶段可以将这些项目传送到阶段5 ο在一些场景中,阶段3计算设备可以将这些项目传送到在过程中的不是阶段5的随后阶段。
[0047]阶段4 (由参考标记108表示)可以包括分析翻译包以产生修订的翻译包,该修订的翻译包可以包括比“初稿”翻译更加准确的翻译,该“初稿”翻译可包括在来自较早阶段的翻译包。阶段4可以包括由至少一个人工审稿人或翻译人(例如148)的分析和输入。通过多于一个的计算设备,例如达到每种支持语言一个计算设备,可以实施阶段4。在这种场景中,每个计算设备可以从不同语言的人工翻译接收输入。阶段4可以接收(例如,从阶段3计算设备)翻译包146。翻译包146可以与翻译包138中的至少一些相同或者是其副本。如上所述,每个翻译包可以包括一个约简的阶段2属性文件(例如,针对特定屏幕状态和特定语言)或者可以包括多于一个的约简的阶段2属性文件。例如,如果特定阶段4计算设备的人工翻译只能够翻译成一种目标语言,翻译包可以仅包括针对该语言的阶段2属性文件。作为另一个示例,如果人工翻译能够翻译成所有支持语言,那么翻译包可以包括针对所有支持语言的阶段2属性文件。如上所述,翻译包可以由先前的阶段(例如,阶段3)自动地发送。其结果是,人工审稿人可以接收翻译包准备好检查或翻译的邮件通知或一些其它通知(例如,由较早阶段产生和/或传送的)。
[0048]人工翻译148可以检查翻译包146。如上所述,对于人工审稿人而言,检查和翻译过程可以简单得多,因为翻译包包括与约简的属性文件相关联的屏幕截图(增加上下文信息)以及翻译初稿。因为翻译过程已经变得容易得多,例如通过在线兼职翻译人(例如Amazon’s Mechanical Turk等)可以实施阶段4。另外,可以减少翻译次数,这意味着晚期阶段(例如阶段5)可以较快开始。人工翻译148可以创建修订的翻译包150,例如每个屏幕状态一个翻译包(例如,针对与在翻译包146中的相同屏幕状态)。
[0049]每个修订的翻译包150可以包括至少一个修订的约简的阶段2属性文件。例如,如果翻译包146每个包括针对不同语言的多个阶段2属性文件,那么每个修订的翻译包150可以包括多个修订的约简的阶段2属性文件。另一方面,如果翻译包146每个包括单个阶段2属性文件(例如,针对单个目标语言),那么每个修订的翻译包150可以包括单个修订的约简的阶段2属性文件。每个修订的约简的阶段2属性文件150可以与翻译包146中的对应的约简的阶段2属性文件一样,但是人工翻译148可以改变一些属性键值,例如以提供更准确的翻译。一旦该修订的翻译包150被创建,可以被传送或提交到晚期阶段(例如,阶段5),以提交给源代码库。例如,阶段4计算设备可以包括一界面,通过该界面,人工翻译可以指示并提交修订的翻译包,并且然后修订的翻译包可以自动地传送到晚期阶段(例如,阶段5)。
[0050]因此,阶段4可以输出每个屏幕状态一个修订的翻
当前第3页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1