原文:李笑来 @学习学习再学习
翻译一本书只须要一天工夫!
—— 这是我明天做的事件。
月初的时候,摸索了一阵 Google Cloud Translation API,过程中发现了 DeepL,间接就转了过来,买了 Pro 服务,每个月 24 美元不到,一年下来,连 300 美元都不到…… 便宜得令人发指。
DeepL 的机器翻译,能以惊人的速度和准确率翻译任何语言到任何语言 —— 我都不想在这里用感叹号了……
而后呢?
而后,翻译基本上成为了『较为低级的文字编辑工作』,绝大多数的键盘敲打,都是为了诸如以下的事件:
- 单双直引号要转换为适宜中文排版的引号,
『』
和「」;
- 两个减号形成的破折号
--
要换成前后有失当空格的 unicode 破折号——
;- 英文与数字与中文之间要有空格,比方,
在 2021 年
;- 书名、杂志名、文章名,要换上
《》
;- 防止中文字符采纳斜体格调,要把它们换成减轻格调
- 人名的姓与名之间的
-
要换成·
;- 省略号也要换
……
如果英文的原文写作格调真的十分合乎 Plain English,不大耍文采的话,那么,DeepL 的翻译简直能够称得上完满。这一点,已经当过写作老师的我有着分外的感触。舞文弄墨的文采,经常升高无效常识的流传。也因而,我养成了本人的『大白话文风』,尽量不应用没必要的成语,尽量不应用除了类比之外的修辞(类比,是简直惟一的可能跨语言、跨文化的修辞伎俩)……
多数状况下,须要留神的是:
- 特定概念的翻译,以及在前后文中的对立。比方,_Collective Fitness_,被翻译成『独特衰弱』显然是不合乎上下文的,应该是『个体适应』;
多数状况下,有些短语可能被『智能翻译』漏掉。比方,
When St. Elizabeth of Hungary was lying in state,“a crowd of worshippers came and cut or tore strips of the linen enveloping her face; they cut off the hair, the nails, even the nipples.”
当匈牙利的圣伊丽莎白躺在床上时,『一群崇拜者来到这里,剪掉或撕掉包裹在她脸上的亚麻布条;他们剪掉了头发、指甲,甚至乳头。』
这句话里的 _… was lying in state_,指的是『(尸体)被公众瞻仰』。所以,须要调整一下:
当匈牙利的圣伊丽莎尸体被公众瞻仰时,『一群崇拜者来到这里,剪掉或撕掉包裹在她脸上的亚麻布条;他们剪掉了头发、指甲,甚至乳头。』
有些时候,会情不自禁地想加一些正文,比方:
译注:『来自下面的死亡』,来自 1979 年的电影《末日来临》(The Apocalypse Now,该片被中译为《古代启示录》—— 我猜片名翻译者是把 Apocalypse 这个词意思硬往宗教意义上了解去了……)。片中比尔上校的直升机上刷着这个标语。另外,二战末期,美国空军的第七轰炸队(7th Bomb Wing)的机身上,也写着这个标语的拉丁语版:Mors Ab Alto。从上下文语境上来看,『来自下面的死亡』这个词汇,作者指的应该是现代战争。
- 只有多数状况下,整个句子的翻译会出问题,这时只须要棘手改一下即可。只不过,『发现这种句子』须要的是『时时刻刻处于精读状态』的能力,貌似跟翻译能力关系不大。
以上这些细琐无聊的又(极大量)或者即使麻烦也相当乏味的细节工作(极少量),齐全不吃力,首先是因为工具太不便,其次是因为精读原本就不是干速度的;但,实际上更为要害的能源,从我本人的感触来看,齐全是本人的『文本格式控』……
别看我本人写文章常常不小心带上错别字(我把这事儿怪罪于拼音输入法而不是本人的粗枝大叶),但,我就是齐全受不了一个文本在电脑上的显示俊俏。在这方面我是个极其的强迫症患者,反正就是肯定要想方法把排版搞得极其难受才行!
于是,这个成了一个意想不到的能源,令我在本来就很强的精读能力上又多了一层注意力集中的重要理由 —— 反正一点都不感觉累。
我给 VSCode 设置了很多快捷键,以便我在编辑文本的时候『最棘手』:
[
{
"key": "ctrl+shift+9",
"command": "editor.action.insertSnippet",
"args": {"snippet": "($TM_SELECTED_TEXT$0)"},
"when": "editorTextFocus&&editorHasSelection"
},
{
"key": "ctrl+shift+'",
"command": "editor.action.insertSnippet",
"args": {"snippet": "“$TM_SELECTED_TEXT$0”"},
"when": "editorTextFocus&&editorHasSelection"
},
{
"key": "ctrl+'",
"command": "editor.action.insertSnippet",
"args": {"snippet": "‘$TM_SELECTED_TEXT$0’"},
"when": "editorTextFocus&&editorHasSelection"
},
{"key": "ctrl+shift+[Backslash]",
"command": "editor.action.insertSnippet",
"args": {"snippet": "【$TM_SELECTED_TEXT$0】"},
"when": "editorTextFocus&&editorHasSelection"
},
{"key": "ctrl+shift+[Slash]",
"command": "editor.action.insertSnippet",
"args": {"snippet": "《$TM_SELECTED_TEXT$0》"},
"when": "editorTextFocus&&editorHasSelection"
},
{"key": "ctrl+shift+[BracketRight]",
"command": "editor.action.insertSnippet",
"args": {"snippet": "「$TM_SELECTED_TEXT$0」"},
"when": "editorTextFocus&&editorHasSelection"
},
{"key": "ctrl+shift+[BracketLeft]",
"command": "editor.action.insertSnippet",
"args": {"snippet": "『$TM_SELECTED_TEXT$0』"},
"when": "editorTextFocus&&editorHasSelection"
}
,{
"key": "ctrl+shift+-",
"command": "editor.action.insertSnippet",
"args": {"snippet": "——"},
"when": "editorTextFocus&&editorHasSelection"
},
{
"key": "ctrl+shift+=",
"command": "editor.action.insertSnippet",
"args": {"snippet": "$TM_SELECTED_TEXT$0"},
"when": "editorTextFocus&&editorHasSelection"
},
{
"key": "ctrl+alt+cmd+a",
"command": "editor.action.insertSnippet",
"args": {"snippet": "<a href=\"\"target=\"_blank\">$TM_SELECTED_TEXT$0</a>"},
"when": "editorTextFocus&&editorHasSelection&&editorLangId==html"
},
{
"key": "ctrl+alt+cmd+b",
"command": "editor.action.insertSnippet",
"args": {"snippet": "<strong>$TM_SELECTED_TEXT$0</strong>"},
"when": "editorTextFocus&&editorHasSelection&&editorLangId==html"
},
{
"key": "ctrl+alt+cmd+i",
"command": "editor.action.insertSnippet",
"args": {"snippet": "<em>$TM_SELECTED_TEXT$0</em>"},
"when": "editorTextFocus&&editorHasSelection&&editorLangId==html"
},
{
"key": "ctrl+alt+cmd+u",
"command": "editor.action.insertSnippet",
"args": {"snippet": "<u>$TM_SELECTED_TEXT$0</u>"},
"when": "editorTextFocus&&editorHasSelection&&editorLangId==html"
},
{
"key": "ctrl+alt+cmd+d",
"command": "editor.action.insertSnippet",
"args": {"snippet": "<del>$TM_SELECTED_TEXT$0</del>"},
"when": "editorTextFocus&&editorHasSelection&&editorLangId==html"
},{
"key": "ctrl+tab",
"command": "cursorRight",
"when": "editorTextFocus&&!editorHasSelection"
},
{
"key": "ctrl+alt+cmd+backspace",
"command": "editor.emmet.action.removeTag"
},
{
"key": "ctrl+shift+l",
"command": "editor.emmet.action.wrapWithAbbreviation"
}
]
不仅如此,还能够从很多小中央提高效率。比方,DeepL 的 Insert to...
按钮(看起来像是个 Electron App 的链接)没有快捷键(从任何文本编辑器里往 DeepL 传输文本倒是有个快捷键,间断疾速按两次 ⌘ c
)…… 于是,写了个 AppleScript 脚本,而后在 Alfred 里设置了个快捷键(用来运行这个脚本):
on alfred_script(q) tell application "System Events"
tell process "DeepL" to tell window 1
activate
set w_position to its position set w_size to its size end tell
end tell
set px to item 1 of w_position set py to item 2 of w_position set sx to item 1 of w_size set sy to item 2 of w_size tell application "System Events"
click at {px + sx - 190, py + sy - 95} -- Insert to link
end tellend alfred_script
(不晓得下面的动图是否能正确显示……)
别看这只是把一个『把鼠标挪过来,对准那个链接(按钮)点一下』的动作换成了『按一个组合快捷键』,实际上省下的是有数的『你还要扭头再扭回来』的动作……
在这个过程中,如果你会用正则表达式,那就更爽了,因为编辑大文本的时候,纯熟应用正则表达式,能够帮你霎时膨胀替换成千盈百个你须要更改的中央 —— 纯手工批改在这样的工具背后,就如同是电影阿凡达里那些土著人用来攻打武装直升机的弓箭一样。
翻译,居然就这样成了『低级文字编辑工作』……
这给我带来的益处太多了。
家人英语浏览并不纯熟,但,当初不怕了,真有好书的时候,我间接入手就完了 —— 反正本人不仅要精读,还可能精读很多遍。翻译当初成了『稍带手』的事儿。他们不必等到市场上有中文版能力看 —— a) 过来要等上至多一年;b) 同时也有可能压根就等不着;c) 就算最终等到了,也更可能是垃圾翻译 —— 能翻译的就翻译,不论翻译得好不好;翻译不进去的,就罗唆删掉;翻译错了、翻译反了都罗唆不晓得;前后不统一,上下文不连贯,句子不通顺,相比来看都是小问题了……
当初好了,极低成本低实现 —— 这里我所说的老本,次要是工夫老本。如果不是书籍,而是一篇文章,那就更应该这么做了!
翻译,不再是为了出版 —— 依照咱们国家的版税习惯,翻译书籍基本上是不可能赚到什么钱的…… 这也解释了为什么那些认真的译者们每一个都值得尊重。
当初呢?翻译,反正不是为了钱,而是为了关照家人和敌人 —— 有点酷。
DeepL 给我带来的另外一个益处让我闷闷不乐,当初我能够间接看任何语言的书了。尤其是历史方面的书籍,意大利历史得看意大利文的,日本历史得看日文的,俄罗斯历史得看俄文的,不是吗?这切实是太解脱了!
今年年初的时候,我恍然间发现,二十多岁的时候立下的欲望(这一辈子认真读一千本好书)居然实现了!很是快乐了一阵子…… 当初有了 DeepL,折腾了一个来月的感想是,『WOW,如同我还能再读至多两三千本好书呢……』
就这样。