V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
The Go Programming Language
http://golang.org/
Go Playground
Go Projects
Revel Web Framework
catror
V2EX  ›  Go 编程语言

今天看到《Effective Go》的中文翻译,有一段,大部分人都翻译错了

  •  
  •   catror · 2019-11-09 02:23:53 +08:00 · 7826 次点击
    这是一个创建于 1624 天前的主题,其中的信息可能已经有所发展或是发生改变。
    原文: https://golang.org/doc/effective_go.html#leaky_buffer
    错误的译文: https://go-zh.org/doc/effective_go.html#%E6%B3%84%E9%9C%B2%E7%BC%93%E5%86%B2

    特意又去搜了一下其他的译文,除了一个繁体中文的翻译( https://ronmi.github.io/post/go/effectivego/ )外,基本上都错误地翻译成了缓冲区泄露。
    有维护译文的小伙伴快修改一下吧,不然很多人看到这个肯定会一头雾水的。

    最后说一下正确的翻译。
    这里 leaky buffer 不是说缓冲区泄露,而是一种缓冲区模型,硬要用中文翻译的话,我建议翻译成『漏桶式缓冲区』。
    24 条回复    2019-11-09 21:05:39 +08:00
    Girlphobia
        1
    Girlphobia  
       2019-11-09 02:29:26 +08:00 via Android
    这个例子英文原文表意比中文生造词清晰多了。自己脑子里过了一下感觉用中文怎么表达都怪怪的…
    ericgui
        2
    ericgui  
       2019-11-09 02:37:08 +08:00
    所以还是学好英语
    luozic
        3
    luozic  
       2019-11-09 02:38:32 +08:00
    这部分估计是直接找的 google 翻译
    xenme
        4
    xenme  
       2019-11-09 07:40:37 +08:00 via iPhone
    你这个有点强行发明的感觉,就像 robust 到鲁棒一样。

    期待谁来个更容易懂的翻译或者找个中文能够对应的词。
    bumz
        5
    bumz  
       2019-11-09 07:47:17 +08:00 via iPhone   ❤️ 1
    这个翻译不错

    不过话说回来,为什么不直接看原文
    还要看翻译 -> 被误导 -> 看原文 -> 纠正翻译
    这么复杂呢
    momocraft
        6
    momocraft  
       2019-11-09 09:02:32 +08:00
    单看这个句子, 在语法上是有歧义的: (leaky buffer) (free list) OR (leaky buffer)-free list

    去歧义需要上下文和你说的语义层信息, 换句话说需要翻译的人自己看懂. 这个例子中恐怕是没有懂.
    dremy
        7
    dremy  
       2019-11-09 09:17:35 +08:00 via iPhone
    看词性就知道,leaky buffer 肯定是个名词而不会是动词,翻译者竟然连这都没注意到…
    catror
        8
    catror  
    OP
       2019-11-09 09:50:19 +08:00 via Android
    @xenme 漏桶其实挺形象的,而且还有比较出名的“漏桶算法”在先
    catror
        9
    catror  
    OP
       2019-11-09 09:52:46 +08:00 via Android
    @bumz 偷会懒,结果看得更累了🤣
    binux
        10
    binux  
       2019-11-09 10:02:17 +08:00
    到头来你所谓的“除了一个繁体中文的翻译外,基本上都错误地翻译成了缓冲区泄露” 就是不翻译啊。
    的确,不做就不会错了。

    如果让我翻译,我会叫 “可泄露缓冲区”,用于表明 leaky 是个形容词而不是动词。
    catror
        11
    catror  
    OP
       2019-11-09 10:19:05 +08:00 via Android
    @binux 我之所以说繁体中文那个翻译对了,是因为他理解对了,而不是说这个词本身的翻译。有时候一些英文概念,如果没法贴切的翻译,我确实也赞成不翻译。
    ungrown
        12
    ungrown  
       2019-11-09 10:26:19 +08:00 via Android
    @xenme 那就不用具象化的漏桶,直接叫“漏式缓冲”好了,中文抽象化又不比英文弱,“漏式”是个人都能感受到表达的意思
    momocraft
        13
    momocraft  
       2019-11-09 10:34:42 +08:00
    单叫漏式未必能, 这个漏是从哪漏呢? 听的人真的能猜到是从写入端, 而不是从另一端或中间或随机漏吗?
    lxk11153
        14
    lxk11153  
       2019-11-09 10:38:55 +08:00
    233 此书有木有中英对照版本的?
    reus
        15
    reus  
       2019-11-09 12:48:19 +08:00
    @binux 是“泄漏”,不是“泄露”
    visitant
        16
    visitant  
       2019-11-09 14:10:47 +08:00
    重用缓冲区?
    binux
        17
    binux  
       2019-11-09 14:27:27 +08:00 via Android
    @reus #15 我都是复制的,与我无关¯\(°_o)/¯
    NoobPhper
        18
    NoobPhper  
       2019-11-09 14:29:44 +08:00 via Android
    非确定性的技术术语最好不要翻译
    zhuzeitou
        19
    zhuzeitou  
       2019-11-09 14:32:49 +08:00
    @visitant 楼主是指这种实现的思路就是缓冲区已满的情况下再放入数据会直接抛弃这个数据, 而译文看起来就像这种实现有问题会造成泄漏的样子
    visitant
        20
    visitant  
       2019-11-09 15:00:41 +08:00 via iPhone
    @zhuzeitou 这种实现思路不是抛弃数据吧,反而是重用 buffer,防止多次分配内存
    zhuzeitou
        21
    zhuzeitou  
       2019-11-09 15:12:58 +08:00
    @visitant 本来就是重用的,但重点并不是重用而在 leaky buffer 这个 leaky 上,这也是翻译中存在问题的地方
    Raymon111111
        22
    Raymon111111  
       2019-11-09 15:25:30 +08:00
    计算机目前中文有个非常大的错误把 pointer bump 翻译成指针碰撞

    bump 这个词常见意思确实是碰撞, 但这是想用的意思是类似于论坛里回帖把帖子"顶"上去那个 bump, 完全没有碰撞的意思 (随便找个英文论坛在回帖中就可以看见 bump 是完全等同于中文中顶帖的那个"顶"

    实在要翻译的话, 我认为 顶指针 更合理一些
    bumz
        23
    bumz  
       2019-11-09 18:38:37 +08:00 via iPhone
    @Raymon111111
    bump 这里的意思显然不是 1 knock or run into someone or something with jolt
    而是 2 move or travel with much jolting

    中文中带有类似特性的有
    蹦 泵

    私以为翻译成指针泵比较形神兼备
    visitant
        24
    visitant  
       2019-11-09 21:05:39 +08:00 via iPhone
    @zhuzeitou 好像明白你意思了,是说这个 leaky 是用来描述用来重用缓冲区的那个 chan 的吧,我以为你说抛弃数据说的是那个单纯的 buff 超出数据后抛弃。。。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   938 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 33ms · UTC 20:02 · PVG 04:02 · LAX 13:02 · JFK 16:02
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.