翻译LOC

时间:2009-11-05 11:17:51

标签: java translation

有没有人遇到这样一种情况:现有的用Java编写的代码库(比方说)和(比如说)法语程序员编写的代码库必须转换成英语程序员可以理解的代码?这里的问题是变量/方法/类名,注释等都将使用该特定语言。

是否有任何自动化解决方案?

(我在标题中使用了Translate这个词,但显然我并不是说将代码移植到任何其他编程语言中,我也不是说i18n。)

此致

3 个答案:

答案 0 :(得分:1)

这当然是一项非常重要的任务。

我的第一个想法是

  • 获取一些工具(解析器),将您的源代码解析为XML文件(或AST)
  • 执行中间格式的翻译,例如:可以在XML文件中使用XPATH来查找注释,变量名称等。
  • 然后该工具当然必须支持将XML文件重新转换为javasource代码

问题:

  • 翻译不好(翻译程序没有领域知识,翻译程序几乎肯定无法正确翻译计算机/编程术语,首字母缩略词,错误输入的单词,camelcase方法名称等。)
  • 你不能盲目地理想地翻译你需要重构。除此之外,您最终可能会得到无效的源代码,因为(a:翻译将多个单词与单个翻译匹配,最终可能会导致类/变量/方法具有相同的等等。
  • 如何确定要翻译的内容(例如java标准库类名等)

答案 1 :(得分:0)

我认为你不能简单地通过某种“翻译”软件运行它来进行基于字典的变量名称和注释的替换。我担心你要么需要一个解析Java的翻译软件,它可以分离出注释,变量名,类名和可能的消息,然后才应用基于字典的翻译。即使在这种情况下,我怀疑结果会非常吸引人,因为所述软件很可能缺乏您需要习惯性翻译术语的领域知识。

我担心唯一能够产生有用的东西的解决方案是聘请一位能够熟练掌握两种自然语言并熟悉问题领域的程序员来重写软件。其他一切都可能造成大混乱。

答案 2 :(得分:0)

请记住,类路径名在Java(以及其他一些语言)中非常敏感,进行全局“查找和替换”,听起来就是这样,很可能会破坏软件的重要方面。