OnRoadZy / RacketGuideInChinese

Racket指南(中文翻译)
167 stars 21 forks source link

对几个名词翻译的一点看法 #5

Open yfzhe opened 6 years ago

yfzhe commented 6 years ago

之前本来也有一点翻译 Racket Guide 的想法,看到已经有人做了感觉很开心,感谢你们的工作!

简单看了一下术语表,对其中两个名词的中文翻译一点看法:

  1. curried function 看到「咖喱函数」开始有些不明所以,于是去找了一下原文。这里 curried 应该 curry 的过去式(?),意思是通过这样的简写可以得到柯里化的函数声明。如果不了解柯里化的化,可以网上搜索了解一下,作为函数式编程的基本概念,网络上有很多相关的文章资料说明这个概念。 与 Haskell 等函数式语言不同,Lisp 的传统是不会在函数定义时自动柯里化。而 Racket 继承了这个传统,又给了这样一个语法糖。总之,这里 curry 翻译成「咖喱」是不合适的,应该是「柯里(化)」或其他(对于 Curry 的人名)类似翻译。
  2. contract Racket 里的 contract 应该是来源于 Eiffel 语言的概念。而中文环境对于 design by contract 已经又有了翻译——「契约式设计」。所以个人感觉这里也采用「契约」来翻译可能会更合适。当然,现在也有「智能合约」这种称呼,所以这里用「合约」也可以。
  3. call-by-reference (16.1.8) 更合适的翻译应该是「传引用调用」。

上面是一点拙见,有问题还请指出。

PS. 看前面的 issue 里也提到了,请问准备用 Scribble 格式吗?

ChengCat commented 6 years ago

@yfzhe 我觉得你的提议挺好的,除了我个人觉得 合约、契约 差不多。我个人也觉得 WORDBOOK.md 里有一些翻译感觉不是很准确,比如 "primitives 基本类型"。primitives 不止是指 基本类型,还可能指 基本的别的东西。中文里有更接近的词么?我现在一时想不到。

我不是翻译作者,但更新的翻译工作似乎是在 https://github.com/OnRoadZy/racket6.12 这里进行的,已经在用 Scribble 了。

OlingCat commented 6 years ago

@ChengCat Primitive 一般译作原语或原语类型。