hltj / kotlin-web-site-cn

Kotlin 语言中文站
https://www.kotlincn.net/
Apache License 2.0
464 stars 422 forks source link

关于协作 #35

Closed imknown closed 3 years ago

imknown commented 6 years ago

1.3 要正式版了... 占个坑先... 方便后续讨论... (主要是 我怕我自己 忘记了...)

参考:

  1. 开源文档翻译的质量保障实践
  2. 31

  3. 34

hltj commented 6 years ago

我也备注下之前整理的一些其他东西:

工具使用

对于初次翻译的要求

这里西文包括单词和数字。

翻译的要求

一些小 tips 与注意点

hltj commented 6 years ago

不翻译术语表(草稿,完善中,欢迎补充&修订)

注意:单个词汇(非短语)术语不译时,需保持其原形形式,例如原文的 futures,在译文中应该为 future

英文 描述
list 当指 List 时,其他场景通常译为列表或者列出
set 当指 Set 时,其他场景可能译为集合或者设置
map 当指 Map 时,其他场景可能译为映射
future 其他编程语言中 future 概念,如 Java 的 Future
promise JavaScript 的 Promise
Kotlin/Native native 单独使用时通常译作原生,而作为专有名词 Kotlin/Native 时不译
framework 当指苹果平台的 framework 时不译,其他场景译为 框架
artifact 构件,因与“构建”同音,拼音输入易出现错别字,可以保留不译
getter 属性读取方法
setter 属性写入方法

翻译术语表(草稿,完善中,欢迎补充&修订)

英文 中译 描述
Early Access Preview 抢先体验预览
evaluate / evaluation 求值 通常用于表达式求值时表示 求值,如 lazy evaluation 惰性求值
experimental 实验性的 本站采用实验性的,因此不要译作试验性的
feature 特性 本站译为特性,因此不要译为功能
functionality 功能/功能性
functional programming 函数式编程 不要译作 功能性编程
function 函数 大多数场景下 function 都是函数的概念,不要译作功能,不要译作方法
method 方法 究竟译作函数还是方法,取决于原文用词
delegate 委托 不要译作代理
proxy 代理 究竟译作委托还是代理,取决于原文用词
range 区间 与数学上的闭区间概念类似,不要译作范围
scope 作用域 不要译作范围
declare / declaration 声明
define / definition 定义
constructor 构造函数 也称构造器,不过本站统一取构造函数
check 检测 当含有“判断是否符合某种条件”之意时译为 检测 而不是 检查
inspect 探查
native 原生/ native “Kotlin/Native”不译,其他译作原生或者原生平台
primitive 原语/原生类型 这里的原生类型指 Char、Int、Double 等基本类型,如果用作协程相关上下文中,通常表示原语
raw type 原始类型 这里的原始类型指(Java 中)忽略泛型的类型
progression 数列
builder 构建器 不要译作构造器
build 构建/构建项 动词通常译为 构建,名词为 构建项(表示 构建过程 除外)
compilation 编译项
dependency 依赖项
Kotlin Koan Kotlin 心印 Koan 不要译作公案
suspend function 挂起函数 suspend 本站统一称挂起,因此不要译为暂停
lambda lambda 表达式 多加上“表达式”三个字;本站将 lambdalambda expression 均翻译为 lambda 表达式
null safety 空安全
nullable / nullability 可空的/可空性
non-null 非空的
parenthesis / parentheses 圆括号/括号 不要译为小括号
bracket 方括号 不要译为中括号
brace 花括号 不要译为大括号
open parenthesis / bracket / brace 左圆/方/花括号
close parenthesis / bracket / brace 右圆/方/花括号
infix function 中缀函数
contract 契约 “契约式设计”/“契约式编程”的契约,不要译为合同
destructure 解构
string interpolation 字符串内插
operator 操作符 之所以不译作运算符,是因为 Kotlin 中有些操作符并不是运算符,比如 iteratorgetValue
extension 扩展 不要翻译成拓展
receiver 接收者 词根辨析:receive 接收,accept 接受
variance 型变
invariant / invariance 不型变 用于泛型场景,本站取不型变(其他地方可能译作不变);而在 native 文档中可能表示不变式
covariant / covariance 协变
contravariant / contravariance 逆变
artifact 构件 本站采用构件,因此不要译作工件 。那么口语跟“构建”怎么区分?——“构件”读作“构件儿” 😃
target 目标/目标平台/面向 当指“目标平台”时,做名词翻译为目标平台,做动词翻译为面向……或者以……为目标平台
top level 顶层 指顶层作用域,如顶层函数、顶层协程
see ... for 关于……请参见……
read ... for 关于……请参阅……
refer to ... for 关于……请参考……
inference 推断 不译作推导的原因是,编程语言特性“列表推导”(虽然 Kotlin 无此特性)中的“推导”对应的是 comprehension
override 覆盖 本站选用覆盖,因此不要译作重写
overload 重载
backing field 幕后字段
assign(ment) 赋值 通常表示赋值,不要译作分配
reassign(ment) 重新赋值/重复赋值
pipe 管道
pipeline 流水线
pipe stage 流水线阶段
supervision 监督
task 任务
job 作业
explicit 显式 显式类型、显式指定等场景不要译作明确
inherit 继承/承袭 在类继承、父子线程等场景中译作继承,其他场景可译作承袭
extensible/extendible 可扩展的
scalable 可伸缩的 对应 scalability 为可伸缩性,不要译作可扩展
common module 公共模块 本站采用公共,因此不要翻译为通用
interaction 交互
interop / interoperate 互操作
mangling / name mangling / name decoration 名字修饰
block 代码块 大多数情况 block 指代码块,如有少数其他情况可译为
runtime 运行时
continuation 续体
continuation passing style 续体传递风格
coroutine intrinsics 协程内建函数
repository 版本库/仓库 通常都是用于代码版本库,译为 版本库。如果用作“数据仓库”等其他场景,可译为 仓库
DCE (dead code elimination) 无用代码消除 本站采用 无用代码消除,不要译为 死代码消除
compile-time 编译期 不要译为 编译时
qualifier 限定符
for example 例如 不要译为 比如譬如
paradigm 范式 programming paradigms编程范式
boilerplate code 样板代码 有时,单独一个 boilerplate 也译为 样板代码
project 项目 不要译为 工程 ,IDEA 等中文语言包也是用 项目,这也与 Visual Studio 等其他 IDE 一致
reactive 反应式 不要译为“响应式”(响应式 web 词源 responsive),其词根 reactor 意为“反应堆”
source set 源代码集 谷歌 Android 中文文档用此译法,因此不用源集/源文件集
application 应用程序 英文用全写,中文也用
app 应用 英文用缩略,中文也用
XXX specific XXX 特有的 不要译为 特定于 XXX 的platform-specific 译为 平台特有的 而不是 特定于平台的
top-level 顶层 不要译为 顶级
trailing commas 尾部逗号
argument 实参
parameter 形参
review 审阅,评审
imknown commented 6 years ago

推荐一个 Microsoft 术语集, 仅供参考:

https://www.microsoft.com/zh-cn/language

hltj commented 6 years ago

推荐一个 Microsoft 术语集, 仅供参考:

https://www.microsoft.com/zh-cn/language

手欠搜了个协程 😂

imknown commented 6 years ago

@hltj coroutine 翻译成 协同程序协同例程 啦, 估计是 协程 的 全称吧. 维基百科搜 协同程序 也会跳转到 协程... 好不统一...

hltj commented 6 years ago

@imknown 嗯,微软大多数翻译的挺好的,只有个别的有些问题

imknown commented 6 years ago

@hltj 分享一个 微软翻译的 新闻 https://m.ithome.com/html/395344.htm 🤣

hltj commented 6 years ago

@hltj 分享一个 微软翻译的 新闻 https://m.ithome.com/html/395344.htm 🤣

我之前看过,不过必应的翻译还是不行,没有谷歌的好,也没有搜狗的好

Shadowell commented 5 years ago

有没有认领任务表?任务如何分配?如何协作?

hltj commented 5 years ago

有没有认领任务表?任务如何分配?如何协作?

目前没有按照任务领取方式,主要是考虑两点: 1) 《对于初次翻译的要求》中也有提到,不鼓励一次翻译过多的内容,不便于 review、校对。而如果一次翻译内容不多的话,不按照领取方式也不会有太多重复劳动的浪费。 2) 避免领取任务长期不能完成,而其他人不便参与。基于这一点,建议不只初翻,其他情况也都按照小步快走方式。

这里协作主要指不同人翻译如何保持一贯风格,以及 review、校对别人翻译时的参考。

imknown commented 5 years ago

https://github.com/FuchsiaOS/FuchsiaOS-docs-zh_CN#fuchsia-os-中文社区简体中文文档 看到了这个, 链接备份一下.

panda8z commented 5 years ago

有没有认领任务表?任务如何分配?如何协作?

目前没有按照任务领取方式,主要是考虑两点:

  1. 《对于初次翻译的要求》中也有提到,不鼓励一次翻译过多的内容,不便于 review、校对。而如果一次翻译内容不多的话,不按照领取方式也不会有太多重复劳动的浪费。
  2. 避免领取任务长期不能完成,而其他人不便参与。基于这一点,建议不只初翻,其他情况也都按照小步快走方式。

这里协作主要指不同人翻译如何保持一贯风格,以及 review、校对别人翻译时的参考。

好的。目前我正在参与翻译Flutter文档,我们这个Kotlin文档没有具体的Wiki指明该如何提交翻译的代码

hltj commented 5 years ago

有没有认领任务表?任务如何分配?如何协作?

目前没有按照任务领取方式,主要是考虑两点:

  1. 《对于初次翻译的要求》中也有提到,不鼓励一次翻译过多的内容,不便于 review、校对。而如果一次翻译内容不多的话,不按照领取方式也不会有太多重复劳动的浪费。
  2. 避免领取任务长期不能完成,而其他人不便参与。基于这一点,建议不只初翻,其他情况也都按照小步快走方式。

这里协作主要指不同人翻译如何保持一贯风格,以及 review、校对别人翻译时的参考。

好的。目前我正在参与翻译Flutter文档,我们这个Kotlin文档没有具体的Wiki指明该如何提交翻译的代码

选择未翻译的文档(也可以直接在 Kotlin 中文站文档右上角的编辑本页通过 github 在线编辑,不过不建议)直接翻译一段,然后提 PR 就好。不建议一次翻译过多内容。另外这个 issue 全部内容相当于翻译指南,需要在翻译前阅读。

iseki0 commented 4 years ago

额为什么 artifact 这种词汇也要翻译呢,实际使用中出现中文的地方少之又少吧(x

hltj commented 4 years ago

额为什么 artifact 这种词汇也要翻译呢,实际使用中出现中文的地方少之又少吧(x

可能习惯不一样,我综合参考了身边人、读过的一些书还有一些其他翻译,来取的“构件”

HoshinoTented commented 4 years ago

从最近的翻译工作中有一些小建议: build、compilation、dependency 之类的 名词 应翻译为:构建、编译 与 依赖。 但是过去的翻译中有的仅仅翻译为:构建、编译、依赖 (说的就是我) 。 不知道能否统一一下?

HoshinoTented commented 4 years ago

还有个问题,variants 一般要翻译成什么?

hltj commented 4 years ago

从最近的翻译工作中有一些小建议: build、compilation、dependency 之类的 名词 应翻译为:构建、编译 与 依赖。 但是过去的翻译中有的仅仅翻译为:构建、编译、依赖 ~(说的就是我)~ 。 不知道能否统一一下?

赞同,我加到术语表里。 只是 build 可能还表示“构建过程”,可以具体看,我回头也改改之前翻译不到位的地方。

HoshinoTented commented 4 years ago

从最近的翻译工作中有一些小建议: build、compilation、dependency 之类的 名词 应翻译为:构建、编译 与 依赖。 但是过去的翻译中有的仅仅翻译为:构建、编译、依赖 ~(说的就是我)~ 。 不知道能否统一一下?

赞同,我加到术语表里。 只是 build 可能还表示“构建过程”,可以具体看,我回头也改改之前翻译不到位的地方。

好的,了解了

hltj commented 4 years ago

还有个问题,variants 一般要翻译成什么?

Android 的构建变体,它的文档中文版就是这么写的 https://developer.android.com/studio/build/build-variants.html

ShreckYe commented 4 years ago

作为一个新的贡献者,我想对术语表提出一些补充,这些是我不确定怎么翻译又没有在术语表中看到的,通过对照其他翻译才确定的:

不翻译术语表

英文 描述
getter/setter

翻译术语表

英文 中译 描述
qualifier 限定符
for example 例如 不要译作~比如~
hltj commented 4 years ago

赞同这样取舍,我加进术语表里,我打算以后单开一个类似于翻译指南的项目,这样就方便大家一起维护术语表了

作为一个新的贡献者,我想对术语表提出一些补充,这些是我不确定怎么翻译又没有在术语表中看到的,通过对照其他翻译才确定的:

不翻译术语表

英文 描述 getter/setter

翻译术语表

英文 中译 描述 qualifier 限定符 for example 例如 不要译作~比如~

imknown commented 4 years ago

今天看 https://s.android.com/devices/architecture/modular-system/sdk-extension?hl=zh-cn, 发现站内已经启用了 Cloud Translation API 功能. 翻译得一般, 先备注下.

2BAB commented 3 years ago

陆续补一下翻 KMM 文档过程中的词汇表:

英文 中译 描述
workaround 变通方案 形容因为某些原因目前无法优雅解决,所以采用变通的绕过去的方案
Kotlin Multiplatform Mobile(KMM) Kotlin 移动多平台(KMM) 建议都加上(KMM)的注释加快中文理解
hierarchical structure 分层项目结构 用于不同 source set 设定时的术语,见 iOS source set 的部分
source sets source sets 不应该翻译这种 Gradle 里的惯用设置