论文部分内容阅读
软件国际化是指,在设计软件时将软件与特定语言与地区脱离的过程。它对于开发者来说是一个有挑战性的任务,特别是在软件当初设计时没有考虑这个问题的时候。在软件国际化过程中,很重要的一个问题是要对软件与用户交互的界面文字进行翻译,这个过程如果没有自动化工具的辅助会浪费人力与时间,而且容易出现错误和遗漏。
本文针对这一问题,设计并实现了一个软件国际化辅助工具,可以辅助用户翻译软件界面文字的工作,我们将这些界面文字对应的常量字符串称为待译字符串。本工具可以辅助用户提取待译字符串,并分析这些字符串的上下文语境,通过可视化的依赖树形式,将这种上下文语境展示给用户。
本文介绍了如何设计、实现满足以上功能的工具。对于待译字符串的提取,我们首先收集代码中输出API方法,根据这些输出API的参数定位初始输出字符串,使用字符串标记分析法分析初始输出字符串依赖的常量字符串,这些常量字符串就是待译字符串;对于待译字符串的分析,我们将它们的上下文语境表示为依赖树的形式:字符串表示为节点,字符串之间的依赖关系表示为边,边有两种,将依赖关系是字符串赋值形式的表示为赋值边,将依赖关系是字符串连接形式的表示为聚合边;对于字符串依赖树的可视化,我们采用draw2d工具包,绘制依赖树中的节点、边以及表示边类别的箭头,在绘制过程中,考虑到有些字符串名称会很长,需要采用换行算法对节点的名称进行换行,并且要采用布局算法将所有节点和边均匀的分布在绘制的画布上。
本文同时设计了两组实验,一组实验是在有和没有工具的两种情况下,介绍用户确定待译字符串上下文的方式,对比这两种情况,说明工具为用户带来的翻译的便利性和准确性;另一组实验是将工具应用到一个实际的开源软件Risk,表现了在复杂情况下工具展示待译字符串上下文环境的能力,从而说明在实际应用的复杂情况下,工具可以为用户的软件国际化翻译过程提供便利。