You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pulsar.apache.org by mm...@apache.org on 2018/11/23 10:28:17 UTC

[pulsar] branch asf-site updated: Updated site at revision 182ac65

This is an automated email from the ASF dual-hosted git repository.

mmerli pushed a commit to branch asf-site
in repository https://gitbox.apache.org/repos/asf/pulsar.git


The following commit(s) were added to refs/heads/asf-site by this push:
     new 4085fff  Updated site at revision 182ac65
4085fff is described below

commit 4085fffa69a79a08ba1aa8770b120d86b9edbc39
Author: jenkins <bu...@apache.org>
AuthorDate: Fri Nov 23 10:28:09 2018 +0000

    Updated site at revision 182ac65
---
 .../zh-CN/2.1.0-incubating/adaptors-kafka.html     | 40 ++++++++++----------
 .../2.1.0-incubating/adaptors-kafka/index.html     | 40 ++++++++++----------
 .../zh-CN/2.1.1-incubating/adaptors-kafka.html     | 40 ++++++++++----------
 .../2.1.1-incubating/adaptors-kafka/index.html     | 40 ++++++++++----------
 content/docs/zh-CN/adaptors-kafka.html             | 44 +++++++++++-----------
 content/docs/zh-CN/adaptors-kafka/index.html       | 44 +++++++++++-----------
 content/docs/zh-CN/next/adaptors-kafka.html        | 44 +++++++++++-----------
 content/docs/zh-CN/next/adaptors-kafka/index.html  | 44 +++++++++++-----------
 content/swagger/swagger.json                       | 18 ++++-----
 9 files changed, 177 insertions(+), 177 deletions(-)

diff --git a/content/docs/zh-CN/2.1.0-incubating/adaptors-kafka.html b/content/docs/zh-CN/2.1.0-incubating/adaptors-kafka.html
index 6790bb4..d453377 100644
--- a/content/docs/zh-CN/2.1.0-incubating/adaptors-kafka.html
+++ b/content/docs/zh-CN/2.1.0-incubating/adaptors-kafka.html
@@ -1,5 +1,5 @@
-<!DOCTYPE html><html lang="zh-CN"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>适用于 Apache Kafka 的 Pulsar 适配器 · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;p&gt;Pulsar为当前使用&lt;a href=&quot;http://kafka.apache.org&quot;&gt;Apache Kafka&lt;/a&gt;Java客户端API编写的应用程序提供了一个简单的选项。&lt;/p&gt;
-"/><meta name="docsearch:version" content="2.1.0-incubating"/><meta name="docsearch:language" content="zh-CN"/><meta property="og:title" content="适用于 Apache Kafka 的 Pulsar 适配器 · Apache Pulsar"/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/index.html"/><meta property="og:description" content="&lt;p&gt;Pulsar为当前使用&lt;a href=&quot;http://kafka.apache.org&quot;&gt;Apache Kafka&lt;/a&gt;Java客户端API编写的应用程序提供了一个简单的选项。&lt;/p&gt;
+<!DOCTYPE html><html lang="zh-CN"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>适用于 Apache Kafka 的 Pulsar 适配器 · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;p&gt;Pulsar为当前使用&lt;a href=&quot;http://kafka.apache.org&quot;&gt;Apache Kafka&lt;/a&gt;的Java客户端API的应用程序提供了一个简单的选项。&lt;/p&gt;
+"/><meta name="docsearch:version" content="2.1.0-incubating"/><meta name="docsearch:language" content="zh-CN"/><meta property="og:title" content="适用于 Apache Kafka 的 Pulsar 适配器 · Apache Pulsar"/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/index.html"/><meta property="og:description" content="&lt;p&gt;Pulsar为当前使用&lt;a href=&quot;http://kafka.apache.org&quot;&gt;Apache Kafka&lt;/a&gt;的Java客户端API的应用程序提供了一个简单的选项。&lt;/p&gt;
 "/><meta name="twitter:card" content="summary"/><meta name="twitter:image" content="https://pulsar.incubator.apache.org/img/pulsar.svg"/><link rel="shortcut icon" href="/img/pulsar.ico"/><link rel="stylesheet" href="https://cdn.jsdelivr.net/docsearch.js/1/docsearch.min.css"/><link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/highlight.js/9.12.0/styles/atom-one-dark.min.css"/><link rel="alternate" type="application/atom+xml" href="https://pulsar.incubator.apache.org/blog/atom.x [...]
               (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
               (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
@@ -47,7 +47,7 @@
                 };
               }
             });
-        </script></nav></div><div class="container mainContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://crowdin.com/project/apache-pulsar/zh-CN" target="_blank" rel="noreferrer noopener">Translate</a><h1 class="postHeaderTitle">适用于 Apache Kafka 的 Pulsar 适配器</h1></header><article><div><span><p>Pulsar为当前使用<a href="http://kafka.apache.org">Apache Kafka</a>Java客户端API编写的应用程序提供了一个简单的选项。</p>
+        </script></nav></div><div class="container mainContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://crowdin.com/project/apache-pulsar/zh-CN" target="_blank" rel="noreferrer noopener">Translate</a><h1 class="postHeaderTitle">适用于 Apache Kafka 的 Pulsar 适配器</h1></header><article><div><span><p>Pulsar为当前使用<a href="http://kafka.apache.org">Apache Kafka</a>的Java客户端API的应用程序提供了一个简单的选项。</p>
 <h2><a class="anchor" aria-hidden="true" id="使用pulsar-kafka兼容包装器"></a><a href="#使用pulsar-kafka兼容包装器" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.2 [...]
 <p>在现有应用程序中,更改常规Kafka客户端依赖并将其替换为Pulsar Kafka包装器。需移除</p>
 <pre><code class="hljs css language-xml"><span class="hljs-tag">&lt;<span class="hljs-name">dependency</span>&gt;</span>
@@ -97,7 +97,7 @@ producer.close();
 <pre><code class="hljs css language-java">String topic = <span class="hljs-string">"persistent://public/default/my-topic"</span>;
 
 Properties props = <span class="hljs-keyword">new</span> Properties();
-<span class="hljs-comment">// Point to a Pulsar service</span>
+<span class="hljs-comment">// 指向一个Pulsar服务</span>
 props.put(<span class="hljs-string">"bootstrap.servers"</span>, <span class="hljs-string">"pulsar://localhost:6650"</span>);
 props.put(<span class="hljs-string">"group.id"</span>, <span class="hljs-string">"my-subscription-name"</span>);
 props.put(<span class="hljs-string">"enable.auto.commit"</span>, <span class="hljs-string">"false"</span>);
@@ -113,7 +113,7 @@ consumer.subscribe(Arrays.asList(topic));
         log.info(<span class="hljs-string">"Received record: {}"</span>, record);
     });
 
-    <span class="hljs-comment">// Commit last offset</span>
+    <span class="hljs-comment">// 提交最近的 offset</span>
     consumer.commitSync();
 }
 </code></pre>
@@ -125,7 +125,7 @@ consumer.subscribe(Arrays.asList(topic));
 <p>APIs:</p>
 <table>
 <thead>
-<tr><th style="text-align:left">Producer Method</th><th style="text-align:left">Supported</th><th style="text-align:left">Notes</th></tr>
+<tr><th style="text-align:left">Producer 方法</th><th style="text-align:left">支持</th><th style="text-align:left">备注</th></tr>
 </thead>
 <tbody>
 <tr><td style="text-align:left"><code>Future&lt;RecordMetadata&gt; send(ProducerRecord&lt;K, V&gt; record)</code></td><td style="text-align:left">Yes</td><td style="text-align:left">目前不支持在发布时显式设置分区ID</td></tr>
@@ -137,10 +137,10 @@ consumer.subscribe(Arrays.asList(topic));
 <tr><td style="text-align:left"><code>void close(long timeout, TimeUnit unit)</code></td><td style="text-align:left">Yes</td><td style="text-align:left"></td></tr>
 </tbody>
 </table>
-<p>Properties:</p>
+<p>属性:</p>
 <table>
 <thead>
-<tr><th style="text-align:left">Config property</th><th style="text-align:left">Supported</th><th style="text-align:left">Notes</th></tr>
+<tr><th style="text-align:left">配置属性</th><th style="text-align:left">支持</th><th style="text-align:left">备注</th></tr>
 </thead>
 <tbody>
 <tr><td style="text-align:left"><code>acks</code></td><td style="text-align:left">Ignored</td><td style="text-align:left">Durability and quorum writes are configured at the namespace level</td></tr>
@@ -174,7 +174,7 @@ consumer.subscribe(Arrays.asList(topic));
 <p>APIs:</p>
 <table>
 <thead>
-<tr><th style="text-align:left">Consumer Method</th><th style="text-align:left">Supported</th><th style="text-align:left">Notes</th></tr>
+<tr><th style="text-align:left">Consumer Method</th><th style="text-align:left">支持</th><th style="text-align:left">备注</th></tr>
 </thead>
 <tbody>
 <tr><td style="text-align:left"><code>Set&lt;TopicPartition&gt; assignment()</code></td><td style="text-align:left">No</td><td style="text-align:left"></td></tr>
@@ -209,10 +209,10 @@ consumer.subscribe(Arrays.asList(topic));
 <tr><td style="text-align:left"><code>void wakeup()</code></td><td style="text-align:left">No</td><td style="text-align:left"></td></tr>
 </tbody>
 </table>
-<p>Properties:</p>
+<p>属性:</p>
 <table>
 <thead>
-<tr><th style="text-align:left">Config property</th><th style="text-align:left">Supported</th><th style="text-align:left">Notes</th></tr>
+<tr><th style="text-align:left">配置属性</th><th style="text-align:left">支持</th><th style="text-align:left">备注</th></tr>
 </thead>
 <tbody>
 <tr><td style="text-align:left"><code>group.id</code></td><td style="text-align:left">Yes</td><td style="text-align:left">Maps to a Pulsar subscription name</td></tr>
@@ -222,7 +222,7 @@ consumer.subscribe(Arrays.asList(topic));
 <tr><td style="text-align:left"><code>heartbeat.interval.ms</code></td><td style="text-align:left">Ignored</td><td style="text-align:left"></td></tr>
 <tr><td style="text-align:left"><code>bootstrap.servers</code></td><td style="text-align:left">Yes</td><td style="text-align:left">指定一个pulsar服务地址</td></tr>
 <tr><td style="text-align:left"><code>enable.auto.commit</code></td><td style="text-align:left">Yes</td><td style="text-align:left"></td></tr>
-<tr><td style="text-align:left"><code>auto.commit.interval.ms</code></td><td style="text-align:left">Ignored</td><td style="text-align:left">With auto-commit, acks are sent immediately to broker</td></tr>
+<tr><td style="text-align:left"><code>auto.commit.interval.ms</code></td><td style="text-align:left">Ignored</td><td style="text-align:left">自动提交后, acks 立即发送给 broker.</td></tr>
 <tr><td style="text-align:left"><code>partition.assignment.strategy</code></td><td style="text-align:left">Ignored</td><td style="text-align:left"></td></tr>
 <tr><td style="text-align:left"><code>auto.offset.reset</code></td><td style="text-align:left">Ignored</td><td style="text-align:left"></td></tr>
 <tr><td style="text-align:left"><code>fetch.min.bytes</code></td><td style="text-align:left">Ignored</td><td style="text-align:left"></td></tr>
@@ -235,15 +235,15 @@ consumer.subscribe(Arrays.asList(topic));
 <tr><td style="text-align:left"><code>client.id</code></td><td style="text-align:left">Ignored</td><td style="text-align:left"></td></tr>
 </tbody>
 </table>
-<h2><a class="anchor" aria-hidden="true" id="custom-pulsar-configurations"></a><a href="#custom-pulsar-configurations" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 [...]
-<p>You can configure Pulsar authentication provider directly from the Kafka properties.</p>
+<h2><a class="anchor" aria-hidden="true" id="自定义-pulsar-配置"></a><a href="#自定义-pulsar-配置" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.8 [...]
+<p>你可以直接通过Kafka的属性去配置Pulsar的身份认证.</p>
 <h3><a class="anchor" aria-hidden="true" id="pulsar-client-properties"></a><a href="#pulsar-client-properties" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-. [...]
 <table>
 <thead>
-<tr><th style="text-align:left">Config property</th><th style="text-align:left">默认值</th><th style="text-align:left">Notes</th></tr>
+<tr><th style="text-align:left">配置属性</th><th style="text-align:left">默认值</th><th style="text-align:left">备注</th></tr>
 </thead>
 <tbody>
-<tr><td style="text-align:left"><code>pulsar.authentication.class</code></td><td style="text-align:left"></td><td style="text-align:left">Configure to auth provider. Eg. <code>org.apache.pulsar.client.impl.auth.AuthenticationTls</code></td></tr>
+<tr><td style="text-align:left"><code>pulsar.authentication.class</code></td><td style="text-align:left"></td><td style="text-align:left">配置验证的类.例如. <code>org.apache.pulsar.client.impl.auth.AuthenticationTls</code></td></tr>
 <tr><td style="text-align:left"><a href="http://pulsar.apache.org/api/client/org/apache/pulsar/client/api/ClientConfiguration.html#setUseTls-boolean-"><code>pulsar.use.tls</code></a></td><td style="text-align:left"><code>false</code></td><td style="text-align:left">Enable TLS transport encryption</td></tr>
 <tr><td style="text-align:left"><a href="http://pulsar.apache.org/api/client/org/apache/pulsar/client/api/ClientConfiguration.html#setTlsTrustCertsFilePath-java.lang.String-"><code>pulsar.tls.trust.certs.file.path</code></a></td><td style="text-align:left"></td><td style="text-align:left">Path for the TLS trust certificate store</td></tr>
 <tr><td style="text-align:left"><a href="http://pulsar.apache.org/api/client/org/apache/pulsar/client/api/ClientConfiguration.html#setTlsAllowInsecureConnection-boolean-"><code>pulsar.tls.allow.insecure.connection</code></a></td><td style="text-align:left"><code>false</code></td><td style="text-align:left">Accept self-signed certificates from brokers</td></tr>
@@ -259,10 +259,10 @@ consumer.subscribe(Arrays.asList(topic));
 <h3><a class="anchor" aria-hidden="true" id="pulsar-producer-properties"></a><a href="#pulsar-producer-properties" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H [...]
 <table>
 <thead>
-<tr><th style="text-align:left">Config property</th><th style="text-align:left">默认值</th><th style="text-align:left">Notes</th></tr>
+<tr><th style="text-align:left">配置属性</th><th style="text-align:left">默认值</th><th style="text-align:left">备注</th></tr>
 </thead>
 <tbody>
-<tr><td style="text-align:left"><a href="http://pulsar.apache.org/api/client/org/apache/pulsar/client/api/ProducerConfiguration.html#setProducerName-java.lang.String-"><code>pulsar.producer.name</code></a></td><td style="text-align:left"></td><td style="text-align:left">Specify producer name</td></tr>
+<tr><td style="text-align:left"><a href="http://pulsar.apache.org/api/client/org/apache/pulsar/client/api/ProducerConfiguration.html#setProducerName-java.lang.String-"><code>pulsar.producer.name</code></a></td><td style="text-align:left"></td><td style="text-align:left">指定 producer 名称</td></tr>
 <tr><td style="text-align:left"><a href="http://pulsar.apache.org/api/client/org/apache/pulsar/client/api/ProducerConfiguration.html#setInitialSequenceId-long-"><code>pulsar.producer.initial.sequence.id</code></a></td><td style="text-align:left"></td><td style="text-align:left">Specify baseline for sequence id for this producer</td></tr>
 <tr><td style="text-align:left"><a href="http://pulsar.apache.org/api/client/org/apache/pulsar/client/api/ProducerConfiguration.html#setMaxPendingMessages-int-"><code>pulsar.producer.max.pending.messages</code></a></td><td style="text-align:left"><code>1000</code></td><td style="text-align:left">Set the max size of the queue holding the messages pending to receive an acknowledgment from the broker.</td></tr>
 <tr><td style="text-align:left"><a href="http://pulsar.apache.org/api/client/org/apache/pulsar/client/api/ProducerConfiguration.html#setMaxPendingMessagesAcrossPartitions-int-"><code>pulsar.producer.max.pending.messages.across.partitions</code></a></td><td style="text-align:left"><code>50000</code></td><td style="text-align:left">Set the number of max pending messages across all the partitions</td></tr>
@@ -273,7 +273,7 @@ consumer.subscribe(Arrays.asList(topic));
 <h3><a class="anchor" aria-hidden="true" id="pulsar-consumer-properties"></a><a href="#pulsar-consumer-properties" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H [...]
 <table>
 <thead>
-<tr><th style="text-align:left">Config property</th><th style="text-align:left">默认值</th><th style="text-align:left">Notes</th></tr>
+<tr><th style="text-align:left">配置属性</th><th style="text-align:left">默认值</th><th style="text-align:left">备注</th></tr>
 </thead>
 <tbody>
 <tr><td style="text-align:left"><a href="http://pulsar.apache.org/api/client/org/apache/pulsar/client/api/ConsumerConfiguration.html#setConsumerName-java.lang.String-"><code>pulsar.consumer.name</code></a></td><td style="text-align:left"></td><td style="text-align:left">Set the consumer name</td></tr>
@@ -281,7 +281,7 @@ consumer.subscribe(Arrays.asList(topic));
 <tr><td style="text-align:left"><a href="http://pulsar.apache.org/api/client/org/apache/pulsar/client/api/ConsumerConfiguration.html#setMaxTotalReceiverQueueSizeAcrossPartitions-int-"><code>pulsar.consumer.total.receiver.queue.size.across.partitions</code></a></td><td style="text-align:left">50000</td><td style="text-align:left">Set the max total receiver queue size across partitons</td></tr>
 </tbody>
 </table>
-</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/zh-CN/2.1.0-incubating/admin-api-schemas"><span class="arrow-prev">← </span><span>管理Schema</span></a><a class="docs-next button" href="/docs/zh-CN/2.1.0-incubating/adaptors-spark"><span>Plusar 对 Apache Spark 的适配</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#使用pulsar-kafka兼容包装器">使用Pulsar Kafka兼容包装器</a></li><li><a href [...]
+</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/zh-CN/2.1.0-incubating/admin-api-schemas"><span class="arrow-prev">← </span><span>管理Schema</span></a><a class="docs-next button" href="/docs/zh-CN/2.1.0-incubating/adaptors-spark"><span>Plusar 对 Apache Spark 的适配</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#使用pulsar-kafka兼容包装器">使用Pulsar Kafka兼容包装器</a></li><li><a href [...]
       const community = document.querySelector("a[href='#community']").parentNode;
       const communityMenu =
         '<li>' +
diff --git a/content/docs/zh-CN/2.1.0-incubating/adaptors-kafka/index.html b/content/docs/zh-CN/2.1.0-incubating/adaptors-kafka/index.html
index 6790bb4..d453377 100644
--- a/content/docs/zh-CN/2.1.0-incubating/adaptors-kafka/index.html
+++ b/content/docs/zh-CN/2.1.0-incubating/adaptors-kafka/index.html
@@ -1,5 +1,5 @@
-<!DOCTYPE html><html lang="zh-CN"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>适用于 Apache Kafka 的 Pulsar 适配器 · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;p&gt;Pulsar为当前使用&lt;a href=&quot;http://kafka.apache.org&quot;&gt;Apache Kafka&lt;/a&gt;Java客户端API编写的应用程序提供了一个简单的选项。&lt;/p&gt;
-"/><meta name="docsearch:version" content="2.1.0-incubating"/><meta name="docsearch:language" content="zh-CN"/><meta property="og:title" content="适用于 Apache Kafka 的 Pulsar 适配器 · Apache Pulsar"/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/index.html"/><meta property="og:description" content="&lt;p&gt;Pulsar为当前使用&lt;a href=&quot;http://kafka.apache.org&quot;&gt;Apache Kafka&lt;/a&gt;Java客户端API编写的应用程序提供了一个简单的选项。&lt;/p&gt;
+<!DOCTYPE html><html lang="zh-CN"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>适用于 Apache Kafka 的 Pulsar 适配器 · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;p&gt;Pulsar为当前使用&lt;a href=&quot;http://kafka.apache.org&quot;&gt;Apache Kafka&lt;/a&gt;的Java客户端API的应用程序提供了一个简单的选项。&lt;/p&gt;
+"/><meta name="docsearch:version" content="2.1.0-incubating"/><meta name="docsearch:language" content="zh-CN"/><meta property="og:title" content="适用于 Apache Kafka 的 Pulsar 适配器 · Apache Pulsar"/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/index.html"/><meta property="og:description" content="&lt;p&gt;Pulsar为当前使用&lt;a href=&quot;http://kafka.apache.org&quot;&gt;Apache Kafka&lt;/a&gt;的Java客户端API的应用程序提供了一个简单的选项。&lt;/p&gt;
 "/><meta name="twitter:card" content="summary"/><meta name="twitter:image" content="https://pulsar.incubator.apache.org/img/pulsar.svg"/><link rel="shortcut icon" href="/img/pulsar.ico"/><link rel="stylesheet" href="https://cdn.jsdelivr.net/docsearch.js/1/docsearch.min.css"/><link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/highlight.js/9.12.0/styles/atom-one-dark.min.css"/><link rel="alternate" type="application/atom+xml" href="https://pulsar.incubator.apache.org/blog/atom.x [...]
               (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
               (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
@@ -47,7 +47,7 @@
                 };
               }
             });
-        </script></nav></div><div class="container mainContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://crowdin.com/project/apache-pulsar/zh-CN" target="_blank" rel="noreferrer noopener">Translate</a><h1 class="postHeaderTitle">适用于 Apache Kafka 的 Pulsar 适配器</h1></header><article><div><span><p>Pulsar为当前使用<a href="http://kafka.apache.org">Apache Kafka</a>Java客户端API编写的应用程序提供了一个简单的选项。</p>
+        </script></nav></div><div class="container mainContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://crowdin.com/project/apache-pulsar/zh-CN" target="_blank" rel="noreferrer noopener">Translate</a><h1 class="postHeaderTitle">适用于 Apache Kafka 的 Pulsar 适配器</h1></header><article><div><span><p>Pulsar为当前使用<a href="http://kafka.apache.org">Apache Kafka</a>的Java客户端API的应用程序提供了一个简单的选项。</p>
 <h2><a class="anchor" aria-hidden="true" id="使用pulsar-kafka兼容包装器"></a><a href="#使用pulsar-kafka兼容包装器" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.2 [...]
 <p>在现有应用程序中,更改常规Kafka客户端依赖并将其替换为Pulsar Kafka包装器。需移除</p>
 <pre><code class="hljs css language-xml"><span class="hljs-tag">&lt;<span class="hljs-name">dependency</span>&gt;</span>
@@ -97,7 +97,7 @@ producer.close();
 <pre><code class="hljs css language-java">String topic = <span class="hljs-string">"persistent://public/default/my-topic"</span>;
 
 Properties props = <span class="hljs-keyword">new</span> Properties();
-<span class="hljs-comment">// Point to a Pulsar service</span>
+<span class="hljs-comment">// 指向一个Pulsar服务</span>
 props.put(<span class="hljs-string">"bootstrap.servers"</span>, <span class="hljs-string">"pulsar://localhost:6650"</span>);
 props.put(<span class="hljs-string">"group.id"</span>, <span class="hljs-string">"my-subscription-name"</span>);
 props.put(<span class="hljs-string">"enable.auto.commit"</span>, <span class="hljs-string">"false"</span>);
@@ -113,7 +113,7 @@ consumer.subscribe(Arrays.asList(topic));
         log.info(<span class="hljs-string">"Received record: {}"</span>, record);
     });
 
-    <span class="hljs-comment">// Commit last offset</span>
+    <span class="hljs-comment">// 提交最近的 offset</span>
     consumer.commitSync();
 }
 </code></pre>
@@ -125,7 +125,7 @@ consumer.subscribe(Arrays.asList(topic));
 <p>APIs:</p>
 <table>
 <thead>
-<tr><th style="text-align:left">Producer Method</th><th style="text-align:left">Supported</th><th style="text-align:left">Notes</th></tr>
+<tr><th style="text-align:left">Producer 方法</th><th style="text-align:left">支持</th><th style="text-align:left">备注</th></tr>
 </thead>
 <tbody>
 <tr><td style="text-align:left"><code>Future&lt;RecordMetadata&gt; send(ProducerRecord&lt;K, V&gt; record)</code></td><td style="text-align:left">Yes</td><td style="text-align:left">目前不支持在发布时显式设置分区ID</td></tr>
@@ -137,10 +137,10 @@ consumer.subscribe(Arrays.asList(topic));
 <tr><td style="text-align:left"><code>void close(long timeout, TimeUnit unit)</code></td><td style="text-align:left">Yes</td><td style="text-align:left"></td></tr>
 </tbody>
 </table>
-<p>Properties:</p>
+<p>属性:</p>
 <table>
 <thead>
-<tr><th style="text-align:left">Config property</th><th style="text-align:left">Supported</th><th style="text-align:left">Notes</th></tr>
+<tr><th style="text-align:left">配置属性</th><th style="text-align:left">支持</th><th style="text-align:left">备注</th></tr>
 </thead>
 <tbody>
 <tr><td style="text-align:left"><code>acks</code></td><td style="text-align:left">Ignored</td><td style="text-align:left">Durability and quorum writes are configured at the namespace level</td></tr>
@@ -174,7 +174,7 @@ consumer.subscribe(Arrays.asList(topic));
 <p>APIs:</p>
 <table>
 <thead>
-<tr><th style="text-align:left">Consumer Method</th><th style="text-align:left">Supported</th><th style="text-align:left">Notes</th></tr>
+<tr><th style="text-align:left">Consumer Method</th><th style="text-align:left">支持</th><th style="text-align:left">备注</th></tr>
 </thead>
 <tbody>
 <tr><td style="text-align:left"><code>Set&lt;TopicPartition&gt; assignment()</code></td><td style="text-align:left">No</td><td style="text-align:left"></td></tr>
@@ -209,10 +209,10 @@ consumer.subscribe(Arrays.asList(topic));
 <tr><td style="text-align:left"><code>void wakeup()</code></td><td style="text-align:left">No</td><td style="text-align:left"></td></tr>
 </tbody>
 </table>
-<p>Properties:</p>
+<p>属性:</p>
 <table>
 <thead>
-<tr><th style="text-align:left">Config property</th><th style="text-align:left">Supported</th><th style="text-align:left">Notes</th></tr>
+<tr><th style="text-align:left">配置属性</th><th style="text-align:left">支持</th><th style="text-align:left">备注</th></tr>
 </thead>
 <tbody>
 <tr><td style="text-align:left"><code>group.id</code></td><td style="text-align:left">Yes</td><td style="text-align:left">Maps to a Pulsar subscription name</td></tr>
@@ -222,7 +222,7 @@ consumer.subscribe(Arrays.asList(topic));
 <tr><td style="text-align:left"><code>heartbeat.interval.ms</code></td><td style="text-align:left">Ignored</td><td style="text-align:left"></td></tr>
 <tr><td style="text-align:left"><code>bootstrap.servers</code></td><td style="text-align:left">Yes</td><td style="text-align:left">指定一个pulsar服务地址</td></tr>
 <tr><td style="text-align:left"><code>enable.auto.commit</code></td><td style="text-align:left">Yes</td><td style="text-align:left"></td></tr>
-<tr><td style="text-align:left"><code>auto.commit.interval.ms</code></td><td style="text-align:left">Ignored</td><td style="text-align:left">With auto-commit, acks are sent immediately to broker</td></tr>
+<tr><td style="text-align:left"><code>auto.commit.interval.ms</code></td><td style="text-align:left">Ignored</td><td style="text-align:left">自动提交后, acks 立即发送给 broker.</td></tr>
 <tr><td style="text-align:left"><code>partition.assignment.strategy</code></td><td style="text-align:left">Ignored</td><td style="text-align:left"></td></tr>
 <tr><td style="text-align:left"><code>auto.offset.reset</code></td><td style="text-align:left">Ignored</td><td style="text-align:left"></td></tr>
 <tr><td style="text-align:left"><code>fetch.min.bytes</code></td><td style="text-align:left">Ignored</td><td style="text-align:left"></td></tr>
@@ -235,15 +235,15 @@ consumer.subscribe(Arrays.asList(topic));
 <tr><td style="text-align:left"><code>client.id</code></td><td style="text-align:left">Ignored</td><td style="text-align:left"></td></tr>
 </tbody>
 </table>
-<h2><a class="anchor" aria-hidden="true" id="custom-pulsar-configurations"></a><a href="#custom-pulsar-configurations" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 [...]
-<p>You can configure Pulsar authentication provider directly from the Kafka properties.</p>
+<h2><a class="anchor" aria-hidden="true" id="自定义-pulsar-配置"></a><a href="#自定义-pulsar-配置" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.8 [...]
+<p>你可以直接通过Kafka的属性去配置Pulsar的身份认证.</p>
 <h3><a class="anchor" aria-hidden="true" id="pulsar-client-properties"></a><a href="#pulsar-client-properties" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-. [...]
 <table>
 <thead>
-<tr><th style="text-align:left">Config property</th><th style="text-align:left">默认值</th><th style="text-align:left">Notes</th></tr>
+<tr><th style="text-align:left">配置属性</th><th style="text-align:left">默认值</th><th style="text-align:left">备注</th></tr>
 </thead>
 <tbody>
-<tr><td style="text-align:left"><code>pulsar.authentication.class</code></td><td style="text-align:left"></td><td style="text-align:left">Configure to auth provider. Eg. <code>org.apache.pulsar.client.impl.auth.AuthenticationTls</code></td></tr>
+<tr><td style="text-align:left"><code>pulsar.authentication.class</code></td><td style="text-align:left"></td><td style="text-align:left">配置验证的类.例如. <code>org.apache.pulsar.client.impl.auth.AuthenticationTls</code></td></tr>
 <tr><td style="text-align:left"><a href="http://pulsar.apache.org/api/client/org/apache/pulsar/client/api/ClientConfiguration.html#setUseTls-boolean-"><code>pulsar.use.tls</code></a></td><td style="text-align:left"><code>false</code></td><td style="text-align:left">Enable TLS transport encryption</td></tr>
 <tr><td style="text-align:left"><a href="http://pulsar.apache.org/api/client/org/apache/pulsar/client/api/ClientConfiguration.html#setTlsTrustCertsFilePath-java.lang.String-"><code>pulsar.tls.trust.certs.file.path</code></a></td><td style="text-align:left"></td><td style="text-align:left">Path for the TLS trust certificate store</td></tr>
 <tr><td style="text-align:left"><a href="http://pulsar.apache.org/api/client/org/apache/pulsar/client/api/ClientConfiguration.html#setTlsAllowInsecureConnection-boolean-"><code>pulsar.tls.allow.insecure.connection</code></a></td><td style="text-align:left"><code>false</code></td><td style="text-align:left">Accept self-signed certificates from brokers</td></tr>
@@ -259,10 +259,10 @@ consumer.subscribe(Arrays.asList(topic));
 <h3><a class="anchor" aria-hidden="true" id="pulsar-producer-properties"></a><a href="#pulsar-producer-properties" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H [...]
 <table>
 <thead>
-<tr><th style="text-align:left">Config property</th><th style="text-align:left">默认值</th><th style="text-align:left">Notes</th></tr>
+<tr><th style="text-align:left">配置属性</th><th style="text-align:left">默认值</th><th style="text-align:left">备注</th></tr>
 </thead>
 <tbody>
-<tr><td style="text-align:left"><a href="http://pulsar.apache.org/api/client/org/apache/pulsar/client/api/ProducerConfiguration.html#setProducerName-java.lang.String-"><code>pulsar.producer.name</code></a></td><td style="text-align:left"></td><td style="text-align:left">Specify producer name</td></tr>
+<tr><td style="text-align:left"><a href="http://pulsar.apache.org/api/client/org/apache/pulsar/client/api/ProducerConfiguration.html#setProducerName-java.lang.String-"><code>pulsar.producer.name</code></a></td><td style="text-align:left"></td><td style="text-align:left">指定 producer 名称</td></tr>
 <tr><td style="text-align:left"><a href="http://pulsar.apache.org/api/client/org/apache/pulsar/client/api/ProducerConfiguration.html#setInitialSequenceId-long-"><code>pulsar.producer.initial.sequence.id</code></a></td><td style="text-align:left"></td><td style="text-align:left">Specify baseline for sequence id for this producer</td></tr>
 <tr><td style="text-align:left"><a href="http://pulsar.apache.org/api/client/org/apache/pulsar/client/api/ProducerConfiguration.html#setMaxPendingMessages-int-"><code>pulsar.producer.max.pending.messages</code></a></td><td style="text-align:left"><code>1000</code></td><td style="text-align:left">Set the max size of the queue holding the messages pending to receive an acknowledgment from the broker.</td></tr>
 <tr><td style="text-align:left"><a href="http://pulsar.apache.org/api/client/org/apache/pulsar/client/api/ProducerConfiguration.html#setMaxPendingMessagesAcrossPartitions-int-"><code>pulsar.producer.max.pending.messages.across.partitions</code></a></td><td style="text-align:left"><code>50000</code></td><td style="text-align:left">Set the number of max pending messages across all the partitions</td></tr>
@@ -273,7 +273,7 @@ consumer.subscribe(Arrays.asList(topic));
 <h3><a class="anchor" aria-hidden="true" id="pulsar-consumer-properties"></a><a href="#pulsar-consumer-properties" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H [...]
 <table>
 <thead>
-<tr><th style="text-align:left">Config property</th><th style="text-align:left">默认值</th><th style="text-align:left">Notes</th></tr>
+<tr><th style="text-align:left">配置属性</th><th style="text-align:left">默认值</th><th style="text-align:left">备注</th></tr>
 </thead>
 <tbody>
 <tr><td style="text-align:left"><a href="http://pulsar.apache.org/api/client/org/apache/pulsar/client/api/ConsumerConfiguration.html#setConsumerName-java.lang.String-"><code>pulsar.consumer.name</code></a></td><td style="text-align:left"></td><td style="text-align:left">Set the consumer name</td></tr>
@@ -281,7 +281,7 @@ consumer.subscribe(Arrays.asList(topic));
 <tr><td style="text-align:left"><a href="http://pulsar.apache.org/api/client/org/apache/pulsar/client/api/ConsumerConfiguration.html#setMaxTotalReceiverQueueSizeAcrossPartitions-int-"><code>pulsar.consumer.total.receiver.queue.size.across.partitions</code></a></td><td style="text-align:left">50000</td><td style="text-align:left">Set the max total receiver queue size across partitons</td></tr>
 </tbody>
 </table>
-</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/zh-CN/2.1.0-incubating/admin-api-schemas"><span class="arrow-prev">← </span><span>管理Schema</span></a><a class="docs-next button" href="/docs/zh-CN/2.1.0-incubating/adaptors-spark"><span>Plusar 对 Apache Spark 的适配</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#使用pulsar-kafka兼容包装器">使用Pulsar Kafka兼容包装器</a></li><li><a href [...]
+</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/zh-CN/2.1.0-incubating/admin-api-schemas"><span class="arrow-prev">← </span><span>管理Schema</span></a><a class="docs-next button" href="/docs/zh-CN/2.1.0-incubating/adaptors-spark"><span>Plusar 对 Apache Spark 的适配</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#使用pulsar-kafka兼容包装器">使用Pulsar Kafka兼容包装器</a></li><li><a href [...]
       const community = document.querySelector("a[href='#community']").parentNode;
       const communityMenu =
         '<li>' +
diff --git a/content/docs/zh-CN/2.1.1-incubating/adaptors-kafka.html b/content/docs/zh-CN/2.1.1-incubating/adaptors-kafka.html
index fab83c2..e411cac 100644
--- a/content/docs/zh-CN/2.1.1-incubating/adaptors-kafka.html
+++ b/content/docs/zh-CN/2.1.1-incubating/adaptors-kafka.html
@@ -1,5 +1,5 @@
-<!DOCTYPE html><html lang="zh-CN"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>适用于 Apache Kafka 的 Pulsar 适配器 · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;p&gt;Pulsar为当前使用&lt;a href=&quot;http://kafka.apache.org&quot;&gt;Apache Kafka&lt;/a&gt;Java客户端API编写的应用程序提供了一个简单的选项。&lt;/p&gt;
-"/><meta name="docsearch:version" content="2.1.1-incubating"/><meta name="docsearch:language" content="zh-CN"/><meta property="og:title" content="适用于 Apache Kafka 的 Pulsar 适配器 · Apache Pulsar"/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/index.html"/><meta property="og:description" content="&lt;p&gt;Pulsar为当前使用&lt;a href=&quot;http://kafka.apache.org&quot;&gt;Apache Kafka&lt;/a&gt;Java客户端API编写的应用程序提供了一个简单的选项。&lt;/p&gt;
+<!DOCTYPE html><html lang="zh-CN"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>适用于 Apache Kafka 的 Pulsar 适配器 · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;p&gt;Pulsar为当前使用&lt;a href=&quot;http://kafka.apache.org&quot;&gt;Apache Kafka&lt;/a&gt;的Java客户端API的应用程序提供了一个简单的选项。&lt;/p&gt;
+"/><meta name="docsearch:version" content="2.1.1-incubating"/><meta name="docsearch:language" content="zh-CN"/><meta property="og:title" content="适用于 Apache Kafka 的 Pulsar 适配器 · Apache Pulsar"/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/index.html"/><meta property="og:description" content="&lt;p&gt;Pulsar为当前使用&lt;a href=&quot;http://kafka.apache.org&quot;&gt;Apache Kafka&lt;/a&gt;的Java客户端API的应用程序提供了一个简单的选项。&lt;/p&gt;
 "/><meta name="twitter:card" content="summary"/><meta name="twitter:image" content="https://pulsar.incubator.apache.org/img/pulsar.svg"/><link rel="shortcut icon" href="/img/pulsar.ico"/><link rel="stylesheet" href="https://cdn.jsdelivr.net/docsearch.js/1/docsearch.min.css"/><link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/highlight.js/9.12.0/styles/atom-one-dark.min.css"/><link rel="alternate" type="application/atom+xml" href="https://pulsar.incubator.apache.org/blog/atom.x [...]
               (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
               (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
@@ -47,7 +47,7 @@
                 };
               }
             });
-        </script></nav></div><div class="container mainContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://crowdin.com/project/apache-pulsar/zh-CN" target="_blank" rel="noreferrer noopener">Translate</a><h1 class="postHeaderTitle">适用于 Apache Kafka 的 Pulsar 适配器</h1></header><article><div><span><p>Pulsar为当前使用<a href="http://kafka.apache.org">Apache Kafka</a>Java客户端API编写的应用程序提供了一个简单的选项。</p>
+        </script></nav></div><div class="container mainContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://crowdin.com/project/apache-pulsar/zh-CN" target="_blank" rel="noreferrer noopener">Translate</a><h1 class="postHeaderTitle">适用于 Apache Kafka 的 Pulsar 适配器</h1></header><article><div><span><p>Pulsar为当前使用<a href="http://kafka.apache.org">Apache Kafka</a>的Java客户端API的应用程序提供了一个简单的选项。</p>
 <h2><a class="anchor" aria-hidden="true" id="使用pulsar-kafka兼容包装器"></a><a href="#使用pulsar-kafka兼容包装器" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.2 [...]
 <p>在现有应用程序中,更改常规Kafka客户端依赖并将其替换为Pulsar Kafka包装器。需移除</p>
 <pre><code class="hljs css language-xml"><span class="hljs-tag">&lt;<span class="hljs-name">dependency</span>&gt;</span>
@@ -97,7 +97,7 @@ producer.close();
 <pre><code class="hljs css language-java">String topic = <span class="hljs-string">"persistent://public/default/my-topic"</span>;
 
 Properties props = <span class="hljs-keyword">new</span> Properties();
-<span class="hljs-comment">// Point to a Pulsar service</span>
+<span class="hljs-comment">// 指向一个Pulsar服务</span>
 props.put(<span class="hljs-string">"bootstrap.servers"</span>, <span class="hljs-string">"pulsar://localhost:6650"</span>);
 props.put(<span class="hljs-string">"group.id"</span>, <span class="hljs-string">"my-subscription-name"</span>);
 props.put(<span class="hljs-string">"enable.auto.commit"</span>, <span class="hljs-string">"false"</span>);
@@ -113,7 +113,7 @@ consumer.subscribe(Arrays.asList(topic));
         log.info(<span class="hljs-string">"Received record: {}"</span>, record);
     });
 
-    <span class="hljs-comment">// Commit last offset</span>
+    <span class="hljs-comment">// 提交最近的 offset</span>
     consumer.commitSync();
 }
 </code></pre>
@@ -125,7 +125,7 @@ consumer.subscribe(Arrays.asList(topic));
 <p>APIs:</p>
 <table>
 <thead>
-<tr><th style="text-align:left">Producer Method</th><th style="text-align:left">Supported</th><th style="text-align:left">Notes</th></tr>
+<tr><th style="text-align:left">Producer 方法</th><th style="text-align:left">支持</th><th style="text-align:left">备注</th></tr>
 </thead>
 <tbody>
 <tr><td style="text-align:left"><code>Future&lt;RecordMetadata&gt; send(ProducerRecord&lt;K, V&gt; record)</code></td><td style="text-align:left">Yes</td><td style="text-align:left">目前不支持在发布时显式设置分区ID</td></tr>
@@ -137,10 +137,10 @@ consumer.subscribe(Arrays.asList(topic));
 <tr><td style="text-align:left"><code>void close(long timeout, TimeUnit unit)</code></td><td style="text-align:left">Yes</td><td style="text-align:left"></td></tr>
 </tbody>
 </table>
-<p>Properties:</p>
+<p>属性:</p>
 <table>
 <thead>
-<tr><th style="text-align:left">Config property</th><th style="text-align:left">Supported</th><th style="text-align:left">Notes</th></tr>
+<tr><th style="text-align:left">配置属性</th><th style="text-align:left">支持</th><th style="text-align:left">备注</th></tr>
 </thead>
 <tbody>
 <tr><td style="text-align:left"><code>acks</code></td><td style="text-align:left">Ignored</td><td style="text-align:left">Durability and quorum writes are configured at the namespace level</td></tr>
@@ -174,7 +174,7 @@ consumer.subscribe(Arrays.asList(topic));
 <p>APIs:</p>
 <table>
 <thead>
-<tr><th style="text-align:left">Consumer Method</th><th style="text-align:left">Supported</th><th style="text-align:left">Notes</th></tr>
+<tr><th style="text-align:left">Consumer Method</th><th style="text-align:left">支持</th><th style="text-align:left">备注</th></tr>
 </thead>
 <tbody>
 <tr><td style="text-align:left"><code>Set&lt;TopicPartition&gt; assignment()</code></td><td style="text-align:left">No</td><td style="text-align:left"></td></tr>
@@ -209,10 +209,10 @@ consumer.subscribe(Arrays.asList(topic));
 <tr><td style="text-align:left"><code>void wakeup()</code></td><td style="text-align:left">No</td><td style="text-align:left"></td></tr>
 </tbody>
 </table>
-<p>Properties:</p>
+<p>属性:</p>
 <table>
 <thead>
-<tr><th style="text-align:left">Config property</th><th style="text-align:left">Supported</th><th style="text-align:left">Notes</th></tr>
+<tr><th style="text-align:left">配置属性</th><th style="text-align:left">支持</th><th style="text-align:left">备注</th></tr>
 </thead>
 <tbody>
 <tr><td style="text-align:left"><code>group.id</code></td><td style="text-align:left">Yes</td><td style="text-align:left">Maps to a Pulsar subscription name</td></tr>
@@ -222,7 +222,7 @@ consumer.subscribe(Arrays.asList(topic));
 <tr><td style="text-align:left"><code>heartbeat.interval.ms</code></td><td style="text-align:left">Ignored</td><td style="text-align:left"></td></tr>
 <tr><td style="text-align:left"><code>bootstrap.servers</code></td><td style="text-align:left">Yes</td><td style="text-align:left">指定一个pulsar服务地址</td></tr>
 <tr><td style="text-align:left"><code>enable.auto.commit</code></td><td style="text-align:left">Yes</td><td style="text-align:left"></td></tr>
-<tr><td style="text-align:left"><code>auto.commit.interval.ms</code></td><td style="text-align:left">Ignored</td><td style="text-align:left">With auto-commit, acks are sent immediately to broker</td></tr>
+<tr><td style="text-align:left"><code>auto.commit.interval.ms</code></td><td style="text-align:left">Ignored</td><td style="text-align:left">自动提交后, acks 立即发送给 broker.</td></tr>
 <tr><td style="text-align:left"><code>partition.assignment.strategy</code></td><td style="text-align:left">Ignored</td><td style="text-align:left"></td></tr>
 <tr><td style="text-align:left"><code>auto.offset.reset</code></td><td style="text-align:left">Ignored</td><td style="text-align:left"></td></tr>
 <tr><td style="text-align:left"><code>fetch.min.bytes</code></td><td style="text-align:left">Ignored</td><td style="text-align:left"></td></tr>
@@ -235,15 +235,15 @@ consumer.subscribe(Arrays.asList(topic));
 <tr><td style="text-align:left"><code>client.id</code></td><td style="text-align:left">Ignored</td><td style="text-align:left"></td></tr>
 </tbody>
 </table>
-<h2><a class="anchor" aria-hidden="true" id="custom-pulsar-configurations"></a><a href="#custom-pulsar-configurations" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 [...]
-<p>You can configure Pulsar authentication provider directly from the Kafka properties.</p>
+<h2><a class="anchor" aria-hidden="true" id="自定义-pulsar-配置"></a><a href="#自定义-pulsar-配置" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.8 [...]
+<p>你可以直接通过Kafka的属性去配置Pulsar的身份认证.</p>
 <h3><a class="anchor" aria-hidden="true" id="pulsar-client-properties"></a><a href="#pulsar-client-properties" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-. [...]
 <table>
 <thead>
-<tr><th style="text-align:left">Config property</th><th style="text-align:left">默认值</th><th style="text-align:left">Notes</th></tr>
+<tr><th style="text-align:left">配置属性</th><th style="text-align:left">默认值</th><th style="text-align:left">备注</th></tr>
 </thead>
 <tbody>
-<tr><td style="text-align:left"><a href="http://pulsar.apache.org/api/client/org/apache/pulsar/client/api/ClientConfiguration.html#setAuthentication-org.apache.pulsar.client.api.Authentication-"><code>pulsar.authentication.class</code></a></td><td style="text-align:left"></td><td style="text-align:left">Configure to auth provider. Eg. <code>org.apache.pulsar.client.impl.auth.AuthenticationTls</code></td></tr>
+<tr><td style="text-align:left"><a href="http://pulsar.apache.org/api/client/org/apache/pulsar/client/api/ClientConfiguration.html#setAuthentication-org.apache.pulsar.client.api.Authentication-"><code>pulsar.authentication.class</code></a></td><td style="text-align:left"></td><td style="text-align:left">配置验证的类.例如. <code>org.apache.pulsar.client.impl.auth.AuthenticationTls</code></td></tr>
 <tr><td style="text-align:left"><a href="http://pulsar.apache.org/api/client/org/apache/pulsar/client/api/ClientConfiguration.html#setUseTls-boolean-"><code>pulsar.use.tls</code></a></td><td style="text-align:left"><code>false</code></td><td style="text-align:left">Enable TLS transport encryption</td></tr>
 <tr><td style="text-align:left"><a href="http://pulsar.apache.org/api/client/org/apache/pulsar/client/api/ClientConfiguration.html#setTlsTrustCertsFilePath-java.lang.String-"><code>pulsar.tls.trust.certs.file.path</code></a></td><td style="text-align:left"></td><td style="text-align:left">Path for the TLS trust certificate store</td></tr>
 <tr><td style="text-align:left"><a href="http://pulsar.apache.org/api/client/org/apache/pulsar/client/api/ClientConfiguration.html#setTlsAllowInsecureConnection-boolean-"><code>pulsar.tls.allow.insecure.connection</code></a></td><td style="text-align:left"><code>false</code></td><td style="text-align:left">Accept self-signed certificates from brokers</td></tr>
@@ -259,10 +259,10 @@ consumer.subscribe(Arrays.asList(topic));
 <h3><a class="anchor" aria-hidden="true" id="pulsar-producer-properties"></a><a href="#pulsar-producer-properties" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H [...]
 <table>
 <thead>
-<tr><th style="text-align:left">Config property</th><th style="text-align:left">默认值</th><th style="text-align:left">Notes</th></tr>
+<tr><th style="text-align:left">配置属性</th><th style="text-align:left">默认值</th><th style="text-align:left">备注</th></tr>
 </thead>
 <tbody>
-<tr><td style="text-align:left"><a href="http://pulsar.apache.org/api/client/org/apache/pulsar/client/api/ProducerConfiguration.html#setProducerName-java.lang.String-"><code>pulsar.producer.name</code></a></td><td style="text-align:left"></td><td style="text-align:left">Specify producer name</td></tr>
+<tr><td style="text-align:left"><a href="http://pulsar.apache.org/api/client/org/apache/pulsar/client/api/ProducerConfiguration.html#setProducerName-java.lang.String-"><code>pulsar.producer.name</code></a></td><td style="text-align:left"></td><td style="text-align:left">指定 producer 名称</td></tr>
 <tr><td style="text-align:left"><a href="http://pulsar.apache.org/api/client/org/apache/pulsar/client/api/ProducerConfiguration.html#setInitialSequenceId-long-"><code>pulsar.producer.initial.sequence.id</code></a></td><td style="text-align:left"></td><td style="text-align:left">Specify baseline for sequence id for this producer</td></tr>
 <tr><td style="text-align:left"><a href="http://pulsar.apache.org/api/client/org/apache/pulsar/client/api/ProducerConfiguration.html#setMaxPendingMessages-int-"><code>pulsar.producer.max.pending.messages</code></a></td><td style="text-align:left"><code>1000</code></td><td style="text-align:left">Set the max size of the queue holding the messages pending to receive an acknowledgment from the broker.</td></tr>
 <tr><td style="text-align:left"><a href="http://pulsar.apache.org/api/client/org/apache/pulsar/client/api/ProducerConfiguration.html#setMaxPendingMessagesAcrossPartitions-int-"><code>pulsar.producer.max.pending.messages.across.partitions</code></a></td><td style="text-align:left"><code>50000</code></td><td style="text-align:left">Set the number of max pending messages across all the partitions</td></tr>
@@ -273,7 +273,7 @@ consumer.subscribe(Arrays.asList(topic));
 <h3><a class="anchor" aria-hidden="true" id="pulsar-consumer-properties"></a><a href="#pulsar-consumer-properties" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H [...]
 <table>
 <thead>
-<tr><th style="text-align:left">Config property</th><th style="text-align:left">默认值</th><th style="text-align:left">Notes</th></tr>
+<tr><th style="text-align:left">配置属性</th><th style="text-align:left">默认值</th><th style="text-align:left">备注</th></tr>
 </thead>
 <tbody>
 <tr><td style="text-align:left"><a href="http://pulsar.apache.org/api/client/org/apache/pulsar/client/api/ConsumerConfiguration.html#setConsumerName-java.lang.String-"><code>pulsar.consumer.name</code></a></td><td style="text-align:left"></td><td style="text-align:left">Set the consumer name</td></tr>
@@ -281,7 +281,7 @@ consumer.subscribe(Arrays.asList(topic));
 <tr><td style="text-align:left"><a href="http://pulsar.apache.org/api/client/org/apache/pulsar/client/api/ConsumerConfiguration.html#setMaxTotalReceiverQueueSizeAcrossPartitions-int-"><code>pulsar.consumer.total.receiver.queue.size.across.partitions</code></a></td><td style="text-align:left">50000</td><td style="text-align:left">Set the max total receiver queue size across partitons</td></tr>
 </tbody>
 </table>
-</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/zh-CN/2.1.1-incubating/admin-api-schemas"><span class="arrow-prev">← </span><span>管理Schema</span></a><a class="docs-next button" href="/docs/zh-CN/2.1.1-incubating/adaptors-spark"><span>Plusar 对 Apache Spark 的适配</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#使用pulsar-kafka兼容包装器">使用Pulsar Kafka兼容包装器</a></li><li><a href [...]
+</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/zh-CN/2.1.1-incubating/admin-api-schemas"><span class="arrow-prev">← </span><span>管理Schema</span></a><a class="docs-next button" href="/docs/zh-CN/2.1.1-incubating/adaptors-spark"><span>Plusar 对 Apache Spark 的适配</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#使用pulsar-kafka兼容包装器">使用Pulsar Kafka兼容包装器</a></li><li><a href [...]
       const community = document.querySelector("a[href='#community']").parentNode;
       const communityMenu =
         '<li>' +
diff --git a/content/docs/zh-CN/2.1.1-incubating/adaptors-kafka/index.html b/content/docs/zh-CN/2.1.1-incubating/adaptors-kafka/index.html
index fab83c2..e411cac 100644
--- a/content/docs/zh-CN/2.1.1-incubating/adaptors-kafka/index.html
+++ b/content/docs/zh-CN/2.1.1-incubating/adaptors-kafka/index.html
@@ -1,5 +1,5 @@
-<!DOCTYPE html><html lang="zh-CN"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>适用于 Apache Kafka 的 Pulsar 适配器 · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;p&gt;Pulsar为当前使用&lt;a href=&quot;http://kafka.apache.org&quot;&gt;Apache Kafka&lt;/a&gt;Java客户端API编写的应用程序提供了一个简单的选项。&lt;/p&gt;
-"/><meta name="docsearch:version" content="2.1.1-incubating"/><meta name="docsearch:language" content="zh-CN"/><meta property="og:title" content="适用于 Apache Kafka 的 Pulsar 适配器 · Apache Pulsar"/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/index.html"/><meta property="og:description" content="&lt;p&gt;Pulsar为当前使用&lt;a href=&quot;http://kafka.apache.org&quot;&gt;Apache Kafka&lt;/a&gt;Java客户端API编写的应用程序提供了一个简单的选项。&lt;/p&gt;
+<!DOCTYPE html><html lang="zh-CN"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>适用于 Apache Kafka 的 Pulsar 适配器 · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;p&gt;Pulsar为当前使用&lt;a href=&quot;http://kafka.apache.org&quot;&gt;Apache Kafka&lt;/a&gt;的Java客户端API的应用程序提供了一个简单的选项。&lt;/p&gt;
+"/><meta name="docsearch:version" content="2.1.1-incubating"/><meta name="docsearch:language" content="zh-CN"/><meta property="og:title" content="适用于 Apache Kafka 的 Pulsar 适配器 · Apache Pulsar"/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/index.html"/><meta property="og:description" content="&lt;p&gt;Pulsar为当前使用&lt;a href=&quot;http://kafka.apache.org&quot;&gt;Apache Kafka&lt;/a&gt;的Java客户端API的应用程序提供了一个简单的选项。&lt;/p&gt;
 "/><meta name="twitter:card" content="summary"/><meta name="twitter:image" content="https://pulsar.incubator.apache.org/img/pulsar.svg"/><link rel="shortcut icon" href="/img/pulsar.ico"/><link rel="stylesheet" href="https://cdn.jsdelivr.net/docsearch.js/1/docsearch.min.css"/><link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/highlight.js/9.12.0/styles/atom-one-dark.min.css"/><link rel="alternate" type="application/atom+xml" href="https://pulsar.incubator.apache.org/blog/atom.x [...]
               (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
               (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
@@ -47,7 +47,7 @@
                 };
               }
             });
-        </script></nav></div><div class="container mainContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://crowdin.com/project/apache-pulsar/zh-CN" target="_blank" rel="noreferrer noopener">Translate</a><h1 class="postHeaderTitle">适用于 Apache Kafka 的 Pulsar 适配器</h1></header><article><div><span><p>Pulsar为当前使用<a href="http://kafka.apache.org">Apache Kafka</a>Java客户端API编写的应用程序提供了一个简单的选项。</p>
+        </script></nav></div><div class="container mainContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://crowdin.com/project/apache-pulsar/zh-CN" target="_blank" rel="noreferrer noopener">Translate</a><h1 class="postHeaderTitle">适用于 Apache Kafka 的 Pulsar 适配器</h1></header><article><div><span><p>Pulsar为当前使用<a href="http://kafka.apache.org">Apache Kafka</a>的Java客户端API的应用程序提供了一个简单的选项。</p>
 <h2><a class="anchor" aria-hidden="true" id="使用pulsar-kafka兼容包装器"></a><a href="#使用pulsar-kafka兼容包装器" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.2 [...]
 <p>在现有应用程序中,更改常规Kafka客户端依赖并将其替换为Pulsar Kafka包装器。需移除</p>
 <pre><code class="hljs css language-xml"><span class="hljs-tag">&lt;<span class="hljs-name">dependency</span>&gt;</span>
@@ -97,7 +97,7 @@ producer.close();
 <pre><code class="hljs css language-java">String topic = <span class="hljs-string">"persistent://public/default/my-topic"</span>;
 
 Properties props = <span class="hljs-keyword">new</span> Properties();
-<span class="hljs-comment">// Point to a Pulsar service</span>
+<span class="hljs-comment">// 指向一个Pulsar服务</span>
 props.put(<span class="hljs-string">"bootstrap.servers"</span>, <span class="hljs-string">"pulsar://localhost:6650"</span>);
 props.put(<span class="hljs-string">"group.id"</span>, <span class="hljs-string">"my-subscription-name"</span>);
 props.put(<span class="hljs-string">"enable.auto.commit"</span>, <span class="hljs-string">"false"</span>);
@@ -113,7 +113,7 @@ consumer.subscribe(Arrays.asList(topic));
         log.info(<span class="hljs-string">"Received record: {}"</span>, record);
     });
 
-    <span class="hljs-comment">// Commit last offset</span>
+    <span class="hljs-comment">// 提交最近的 offset</span>
     consumer.commitSync();
 }
 </code></pre>
@@ -125,7 +125,7 @@ consumer.subscribe(Arrays.asList(topic));
 <p>APIs:</p>
 <table>
 <thead>
-<tr><th style="text-align:left">Producer Method</th><th style="text-align:left">Supported</th><th style="text-align:left">Notes</th></tr>
+<tr><th style="text-align:left">Producer 方法</th><th style="text-align:left">支持</th><th style="text-align:left">备注</th></tr>
 </thead>
 <tbody>
 <tr><td style="text-align:left"><code>Future&lt;RecordMetadata&gt; send(ProducerRecord&lt;K, V&gt; record)</code></td><td style="text-align:left">Yes</td><td style="text-align:left">目前不支持在发布时显式设置分区ID</td></tr>
@@ -137,10 +137,10 @@ consumer.subscribe(Arrays.asList(topic));
 <tr><td style="text-align:left"><code>void close(long timeout, TimeUnit unit)</code></td><td style="text-align:left">Yes</td><td style="text-align:left"></td></tr>
 </tbody>
 </table>
-<p>Properties:</p>
+<p>属性:</p>
 <table>
 <thead>
-<tr><th style="text-align:left">Config property</th><th style="text-align:left">Supported</th><th style="text-align:left">Notes</th></tr>
+<tr><th style="text-align:left">配置属性</th><th style="text-align:left">支持</th><th style="text-align:left">备注</th></tr>
 </thead>
 <tbody>
 <tr><td style="text-align:left"><code>acks</code></td><td style="text-align:left">Ignored</td><td style="text-align:left">Durability and quorum writes are configured at the namespace level</td></tr>
@@ -174,7 +174,7 @@ consumer.subscribe(Arrays.asList(topic));
 <p>APIs:</p>
 <table>
 <thead>
-<tr><th style="text-align:left">Consumer Method</th><th style="text-align:left">Supported</th><th style="text-align:left">Notes</th></tr>
+<tr><th style="text-align:left">Consumer Method</th><th style="text-align:left">支持</th><th style="text-align:left">备注</th></tr>
 </thead>
 <tbody>
 <tr><td style="text-align:left"><code>Set&lt;TopicPartition&gt; assignment()</code></td><td style="text-align:left">No</td><td style="text-align:left"></td></tr>
@@ -209,10 +209,10 @@ consumer.subscribe(Arrays.asList(topic));
 <tr><td style="text-align:left"><code>void wakeup()</code></td><td style="text-align:left">No</td><td style="text-align:left"></td></tr>
 </tbody>
 </table>
-<p>Properties:</p>
+<p>属性:</p>
 <table>
 <thead>
-<tr><th style="text-align:left">Config property</th><th style="text-align:left">Supported</th><th style="text-align:left">Notes</th></tr>
+<tr><th style="text-align:left">配置属性</th><th style="text-align:left">支持</th><th style="text-align:left">备注</th></tr>
 </thead>
 <tbody>
 <tr><td style="text-align:left"><code>group.id</code></td><td style="text-align:left">Yes</td><td style="text-align:left">Maps to a Pulsar subscription name</td></tr>
@@ -222,7 +222,7 @@ consumer.subscribe(Arrays.asList(topic));
 <tr><td style="text-align:left"><code>heartbeat.interval.ms</code></td><td style="text-align:left">Ignored</td><td style="text-align:left"></td></tr>
 <tr><td style="text-align:left"><code>bootstrap.servers</code></td><td style="text-align:left">Yes</td><td style="text-align:left">指定一个pulsar服务地址</td></tr>
 <tr><td style="text-align:left"><code>enable.auto.commit</code></td><td style="text-align:left">Yes</td><td style="text-align:left"></td></tr>
-<tr><td style="text-align:left"><code>auto.commit.interval.ms</code></td><td style="text-align:left">Ignored</td><td style="text-align:left">With auto-commit, acks are sent immediately to broker</td></tr>
+<tr><td style="text-align:left"><code>auto.commit.interval.ms</code></td><td style="text-align:left">Ignored</td><td style="text-align:left">自动提交后, acks 立即发送给 broker.</td></tr>
 <tr><td style="text-align:left"><code>partition.assignment.strategy</code></td><td style="text-align:left">Ignored</td><td style="text-align:left"></td></tr>
 <tr><td style="text-align:left"><code>auto.offset.reset</code></td><td style="text-align:left">Ignored</td><td style="text-align:left"></td></tr>
 <tr><td style="text-align:left"><code>fetch.min.bytes</code></td><td style="text-align:left">Ignored</td><td style="text-align:left"></td></tr>
@@ -235,15 +235,15 @@ consumer.subscribe(Arrays.asList(topic));
 <tr><td style="text-align:left"><code>client.id</code></td><td style="text-align:left">Ignored</td><td style="text-align:left"></td></tr>
 </tbody>
 </table>
-<h2><a class="anchor" aria-hidden="true" id="custom-pulsar-configurations"></a><a href="#custom-pulsar-configurations" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 [...]
-<p>You can configure Pulsar authentication provider directly from the Kafka properties.</p>
+<h2><a class="anchor" aria-hidden="true" id="自定义-pulsar-配置"></a><a href="#自定义-pulsar-配置" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.8 [...]
+<p>你可以直接通过Kafka的属性去配置Pulsar的身份认证.</p>
 <h3><a class="anchor" aria-hidden="true" id="pulsar-client-properties"></a><a href="#pulsar-client-properties" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-. [...]
 <table>
 <thead>
-<tr><th style="text-align:left">Config property</th><th style="text-align:left">默认值</th><th style="text-align:left">Notes</th></tr>
+<tr><th style="text-align:left">配置属性</th><th style="text-align:left">默认值</th><th style="text-align:left">备注</th></tr>
 </thead>
 <tbody>
-<tr><td style="text-align:left"><a href="http://pulsar.apache.org/api/client/org/apache/pulsar/client/api/ClientConfiguration.html#setAuthentication-org.apache.pulsar.client.api.Authentication-"><code>pulsar.authentication.class</code></a></td><td style="text-align:left"></td><td style="text-align:left">Configure to auth provider. Eg. <code>org.apache.pulsar.client.impl.auth.AuthenticationTls</code></td></tr>
+<tr><td style="text-align:left"><a href="http://pulsar.apache.org/api/client/org/apache/pulsar/client/api/ClientConfiguration.html#setAuthentication-org.apache.pulsar.client.api.Authentication-"><code>pulsar.authentication.class</code></a></td><td style="text-align:left"></td><td style="text-align:left">配置验证的类.例如. <code>org.apache.pulsar.client.impl.auth.AuthenticationTls</code></td></tr>
 <tr><td style="text-align:left"><a href="http://pulsar.apache.org/api/client/org/apache/pulsar/client/api/ClientConfiguration.html#setUseTls-boolean-"><code>pulsar.use.tls</code></a></td><td style="text-align:left"><code>false</code></td><td style="text-align:left">Enable TLS transport encryption</td></tr>
 <tr><td style="text-align:left"><a href="http://pulsar.apache.org/api/client/org/apache/pulsar/client/api/ClientConfiguration.html#setTlsTrustCertsFilePath-java.lang.String-"><code>pulsar.tls.trust.certs.file.path</code></a></td><td style="text-align:left"></td><td style="text-align:left">Path for the TLS trust certificate store</td></tr>
 <tr><td style="text-align:left"><a href="http://pulsar.apache.org/api/client/org/apache/pulsar/client/api/ClientConfiguration.html#setTlsAllowInsecureConnection-boolean-"><code>pulsar.tls.allow.insecure.connection</code></a></td><td style="text-align:left"><code>false</code></td><td style="text-align:left">Accept self-signed certificates from brokers</td></tr>
@@ -259,10 +259,10 @@ consumer.subscribe(Arrays.asList(topic));
 <h3><a class="anchor" aria-hidden="true" id="pulsar-producer-properties"></a><a href="#pulsar-producer-properties" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H [...]
 <table>
 <thead>
-<tr><th style="text-align:left">Config property</th><th style="text-align:left">默认值</th><th style="text-align:left">Notes</th></tr>
+<tr><th style="text-align:left">配置属性</th><th style="text-align:left">默认值</th><th style="text-align:left">备注</th></tr>
 </thead>
 <tbody>
-<tr><td style="text-align:left"><a href="http://pulsar.apache.org/api/client/org/apache/pulsar/client/api/ProducerConfiguration.html#setProducerName-java.lang.String-"><code>pulsar.producer.name</code></a></td><td style="text-align:left"></td><td style="text-align:left">Specify producer name</td></tr>
+<tr><td style="text-align:left"><a href="http://pulsar.apache.org/api/client/org/apache/pulsar/client/api/ProducerConfiguration.html#setProducerName-java.lang.String-"><code>pulsar.producer.name</code></a></td><td style="text-align:left"></td><td style="text-align:left">指定 producer 名称</td></tr>
 <tr><td style="text-align:left"><a href="http://pulsar.apache.org/api/client/org/apache/pulsar/client/api/ProducerConfiguration.html#setInitialSequenceId-long-"><code>pulsar.producer.initial.sequence.id</code></a></td><td style="text-align:left"></td><td style="text-align:left">Specify baseline for sequence id for this producer</td></tr>
 <tr><td style="text-align:left"><a href="http://pulsar.apache.org/api/client/org/apache/pulsar/client/api/ProducerConfiguration.html#setMaxPendingMessages-int-"><code>pulsar.producer.max.pending.messages</code></a></td><td style="text-align:left"><code>1000</code></td><td style="text-align:left">Set the max size of the queue holding the messages pending to receive an acknowledgment from the broker.</td></tr>
 <tr><td style="text-align:left"><a href="http://pulsar.apache.org/api/client/org/apache/pulsar/client/api/ProducerConfiguration.html#setMaxPendingMessagesAcrossPartitions-int-"><code>pulsar.producer.max.pending.messages.across.partitions</code></a></td><td style="text-align:left"><code>50000</code></td><td style="text-align:left">Set the number of max pending messages across all the partitions</td></tr>
@@ -273,7 +273,7 @@ consumer.subscribe(Arrays.asList(topic));
 <h3><a class="anchor" aria-hidden="true" id="pulsar-consumer-properties"></a><a href="#pulsar-consumer-properties" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H [...]
 <table>
 <thead>
-<tr><th style="text-align:left">Config property</th><th style="text-align:left">默认值</th><th style="text-align:left">Notes</th></tr>
+<tr><th style="text-align:left">配置属性</th><th style="text-align:left">默认值</th><th style="text-align:left">备注</th></tr>
 </thead>
 <tbody>
 <tr><td style="text-align:left"><a href="http://pulsar.apache.org/api/client/org/apache/pulsar/client/api/ConsumerConfiguration.html#setConsumerName-java.lang.String-"><code>pulsar.consumer.name</code></a></td><td style="text-align:left"></td><td style="text-align:left">Set the consumer name</td></tr>
@@ -281,7 +281,7 @@ consumer.subscribe(Arrays.asList(topic));
 <tr><td style="text-align:left"><a href="http://pulsar.apache.org/api/client/org/apache/pulsar/client/api/ConsumerConfiguration.html#setMaxTotalReceiverQueueSizeAcrossPartitions-int-"><code>pulsar.consumer.total.receiver.queue.size.across.partitions</code></a></td><td style="text-align:left">50000</td><td style="text-align:left">Set the max total receiver queue size across partitons</td></tr>
 </tbody>
 </table>
-</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/zh-CN/2.1.1-incubating/admin-api-schemas"><span class="arrow-prev">← </span><span>管理Schema</span></a><a class="docs-next button" href="/docs/zh-CN/2.1.1-incubating/adaptors-spark"><span>Plusar 对 Apache Spark 的适配</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#使用pulsar-kafka兼容包装器">使用Pulsar Kafka兼容包装器</a></li><li><a href [...]
+</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/zh-CN/2.1.1-incubating/admin-api-schemas"><span class="arrow-prev">← </span><span>管理Schema</span></a><a class="docs-next button" href="/docs/zh-CN/2.1.1-incubating/adaptors-spark"><span>Plusar 对 Apache Spark 的适配</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#使用pulsar-kafka兼容包装器">使用Pulsar Kafka兼容包装器</a></li><li><a href [...]
       const community = document.querySelector("a[href='#community']").parentNode;
       const communityMenu =
         '<li>' +
diff --git a/content/docs/zh-CN/adaptors-kafka.html b/content/docs/zh-CN/adaptors-kafka.html
index 1789976..ef33786 100644
--- a/content/docs/zh-CN/adaptors-kafka.html
+++ b/content/docs/zh-CN/adaptors-kafka.html
@@ -1,5 +1,5 @@
-<!DOCTYPE html><html lang="zh-CN"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>适用于 Apache Kafka 的 Pulsar 适配器 · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;p&gt;Pulsar为当前使用&lt;a href=&quot;http://kafka.apache.org&quot;&gt;Apache Kafka&lt;/a&gt;Java客户端API编写的应用程序提供了一个简单的选项。&lt;/p&gt;
-"/><meta name="docsearch:version" content="2.2.0"/><meta name="docsearch:language" content="zh-CN"/><meta property="og:title" content="适用于 Apache Kafka 的 Pulsar 适配器 · Apache Pulsar"/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/index.html"/><meta property="og:description" content="&lt;p&gt;Pulsar为当前使用&lt;a href=&quot;http://kafka.apache.org&quot;&gt;Apache Kafka&lt;/a&gt;Java客户端API编写的应用程序提供了一个简单的选项。&lt;/p&gt;
+<!DOCTYPE html><html lang="zh-CN"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>适用于 Apache Kafka 的 Pulsar 适配器 · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;p&gt;Pulsar为当前使用&lt;a href=&quot;http://kafka.apache.org&quot;&gt;Apache Kafka&lt;/a&gt;的Java客户端API的应用程序提供了一个简单的选项。&lt;/p&gt;
+"/><meta name="docsearch:version" content="2.2.0"/><meta name="docsearch:language" content="zh-CN"/><meta property="og:title" content="适用于 Apache Kafka 的 Pulsar 适配器 · Apache Pulsar"/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/index.html"/><meta property="og:description" content="&lt;p&gt;Pulsar为当前使用&lt;a href=&quot;http://kafka.apache.org&quot;&gt;Apache Kafka&lt;/a&gt;的Java客户端API的应用程序提供了一个简单的选项。&lt;/p&gt;
 "/><meta name="twitter:card" content="summary"/><meta name="twitter:image" content="https://pulsar.incubator.apache.org/img/pulsar.svg"/><link rel="shortcut icon" href="/img/pulsar.ico"/><link rel="stylesheet" href="https://cdn.jsdelivr.net/docsearch.js/1/docsearch.min.css"/><link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/highlight.js/9.12.0/styles/atom-one-dark.min.css"/><link rel="alternate" type="application/atom+xml" href="https://pulsar.incubator.apache.org/blog/atom.x [...]
               (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
               (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
@@ -47,7 +47,7 @@
                 };
               }
             });
-        </script></nav></div><div class="container mainContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://crowdin.com/project/apache-pulsar/zh-CN" target="_blank" rel="noreferrer noopener">Translate</a><h1 class="postHeaderTitle">适用于 Apache Kafka 的 Pulsar 适配器</h1></header><article><div><span><p>Pulsar为当前使用<a href="http://kafka.apache.org">Apache Kafka</a>Java客户端API编写的应用程序提供了一个简单的选项。</p>
+        </script></nav></div><div class="container mainContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://crowdin.com/project/apache-pulsar/zh-CN" target="_blank" rel="noreferrer noopener">Translate</a><h1 class="postHeaderTitle">适用于 Apache Kafka 的 Pulsar 适配器</h1></header><article><div><span><p>Pulsar为当前使用<a href="http://kafka.apache.org">Apache Kafka</a>的Java客户端API的应用程序提供了一个简单的选项。</p>
 <h2><a class="anchor" aria-hidden="true" id="使用pulsar-kafka兼容包装器"></a><a href="#使用pulsar-kafka兼容包装器" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.2 [...]
 <p>在现有应用程序中,更改常规Kafka客户端依赖并将其替换为Pulsar Kafka包装器。需移除</p>
 <pre><code class="hljs css language-xml"><span class="hljs-tag">&lt;<span class="hljs-name">dependency</span>&gt;</span>
@@ -97,7 +97,7 @@ producer.close();
 <pre><code class="hljs css language-java">String topic = <span class="hljs-string">"persistent://public/default/my-topic"</span>;
 
 Properties props = <span class="hljs-keyword">new</span> Properties();
-<span class="hljs-comment">// Point to a Pulsar service</span>
+<span class="hljs-comment">// 指向一个Pulsar服务</span>
 props.put(<span class="hljs-string">"bootstrap.servers"</span>, <span class="hljs-string">"pulsar://localhost:6650"</span>);
 props.put(<span class="hljs-string">"group.id"</span>, <span class="hljs-string">"my-subscription-name"</span>);
 props.put(<span class="hljs-string">"enable.auto.commit"</span>, <span class="hljs-string">"false"</span>);
@@ -113,7 +113,7 @@ consumer.subscribe(Arrays.asList(topic));
         log.info(<span class="hljs-string">"Received record: {}"</span>, record);
     });
 
-    <span class="hljs-comment">// Commit last offset</span>
+    <span class="hljs-comment">// 提交最近的 offset</span>
     consumer.commitSync();
 }
 </code></pre>
@@ -125,7 +125,7 @@ consumer.subscribe(Arrays.asList(topic));
 <p>APIs:</p>
 <table>
 <thead>
-<tr><th style="text-align:left">Producer Method</th><th style="text-align:left">Supported</th><th style="text-align:left">Notes</th></tr>
+<tr><th style="text-align:left">Producer 方法</th><th style="text-align:left">支持</th><th style="text-align:left">备注</th></tr>
 </thead>
 <tbody>
 <tr><td style="text-align:left"><code>Future&lt;RecordMetadata&gt; send(ProducerRecord&lt;K, V&gt; record)</code></td><td style="text-align:left">Yes</td><td style="text-align:left">目前不支持在发布时显式设置分区ID</td></tr>
@@ -137,10 +137,10 @@ consumer.subscribe(Arrays.asList(topic));
 <tr><td style="text-align:left"><code>void close(long timeout, TimeUnit unit)</code></td><td style="text-align:left">Yes</td><td style="text-align:left"></td></tr>
 </tbody>
 </table>
-<p>Properties:</p>
+<p>属性:</p>
 <table>
 <thead>
-<tr><th style="text-align:left">Config property</th><th style="text-align:left">Supported</th><th style="text-align:left">Notes</th></tr>
+<tr><th style="text-align:left">配置属性</th><th style="text-align:left">支持</th><th style="text-align:left">备注</th></tr>
 </thead>
 <tbody>
 <tr><td style="text-align:left"><code>acks</code></td><td style="text-align:left">Ignored</td><td style="text-align:left">Durability and quorum writes are configured at the namespace level</td></tr>
@@ -174,7 +174,7 @@ consumer.subscribe(Arrays.asList(topic));
 <p>APIs:</p>
 <table>
 <thead>
-<tr><th style="text-align:left">Consumer Method</th><th style="text-align:left">Supported</th><th style="text-align:left">Notes</th></tr>
+<tr><th style="text-align:left">Consumer Method</th><th style="text-align:left">支持</th><th style="text-align:left">备注</th></tr>
 </thead>
 <tbody>
 <tr><td style="text-align:left"><code>Set&lt;TopicPartition&gt; assignment()</code></td><td style="text-align:left">No</td><td style="text-align:left"></td></tr>
@@ -209,10 +209,10 @@ consumer.subscribe(Arrays.asList(topic));
 <tr><td style="text-align:left"><code>void wakeup()</code></td><td style="text-align:left">No</td><td style="text-align:left"></td></tr>
 </tbody>
 </table>
-<p>Properties:</p>
+<p>属性:</p>
 <table>
 <thead>
-<tr><th style="text-align:left">Config property</th><th style="text-align:left">Supported</th><th style="text-align:left">Notes</th></tr>
+<tr><th style="text-align:left">配置属性</th><th style="text-align:left">支持</th><th style="text-align:left">备注</th></tr>
 </thead>
 <tbody>
 <tr><td style="text-align:left"><code>group.id</code></td><td style="text-align:left">Yes</td><td style="text-align:left">Maps to a Pulsar subscription name</td></tr>
@@ -222,7 +222,7 @@ consumer.subscribe(Arrays.asList(topic));
 <tr><td style="text-align:left"><code>heartbeat.interval.ms</code></td><td style="text-align:left">Ignored</td><td style="text-align:left"></td></tr>
 <tr><td style="text-align:left"><code>bootstrap.servers</code></td><td style="text-align:left">Yes</td><td style="text-align:left">指定一个pulsar服务地址</td></tr>
 <tr><td style="text-align:left"><code>enable.auto.commit</code></td><td style="text-align:left">Yes</td><td style="text-align:left"></td></tr>
-<tr><td style="text-align:left"><code>auto.commit.interval.ms</code></td><td style="text-align:left">Ignored</td><td style="text-align:left">With auto-commit, acks are sent immediately to broker</td></tr>
+<tr><td style="text-align:left"><code>auto.commit.interval.ms</code></td><td style="text-align:left">Ignored</td><td style="text-align:left">自动提交后, acks 立即发送给 broker.</td></tr>
 <tr><td style="text-align:left"><code>partition.assignment.strategy</code></td><td style="text-align:left">Ignored</td><td style="text-align:left"></td></tr>
 <tr><td style="text-align:left"><code>auto.offset.reset</code></td><td style="text-align:left">Ignored</td><td style="text-align:left"></td></tr>
 <tr><td style="text-align:left"><code>fetch.min.bytes</code></td><td style="text-align:left">Ignored</td><td style="text-align:left"></td></tr>
@@ -235,17 +235,17 @@ consumer.subscribe(Arrays.asList(topic));
 <tr><td style="text-align:left"><code>client.id</code></td><td style="text-align:left">Ignored</td><td style="text-align:left"></td></tr>
 </tbody>
 </table>
-<h2><a class="anchor" aria-hidden="true" id="custom-pulsar-configurations"></a><a href="#custom-pulsar-configurations" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 [...]
-<p>You can configure Pulsar authentication provider directly from the Kafka properties.</p>
+<h2><a class="anchor" aria-hidden="true" id="自定义-pulsar-配置"></a><a href="#自定义-pulsar-配置" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.8 [...]
+<p>你可以直接通过Kafka的属性去配置Pulsar的身份认证.</p>
 <h3><a class="anchor" aria-hidden="true" id="pulsar-client-properties"></a><a href="#pulsar-client-properties" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-. [...]
 <table>
 <thead>
-<tr><th style="text-align:left">Config property</th><th style="text-align:left">默认值</th><th style="text-align:left">Notes</th></tr>
+<tr><th style="text-align:left">配置属性</th><th style="text-align:left">默认值</th><th style="text-align:left">备注</th></tr>
 </thead>
 <tbody>
-<tr><td style="text-align:left"><a href="http://pulsar.apache.org/api/client/org/apache/pulsar/client/api/ClientConfiguration.html#setAuthentication-org.apache.pulsar.client.api.Authentication-"><code>pulsar.authentication.class</code></a></td><td style="text-align:left"></td><td style="text-align:left">Configure to auth provider. Eg. <code>org.apache.pulsar.client.impl.auth.AuthenticationTls</code></td></tr>
-<tr><td style="text-align:left"><a href="http://pulsar.apache.org/api/client/org/apache/pulsar/client/api/ClientConfiguration.html#setAuthentication-java.lang.String-java.util.Map-"><code>pulsar.authentication.params.map</code></a></td><td style="text-align:left"></td><td style="text-align:left">Map which represents parameters for the Authentication-Plugin</td></tr>
-<tr><td style="text-align:left"><a href="http://pulsar.apache.org/api/client/org/apache/pulsar/client/api/ClientConfiguration.html#setAuthentication-java.lang.String-java.lang.String-"><code>pulsar.authentication.params.string</code></a></td><td style="text-align:left"></td><td style="text-align:left">String which represents parameters for the Authentication-Plugin, Eg. <code>key1:val1,key2:val2</code></td></tr>
+<tr><td style="text-align:left"><a href="http://pulsar.apache.org/api/client/org/apache/pulsar/client/api/ClientConfiguration.html#setAuthentication-org.apache.pulsar.client.api.Authentication-"><code>pulsar.authentication.class</code></a></td><td style="text-align:left"></td><td style="text-align:left">配置验证的类.例如. <code>org.apache.pulsar.client.impl.auth.AuthenticationTls</code></td></tr>
+<tr><td style="text-align:left"><a href="http://pulsar.apache.org/api/client/org/apache/pulsar/client/api/ClientConfiguration.html#setAuthentication-java.lang.String-java.util.Map-"><code>pulsar.authentication.params.map</code></a></td><td style="text-align:left"></td><td style="text-align:left">表示Authentication-Plugin参数的Map</td></tr>
+<tr><td style="text-align:left"><a href="http://pulsar.apache.org/api/client/org/apache/pulsar/client/api/ClientConfiguration.html#setAuthentication-java.lang.String-java.lang.String-"><code>pulsar.authentication.params.string</code></a></td><td style="text-align:left"></td><td style="text-align:left">表示Authentication-Plugin参数的字符串, 例如. <code>key1:val1,key2:val2</code></td></tr>
 <tr><td style="text-align:left"><a href="http://pulsar.apache.org/api/client/org/apache/pulsar/client/api/ClientConfiguration.html#setUseTls-boolean-"><code>pulsar.use.tls</code></a></td><td style="text-align:left"><code>false</code></td><td style="text-align:left">Enable TLS transport encryption</td></tr>
 <tr><td style="text-align:left"><a href="http://pulsar.apache.org/api/client/org/apache/pulsar/client/api/ClientConfiguration.html#setTlsTrustCertsFilePath-java.lang.String-"><code>pulsar.tls.trust.certs.file.path</code></a></td><td style="text-align:left"></td><td style="text-align:left">Path for the TLS trust certificate store</td></tr>
 <tr><td style="text-align:left"><a href="http://pulsar.apache.org/api/client/org/apache/pulsar/client/api/ClientConfiguration.html#setTlsAllowInsecureConnection-boolean-"><code>pulsar.tls.allow.insecure.connection</code></a></td><td style="text-align:left"><code>false</code></td><td style="text-align:left">Accept self-signed certificates from brokers</td></tr>
@@ -261,10 +261,10 @@ consumer.subscribe(Arrays.asList(topic));
 <h3><a class="anchor" aria-hidden="true" id="pulsar-producer-properties"></a><a href="#pulsar-producer-properties" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H [...]
 <table>
 <thead>
-<tr><th style="text-align:left">Config property</th><th style="text-align:left">默认值</th><th style="text-align:left">Notes</th></tr>
+<tr><th style="text-align:left">配置属性</th><th style="text-align:left">默认值</th><th style="text-align:left">备注</th></tr>
 </thead>
 <tbody>
-<tr><td style="text-align:left"><a href="http://pulsar.apache.org/api/client/org/apache/pulsar/client/api/ProducerConfiguration.html#setProducerName-java.lang.String-"><code>pulsar.producer.name</code></a></td><td style="text-align:left"></td><td style="text-align:left">Specify producer name</td></tr>
+<tr><td style="text-align:left"><a href="http://pulsar.apache.org/api/client/org/apache/pulsar/client/api/ProducerConfiguration.html#setProducerName-java.lang.String-"><code>pulsar.producer.name</code></a></td><td style="text-align:left"></td><td style="text-align:left">指定 producer 名称</td></tr>
 <tr><td style="text-align:left"><a href="http://pulsar.apache.org/api/client/org/apache/pulsar/client/api/ProducerConfiguration.html#setInitialSequenceId-long-"><code>pulsar.producer.initial.sequence.id</code></a></td><td style="text-align:left"></td><td style="text-align:left">Specify baseline for sequence id for this producer</td></tr>
 <tr><td style="text-align:left"><a href="http://pulsar.apache.org/api/client/org/apache/pulsar/client/api/ProducerConfiguration.html#setMaxPendingMessages-int-"><code>pulsar.producer.max.pending.messages</code></a></td><td style="text-align:left"><code>1000</code></td><td style="text-align:left">Set the max size of the queue holding the messages pending to receive an acknowledgment from the broker.</td></tr>
 <tr><td style="text-align:left"><a href="http://pulsar.apache.org/api/client/org/apache/pulsar/client/api/ProducerConfiguration.html#setMaxPendingMessagesAcrossPartitions-int-"><code>pulsar.producer.max.pending.messages.across.partitions</code></a></td><td style="text-align:left"><code>50000</code></td><td style="text-align:left">Set the number of max pending messages across all the partitions</td></tr>
@@ -275,7 +275,7 @@ consumer.subscribe(Arrays.asList(topic));
 <h3><a class="anchor" aria-hidden="true" id="pulsar-consumer-properties"></a><a href="#pulsar-consumer-properties" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H [...]
 <table>
 <thead>
-<tr><th style="text-align:left">Config property</th><th style="text-align:left">默认值</th><th style="text-align:left">Notes</th></tr>
+<tr><th style="text-align:left">配置属性</th><th style="text-align:left">默认值</th><th style="text-align:left">备注</th></tr>
 </thead>
 <tbody>
 <tr><td style="text-align:left"><a href="http://pulsar.apache.org/api/client/org/apache/pulsar/client/api/ConsumerConfiguration.html#setConsumerName-java.lang.String-"><code>pulsar.consumer.name</code></a></td><td style="text-align:left"></td><td style="text-align:left">Set the consumer name</td></tr>
@@ -283,7 +283,7 @@ consumer.subscribe(Arrays.asList(topic));
 <tr><td style="text-align:left"><a href="http://pulsar.apache.org/api/client/org/apache/pulsar/client/api/ConsumerConfiguration.html#setMaxTotalReceiverQueueSizeAcrossPartitions-int-"><code>pulsar.consumer.total.receiver.queue.size.across.partitions</code></a></td><td style="text-align:left">50000</td><td style="text-align:left">Set the max total receiver queue size across partitons</td></tr>
 </tbody>
 </table>
-</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/zh-CN/admin-api-schemas"><span class="arrow-prev">← </span><span>管理Schema</span></a><a class="docs-next button" href="/docs/zh-CN/adaptors-spark"><span>Plusar 对 Apache Spark 的适配</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#使用pulsar-kafka兼容包装器">使用Pulsar Kafka兼容包装器</a></li><li><a href="#使用pulsar-kafka兼容包装器和现存的kafka客户端 [...]
+</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/zh-CN/admin-api-schemas"><span class="arrow-prev">← </span><span>管理Schema</span></a><a class="docs-next button" href="/docs/zh-CN/adaptors-spark"><span>Plusar 对 Apache Spark 的适配</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#使用pulsar-kafka兼容包装器">使用Pulsar Kafka兼容包装器</a></li><li><a href="#使用pulsar-kafka兼容包装器和现存的kafka客户端 [...]
       const community = document.querySelector("a[href='#community']").parentNode;
       const communityMenu =
         '<li>' +
diff --git a/content/docs/zh-CN/adaptors-kafka/index.html b/content/docs/zh-CN/adaptors-kafka/index.html
index 1789976..ef33786 100644
--- a/content/docs/zh-CN/adaptors-kafka/index.html
+++ b/content/docs/zh-CN/adaptors-kafka/index.html
@@ -1,5 +1,5 @@
-<!DOCTYPE html><html lang="zh-CN"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>适用于 Apache Kafka 的 Pulsar 适配器 · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;p&gt;Pulsar为当前使用&lt;a href=&quot;http://kafka.apache.org&quot;&gt;Apache Kafka&lt;/a&gt;Java客户端API编写的应用程序提供了一个简单的选项。&lt;/p&gt;
-"/><meta name="docsearch:version" content="2.2.0"/><meta name="docsearch:language" content="zh-CN"/><meta property="og:title" content="适用于 Apache Kafka 的 Pulsar 适配器 · Apache Pulsar"/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/index.html"/><meta property="og:description" content="&lt;p&gt;Pulsar为当前使用&lt;a href=&quot;http://kafka.apache.org&quot;&gt;Apache Kafka&lt;/a&gt;Java客户端API编写的应用程序提供了一个简单的选项。&lt;/p&gt;
+<!DOCTYPE html><html lang="zh-CN"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>适用于 Apache Kafka 的 Pulsar 适配器 · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;p&gt;Pulsar为当前使用&lt;a href=&quot;http://kafka.apache.org&quot;&gt;Apache Kafka&lt;/a&gt;的Java客户端API的应用程序提供了一个简单的选项。&lt;/p&gt;
+"/><meta name="docsearch:version" content="2.2.0"/><meta name="docsearch:language" content="zh-CN"/><meta property="og:title" content="适用于 Apache Kafka 的 Pulsar 适配器 · Apache Pulsar"/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/index.html"/><meta property="og:description" content="&lt;p&gt;Pulsar为当前使用&lt;a href=&quot;http://kafka.apache.org&quot;&gt;Apache Kafka&lt;/a&gt;的Java客户端API的应用程序提供了一个简单的选项。&lt;/p&gt;
 "/><meta name="twitter:card" content="summary"/><meta name="twitter:image" content="https://pulsar.incubator.apache.org/img/pulsar.svg"/><link rel="shortcut icon" href="/img/pulsar.ico"/><link rel="stylesheet" href="https://cdn.jsdelivr.net/docsearch.js/1/docsearch.min.css"/><link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/highlight.js/9.12.0/styles/atom-one-dark.min.css"/><link rel="alternate" type="application/atom+xml" href="https://pulsar.incubator.apache.org/blog/atom.x [...]
               (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
               (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
@@ -47,7 +47,7 @@
                 };
               }
             });
-        </script></nav></div><div class="container mainContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://crowdin.com/project/apache-pulsar/zh-CN" target="_blank" rel="noreferrer noopener">Translate</a><h1 class="postHeaderTitle">适用于 Apache Kafka 的 Pulsar 适配器</h1></header><article><div><span><p>Pulsar为当前使用<a href="http://kafka.apache.org">Apache Kafka</a>Java客户端API编写的应用程序提供了一个简单的选项。</p>
+        </script></nav></div><div class="container mainContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://crowdin.com/project/apache-pulsar/zh-CN" target="_blank" rel="noreferrer noopener">Translate</a><h1 class="postHeaderTitle">适用于 Apache Kafka 的 Pulsar 适配器</h1></header><article><div><span><p>Pulsar为当前使用<a href="http://kafka.apache.org">Apache Kafka</a>的Java客户端API的应用程序提供了一个简单的选项。</p>
 <h2><a class="anchor" aria-hidden="true" id="使用pulsar-kafka兼容包装器"></a><a href="#使用pulsar-kafka兼容包装器" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.2 [...]
 <p>在现有应用程序中,更改常规Kafka客户端依赖并将其替换为Pulsar Kafka包装器。需移除</p>
 <pre><code class="hljs css language-xml"><span class="hljs-tag">&lt;<span class="hljs-name">dependency</span>&gt;</span>
@@ -97,7 +97,7 @@ producer.close();
 <pre><code class="hljs css language-java">String topic = <span class="hljs-string">"persistent://public/default/my-topic"</span>;
 
 Properties props = <span class="hljs-keyword">new</span> Properties();
-<span class="hljs-comment">// Point to a Pulsar service</span>
+<span class="hljs-comment">// 指向一个Pulsar服务</span>
 props.put(<span class="hljs-string">"bootstrap.servers"</span>, <span class="hljs-string">"pulsar://localhost:6650"</span>);
 props.put(<span class="hljs-string">"group.id"</span>, <span class="hljs-string">"my-subscription-name"</span>);
 props.put(<span class="hljs-string">"enable.auto.commit"</span>, <span class="hljs-string">"false"</span>);
@@ -113,7 +113,7 @@ consumer.subscribe(Arrays.asList(topic));
         log.info(<span class="hljs-string">"Received record: {}"</span>, record);
     });
 
-    <span class="hljs-comment">// Commit last offset</span>
+    <span class="hljs-comment">// 提交最近的 offset</span>
     consumer.commitSync();
 }
 </code></pre>
@@ -125,7 +125,7 @@ consumer.subscribe(Arrays.asList(topic));
 <p>APIs:</p>
 <table>
 <thead>
-<tr><th style="text-align:left">Producer Method</th><th style="text-align:left">Supported</th><th style="text-align:left">Notes</th></tr>
+<tr><th style="text-align:left">Producer 方法</th><th style="text-align:left">支持</th><th style="text-align:left">备注</th></tr>
 </thead>
 <tbody>
 <tr><td style="text-align:left"><code>Future&lt;RecordMetadata&gt; send(ProducerRecord&lt;K, V&gt; record)</code></td><td style="text-align:left">Yes</td><td style="text-align:left">目前不支持在发布时显式设置分区ID</td></tr>
@@ -137,10 +137,10 @@ consumer.subscribe(Arrays.asList(topic));
 <tr><td style="text-align:left"><code>void close(long timeout, TimeUnit unit)</code></td><td style="text-align:left">Yes</td><td style="text-align:left"></td></tr>
 </tbody>
 </table>
-<p>Properties:</p>
+<p>属性:</p>
 <table>
 <thead>
-<tr><th style="text-align:left">Config property</th><th style="text-align:left">Supported</th><th style="text-align:left">Notes</th></tr>
+<tr><th style="text-align:left">配置属性</th><th style="text-align:left">支持</th><th style="text-align:left">备注</th></tr>
 </thead>
 <tbody>
 <tr><td style="text-align:left"><code>acks</code></td><td style="text-align:left">Ignored</td><td style="text-align:left">Durability and quorum writes are configured at the namespace level</td></tr>
@@ -174,7 +174,7 @@ consumer.subscribe(Arrays.asList(topic));
 <p>APIs:</p>
 <table>
 <thead>
-<tr><th style="text-align:left">Consumer Method</th><th style="text-align:left">Supported</th><th style="text-align:left">Notes</th></tr>
+<tr><th style="text-align:left">Consumer Method</th><th style="text-align:left">支持</th><th style="text-align:left">备注</th></tr>
 </thead>
 <tbody>
 <tr><td style="text-align:left"><code>Set&lt;TopicPartition&gt; assignment()</code></td><td style="text-align:left">No</td><td style="text-align:left"></td></tr>
@@ -209,10 +209,10 @@ consumer.subscribe(Arrays.asList(topic));
 <tr><td style="text-align:left"><code>void wakeup()</code></td><td style="text-align:left">No</td><td style="text-align:left"></td></tr>
 </tbody>
 </table>
-<p>Properties:</p>
+<p>属性:</p>
 <table>
 <thead>
-<tr><th style="text-align:left">Config property</th><th style="text-align:left">Supported</th><th style="text-align:left">Notes</th></tr>
+<tr><th style="text-align:left">配置属性</th><th style="text-align:left">支持</th><th style="text-align:left">备注</th></tr>
 </thead>
 <tbody>
 <tr><td style="text-align:left"><code>group.id</code></td><td style="text-align:left">Yes</td><td style="text-align:left">Maps to a Pulsar subscription name</td></tr>
@@ -222,7 +222,7 @@ consumer.subscribe(Arrays.asList(topic));
 <tr><td style="text-align:left"><code>heartbeat.interval.ms</code></td><td style="text-align:left">Ignored</td><td style="text-align:left"></td></tr>
 <tr><td style="text-align:left"><code>bootstrap.servers</code></td><td style="text-align:left">Yes</td><td style="text-align:left">指定一个pulsar服务地址</td></tr>
 <tr><td style="text-align:left"><code>enable.auto.commit</code></td><td style="text-align:left">Yes</td><td style="text-align:left"></td></tr>
-<tr><td style="text-align:left"><code>auto.commit.interval.ms</code></td><td style="text-align:left">Ignored</td><td style="text-align:left">With auto-commit, acks are sent immediately to broker</td></tr>
+<tr><td style="text-align:left"><code>auto.commit.interval.ms</code></td><td style="text-align:left">Ignored</td><td style="text-align:left">自动提交后, acks 立即发送给 broker.</td></tr>
 <tr><td style="text-align:left"><code>partition.assignment.strategy</code></td><td style="text-align:left">Ignored</td><td style="text-align:left"></td></tr>
 <tr><td style="text-align:left"><code>auto.offset.reset</code></td><td style="text-align:left">Ignored</td><td style="text-align:left"></td></tr>
 <tr><td style="text-align:left"><code>fetch.min.bytes</code></td><td style="text-align:left">Ignored</td><td style="text-align:left"></td></tr>
@@ -235,17 +235,17 @@ consumer.subscribe(Arrays.asList(topic));
 <tr><td style="text-align:left"><code>client.id</code></td><td style="text-align:left">Ignored</td><td style="text-align:left"></td></tr>
 </tbody>
 </table>
-<h2><a class="anchor" aria-hidden="true" id="custom-pulsar-configurations"></a><a href="#custom-pulsar-configurations" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 [...]
-<p>You can configure Pulsar authentication provider directly from the Kafka properties.</p>
+<h2><a class="anchor" aria-hidden="true" id="自定义-pulsar-配置"></a><a href="#自定义-pulsar-配置" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.8 [...]
+<p>你可以直接通过Kafka的属性去配置Pulsar的身份认证.</p>
 <h3><a class="anchor" aria-hidden="true" id="pulsar-client-properties"></a><a href="#pulsar-client-properties" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-. [...]
 <table>
 <thead>
-<tr><th style="text-align:left">Config property</th><th style="text-align:left">默认值</th><th style="text-align:left">Notes</th></tr>
+<tr><th style="text-align:left">配置属性</th><th style="text-align:left">默认值</th><th style="text-align:left">备注</th></tr>
 </thead>
 <tbody>
-<tr><td style="text-align:left"><a href="http://pulsar.apache.org/api/client/org/apache/pulsar/client/api/ClientConfiguration.html#setAuthentication-org.apache.pulsar.client.api.Authentication-"><code>pulsar.authentication.class</code></a></td><td style="text-align:left"></td><td style="text-align:left">Configure to auth provider. Eg. <code>org.apache.pulsar.client.impl.auth.AuthenticationTls</code></td></tr>
-<tr><td style="text-align:left"><a href="http://pulsar.apache.org/api/client/org/apache/pulsar/client/api/ClientConfiguration.html#setAuthentication-java.lang.String-java.util.Map-"><code>pulsar.authentication.params.map</code></a></td><td style="text-align:left"></td><td style="text-align:left">Map which represents parameters for the Authentication-Plugin</td></tr>
-<tr><td style="text-align:left"><a href="http://pulsar.apache.org/api/client/org/apache/pulsar/client/api/ClientConfiguration.html#setAuthentication-java.lang.String-java.lang.String-"><code>pulsar.authentication.params.string</code></a></td><td style="text-align:left"></td><td style="text-align:left">String which represents parameters for the Authentication-Plugin, Eg. <code>key1:val1,key2:val2</code></td></tr>
+<tr><td style="text-align:left"><a href="http://pulsar.apache.org/api/client/org/apache/pulsar/client/api/ClientConfiguration.html#setAuthentication-org.apache.pulsar.client.api.Authentication-"><code>pulsar.authentication.class</code></a></td><td style="text-align:left"></td><td style="text-align:left">配置验证的类.例如. <code>org.apache.pulsar.client.impl.auth.AuthenticationTls</code></td></tr>
+<tr><td style="text-align:left"><a href="http://pulsar.apache.org/api/client/org/apache/pulsar/client/api/ClientConfiguration.html#setAuthentication-java.lang.String-java.util.Map-"><code>pulsar.authentication.params.map</code></a></td><td style="text-align:left"></td><td style="text-align:left">表示Authentication-Plugin参数的Map</td></tr>
+<tr><td style="text-align:left"><a href="http://pulsar.apache.org/api/client/org/apache/pulsar/client/api/ClientConfiguration.html#setAuthentication-java.lang.String-java.lang.String-"><code>pulsar.authentication.params.string</code></a></td><td style="text-align:left"></td><td style="text-align:left">表示Authentication-Plugin参数的字符串, 例如. <code>key1:val1,key2:val2</code></td></tr>
 <tr><td style="text-align:left"><a href="http://pulsar.apache.org/api/client/org/apache/pulsar/client/api/ClientConfiguration.html#setUseTls-boolean-"><code>pulsar.use.tls</code></a></td><td style="text-align:left"><code>false</code></td><td style="text-align:left">Enable TLS transport encryption</td></tr>
 <tr><td style="text-align:left"><a href="http://pulsar.apache.org/api/client/org/apache/pulsar/client/api/ClientConfiguration.html#setTlsTrustCertsFilePath-java.lang.String-"><code>pulsar.tls.trust.certs.file.path</code></a></td><td style="text-align:left"></td><td style="text-align:left">Path for the TLS trust certificate store</td></tr>
 <tr><td style="text-align:left"><a href="http://pulsar.apache.org/api/client/org/apache/pulsar/client/api/ClientConfiguration.html#setTlsAllowInsecureConnection-boolean-"><code>pulsar.tls.allow.insecure.connection</code></a></td><td style="text-align:left"><code>false</code></td><td style="text-align:left">Accept self-signed certificates from brokers</td></tr>
@@ -261,10 +261,10 @@ consumer.subscribe(Arrays.asList(topic));
 <h3><a class="anchor" aria-hidden="true" id="pulsar-producer-properties"></a><a href="#pulsar-producer-properties" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H [...]
 <table>
 <thead>
-<tr><th style="text-align:left">Config property</th><th style="text-align:left">默认值</th><th style="text-align:left">Notes</th></tr>
+<tr><th style="text-align:left">配置属性</th><th style="text-align:left">默认值</th><th style="text-align:left">备注</th></tr>
 </thead>
 <tbody>
-<tr><td style="text-align:left"><a href="http://pulsar.apache.org/api/client/org/apache/pulsar/client/api/ProducerConfiguration.html#setProducerName-java.lang.String-"><code>pulsar.producer.name</code></a></td><td style="text-align:left"></td><td style="text-align:left">Specify producer name</td></tr>
+<tr><td style="text-align:left"><a href="http://pulsar.apache.org/api/client/org/apache/pulsar/client/api/ProducerConfiguration.html#setProducerName-java.lang.String-"><code>pulsar.producer.name</code></a></td><td style="text-align:left"></td><td style="text-align:left">指定 producer 名称</td></tr>
 <tr><td style="text-align:left"><a href="http://pulsar.apache.org/api/client/org/apache/pulsar/client/api/ProducerConfiguration.html#setInitialSequenceId-long-"><code>pulsar.producer.initial.sequence.id</code></a></td><td style="text-align:left"></td><td style="text-align:left">Specify baseline for sequence id for this producer</td></tr>
 <tr><td style="text-align:left"><a href="http://pulsar.apache.org/api/client/org/apache/pulsar/client/api/ProducerConfiguration.html#setMaxPendingMessages-int-"><code>pulsar.producer.max.pending.messages</code></a></td><td style="text-align:left"><code>1000</code></td><td style="text-align:left">Set the max size of the queue holding the messages pending to receive an acknowledgment from the broker.</td></tr>
 <tr><td style="text-align:left"><a href="http://pulsar.apache.org/api/client/org/apache/pulsar/client/api/ProducerConfiguration.html#setMaxPendingMessagesAcrossPartitions-int-"><code>pulsar.producer.max.pending.messages.across.partitions</code></a></td><td style="text-align:left"><code>50000</code></td><td style="text-align:left">Set the number of max pending messages across all the partitions</td></tr>
@@ -275,7 +275,7 @@ consumer.subscribe(Arrays.asList(topic));
 <h3><a class="anchor" aria-hidden="true" id="pulsar-consumer-properties"></a><a href="#pulsar-consumer-properties" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H [...]
 <table>
 <thead>
-<tr><th style="text-align:left">Config property</th><th style="text-align:left">默认值</th><th style="text-align:left">Notes</th></tr>
+<tr><th style="text-align:left">配置属性</th><th style="text-align:left">默认值</th><th style="text-align:left">备注</th></tr>
 </thead>
 <tbody>
 <tr><td style="text-align:left"><a href="http://pulsar.apache.org/api/client/org/apache/pulsar/client/api/ConsumerConfiguration.html#setConsumerName-java.lang.String-"><code>pulsar.consumer.name</code></a></td><td style="text-align:left"></td><td style="text-align:left">Set the consumer name</td></tr>
@@ -283,7 +283,7 @@ consumer.subscribe(Arrays.asList(topic));
 <tr><td style="text-align:left"><a href="http://pulsar.apache.org/api/client/org/apache/pulsar/client/api/ConsumerConfiguration.html#setMaxTotalReceiverQueueSizeAcrossPartitions-int-"><code>pulsar.consumer.total.receiver.queue.size.across.partitions</code></a></td><td style="text-align:left">50000</td><td style="text-align:left">Set the max total receiver queue size across partitons</td></tr>
 </tbody>
 </table>
-</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/zh-CN/admin-api-schemas"><span class="arrow-prev">← </span><span>管理Schema</span></a><a class="docs-next button" href="/docs/zh-CN/adaptors-spark"><span>Plusar 对 Apache Spark 的适配</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#使用pulsar-kafka兼容包装器">使用Pulsar Kafka兼容包装器</a></li><li><a href="#使用pulsar-kafka兼容包装器和现存的kafka客户端 [...]
+</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/zh-CN/admin-api-schemas"><span class="arrow-prev">← </span><span>管理Schema</span></a><a class="docs-next button" href="/docs/zh-CN/adaptors-spark"><span>Plusar 对 Apache Spark 的适配</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#使用pulsar-kafka兼容包装器">使用Pulsar Kafka兼容包装器</a></li><li><a href="#使用pulsar-kafka兼容包装器和现存的kafka客户端 [...]
       const community = document.querySelector("a[href='#community']").parentNode;
       const communityMenu =
         '<li>' +
diff --git a/content/docs/zh-CN/next/adaptors-kafka.html b/content/docs/zh-CN/next/adaptors-kafka.html
index 38c43a0..e6a56c5 100644
--- a/content/docs/zh-CN/next/adaptors-kafka.html
+++ b/content/docs/zh-CN/next/adaptors-kafka.html
@@ -1,5 +1,5 @@
-<!DOCTYPE html><html lang="zh-CN"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>适用于 Apache Kafka 的 Pulsar 适配器 · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;p&gt;Pulsar为当前使用&lt;a href=&quot;http://kafka.apache.org&quot;&gt;Apache Kafka&lt;/a&gt;Java客户端API编写的应用程序提供了一个简单的选项。&lt;/p&gt;
-"/><meta name="docsearch:version" content="next"/><meta name="docsearch:language" content="zh-CN"/><meta property="og:title" content="适用于 Apache Kafka 的 Pulsar 适配器 · Apache Pulsar"/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/index.html"/><meta property="og:description" content="&lt;p&gt;Pulsar为当前使用&lt;a href=&quot;http://kafka.apache.org&quot;&gt;Apache Kafka&lt;/a&gt;Java客户端API编写的应用程序提供了一个简单的选项。&lt;/p&gt;
+<!DOCTYPE html><html lang="zh-CN"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>适用于 Apache Kafka 的 Pulsar 适配器 · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;p&gt;Pulsar为当前使用&lt;a href=&quot;http://kafka.apache.org&quot;&gt;Apache Kafka&lt;/a&gt;的Java客户端API的应用程序提供了一个简单的选项。&lt;/p&gt;
+"/><meta name="docsearch:version" content="next"/><meta name="docsearch:language" content="zh-CN"/><meta property="og:title" content="适用于 Apache Kafka 的 Pulsar 适配器 · Apache Pulsar"/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/index.html"/><meta property="og:description" content="&lt;p&gt;Pulsar为当前使用&lt;a href=&quot;http://kafka.apache.org&quot;&gt;Apache Kafka&lt;/a&gt;的Java客户端API的应用程序提供了一个简单的选项。&lt;/p&gt;
 "/><meta name="twitter:card" content="summary"/><meta name="twitter:image" content="https://pulsar.incubator.apache.org/img/pulsar.svg"/><link rel="shortcut icon" href="/img/pulsar.ico"/><link rel="stylesheet" href="https://cdn.jsdelivr.net/docsearch.js/1/docsearch.min.css"/><link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/highlight.js/9.12.0/styles/atom-one-dark.min.css"/><link rel="alternate" type="application/atom+xml" href="https://pulsar.incubator.apache.org/blog/atom.x [...]
               (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
               (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
@@ -47,7 +47,7 @@
                 };
               }
             });
-        </script></nav></div><div class="container mainContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://crowdin.com/project/apache-pulsar/zh-CN" target="_blank" rel="noreferrer noopener">Translate</a><h1 class="postHeaderTitle">适用于 Apache Kafka 的 Pulsar 适配器</h1></header><article><div><span><p>Pulsar为当前使用<a href="http://kafka.apache.org">Apache Kafka</a>Java客户端API编写的应用程序提供了一个简单的选项。</p>
+        </script></nav></div><div class="container mainContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://crowdin.com/project/apache-pulsar/zh-CN" target="_blank" rel="noreferrer noopener">Translate</a><h1 class="postHeaderTitle">适用于 Apache Kafka 的 Pulsar 适配器</h1></header><article><div><span><p>Pulsar为当前使用<a href="http://kafka.apache.org">Apache Kafka</a>的Java客户端API的应用程序提供了一个简单的选项。</p>
 <h2><a class="anchor" aria-hidden="true" id="使用pulsar-kafka兼容包装器"></a><a href="#使用pulsar-kafka兼容包装器" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.2 [...]
 <p>在现有应用程序中,更改常规Kafka客户端依赖并将其替换为Pulsar Kafka包装器。需移除</p>
 <pre><code class="hljs css language-xml"><span class="hljs-tag">&lt;<span class="hljs-name">dependency</span>&gt;</span>
@@ -97,7 +97,7 @@ producer.close();
 <pre><code class="hljs css language-java">String topic = <span class="hljs-string">"persistent://public/default/my-topic"</span>;
 
 Properties props = <span class="hljs-keyword">new</span> Properties();
-<span class="hljs-comment">// Point to a Pulsar service</span>
+<span class="hljs-comment">// 指向一个Pulsar服务</span>
 props.put(<span class="hljs-string">"bootstrap.servers"</span>, <span class="hljs-string">"pulsar://localhost:6650"</span>);
 props.put(<span class="hljs-string">"group.id"</span>, <span class="hljs-string">"my-subscription-name"</span>);
 props.put(<span class="hljs-string">"enable.auto.commit"</span>, <span class="hljs-string">"false"</span>);
@@ -113,7 +113,7 @@ consumer.subscribe(Arrays.asList(topic));
         log.info(<span class="hljs-string">"Received record: {}"</span>, record);
     });
 
-    <span class="hljs-comment">// Commit last offset</span>
+    <span class="hljs-comment">// 提交最近的 offset</span>
     consumer.commitSync();
 }
 </code></pre>
@@ -125,7 +125,7 @@ consumer.subscribe(Arrays.asList(topic));
 <p>APIs:</p>
 <table>
 <thead>
-<tr><th style="text-align:left">Producer Method</th><th style="text-align:left">Supported</th><th style="text-align:left">Notes</th></tr>
+<tr><th style="text-align:left">Producer 方法</th><th style="text-align:left">支持</th><th style="text-align:left">备注</th></tr>
 </thead>
 <tbody>
 <tr><td style="text-align:left"><code>Future&lt;RecordMetadata&gt; send(ProducerRecord&lt;K, V&gt; record)</code></td><td style="text-align:left">Yes</td><td style="text-align:left">目前不支持在发布时显式设置分区ID</td></tr>
@@ -137,10 +137,10 @@ consumer.subscribe(Arrays.asList(topic));
 <tr><td style="text-align:left"><code>void close(long timeout, TimeUnit unit)</code></td><td style="text-align:left">Yes</td><td style="text-align:left"></td></tr>
 </tbody>
 </table>
-<p>Properties:</p>
+<p>属性:</p>
 <table>
 <thead>
-<tr><th style="text-align:left">Config property</th><th style="text-align:left">Supported</th><th style="text-align:left">Notes</th></tr>
+<tr><th style="text-align:left">配置属性</th><th style="text-align:left">支持</th><th style="text-align:left">备注</th></tr>
 </thead>
 <tbody>
 <tr><td style="text-align:left"><code>acks</code></td><td style="text-align:left">Ignored</td><td style="text-align:left">Durability and quorum writes are configured at the namespace level</td></tr>
@@ -174,7 +174,7 @@ consumer.subscribe(Arrays.asList(topic));
 <p>APIs:</p>
 <table>
 <thead>
-<tr><th style="text-align:left">Consumer Method</th><th style="text-align:left">Supported</th><th style="text-align:left">Notes</th></tr>
+<tr><th style="text-align:left">Consumer Method</th><th style="text-align:left">支持</th><th style="text-align:left">备注</th></tr>
 </thead>
 <tbody>
 <tr><td style="text-align:left"><code>Set&lt;TopicPartition&gt; assignment()</code></td><td style="text-align:left">No</td><td style="text-align:left"></td></tr>
@@ -209,10 +209,10 @@ consumer.subscribe(Arrays.asList(topic));
 <tr><td style="text-align:left"><code>void wakeup()</code></td><td style="text-align:left">No</td><td style="text-align:left"></td></tr>
 </tbody>
 </table>
-<p>Properties:</p>
+<p>属性:</p>
 <table>
 <thead>
-<tr><th style="text-align:left">Config property</th><th style="text-align:left">Supported</th><th style="text-align:left">Notes</th></tr>
+<tr><th style="text-align:left">配置属性</th><th style="text-align:left">支持</th><th style="text-align:left">备注</th></tr>
 </thead>
 <tbody>
 <tr><td style="text-align:left"><code>group.id</code></td><td style="text-align:left">Yes</td><td style="text-align:left">Maps to a Pulsar subscription name</td></tr>
@@ -222,7 +222,7 @@ consumer.subscribe(Arrays.asList(topic));
 <tr><td style="text-align:left"><code>heartbeat.interval.ms</code></td><td style="text-align:left">Ignored</td><td style="text-align:left"></td></tr>
 <tr><td style="text-align:left"><code>bootstrap.servers</code></td><td style="text-align:left">Yes</td><td style="text-align:left">指定一个pulsar服务地址</td></tr>
 <tr><td style="text-align:left"><code>enable.auto.commit</code></td><td style="text-align:left">Yes</td><td style="text-align:left"></td></tr>
-<tr><td style="text-align:left"><code>auto.commit.interval.ms</code></td><td style="text-align:left">Ignored</td><td style="text-align:left">With auto-commit, acks are sent immediately to broker</td></tr>
+<tr><td style="text-align:left"><code>auto.commit.interval.ms</code></td><td style="text-align:left">Ignored</td><td style="text-align:left">自动提交后, acks 立即发送给 broker.</td></tr>
 <tr><td style="text-align:left"><code>partition.assignment.strategy</code></td><td style="text-align:left">Ignored</td><td style="text-align:left"></td></tr>
 <tr><td style="text-align:left"><code>auto.offset.reset</code></td><td style="text-align:left">Ignored</td><td style="text-align:left"></td></tr>
 <tr><td style="text-align:left"><code>fetch.min.bytes</code></td><td style="text-align:left">Ignored</td><td style="text-align:left"></td></tr>
@@ -235,17 +235,17 @@ consumer.subscribe(Arrays.asList(topic));
 <tr><td style="text-align:left"><code>client.id</code></td><td style="text-align:left">Ignored</td><td style="text-align:left"></td></tr>
 </tbody>
 </table>
-<h2><a class="anchor" aria-hidden="true" id="custom-pulsar-configurations"></a><a href="#custom-pulsar-configurations" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 [...]
-<p>You can configure Pulsar authentication provider directly from the Kafka properties.</p>
+<h2><a class="anchor" aria-hidden="true" id="自定义-pulsar-配置"></a><a href="#自定义-pulsar-配置" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.8 [...]
+<p>你可以直接通过Kafka的属性去配置Pulsar的身份认证.</p>
 <h3><a class="anchor" aria-hidden="true" id="pulsar-client-properties"></a><a href="#pulsar-client-properties" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-. [...]
 <table>
 <thead>
-<tr><th style="text-align:left">Config property</th><th style="text-align:left">默认值</th><th style="text-align:left">Notes</th></tr>
+<tr><th style="text-align:left">配置属性</th><th style="text-align:left">默认值</th><th style="text-align:left">备注</th></tr>
 </thead>
 <tbody>
-<tr><td style="text-align:left"><a href="http://pulsar.apache.org/api/client/org/apache/pulsar/client/api/ClientConfiguration.html#setAuthentication-org.apache.pulsar.client.api.Authentication-"><code>pulsar.authentication.class</code></a></td><td style="text-align:left"></td><td style="text-align:left">Configure to auth provider. Eg. <code>org.apache.pulsar.client.impl.auth.AuthenticationTls</code></td></tr>
-<tr><td style="text-align:left"><a href="http://pulsar.apache.org/api/client/org/apache/pulsar/client/api/ClientConfiguration.html#setAuthentication-java.lang.String-java.util.Map-"><code>pulsar.authentication.params.map</code></a></td><td style="text-align:left"></td><td style="text-align:left">Map which represents parameters for the Authentication-Plugin</td></tr>
-<tr><td style="text-align:left"><a href="http://pulsar.apache.org/api/client/org/apache/pulsar/client/api/ClientConfiguration.html#setAuthentication-java.lang.String-java.lang.String-"><code>pulsar.authentication.params.string</code></a></td><td style="text-align:left"></td><td style="text-align:left">String which represents parameters for the Authentication-Plugin, Eg. <code>key1:val1,key2:val2</code></td></tr>
+<tr><td style="text-align:left"><a href="http://pulsar.apache.org/api/client/org/apache/pulsar/client/api/ClientConfiguration.html#setAuthentication-org.apache.pulsar.client.api.Authentication-"><code>pulsar.authentication.class</code></a></td><td style="text-align:left"></td><td style="text-align:left">配置验证的类.例如. <code>org.apache.pulsar.client.impl.auth.AuthenticationTls</code></td></tr>
+<tr><td style="text-align:left"><a href="http://pulsar.apache.org/api/client/org/apache/pulsar/client/api/ClientConfiguration.html#setAuthentication-java.lang.String-java.util.Map-"><code>pulsar.authentication.params.map</code></a></td><td style="text-align:left"></td><td style="text-align:left">表示Authentication-Plugin参数的Map</td></tr>
+<tr><td style="text-align:left"><a href="http://pulsar.apache.org/api/client/org/apache/pulsar/client/api/ClientConfiguration.html#setAuthentication-java.lang.String-java.lang.String-"><code>pulsar.authentication.params.string</code></a></td><td style="text-align:left"></td><td style="text-align:left">表示Authentication-Plugin参数的字符串, 例如. <code>key1:val1,key2:val2</code></td></tr>
 <tr><td style="text-align:left"><a href="http://pulsar.apache.org/api/client/org/apache/pulsar/client/api/ClientConfiguration.html#setUseTls-boolean-"><code>pulsar.use.tls</code></a></td><td style="text-align:left"><code>false</code></td><td style="text-align:left">Enable TLS transport encryption</td></tr>
 <tr><td style="text-align:left"><a href="http://pulsar.apache.org/api/client/org/apache/pulsar/client/api/ClientConfiguration.html#setTlsTrustCertsFilePath-java.lang.String-"><code>pulsar.tls.trust.certs.file.path</code></a></td><td style="text-align:left"></td><td style="text-align:left">Path for the TLS trust certificate store</td></tr>
 <tr><td style="text-align:left"><a href="http://pulsar.apache.org/api/client/org/apache/pulsar/client/api/ClientConfiguration.html#setTlsAllowInsecureConnection-boolean-"><code>pulsar.tls.allow.insecure.connection</code></a></td><td style="text-align:left"><code>false</code></td><td style="text-align:left">Accept self-signed certificates from brokers</td></tr>
@@ -261,10 +261,10 @@ consumer.subscribe(Arrays.asList(topic));
 <h3><a class="anchor" aria-hidden="true" id="pulsar-producer-properties"></a><a href="#pulsar-producer-properties" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H [...]
 <table>
 <thead>
-<tr><th style="text-align:left">Config property</th><th style="text-align:left">默认值</th><th style="text-align:left">Notes</th></tr>
+<tr><th style="text-align:left">配置属性</th><th style="text-align:left">默认值</th><th style="text-align:left">备注</th></tr>
 </thead>
 <tbody>
-<tr><td style="text-align:left"><a href="http://pulsar.apache.org/api/client/org/apache/pulsar/client/api/ProducerConfiguration.html#setProducerName-java.lang.String-"><code>pulsar.producer.name</code></a></td><td style="text-align:left"></td><td style="text-align:left">Specify producer name</td></tr>
+<tr><td style="text-align:left"><a href="http://pulsar.apache.org/api/client/org/apache/pulsar/client/api/ProducerConfiguration.html#setProducerName-java.lang.String-"><code>pulsar.producer.name</code></a></td><td style="text-align:left"></td><td style="text-align:left">指定 producer 名称</td></tr>
 <tr><td style="text-align:left"><a href="http://pulsar.apache.org/api/client/org/apache/pulsar/client/api/ProducerConfiguration.html#setInitialSequenceId-long-"><code>pulsar.producer.initial.sequence.id</code></a></td><td style="text-align:left"></td><td style="text-align:left">Specify baseline for sequence id for this producer</td></tr>
 <tr><td style="text-align:left"><a href="http://pulsar.apache.org/api/client/org/apache/pulsar/client/api/ProducerConfiguration.html#setMaxPendingMessages-int-"><code>pulsar.producer.max.pending.messages</code></a></td><td style="text-align:left"><code>1000</code></td><td style="text-align:left">Set the max size of the queue holding the messages pending to receive an acknowledgment from the broker.</td></tr>
 <tr><td style="text-align:left"><a href="http://pulsar.apache.org/api/client/org/apache/pulsar/client/api/ProducerConfiguration.html#setMaxPendingMessagesAcrossPartitions-int-"><code>pulsar.producer.max.pending.messages.across.partitions</code></a></td><td style="text-align:left"><code>50000</code></td><td style="text-align:left">Set the number of max pending messages across all the partitions</td></tr>
@@ -275,7 +275,7 @@ consumer.subscribe(Arrays.asList(topic));
 <h3><a class="anchor" aria-hidden="true" id="pulsar-consumer-properties"></a><a href="#pulsar-consumer-properties" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H [...]
 <table>
 <thead>
-<tr><th style="text-align:left">Config property</th><th style="text-align:left">默认值</th><th style="text-align:left">Notes</th></tr>
+<tr><th style="text-align:left">配置属性</th><th style="text-align:left">默认值</th><th style="text-align:left">备注</th></tr>
 </thead>
 <tbody>
 <tr><td style="text-align:left"><a href="http://pulsar.apache.org/api/client/org/apache/pulsar/client/api/ConsumerConfiguration.html#setConsumerName-java.lang.String-"><code>pulsar.consumer.name</code></a></td><td style="text-align:left"></td><td style="text-align:left">Set the consumer name</td></tr>
@@ -283,7 +283,7 @@ consumer.subscribe(Arrays.asList(topic));
 <tr><td style="text-align:left"><a href="http://pulsar.apache.org/api/client/org/apache/pulsar/client/api/ConsumerConfiguration.html#setMaxTotalReceiverQueueSizeAcrossPartitions-int-"><code>pulsar.consumer.total.receiver.queue.size.across.partitions</code></a></td><td style="text-align:left">50000</td><td style="text-align:left">Set the max total receiver queue size across partitons</td></tr>
 </tbody>
 </table>
-</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/zh-CN/next/admin-api-schemas"><span class="arrow-prev">← </span><span>管理Schema</span></a><a class="docs-next button" href="/docs/zh-CN/next/adaptors-spark"><span>Plusar 对 Apache Spark 的适配</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#使用pulsar-kafka兼容包装器">使用Pulsar Kafka兼容包装器</a></li><li><a href="#使用pulsar-kafka兼容包装器和现 [...]
+</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/zh-CN/next/admin-api-schemas"><span class="arrow-prev">← </span><span>管理Schema</span></a><a class="docs-next button" href="/docs/zh-CN/next/adaptors-spark"><span>Plusar 对 Apache Spark 的适配</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#使用pulsar-kafka兼容包装器">使用Pulsar Kafka兼容包装器</a></li><li><a href="#使用pulsar-kafka兼容包装器和现 [...]
       const community = document.querySelector("a[href='#community']").parentNode;
       const communityMenu =
         '<li>' +
diff --git a/content/docs/zh-CN/next/adaptors-kafka/index.html b/content/docs/zh-CN/next/adaptors-kafka/index.html
index 38c43a0..e6a56c5 100644
--- a/content/docs/zh-CN/next/adaptors-kafka/index.html
+++ b/content/docs/zh-CN/next/adaptors-kafka/index.html
@@ -1,5 +1,5 @@
-<!DOCTYPE html><html lang="zh-CN"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>适用于 Apache Kafka 的 Pulsar 适配器 · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;p&gt;Pulsar为当前使用&lt;a href=&quot;http://kafka.apache.org&quot;&gt;Apache Kafka&lt;/a&gt;Java客户端API编写的应用程序提供了一个简单的选项。&lt;/p&gt;
-"/><meta name="docsearch:version" content="next"/><meta name="docsearch:language" content="zh-CN"/><meta property="og:title" content="适用于 Apache Kafka 的 Pulsar 适配器 · Apache Pulsar"/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/index.html"/><meta property="og:description" content="&lt;p&gt;Pulsar为当前使用&lt;a href=&quot;http://kafka.apache.org&quot;&gt;Apache Kafka&lt;/a&gt;Java客户端API编写的应用程序提供了一个简单的选项。&lt;/p&gt;
+<!DOCTYPE html><html lang="zh-CN"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>适用于 Apache Kafka 的 Pulsar 适配器 · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;p&gt;Pulsar为当前使用&lt;a href=&quot;http://kafka.apache.org&quot;&gt;Apache Kafka&lt;/a&gt;的Java客户端API的应用程序提供了一个简单的选项。&lt;/p&gt;
+"/><meta name="docsearch:version" content="next"/><meta name="docsearch:language" content="zh-CN"/><meta property="og:title" content="适用于 Apache Kafka 的 Pulsar 适配器 · Apache Pulsar"/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/index.html"/><meta property="og:description" content="&lt;p&gt;Pulsar为当前使用&lt;a href=&quot;http://kafka.apache.org&quot;&gt;Apache Kafka&lt;/a&gt;的Java客户端API的应用程序提供了一个简单的选项。&lt;/p&gt;
 "/><meta name="twitter:card" content="summary"/><meta name="twitter:image" content="https://pulsar.incubator.apache.org/img/pulsar.svg"/><link rel="shortcut icon" href="/img/pulsar.ico"/><link rel="stylesheet" href="https://cdn.jsdelivr.net/docsearch.js/1/docsearch.min.css"/><link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/highlight.js/9.12.0/styles/atom-one-dark.min.css"/><link rel="alternate" type="application/atom+xml" href="https://pulsar.incubator.apache.org/blog/atom.x [...]
               (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
               (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
@@ -47,7 +47,7 @@
                 };
               }
             });
-        </script></nav></div><div class="container mainContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://crowdin.com/project/apache-pulsar/zh-CN" target="_blank" rel="noreferrer noopener">Translate</a><h1 class="postHeaderTitle">适用于 Apache Kafka 的 Pulsar 适配器</h1></header><article><div><span><p>Pulsar为当前使用<a href="http://kafka.apache.org">Apache Kafka</a>Java客户端API编写的应用程序提供了一个简单的选项。</p>
+        </script></nav></div><div class="container mainContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://crowdin.com/project/apache-pulsar/zh-CN" target="_blank" rel="noreferrer noopener">Translate</a><h1 class="postHeaderTitle">适用于 Apache Kafka 的 Pulsar 适配器</h1></header><article><div><span><p>Pulsar为当前使用<a href="http://kafka.apache.org">Apache Kafka</a>的Java客户端API的应用程序提供了一个简单的选项。</p>
 <h2><a class="anchor" aria-hidden="true" id="使用pulsar-kafka兼容包装器"></a><a href="#使用pulsar-kafka兼容包装器" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.2 [...]
 <p>在现有应用程序中,更改常规Kafka客户端依赖并将其替换为Pulsar Kafka包装器。需移除</p>
 <pre><code class="hljs css language-xml"><span class="hljs-tag">&lt;<span class="hljs-name">dependency</span>&gt;</span>
@@ -97,7 +97,7 @@ producer.close();
 <pre><code class="hljs css language-java">String topic = <span class="hljs-string">"persistent://public/default/my-topic"</span>;
 
 Properties props = <span class="hljs-keyword">new</span> Properties();
-<span class="hljs-comment">// Point to a Pulsar service</span>
+<span class="hljs-comment">// 指向一个Pulsar服务</span>
 props.put(<span class="hljs-string">"bootstrap.servers"</span>, <span class="hljs-string">"pulsar://localhost:6650"</span>);
 props.put(<span class="hljs-string">"group.id"</span>, <span class="hljs-string">"my-subscription-name"</span>);
 props.put(<span class="hljs-string">"enable.auto.commit"</span>, <span class="hljs-string">"false"</span>);
@@ -113,7 +113,7 @@ consumer.subscribe(Arrays.asList(topic));
         log.info(<span class="hljs-string">"Received record: {}"</span>, record);
     });
 
-    <span class="hljs-comment">// Commit last offset</span>
+    <span class="hljs-comment">// 提交最近的 offset</span>
     consumer.commitSync();
 }
 </code></pre>
@@ -125,7 +125,7 @@ consumer.subscribe(Arrays.asList(topic));
 <p>APIs:</p>
 <table>
 <thead>
-<tr><th style="text-align:left">Producer Method</th><th style="text-align:left">Supported</th><th style="text-align:left">Notes</th></tr>
+<tr><th style="text-align:left">Producer 方法</th><th style="text-align:left">支持</th><th style="text-align:left">备注</th></tr>
 </thead>
 <tbody>
 <tr><td style="text-align:left"><code>Future&lt;RecordMetadata&gt; send(ProducerRecord&lt;K, V&gt; record)</code></td><td style="text-align:left">Yes</td><td style="text-align:left">目前不支持在发布时显式设置分区ID</td></tr>
@@ -137,10 +137,10 @@ consumer.subscribe(Arrays.asList(topic));
 <tr><td style="text-align:left"><code>void close(long timeout, TimeUnit unit)</code></td><td style="text-align:left">Yes</td><td style="text-align:left"></td></tr>
 </tbody>
 </table>
-<p>Properties:</p>
+<p>属性:</p>
 <table>
 <thead>
-<tr><th style="text-align:left">Config property</th><th style="text-align:left">Supported</th><th style="text-align:left">Notes</th></tr>
+<tr><th style="text-align:left">配置属性</th><th style="text-align:left">支持</th><th style="text-align:left">备注</th></tr>
 </thead>
 <tbody>
 <tr><td style="text-align:left"><code>acks</code></td><td style="text-align:left">Ignored</td><td style="text-align:left">Durability and quorum writes are configured at the namespace level</td></tr>
@@ -174,7 +174,7 @@ consumer.subscribe(Arrays.asList(topic));
 <p>APIs:</p>
 <table>
 <thead>
-<tr><th style="text-align:left">Consumer Method</th><th style="text-align:left">Supported</th><th style="text-align:left">Notes</th></tr>
+<tr><th style="text-align:left">Consumer Method</th><th style="text-align:left">支持</th><th style="text-align:left">备注</th></tr>
 </thead>
 <tbody>
 <tr><td style="text-align:left"><code>Set&lt;TopicPartition&gt; assignment()</code></td><td style="text-align:left">No</td><td style="text-align:left"></td></tr>
@@ -209,10 +209,10 @@ consumer.subscribe(Arrays.asList(topic));
 <tr><td style="text-align:left"><code>void wakeup()</code></td><td style="text-align:left">No</td><td style="text-align:left"></td></tr>
 </tbody>
 </table>
-<p>Properties:</p>
+<p>属性:</p>
 <table>
 <thead>
-<tr><th style="text-align:left">Config property</th><th style="text-align:left">Supported</th><th style="text-align:left">Notes</th></tr>
+<tr><th style="text-align:left">配置属性</th><th style="text-align:left">支持</th><th style="text-align:left">备注</th></tr>
 </thead>
 <tbody>
 <tr><td style="text-align:left"><code>group.id</code></td><td style="text-align:left">Yes</td><td style="text-align:left">Maps to a Pulsar subscription name</td></tr>
@@ -222,7 +222,7 @@ consumer.subscribe(Arrays.asList(topic));
 <tr><td style="text-align:left"><code>heartbeat.interval.ms</code></td><td style="text-align:left">Ignored</td><td style="text-align:left"></td></tr>
 <tr><td style="text-align:left"><code>bootstrap.servers</code></td><td style="text-align:left">Yes</td><td style="text-align:left">指定一个pulsar服务地址</td></tr>
 <tr><td style="text-align:left"><code>enable.auto.commit</code></td><td style="text-align:left">Yes</td><td style="text-align:left"></td></tr>
-<tr><td style="text-align:left"><code>auto.commit.interval.ms</code></td><td style="text-align:left">Ignored</td><td style="text-align:left">With auto-commit, acks are sent immediately to broker</td></tr>
+<tr><td style="text-align:left"><code>auto.commit.interval.ms</code></td><td style="text-align:left">Ignored</td><td style="text-align:left">自动提交后, acks 立即发送给 broker.</td></tr>
 <tr><td style="text-align:left"><code>partition.assignment.strategy</code></td><td style="text-align:left">Ignored</td><td style="text-align:left"></td></tr>
 <tr><td style="text-align:left"><code>auto.offset.reset</code></td><td style="text-align:left">Ignored</td><td style="text-align:left"></td></tr>
 <tr><td style="text-align:left"><code>fetch.min.bytes</code></td><td style="text-align:left">Ignored</td><td style="text-align:left"></td></tr>
@@ -235,17 +235,17 @@ consumer.subscribe(Arrays.asList(topic));
 <tr><td style="text-align:left"><code>client.id</code></td><td style="text-align:left">Ignored</td><td style="text-align:left"></td></tr>
 </tbody>
 </table>
-<h2><a class="anchor" aria-hidden="true" id="custom-pulsar-configurations"></a><a href="#custom-pulsar-configurations" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 [...]
-<p>You can configure Pulsar authentication provider directly from the Kafka properties.</p>
+<h2><a class="anchor" aria-hidden="true" id="自定义-pulsar-配置"></a><a href="#自定义-pulsar-配置" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.8 [...]
+<p>你可以直接通过Kafka的属性去配置Pulsar的身份认证.</p>
 <h3><a class="anchor" aria-hidden="true" id="pulsar-client-properties"></a><a href="#pulsar-client-properties" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-. [...]
 <table>
 <thead>
-<tr><th style="text-align:left">Config property</th><th style="text-align:left">默认值</th><th style="text-align:left">Notes</th></tr>
+<tr><th style="text-align:left">配置属性</th><th style="text-align:left">默认值</th><th style="text-align:left">备注</th></tr>
 </thead>
 <tbody>
-<tr><td style="text-align:left"><a href="http://pulsar.apache.org/api/client/org/apache/pulsar/client/api/ClientConfiguration.html#setAuthentication-org.apache.pulsar.client.api.Authentication-"><code>pulsar.authentication.class</code></a></td><td style="text-align:left"></td><td style="text-align:left">Configure to auth provider. Eg. <code>org.apache.pulsar.client.impl.auth.AuthenticationTls</code></td></tr>
-<tr><td style="text-align:left"><a href="http://pulsar.apache.org/api/client/org/apache/pulsar/client/api/ClientConfiguration.html#setAuthentication-java.lang.String-java.util.Map-"><code>pulsar.authentication.params.map</code></a></td><td style="text-align:left"></td><td style="text-align:left">Map which represents parameters for the Authentication-Plugin</td></tr>
-<tr><td style="text-align:left"><a href="http://pulsar.apache.org/api/client/org/apache/pulsar/client/api/ClientConfiguration.html#setAuthentication-java.lang.String-java.lang.String-"><code>pulsar.authentication.params.string</code></a></td><td style="text-align:left"></td><td style="text-align:left">String which represents parameters for the Authentication-Plugin, Eg. <code>key1:val1,key2:val2</code></td></tr>
+<tr><td style="text-align:left"><a href="http://pulsar.apache.org/api/client/org/apache/pulsar/client/api/ClientConfiguration.html#setAuthentication-org.apache.pulsar.client.api.Authentication-"><code>pulsar.authentication.class</code></a></td><td style="text-align:left"></td><td style="text-align:left">配置验证的类.例如. <code>org.apache.pulsar.client.impl.auth.AuthenticationTls</code></td></tr>
+<tr><td style="text-align:left"><a href="http://pulsar.apache.org/api/client/org/apache/pulsar/client/api/ClientConfiguration.html#setAuthentication-java.lang.String-java.util.Map-"><code>pulsar.authentication.params.map</code></a></td><td style="text-align:left"></td><td style="text-align:left">表示Authentication-Plugin参数的Map</td></tr>
+<tr><td style="text-align:left"><a href="http://pulsar.apache.org/api/client/org/apache/pulsar/client/api/ClientConfiguration.html#setAuthentication-java.lang.String-java.lang.String-"><code>pulsar.authentication.params.string</code></a></td><td style="text-align:left"></td><td style="text-align:left">表示Authentication-Plugin参数的字符串, 例如. <code>key1:val1,key2:val2</code></td></tr>
 <tr><td style="text-align:left"><a href="http://pulsar.apache.org/api/client/org/apache/pulsar/client/api/ClientConfiguration.html#setUseTls-boolean-"><code>pulsar.use.tls</code></a></td><td style="text-align:left"><code>false</code></td><td style="text-align:left">Enable TLS transport encryption</td></tr>
 <tr><td style="text-align:left"><a href="http://pulsar.apache.org/api/client/org/apache/pulsar/client/api/ClientConfiguration.html#setTlsTrustCertsFilePath-java.lang.String-"><code>pulsar.tls.trust.certs.file.path</code></a></td><td style="text-align:left"></td><td style="text-align:left">Path for the TLS trust certificate store</td></tr>
 <tr><td style="text-align:left"><a href="http://pulsar.apache.org/api/client/org/apache/pulsar/client/api/ClientConfiguration.html#setTlsAllowInsecureConnection-boolean-"><code>pulsar.tls.allow.insecure.connection</code></a></td><td style="text-align:left"><code>false</code></td><td style="text-align:left">Accept self-signed certificates from brokers</td></tr>
@@ -261,10 +261,10 @@ consumer.subscribe(Arrays.asList(topic));
 <h3><a class="anchor" aria-hidden="true" id="pulsar-producer-properties"></a><a href="#pulsar-producer-properties" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H [...]
 <table>
 <thead>
-<tr><th style="text-align:left">Config property</th><th style="text-align:left">默认值</th><th style="text-align:left">Notes</th></tr>
+<tr><th style="text-align:left">配置属性</th><th style="text-align:left">默认值</th><th style="text-align:left">备注</th></tr>
 </thead>
 <tbody>
-<tr><td style="text-align:left"><a href="http://pulsar.apache.org/api/client/org/apache/pulsar/client/api/ProducerConfiguration.html#setProducerName-java.lang.String-"><code>pulsar.producer.name</code></a></td><td style="text-align:left"></td><td style="text-align:left">Specify producer name</td></tr>
+<tr><td style="text-align:left"><a href="http://pulsar.apache.org/api/client/org/apache/pulsar/client/api/ProducerConfiguration.html#setProducerName-java.lang.String-"><code>pulsar.producer.name</code></a></td><td style="text-align:left"></td><td style="text-align:left">指定 producer 名称</td></tr>
 <tr><td style="text-align:left"><a href="http://pulsar.apache.org/api/client/org/apache/pulsar/client/api/ProducerConfiguration.html#setInitialSequenceId-long-"><code>pulsar.producer.initial.sequence.id</code></a></td><td style="text-align:left"></td><td style="text-align:left">Specify baseline for sequence id for this producer</td></tr>
 <tr><td style="text-align:left"><a href="http://pulsar.apache.org/api/client/org/apache/pulsar/client/api/ProducerConfiguration.html#setMaxPendingMessages-int-"><code>pulsar.producer.max.pending.messages</code></a></td><td style="text-align:left"><code>1000</code></td><td style="text-align:left">Set the max size of the queue holding the messages pending to receive an acknowledgment from the broker.</td></tr>
 <tr><td style="text-align:left"><a href="http://pulsar.apache.org/api/client/org/apache/pulsar/client/api/ProducerConfiguration.html#setMaxPendingMessagesAcrossPartitions-int-"><code>pulsar.producer.max.pending.messages.across.partitions</code></a></td><td style="text-align:left"><code>50000</code></td><td style="text-align:left">Set the number of max pending messages across all the partitions</td></tr>
@@ -275,7 +275,7 @@ consumer.subscribe(Arrays.asList(topic));
 <h3><a class="anchor" aria-hidden="true" id="pulsar-consumer-properties"></a><a href="#pulsar-consumer-properties" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H [...]
 <table>
 <thead>
-<tr><th style="text-align:left">Config property</th><th style="text-align:left">默认值</th><th style="text-align:left">Notes</th></tr>
+<tr><th style="text-align:left">配置属性</th><th style="text-align:left">默认值</th><th style="text-align:left">备注</th></tr>
 </thead>
 <tbody>
 <tr><td style="text-align:left"><a href="http://pulsar.apache.org/api/client/org/apache/pulsar/client/api/ConsumerConfiguration.html#setConsumerName-java.lang.String-"><code>pulsar.consumer.name</code></a></td><td style="text-align:left"></td><td style="text-align:left">Set the consumer name</td></tr>
@@ -283,7 +283,7 @@ consumer.subscribe(Arrays.asList(topic));
 <tr><td style="text-align:left"><a href="http://pulsar.apache.org/api/client/org/apache/pulsar/client/api/ConsumerConfiguration.html#setMaxTotalReceiverQueueSizeAcrossPartitions-int-"><code>pulsar.consumer.total.receiver.queue.size.across.partitions</code></a></td><td style="text-align:left">50000</td><td style="text-align:left">Set the max total receiver queue size across partitons</td></tr>
 </tbody>
 </table>
-</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/zh-CN/next/admin-api-schemas"><span class="arrow-prev">← </span><span>管理Schema</span></a><a class="docs-next button" href="/docs/zh-CN/next/adaptors-spark"><span>Plusar 对 Apache Spark 的适配</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#使用pulsar-kafka兼容包装器">使用Pulsar Kafka兼容包装器</a></li><li><a href="#使用pulsar-kafka兼容包装器和现 [...]
+</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/zh-CN/next/admin-api-schemas"><span class="arrow-prev">← </span><span>管理Schema</span></a><a class="docs-next button" href="/docs/zh-CN/next/adaptors-spark"><span>Plusar 对 Apache Spark 的适配</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#使用pulsar-kafka兼容包装器">使用Pulsar Kafka兼容包装器</a></li><li><a href="#使用pulsar-kafka兼容包装器和现 [...]
       const community = document.querySelector("a[href='#community']").parentNode;
       const communityMenu =
         '<li>' +
diff --git a/content/swagger/swagger.json b/content/swagger/swagger.json
index 9d5e55c..8c719cc 100644
--- a/content/swagger/swagger.json
+++ b/content/swagger/swagger.json
@@ -6872,6 +6872,15 @@
           "type" : "number",
           "format" : "double"
         },
+        "underLoaded" : {
+          "type" : "boolean"
+        },
+        "overLoaded" : {
+          "type" : "boolean"
+        },
+        "loadReportType" : {
+          "type" : "string"
+        },
         "cpu" : {
           "$ref" : "#/definitions/ResourceUsage"
         },
@@ -6898,15 +6907,6 @@
         "msgThroughputOut" : {
           "type" : "number",
           "format" : "double"
-        },
-        "underLoaded" : {
-          "type" : "boolean"
-        },
-        "overLoaded" : {
-          "type" : "boolean"
-        },
-        "loadReportType" : {
-          "type" : "string"
         }
       }
     },