论文部分内容阅读
由于历史原因,大多数应用于各行业的成熟软件系统都是基于英语语言文化环境而开发的,随着经济全球化的深入发展,对这些遗留软件系统进行基于再工程的全球化,实现其针对其他语言文化环境的本地化版本,具有巨大的现实意义。对大型遗留软件系统进行基于再工程的国际化和本地化,需要解决两个问题:对旧代码进行转换以使其支持国际化,常见的做法是使代码提供对Unicode编码的支持;对本地化信息进行处理,主要是系统中文本的翻译。目前业界实现代码转换的技术主要是手工式的,对大型系统而言,往往拥有百万行甚至上千万行的代码量,如果对代码逐行进行手动分析和转换,不仅效率低,而且出错率也是很高的。本文通过对代码空间按照是否能基于词法分析进行自动化转换进行划分,提出了可疑代码的概念,通过对可疑代码进行预先处理,实现了一种基于词法分析的自动化技术,对代码进行可疑识别、分析和自动转换。该技术对系统代码进行两次扫描:第一次扫描解析出所有可疑代码并进行分析、转换;第二次扫描进行基于词法分析的自动化转换以实现系统代码的Unicode化。在本地化方面,本文采用了独立本地化资源的方法,将系统中的本地化信息提取出来创建纯资源DLL,实现了系统的多语言用户界面,并开发了一套自动化工具用于实现本地化信息如硬编码字符串的自动化提取。同时,按照对质量的不同需求将需翻译的资源进行划分:对数量庞大、翻译质量要求较低的用户文档等采用机器翻译技术直接实现翻译;对数量相对较少、翻译质量要求严格的资源文件,定义了一套自己的翻译流程,实现了专门针对用户界面、硬编码字符串等的自动化翻译工具。通过在一个拥有1000万行C/C++代码的超大型金融软件系统上的实现和成功应用,本文验证了这套技术的可行性和高效性。这些技术具有良好的应用价值,可应用于各种大型系统以实现其国际化和本地化。