我有一个 C++ 项目,其中源代码的注释是中文的,现在我想将它们转换成英文。我尝试使用谷歌翻译器解决,但遇到了一个问题:整个 CPP 文件或标题没有得到转换,我还发现结构、类等的名称发生了变化。有时代码也会被修改。
注意:每个 .cpp 或 .h 文件少于 1000 行代码。但是有多个 C++ 项目,每个项目大约有 10 个文件。因此,我有大约 50 个文件需要将中文文本翻译成英文。
我有一个 C++ 项目,其中源代码的注释是中文的,现在我想将它们转换成英文。我尝试使用谷歌翻译器解决,但遇到了一个问题:整个 CPP 文件或标题没有得到转换,我还发现结构、类等的名称发生了变化。有时代码也会被修改。
注意:每个 .cpp 或 .h 文件少于 1000 行代码。但是有多个 C++ 项目,每个项目大约有 10 个文件。因此,我有大约 50 个文件需要将中文文本翻译成英文。
好吧,你期待什么?谷歌翻译不知道 CPP 文件是什么以及如何处理它。您必须编写自己的程序,从中提取评论(不是那么难),通过谷歌翻译运行这些评论,然后将它们放回原处。
请注意,如果有注释掉的代码,或者注释引用了变量名,这些也会被翻译。检测和处理这些案件已经困难得多了。
提取注释是一个词汇问题,而且大多是一个非常简单的问题。
在几个小时内,您可以编写(例如使用flex)一些简单的命令行程序来提取它们。一个好的编辑器(例如GNU emacs)甚至可以配置为在选定的代码块上运行该过滤器。
(处理一些极端情况,例如原始字符串文字,可能会稍微困难一些,但这些情况并不经常发生,您可以手动处理它们)
顺便说一句,如果您被分配处理该代码,您将需要理解它,这比手动复制和粘贴或编辑每个评论需要更多的时间。
最后,我不确定代码注释自动翻译的质量。你可能会失望。此外,代码名称(函数、类、变量等)更重要。
也许用英语添加您的评论可能更明智。
不要忘记使用一些版本控制系统。你真的需要一个(例如git
)
(我不相信为自动翻译提取注释会对您的工作有所帮助)
首先使用下面的python脚本将注释和代码部分分开在不同的文件中,
import sys
file=sys.argv[1]
f=open(file,"r")
lines=f.readlines()
f.close()
comment=open("comment.txt","w+")
code=open("code.txt","w+")
for l in lines:
if "//" in l:
comment.write(l)
code.write("\n")
else:
code.write(l)
comment.write("\n")
comment.close()
code.close()
现在用谷歌翻译器翻译comment.txt,然后使用
paste code.txt comment_en > source
其中comment_en 是翻译成英文的comment。