这篇文章上次修改于 352 天前,可能其部分内容已经发生变化,如有疑问可询问作者。
为什么不直接使用翻译器?
诸如 DeepL 一类的工具可以很方便地做到选中段落的翻译。当 DeepL
在后台运行时,选中论文中的段落后,双击⌘(Cmd)
+
C
即可立刻将选中内容拷贝到 DeepL 中翻译。使用「有道词典」等
App,甚至可以做到划出段落时自动弹出浮窗翻译。
那么为什么不直接使用这些翻译器呢?笔者在使用这些翻译器时,常出现的一个问题是处理论文中的单词折行。例如,单词translate
出现在行尾时,会被排版系统拆分为trans-
和late
,其中trans-
放在前一行尾,late
放在后一行始。在拷贝到翻译器中时,这些折行仍会出现在段落中,变成trans- late
这样的文本。一些翻译器在处理这种文本时会出现问题,例如
DeepL 有时会把它们当作两个单词对待,有时又会莫名其妙丢词错译。
一个简单的处理方式是:把段落粘贴到一个字处理软件中,例如
VSCode,或者笔者使用的
Kate,然后使用「查找-替换」功能将所有的-
(短横线+空格)替换为空,然后再将替换好的文本拷贝到翻译器里。如果只是偶尔使用的话,这样也未尝不可,但经常需要调用翻译功能时,这样重复就太繁琐了。
因此笔者尝试将这一过程自动化。说到自动化,很多人会想到 Alfred ,但笔者没有为之付款;况且杀鸡焉用牛刀呢,MacOS 自带的「快捷指令」功能就可以方便地做到。
快捷指令制作
遵循以下步骤,让我们来制作属于自己的自动化指令!
在启动台中找到「快捷指令」应用,默认情况下它应当在「其他」文件夹里。或者,你也可以按下
⌘(Cmd)
+空格
打开聚焦,输入「快捷指令」查找该应用。打开应用后,按
⌘(Cmd)
+N
新建一个快捷指令,或者也可以按下右上角的「+」号来新建。新的快捷指令窗口如下。
单击顶端的「快捷指令名称」为这条指令起个名字,比如「论文翻译」。你也可以点击名称左边的图标来更换它。
点击右上角的按钮切换到「快捷指令详细信息」选项卡,点击「添加键盘快捷键」,并为其指定一个组合键。我选择了
⌃(Ctrl)
+⌥(Option)
+⌘(Cmd)
+X
。我建议将这一组合键设置得尽可能生僻,以最大程度防止与已有键位冲突。现在,它应该自动为你勾选了上方的「作为快速操作使用」和「服务菜单」,并在左边的流程中添加了一条「从
快速操作
中接收所有
输入」。单击所有
,将其修改为仅勾选文本
。
单击右上角按钮切换到「操作库」。配合右侧的搜索功能,找到这些组件,将它们依次拖动到流程中:「从输入中获取文本」,「替换文本」,「翻译文本」,「显示结果」。然后,对流程进行以下修改:
对于第一项:接收文本输入,将「如果没有输入」的反应修改为「停止并回应」;
对于第三项:替换,在第一个输入框里填入
-
(短横线+空格),将第二个输入框留空(它应该会显示一个占位符「世界」);对于第四项:翻译,将源语言选为「英语(美国)」,将目标语言选为「中文(普通话 - 中国大陆)」。
源语言不建议使用「检测到的语言」,这个功能偶尔会识别出怪异的结果。
- 直接关闭编辑窗口。你的指令应该已经自动保存了。关闭「快捷指令」应用。
现在找一篇论文,选中一段文字,按下你设定的快捷键,看看有没有弹出翻译结果。
观察到第一行末、第二行始的transduc- tion
被成功地翻译成了「转导」。
总结
你成功地自动化了论文翻译处理折行的流程!但说到底,如果要在科研上有所精进,学会直接阅读英文原文十分重要。翻译器不是万能的——例如「Transformer」一词,其对应的中文翻译尚未确定,但翻译器仍会试图把它译为「变换器」「变压器」,甚至「变形金刚」。尽管变形金刚模型听起来很帅,但它对于理解论文内容只会造成反效果。