vuejs/v2.cn.vuejs.org

关于mutation 的翻译

wuyudian1 opened this issue · 7 comments

在“列表渲染->数组更新检测”这一部分,标题“变异方法(mutation method)
这里将mutation 简单的翻译成了变异,这是不合适的(虽然说这仅仅是一个单词的,但这关系到编程理念和**的理解)。

很多编程语言里,变量有 mutableimmutable 之分,很明显它表达的是变量的可变不可变,而不是“变异”与“不可变异”。

比如:GraphQL 的文档里,专门描述了mutation 方法,这些方法都是用于修改数据。如果理解成让数据变异,是不是很别扭。

再比如维基百科关于不可变对象的一段描述:

In Python, Java and the .NET Framework, strings are immutable objects. Both Java and the .NET Framework have mutable versions of string

因此,在编程领域(研究遗传算法的除外),mutable,mutation 等词汇应该力求翻译成和“修改、改变”有关的句子。变异是遗传学里的术语。

那么vue 里的mutation method,我建议翻译成“更新方法”,因为pop()push()reverse()等方法确实都是更新数据的方法。将“变异”放在这里,不利于读者理解。

感谢您的建议,很有启发。我同意你说的目前的译法不够好,而且确实这里牵扯的是一组词汇的译法,不只是一个词。经过长期考虑,我觉得倾向于:

  • mutate 变更
  • mutation 变更
  • immutable 不可变
  • mutable 可变
  • mutability 可变更性

不知道大家觉得如何?

Btw “更新”相对是一个比较口语化的词汇,日常技术交流蛮长会被人提到,所以我略微担心用来作为 mutate 的翻译会产生潜在的二义性。

嗯,变更 听起来确实更好更专业,IT工作中也经常会接触变更这个操作,因此更容易理解语句表达的含义和软件的设计意图。

其实主要是为了带上“变”这个字,可以和可变数据/不可变数据的说法更好地关联上。

So shall we make this deal? 🙂

@Jinjiang 我已更新 wiki

Cool 我来批量更新。谢谢大家