Skip to content

一些待定的术语翻译约定 #544

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
Justineo opened this issue Oct 9, 2017 · 22 comments
Closed

一些待定的术语翻译约定 #544

Justineo opened this issue Oct 9, 2017 · 22 comments

Comments

@Justineo
Copy link
Member

Justineo commented Oct 9, 2017

英文 建议翻译
property 属性
attribute 特性
feature/functionality 功能
getter -
setter -
prop -
directive 指令
listen/listener 监听/监听器
observe/observer 侦听/侦听器
watch/watcher 侦听/侦听器
normalize (HTML code, ...) 规范化
standardize 标准化
emit/fire/trigger (an event) 触发
emit (a value) 抛出?
queue (v.) 把……加入队列
ref 引用
workaround (n.) 变通办法
workaround (v.) 绕过
convention 约定
parse 解析
stringify 字符串化
side effect 副作用
declarative 声明式
imperative 命令式
handler 处理函数
ancestor
descendant
you

其他待补充。

@Jinjiang

@Jinjiang
Copy link
Member

Jinjiang commented Oct 9, 2017

可能有些比较牵强,先抛出来吧

workaround - 变通办法?

property - 属性
attribute - 特性
feature - 特征
function - 功能

emit (a event) - 激发?
fire (a event) - 触发?
queue (a event) - 为...排队

observe - 侦听
listen - 监听
watch - 关注
watcher - 关注者

ref - 引用
index - 索引

normalize - 正规化
standardize - 标准化

parse - 解析
stringify - 反解析

@Justineo
Copy link
Member Author

Justineo commented Oct 9, 2017

workaround - 变通办法

这个我觉得可以。

feature - 特征

本来更适合翻译为“特性”,但是被占了。于是这个更多是表达“功能”吧?

emit/trigger/fire 其实没什么区别,我觉得在事件相关的描述里统一为“触发”也没毛病。

queue (a event) - 为...排队

我觉得“把……加入队列”更通一些。

watch - 关注
watcher - 关注者

其实我觉得这里 observe 和 watch 有比较类似的意思,“关注”似乎还是不如“侦听”来的贴切。而且我还没遇到同时出现的情况,我觉得都译为“侦听”似乎也可以接受。

normalize - 正规化

之前有遇到是说 DOM 模板要等浏览器 normalize HTML 以后才能获取内容,这里翻译成“正规化”我怕读者不太明白,就写成了“修正”(复为规格式)。

stringily - 反解析

字符串化?

@Jinjiang
Copy link
Member

Jinjiang commented Oct 9, 2017

feature - 特征

本来更适合翻译为“特性”,但是被占了。于是这个更多是表达“功能”吧?

可以

emit/trigger/fire 其实没什么区别,我觉得在事件相关的描述里统一为“触发”也没毛病。

可以

queue (a event) - 为...排队

我觉得“把……加入队列”更通一些。

我之前翻译成“把……加入队列”时,总觉得没交代清楚哪个队列,有点小纠结……所以模糊处理为“为…排队”,不知道你是否有同样的纠结。

watch - 关注
watcher - 关注者

其实我觉得这里 observe 和 watch 有比较类似的意思,“关注”似乎还是不如“侦听”来的贴切。而且我还没遇到同时出现的情况,我觉得都译为“侦听”似乎也可以接受。

“关注”这个译法我之前也没用过,只是突然想到 GitHub 上的 watch 功能,感觉这样翻译应该蛮好理解并联想到对应的英文意思的。“侦听”显得不够通俗,不是人本能会使用的词吧。我建议如果“关注”存在别的歧义,再考虑使用“侦听”。

normalize - 正规化

之前有遇到是说 DOM 模板要等浏览器 normalize HTML 以后才能获取内容,这里翻译成“正规化”我怕读者不太明白,就写成了“修正”(修复为正规格式)。

为的担心是“修正”同时可以对应到很多英文单词的译法,确定性似乎没有“正规化”那么好。(“正规化”是苹果字典的默认翻译)

stringil(f)y - 反解析

字符串化?

可以

@Justineo
Copy link
Member Author

我之前翻译成“把……加入队列”时,总觉得没交代清楚哪个队列,有点小纠结……所以模糊处理为“为…排队”,不知道你是否有同样的纠结。

排队是一个主动的行为,「为……排队」有语病,我还是觉得加入队列更通顺一些。一般都是加入任务队列之类的吧,具体的再看看。

@Justineo
Copy link
Member Author

我建议如果“关注”存在别的歧义,再考虑使用“侦听”。

似乎没在别的技术文章里看见过这种译法,如果把“watch a prop”译为“关注一个 prop (的变化)”感觉怪怪的。

@Jinjiang
Copy link
Member

我之前翻译成“把……加入队列”时,总觉得没交代清楚哪个队列,有点小纠结……所以模糊处理为“为…排队”,不知道你是否有同样的纠结。

排队是一个主动的行为,「为……排队」有语病,我还是觉得加入队列更通顺一些。一般都是加入任务队列之类的吧,具体的再看看。

好,同意,没问题

我建议如果“关注”存在别的歧义,再考虑使用“侦听”。

似乎没在别的技术文章里看见过这种译法,如果把“watch a prop”译为“关注一个 prop (的变化)”感觉怪怪的。

OK,我对“侦听”不是很介意,那就还是“侦听”吧:)

@xcchcaptain
Copy link
Contributor

normalize在数学中有归一化,标准化的解释,不知是否可以参考使用

@Justineo
Copy link
Member Author

@xcchcaptain “规范化/归一化/标准化一个 HTML 片段”其实我感觉在中文里都不太通……

@SilentDepth
Copy link
Contributor

@xcchcaptain 「标准化」的话,standardize 比较尴尬;「归一化」听起来有些 geek。考虑到 Normal Form 被译做「范式」,也许「规范化」的译法更容易接受一些……

@xcchcaptain
Copy link
Contributor

@Justineo
归一化,可以理解为去掉所有冗余html标记,保留能够实现功能的最少标记。其实我相信在实际的dom解析中有归一化的操作

@xcchcaptain
Copy link
Contributor

xcchcaptain commented Oct 11, 2017

@SilentDepth
规范化更像一个生造词,我也不明白他与标准化有什么区别
如你所说,其实就是归一化的概念

@Justineo
Copy link
Member Author

Justineo commented Oct 11, 2017

@xcchcaptain

HTML 的 normalize 按我的理解是将错误的语法、嵌套等修正为符合规范的语法,我之前翻译成“修正”,和 @Jinjiang 讨论以后暂时用的是“规范化”。HTML 规范中没有直接用 normalize 这样的说法,而是给出了一些“Error handling”上的指导。但是 DOM 接口上其实倒是有 Node.normalize 这个方法的。一般“归一化”狭义上指把数值映射到 [0, 1] 区间,所以我建议尽量用更通用的译法。

@xcchcaptain
Copy link
Contributor

@Justineo 感谢,你的理解更精到,可以作为normalize的名词解释咯,现在看来,使用“规范化”也可以接受

@SilentDepth
Copy link
Contributor

SilentDepth commented Oct 13, 2017

我一直想问,Property 和 Attribute 同样翻译为「属性」会带来多大不便?

# 带引号的特性值

非空 HTML 特性值应该始终带引号。

读到这儿怎么看怎么别扭。


My bad,原来「特性」是 W3C 中文的标准译法,那就这样吧……虽然我觉得不少人会懵个几秒。

@SilentDepth
Copy link
Contributor

补充术语:handler - 处理器(采用既有译法)

另外,关于「你/您」的选择是不是也统一一下比较好,目前线上版本两种称谓都有使用。

@Justineo
Copy link
Member Author

@SilentDepth

“handler”我记得我之前和 @Jinjiang 达成的共识是译为“处理函数”,因为一般译为“处理器”的是“processor”。你觉得呢?

“你/您”我倾向统一为“你”。

@SilentDepth
Copy link
Contributor

@Justineo

“handler”我记得我之前和 @Jinjiang 达成的共识是译为“处理函数”,因为一般译为“处理器”的是“processor”。

嗯,「处理函数」更合适,这样线上版本要统一修改了(比如「方法事件处理器」——我也是看到这个才提议修改为「处理器」的)。

“你/您”我倾向统一为“你”。

支持「你」。

@duqingbiao
Copy link

我感觉把attribute翻译成“特性” 就好比把socket翻译成“套接字” , 有点反人类(夸张了) , 在平时使用时HTML中并没有property , 都是称attribute为“属性”(我身边的人都这么称呼,不知道你们那是不是这样) , 就算为了区分也应该是把property翻译成“特性” 。
给出我的建议:attribute翻译成“属性” , property不做翻译 , Vue会越来越流行,望翻译的时候慎重

@Justineo
Copy link
Member Author

@duqingbiao property 还是要翻译的,现在已经保留了 prop 不翻译。Vue 的 prop 和 property 还不完全一样,因为 data/computed 里的值也会以 property 的方式体现。

/ping @Jinjiang

@Jinjiang
Copy link
Member

首先,请就事论事,不要乱扣帽子。我们对待翻译的态度不会因为 Vue 流行不流行而改变。

之所以区分翻译“特性”和“属性”的原因,我觉得已经陈述得足够清楚。而且这不只是 Vue 社区的译法,几乎所有 W3C HTML IG 对规范的翻译,全部是这样区分翻译的。这种译法正在逐渐成为社区的共识。

当然这不代表你的不舒适之处我们没有同感。但也请你谅解,新的方案一定要比现有的译法好且好到我们乐意为此而彻底改变之前的所有地方的译法,才会被采纳。

如果你仍有异义,也可以把问题拿到更广泛的任何技术社区讨论。对此我们并不介意。

@duqingbiao
Copy link

也好 , 那在文档开头处加上这个页面的链接以及简单说明下冲突的地方更好些 , 毕竟想我这样感觉不舒服的人有很多

Jinjiang added a commit that referenced this issue Oct 22, 2017
@Jinjiang
Copy link
Member

我把这里的内容整理到 wiki 了:https://github.com/vuejs/cn.vuejs.org/wiki
今后大家如果对某个译法存在异议,我们仍然欢迎开放式讨论,届时可以单开 issue 。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

5 participants