我有一个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()
现在翻译评论.txt使用谷歌翻译,然后使用
paste code.txt comment_en > source
其中comment_en被翻译成英文评论。