This page is written in Chinese for Chinese translation, we can convert it into other languages if needed.


你可以在 

Key Summary T Created Updated Due Assignee Reporter P Status Resolution
Loading...
Refresh

 中挑选感兴趣的页面/issue进行翻译。


请在开始翻译前,我们建议你认真阅读并尽量遵守本文的规范,这会提高你的翻译质量并使你的文章与其他人的风格保持一致。这不仅能减轻校对者校对的工作量,也能使读者阅读起来更加顺畅。如果想要了解翻译的贡献流程,请阅读 贡献文档

本文为了规范 Flink 文档上的术语、用语及规范,在此建立一个供译者、校对者参考的翻译规范和术语表。

寻求帮助

如果你在翻译过程中遇到问题,或者提交的翻译 Pull Request 长时间无人review,可以在社区中寻求以下同学的帮助。


NameGitHub IDJIRA ID

Jark Wuwuchongjark

Xingcan Cuixccuixccui

Congxian Qiuklion26klion26

RocRocMarshalRocMarshal


翻译规范

本规范主要列出了一些常见的翻译问题,并提供了一些指导意见和建议。请译者和校对者尽量遵循本规范,这能使得 Flink 中文文档在行为上更统一,在质量上更高。


1. 使用纯文本工具进行翻译,不要使用富文本工具

使用纯文本工具可以进行翻译,可以有效避免增加新行、删除行、破坏链接、破坏引号、破坏星号等行为。


2. 汉字与英文、数字之间需空格


我们建议汉字与英文或数字之间以空格隔开,以增强中英文混排的美观性和可读性。


注意:中文标点符号前后不需要跟空格,即使前后挨着的是英文单词。


3. 文档链接


英文版文档中可能会包含引用文档中其他文章的绝对链接,此时要注意将链接修改为中文版的 URL。

修改的方法很简单,一般将 xx.md 改为 xx.zh.md 即可。比如下面是 DataStream API 的链接。


[DataStream API]({% link  dev/datastream_api.md %})


需要修改成中文链接


[DataStream API]({% link dev/datastream_api.zh.md %})

注意:如果是相对链接,则不需要修改,如 [YARN](../ops/deployment/yarn_setup.html)。

注意2: 如果之前的链接方式类似 [CLI]({% site.baseurl %}/ops/cli.html) 请修改为 [CLI]({% link ops/cli.md %}), 更多内容可以参考讨论邮件

4. 标题锚点链接

文档中可能会包含标题锚点链接,当将标题从英文改成中文后,其锚点链接地址也会发生改变,导致原有锚点链接失效。

如下链接,引用了一个标题锚点(convert-a-table-into-a-datastream),但是其对应的标题被翻译成中文后,该链接会失效。

[通用概念]({%link dev/table/common.zh.md %}#convert-a-table-into-a-datastream)


为了使链接仍然有效,我们需要在翻译后的标题上增加一个 <a name="original_titile_anchor"></a> 标签。


如原标题:


## Convert a Table into a DataStream


翻译后需要在标题前增加一个 <a> 标签,注意 <a> 和标题之间有一个空行。


<a name="table-to-stream-conversion"></a>

## 将表转换成 DataStream


5. 中文标点符号


中文里面请使用中文标点符号。注意英文中没有顿号,应该使用顿号的地方在英文中一般使用的是逗号,在翻译时应注意将其翻译为顿号。比如“Kubernetes, Mesos, Docker” 应该翻译成 “Kubernetes、Mesos、Docker”。


6. 一般用“你”,而不是“您”


为了风格统一,我们建议在一般情况下使用“你”即可,这样与读者距离近一些。当然必要的时候可以使用“您”来称呼,比如 warning 提示的时候。


7. 示例代码及注释


示例代码中的注释最好能够翻译,当然也可以选择不翻译(当注释很简单时)。


8. 意译优于直译


有些同学翻译的文章很容易有翻译腔,就是经常把原文一字不漏地、逐句地翻译了出来。但这样并不代表翻译更准确,反而有时候读着会很别扭。所以建议在翻译完以后,自己多读几遍,看看是否符合原意、是否绕口、是否简洁。在充分理解原文的基础上,可以适当采用意译的方式来翻译。有时候为了简化句子,有些数量词、助词、主语都可以省略。



"...的...的...的..."


比如英文中经常会用 's 来表达从属关系,一字不落地都将其翻译成 "的" 就会很翻译腔。在中文里面有些 "的" 完全可以去掉,不会影响表达的意思,还能简洁很多,看下面的例子:


Flink's documentation is located in the docs folder in Flink's source code repository


当然,你可以将"的"字都翻译出来,但是读起来很不顺畅:


❌ Flink 的文档位于 Flink 的源码仓库的 docs 文件夹中。


去掉不必要的"的"字,就会简洁很多:

✅ Flink 文档位于 Flink 源码仓库的 docs 文件夹中。



"一个……"


英文一般比较严谨,当代表多个时,会使用复数名字,在翻译成中文时,一般不需要刻意把这种复数翻译出来。


在英文里,当单数可数名词时,前面一般会有“a”或“an”,但在中文里我们大多数时候是不用把“一个...”给翻译出来的。


比如下面这个例子:


State is a first-class citizen in Flink.


我们可以将“a”翻译成“一个”:


❌ 状态是 Flink 中的一个一等公民。


虽然看起来没什么问题,但是这里的“一个”完全是多余的,去掉之后不但不会影响翻译效果,而且还会显得更加简洁:


✅ 状态是 Flink 中的一等公民。


专业术语

  • 术语翻译表请遵循下方的表格,该表格中列出了社区推荐的翻译,和不推荐翻译的术语。请尽量遵守,但请注意该表格并不是完善的,仍在演进中,如果发现有不恰当的翻译或不确定的翻译,请在邮件列表中讨论,或在这篇 Google Doc 中评论。

  • 重要:文章中第一次出现专业术语翻译的地方需要给出英文原文。例如:“如果看到反压(back pressure)警告,则...”

  • 专有词要注意大小写,如 Flink,Java,Scala,API,SQL,不要用小写的 flink, java, scala, api, sql。

  • 当单词是指代码中的属性名、方法名、对象名、类名、标签名等时,可以不译。例如 "parallelism parameter" 不需要翻译成“并发参数”,而是应为“parallelism 属性”。

术语表 (Glossary)

我们一直认为一个单词一定要结合上下文才能确定准确的含义,所以该表格仅作为翻译的参考。如果遇到不确定的翻译,请随时在社区中发起讨论。

???:待讨论

N/A: 该术语不建议翻译

该表格按字母顺序排序

Apache Flink

Term

Chinese Simplified

Description

At-Least-Once

至少一次


At-Most-Once

至多一次


Back Pressure

反压


Chain (noun)

e.g. operator chain -> 算子链

Chain (verb)

链接

e.g.  Flink chains operator subtasks together into tasks.

-> Flink 将算子的 subtask 链接成 task。

Checkpoint

N/A

不翻译。虽然有地方翻译成“检查点”,但我们仍不建议翻译。

Connector连接器

Exactly-Once

精确一次


Fault Tolerance

容错


Failover

故障恢复


Fit

拟合

仅适用于数学和机器学习中,其他场景请结合上下文翻译。

High Availability

高可用


Join

N/A

Join 在中文中也很常用,翻译成“连接”反而不习惯。

Key / Keys


Keyed

N/A

一般不建议翻译。例如: keyed state, keyed stream,在 Flink 中都是有特殊含义的。non-keyed 也类似。

K-Fold Splits

K折划分


Lazy Evaluation

延迟计算


Metric

指标


MinMaxScaler

最大最小值归一化


Operator

算子


Operator Chain

算子链


Polymorphism

多态


Savepoint

N/A


Schema

N/A

指对结构的描述,例如:data schema,table schema,state schema

Setup设置如 cluster setup 可以翻译成 "集群设置"。

State

状态


State Backend

N/A


Side output

旁路输出


SinkN/A不翻译

Transformation

转换/转换操作


Task / Subtask

N/A

当特指 Flink 中的运行单元时,不翻译。

Tuple

N/A

当特指 Flink Tuple 对象时,不翻译。

Watermark

N/A


Window

  • Tumbling Window

  • Sliding Window

  • Session Window

  • Global Window

窗口

  • 滚动窗口

  • 滑动窗口

  • 会话窗口

  • 全局窗口


Stateful Functions
TermChinese SimplifiedDescription
Dynamic and Cyclic Messaging支持有环的动态消息传递
Event Egress事件出口

事件从 Event Egress 流出到其他系统

Event Ingress事件入口事件从 Event Egress 流入 Stateful Function 的地方

Function:

  • Embedded Function
  • Co-located Function
  • Remote Function

函数:

  • 嵌入式函数
  • 本地函数
  • 远程函数

Logical Address逻辑地址

Module

  • Embedded Module
  • Remote Module

模块

  • 嵌入式模块
  • 远程模块

Router路由转发消息的无状态算子
Persistent State持久化状态Function 的本地状态
Stateful FunctionsN/A
Function Dispatcher函数调度器





  • No labels