RustPrimer
RustPrimer copied to clipboard
统一专业术语
Rust 中的一些专业术语,对应中文怎么表述,翻译还是不翻译。比如看到 move
被直译成 移动
,我觉得不太合适,还有 box
是否直译成盒子或箱子等等,开这个 issue 大家讨论一下这些专业术语的处理,然后整本书统一起来,以后相关的中文文档也尽量保持一致
搜集了一下,大概有这些词需要统一一下,其中有些可能在某种语言里面是以一致的方法处理的,但学习 Rust 的程序员的背景各不相同,对这些词的处理方式不一样,也有些词多种方式处理都说得过去,有些没有罗列出来的欢迎补充,这里也一并讨论,说说大家认可的方式
copy
borrow
move
lifetime
lifetime elision
ownership
box
rc/arc
cargo
crate
module
statement
enum
struct
tuple
unit
slice
option
trait
associated function
associated type
destructure
deref
drop
static/dynamic dispatch
UFCS(universal function call syntax)
trait object
derive
raw pointer
guard
iterator adaptor
consumer
primitive type
raw string
literal string
byte string
AST(Abstract Syntax Tree)
bounds
DST(Dynamically Sized Type)
benchmark
FFI(Foreign Function Interface)
hygiene
item
designator
macro by example
painc
wrap/unwrap
unwind
constructor/destructor
inline
phantom type
feature gate
coercion
diverging function
另外 Rust Primer 里面应该加一章附录,术语对照表
当时我写的时候对于像 crate
,mod
之类的词翻译简直就是个噩梦。我建议:
- 正文中保持使用英文单词本身
- 在这个词在本篇中第一次出现的地方,用括号标示其本义(如有可能,可指定它自己的章节)
赞同港神的看法~
昨天有人在群里问 Rust 里面有没有原生字符串,我就懵逼了,后来说 raw string 才知道,另外比如 feature gate 这样的是直接用英文还是翻译成"特性门"或者其它的,统一一下避免以后相互交流时不知道对方说的是什么
个人建议使用英文原文,因为目前中文 Rust 资料很少,遇到问题时用中文关键词搜索几乎是不可能搜到有用信息的。同时建议对所有缩写提供原文,比如上文没提到的 Rc
,Arc
,mpsc
等等。
这个列表其实是可以再细分的。
比如 cargo / crate 这类专有名词显然不需要翻译(不然 Rust 岂不是也要译成「生锈」?),就像 Ruby 社区不翻译 "gem",Go 社区不翻译 "goroutine" 一样。
同理,语法关键字和标准库里有的标识符是否也可以保留原文?
其余的词,有一些已经有通用的说法(tuple -> 元组,struct -> 结构,inline -> 内联)。我的想法是,如果一个词能在已有的中文资料(比如已出版的技术书)里找到对应的翻译,就译过来,并加到一个统一维护的术语表里,否则就_暂时_只写原文。
(好像有些技术书会提供术语表,是否可以「借用」过来?
不知各位意下如何。
@iwinux 对,我的意思就是这样的,因为我们这本书算是国内除翻译书之外比较正式全面的 Rust 书,我们尽量以统一的方式处理,以后大家交流时也会方便很多
@tennix 中英文对照表是一定要的。 但是中文说法的统一是麻烦事情,比如 "&" 有时被称作 借用 引用 租借 三种不同的情况。哪种更合适我们需要考量一下。
See #219