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 2019/08/31 09:03:54 UTC

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

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 3b5405f  Updated site at revision c993375
3b5405f is described below

commit 3b5405f438890b50687cced3c3fffb78ed760331
Author: jenkins <bu...@apache.org>
AuthorDate: Sat Aug 31 09:03:41 2019 +0000

    Updated site at revision c993375
---
 .../docs/en/next/security-tls-authentication.html  | 43 ++++++++---------
 .../en/next/security-tls-authentication/index.html | 43 ++++++++---------
 .../docs/fr/next/security-tls-authentication.html  | 54 ++++++++++-----------
 .../fr/next/security-tls-authentication/index.html | 54 ++++++++++-----------
 .../docs/ja/next/security-tls-authentication.html  | 54 ++++++++++-----------
 .../ja/next/security-tls-authentication/index.html | 54 ++++++++++-----------
 .../zh-CN/2.1.0-incubating/client-libraries.html   |  2 +-
 .../2.1.0-incubating/client-libraries/index.html   |  2 +-
 .../concepts-architecture-overview.html            |  2 +-
 .../concepts-architecture-overview/index.html      |  2 +-
 .../docs/zh-CN/2.1.0-incubating/pulsar-2.0.html    | 52 ++++++++++----------
 .../zh-CN/2.1.0-incubating/pulsar-2.0/index.html   | 52 ++++++++++----------
 .../docs/zh-CN/2.1.0-incubating/standalone.html    |  2 +-
 .../zh-CN/2.1.0-incubating/standalone/index.html   |  2 +-
 .../concepts-architecture-overview.html            |  2 +-
 .../concepts-architecture-overview/index.html      |  2 +-
 .../docs/zh-CN/2.1.1-incubating/pulsar-2.0.html    | 52 ++++++++++----------
 .../zh-CN/2.1.1-incubating/pulsar-2.0/index.html   | 52 ++++++++++----------
 .../docs/zh-CN/2.1.1-incubating/standalone.html    |  2 +-
 .../zh-CN/2.1.1-incubating/standalone/index.html   |  2 +-
 .../2.2.0/concepts-architecture-overview.html      |  2 +-
 .../concepts-architecture-overview/index.html      |  2 +-
 content/docs/zh-CN/2.2.0/pulsar-2.0.html           | 52 ++++++++++----------
 content/docs/zh-CN/2.2.0/pulsar-2.0/index.html     | 52 ++++++++++----------
 content/docs/zh-CN/2.2.0/standalone.html           |  2 +-
 content/docs/zh-CN/2.2.0/standalone/index.html     |  2 +-
 .../2.2.1/concepts-architecture-overview.html      |  2 +-
 .../concepts-architecture-overview/index.html      |  2 +-
 content/docs/zh-CN/2.2.1/pulsar-2.0.html           | 52 ++++++++++----------
 content/docs/zh-CN/2.2.1/pulsar-2.0/index.html     | 52 ++++++++++----------
 content/docs/zh-CN/2.2.1/standalone.html           |  2 +-
 content/docs/zh-CN/2.2.1/standalone/index.html     |  2 +-
 .../2.3.0/concepts-architecture-overview.html      |  2 +-
 .../concepts-architecture-overview/index.html      |  2 +-
 content/docs/zh-CN/2.3.0/concepts-overview.html    |  2 +-
 .../docs/zh-CN/2.3.0/concepts-overview/index.html  |  2 +-
 content/docs/zh-CN/2.3.0/pulsar-2.0.html           | 52 ++++++++++----------
 content/docs/zh-CN/2.3.0/pulsar-2.0/index.html     | 52 ++++++++++----------
 content/docs/zh-CN/2.3.0/standalone.html           |  2 +-
 content/docs/zh-CN/2.3.0/standalone/index.html     |  2 +-
 .../2.3.1/concepts-architecture-overview.html      |  2 +-
 .../concepts-architecture-overview/index.html      |  2 +-
 content/docs/zh-CN/2.3.1/concepts-overview.html    | 24 +++++-----
 .../docs/zh-CN/2.3.1/concepts-overview/index.html  | 24 +++++-----
 content/docs/zh-CN/2.3.1/pulsar-2.0.html           | 52 ++++++++++----------
 content/docs/zh-CN/2.3.1/pulsar-2.0/index.html     | 52 ++++++++++----------
 content/docs/zh-CN/2.3.1/standalone.html           |  2 +-
 content/docs/zh-CN/2.3.1/standalone/index.html     |  2 +-
 .../2.3.2/concepts-architecture-overview.html      |  2 +-
 .../concepts-architecture-overview/index.html      |  2 +-
 content/docs/zh-CN/2.3.2/concepts-overview.html    | 24 +++++-----
 .../docs/zh-CN/2.3.2/concepts-overview/index.html  | 24 +++++-----
 content/docs/zh-CN/2.3.2/pulsar-2.0.html           | 52 ++++++++++----------
 content/docs/zh-CN/2.3.2/pulsar-2.0/index.html     | 52 ++++++++++----------
 content/docs/zh-CN/2.3.2/standalone.html           |  2 +-
 content/docs/zh-CN/2.3.2/standalone/index.html     |  2 +-
 .../docs/zh-CN/concepts-architecture-overview.html |  2 +-
 .../concepts-architecture-overview/index.html      |  2 +-
 content/docs/zh-CN/concepts-overview.html          | 24 +++++-----
 content/docs/zh-CN/concepts-overview/index.html    | 24 +++++-----
 content/docs/zh-CN/io-cdc-canal.html               |  8 +---
 content/docs/zh-CN/io-cdc-canal/index.html         |  8 +---
 content/docs/zh-CN/io-cdc-debezium.html            |  2 +-
 content/docs/zh-CN/io-cdc-debezium/index.html      |  2 +-
 content/docs/zh-CN/next/adaptors-kafka.html        |  2 +-
 content/docs/zh-CN/next/adaptors-kafka/index.html  |  2 +-
 content/docs/zh-CN/next/adaptors-spark.html        |  2 +-
 content/docs/zh-CN/next/adaptors-spark/index.html  |  2 +-
 content/docs/zh-CN/next/adaptors-storm.html        |  2 +-
 content/docs/zh-CN/next/adaptors-storm/index.html  |  2 +-
 content/docs/zh-CN/next/admin-api-brokers.html     |  2 +-
 .../docs/zh-CN/next/admin-api-brokers/index.html   |  2 +-
 content/docs/zh-CN/next/admin-api-clusters.html    |  2 +-
 .../docs/zh-CN/next/admin-api-clusters/index.html  |  2 +-
 content/docs/zh-CN/next/admin-api-namespaces.html  |  2 +-
 .../zh-CN/next/admin-api-namespaces/index.html     |  2 +-
 .../next/admin-api-non-persistent-topics.html      |  2 +-
 .../admin-api-non-persistent-topics/index.html     |  2 +-
 content/docs/zh-CN/next/admin-api-overview.html    |  2 +-
 .../docs/zh-CN/next/admin-api-overview/index.html  |  2 +-
 .../zh-CN/next/admin-api-partitioned-topics.html   |  2 +-
 .../next/admin-api-partitioned-topics/index.html   |  2 +-
 content/docs/zh-CN/next/admin-api-permissions.html |  2 +-
 .../zh-CN/next/admin-api-permissions/index.html    |  2 +-
 .../zh-CN/next/admin-api-persistent-topics.html    |  2 +-
 .../next/admin-api-persistent-topics/index.html    |  2 +-
 content/docs/zh-CN/next/admin-api-tenants.html     |  2 +-
 .../docs/zh-CN/next/admin-api-tenants/index.html   |  2 +-
 .../docs/zh-CN/next/administration-dashboard.html  |  2 +-
 .../zh-CN/next/administration-dashboard/index.html |  2 +-
 content/docs/zh-CN/next/administration-geo.html    |  2 +-
 .../docs/zh-CN/next/administration-geo/index.html  |  2 +-
 .../zh-CN/next/administration-load-balance.html    |  2 +-
 .../next/administration-load-balance/index.html    |  2 +-
 content/docs/zh-CN/next/administration-proxy.html  |  2 +-
 .../zh-CN/next/administration-proxy/index.html     |  2 +-
 content/docs/zh-CN/next/administration-stats.html  |  2 +-
 .../zh-CN/next/administration-stats/index.html     |  2 +-
 .../docs/zh-CN/next/administration-upgrade.html    |  2 +-
 .../zh-CN/next/administration-upgrade/index.html   |  2 +-
 content/docs/zh-CN/next/administration-zk-bk.html  |  2 +-
 .../zh-CN/next/administration-zk-bk/index.html     |  2 +-
 content/docs/zh-CN/next/client-libraries-cpp.html  |  2 +-
 .../zh-CN/next/client-libraries-cpp/index.html     |  2 +-
 content/docs/zh-CN/next/client-libraries-go.html   |  2 +-
 .../docs/zh-CN/next/client-libraries-go/index.html |  2 +-
 content/docs/zh-CN/next/client-libraries-java.html |  2 +-
 .../zh-CN/next/client-libraries-java/index.html    |  2 +-
 .../docs/zh-CN/next/client-libraries-python.html   |  2 +-
 .../zh-CN/next/client-libraries-python/index.html  |  2 +-
 .../zh-CN/next/client-libraries-websocket.html     |  2 +-
 .../next/client-libraries-websocket/index.html     |  2 +-
 content/docs/zh-CN/next/client-libraries.html      |  2 +-
 .../docs/zh-CN/next/client-libraries/index.html    |  2 +-
 .../zh-CN/next/concepts-architecture-overview.html |  4 +-
 .../next/concepts-architecture-overview/index.html |  4 +-
 .../docs/zh-CN/next/concepts-authentication.html   |  2 +-
 .../zh-CN/next/concepts-authentication/index.html  |  2 +-
 content/docs/zh-CN/next/concepts-clients.html      |  2 +-
 .../docs/zh-CN/next/concepts-clients/index.html    |  2 +-
 content/docs/zh-CN/next/concepts-messaging.html    |  2 +-
 .../docs/zh-CN/next/concepts-messaging/index.html  |  2 +-
 .../docs/zh-CN/next/concepts-multi-tenancy.html    |  2 +-
 .../zh-CN/next/concepts-multi-tenancy/index.html   |  2 +-
 content/docs/zh-CN/next/concepts-overview.html     | 26 +++++-----
 .../docs/zh-CN/next/concepts-overview/index.html   | 26 +++++-----
 content/docs/zh-CN/next/concepts-replication.html  |  2 +-
 .../zh-CN/next/concepts-replication/index.html     |  2 +-
 .../docs/zh-CN/next/concepts-tiered-storage.html   |  2 +-
 .../zh-CN/next/concepts-tiered-storage/index.html  |  2 +-
 .../docs/zh-CN/next/concepts-topic-compaction.html |  2 +-
 .../next/concepts-topic-compaction/index.html      |  2 +-
 .../zh-CN/next/cookbooks-bookkeepermetadata.html   |  2 +-
 .../next/cookbooks-bookkeepermetadata/index.html   |  2 +-
 content/docs/zh-CN/next/cookbooks-compaction.html  |  2 +-
 .../zh-CN/next/cookbooks-compaction/index.html     |  2 +-
 .../docs/zh-CN/next/cookbooks-deduplication.html   |  2 +-
 .../zh-CN/next/cookbooks-deduplication/index.html  |  2 +-
 content/docs/zh-CN/next/cookbooks-encryption.html  |  2 +-
 .../zh-CN/next/cookbooks-encryption/index.html     |  2 +-
 .../docs/zh-CN/next/cookbooks-message-queue.html   |  2 +-
 .../zh-CN/next/cookbooks-message-queue/index.html  |  2 +-
 .../docs/zh-CN/next/cookbooks-non-persistent.html  |  2 +-
 .../zh-CN/next/cookbooks-non-persistent/index.html |  2 +-
 content/docs/zh-CN/next/cookbooks-partitioned.html |  2 +-
 .../zh-CN/next/cookbooks-partitioned/index.html    |  2 +-
 .../zh-CN/next/cookbooks-retention-expiry.html     |  2 +-
 .../next/cookbooks-retention-expiry/index.html     |  2 +-
 .../docs/zh-CN/next/cookbooks-tiered-storage.html  |  2 +-
 .../zh-CN/next/cookbooks-tiered-storage/index.html |  2 +-
 content/docs/zh-CN/next/deploy-aws.html            |  2 +-
 content/docs/zh-CN/next/deploy-aws/index.html      |  2 +-
 .../next/deploy-bare-metal-multi-cluster.html      |  2 +-
 .../deploy-bare-metal-multi-cluster/index.html     |  2 +-
 content/docs/zh-CN/next/deploy-bare-metal.html     |  2 +-
 .../docs/zh-CN/next/deploy-bare-metal/index.html   |  2 +-
 content/docs/zh-CN/next/deploy-dcos.html           |  2 +-
 content/docs/zh-CN/next/deploy-dcos/index.html     |  2 +-
 content/docs/zh-CN/next/deploy-kubernetes.html     |  2 +-
 .../docs/zh-CN/next/deploy-kubernetes/index.html   |  2 +-
 content/docs/zh-CN/next/deploy-monitoring.html     |  2 +-
 .../docs/zh-CN/next/deploy-monitoring/index.html   |  2 +-
 .../docs/zh-CN/next/develop-binary-protocol.html   |  2 +-
 .../zh-CN/next/develop-binary-protocol/index.html  |  2 +-
 content/docs/zh-CN/next/develop-cpp.html           |  2 +-
 content/docs/zh-CN/next/develop-cpp/index.html     |  2 +-
 content/docs/zh-CN/next/develop-load-manager.html  |  2 +-
 .../zh-CN/next/develop-load-manager/index.html     |  2 +-
 content/docs/zh-CN/next/develop-tools.html         |  2 +-
 content/docs/zh-CN/next/develop-tools/index.html   |  2 +-
 content/docs/zh-CN/next/functions-api.html         |  2 +-
 content/docs/zh-CN/next/functions-api/index.html   |  2 +-
 content/docs/zh-CN/next/functions-cli.html         |  2 +-
 content/docs/zh-CN/next/functions-cli/index.html   |  2 +-
 content/docs/zh-CN/next/functions-debug.html       |  2 +-
 content/docs/zh-CN/next/functions-debug/index.html |  2 +-
 content/docs/zh-CN/next/functions-debugging.html   |  2 +-
 .../docs/zh-CN/next/functions-debugging/index.html |  2 +-
 content/docs/zh-CN/next/functions-deploy.html      |  2 +-
 .../docs/zh-CN/next/functions-deploy/index.html    |  2 +-
 content/docs/zh-CN/next/functions-deploying.html   |  2 +-
 .../docs/zh-CN/next/functions-deploying/index.html |  2 +-
 content/docs/zh-CN/next/functions-develop.html     |  2 +-
 .../docs/zh-CN/next/functions-develop/index.html   |  2 +-
 content/docs/zh-CN/next/functions-guarantees.html  |  2 +-
 .../zh-CN/next/functions-guarantees/index.html     |  2 +-
 content/docs/zh-CN/next/functions-metrics.html     |  2 +-
 .../docs/zh-CN/next/functions-metrics/index.html   |  2 +-
 .../docs/zh-CN/next/functions-overview-new.html    |  2 +-
 .../zh-CN/next/functions-overview-new/index.html   |  2 +-
 content/docs/zh-CN/next/functions-overview.html    |  2 +-
 .../docs/zh-CN/next/functions-overview/index.html  |  2 +-
 content/docs/zh-CN/next/functions-quickstart.html  |  2 +-
 .../zh-CN/next/functions-quickstart/index.html     |  2 +-
 content/docs/zh-CN/next/functions-runtime.html     |  2 +-
 .../docs/zh-CN/next/functions-runtime/index.html   |  2 +-
 content/docs/zh-CN/next/functions-state.html       |  2 +-
 content/docs/zh-CN/next/functions-state/index.html |  2 +-
 content/docs/zh-CN/next/functions-worker.html      |  2 +-
 .../docs/zh-CN/next/functions-worker/index.html    |  2 +-
 content/docs/zh-CN/next/io-cdc.html                |  2 +-
 content/docs/zh-CN/next/io-cdc/index.html          |  2 +-
 content/docs/zh-CN/next/io-connectors.html         |  2 +-
 content/docs/zh-CN/next/io-connectors/index.html   |  2 +-
 content/docs/zh-CN/next/io-develop.html            |  2 +-
 content/docs/zh-CN/next/io-develop/index.html      |  2 +-
 content/docs/zh-CN/next/io-managing.html           |  2 +-
 content/docs/zh-CN/next/io-managing/index.html     |  2 +-
 content/docs/zh-CN/next/io-overview.html           |  2 +-
 content/docs/zh-CN/next/io-overview/index.html     |  2 +-
 content/docs/zh-CN/next/io-quickstart.html         |  2 +-
 content/docs/zh-CN/next/io-quickstart/index.html   |  2 +-
 content/docs/zh-CN/next/pulsar-2.0.html            | 54 ++++++++++-----------
 content/docs/zh-CN/next/pulsar-2.0/index.html      | 54 ++++++++++-----------
 content/docs/zh-CN/next/pulsar-admin.html          |  2 +-
 content/docs/zh-CN/next/pulsar-admin/index.html    |  2 +-
 content/docs/zh-CN/next/reference-cli-tools.html   |  2 +-
 .../docs/zh-CN/next/reference-cli-tools/index.html |  2 +-
 .../docs/zh-CN/next/reference-configuration.html   |  2 +-
 .../zh-CN/next/reference-configuration/index.html  |  2 +-
 .../docs/zh-CN/next/reference-connector-admin.html |  2 +-
 .../next/reference-connector-admin/index.html      |  2 +-
 content/docs/zh-CN/next/reference-metrics.html     |  2 +-
 .../docs/zh-CN/next/reference-metrics/index.html   |  2 +-
 content/docs/zh-CN/next/reference-terminology.html |  2 +-
 .../zh-CN/next/reference-terminology/index.html    |  2 +-
 .../zh-CN/next/schema-evolution-compatibility.html |  2 +-
 .../next/schema-evolution-compatibility/index.html |  2 +-
 content/docs/zh-CN/next/schema-get-started.html    |  2 +-
 .../docs/zh-CN/next/schema-get-started/index.html  |  2 +-
 content/docs/zh-CN/next/schema-manage.html         |  2 +-
 content/docs/zh-CN/next/schema-manage/index.html   |  2 +-
 content/docs/zh-CN/next/schema-understand.html     |  2 +-
 .../docs/zh-CN/next/schema-understand/index.html   |  2 +-
 content/docs/zh-CN/next/security-athenz.html       |  2 +-
 content/docs/zh-CN/next/security-athenz/index.html |  2 +-
 .../docs/zh-CN/next/security-authorization.html    |  2 +-
 .../zh-CN/next/security-authorization/index.html   |  2 +-
 content/docs/zh-CN/next/security-encryption.html   |  2 +-
 .../docs/zh-CN/next/security-encryption/index.html |  2 +-
 content/docs/zh-CN/next/security-extending.html    |  2 +-
 .../docs/zh-CN/next/security-extending/index.html  |  2 +-
 content/docs/zh-CN/next/security-kerberos.html     |  2 +-
 .../docs/zh-CN/next/security-kerberos/index.html   |  2 +-
 content/docs/zh-CN/next/security-overview.html     |  2 +-
 .../docs/zh-CN/next/security-overview/index.html   |  2 +-
 .../zh-CN/next/security-tls-authentication.html    | 56 +++++++++++-----------
 .../next/security-tls-authentication/index.html    | 56 +++++++++++-----------
 .../docs/zh-CN/next/security-tls-transport.html    |  2 +-
 .../zh-CN/next/security-tls-transport/index.html   |  2 +-
 content/docs/zh-CN/next/security-token-admin.html  |  2 +-
 .../zh-CN/next/security-token-admin/index.html     |  2 +-
 content/docs/zh-CN/next/security-token-client.html |  2 +-
 .../zh-CN/next/security-token-client/index.html    |  2 +-
 .../zh-CN/next/sql-deployment-configurations.html  |  2 +-
 .../next/sql-deployment-configurations/index.html  |  2 +-
 content/docs/zh-CN/next/sql-getting-started.html   |  2 +-
 .../docs/zh-CN/next/sql-getting-started/index.html |  2 +-
 content/docs/zh-CN/next/sql-overview.html          |  2 +-
 content/docs/zh-CN/next/sql-overview/index.html    |  2 +-
 content/docs/zh-CN/next/standalone-docker.html     |  2 +-
 .../docs/zh-CN/next/standalone-docker/index.html   |  2 +-
 content/docs/zh-CN/next/standalone.html            |  4 +-
 content/docs/zh-CN/next/standalone/index.html      |  4 +-
 content/docs/zh-CN/pulsar-2.0.html                 | 52 ++++++++++----------
 content/docs/zh-CN/pulsar-2.0/index.html           | 52 ++++++++++----------
 content/docs/zh-CN/standalone.html                 |  2 +-
 content/docs/zh-CN/standalone/index.html           |  2 +-
 content/swagger/2.5.0-SNAPSHOT/swagger.json        | 54 ++++++++++-----------
 .../swagger/2.5.0-SNAPSHOT/swaggerfunctions.json   |  6 +--
 content/swagger/swagger.json                       | 54 ++++++++++-----------
 content/swagger/swaggerfunctions.json              |  6 +--
 272 files changed, 1068 insertions(+), 1090 deletions(-)

diff --git a/content/docs/en/next/security-tls-authentication.html b/content/docs/en/next/security-tls-authentication.html
index 26ba62f..055631b 100644
--- a/content/docs/en/next/security-tls-authentication.html
+++ b/content/docs/en/next/security-tls-authentication.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Authentication using TLS · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="## TLS Authentication Overview"/><meta name="docsearch:version" content="next"/><meta name="docsearch:language" content="en"/><meta property="og:title" content="Authentication using TLS · Apac [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Authentication using TLS · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="## TLS authentication overview"/><meta name="docsearch:version" content="next"/><meta name="docsearch:language" content="en"/><meta property="og:title" content="Authentication using TLS · Apac [...]
               (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),
               m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
@@ -74,50 +74,49 @@
                 };
               }
             });
-        </script></nav></div><div class="container mainContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://github.com/apache/incubator-pulsar/edit/master/site2/docs/security-tls-authentication.md" target="_blank" rel="noreferrer noopener">Edit</a><h1 class="postHeaderTitle">Authentication using TLS</h1></header><article><div><span><h2><a class="anchor" aria-hidden="true" id="tls-authentication-overview"></a><a href=" [...]
-<p>TLS authentication is an extension of <a href="/docs/en/next/security-tls-transport">TLS transport encryption</a>, but instead of only servers having keys and certs which the client uses to verify the server's identity, clients also have keys and certs which the server uses to verify the client's identity. You must have TLS transport encryption configured on your cluster before you can use TLS authentication. This guide assumes you already have TLS transport encryption configured.</p>
-<h3><a class="anchor" aria-hidden="true" id="creating-client-certificates"></a><a href="#creating-client-certificates" 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>Client certificates are generated using the same certificate authority as was used to generate the server certificates.</p>
-<p>The biggest difference between client certs and server certs is that the <strong>common name</strong> for the client certificate is the <strong>role token</strong> which that client will be authenticated as.</p>
-<p>First generate the key.</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://github.com/apache/incubator-pulsar/edit/master/site2/docs/security-tls-authentication.md" target="_blank" rel="noreferrer noopener">Edit</a><h1 class="postHeaderTitle">Authentication using TLS</h1></header><article><div><span><h2><a class="anchor" aria-hidden="true" id="tls-authentication-overview"></a><a href=" [...]
+<p>TLS authentication is an extension of <a href="/docs/en/next/security-tls-transport">TLS transport encryption</a>. Not only servers have keys and certs that the client uses to verify the identity of servers, clients also have keys and certs that the server uses to verify the identity of clients. You must have TLS transport encryption configured on your cluster before you can use TLS authentication. This guide assumes you already have TLS transport encryption configured.</p>
+<h3><a class="anchor" aria-hidden="true" id="create-client-certificates"></a><a href="#create-client-certificates" 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 [...]
+<p>Client certificates are generated using the certificate authority. Server certificates are also generated with the same certificate authority.</p>
+<p>The biggest difference between client certs and server certs is that the <strong>common name</strong> for the client certificate is the <strong>role token</strong> which that client is authenticated as.</p>
+<p>First, you need to enter the follwing command to generate the key :</p>
 <pre><code class="hljs css language-bash">$ openssl genrsa -out admin.key.pem 2048
 </code></pre>
-<p>Similar to the broker, the client expects the key to be in <a href="https://en.wikipedia.org/wiki/PKCS_8">PKCS 8</a> format, so convert it.</p>
+<p>Similar to the broker, the client expects the key to be in <a href="https://en.wikipedia.org/wiki/PKCS_8">PKCS 8</a> format, so you need to convert it by entering the follwing command:</p>
 <pre><code class="hljs css language-bash">$ openssl pkcs8 -topk8 -inform PEM -outform PEM \
       -<span class="hljs-keyword">in</span> admin.key.pem -out admin.key-pk8.pem -nocrypt
 </code></pre>
-<p>Generate the certificate request. When asked for a <strong>common name</strong>, enter the <strong>role token</strong> which you want this key pair to authenticate a client as.</p>
+<p>Next, enter the command below to generate the certificate request. When you are asked for a <strong>common name</strong>, enter the <strong>role token</strong> that you want this key pair to authenticate a client as.</p>
 <pre><code class="hljs css language-bash">$ openssl req -config openssl.cnf \
       -key admin.key.pem -new -sha256 -out admin.csr.pem
 </code></pre>
 <blockquote>
 <p>Note
-If there is no openssl.cnf, please read <a href="http://pulsar.apache.org/docs/en/security-tls-transport/#certificate-authority">Certificate authority</a> to get the openssl.cnf.</p>
+If openssl.cnf is not specified, read <a href="http://pulsar.apache.org/docs/en/security-tls-transport/#certificate-authority">Certificate authority</a> to get the openssl.cnf.</p>
 </blockquote>
-<p>Sign with request with the certificate authority. Note that that client certs uses the <strong>usr_cert</strong> extension, which allows the cert to be used for client authentication.</p>
+<p>Then, enter the command below to sign with request with the certificate authority. Note that the client certs uses the <strong>usr_cert</strong> extension, which allows the cert to be used for client authentication.</p>
 <pre><code class="hljs css language-bash">$ openssl ca -config openssl.cnf -extensions usr_cert \
       -days 1000 -notext -md sha256 \
       -<span class="hljs-keyword">in</span> admin.csr.pem -out admin.cert.pem
 </code></pre>
-<p>This will give you a cert, <code>admin.cert.pem</code>, and a key, <code>admin.key-pk8.pem</code>, which, with <code>ca.cert.pem</code>, can be used by clients to authenticate themselves to brokers and proxies as the role token <code>admin</code>.</p>
+<p>You can get a cert, <code>admin.cert.pem</code>, and a key, <code>admin.key-pk8.pem</code> from this command. With <code>ca.cert.pem</code>, clients can use this cert and this key to authenticate themselves to brokers and proxies as the role token <code>admin</code>.</p>
 <blockquote>
 <p>Note
-If got &quot;unable to load CA private key&quot; error and the reason is &quot;No such file or directory: /etc/pki/CA/private/cakey.pem&quot; in this step. Please try :</p>
+If the &quot;unable to load CA private key&quot; error occurs and the reason of this error is &quot;No such file or directory: /etc/pki/CA/private/cakey.pem&quot; in this step. Try the command below:</p>
 <pre><code class="hljs css language-bash">$ <span class="hljs-built_in">cd</span> /etc/pki/tls/misc/CA
 $ ./CA -newca
 </code></pre>
 <p>to generate <code>cakey.pem</code> .</p>
 </blockquote>
-<h2><a class="anchor" aria-hidden="true" id="enabling-tls-authentication-"></a><a href="#enabling-tls-authentication-" 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 [...]
-<h3><a class="anchor" aria-hidden="true" id="on-brokers"></a><a href="#on-brokers" 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-.83.42-1 [...]
-<p>To configure brokers to authenticate clients, put the following in <code>broker.conf</code>, alongside <a href="/docs/en/next/security-tls-transport#broker-configuration">the configuration to enable tls transport</a>:</p>
+<h2><a class="anchor" aria-hidden="true" id="enable-tls-authentication-on-brokers"></a><a href="#enable-tls-authentication-on-brokers" 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 [...]
+<p>To configure brokers to authenticate clients, add the following parameters to <code>broker.conf</code>, alongside <a href="/docs/en/next/security-tls-transport#broker-configuration">the configuration to enable tls transport</a>:</p>
 <pre><code class="hljs css language-properties"><span class="hljs-comment"># Configuration to enable authentication</span>
 <span class="hljs-attr">authenticationEnabled</span>=<span class="hljs-string">true</span>
 <span class="hljs-attr">authenticationProviders</span>=<span class="hljs-string">org.apache.pulsar.broker.authentication.AuthenticationProviderTls</span>
 </code></pre>
-<h3><a class="anchor" aria-hidden="true" id="on-proxies"></a><a href="#on-proxies" 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-.83.42-1 [...]
-<p>To configure proxies to authenticate clients, put the folling in <code>proxy.conf</code>, alongside <a href="/docs/en/next/security-tls-transport#proxy-configuration">the configuration to enable tls transport</a>:</p>
-<p>The proxy should have its own client key pair for connecting to brokers. The role token for this key pair should be configured in the <code>proxyRoles</code> of the brokers. See the <a href="/docs/en/next/security-authorization">authorization guide</a> for more details.</p>
+<h2><a class="anchor" aria-hidden="true" id="enable-tls-authentication-on-proxies"></a><a href="#enable-tls-authentication-on-proxies" 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 [...]
+<p>To configure proxies to authenticate clients, add the following parameters to <code>proxy.conf</code>, alongside <a href="/docs/en/next/security-tls-transport#proxy-configuration">the configuration to enable tls transport</a>:</p>
+<p>The proxy should have its own client key pair for connecting to brokers. You need to configure the role token for this key pair in the <code>proxyRoles</code> of the brokers. See the <a href="/docs/en/next/security-authorization">authorization guide</a> for more details.</p>
 <pre><code class="hljs css language-properties"><span class="hljs-comment"># For clients connecting to the proxy</span>
 <span class="hljs-attr">authenticationEnabled</span>=<span class="hljs-string">true</span>
 <span class="hljs-attr">authenticationProviders</span>=<span class="hljs-string">org.apache.pulsar.broker.authentication.AuthenticationProviderTls</span>
@@ -127,10 +126,10 @@ $ ./CA -newca
 <span class="hljs-attr">brokerClientAuthenticationParameters</span>=<span class="hljs-string">tlsCertFile:/path/to/proxy.cert.pem,tlsKeyFile:/path/to/proxy.key-pk8.pem</span>
 </code></pre>
 <h2><a class="anchor" aria-hidden="true" id="client-configuration"></a><a href="#client-configuration" 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 [...]
-<p>When TLS authentication, the client needs to connect via TLS transport, so you need to configure the client to use <code>https://</code> and port 8443 for the web service URL, and <code>pulsar+ssl://</code> and port 6651 for the broker service URL.</p>
+<p>When you use TLS authentication, client connects via TLS transport. You need to configure the client to use <code>https://</code> and 8443 port for the web service URL, <code>pulsar+ssl://</code> and 6651 port for the broker service URL.</p>
 <h3><a class="anchor" aria-hidden="true" id="cli-tools"></a><a href="#cli-tools" 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-.83.42-1.6 [...]
 <p><a href="/docs/en/next/reference-cli-tools">Command-line tools</a> like <a href="/docs/en/next/pulsar-admin"><code>pulsar-admin</code></a>, <a href="/docs/en/next/reference-cli-tools#pulsar-perf"><code>pulsar-perf</code></a>, and <a href="/docs/en/next/reference-cli-tools#pulsar-client"><code>pulsar-client</code></a> use the <code>conf/client.conf</code> config file in a Pulsar installation.</p>
-<p>You'll need to add the following parameters to that file to use TLS authentication with Pulsar's CLI tools:</p>
+<p>You need to add the following parameters to that file to use TLS authentication with the CLI tools of Pulsar:</p>
 <pre><code class="hljs css language-properties"><span class="hljs-attr">webServiceUrl</span>=<span class="hljs-string">https://broker.example.com:8443/</span>
 <span class="hljs-attr">brokerServiceUrl</span>=<span class="hljs-string">pulsar+ssl://broker.example.com:6651/</span>
 <span class="hljs-attr">useTls</span>=<span class="hljs-string">true</span>
@@ -173,7 +172,7 @@ config.setAuth(auth);
 
 pulsar::<span class="hljs-function">Client <span class="hljs-title">client</span><span class="hljs-params">(<span class="hljs-string">"pulsar+ssl://broker.example.com:6651/"</span>, config)</span></span>;
 </code></pre>
-</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/en/next/security-tls-transport"><span class="arrow-prev">← </span><span>Transport Encryption using TLS</span></a><a class="docs-next button" href="/docs/en/next/security-token-client"><span>Client Authentication using tokens</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#tls-authentication-overview">TLS Authentication [...]
+</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/en/next/security-tls-transport"><span class="arrow-prev">← </span><span>Transport Encryption using TLS</span></a><a class="docs-next button" href="/docs/en/next/security-token-client"><span>Client Authentication using tokens</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#tls-authentication-overview">TLS authentication [...]
       const community = document.querySelector("a[href='#community']").parentNode;
       const communityMenu =
         '<li>' +
diff --git a/content/docs/en/next/security-tls-authentication/index.html b/content/docs/en/next/security-tls-authentication/index.html
index 26ba62f..055631b 100644
--- a/content/docs/en/next/security-tls-authentication/index.html
+++ b/content/docs/en/next/security-tls-authentication/index.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Authentication using TLS · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="## TLS Authentication Overview"/><meta name="docsearch:version" content="next"/><meta name="docsearch:language" content="en"/><meta property="og:title" content="Authentication using TLS · Apac [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Authentication using TLS · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="## TLS authentication overview"/><meta name="docsearch:version" content="next"/><meta name="docsearch:language" content="en"/><meta property="og:title" content="Authentication using TLS · Apac [...]
               (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),
               m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
@@ -74,50 +74,49 @@
                 };
               }
             });
-        </script></nav></div><div class="container mainContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://github.com/apache/incubator-pulsar/edit/master/site2/docs/security-tls-authentication.md" target="_blank" rel="noreferrer noopener">Edit</a><h1 class="postHeaderTitle">Authentication using TLS</h1></header><article><div><span><h2><a class="anchor" aria-hidden="true" id="tls-authentication-overview"></a><a href=" [...]
-<p>TLS authentication is an extension of <a href="/docs/en/next/security-tls-transport">TLS transport encryption</a>, but instead of only servers having keys and certs which the client uses to verify the server's identity, clients also have keys and certs which the server uses to verify the client's identity. You must have TLS transport encryption configured on your cluster before you can use TLS authentication. This guide assumes you already have TLS transport encryption configured.</p>
-<h3><a class="anchor" aria-hidden="true" id="creating-client-certificates"></a><a href="#creating-client-certificates" 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>Client certificates are generated using the same certificate authority as was used to generate the server certificates.</p>
-<p>The biggest difference between client certs and server certs is that the <strong>common name</strong> for the client certificate is the <strong>role token</strong> which that client will be authenticated as.</p>
-<p>First generate the key.</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://github.com/apache/incubator-pulsar/edit/master/site2/docs/security-tls-authentication.md" target="_blank" rel="noreferrer noopener">Edit</a><h1 class="postHeaderTitle">Authentication using TLS</h1></header><article><div><span><h2><a class="anchor" aria-hidden="true" id="tls-authentication-overview"></a><a href=" [...]
+<p>TLS authentication is an extension of <a href="/docs/en/next/security-tls-transport">TLS transport encryption</a>. Not only servers have keys and certs that the client uses to verify the identity of servers, clients also have keys and certs that the server uses to verify the identity of clients. You must have TLS transport encryption configured on your cluster before you can use TLS authentication. This guide assumes you already have TLS transport encryption configured.</p>
+<h3><a class="anchor" aria-hidden="true" id="create-client-certificates"></a><a href="#create-client-certificates" 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 [...]
+<p>Client certificates are generated using the certificate authority. Server certificates are also generated with the same certificate authority.</p>
+<p>The biggest difference between client certs and server certs is that the <strong>common name</strong> for the client certificate is the <strong>role token</strong> which that client is authenticated as.</p>
+<p>First, you need to enter the follwing command to generate the key :</p>
 <pre><code class="hljs css language-bash">$ openssl genrsa -out admin.key.pem 2048
 </code></pre>
-<p>Similar to the broker, the client expects the key to be in <a href="https://en.wikipedia.org/wiki/PKCS_8">PKCS 8</a> format, so convert it.</p>
+<p>Similar to the broker, the client expects the key to be in <a href="https://en.wikipedia.org/wiki/PKCS_8">PKCS 8</a> format, so you need to convert it by entering the follwing command:</p>
 <pre><code class="hljs css language-bash">$ openssl pkcs8 -topk8 -inform PEM -outform PEM \
       -<span class="hljs-keyword">in</span> admin.key.pem -out admin.key-pk8.pem -nocrypt
 </code></pre>
-<p>Generate the certificate request. When asked for a <strong>common name</strong>, enter the <strong>role token</strong> which you want this key pair to authenticate a client as.</p>
+<p>Next, enter the command below to generate the certificate request. When you are asked for a <strong>common name</strong>, enter the <strong>role token</strong> that you want this key pair to authenticate a client as.</p>
 <pre><code class="hljs css language-bash">$ openssl req -config openssl.cnf \
       -key admin.key.pem -new -sha256 -out admin.csr.pem
 </code></pre>
 <blockquote>
 <p>Note
-If there is no openssl.cnf, please read <a href="http://pulsar.apache.org/docs/en/security-tls-transport/#certificate-authority">Certificate authority</a> to get the openssl.cnf.</p>
+If openssl.cnf is not specified, read <a href="http://pulsar.apache.org/docs/en/security-tls-transport/#certificate-authority">Certificate authority</a> to get the openssl.cnf.</p>
 </blockquote>
-<p>Sign with request with the certificate authority. Note that that client certs uses the <strong>usr_cert</strong> extension, which allows the cert to be used for client authentication.</p>
+<p>Then, enter the command below to sign with request with the certificate authority. Note that the client certs uses the <strong>usr_cert</strong> extension, which allows the cert to be used for client authentication.</p>
 <pre><code class="hljs css language-bash">$ openssl ca -config openssl.cnf -extensions usr_cert \
       -days 1000 -notext -md sha256 \
       -<span class="hljs-keyword">in</span> admin.csr.pem -out admin.cert.pem
 </code></pre>
-<p>This will give you a cert, <code>admin.cert.pem</code>, and a key, <code>admin.key-pk8.pem</code>, which, with <code>ca.cert.pem</code>, can be used by clients to authenticate themselves to brokers and proxies as the role token <code>admin</code>.</p>
+<p>You can get a cert, <code>admin.cert.pem</code>, and a key, <code>admin.key-pk8.pem</code> from this command. With <code>ca.cert.pem</code>, clients can use this cert and this key to authenticate themselves to brokers and proxies as the role token <code>admin</code>.</p>
 <blockquote>
 <p>Note
-If got &quot;unable to load CA private key&quot; error and the reason is &quot;No such file or directory: /etc/pki/CA/private/cakey.pem&quot; in this step. Please try :</p>
+If the &quot;unable to load CA private key&quot; error occurs and the reason of this error is &quot;No such file or directory: /etc/pki/CA/private/cakey.pem&quot; in this step. Try the command below:</p>
 <pre><code class="hljs css language-bash">$ <span class="hljs-built_in">cd</span> /etc/pki/tls/misc/CA
 $ ./CA -newca
 </code></pre>
 <p>to generate <code>cakey.pem</code> .</p>
 </blockquote>
-<h2><a class="anchor" aria-hidden="true" id="enabling-tls-authentication-"></a><a href="#enabling-tls-authentication-" 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 [...]
-<h3><a class="anchor" aria-hidden="true" id="on-brokers"></a><a href="#on-brokers" 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-.83.42-1 [...]
-<p>To configure brokers to authenticate clients, put the following in <code>broker.conf</code>, alongside <a href="/docs/en/next/security-tls-transport#broker-configuration">the configuration to enable tls transport</a>:</p>
+<h2><a class="anchor" aria-hidden="true" id="enable-tls-authentication-on-brokers"></a><a href="#enable-tls-authentication-on-brokers" 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 [...]
+<p>To configure brokers to authenticate clients, add the following parameters to <code>broker.conf</code>, alongside <a href="/docs/en/next/security-tls-transport#broker-configuration">the configuration to enable tls transport</a>:</p>
 <pre><code class="hljs css language-properties"><span class="hljs-comment"># Configuration to enable authentication</span>
 <span class="hljs-attr">authenticationEnabled</span>=<span class="hljs-string">true</span>
 <span class="hljs-attr">authenticationProviders</span>=<span class="hljs-string">org.apache.pulsar.broker.authentication.AuthenticationProviderTls</span>
 </code></pre>
-<h3><a class="anchor" aria-hidden="true" id="on-proxies"></a><a href="#on-proxies" 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-.83.42-1 [...]
-<p>To configure proxies to authenticate clients, put the folling in <code>proxy.conf</code>, alongside <a href="/docs/en/next/security-tls-transport#proxy-configuration">the configuration to enable tls transport</a>:</p>
-<p>The proxy should have its own client key pair for connecting to brokers. The role token for this key pair should be configured in the <code>proxyRoles</code> of the brokers. See the <a href="/docs/en/next/security-authorization">authorization guide</a> for more details.</p>
+<h2><a class="anchor" aria-hidden="true" id="enable-tls-authentication-on-proxies"></a><a href="#enable-tls-authentication-on-proxies" 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 [...]
+<p>To configure proxies to authenticate clients, add the following parameters to <code>proxy.conf</code>, alongside <a href="/docs/en/next/security-tls-transport#proxy-configuration">the configuration to enable tls transport</a>:</p>
+<p>The proxy should have its own client key pair for connecting to brokers. You need to configure the role token for this key pair in the <code>proxyRoles</code> of the brokers. See the <a href="/docs/en/next/security-authorization">authorization guide</a> for more details.</p>
 <pre><code class="hljs css language-properties"><span class="hljs-comment"># For clients connecting to the proxy</span>
 <span class="hljs-attr">authenticationEnabled</span>=<span class="hljs-string">true</span>
 <span class="hljs-attr">authenticationProviders</span>=<span class="hljs-string">org.apache.pulsar.broker.authentication.AuthenticationProviderTls</span>
@@ -127,10 +126,10 @@ $ ./CA -newca
 <span class="hljs-attr">brokerClientAuthenticationParameters</span>=<span class="hljs-string">tlsCertFile:/path/to/proxy.cert.pem,tlsKeyFile:/path/to/proxy.key-pk8.pem</span>
 </code></pre>
 <h2><a class="anchor" aria-hidden="true" id="client-configuration"></a><a href="#client-configuration" 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 [...]
-<p>When TLS authentication, the client needs to connect via TLS transport, so you need to configure the client to use <code>https://</code> and port 8443 for the web service URL, and <code>pulsar+ssl://</code> and port 6651 for the broker service URL.</p>
+<p>When you use TLS authentication, client connects via TLS transport. You need to configure the client to use <code>https://</code> and 8443 port for the web service URL, <code>pulsar+ssl://</code> and 6651 port for the broker service URL.</p>
 <h3><a class="anchor" aria-hidden="true" id="cli-tools"></a><a href="#cli-tools" 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-.83.42-1.6 [...]
 <p><a href="/docs/en/next/reference-cli-tools">Command-line tools</a> like <a href="/docs/en/next/pulsar-admin"><code>pulsar-admin</code></a>, <a href="/docs/en/next/reference-cli-tools#pulsar-perf"><code>pulsar-perf</code></a>, and <a href="/docs/en/next/reference-cli-tools#pulsar-client"><code>pulsar-client</code></a> use the <code>conf/client.conf</code> config file in a Pulsar installation.</p>
-<p>You'll need to add the following parameters to that file to use TLS authentication with Pulsar's CLI tools:</p>
+<p>You need to add the following parameters to that file to use TLS authentication with the CLI tools of Pulsar:</p>
 <pre><code class="hljs css language-properties"><span class="hljs-attr">webServiceUrl</span>=<span class="hljs-string">https://broker.example.com:8443/</span>
 <span class="hljs-attr">brokerServiceUrl</span>=<span class="hljs-string">pulsar+ssl://broker.example.com:6651/</span>
 <span class="hljs-attr">useTls</span>=<span class="hljs-string">true</span>
@@ -173,7 +172,7 @@ config.setAuth(auth);
 
 pulsar::<span class="hljs-function">Client <span class="hljs-title">client</span><span class="hljs-params">(<span class="hljs-string">"pulsar+ssl://broker.example.com:6651/"</span>, config)</span></span>;
 </code></pre>
-</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/en/next/security-tls-transport"><span class="arrow-prev">← </span><span>Transport Encryption using TLS</span></a><a class="docs-next button" href="/docs/en/next/security-token-client"><span>Client Authentication using tokens</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#tls-authentication-overview">TLS Authentication [...]
+</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/en/next/security-tls-transport"><span class="arrow-prev">← </span><span>Transport Encryption using TLS</span></a><a class="docs-next button" href="/docs/en/next/security-token-client"><span>Client Authentication using tokens</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#tls-authentication-overview">TLS authentication [...]
       const community = document.querySelector("a[href='#community']").parentNode;
       const communityMenu =
         '<li>' +
diff --git a/content/docs/fr/next/security-tls-authentication.html b/content/docs/fr/next/security-tls-authentication.html
index 912d5e9..ba92bda 100644
--- a/content/docs/fr/next/security-tls-authentication.html
+++ b/content/docs/fr/next/security-tls-authentication.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="fr"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Authentication using TLS · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="## TLS Authentication Overview"/><meta name="docsearch:version" content="next"/><meta name="docsearch:language" content="fr"/><meta property="og:title" content="Authentication using TLS · Apac [...]
+<!DOCTYPE html><html lang="fr"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Authentication using TLS · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="## TLS authentication overview"/><meta name="docsearch:version" content="next"/><meta name="docsearch:language" content="fr"/><meta property="og:title" content="Authentication using TLS · Apac [...]
               (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),
               m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
@@ -74,54 +74,52 @@
                 };
               }
             });
-        </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/fr" target="_blank" rel="noreferrer noopener">Translate</a><h1 class="postHeaderTitle">Authentication using TLS</h1></header><article><div><span><h2><a class="anchor" aria-hidden="true" id="tls-authentication-overview"></a><a href="#tls-authentication-overview" aria-hidden="true [...]
-<p>TLS authentication is an extension of <a href="/docs/fr/next/security-tls-transport">TLS transport encryption</a>, but instead of only servers having keys and certs which the client uses to verify the server's identity, clients also have keys and certs which the server uses to verify the client's identity. You must have TLS transport encryption configured on your cluster before you can use TLS authentication. This guide assumes you already have TLS transport encryption configured.</p>
-<h3><a class="anchor" aria-hidden="true" id="creating-client-certificates"></a><a href="#creating-client-certificates" 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>Client certificates are generated using the same certificate authority as was used to generate the server certificates.</p>
-<p>The biggest difference between client certs and server certs is that the <strong>common name</strong> for the client certificate is the <strong>role token</strong> which that client will be authenticated as.</p>
-<p>First generate the key.</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/fr" target="_blank" rel="noreferrer noopener">Translate</a><h1 class="postHeaderTitle">Authentication using TLS</h1></header><article><div><span><h2><a class="anchor" aria-hidden="true" id="tls-authentication-overview"></a><a href="#tls-authentication-overview" aria-hidden="true [...]
+<p>TLS authentication is an extension of <a href="/docs/fr/next/security-tls-transport">TLS transport encryption</a>. Not only servers have keys and certs that the client uses to verify the identity of servers, clients also have keys and certs that the server uses to verify the identity of clients. You must have TLS transport encryption configured on your cluster before you can use TLS authentication. This guide assumes you already have TLS transport encryption configured.</p>
+<h3><a class="anchor" aria-hidden="true" id="create-client-certificates"></a><a href="#create-client-certificates" 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 [...]
+<p>Client certificates are generated using the certificate authority. Server certificates are also generated with the same certificate authority.</p>
+<p>The biggest difference between client certs and server certs is that the <strong>common name</strong> for the client certificate is the <strong>role token</strong> which that client is authenticated as.</p>
+<p>First, you need to enter the follwing command to generate the key :</p>
 <pre><code class="hljs css language-bash">$ openssl genrsa -out admin.key.pem 2048
 </code></pre>
-<p>Similar to the broker, the client expects the key to be in <a href="https://en.wikipedia.org/wiki/PKCS_8">PKCS 8</a> format, so convert it.</p>
+<p>Similar to the broker, the client expects the key to be in <a href="https://en.wikipedia.org/wiki/PKCS_8">PKCS 8</a> format, so you need to convert it by entering the follwing command:</p>
 <pre><code class="hljs css language-bash">$ openssl pkcs8 -topk8 -inform PEM -outform PEM \
       -<span class="hljs-keyword">in</span> admin.key.pem -out admin.key-pk8.pem -nocrypt
 </code></pre>
-<p>Generate the certificate request. When asked for a <strong>common name</strong>, enter the <strong>role token</strong> which you want this key pair to authenticate a client as.</p>
+<p>Next, enter the command below to generate the certificate request. When you are asked for a <strong>common name</strong>, enter the <strong>role token</strong> that you want this key pair to authenticate a client as.</p>
 <pre><code class="hljs css language-bash">$ openssl req -config openssl.cnf \
       -key admin.key.pem -new -sha256 -out admin.csr.pem
 </code></pre>
 <blockquote>
-<p>Note If there is no openssl.cnf, please read <a href="http://pulsar.apache.org/docs/en/security-tls-transport/#certificate-authority">Certificate authority</a> to get the openssl.cnf.</p>
+<p>Note If openssl.cnf is not specified, read <a href="http://pulsar.apache.org/docs/en/security-tls-transport/#certificate-authority">Certificate authority</a> to get the openssl.cnf.</p>
 </blockquote>
-<p>Sign with request with the certificate authority. Note that that client certs uses the <strong>usr_cert</strong> extension, which allows the cert to be used for client authentication.</p>
+<p>Then, enter the command below to sign with request with the certificate authority. Note that the client certs uses the <strong>usr_cert</strong> extension, which allows the cert to be used for client authentication.</p>
 <pre><code class="hljs css language-bash">$ openssl ca -config openssl.cnf -extensions usr_cert \
       -days 1000 -notext -md sha256 \
       -<span class="hljs-keyword">in</span> admin.csr.pem -out admin.cert.pem
 </code></pre>
-<p>This will give you a cert, <code>admin.cert.pem</code>, and a key, <code>admin.key-pk8.pem</code>, which, with <code>ca.cert.pem</code>, can be used by clients to authenticate themselves to brokers and proxies as the role token <code>admin</code>.</p>
+<p>You can get a cert, <code>admin.cert.pem</code>, and a key, <code>admin.key-pk8.pem</code> from this command. With <code>ca.cert.pem</code>, clients can use this cert and this key to authenticate themselves to brokers and proxies as the role token <code>admin</code>.</p>
 <blockquote>
-<p>Note If got &quot;unable to load CA private key&quot; error and the reason is &quot;No such file or directory: /etc/pki/CA/private/cakey.pem&quot; in this step. Please try :</p>
+<p>Note If the &quot;unable to load CA private key&quot; error occurs and the reason of this error is &quot;No such file or directory: /etc/pki/CA/private/cakey.pem&quot; in this step. Try the command below:</p>
 <pre><code class="hljs css language-bash"></code></pre>
 </blockquote>
 <p>$ cd /etc/pki/tls/misc/CA
 $ ./CA -newca</p>
 <pre><code class="hljs">
-to generate <span class="hljs-code">`cakey.pem`</span> .
+<span class="hljs-keyword">to</span> generate `cakey.pem` .
 
-<span class="hljs-section">## Enabling TLS Authentication ...</span>
+## <span class="hljs-keyword">Enable</span> TLS authentication <span class="hljs-keyword">on</span> brokers
 
-<span class="hljs-section">### ... on Brokers</span>
+<span class="hljs-keyword">To</span> configure brokers <span class="hljs-keyword">to</span> authenticate clients, <span class="hljs-keyword">add</span> the <span class="hljs-keyword">following</span> parameters <span class="hljs-keyword">to</span> `broker.conf`, alongside [the <span class="hljs-keyword">configuration</span> <span class="hljs-keyword">to</span> <span class="hljs-keyword">enable</span> tls transport](<span class="hljs-keyword">security</span>-tls-transport.md#broker-<span  [...]
 
-To configure brokers to authenticate clients, put the following in <span class="hljs-code">`broker.conf`</span>, alongside [<span class="hljs-string">the configuration to enable tls transport</span>](<span class="hljs-link">security-tls-transport.md#broker-configuration</span>):
-
-<span class="hljs-code">```properties
-# Configuration to enable authentication
-authenticationEnabled=true
+```properties
+# <span class="hljs-keyword">Configuration</span> <span class="hljs-keyword">to</span> <span class="hljs-keyword">enable</span> authentication
+authenticationEnabled=<span class="hljs-keyword">true</span>
 authenticationProviders=org.apache.pulsar.broker.authentication.AuthenticationProviderTls
-</span></code></pre>
-<h3><a class="anchor" aria-hidden="true" id="on-proxies"></a><a href="#on-proxies" 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-.83.42-1 [...]
-<p>To configure proxies to authenticate clients, put the folling in <code>proxy.conf</code>, alongside <a href="security-tls-transport.md#proxy-configuration">the configuration to enable tls transport</a>:</p>
-<p>The proxy should have its own client key pair for connecting to brokers. The role token for this key pair should be configured in the <code>proxyRoles</code> of the brokers. See the <a href="security-authorization.md">authorization guide</a> for more details.</p>
+</code></pre>
+<h2><a class="anchor" aria-hidden="true" id="enable-tls-authentication-on-proxies"></a><a href="#enable-tls-authentication-on-proxies" 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 [...]
+<p>To configure proxies to authenticate clients, add the following parameters to <code>proxy.conf</code>, alongside <a href="security-tls-transport.md#proxy-configuration">the configuration to enable tls transport</a>:</p>
+<p>The proxy should have its own client key pair for connecting to brokers. You need to configure the role token for this key pair in the <code>proxyRoles</code> of the brokers. See the <a href="security-authorization.md">authorization guide</a> for more details.</p>
 <pre><code class="hljs css language-properties"><span class="hljs-comment"># For clients connecting to the proxy</span>
 <span class="hljs-attr">authenticationEnabled</span>=<span class="hljs-string">true</span>
 <span class="hljs-attr">authenticationProviders</span>=<span class="hljs-string">org.apache.pulsar.broker.authentication.AuthenticationProviderTls</span>
@@ -131,10 +129,10 @@ authenticationProviders=org.apache.pulsar.broker.authentication.AuthenticationPr
 <span class="hljs-attr">brokerClientAuthenticationParameters</span>=<span class="hljs-string">tlsCertFile:/path/to/proxy.cert.pem,tlsKeyFile:/path/to/proxy.key-pk8.pem</span>
 </code></pre>
 <h2><a class="anchor" aria-hidden="true" id="configuration-du-client"></a><a href="#configuration-du-client" 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 [...]
-<p>When TLS authentication, the client needs to connect via TLS transport, so you need to configure the client to use <code>https://</code> and port 8443 for the web service URL, and <code>pulsar+ssl://</code> and port 6651 for the broker service URL.</p>
+<p>When you use TLS authentication, client connects via TLS transport. You need to configure the client to use <code>https://</code> and 8443 port for the web service URL, <code>pulsar+ssl://</code> and 6651 port for the broker service URL.</p>
 <h3><a class="anchor" aria-hidden="true" id="cli-tools"></a><a href="#cli-tools" 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-.83.42-1.6 [...]
 <p><a href="reference-cli-tools.md">Command-line tools</a> like <a href="reference-pulsar-admin.md"><code>pulsar-admin</code></a>, <a href="reference-cli-tools.md#pulsar-perf"><code>pulsar-perf</code></a>, and <a href="reference-cli-tools.md#pulsar-client"><code>pulsar-client</code></a> use the <code>conf/client.conf</code> config file in a Pulsar installation.</p>
-<p>You'll need to add the following parameters to that file to use TLS authentication with Pulsar's CLI tools:</p>
+<p>You need to add the following parameters to that file to use TLS authentication with the CLI tools of Pulsar:</p>
 <pre><code class="hljs css language-properties"><span class="hljs-attr">webServiceUrl</span>=<span class="hljs-string">https://broker.example.com:8443/</span>
 <span class="hljs-attr">brokerServiceUrl</span>=<span class="hljs-string">pulsar+ssl://broker.example.com:6651/</span>
 <span class="hljs-attr">useTls</span>=<span class="hljs-string">true</span>
@@ -177,7 +175,7 @@ config.setAuth(auth);
 
 pulsar::<span class="hljs-function">Client <span class="hljs-title">client</span><span class="hljs-params">(<span class="hljs-string">"pulsar+ssl://broker.example.com:6651/"</span>, config)</span></span>;
 </code></pre>
-</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/fr/next/security-tls-transport"><span class="arrow-prev">← </span><span>Transport Encryption using TLS</span></a><a class="docs-next button" href="/docs/fr/next/security-token-client"><span>Client Authentication using tokens</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#tls-authentication-overview">TLS Authentication [...]
+</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/fr/next/security-tls-transport"><span class="arrow-prev">← </span><span>Transport Encryption using TLS</span></a><a class="docs-next button" href="/docs/fr/next/security-token-client"><span>Client Authentication using tokens</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#tls-authentication-overview">TLS authentication [...]
       const community = document.querySelector("a[href='#community']").parentNode;
       const communityMenu =
         '<li>' +
diff --git a/content/docs/fr/next/security-tls-authentication/index.html b/content/docs/fr/next/security-tls-authentication/index.html
index 912d5e9..ba92bda 100644
--- a/content/docs/fr/next/security-tls-authentication/index.html
+++ b/content/docs/fr/next/security-tls-authentication/index.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="fr"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Authentication using TLS · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="## TLS Authentication Overview"/><meta name="docsearch:version" content="next"/><meta name="docsearch:language" content="fr"/><meta property="og:title" content="Authentication using TLS · Apac [...]
+<!DOCTYPE html><html lang="fr"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Authentication using TLS · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="## TLS authentication overview"/><meta name="docsearch:version" content="next"/><meta name="docsearch:language" content="fr"/><meta property="og:title" content="Authentication using TLS · Apac [...]
               (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),
               m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
@@ -74,54 +74,52 @@
                 };
               }
             });
-        </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/fr" target="_blank" rel="noreferrer noopener">Translate</a><h1 class="postHeaderTitle">Authentication using TLS</h1></header><article><div><span><h2><a class="anchor" aria-hidden="true" id="tls-authentication-overview"></a><a href="#tls-authentication-overview" aria-hidden="true [...]
-<p>TLS authentication is an extension of <a href="/docs/fr/next/security-tls-transport">TLS transport encryption</a>, but instead of only servers having keys and certs which the client uses to verify the server's identity, clients also have keys and certs which the server uses to verify the client's identity. You must have TLS transport encryption configured on your cluster before you can use TLS authentication. This guide assumes you already have TLS transport encryption configured.</p>
-<h3><a class="anchor" aria-hidden="true" id="creating-client-certificates"></a><a href="#creating-client-certificates" 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>Client certificates are generated using the same certificate authority as was used to generate the server certificates.</p>
-<p>The biggest difference between client certs and server certs is that the <strong>common name</strong> for the client certificate is the <strong>role token</strong> which that client will be authenticated as.</p>
-<p>First generate the key.</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/fr" target="_blank" rel="noreferrer noopener">Translate</a><h1 class="postHeaderTitle">Authentication using TLS</h1></header><article><div><span><h2><a class="anchor" aria-hidden="true" id="tls-authentication-overview"></a><a href="#tls-authentication-overview" aria-hidden="true [...]
+<p>TLS authentication is an extension of <a href="/docs/fr/next/security-tls-transport">TLS transport encryption</a>. Not only servers have keys and certs that the client uses to verify the identity of servers, clients also have keys and certs that the server uses to verify the identity of clients. You must have TLS transport encryption configured on your cluster before you can use TLS authentication. This guide assumes you already have TLS transport encryption configured.</p>
+<h3><a class="anchor" aria-hidden="true" id="create-client-certificates"></a><a href="#create-client-certificates" 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 [...]
+<p>Client certificates are generated using the certificate authority. Server certificates are also generated with the same certificate authority.</p>
+<p>The biggest difference between client certs and server certs is that the <strong>common name</strong> for the client certificate is the <strong>role token</strong> which that client is authenticated as.</p>
+<p>First, you need to enter the follwing command to generate the key :</p>
 <pre><code class="hljs css language-bash">$ openssl genrsa -out admin.key.pem 2048
 </code></pre>
-<p>Similar to the broker, the client expects the key to be in <a href="https://en.wikipedia.org/wiki/PKCS_8">PKCS 8</a> format, so convert it.</p>
+<p>Similar to the broker, the client expects the key to be in <a href="https://en.wikipedia.org/wiki/PKCS_8">PKCS 8</a> format, so you need to convert it by entering the follwing command:</p>
 <pre><code class="hljs css language-bash">$ openssl pkcs8 -topk8 -inform PEM -outform PEM \
       -<span class="hljs-keyword">in</span> admin.key.pem -out admin.key-pk8.pem -nocrypt
 </code></pre>
-<p>Generate the certificate request. When asked for a <strong>common name</strong>, enter the <strong>role token</strong> which you want this key pair to authenticate a client as.</p>
+<p>Next, enter the command below to generate the certificate request. When you are asked for a <strong>common name</strong>, enter the <strong>role token</strong> that you want this key pair to authenticate a client as.</p>
 <pre><code class="hljs css language-bash">$ openssl req -config openssl.cnf \
       -key admin.key.pem -new -sha256 -out admin.csr.pem
 </code></pre>
 <blockquote>
-<p>Note If there is no openssl.cnf, please read <a href="http://pulsar.apache.org/docs/en/security-tls-transport/#certificate-authority">Certificate authority</a> to get the openssl.cnf.</p>
+<p>Note If openssl.cnf is not specified, read <a href="http://pulsar.apache.org/docs/en/security-tls-transport/#certificate-authority">Certificate authority</a> to get the openssl.cnf.</p>
 </blockquote>
-<p>Sign with request with the certificate authority. Note that that client certs uses the <strong>usr_cert</strong> extension, which allows the cert to be used for client authentication.</p>
+<p>Then, enter the command below to sign with request with the certificate authority. Note that the client certs uses the <strong>usr_cert</strong> extension, which allows the cert to be used for client authentication.</p>
 <pre><code class="hljs css language-bash">$ openssl ca -config openssl.cnf -extensions usr_cert \
       -days 1000 -notext -md sha256 \
       -<span class="hljs-keyword">in</span> admin.csr.pem -out admin.cert.pem
 </code></pre>
-<p>This will give you a cert, <code>admin.cert.pem</code>, and a key, <code>admin.key-pk8.pem</code>, which, with <code>ca.cert.pem</code>, can be used by clients to authenticate themselves to brokers and proxies as the role token <code>admin</code>.</p>
+<p>You can get a cert, <code>admin.cert.pem</code>, and a key, <code>admin.key-pk8.pem</code> from this command. With <code>ca.cert.pem</code>, clients can use this cert and this key to authenticate themselves to brokers and proxies as the role token <code>admin</code>.</p>
 <blockquote>
-<p>Note If got &quot;unable to load CA private key&quot; error and the reason is &quot;No such file or directory: /etc/pki/CA/private/cakey.pem&quot; in this step. Please try :</p>
+<p>Note If the &quot;unable to load CA private key&quot; error occurs and the reason of this error is &quot;No such file or directory: /etc/pki/CA/private/cakey.pem&quot; in this step. Try the command below:</p>
 <pre><code class="hljs css language-bash"></code></pre>
 </blockquote>
 <p>$ cd /etc/pki/tls/misc/CA
 $ ./CA -newca</p>
 <pre><code class="hljs">
-to generate <span class="hljs-code">`cakey.pem`</span> .
+<span class="hljs-keyword">to</span> generate `cakey.pem` .
 
-<span class="hljs-section">## Enabling TLS Authentication ...</span>
+## <span class="hljs-keyword">Enable</span> TLS authentication <span class="hljs-keyword">on</span> brokers
 
-<span class="hljs-section">### ... on Brokers</span>
+<span class="hljs-keyword">To</span> configure brokers <span class="hljs-keyword">to</span> authenticate clients, <span class="hljs-keyword">add</span> the <span class="hljs-keyword">following</span> parameters <span class="hljs-keyword">to</span> `broker.conf`, alongside [the <span class="hljs-keyword">configuration</span> <span class="hljs-keyword">to</span> <span class="hljs-keyword">enable</span> tls transport](<span class="hljs-keyword">security</span>-tls-transport.md#broker-<span  [...]
 
-To configure brokers to authenticate clients, put the following in <span class="hljs-code">`broker.conf`</span>, alongside [<span class="hljs-string">the configuration to enable tls transport</span>](<span class="hljs-link">security-tls-transport.md#broker-configuration</span>):
-
-<span class="hljs-code">```properties
-# Configuration to enable authentication
-authenticationEnabled=true
+```properties
+# <span class="hljs-keyword">Configuration</span> <span class="hljs-keyword">to</span> <span class="hljs-keyword">enable</span> authentication
+authenticationEnabled=<span class="hljs-keyword">true</span>
 authenticationProviders=org.apache.pulsar.broker.authentication.AuthenticationProviderTls
-</span></code></pre>
-<h3><a class="anchor" aria-hidden="true" id="on-proxies"></a><a href="#on-proxies" 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-.83.42-1 [...]
-<p>To configure proxies to authenticate clients, put the folling in <code>proxy.conf</code>, alongside <a href="security-tls-transport.md#proxy-configuration">the configuration to enable tls transport</a>:</p>
-<p>The proxy should have its own client key pair for connecting to brokers. The role token for this key pair should be configured in the <code>proxyRoles</code> of the brokers. See the <a href="security-authorization.md">authorization guide</a> for more details.</p>
+</code></pre>
+<h2><a class="anchor" aria-hidden="true" id="enable-tls-authentication-on-proxies"></a><a href="#enable-tls-authentication-on-proxies" 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 [...]
+<p>To configure proxies to authenticate clients, add the following parameters to <code>proxy.conf</code>, alongside <a href="security-tls-transport.md#proxy-configuration">the configuration to enable tls transport</a>:</p>
+<p>The proxy should have its own client key pair for connecting to brokers. You need to configure the role token for this key pair in the <code>proxyRoles</code> of the brokers. See the <a href="security-authorization.md">authorization guide</a> for more details.</p>
 <pre><code class="hljs css language-properties"><span class="hljs-comment"># For clients connecting to the proxy</span>
 <span class="hljs-attr">authenticationEnabled</span>=<span class="hljs-string">true</span>
 <span class="hljs-attr">authenticationProviders</span>=<span class="hljs-string">org.apache.pulsar.broker.authentication.AuthenticationProviderTls</span>
@@ -131,10 +129,10 @@ authenticationProviders=org.apache.pulsar.broker.authentication.AuthenticationPr
 <span class="hljs-attr">brokerClientAuthenticationParameters</span>=<span class="hljs-string">tlsCertFile:/path/to/proxy.cert.pem,tlsKeyFile:/path/to/proxy.key-pk8.pem</span>
 </code></pre>
 <h2><a class="anchor" aria-hidden="true" id="configuration-du-client"></a><a href="#configuration-du-client" 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 [...]
-<p>When TLS authentication, the client needs to connect via TLS transport, so you need to configure the client to use <code>https://</code> and port 8443 for the web service URL, and <code>pulsar+ssl://</code> and port 6651 for the broker service URL.</p>
+<p>When you use TLS authentication, client connects via TLS transport. You need to configure the client to use <code>https://</code> and 8443 port for the web service URL, <code>pulsar+ssl://</code> and 6651 port for the broker service URL.</p>
 <h3><a class="anchor" aria-hidden="true" id="cli-tools"></a><a href="#cli-tools" 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-.83.42-1.6 [...]
 <p><a href="reference-cli-tools.md">Command-line tools</a> like <a href="reference-pulsar-admin.md"><code>pulsar-admin</code></a>, <a href="reference-cli-tools.md#pulsar-perf"><code>pulsar-perf</code></a>, and <a href="reference-cli-tools.md#pulsar-client"><code>pulsar-client</code></a> use the <code>conf/client.conf</code> config file in a Pulsar installation.</p>
-<p>You'll need to add the following parameters to that file to use TLS authentication with Pulsar's CLI tools:</p>
+<p>You need to add the following parameters to that file to use TLS authentication with the CLI tools of Pulsar:</p>
 <pre><code class="hljs css language-properties"><span class="hljs-attr">webServiceUrl</span>=<span class="hljs-string">https://broker.example.com:8443/</span>
 <span class="hljs-attr">brokerServiceUrl</span>=<span class="hljs-string">pulsar+ssl://broker.example.com:6651/</span>
 <span class="hljs-attr">useTls</span>=<span class="hljs-string">true</span>
@@ -177,7 +175,7 @@ config.setAuth(auth);
 
 pulsar::<span class="hljs-function">Client <span class="hljs-title">client</span><span class="hljs-params">(<span class="hljs-string">"pulsar+ssl://broker.example.com:6651/"</span>, config)</span></span>;
 </code></pre>
-</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/fr/next/security-tls-transport"><span class="arrow-prev">← </span><span>Transport Encryption using TLS</span></a><a class="docs-next button" href="/docs/fr/next/security-token-client"><span>Client Authentication using tokens</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#tls-authentication-overview">TLS Authentication [...]
+</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/fr/next/security-tls-transport"><span class="arrow-prev">← </span><span>Transport Encryption using TLS</span></a><a class="docs-next button" href="/docs/fr/next/security-token-client"><span>Client Authentication using tokens</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#tls-authentication-overview">TLS authentication [...]
       const community = document.querySelector("a[href='#community']").parentNode;
       const communityMenu =
         '<li>' +
diff --git a/content/docs/ja/next/security-tls-authentication.html b/content/docs/ja/next/security-tls-authentication.html
index dcdcd19..6333ce7 100644
--- a/content/docs/ja/next/security-tls-authentication.html
+++ b/content/docs/ja/next/security-tls-authentication.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="ja"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Authentication using TLS · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="## TLS Authentication Overview"/><meta name="docsearch:version" content="next"/><meta name="docsearch:language" content="ja"/><meta property="og:title" content="Authentication using TLS · Apac [...]
+<!DOCTYPE html><html lang="ja"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Authentication using TLS · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="## TLS authentication overview"/><meta name="docsearch:version" content="next"/><meta name="docsearch:language" content="ja"/><meta property="og:title" content="Authentication using TLS · Apac [...]
               (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),
               m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
@@ -74,54 +74,52 @@
                 };
               }
             });
-        </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/ja" target="_blank" rel="noreferrer noopener">Translate</a><h1 class="postHeaderTitle">Authentication using TLS</h1></header><article><div><span><h2><a class="anchor" aria-hidden="true" id="tls-authentication-overview"></a><a href="#tls-authentication-overview" aria-hidden="true [...]
-<p>TLS authentication is an extension of <a href="/docs/ja/next/security-tls-transport">TLS transport encryption</a>, but instead of only servers having keys and certs which the client uses to verify the server's identity, clients also have keys and certs which the server uses to verify the client's identity. You must have TLS transport encryption configured on your cluster before you can use TLS authentication. This guide assumes you already have TLS transport encryption configured.</p>
-<h3><a class="anchor" aria-hidden="true" id="クライアント証明書の作成"></a><a href="#クライアント証明書の作成" 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-.83. [...]
-<p>Client certificates are generated using the same certificate authority as was used to generate the server certificates.</p>
-<p>クライアント証明書とサーバ証明書での一番大きな違いは、クライアント証明書の <strong>common name</strong> が<strong>ロールトークン</strong>であることです。これはクライアントがそのロールトークンとして認証されることを意味します。</p>
-<p>まず鍵を生成します。</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/ja" target="_blank" rel="noreferrer noopener">Translate</a><h1 class="postHeaderTitle">Authentication using TLS</h1></header><article><div><span><h2><a class="anchor" aria-hidden="true" id="tls-authentication-overview"></a><a href="#tls-authentication-overview" aria-hidden="true [...]
+<p>TLS authentication is an extension of <a href="/docs/ja/next/security-tls-transport">TLS transport encryption</a>. Not only servers have keys and certs that the client uses to verify the identity of servers, clients also have keys and certs that the server uses to verify the identity of clients. You must have TLS transport encryption configured on your cluster before you can use TLS authentication. This guide assumes you already have TLS transport encryption configured.</p>
+<h3><a class="anchor" aria-hidden="true" id="create-client-certificates"></a><a href="#create-client-certificates" 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 [...]
+<p>Client certificates are generated using the certificate authority. Server certificates are also generated with the same certificate authority.</p>
+<p>The biggest difference between client certs and server certs is that the <strong>common name</strong> for the client certificate is the <strong>role token</strong> which that client is authenticated as.</p>
+<p>First, you need to enter the follwing command to generate the key :</p>
 <pre><code class="hljs css language-bash">$ openssl genrsa -out admin.key.pem 2048
 </code></pre>
-<p>ブローカーと同様にクライアントもその鍵のフォーマットが<a href="https://en.wikipedia.org/wiki/PKCS_8">PKCS 8</a>であることを期待しているので変換します。</p>
+<p>Similar to the broker, the client expects the key to be in <a href="https://en.wikipedia.org/wiki/PKCS_8">PKCS 8</a> format, so you need to convert it by entering the follwing command:</p>
 <pre><code class="hljs css language-bash">$ openssl pkcs8 -topk8 -inform PEM -outform PEM \
       -<span class="hljs-keyword">in</span> admin.key.pem -out admin.key-pk8.pem -nocrypt
 </code></pre>
-<p>証明書署名要求を生成します。<strong>common name</strong> を求められたら<strong>ロールトークン</strong>を入力してください。この鍵ペアを使用するクライアントはここで入力したロールトークンで認証されます。</p>
+<p>Next, enter the command below to generate the certificate request. When you are asked for a <strong>common name</strong>, enter the <strong>role token</strong> that you want this key pair to authenticate a client as.</p>
 <pre><code class="hljs css language-bash">$ openssl req -config openssl.cnf \
       -key admin.key.pem -new -sha256 -out admin.csr.pem
 </code></pre>
 <blockquote>
-<p>Note If there is no openssl.cnf, please read <a href="http://pulsar.apache.org/docs/en/security-tls-transport/#certificate-authority">Certificate authority</a> to get the openssl.cnf.</p>
+<p>Note If openssl.cnf is not specified, read <a href="http://pulsar.apache.org/docs/en/security-tls-transport/#certificate-authority">Certificate authority</a> to get the openssl.cnf.</p>
 </blockquote>
-<p>Sign with request with the certificate authority. Note that that client certs uses the <strong>usr_cert</strong> extension, which allows the cert to be used for client authentication.</p>
+<p>Then, enter the command below to sign with request with the certificate authority. Note that the client certs uses the <strong>usr_cert</strong> extension, which allows the cert to be used for client authentication.</p>
 <pre><code class="hljs css language-bash">$ openssl ca -config openssl.cnf -extensions usr_cert \
       -days 1000 -notext -md sha256 \
       -<span class="hljs-keyword">in</span> admin.csr.pem -out admin.cert.pem
 </code></pre>
-<p>This will give you a cert, <code>admin.cert.pem</code>, and a key, <code>admin.key-pk8.pem</code>, which, with <code>ca.cert.pem</code>, can be used by clients to authenticate themselves to brokers and proxies as the role token <code>admin</code>.</p>
+<p>You can get a cert, <code>admin.cert.pem</code>, and a key, <code>admin.key-pk8.pem</code> from this command. With <code>ca.cert.pem</code>, clients can use this cert and this key to authenticate themselves to brokers and proxies as the role token <code>admin</code>.</p>
 <blockquote>
-<p>Note If got &quot;unable to load CA private key&quot; error and the reason is &quot;No such file or directory: /etc/pki/CA/private/cakey.pem&quot; in this step. Please try :</p>
+<p>Note If the &quot;unable to load CA private key&quot; error occurs and the reason of this error is &quot;No such file or directory: /etc/pki/CA/private/cakey.pem&quot; in this step. Try the command below:</p>
 <pre><code class="hljs css language-bash"></code></pre>
 </blockquote>
 <p>$ cd /etc/pki/tls/misc/CA
 $ ./CA -newca</p>
 <pre><code class="hljs">
-to generate <span class="hljs-code">`cakey.pem`</span> .
+<span class="hljs-keyword">to</span> generate `cakey.pem` .
 
-<span class="hljs-section">## TLS 認証の有効化</span>
+## <span class="hljs-keyword">Enable</span> TLS authentication <span class="hljs-keyword">on</span> brokers
 
-<span class="hljs-section">### ... on Brokers</span>
+<span class="hljs-keyword">To</span> configure brokers <span class="hljs-keyword">to</span> authenticate clients, <span class="hljs-keyword">add</span> the <span class="hljs-keyword">following</span> parameters <span class="hljs-keyword">to</span> `broker.conf`, alongside [the <span class="hljs-keyword">configuration</span> <span class="hljs-keyword">to</span> <span class="hljs-keyword">enable</span> tls transport](<span class="hljs-keyword">security</span>-tls-transport.md#broker-<span  [...]
 
-To configure brokers to authenticate clients, put the following in <span class="hljs-code">`broker.conf`</span>, alongside [<span class="hljs-string">the configuration to enable tls transport</span>](<span class="hljs-link">security-tls-transport.md#broker-configuration</span>):
-
-<span class="hljs-code">```properties
-# Configuration to enable authentication
-authenticationEnabled=true
+```properties
+# <span class="hljs-keyword">Configuration</span> <span class="hljs-keyword">to</span> <span class="hljs-keyword">enable</span> authentication
+authenticationEnabled=<span class="hljs-keyword">true</span>
 authenticationProviders=org.apache.pulsar.broker.authentication.AuthenticationProviderTls
-</span></code></pre>
-<h3><a class="anchor" aria-hidden="true" id="on-proxies"></a><a href="#on-proxies" 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-.83.42-1 [...]
-<p>To configure proxies to authenticate clients, put the folling in <code>proxy.conf</code>, alongside <a href="security-tls-transport.md#proxy-configuration">the configuration to enable tls transport</a>:</p>
-<p>The proxy should have its own client key pair for connecting to brokers. The role token for this key pair should be configured in the <code>proxyRoles</code> of the brokers. See the <a href="security-authorization.md">authorization guide</a> for more details.</p>
+</code></pre>
+<h2><a class="anchor" aria-hidden="true" id="enable-tls-authentication-on-proxies"></a><a href="#enable-tls-authentication-on-proxies" 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 [...]
+<p>To configure proxies to authenticate clients, add the following parameters to <code>proxy.conf</code>, alongside <a href="security-tls-transport.md#proxy-configuration">the configuration to enable tls transport</a>:</p>
+<p>The proxy should have its own client key pair for connecting to brokers. You need to configure the role token for this key pair in the <code>proxyRoles</code> of the brokers. See the <a href="security-authorization.md">authorization guide</a> for more details.</p>
 <pre><code class="hljs css language-properties"><span class="hljs-comment"># For clients connecting to the proxy</span>
 <span class="hljs-attr">authenticationEnabled</span>=<span class="hljs-string">true</span>
 <span class="hljs-attr">authenticationProviders</span>=<span class="hljs-string">org.apache.pulsar.broker.authentication.AuthenticationProviderTls</span>
@@ -131,10 +129,10 @@ authenticationProviders=org.apache.pulsar.broker.authentication.AuthenticationPr
 <span class="hljs-attr">brokerClientAuthenticationParameters</span>=<span class="hljs-string">tlsCertFile:/path/to/proxy.cert.pem,tlsKeyFile:/path/to/proxy.key-pk8.pem</span>
 </code></pre>
 <h2><a class="anchor" aria-hidden="true" id="client-configuration"></a><a href="#client-configuration" 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 [...]
-<p>When TLS authentication, the client needs to connect via TLS transport, so you need to configure the client to use <code>https://</code> and port 8443 for the web service URL, and <code>pulsar+ssl://</code> and port 6651 for the broker service URL.</p>
+<p>When you use TLS authentication, client connects via TLS transport. You need to configure the client to use <code>https://</code> and 8443 port for the web service URL, <code>pulsar+ssl://</code> and 6651 port for the broker service URL.</p>
 <h3><a class="anchor" aria-hidden="true" id="cli-ツール"></a><a href="#cli-ツール" 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-.83.42-1.64 1- [...]
 <p><a href="reference-cli-tools.md">Command-line tools</a> like <a href="reference-pulsar-admin.md"><code>pulsar-admin</code></a>, <a href="reference-cli-tools.md#pulsar-perf"><code>pulsar-perf</code></a>, and <a href="reference-cli-tools.md#pulsar-client"><code>pulsar-client</code></a> use the <code>conf/client.conf</code> config file in a Pulsar installation.</p>
-<p>You'll need to add the following parameters to that file to use TLS authentication with Pulsar's CLI tools:</p>
+<p>You need to add the following parameters to that file to use TLS authentication with the CLI tools of Pulsar:</p>
 <pre><code class="hljs css language-properties"><span class="hljs-attr">webServiceUrl</span>=<span class="hljs-string">https://broker.example.com:8443/</span>
 <span class="hljs-attr">brokerServiceUrl</span>=<span class="hljs-string">pulsar+ssl://broker.example.com:6651/</span>
 <span class="hljs-attr">useTls</span>=<span class="hljs-string">true</span>
@@ -177,7 +175,7 @@ config.setAuth(auth);
 
 pulsar::<span class="hljs-function">Client <span class="hljs-title">client</span><span class="hljs-params">(<span class="hljs-string">"pulsar+ssl://broker.example.com:6651/"</span>, config)</span></span>;
 </code></pre>
-</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/ja/next/security-tls-transport"><span class="arrow-prev">← </span><span>Transport Encryption using TLS</span></a><a class="docs-next button" href="/docs/ja/next/security-token-client"><span>Client Authentication using tokens</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#tls-authentication-overview">TLS Authentication [...]
+</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/ja/next/security-tls-transport"><span class="arrow-prev">← </span><span>Transport Encryption using TLS</span></a><a class="docs-next button" href="/docs/ja/next/security-token-client"><span>Client Authentication using tokens</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#tls-authentication-overview">TLS authentication [...]
       const community = document.querySelector("a[href='#community']").parentNode;
       const communityMenu =
         '<li>' +
diff --git a/content/docs/ja/next/security-tls-authentication/index.html b/content/docs/ja/next/security-tls-authentication/index.html
index dcdcd19..6333ce7 100644
--- a/content/docs/ja/next/security-tls-authentication/index.html
+++ b/content/docs/ja/next/security-tls-authentication/index.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="ja"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Authentication using TLS · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="## TLS Authentication Overview"/><meta name="docsearch:version" content="next"/><meta name="docsearch:language" content="ja"/><meta property="og:title" content="Authentication using TLS · Apac [...]
+<!DOCTYPE html><html lang="ja"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Authentication using TLS · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="## TLS authentication overview"/><meta name="docsearch:version" content="next"/><meta name="docsearch:language" content="ja"/><meta property="og:title" content="Authentication using TLS · Apac [...]
               (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),
               m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
@@ -74,54 +74,52 @@
                 };
               }
             });
-        </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/ja" target="_blank" rel="noreferrer noopener">Translate</a><h1 class="postHeaderTitle">Authentication using TLS</h1></header><article><div><span><h2><a class="anchor" aria-hidden="true" id="tls-authentication-overview"></a><a href="#tls-authentication-overview" aria-hidden="true [...]
-<p>TLS authentication is an extension of <a href="/docs/ja/next/security-tls-transport">TLS transport encryption</a>, but instead of only servers having keys and certs which the client uses to verify the server's identity, clients also have keys and certs which the server uses to verify the client's identity. You must have TLS transport encryption configured on your cluster before you can use TLS authentication. This guide assumes you already have TLS transport encryption configured.</p>
-<h3><a class="anchor" aria-hidden="true" id="クライアント証明書の作成"></a><a href="#クライアント証明書の作成" 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-.83. [...]
-<p>Client certificates are generated using the same certificate authority as was used to generate the server certificates.</p>
-<p>クライアント証明書とサーバ証明書での一番大きな違いは、クライアント証明書の <strong>common name</strong> が<strong>ロールトークン</strong>であることです。これはクライアントがそのロールトークンとして認証されることを意味します。</p>
-<p>まず鍵を生成します。</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/ja" target="_blank" rel="noreferrer noopener">Translate</a><h1 class="postHeaderTitle">Authentication using TLS</h1></header><article><div><span><h2><a class="anchor" aria-hidden="true" id="tls-authentication-overview"></a><a href="#tls-authentication-overview" aria-hidden="true [...]
+<p>TLS authentication is an extension of <a href="/docs/ja/next/security-tls-transport">TLS transport encryption</a>. Not only servers have keys and certs that the client uses to verify the identity of servers, clients also have keys and certs that the server uses to verify the identity of clients. You must have TLS transport encryption configured on your cluster before you can use TLS authentication. This guide assumes you already have TLS transport encryption configured.</p>
+<h3><a class="anchor" aria-hidden="true" id="create-client-certificates"></a><a href="#create-client-certificates" 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 [...]
+<p>Client certificates are generated using the certificate authority. Server certificates are also generated with the same certificate authority.</p>
+<p>The biggest difference between client certs and server certs is that the <strong>common name</strong> for the client certificate is the <strong>role token</strong> which that client is authenticated as.</p>
+<p>First, you need to enter the follwing command to generate the key :</p>
 <pre><code class="hljs css language-bash">$ openssl genrsa -out admin.key.pem 2048
 </code></pre>
-<p>ブローカーと同様にクライアントもその鍵のフォーマットが<a href="https://en.wikipedia.org/wiki/PKCS_8">PKCS 8</a>であることを期待しているので変換します。</p>
+<p>Similar to the broker, the client expects the key to be in <a href="https://en.wikipedia.org/wiki/PKCS_8">PKCS 8</a> format, so you need to convert it by entering the follwing command:</p>
 <pre><code class="hljs css language-bash">$ openssl pkcs8 -topk8 -inform PEM -outform PEM \
       -<span class="hljs-keyword">in</span> admin.key.pem -out admin.key-pk8.pem -nocrypt
 </code></pre>
-<p>証明書署名要求を生成します。<strong>common name</strong> を求められたら<strong>ロールトークン</strong>を入力してください。この鍵ペアを使用するクライアントはここで入力したロールトークンで認証されます。</p>
+<p>Next, enter the command below to generate the certificate request. When you are asked for a <strong>common name</strong>, enter the <strong>role token</strong> that you want this key pair to authenticate a client as.</p>
 <pre><code class="hljs css language-bash">$ openssl req -config openssl.cnf \
       -key admin.key.pem -new -sha256 -out admin.csr.pem
 </code></pre>
 <blockquote>
-<p>Note If there is no openssl.cnf, please read <a href="http://pulsar.apache.org/docs/en/security-tls-transport/#certificate-authority">Certificate authority</a> to get the openssl.cnf.</p>
+<p>Note If openssl.cnf is not specified, read <a href="http://pulsar.apache.org/docs/en/security-tls-transport/#certificate-authority">Certificate authority</a> to get the openssl.cnf.</p>
 </blockquote>
-<p>Sign with request with the certificate authority. Note that that client certs uses the <strong>usr_cert</strong> extension, which allows the cert to be used for client authentication.</p>
+<p>Then, enter the command below to sign with request with the certificate authority. Note that the client certs uses the <strong>usr_cert</strong> extension, which allows the cert to be used for client authentication.</p>
 <pre><code class="hljs css language-bash">$ openssl ca -config openssl.cnf -extensions usr_cert \
       -days 1000 -notext -md sha256 \
       -<span class="hljs-keyword">in</span> admin.csr.pem -out admin.cert.pem
 </code></pre>
-<p>This will give you a cert, <code>admin.cert.pem</code>, and a key, <code>admin.key-pk8.pem</code>, which, with <code>ca.cert.pem</code>, can be used by clients to authenticate themselves to brokers and proxies as the role token <code>admin</code>.</p>
+<p>You can get a cert, <code>admin.cert.pem</code>, and a key, <code>admin.key-pk8.pem</code> from this command. With <code>ca.cert.pem</code>, clients can use this cert and this key to authenticate themselves to brokers and proxies as the role token <code>admin</code>.</p>
 <blockquote>
-<p>Note If got &quot;unable to load CA private key&quot; error and the reason is &quot;No such file or directory: /etc/pki/CA/private/cakey.pem&quot; in this step. Please try :</p>
+<p>Note If the &quot;unable to load CA private key&quot; error occurs and the reason of this error is &quot;No such file or directory: /etc/pki/CA/private/cakey.pem&quot; in this step. Try the command below:</p>
 <pre><code class="hljs css language-bash"></code></pre>
 </blockquote>
 <p>$ cd /etc/pki/tls/misc/CA
 $ ./CA -newca</p>
 <pre><code class="hljs">
-to generate <span class="hljs-code">`cakey.pem`</span> .
+<span class="hljs-keyword">to</span> generate `cakey.pem` .
 
-<span class="hljs-section">## TLS 認証の有効化</span>
+## <span class="hljs-keyword">Enable</span> TLS authentication <span class="hljs-keyword">on</span> brokers
 
-<span class="hljs-section">### ... on Brokers</span>
+<span class="hljs-keyword">To</span> configure brokers <span class="hljs-keyword">to</span> authenticate clients, <span class="hljs-keyword">add</span> the <span class="hljs-keyword">following</span> parameters <span class="hljs-keyword">to</span> `broker.conf`, alongside [the <span class="hljs-keyword">configuration</span> <span class="hljs-keyword">to</span> <span class="hljs-keyword">enable</span> tls transport](<span class="hljs-keyword">security</span>-tls-transport.md#broker-<span  [...]
 
-To configure brokers to authenticate clients, put the following in <span class="hljs-code">`broker.conf`</span>, alongside [<span class="hljs-string">the configuration to enable tls transport</span>](<span class="hljs-link">security-tls-transport.md#broker-configuration</span>):
-
-<span class="hljs-code">```properties
-# Configuration to enable authentication
-authenticationEnabled=true
+```properties
+# <span class="hljs-keyword">Configuration</span> <span class="hljs-keyword">to</span> <span class="hljs-keyword">enable</span> authentication
+authenticationEnabled=<span class="hljs-keyword">true</span>
 authenticationProviders=org.apache.pulsar.broker.authentication.AuthenticationProviderTls
-</span></code></pre>
-<h3><a class="anchor" aria-hidden="true" id="on-proxies"></a><a href="#on-proxies" 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-.83.42-1 [...]
-<p>To configure proxies to authenticate clients, put the folling in <code>proxy.conf</code>, alongside <a href="security-tls-transport.md#proxy-configuration">the configuration to enable tls transport</a>:</p>
-<p>The proxy should have its own client key pair for connecting to brokers. The role token for this key pair should be configured in the <code>proxyRoles</code> of the brokers. See the <a href="security-authorization.md">authorization guide</a> for more details.</p>
+</code></pre>
+<h2><a class="anchor" aria-hidden="true" id="enable-tls-authentication-on-proxies"></a><a href="#enable-tls-authentication-on-proxies" 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 [...]
+<p>To configure proxies to authenticate clients, add the following parameters to <code>proxy.conf</code>, alongside <a href="security-tls-transport.md#proxy-configuration">the configuration to enable tls transport</a>:</p>
+<p>The proxy should have its own client key pair for connecting to brokers. You need to configure the role token for this key pair in the <code>proxyRoles</code> of the brokers. See the <a href="security-authorization.md">authorization guide</a> for more details.</p>
 <pre><code class="hljs css language-properties"><span class="hljs-comment"># For clients connecting to the proxy</span>
 <span class="hljs-attr">authenticationEnabled</span>=<span class="hljs-string">true</span>
 <span class="hljs-attr">authenticationProviders</span>=<span class="hljs-string">org.apache.pulsar.broker.authentication.AuthenticationProviderTls</span>
@@ -131,10 +129,10 @@ authenticationProviders=org.apache.pulsar.broker.authentication.AuthenticationPr
 <span class="hljs-attr">brokerClientAuthenticationParameters</span>=<span class="hljs-string">tlsCertFile:/path/to/proxy.cert.pem,tlsKeyFile:/path/to/proxy.key-pk8.pem</span>
 </code></pre>
 <h2><a class="anchor" aria-hidden="true" id="client-configuration"></a><a href="#client-configuration" 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 [...]
-<p>When TLS authentication, the client needs to connect via TLS transport, so you need to configure the client to use <code>https://</code> and port 8443 for the web service URL, and <code>pulsar+ssl://</code> and port 6651 for the broker service URL.</p>
+<p>When you use TLS authentication, client connects via TLS transport. You need to configure the client to use <code>https://</code> and 8443 port for the web service URL, <code>pulsar+ssl://</code> and 6651 port for the broker service URL.</p>
 <h3><a class="anchor" aria-hidden="true" id="cli-ツール"></a><a href="#cli-ツール" 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-.83.42-1.64 1- [...]
 <p><a href="reference-cli-tools.md">Command-line tools</a> like <a href="reference-pulsar-admin.md"><code>pulsar-admin</code></a>, <a href="reference-cli-tools.md#pulsar-perf"><code>pulsar-perf</code></a>, and <a href="reference-cli-tools.md#pulsar-client"><code>pulsar-client</code></a> use the <code>conf/client.conf</code> config file in a Pulsar installation.</p>
-<p>You'll need to add the following parameters to that file to use TLS authentication with Pulsar's CLI tools:</p>
+<p>You need to add the following parameters to that file to use TLS authentication with the CLI tools of Pulsar:</p>
 <pre><code class="hljs css language-properties"><span class="hljs-attr">webServiceUrl</span>=<span class="hljs-string">https://broker.example.com:8443/</span>
 <span class="hljs-attr">brokerServiceUrl</span>=<span class="hljs-string">pulsar+ssl://broker.example.com:6651/</span>
 <span class="hljs-attr">useTls</span>=<span class="hljs-string">true</span>
@@ -177,7 +175,7 @@ config.setAuth(auth);
 
 pulsar::<span class="hljs-function">Client <span class="hljs-title">client</span><span class="hljs-params">(<span class="hljs-string">"pulsar+ssl://broker.example.com:6651/"</span>, config)</span></span>;
 </code></pre>
-</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/ja/next/security-tls-transport"><span class="arrow-prev">← </span><span>Transport Encryption using TLS</span></a><a class="docs-next button" href="/docs/ja/next/security-token-client"><span>Client Authentication using tokens</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#tls-authentication-overview">TLS Authentication [...]
+</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/ja/next/security-tls-transport"><span class="arrow-prev">← </span><span>Transport Encryption using TLS</span></a><a class="docs-next button" href="/docs/ja/next/security-token-client"><span>Client Authentication using tokens</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#tls-authentication-overview">TLS authentication [...]
       const community = document.querySelector("a[href='#community']").parentNode;
       const communityMenu =
         '<li>' +
diff --git a/content/docs/zh-CN/2.1.0-incubating/client-libraries.html b/content/docs/zh-CN/2.1.0-incubating/client-libraries.html
index d1129ca..d7ef51f 100644
--- a/content/docs/zh-CN/2.1.0-incubating/client-libraries.html
+++ b/content/docs/zh-CN/2.1.0-incubating/client-libraries.html
@@ -105,7 +105,7 @@
 <p>This matrix lists all the features among different languages in Pulsar 2.4.0 release.</p>
 <table>
 <thead>
-<tr><th style="text-align:left">Feature</th><th style="text-align:center">Java</th><th style="text-align:center">C++</th><th style="text-align:center">Go</th><th style="text-align:center">Python</th><th style="text-align:center">WebSocket</th></tr>
+<tr><th style="text-align:left">特性</th><th style="text-align:center">Java</th><th style="text-align:center">C++</th><th style="text-align:center">Go</th><th style="text-align:center">Python</th><th style="text-align:center">WebSocket</th></tr>
 </thead>
 <tbody>
 <tr><td style="text-align:left">Partitioned topics</td><td style="text-align:center">✅</td><td style="text-align:center">✅</td><td style="text-align:center">✅</td><td style="text-align:center">✅</td><td style="text-align:center">✅</td></tr>
diff --git a/content/docs/zh-CN/2.1.0-incubating/client-libraries/index.html b/content/docs/zh-CN/2.1.0-incubating/client-libraries/index.html
index d1129ca..d7ef51f 100644
--- a/content/docs/zh-CN/2.1.0-incubating/client-libraries/index.html
+++ b/content/docs/zh-CN/2.1.0-incubating/client-libraries/index.html
@@ -105,7 +105,7 @@
 <p>This matrix lists all the features among different languages in Pulsar 2.4.0 release.</p>
 <table>
 <thead>
-<tr><th style="text-align:left">Feature</th><th style="text-align:center">Java</th><th style="text-align:center">C++</th><th style="text-align:center">Go</th><th style="text-align:center">Python</th><th style="text-align:center">WebSocket</th></tr>
+<tr><th style="text-align:left">特性</th><th style="text-align:center">Java</th><th style="text-align:center">C++</th><th style="text-align:center">Go</th><th style="text-align:center">Python</th><th style="text-align:center">WebSocket</th></tr>
 </thead>
 <tbody>
 <tr><td style="text-align:left">Partitioned topics</td><td style="text-align:center">✅</td><td style="text-align:center">✅</td><td style="text-align:center">✅</td><td style="text-align:center">✅</td><td style="text-align:center">✅</td></tr>
diff --git a/content/docs/zh-CN/2.1.0-incubating/concepts-architecture-overview.html b/content/docs/zh-CN/2.1.0-incubating/concepts-architecture-overview.html
index 2691a40..09e502f 100644
--- a/content/docs/zh-CN/2.1.0-incubating/concepts-architecture-overview.html
+++ b/content/docs/zh-CN/2.1.0-incubating/concepts-architecture-overview.html
@@ -128,7 +128,7 @@
 </ul>
 <p>除了消息数据,<em>cursors</em>也会被持久化入BookKeeper。 Cursors是消费端<a href="/docs/zh-CN/2.1.0-incubating/reference-terminology#subscription">订阅</a>消费的位置。 BookKeeper让Pulsar可以用一种可扩展的方式存储消费位置。</p>
 <p>目前,Pulsar只支持持久消息存储。这是所有topic名称都是持久不可变的原因。这里有一个例子:</p>
-<pre><code class="hljs css language-http">persistent://my-tenant/my-namespace/my-topic
+<pre><code class="hljs css language-http">persistent://tenant/namespace/topic
 </code></pre>
 <blockquote>
 <p>Pulsar也支持临时消息( (<a href="/docs/zh-CN/2.1.0-incubating/concepts-messaging#non-persistent-topics">非持久消息</a>) )存储。</p>
diff --git a/content/docs/zh-CN/2.1.0-incubating/concepts-architecture-overview/index.html b/content/docs/zh-CN/2.1.0-incubating/concepts-architecture-overview/index.html
index 2691a40..09e502f 100644
--- a/content/docs/zh-CN/2.1.0-incubating/concepts-architecture-overview/index.html
+++ b/content/docs/zh-CN/2.1.0-incubating/concepts-architecture-overview/index.html
@@ -128,7 +128,7 @@
 </ul>
 <p>除了消息数据,<em>cursors</em>也会被持久化入BookKeeper。 Cursors是消费端<a href="/docs/zh-CN/2.1.0-incubating/reference-terminology#subscription">订阅</a>消费的位置。 BookKeeper让Pulsar可以用一种可扩展的方式存储消费位置。</p>
 <p>目前,Pulsar只支持持久消息存储。这是所有topic名称都是持久不可变的原因。这里有一个例子:</p>
-<pre><code class="hljs css language-http">persistent://my-tenant/my-namespace/my-topic
+<pre><code class="hljs css language-http">persistent://tenant/namespace/topic
 </code></pre>
 <blockquote>
 <p>Pulsar也支持临时消息( (<a href="/docs/zh-CN/2.1.0-incubating/concepts-messaging#non-persistent-topics">非持久消息</a>) )存储。</p>
diff --git a/content/docs/zh-CN/2.1.0-incubating/pulsar-2.0.html b/content/docs/zh-CN/2.1.0-incubating/pulsar-2.0.html
index ed875b2..22d0bb5 100644
--- a/content/docs/zh-CN/2.1.0-incubating/pulsar-2.0.html
+++ b/content/docs/zh-CN/2.1.0-incubating/pulsar-2.0.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="zh-CN"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Pulsar 2.0 · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar 2.0 is a major new release for Pulsar that brings some bold changes to the platform, including [simplified topic names](#topic-names), the addition of the [Pulsar Functions](/docs/zh-CN/2.1.0-incu [...]
+<!DOCTYPE html><html lang="zh-CN"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Pulsar 2.0 · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar 2.0是Pulsar的新发布版本,为平台带来了海量的变化,包括[简化的Topic名字](#topic-names),以及[Pulsar Functions](/docs/zh-CN/2.1.0-incubating/functions-overview)特性,同时还有一些术语的变化等等。"/><meta name="docsearch:version" content="2.1.0-inc [...]
               (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),
               m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
@@ -74,42 +74,42 @@
                 };
               }
             });
-        </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">Pulsar 2.0</h1></header><article><div><span><p>Pulsar 2.0 is a major new release for Pulsar that brings some bold changes to the platform, including <a href="#topic-names">simplified topic  [...]
-<h2><a class="anchor" aria-hidden="true" id="new-features-in-pulsar-20"></a><a href="#new-features-in-pulsar-20" 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 [...]
+        </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">Pulsar 2.0</h1></header><article><div><span><p>Pulsar 2.0是Pulsar的新发布版本,为平台带来了海量的变化,包括<a href="#topic-names">简化的Topic名字</a>,以及<a href="/docs/zh-CN/2.1.0-incubating/functions-overview">Pulsar [...]
+<h2><a class="anchor" aria-hidden="true" id="pulsar-20-新特性"></a><a href="#pulsar-20-新特性" 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 [...]
 <table>
 <thead>
-<tr><th style="text-align:left">Feature</th><th style="text-align:left">说明:</th></tr>
+<tr><th style="text-align:left">特性</th><th style="text-align:left">说明:</th></tr>
 </thead>
 <tbody>
-<tr><td style="text-align:left"><a href="/docs/zh-CN/2.1.0-incubating/functions-overview">Pulsar Functions</a></td><td style="text-align:left">A lightweight compute option for Pulsar</td></tr>
+<tr><td style="text-align:left"><a href="/docs/zh-CN/2.1.0-incubating/functions-overview">Pulsar Functions</a></td><td style="text-align:left">Pulsar的一个轻量级的运算功能</td></tr>
 </tbody>
 </table>
-<h2><a class="anchor" aria-hidden="true" id="major-changes"></a><a href="#major-changes" 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>There are a few major changes that you should be aware of, as they may significantly impact your day-to-day usage.</p>
-<h3><a class="anchor" aria-hidden="true" id="properties-versus-tenants"></a><a href="#properties-versus-tenants" 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 [...]
-<p>Previously, Pulsar had a concept of properties. A property is essentially the exact same thing as a tenant, so the &quot;property&quot; terminology has been removed in version 2.0. The <a href="/docs/zh-CN/2.1.0-incubating/pulsar-admin#pulsar-admin"><code>pulsar-admin properties</code></a> command-line interface, for example, has been replaced with the <a href="/docs/zh-CN/2.1.0-incubating/pulsar-admin#pulsar-admin-tenants"><code>pulsar-admin tenants</code></a> interface. In some case [...]
-<h3><a class="anchor" aria-hidden="true" id="topic-names"></a><a href="#topic-names" 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-.83.42 [...]
-<p>Prior to version 2.0, <em>all</em> Pulsar topics had the following form:</p>
+<h2><a class="anchor" aria-hidden="true" id="主要变化"></a><a href="#主要变化" 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-.83.42-1.64 1-2.09V6 [...]
+<p>你需要注意一些主要变化,这些会对你日常使用产生影响</p>
+<h3><a class="anchor" aria-hidden="true" id="properties-vs-tenants"></a><a href="#properties-vs-tenants" 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 [...]
+<p>此前,Pulsar有一个properties(属性)的概念。 一个property和tenant本质上是一个东西,所以property这个术语从2.0版本开始就取消了。例如,<a href="/docs/zh-CN/2.1.0-incubating/pulsar-admin#pulsar-admin"><code>pulsar-admin properties</code></a>命令行接口被替换成了<a href="/docs/zh-CN/2.1.0-incubating/pulsar-admin#pulsar-admin-tenants"><code>pulsar-admin tenants</code></a> 在某些情况下,properties术语仍然有效,但是未来版本也会慢慢弃用。</p>
+<h3><a class="anchor" aria-hidden="true" id="topic名字"></a><a href="#topic名字" 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-.83.42-1.64 1- [...]
+<p>在2.0版本之前,<em>所有</em>Pulsar topic有如下形态</p>
 <pre><code class="hljs css language-http">{persistent|non-persistent}://property/cluster/namespace/topic
 </code></pre>
-<p>Two important changes have been made in Pulsar 2.0:</p>
+<p>2.0中有两个重要改变:</p>
 <ul>
-<li>There is no longer a <a href="#no-cluster">cluster component</a></li>
-<li>Properties have been <a href="#tenants">renamed to tenants</a></li>
-<li>You can use a <a href="#flexible-topic-naming">flexible</a> naming system to shorten many topic names</li>
+<li>不再有 <a href="#no-cluster">cluster component集群组件</a></li>
+<li>Properties被<a href="#tenants">改名为 tenants</a></li>
+<li>你可以使用<a href="#flexible-topic-naming">灵活的</a>命名系统来缩短Topic名字。</li>
 </ul>
-<h4><a class="anchor" aria-hidden="true" id="no-cluster-component"></a><a href="#no-cluster-component" 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 [...]
-<p>The cluster component has been removed from topic names. Thus, all topic names now have the following form:</p>
+<h4><a class="anchor" aria-hidden="true" id="没有cluster-component集群组件"></a><a href="#没有cluster-component集群组件" 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 [...]
+<p>集群组件cluster component从Topic名字中去掉,因此,所有Topic名字现在形态为:</p>
 <pre><code class="hljs css language-http">{persistent|non-persistent}://tenant/namespace/topic
 </code></pre>
 <blockquote>
-<p>Existing topics that use the legacy name format will continue to work without any change, and there are no plans to change that.</p>
+<p>已经存在的topics可能使用了之前的命名方式,可以继续工作,没有后续计划会修改。</p>
 </blockquote>
-<h4><a class="anchor" aria-hidden="true" id="flexible-topic-naming"></a><a href="#flexible-topic-naming" 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 [...]
-<p>All topic names in Pulsar 2.0 internally have the form shown <a href="#no-cluster-component">above</a> but you can now use shorthand names in many cases (for the sake of simplicity). The flexible naming system stems from the fact that there is now a default topic type, tenant, and namespace:</p>
+<h4><a class="anchor" aria-hidden="true" id="灵活的topic命名"></a><a href="#灵活的topic命名" 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-.83.42-1 [...]
+<p>在Pulsar 2.0内部,所有Topic名字形态<a href="#no-cluster-component">如上</a>,但是你现在可以通过简化使用更便捷的名字。 灵活命名系统有默认的topic type,tenant以及命名空间namesapce:</p>
 <table>
 <thead>
-<tr><th style="text-align:left">Topic aspect</th><th style="text-align:left">默认值</th></tr>
+<tr><th style="text-align:left">Topic 方面</th><th style="text-align:left">默认值</th></tr>
 </thead>
 <tbody>
 <tr><td style="text-align:left">topic type</td><td style="text-align:left"><code>persistent</code></td></tr>
@@ -117,20 +117,20 @@
 <tr><td style="text-align:left">namespace</td><td style="text-align:left"><code>default</code></td></tr>
 </tbody>
 </table>
-<p>The table below shows some example topic name translations that use implicit defaults:</p>
+<p>下表展示了一些topic名字默认自动转换的例子:</p>
 <table>
 <thead>
-<tr><th style="text-align:left">Input topic name</th><th style="text-align:left">Translated topic name</th></tr>
+<tr><th style="text-align:left">输入隐式topic名字</th><th style="text-align:left">默认转换成完整topic 名字</th></tr>
 </thead>
 <tbody>
 <tr><td style="text-align:left"><code>my-topic</code></td><td style="text-align:left"><code>persistent://public/default/my-topic</code></td></tr>
-<tr><td style="text-align:left"><code>my-tenant/my-namespace/my-topic</code></td><td style="text-align:left"><code>persistent://my-tenant/my-namespace/my-topic</code></td></tr>
+<tr><td style="text-align:left"><code>my-tenant/my-namespace/my-topic</code></td><td style="text-align:left"><code>persistent://tenant/namespace/topic</code></td></tr>
 </tbody>
 </table>
 <blockquote>
-<p>For <a href="/docs/zh-CN/2.1.0-incubating/concepts-messaging#non-persistent-topics">non-persistent topics</a> you'll need to continue to specify the entire topic name, as the default-based rules for persistent topic names don't apply. Thus you cannot use a shorthand name like <code>non-persistent://my-topic</code> and would need to use <code>non-persistent://public/default/my-topic</code> instead</p>
+<p>对于&lt;a href=&quot;concepts-messaging.md#non-persistent-topics&quot;非持久化</a>Topic,你总是需要制定完整的topic名称,此时上面那种对于持久化topic名字的转换就不适用了。 这样你不能适用便捷名如: <code>non-persistent://my-topic</code> ,需要用<code>non-persistent://public/default/my-topic</code> 来代替。</p>
 </blockquote>
-</span></div></article></div><div class="docs-prevnext"><a class="docs-next button" href="/docs/zh-CN/2.1.0-incubating/standalone"><span>在本地运行Pulsar</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#new-features-in-pulsar-20">New features in Pulsar 2.0</a></li><li><a href="#major-changes">Major changes</a><ul class="toc-headings"><li><a href="#properties-versus-tenants">Properties versus tenants</a></li><li><a href [...]
+</span></div></article></div><div class="docs-prevnext"><a class="docs-next button" href="/docs/zh-CN/2.1.0-incubating/standalone"><span>在本地运行Pulsar</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#pulsar-20-新特性">Pulsar 2.0 新特性</a></li><li><a href="#主要变化">主要变化</a><ul class="toc-headings"><li><a href="#properties-vs-tenants">Properties Vs. Tenants</a></li><li><a href="#topic名字">Topic名字</a></li></ul></li></ul></nav> [...]
       const community = document.querySelector("a[href='#community']").parentNode;
       const communityMenu =
         '<li>' +
diff --git a/content/docs/zh-CN/2.1.0-incubating/pulsar-2.0/index.html b/content/docs/zh-CN/2.1.0-incubating/pulsar-2.0/index.html
index ed875b2..22d0bb5 100644
--- a/content/docs/zh-CN/2.1.0-incubating/pulsar-2.0/index.html
+++ b/content/docs/zh-CN/2.1.0-incubating/pulsar-2.0/index.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="zh-CN"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Pulsar 2.0 · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar 2.0 is a major new release for Pulsar that brings some bold changes to the platform, including [simplified topic names](#topic-names), the addition of the [Pulsar Functions](/docs/zh-CN/2.1.0-incu [...]
+<!DOCTYPE html><html lang="zh-CN"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Pulsar 2.0 · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar 2.0是Pulsar的新发布版本,为平台带来了海量的变化,包括[简化的Topic名字](#topic-names),以及[Pulsar Functions](/docs/zh-CN/2.1.0-incubating/functions-overview)特性,同时还有一些术语的变化等等。"/><meta name="docsearch:version" content="2.1.0-inc [...]
               (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),
               m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
@@ -74,42 +74,42 @@
                 };
               }
             });
-        </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">Pulsar 2.0</h1></header><article><div><span><p>Pulsar 2.0 is a major new release for Pulsar that brings some bold changes to the platform, including <a href="#topic-names">simplified topic  [...]
-<h2><a class="anchor" aria-hidden="true" id="new-features-in-pulsar-20"></a><a href="#new-features-in-pulsar-20" 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 [...]
+        </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">Pulsar 2.0</h1></header><article><div><span><p>Pulsar 2.0是Pulsar的新发布版本,为平台带来了海量的变化,包括<a href="#topic-names">简化的Topic名字</a>,以及<a href="/docs/zh-CN/2.1.0-incubating/functions-overview">Pulsar [...]
+<h2><a class="anchor" aria-hidden="true" id="pulsar-20-新特性"></a><a href="#pulsar-20-新特性" 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 [...]
 <table>
 <thead>
-<tr><th style="text-align:left">Feature</th><th style="text-align:left">说明:</th></tr>
+<tr><th style="text-align:left">特性</th><th style="text-align:left">说明:</th></tr>
 </thead>
 <tbody>
-<tr><td style="text-align:left"><a href="/docs/zh-CN/2.1.0-incubating/functions-overview">Pulsar Functions</a></td><td style="text-align:left">A lightweight compute option for Pulsar</td></tr>
+<tr><td style="text-align:left"><a href="/docs/zh-CN/2.1.0-incubating/functions-overview">Pulsar Functions</a></td><td style="text-align:left">Pulsar的一个轻量级的运算功能</td></tr>
 </tbody>
 </table>
-<h2><a class="anchor" aria-hidden="true" id="major-changes"></a><a href="#major-changes" 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>There are a few major changes that you should be aware of, as they may significantly impact your day-to-day usage.</p>
-<h3><a class="anchor" aria-hidden="true" id="properties-versus-tenants"></a><a href="#properties-versus-tenants" 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 [...]
-<p>Previously, Pulsar had a concept of properties. A property is essentially the exact same thing as a tenant, so the &quot;property&quot; terminology has been removed in version 2.0. The <a href="/docs/zh-CN/2.1.0-incubating/pulsar-admin#pulsar-admin"><code>pulsar-admin properties</code></a> command-line interface, for example, has been replaced with the <a href="/docs/zh-CN/2.1.0-incubating/pulsar-admin#pulsar-admin-tenants"><code>pulsar-admin tenants</code></a> interface. In some case [...]
-<h3><a class="anchor" aria-hidden="true" id="topic-names"></a><a href="#topic-names" 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-.83.42 [...]
-<p>Prior to version 2.0, <em>all</em> Pulsar topics had the following form:</p>
+<h2><a class="anchor" aria-hidden="true" id="主要变化"></a><a href="#主要变化" 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-.83.42-1.64 1-2.09V6 [...]
+<p>你需要注意一些主要变化,这些会对你日常使用产生影响</p>
+<h3><a class="anchor" aria-hidden="true" id="properties-vs-tenants"></a><a href="#properties-vs-tenants" 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 [...]
+<p>此前,Pulsar有一个properties(属性)的概念。 一个property和tenant本质上是一个东西,所以property这个术语从2.0版本开始就取消了。例如,<a href="/docs/zh-CN/2.1.0-incubating/pulsar-admin#pulsar-admin"><code>pulsar-admin properties</code></a>命令行接口被替换成了<a href="/docs/zh-CN/2.1.0-incubating/pulsar-admin#pulsar-admin-tenants"><code>pulsar-admin tenants</code></a> 在某些情况下,properties术语仍然有效,但是未来版本也会慢慢弃用。</p>
+<h3><a class="anchor" aria-hidden="true" id="topic名字"></a><a href="#topic名字" 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-.83.42-1.64 1- [...]
+<p>在2.0版本之前,<em>所有</em>Pulsar topic有如下形态</p>
 <pre><code class="hljs css language-http">{persistent|non-persistent}://property/cluster/namespace/topic
 </code></pre>
-<p>Two important changes have been made in Pulsar 2.0:</p>
+<p>2.0中有两个重要改变:</p>
 <ul>
-<li>There is no longer a <a href="#no-cluster">cluster component</a></li>
-<li>Properties have been <a href="#tenants">renamed to tenants</a></li>
-<li>You can use a <a href="#flexible-topic-naming">flexible</a> naming system to shorten many topic names</li>
+<li>不再有 <a href="#no-cluster">cluster component集群组件</a></li>
+<li>Properties被<a href="#tenants">改名为 tenants</a></li>
+<li>你可以使用<a href="#flexible-topic-naming">灵活的</a>命名系统来缩短Topic名字。</li>
 </ul>
-<h4><a class="anchor" aria-hidden="true" id="no-cluster-component"></a><a href="#no-cluster-component" 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 [...]
-<p>The cluster component has been removed from topic names. Thus, all topic names now have the following form:</p>
+<h4><a class="anchor" aria-hidden="true" id="没有cluster-component集群组件"></a><a href="#没有cluster-component集群组件" 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 [...]
+<p>集群组件cluster component从Topic名字中去掉,因此,所有Topic名字现在形态为:</p>
 <pre><code class="hljs css language-http">{persistent|non-persistent}://tenant/namespace/topic
 </code></pre>
 <blockquote>
-<p>Existing topics that use the legacy name format will continue to work without any change, and there are no plans to change that.</p>
+<p>已经存在的topics可能使用了之前的命名方式,可以继续工作,没有后续计划会修改。</p>
 </blockquote>
-<h4><a class="anchor" aria-hidden="true" id="flexible-topic-naming"></a><a href="#flexible-topic-naming" 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 [...]
-<p>All topic names in Pulsar 2.0 internally have the form shown <a href="#no-cluster-component">above</a> but you can now use shorthand names in many cases (for the sake of simplicity). The flexible naming system stems from the fact that there is now a default topic type, tenant, and namespace:</p>
+<h4><a class="anchor" aria-hidden="true" id="灵活的topic命名"></a><a href="#灵活的topic命名" 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-.83.42-1 [...]
+<p>在Pulsar 2.0内部,所有Topic名字形态<a href="#no-cluster-component">如上</a>,但是你现在可以通过简化使用更便捷的名字。 灵活命名系统有默认的topic type,tenant以及命名空间namesapce:</p>
 <table>
 <thead>
-<tr><th style="text-align:left">Topic aspect</th><th style="text-align:left">默认值</th></tr>
+<tr><th style="text-align:left">Topic 方面</th><th style="text-align:left">默认值</th></tr>
 </thead>
 <tbody>
 <tr><td style="text-align:left">topic type</td><td style="text-align:left"><code>persistent</code></td></tr>
@@ -117,20 +117,20 @@
 <tr><td style="text-align:left">namespace</td><td style="text-align:left"><code>default</code></td></tr>
 </tbody>
 </table>
-<p>The table below shows some example topic name translations that use implicit defaults:</p>
+<p>下表展示了一些topic名字默认自动转换的例子:</p>
 <table>
 <thead>
-<tr><th style="text-align:left">Input topic name</th><th style="text-align:left">Translated topic name</th></tr>
+<tr><th style="text-align:left">输入隐式topic名字</th><th style="text-align:left">默认转换成完整topic 名字</th></tr>
 </thead>
 <tbody>
 <tr><td style="text-align:left"><code>my-topic</code></td><td style="text-align:left"><code>persistent://public/default/my-topic</code></td></tr>
-<tr><td style="text-align:left"><code>my-tenant/my-namespace/my-topic</code></td><td style="text-align:left"><code>persistent://my-tenant/my-namespace/my-topic</code></td></tr>
+<tr><td style="text-align:left"><code>my-tenant/my-namespace/my-topic</code></td><td style="text-align:left"><code>persistent://tenant/namespace/topic</code></td></tr>
 </tbody>
 </table>
 <blockquote>
-<p>For <a href="/docs/zh-CN/2.1.0-incubating/concepts-messaging#non-persistent-topics">non-persistent topics</a> you'll need to continue to specify the entire topic name, as the default-based rules for persistent topic names don't apply. Thus you cannot use a shorthand name like <code>non-persistent://my-topic</code> and would need to use <code>non-persistent://public/default/my-topic</code> instead</p>
+<p>对于&lt;a href=&quot;concepts-messaging.md#non-persistent-topics&quot;非持久化</a>Topic,你总是需要制定完整的topic名称,此时上面那种对于持久化topic名字的转换就不适用了。 这样你不能适用便捷名如: <code>non-persistent://my-topic</code> ,需要用<code>non-persistent://public/default/my-topic</code> 来代替。</p>
 </blockquote>
-</span></div></article></div><div class="docs-prevnext"><a class="docs-next button" href="/docs/zh-CN/2.1.0-incubating/standalone"><span>在本地运行Pulsar</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#new-features-in-pulsar-20">New features in Pulsar 2.0</a></li><li><a href="#major-changes">Major changes</a><ul class="toc-headings"><li><a href="#properties-versus-tenants">Properties versus tenants</a></li><li><a href [...]
+</span></div></article></div><div class="docs-prevnext"><a class="docs-next button" href="/docs/zh-CN/2.1.0-incubating/standalone"><span>在本地运行Pulsar</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#pulsar-20-新特性">Pulsar 2.0 新特性</a></li><li><a href="#主要变化">主要变化</a><ul class="toc-headings"><li><a href="#properties-vs-tenants">Properties Vs. Tenants</a></li><li><a href="#topic名字">Topic名字</a></li></ul></li></ul></nav> [...]
       const community = document.querySelector("a[href='#community']").parentNode;
       const communityMenu =
         '<li>' +
diff --git a/content/docs/zh-CN/2.1.0-incubating/standalone.html b/content/docs/zh-CN/2.1.0-incubating/standalone.html
index 185b204..bca6ebd 100644
--- a/content/docs/zh-CN/2.1.0-incubating/standalone.html
+++ b/content/docs/zh-CN/2.1.0-incubating/standalone.html
@@ -210,7 +210,7 @@ Result result = client.createProducer(<span class="hljs-string">"my-topic"</span
     <span class="hljs-keyword">return</span> <span class="hljs-number">-1</span>;
 }
 </code></pre>
-</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/zh-CN/2.1.0-incubating/pulsar-2.0"><span class="arrow-prev">← </span><span>Pulsar 2.0</span></a><a class="docs-next button" href="/docs/zh-CN/2.1.0-incubating/standalone-docker"><span>Run Pulsar in Docker</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#手动运行-pulsar">手动运行 Pulsar</a><ul class="toc-headings"><li><a href="# [...]
+</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/zh-CN/2.1.0-incubating/pulsar-2.0"><span class="arrow-prev">← </span><span>Pulsar-2.0</span></a><a class="docs-next button" href="/docs/zh-CN/2.1.0-incubating/standalone-docker"><span>Run Pulsar in Docker</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#手动运行-pulsar">手动运行 Pulsar</a><ul class="toc-headings"><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/standalone/index.html b/content/docs/zh-CN/2.1.0-incubating/standalone/index.html
index 185b204..bca6ebd 100644
--- a/content/docs/zh-CN/2.1.0-incubating/standalone/index.html
+++ b/content/docs/zh-CN/2.1.0-incubating/standalone/index.html
@@ -210,7 +210,7 @@ Result result = client.createProducer(<span class="hljs-string">"my-topic"</span
     <span class="hljs-keyword">return</span> <span class="hljs-number">-1</span>;
 }
 </code></pre>
-</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/zh-CN/2.1.0-incubating/pulsar-2.0"><span class="arrow-prev">← </span><span>Pulsar 2.0</span></a><a class="docs-next button" href="/docs/zh-CN/2.1.0-incubating/standalone-docker"><span>Run Pulsar in Docker</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#手动运行-pulsar">手动运行 Pulsar</a><ul class="toc-headings"><li><a href="# [...]
+</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/zh-CN/2.1.0-incubating/pulsar-2.0"><span class="arrow-prev">← </span><span>Pulsar-2.0</span></a><a class="docs-next button" href="/docs/zh-CN/2.1.0-incubating/standalone-docker"><span>Run Pulsar in Docker</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#手动运行-pulsar">手动运行 Pulsar</a><ul class="toc-headings"><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/concepts-architecture-overview.html b/content/docs/zh-CN/2.1.1-incubating/concepts-architecture-overview.html
index ef1a647..08d5667 100644
--- a/content/docs/zh-CN/2.1.1-incubating/concepts-architecture-overview.html
+++ b/content/docs/zh-CN/2.1.1-incubating/concepts-architecture-overview.html
@@ -128,7 +128,7 @@
 </ul>
 <p>除了消息数据,<em>cursors</em>也会被持久化入BookKeeper。 Cursors是消费端<a href="/docs/zh-CN/2.1.1-incubating/reference-terminology#subscription">订阅</a>消费的位置。 BookKeeper让Pulsar可以用一种可扩展的方式存储消费位置。</p>
 <p>目前,Pulsar只支持持久消息存储。这是所有topic名称都是持久不可变的原因。这里有一个例子:</p>
-<pre><code class="hljs css language-http">persistent://my-tenant/my-namespace/my-topic
+<pre><code class="hljs css language-http">persistent://tenant/namespace/topic
 </code></pre>
 <blockquote>
 <p>Pulsar也支持临时消息( (<a href="/docs/zh-CN/2.1.1-incubating/concepts-messaging#non-persistent-topics">非持久消息</a>) )存储。</p>
diff --git a/content/docs/zh-CN/2.1.1-incubating/concepts-architecture-overview/index.html b/content/docs/zh-CN/2.1.1-incubating/concepts-architecture-overview/index.html
index ef1a647..08d5667 100644
--- a/content/docs/zh-CN/2.1.1-incubating/concepts-architecture-overview/index.html
+++ b/content/docs/zh-CN/2.1.1-incubating/concepts-architecture-overview/index.html
@@ -128,7 +128,7 @@
 </ul>
 <p>除了消息数据,<em>cursors</em>也会被持久化入BookKeeper。 Cursors是消费端<a href="/docs/zh-CN/2.1.1-incubating/reference-terminology#subscription">订阅</a>消费的位置。 BookKeeper让Pulsar可以用一种可扩展的方式存储消费位置。</p>
 <p>目前,Pulsar只支持持久消息存储。这是所有topic名称都是持久不可变的原因。这里有一个例子:</p>
-<pre><code class="hljs css language-http">persistent://my-tenant/my-namespace/my-topic
+<pre><code class="hljs css language-http">persistent://tenant/namespace/topic
 </code></pre>
 <blockquote>
 <p>Pulsar也支持临时消息( (<a href="/docs/zh-CN/2.1.1-incubating/concepts-messaging#non-persistent-topics">非持久消息</a>) )存储。</p>
diff --git a/content/docs/zh-CN/2.1.1-incubating/pulsar-2.0.html b/content/docs/zh-CN/2.1.1-incubating/pulsar-2.0.html
index 4434241..a76f3e9 100644
--- a/content/docs/zh-CN/2.1.1-incubating/pulsar-2.0.html
+++ b/content/docs/zh-CN/2.1.1-incubating/pulsar-2.0.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="zh-CN"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Pulsar 2.0 · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar 2.0 is a major new release for Pulsar that brings some bold changes to the platform, including [simplified topic names](#topic-names), the addition of the [Pulsar Functions](/docs/zh-CN/2.1.1-incu [...]
+<!DOCTYPE html><html lang="zh-CN"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Pulsar 2.0 · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar 2.0是Pulsar的新发布版本,为平台带来了海量的变化,包括[简化的Topic名字](#topic-names),以及[Pulsar Functions](/docs/zh-CN/2.1.1-incubating/functions-overview)特性,同时还有一些术语的变化等等。"/><meta name="docsearch:version" content="2.1.1-inc [...]
               (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),
               m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
@@ -74,42 +74,42 @@
                 };
               }
             });
-        </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">Pulsar 2.0</h1></header><article><div><span><p>Pulsar 2.0 is a major new release for Pulsar that brings some bold changes to the platform, including <a href="#topic-names">simplified topic  [...]
-<h2><a class="anchor" aria-hidden="true" id="new-features-in-pulsar-20"></a><a href="#new-features-in-pulsar-20" 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 [...]
+        </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">Pulsar 2.0</h1></header><article><div><span><p>Pulsar 2.0是Pulsar的新发布版本,为平台带来了海量的变化,包括<a href="#topic-names">简化的Topic名字</a>,以及<a href="/docs/zh-CN/2.1.1-incubating/functions-overview">Pulsar [...]
+<h2><a class="anchor" aria-hidden="true" id="pulsar-20-新特性"></a><a href="#pulsar-20-新特性" 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 [...]
 <table>
 <thead>
-<tr><th style="text-align:left">Feature</th><th style="text-align:left">说明:</th></tr>
+<tr><th style="text-align:left">特性</th><th style="text-align:left">说明:</th></tr>
 </thead>
 <tbody>
-<tr><td style="text-align:left"><a href="/docs/zh-CN/2.1.1-incubating/functions-overview">Pulsar Functions</a></td><td style="text-align:left">A lightweight compute option for Pulsar</td></tr>
+<tr><td style="text-align:left"><a href="/docs/zh-CN/2.1.1-incubating/functions-overview">Pulsar Functions</a></td><td style="text-align:left">Pulsar的一个轻量级的运算功能</td></tr>
 </tbody>
 </table>
-<h2><a class="anchor" aria-hidden="true" id="major-changes"></a><a href="#major-changes" 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>There are a few major changes that you should be aware of, as they may significantly impact your day-to-day usage.</p>
-<h3><a class="anchor" aria-hidden="true" id="properties-versus-tenants"></a><a href="#properties-versus-tenants" 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 [...]
-<p>Previously, Pulsar had a concept of properties. A property is essentially the exact same thing as a tenant, so the &quot;property&quot; terminology has been removed in version 2.0. The <a href="/docs/zh-CN/2.1.1-incubating/pulsar-admin#pulsar-admin"><code>pulsar-admin properties</code></a> command-line interface, for example, has been replaced with the <a href="/docs/zh-CN/2.1.1-incubating/pulsar-admin#pulsar-admin-tenants"><code>pulsar-admin tenants</code></a> interface. In some case [...]
-<h3><a class="anchor" aria-hidden="true" id="topic-names"></a><a href="#topic-names" 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-.83.42 [...]
-<p>Prior to version 2.0, <em>all</em> Pulsar topics had the following form:</p>
+<h2><a class="anchor" aria-hidden="true" id="主要变化"></a><a href="#主要变化" 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-.83.42-1.64 1-2.09V6 [...]
+<p>你需要注意一些主要变化,这些会对你日常使用产生影响</p>
+<h3><a class="anchor" aria-hidden="true" id="properties-vs-tenants"></a><a href="#properties-vs-tenants" 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 [...]
+<p>此前,Pulsar有一个properties(属性)的概念。 一个property和tenant本质上是一个东西,所以property这个术语从2.0版本开始就取消了。例如,<a href="/docs/zh-CN/2.1.1-incubating/pulsar-admin#pulsar-admin"><code>pulsar-admin properties</code></a>命令行接口被替换成了<a href="/docs/zh-CN/2.1.1-incubating/pulsar-admin#pulsar-admin-tenants"><code>pulsar-admin tenants</code></a> 在某些情况下,properties术语仍然有效,但是未来版本也会慢慢弃用。</p>
+<h3><a class="anchor" aria-hidden="true" id="topic名字"></a><a href="#topic名字" 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-.83.42-1.64 1- [...]
+<p>在2.0版本之前,<em>所有</em>Pulsar topic有如下形态</p>
 <pre><code class="hljs css language-http">{persistent|non-persistent}://property/cluster/namespace/topic
 </code></pre>
-<p>Two important changes have been made in Pulsar 2.0:</p>
+<p>2.0中有两个重要改变:</p>
 <ul>
-<li>There is no longer a <a href="#no-cluster">cluster component</a></li>
-<li>Properties have been <a href="#tenants">renamed to tenants</a></li>
-<li>You can use a <a href="#flexible-topic-naming">flexible</a> naming system to shorten many topic names</li>
+<li>不再有 <a href="#no-cluster">cluster component集群组件</a></li>
+<li>Properties被<a href="#tenants">改名为 tenants</a></li>
+<li>你可以使用<a href="#flexible-topic-naming">灵活的</a>命名系统来缩短Topic名字。</li>
 </ul>
-<h4><a class="anchor" aria-hidden="true" id="no-cluster-component"></a><a href="#no-cluster-component" 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 [...]
-<p>The cluster component has been removed from topic names. Thus, all topic names now have the following form:</p>
+<h4><a class="anchor" aria-hidden="true" id="没有cluster-component集群组件"></a><a href="#没有cluster-component集群组件" 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 [...]
+<p>集群组件cluster component从Topic名字中去掉,因此,所有Topic名字现在形态为:</p>
 <pre><code class="hljs css language-http">{persistent|non-persistent}://tenant/namespace/topic
 </code></pre>
 <blockquote>
-<p>Existing topics that use the legacy name format will continue to work without any change, and there are no plans to change that.</p>
+<p>已经存在的topics可能使用了之前的命名方式,可以继续工作,没有后续计划会修改。</p>
 </blockquote>
-<h4><a class="anchor" aria-hidden="true" id="flexible-topic-naming"></a><a href="#flexible-topic-naming" 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 [...]
-<p>All topic names in Pulsar 2.0 internally have the form shown <a href="#no-cluster-component">above</a> but you can now use shorthand names in many cases (for the sake of simplicity). The flexible naming system stems from the fact that there is now a default topic type, tenant, and namespace:</p>
+<h4><a class="anchor" aria-hidden="true" id="灵活的topic命名"></a><a href="#灵活的topic命名" 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-.83.42-1 [...]
+<p>在Pulsar 2.0内部,所有Topic名字形态<a href="#no-cluster-component">如上</a>,但是你现在可以通过简化使用更便捷的名字。 灵活命名系统有默认的topic type,tenant以及命名空间namesapce:</p>
 <table>
 <thead>
-<tr><th style="text-align:left">Topic aspect</th><th style="text-align:left">默认值</th></tr>
+<tr><th style="text-align:left">Topic 方面</th><th style="text-align:left">默认值</th></tr>
 </thead>
 <tbody>
 <tr><td style="text-align:left">topic type</td><td style="text-align:left"><code>persistent</code></td></tr>
@@ -117,20 +117,20 @@
 <tr><td style="text-align:left">namespace</td><td style="text-align:left"><code>default</code></td></tr>
 </tbody>
 </table>
-<p>The table below shows some example topic name translations that use implicit defaults:</p>
+<p>下表展示了一些topic名字默认自动转换的例子:</p>
 <table>
 <thead>
-<tr><th style="text-align:left">Input topic name</th><th style="text-align:left">Translated topic name</th></tr>
+<tr><th style="text-align:left">输入隐式topic名字</th><th style="text-align:left">默认转换成完整topic 名字</th></tr>
 </thead>
 <tbody>
 <tr><td style="text-align:left"><code>my-topic</code></td><td style="text-align:left"><code>persistent://public/default/my-topic</code></td></tr>
-<tr><td style="text-align:left"><code>my-tenant/my-namespace/my-topic</code></td><td style="text-align:left"><code>persistent://my-tenant/my-namespace/my-topic</code></td></tr>
+<tr><td style="text-align:left"><code>my-tenant/my-namespace/my-topic</code></td><td style="text-align:left"><code>persistent://tenant/namespace/topic</code></td></tr>
 </tbody>
 </table>
 <blockquote>
-<p>For <a href="/docs/zh-CN/2.1.1-incubating/concepts-messaging#non-persistent-topics">non-persistent topics</a> you'll need to continue to specify the entire topic name, as the default-based rules for persistent topic names don't apply. Thus you cannot use a shorthand name like <code>non-persistent://my-topic</code> and would need to use <code>non-persistent://public/default/my-topic</code> instead</p>
+<p>对于&lt;a href=&quot;concepts-messaging.md#non-persistent-topics&quot;非持久化</a>Topic,你总是需要制定完整的topic名称,此时上面那种对于持久化topic名字的转换就不适用了。 这样你不能适用便捷名如: <code>non-persistent://my-topic</code> ,需要用<code>non-persistent://public/default/my-topic</code> 来代替。</p>
 </blockquote>
-</span></div></article></div><div class="docs-prevnext"><a class="docs-next button" href="/docs/zh-CN/2.1.1-incubating/standalone"><span>在本地运行Pulsar</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#new-features-in-pulsar-20">New features in Pulsar 2.0</a></li><li><a href="#major-changes">Major changes</a><ul class="toc-headings"><li><a href="#properties-versus-tenants">Properties versus tenants</a></li><li><a href [...]
+</span></div></article></div><div class="docs-prevnext"><a class="docs-next button" href="/docs/zh-CN/2.1.1-incubating/standalone"><span>在本地运行Pulsar</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#pulsar-20-新特性">Pulsar 2.0 新特性</a></li><li><a href="#主要变化">主要变化</a><ul class="toc-headings"><li><a href="#properties-vs-tenants">Properties Vs. Tenants</a></li><li><a href="#topic名字">Topic名字</a></li></ul></li></ul></nav> [...]
       const community = document.querySelector("a[href='#community']").parentNode;
       const communityMenu =
         '<li>' +
diff --git a/content/docs/zh-CN/2.1.1-incubating/pulsar-2.0/index.html b/content/docs/zh-CN/2.1.1-incubating/pulsar-2.0/index.html
index 4434241..a76f3e9 100644
--- a/content/docs/zh-CN/2.1.1-incubating/pulsar-2.0/index.html
+++ b/content/docs/zh-CN/2.1.1-incubating/pulsar-2.0/index.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="zh-CN"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Pulsar 2.0 · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar 2.0 is a major new release for Pulsar that brings some bold changes to the platform, including [simplified topic names](#topic-names), the addition of the [Pulsar Functions](/docs/zh-CN/2.1.1-incu [...]
+<!DOCTYPE html><html lang="zh-CN"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Pulsar 2.0 · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar 2.0是Pulsar的新发布版本,为平台带来了海量的变化,包括[简化的Topic名字](#topic-names),以及[Pulsar Functions](/docs/zh-CN/2.1.1-incubating/functions-overview)特性,同时还有一些术语的变化等等。"/><meta name="docsearch:version" content="2.1.1-inc [...]
               (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),
               m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
@@ -74,42 +74,42 @@
                 };
               }
             });
-        </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">Pulsar 2.0</h1></header><article><div><span><p>Pulsar 2.0 is a major new release for Pulsar that brings some bold changes to the platform, including <a href="#topic-names">simplified topic  [...]
-<h2><a class="anchor" aria-hidden="true" id="new-features-in-pulsar-20"></a><a href="#new-features-in-pulsar-20" 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 [...]
+        </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">Pulsar 2.0</h1></header><article><div><span><p>Pulsar 2.0是Pulsar的新发布版本,为平台带来了海量的变化,包括<a href="#topic-names">简化的Topic名字</a>,以及<a href="/docs/zh-CN/2.1.1-incubating/functions-overview">Pulsar [...]
+<h2><a class="anchor" aria-hidden="true" id="pulsar-20-新特性"></a><a href="#pulsar-20-新特性" 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 [...]
 <table>
 <thead>
-<tr><th style="text-align:left">Feature</th><th style="text-align:left">说明:</th></tr>
+<tr><th style="text-align:left">特性</th><th style="text-align:left">说明:</th></tr>
 </thead>
 <tbody>
-<tr><td style="text-align:left"><a href="/docs/zh-CN/2.1.1-incubating/functions-overview">Pulsar Functions</a></td><td style="text-align:left">A lightweight compute option for Pulsar</td></tr>
+<tr><td style="text-align:left"><a href="/docs/zh-CN/2.1.1-incubating/functions-overview">Pulsar Functions</a></td><td style="text-align:left">Pulsar的一个轻量级的运算功能</td></tr>
 </tbody>
 </table>
-<h2><a class="anchor" aria-hidden="true" id="major-changes"></a><a href="#major-changes" 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>There are a few major changes that you should be aware of, as they may significantly impact your day-to-day usage.</p>
-<h3><a class="anchor" aria-hidden="true" id="properties-versus-tenants"></a><a href="#properties-versus-tenants" 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 [...]
-<p>Previously, Pulsar had a concept of properties. A property is essentially the exact same thing as a tenant, so the &quot;property&quot; terminology has been removed in version 2.0. The <a href="/docs/zh-CN/2.1.1-incubating/pulsar-admin#pulsar-admin"><code>pulsar-admin properties</code></a> command-line interface, for example, has been replaced with the <a href="/docs/zh-CN/2.1.1-incubating/pulsar-admin#pulsar-admin-tenants"><code>pulsar-admin tenants</code></a> interface. In some case [...]
-<h3><a class="anchor" aria-hidden="true" id="topic-names"></a><a href="#topic-names" 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-.83.42 [...]
-<p>Prior to version 2.0, <em>all</em> Pulsar topics had the following form:</p>
+<h2><a class="anchor" aria-hidden="true" id="主要变化"></a><a href="#主要变化" 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-.83.42-1.64 1-2.09V6 [...]
+<p>你需要注意一些主要变化,这些会对你日常使用产生影响</p>
+<h3><a class="anchor" aria-hidden="true" id="properties-vs-tenants"></a><a href="#properties-vs-tenants" 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 [...]
+<p>此前,Pulsar有一个properties(属性)的概念。 一个property和tenant本质上是一个东西,所以property这个术语从2.0版本开始就取消了。例如,<a href="/docs/zh-CN/2.1.1-incubating/pulsar-admin#pulsar-admin"><code>pulsar-admin properties</code></a>命令行接口被替换成了<a href="/docs/zh-CN/2.1.1-incubating/pulsar-admin#pulsar-admin-tenants"><code>pulsar-admin tenants</code></a> 在某些情况下,properties术语仍然有效,但是未来版本也会慢慢弃用。</p>
+<h3><a class="anchor" aria-hidden="true" id="topic名字"></a><a href="#topic名字" 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-.83.42-1.64 1- [...]
+<p>在2.0版本之前,<em>所有</em>Pulsar topic有如下形态</p>
 <pre><code class="hljs css language-http">{persistent|non-persistent}://property/cluster/namespace/topic
 </code></pre>
-<p>Two important changes have been made in Pulsar 2.0:</p>
+<p>2.0中有两个重要改变:</p>
 <ul>
-<li>There is no longer a <a href="#no-cluster">cluster component</a></li>
-<li>Properties have been <a href="#tenants">renamed to tenants</a></li>
-<li>You can use a <a href="#flexible-topic-naming">flexible</a> naming system to shorten many topic names</li>
+<li>不再有 <a href="#no-cluster">cluster component集群组件</a></li>
+<li>Properties被<a href="#tenants">改名为 tenants</a></li>
+<li>你可以使用<a href="#flexible-topic-naming">灵活的</a>命名系统来缩短Topic名字。</li>
 </ul>
-<h4><a class="anchor" aria-hidden="true" id="no-cluster-component"></a><a href="#no-cluster-component" 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 [...]
-<p>The cluster component has been removed from topic names. Thus, all topic names now have the following form:</p>
+<h4><a class="anchor" aria-hidden="true" id="没有cluster-component集群组件"></a><a href="#没有cluster-component集群组件" 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 [...]
+<p>集群组件cluster component从Topic名字中去掉,因此,所有Topic名字现在形态为:</p>
 <pre><code class="hljs css language-http">{persistent|non-persistent}://tenant/namespace/topic
 </code></pre>
 <blockquote>
-<p>Existing topics that use the legacy name format will continue to work without any change, and there are no plans to change that.</p>
+<p>已经存在的topics可能使用了之前的命名方式,可以继续工作,没有后续计划会修改。</p>
 </blockquote>
-<h4><a class="anchor" aria-hidden="true" id="flexible-topic-naming"></a><a href="#flexible-topic-naming" 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 [...]
-<p>All topic names in Pulsar 2.0 internally have the form shown <a href="#no-cluster-component">above</a> but you can now use shorthand names in many cases (for the sake of simplicity). The flexible naming system stems from the fact that there is now a default topic type, tenant, and namespace:</p>
+<h4><a class="anchor" aria-hidden="true" id="灵活的topic命名"></a><a href="#灵活的topic命名" 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-.83.42-1 [...]
+<p>在Pulsar 2.0内部,所有Topic名字形态<a href="#no-cluster-component">如上</a>,但是你现在可以通过简化使用更便捷的名字。 灵活命名系统有默认的topic type,tenant以及命名空间namesapce:</p>
 <table>
 <thead>
-<tr><th style="text-align:left">Topic aspect</th><th style="text-align:left">默认值</th></tr>
+<tr><th style="text-align:left">Topic 方面</th><th style="text-align:left">默认值</th></tr>
 </thead>
 <tbody>
 <tr><td style="text-align:left">topic type</td><td style="text-align:left"><code>persistent</code></td></tr>
@@ -117,20 +117,20 @@
 <tr><td style="text-align:left">namespace</td><td style="text-align:left"><code>default</code></td></tr>
 </tbody>
 </table>
-<p>The table below shows some example topic name translations that use implicit defaults:</p>
+<p>下表展示了一些topic名字默认自动转换的例子:</p>
 <table>
 <thead>
-<tr><th style="text-align:left">Input topic name</th><th style="text-align:left">Translated topic name</th></tr>
+<tr><th style="text-align:left">输入隐式topic名字</th><th style="text-align:left">默认转换成完整topic 名字</th></tr>
 </thead>
 <tbody>
 <tr><td style="text-align:left"><code>my-topic</code></td><td style="text-align:left"><code>persistent://public/default/my-topic</code></td></tr>
-<tr><td style="text-align:left"><code>my-tenant/my-namespace/my-topic</code></td><td style="text-align:left"><code>persistent://my-tenant/my-namespace/my-topic</code></td></tr>
+<tr><td style="text-align:left"><code>my-tenant/my-namespace/my-topic</code></td><td style="text-align:left"><code>persistent://tenant/namespace/topic</code></td></tr>
 </tbody>
 </table>
 <blockquote>
-<p>For <a href="/docs/zh-CN/2.1.1-incubating/concepts-messaging#non-persistent-topics">non-persistent topics</a> you'll need to continue to specify the entire topic name, as the default-based rules for persistent topic names don't apply. Thus you cannot use a shorthand name like <code>non-persistent://my-topic</code> and would need to use <code>non-persistent://public/default/my-topic</code> instead</p>
+<p>对于&lt;a href=&quot;concepts-messaging.md#non-persistent-topics&quot;非持久化</a>Topic,你总是需要制定完整的topic名称,此时上面那种对于持久化topic名字的转换就不适用了。 这样你不能适用便捷名如: <code>non-persistent://my-topic</code> ,需要用<code>non-persistent://public/default/my-topic</code> 来代替。</p>
 </blockquote>
-</span></div></article></div><div class="docs-prevnext"><a class="docs-next button" href="/docs/zh-CN/2.1.1-incubating/standalone"><span>在本地运行Pulsar</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#new-features-in-pulsar-20">New features in Pulsar 2.0</a></li><li><a href="#major-changes">Major changes</a><ul class="toc-headings"><li><a href="#properties-versus-tenants">Properties versus tenants</a></li><li><a href [...]
+</span></div></article></div><div class="docs-prevnext"><a class="docs-next button" href="/docs/zh-CN/2.1.1-incubating/standalone"><span>在本地运行Pulsar</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#pulsar-20-新特性">Pulsar 2.0 新特性</a></li><li><a href="#主要变化">主要变化</a><ul class="toc-headings"><li><a href="#properties-vs-tenants">Properties Vs. Tenants</a></li><li><a href="#topic名字">Topic名字</a></li></ul></li></ul></nav> [...]
       const community = document.querySelector("a[href='#community']").parentNode;
       const communityMenu =
         '<li>' +
diff --git a/content/docs/zh-CN/2.1.1-incubating/standalone.html b/content/docs/zh-CN/2.1.1-incubating/standalone.html
index cda9c8b..6f82123 100644
--- a/content/docs/zh-CN/2.1.1-incubating/standalone.html
+++ b/content/docs/zh-CN/2.1.1-incubating/standalone.html
@@ -221,7 +221,7 @@ Result result = client.createProducer(<span class="hljs-string">"my-topic"</span
     <span class="hljs-keyword">return</span> <span class="hljs-number">-1</span>;
 }
 </code></pre>
-</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/zh-CN/2.1.1-incubating/pulsar-2.0"><span class="arrow-prev">← </span><span>Pulsar 2.0</span></a><a class="docs-next button" href="/docs/zh-CN/2.1.1-incubating/standalone-docker"><span>Run Pulsar in Docker</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#手动运行-pulsar">手动运行 Pulsar</a><ul class="toc-headings"><li><a href="# [...]
+</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/zh-CN/2.1.1-incubating/pulsar-2.0"><span class="arrow-prev">← </span><span>Pulsar-2.0</span></a><a class="docs-next button" href="/docs/zh-CN/2.1.1-incubating/standalone-docker"><span>Run Pulsar in Docker</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#手动运行-pulsar">手动运行 Pulsar</a><ul class="toc-headings"><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/standalone/index.html b/content/docs/zh-CN/2.1.1-incubating/standalone/index.html
index cda9c8b..6f82123 100644
--- a/content/docs/zh-CN/2.1.1-incubating/standalone/index.html
+++ b/content/docs/zh-CN/2.1.1-incubating/standalone/index.html
@@ -221,7 +221,7 @@ Result result = client.createProducer(<span class="hljs-string">"my-topic"</span
     <span class="hljs-keyword">return</span> <span class="hljs-number">-1</span>;
 }
 </code></pre>
-</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/zh-CN/2.1.1-incubating/pulsar-2.0"><span class="arrow-prev">← </span><span>Pulsar 2.0</span></a><a class="docs-next button" href="/docs/zh-CN/2.1.1-incubating/standalone-docker"><span>Run Pulsar in Docker</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#手动运行-pulsar">手动运行 Pulsar</a><ul class="toc-headings"><li><a href="# [...]
+</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/zh-CN/2.1.1-incubating/pulsar-2.0"><span class="arrow-prev">← </span><span>Pulsar-2.0</span></a><a class="docs-next button" href="/docs/zh-CN/2.1.1-incubating/standalone-docker"><span>Run Pulsar in Docker</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#手动运行-pulsar">手动运行 Pulsar</a><ul class="toc-headings"><li><a href="# [...]
       const community = document.querySelector("a[href='#community']").parentNode;
       const communityMenu =
         '<li>' +
diff --git a/content/docs/zh-CN/2.2.0/concepts-architecture-overview.html b/content/docs/zh-CN/2.2.0/concepts-architecture-overview.html
index 08b9e9e..9ac6565 100644
--- a/content/docs/zh-CN/2.2.0/concepts-architecture-overview.html
+++ b/content/docs/zh-CN/2.2.0/concepts-architecture-overview.html
@@ -128,7 +128,7 @@
 </ul>
 <p>除了消息数据,<em>cursors</em>也会被持久化入BookKeeper。 Cursors是消费端<a href="/docs/zh-CN/2.2.0/reference-terminology#subscription">订阅</a>消费的位置。 BookKeeper让Pulsar可以用一种可扩展的方式存储消费位置。</p>
 <p>目前,Pulsar只支持持久消息存储。这是所有topic名称都是持久不可变的原因。这里有一个例子:</p>
-<pre><code class="hljs css language-http">persistent://my-tenant/my-namespace/my-topic
+<pre><code class="hljs css language-http">persistent://tenant/namespace/topic
 </code></pre>
 <blockquote>
 <p>Pulsar也支持临时消息( (<a href="/docs/zh-CN/2.2.0/concepts-messaging#non-persistent-topics">非持久消息</a>) )存储。</p>
diff --git a/content/docs/zh-CN/2.2.0/concepts-architecture-overview/index.html b/content/docs/zh-CN/2.2.0/concepts-architecture-overview/index.html
index 08b9e9e..9ac6565 100644
--- a/content/docs/zh-CN/2.2.0/concepts-architecture-overview/index.html
+++ b/content/docs/zh-CN/2.2.0/concepts-architecture-overview/index.html
@@ -128,7 +128,7 @@
 </ul>
 <p>除了消息数据,<em>cursors</em>也会被持久化入BookKeeper。 Cursors是消费端<a href="/docs/zh-CN/2.2.0/reference-terminology#subscription">订阅</a>消费的位置。 BookKeeper让Pulsar可以用一种可扩展的方式存储消费位置。</p>
 <p>目前,Pulsar只支持持久消息存储。这是所有topic名称都是持久不可变的原因。这里有一个例子:</p>
-<pre><code class="hljs css language-http">persistent://my-tenant/my-namespace/my-topic
+<pre><code class="hljs css language-http">persistent://tenant/namespace/topic
 </code></pre>
 <blockquote>
 <p>Pulsar也支持临时消息( (<a href="/docs/zh-CN/2.2.0/concepts-messaging#non-persistent-topics">非持久消息</a>) )存储。</p>
diff --git a/content/docs/zh-CN/2.2.0/pulsar-2.0.html b/content/docs/zh-CN/2.2.0/pulsar-2.0.html
index 319ef8b..7483627 100644
--- a/content/docs/zh-CN/2.2.0/pulsar-2.0.html
+++ b/content/docs/zh-CN/2.2.0/pulsar-2.0.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="zh-CN"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Pulsar 2.0 · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar 2.0 is a major new release for Pulsar that brings some bold changes to the platform, including [simplified topic names](#topic-names), the addition of the [Pulsar Functions](/docs/zh-CN/2.2.0/func [...]
+<!DOCTYPE html><html lang="zh-CN"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Pulsar 2.0 · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar 2.0是Pulsar的新发布版本,为平台带来了海量的变化,包括[简化的Topic名字](#topic-names),以及[Pulsar Functions](/docs/zh-CN/2.2.0/functions-overview)特性,同时还有一些术语的变化等等。"/><meta name="docsearch:version" content="2.2.0"/><meta name=" [...]
               (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),
               m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
@@ -74,42 +74,42 @@
                 };
               }
             });
-        </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">Pulsar 2.0</h1></header><article><div><span><p>Pulsar 2.0 is a major new release for Pulsar that brings some bold changes to the platform, including <a href="#topic-names">simplified topic  [...]
-<h2><a class="anchor" aria-hidden="true" id="new-features-in-pulsar-20"></a><a href="#new-features-in-pulsar-20" 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 [...]
+        </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">Pulsar 2.0</h1></header><article><div><span><p>Pulsar 2.0是Pulsar的新发布版本,为平台带来了海量的变化,包括<a href="#topic-names">简化的Topic名字</a>,以及<a href="/docs/zh-CN/2.2.0/functions-overview">Pulsar Functions< [...]
+<h2><a class="anchor" aria-hidden="true" id="pulsar-20-新特性"></a><a href="#pulsar-20-新特性" 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 [...]
 <table>
 <thead>
-<tr><th style="text-align:left">Feature</th><th style="text-align:left">说明:</th></tr>
+<tr><th style="text-align:left">特性</th><th style="text-align:left">说明:</th></tr>
 </thead>
 <tbody>
-<tr><td style="text-align:left"><a href="/docs/zh-CN/2.2.0/functions-overview">Pulsar Functions</a></td><td style="text-align:left">A lightweight compute option for Pulsar</td></tr>
+<tr><td style="text-align:left"><a href="/docs/zh-CN/2.2.0/functions-overview">Pulsar Functions</a></td><td style="text-align:left">Pulsar的一个轻量级的运算功能</td></tr>
 </tbody>
 </table>
-<h2><a class="anchor" aria-hidden="true" id="major-changes"></a><a href="#major-changes" 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>There are a few major changes that you should be aware of, as they may significantly impact your day-to-day usage.</p>
-<h3><a class="anchor" aria-hidden="true" id="properties-versus-tenants"></a><a href="#properties-versus-tenants" 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 [...]
-<p>Previously, Pulsar had a concept of properties. A property is essentially the exact same thing as a tenant, so the &quot;property&quot; terminology has been removed in version 2.0. The <a href="/docs/zh-CN/2.2.0/pulsar-admin#pulsar-admin"><code>pulsar-admin properties</code></a> command-line interface, for example, has been replaced with the <a href="/docs/zh-CN/2.2.0/pulsar-admin#pulsar-admin-tenants"><code>pulsar-admin tenants</code></a> interface. In some cases the properties termi [...]
-<h3><a class="anchor" aria-hidden="true" id="topic-names"></a><a href="#topic-names" 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-.83.42 [...]
-<p>Prior to version 2.0, <em>all</em> Pulsar topics had the following form:</p>
+<h2><a class="anchor" aria-hidden="true" id="主要变化"></a><a href="#主要变化" 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-.83.42-1.64 1-2.09V6 [...]
+<p>你需要注意一些主要变化,这些会对你日常使用产生影响</p>
+<h3><a class="anchor" aria-hidden="true" id="properties-vs-tenants"></a><a href="#properties-vs-tenants" 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 [...]
+<p>此前,Pulsar有一个properties(属性)的概念。 一个property和tenant本质上是一个东西,所以property这个术语从2.0版本开始就取消了。例如,<a href="/docs/zh-CN/2.2.0/pulsar-admin#pulsar-admin"><code>pulsar-admin properties</code></a>命令行接口被替换成了<a href="/docs/zh-CN/2.2.0/pulsar-admin#pulsar-admin-tenants"><code>pulsar-admin tenants</code></a> 在某些情况下,properties术语仍然有效,但是未来版本也会慢慢弃用。</p>
+<h3><a class="anchor" aria-hidden="true" id="topic名字"></a><a href="#topic名字" 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-.83.42-1.64 1- [...]
+<p>在2.0版本之前,<em>所有</em>Pulsar topic有如下形态</p>
 <pre><code class="hljs css language-http">{persistent|non-persistent}://property/cluster/namespace/topic
 </code></pre>
-<p>Two important changes have been made in Pulsar 2.0:</p>
+<p>2.0中有两个重要改变:</p>
 <ul>
-<li>There is no longer a <a href="#no-cluster">cluster component</a></li>
-<li>Properties have been <a href="#tenants">renamed to tenants</a></li>
-<li>You can use a <a href="#flexible-topic-naming">flexible</a> naming system to shorten many topic names</li>
+<li>不再有 <a href="#no-cluster">cluster component集群组件</a></li>
+<li>Properties被<a href="#tenants">改名为 tenants</a></li>
+<li>你可以使用<a href="#flexible-topic-naming">灵活的</a>命名系统来缩短Topic名字。</li>
 </ul>
-<h4><a class="anchor" aria-hidden="true" id="no-cluster-component"></a><a href="#no-cluster-component" 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 [...]
-<p>The cluster component has been removed from topic names. Thus, all topic names now have the following form:</p>
+<h4><a class="anchor" aria-hidden="true" id="没有cluster-component集群组件"></a><a href="#没有cluster-component集群组件" 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 [...]
+<p>集群组件cluster component从Topic名字中去掉,因此,所有Topic名字现在形态为:</p>
 <pre><code class="hljs css language-http">{persistent|non-persistent}://tenant/namespace/topic
 </code></pre>
 <blockquote>
-<p>Existing topics that use the legacy name format will continue to work without any change, and there are no plans to change that.</p>
+<p>已经存在的topics可能使用了之前的命名方式,可以继续工作,没有后续计划会修改。</p>
 </blockquote>
-<h4><a class="anchor" aria-hidden="true" id="flexible-topic-naming"></a><a href="#flexible-topic-naming" 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 [...]
-<p>All topic names in Pulsar 2.0 internally have the form shown <a href="#no-cluster-component">above</a> but you can now use shorthand names in many cases (for the sake of simplicity). The flexible naming system stems from the fact that there is now a default topic type, tenant, and namespace:</p>
+<h4><a class="anchor" aria-hidden="true" id="灵活的topic命名"></a><a href="#灵活的topic命名" 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-.83.42-1 [...]
+<p>在Pulsar 2.0内部,所有Topic名字形态<a href="#no-cluster-component">如上</a>,但是你现在可以通过简化使用更便捷的名字。 灵活命名系统有默认的topic type,tenant以及命名空间namesapce:</p>
 <table>
 <thead>
-<tr><th style="text-align:left">Topic aspect</th><th style="text-align:left">默认值</th></tr>
+<tr><th style="text-align:left">Topic 方面</th><th style="text-align:left">默认值</th></tr>
 </thead>
 <tbody>
 <tr><td style="text-align:left">topic type</td><td style="text-align:left"><code>persistent</code></td></tr>
@@ -117,20 +117,20 @@
 <tr><td style="text-align:left">namespace</td><td style="text-align:left"><code>default</code></td></tr>
 </tbody>
 </table>
-<p>The table below shows some example topic name translations that use implicit defaults:</p>
+<p>下表展示了一些topic名字默认自动转换的例子:</p>
 <table>
 <thead>
-<tr><th style="text-align:left">Input topic name</th><th style="text-align:left">Translated topic name</th></tr>
+<tr><th style="text-align:left">输入隐式topic名字</th><th style="text-align:left">默认转换成完整topic 名字</th></tr>
 </thead>
 <tbody>
 <tr><td style="text-align:left"><code>my-topic</code></td><td style="text-align:left"><code>persistent://public/default/my-topic</code></td></tr>
-<tr><td style="text-align:left"><code>my-tenant/my-namespace/my-topic</code></td><td style="text-align:left"><code>persistent://my-tenant/my-namespace/my-topic</code></td></tr>
+<tr><td style="text-align:left"><code>my-tenant/my-namespace/my-topic</code></td><td style="text-align:left"><code>persistent://tenant/namespace/topic</code></td></tr>
 </tbody>
 </table>
 <blockquote>
-<p>For <a href="/docs/zh-CN/2.2.0/concepts-messaging#non-persistent-topics">non-persistent topics</a> you'll need to continue to specify the entire topic name, as the default-based rules for persistent topic names don't apply. Thus you cannot use a shorthand name like <code>non-persistent://my-topic</code> and would need to use <code>non-persistent://public/default/my-topic</code> instead</p>
+<p>对于&lt;a href=&quot;concepts-messaging.md#non-persistent-topics&quot;非持久化</a>Topic,你总是需要制定完整的topic名称,此时上面那种对于持久化topic名字的转换就不适用了。 这样你不能适用便捷名如: <code>non-persistent://my-topic</code> ,需要用<code>non-persistent://public/default/my-topic</code> 来代替。</p>
 </blockquote>
-</span></div></article></div><div class="docs-prevnext"><a class="docs-next button" href="/docs/zh-CN/2.2.0/standalone"><span>在本地运行Pulsar</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#new-features-in-pulsar-20">New features in Pulsar 2.0</a></li><li><a href="#major-changes">Major changes</a><ul class="toc-headings"><li><a href="#properties-versus-tenants">Properties versus tenants</a></li><li><a href="#topic-na [...]
+</span></div></article></div><div class="docs-prevnext"><a class="docs-next button" href="/docs/zh-CN/2.2.0/standalone"><span>在本地运行Pulsar</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#pulsar-20-新特性">Pulsar 2.0 新特性</a></li><li><a href="#主要变化">主要变化</a><ul class="toc-headings"><li><a href="#properties-vs-tenants">Properties Vs. Tenants</a></li><li><a href="#topic名字">Topic名字</a></li></ul></li></ul></nav></div><foot [...]
       const community = document.querySelector("a[href='#community']").parentNode;
       const communityMenu =
         '<li>' +
diff --git a/content/docs/zh-CN/2.2.0/pulsar-2.0/index.html b/content/docs/zh-CN/2.2.0/pulsar-2.0/index.html
index 319ef8b..7483627 100644
--- a/content/docs/zh-CN/2.2.0/pulsar-2.0/index.html
+++ b/content/docs/zh-CN/2.2.0/pulsar-2.0/index.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="zh-CN"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Pulsar 2.0 · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar 2.0 is a major new release for Pulsar that brings some bold changes to the platform, including [simplified topic names](#topic-names), the addition of the [Pulsar Functions](/docs/zh-CN/2.2.0/func [...]
+<!DOCTYPE html><html lang="zh-CN"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Pulsar 2.0 · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar 2.0是Pulsar的新发布版本,为平台带来了海量的变化,包括[简化的Topic名字](#topic-names),以及[Pulsar Functions](/docs/zh-CN/2.2.0/functions-overview)特性,同时还有一些术语的变化等等。"/><meta name="docsearch:version" content="2.2.0"/><meta name=" [...]
               (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),
               m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
@@ -74,42 +74,42 @@
                 };
               }
             });
-        </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">Pulsar 2.0</h1></header><article><div><span><p>Pulsar 2.0 is a major new release for Pulsar that brings some bold changes to the platform, including <a href="#topic-names">simplified topic  [...]
-<h2><a class="anchor" aria-hidden="true" id="new-features-in-pulsar-20"></a><a href="#new-features-in-pulsar-20" 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 [...]
+        </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">Pulsar 2.0</h1></header><article><div><span><p>Pulsar 2.0是Pulsar的新发布版本,为平台带来了海量的变化,包括<a href="#topic-names">简化的Topic名字</a>,以及<a href="/docs/zh-CN/2.2.0/functions-overview">Pulsar Functions< [...]
+<h2><a class="anchor" aria-hidden="true" id="pulsar-20-新特性"></a><a href="#pulsar-20-新特性" 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 [...]
 <table>
 <thead>
-<tr><th style="text-align:left">Feature</th><th style="text-align:left">说明:</th></tr>
+<tr><th style="text-align:left">特性</th><th style="text-align:left">说明:</th></tr>
 </thead>
 <tbody>
-<tr><td style="text-align:left"><a href="/docs/zh-CN/2.2.0/functions-overview">Pulsar Functions</a></td><td style="text-align:left">A lightweight compute option for Pulsar</td></tr>
+<tr><td style="text-align:left"><a href="/docs/zh-CN/2.2.0/functions-overview">Pulsar Functions</a></td><td style="text-align:left">Pulsar的一个轻量级的运算功能</td></tr>
 </tbody>
 </table>
-<h2><a class="anchor" aria-hidden="true" id="major-changes"></a><a href="#major-changes" 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>There are a few major changes that you should be aware of, as they may significantly impact your day-to-day usage.</p>
-<h3><a class="anchor" aria-hidden="true" id="properties-versus-tenants"></a><a href="#properties-versus-tenants" 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 [...]
-<p>Previously, Pulsar had a concept of properties. A property is essentially the exact same thing as a tenant, so the &quot;property&quot; terminology has been removed in version 2.0. The <a href="/docs/zh-CN/2.2.0/pulsar-admin#pulsar-admin"><code>pulsar-admin properties</code></a> command-line interface, for example, has been replaced with the <a href="/docs/zh-CN/2.2.0/pulsar-admin#pulsar-admin-tenants"><code>pulsar-admin tenants</code></a> interface. In some cases the properties termi [...]
-<h3><a class="anchor" aria-hidden="true" id="topic-names"></a><a href="#topic-names" 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-.83.42 [...]
-<p>Prior to version 2.0, <em>all</em> Pulsar topics had the following form:</p>
+<h2><a class="anchor" aria-hidden="true" id="主要变化"></a><a href="#主要变化" 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-.83.42-1.64 1-2.09V6 [...]
+<p>你需要注意一些主要变化,这些会对你日常使用产生影响</p>
+<h3><a class="anchor" aria-hidden="true" id="properties-vs-tenants"></a><a href="#properties-vs-tenants" 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 [...]
+<p>此前,Pulsar有一个properties(属性)的概念。 一个property和tenant本质上是一个东西,所以property这个术语从2.0版本开始就取消了。例如,<a href="/docs/zh-CN/2.2.0/pulsar-admin#pulsar-admin"><code>pulsar-admin properties</code></a>命令行接口被替换成了<a href="/docs/zh-CN/2.2.0/pulsar-admin#pulsar-admin-tenants"><code>pulsar-admin tenants</code></a> 在某些情况下,properties术语仍然有效,但是未来版本也会慢慢弃用。</p>
+<h3><a class="anchor" aria-hidden="true" id="topic名字"></a><a href="#topic名字" 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-.83.42-1.64 1- [...]
+<p>在2.0版本之前,<em>所有</em>Pulsar topic有如下形态</p>
 <pre><code class="hljs css language-http">{persistent|non-persistent}://property/cluster/namespace/topic
 </code></pre>
-<p>Two important changes have been made in Pulsar 2.0:</p>
+<p>2.0中有两个重要改变:</p>
 <ul>
-<li>There is no longer a <a href="#no-cluster">cluster component</a></li>
-<li>Properties have been <a href="#tenants">renamed to tenants</a></li>
-<li>You can use a <a href="#flexible-topic-naming">flexible</a> naming system to shorten many topic names</li>
+<li>不再有 <a href="#no-cluster">cluster component集群组件</a></li>
+<li>Properties被<a href="#tenants">改名为 tenants</a></li>
+<li>你可以使用<a href="#flexible-topic-naming">灵活的</a>命名系统来缩短Topic名字。</li>
 </ul>
-<h4><a class="anchor" aria-hidden="true" id="no-cluster-component"></a><a href="#no-cluster-component" 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 [...]
-<p>The cluster component has been removed from topic names. Thus, all topic names now have the following form:</p>
+<h4><a class="anchor" aria-hidden="true" id="没有cluster-component集群组件"></a><a href="#没有cluster-component集群组件" 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 [...]
+<p>集群组件cluster component从Topic名字中去掉,因此,所有Topic名字现在形态为:</p>
 <pre><code class="hljs css language-http">{persistent|non-persistent}://tenant/namespace/topic
 </code></pre>
 <blockquote>
-<p>Existing topics that use the legacy name format will continue to work without any change, and there are no plans to change that.</p>
+<p>已经存在的topics可能使用了之前的命名方式,可以继续工作,没有后续计划会修改。</p>
 </blockquote>
-<h4><a class="anchor" aria-hidden="true" id="flexible-topic-naming"></a><a href="#flexible-topic-naming" 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 [...]
-<p>All topic names in Pulsar 2.0 internally have the form shown <a href="#no-cluster-component">above</a> but you can now use shorthand names in many cases (for the sake of simplicity). The flexible naming system stems from the fact that there is now a default topic type, tenant, and namespace:</p>
+<h4><a class="anchor" aria-hidden="true" id="灵活的topic命名"></a><a href="#灵活的topic命名" 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-.83.42-1 [...]
+<p>在Pulsar 2.0内部,所有Topic名字形态<a href="#no-cluster-component">如上</a>,但是你现在可以通过简化使用更便捷的名字。 灵活命名系统有默认的topic type,tenant以及命名空间namesapce:</p>
 <table>
 <thead>
-<tr><th style="text-align:left">Topic aspect</th><th style="text-align:left">默认值</th></tr>
+<tr><th style="text-align:left">Topic 方面</th><th style="text-align:left">默认值</th></tr>
 </thead>
 <tbody>
 <tr><td style="text-align:left">topic type</td><td style="text-align:left"><code>persistent</code></td></tr>
@@ -117,20 +117,20 @@
 <tr><td style="text-align:left">namespace</td><td style="text-align:left"><code>default</code></td></tr>
 </tbody>
 </table>
-<p>The table below shows some example topic name translations that use implicit defaults:</p>
+<p>下表展示了一些topic名字默认自动转换的例子:</p>
 <table>
 <thead>
-<tr><th style="text-align:left">Input topic name</th><th style="text-align:left">Translated topic name</th></tr>
+<tr><th style="text-align:left">输入隐式topic名字</th><th style="text-align:left">默认转换成完整topic 名字</th></tr>
 </thead>
 <tbody>
 <tr><td style="text-align:left"><code>my-topic</code></td><td style="text-align:left"><code>persistent://public/default/my-topic</code></td></tr>
-<tr><td style="text-align:left"><code>my-tenant/my-namespace/my-topic</code></td><td style="text-align:left"><code>persistent://my-tenant/my-namespace/my-topic</code></td></tr>
+<tr><td style="text-align:left"><code>my-tenant/my-namespace/my-topic</code></td><td style="text-align:left"><code>persistent://tenant/namespace/topic</code></td></tr>
 </tbody>
 </table>
 <blockquote>
-<p>For <a href="/docs/zh-CN/2.2.0/concepts-messaging#non-persistent-topics">non-persistent topics</a> you'll need to continue to specify the entire topic name, as the default-based rules for persistent topic names don't apply. Thus you cannot use a shorthand name like <code>non-persistent://my-topic</code> and would need to use <code>non-persistent://public/default/my-topic</code> instead</p>
+<p>对于&lt;a href=&quot;concepts-messaging.md#non-persistent-topics&quot;非持久化</a>Topic,你总是需要制定完整的topic名称,此时上面那种对于持久化topic名字的转换就不适用了。 这样你不能适用便捷名如: <code>non-persistent://my-topic</code> ,需要用<code>non-persistent://public/default/my-topic</code> 来代替。</p>
 </blockquote>
-</span></div></article></div><div class="docs-prevnext"><a class="docs-next button" href="/docs/zh-CN/2.2.0/standalone"><span>在本地运行Pulsar</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#new-features-in-pulsar-20">New features in Pulsar 2.0</a></li><li><a href="#major-changes">Major changes</a><ul class="toc-headings"><li><a href="#properties-versus-tenants">Properties versus tenants</a></li><li><a href="#topic-na [...]
+</span></div></article></div><div class="docs-prevnext"><a class="docs-next button" href="/docs/zh-CN/2.2.0/standalone"><span>在本地运行Pulsar</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#pulsar-20-新特性">Pulsar 2.0 新特性</a></li><li><a href="#主要变化">主要变化</a><ul class="toc-headings"><li><a href="#properties-vs-tenants">Properties Vs. Tenants</a></li><li><a href="#topic名字">Topic名字</a></li></ul></li></ul></nav></div><foot [...]
       const community = document.querySelector("a[href='#community']").parentNode;
       const communityMenu =
         '<li>' +
diff --git a/content/docs/zh-CN/2.2.0/standalone.html b/content/docs/zh-CN/2.2.0/standalone.html
index 31af851..2527bf0 100644
--- a/content/docs/zh-CN/2.2.0/standalone.html
+++ b/content/docs/zh-CN/2.2.0/standalone.html
@@ -254,7 +254,7 @@ Result result = client.createProducer(<span class="hljs-string">"my-topic"</span
     <span class="hljs-keyword">return</span> <span class="hljs-number">-1</span>;
 }
 </code></pre>
-</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/zh-CN/2.2.0/pulsar-2.0"><span class="arrow-prev">← </span><span>Pulsar 2.0</span></a><a class="docs-next button" href="/docs/zh-CN/2.2.0/standalone-docker"><span>Run Pulsar in Docker</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#手动运行-pulsar">手动运行 Pulsar</a><ul class="toc-headings"><li><a href="#系统要求">系统要求</a></li><li [...]
+</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/zh-CN/2.2.0/pulsar-2.0"><span class="arrow-prev">← </span><span>Pulsar-2.0</span></a><a class="docs-next button" href="/docs/zh-CN/2.2.0/standalone-docker"><span>Run Pulsar in Docker</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#手动运行-pulsar">手动运行 Pulsar</a><ul class="toc-headings"><li><a href="#系统要求">系统要求</a></li><li [...]
       const community = document.querySelector("a[href='#community']").parentNode;
       const communityMenu =
         '<li>' +
diff --git a/content/docs/zh-CN/2.2.0/standalone/index.html b/content/docs/zh-CN/2.2.0/standalone/index.html
index 31af851..2527bf0 100644
--- a/content/docs/zh-CN/2.2.0/standalone/index.html
+++ b/content/docs/zh-CN/2.2.0/standalone/index.html
@@ -254,7 +254,7 @@ Result result = client.createProducer(<span class="hljs-string">"my-topic"</span
     <span class="hljs-keyword">return</span> <span class="hljs-number">-1</span>;
 }
 </code></pre>
-</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/zh-CN/2.2.0/pulsar-2.0"><span class="arrow-prev">← </span><span>Pulsar 2.0</span></a><a class="docs-next button" href="/docs/zh-CN/2.2.0/standalone-docker"><span>Run Pulsar in Docker</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#手动运行-pulsar">手动运行 Pulsar</a><ul class="toc-headings"><li><a href="#系统要求">系统要求</a></li><li [...]
+</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/zh-CN/2.2.0/pulsar-2.0"><span class="arrow-prev">← </span><span>Pulsar-2.0</span></a><a class="docs-next button" href="/docs/zh-CN/2.2.0/standalone-docker"><span>Run Pulsar in Docker</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#手动运行-pulsar">手动运行 Pulsar</a><ul class="toc-headings"><li><a href="#系统要求">系统要求</a></li><li [...]
       const community = document.querySelector("a[href='#community']").parentNode;
       const communityMenu =
         '<li>' +
diff --git a/content/docs/zh-CN/2.2.1/concepts-architecture-overview.html b/content/docs/zh-CN/2.2.1/concepts-architecture-overview.html
index 8f08b53..2c1a413 100644
--- a/content/docs/zh-CN/2.2.1/concepts-architecture-overview.html
+++ b/content/docs/zh-CN/2.2.1/concepts-architecture-overview.html
@@ -128,7 +128,7 @@
 </ul>
 <p>除了消息数据,<em>cursors</em>也会被持久化入BookKeeper。 Cursors是消费端<a href="/docs/zh-CN/2.2.1/reference-terminology#subscription">订阅</a>消费的位置。 BookKeeper让Pulsar可以用一种可扩展的方式存储消费位置。</p>
 <p>目前,Pulsar只支持持久消息存储。这是所有topic名称都是持久不可变的原因。这里有一个例子:</p>
-<pre><code class="hljs css language-http">persistent://my-tenant/my-namespace/my-topic
+<pre><code class="hljs css language-http">persistent://tenant/namespace/topic
 </code></pre>
 <blockquote>
 <p>Pulsar也支持临时消息( (<a href="/docs/zh-CN/2.2.1/concepts-messaging#non-persistent-topics">非持久消息</a>) )存储。</p>
diff --git a/content/docs/zh-CN/2.2.1/concepts-architecture-overview/index.html b/content/docs/zh-CN/2.2.1/concepts-architecture-overview/index.html
index 8f08b53..2c1a413 100644
--- a/content/docs/zh-CN/2.2.1/concepts-architecture-overview/index.html
+++ b/content/docs/zh-CN/2.2.1/concepts-architecture-overview/index.html
@@ -128,7 +128,7 @@
 </ul>
 <p>除了消息数据,<em>cursors</em>也会被持久化入BookKeeper。 Cursors是消费端<a href="/docs/zh-CN/2.2.1/reference-terminology#subscription">订阅</a>消费的位置。 BookKeeper让Pulsar可以用一种可扩展的方式存储消费位置。</p>
 <p>目前,Pulsar只支持持久消息存储。这是所有topic名称都是持久不可变的原因。这里有一个例子:</p>
-<pre><code class="hljs css language-http">persistent://my-tenant/my-namespace/my-topic
+<pre><code class="hljs css language-http">persistent://tenant/namespace/topic
 </code></pre>
 <blockquote>
 <p>Pulsar也支持临时消息( (<a href="/docs/zh-CN/2.2.1/concepts-messaging#non-persistent-topics">非持久消息</a>) )存储。</p>
diff --git a/content/docs/zh-CN/2.2.1/pulsar-2.0.html b/content/docs/zh-CN/2.2.1/pulsar-2.0.html
index 0cc730b..a926004 100644
--- a/content/docs/zh-CN/2.2.1/pulsar-2.0.html
+++ b/content/docs/zh-CN/2.2.1/pulsar-2.0.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="zh-CN"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Pulsar 2.0 · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar 2.0 is a major new release for Pulsar that brings some bold changes to the platform, including [simplified topic names](#topic-names), the addition of the [Pulsar Functions](/docs/zh-CN/2.2.1/func [...]
+<!DOCTYPE html><html lang="zh-CN"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Pulsar 2.0 · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar 2.0是Pulsar的新发布版本,为平台带来了海量的变化,包括[简化的Topic名字](#topic-names),以及[Pulsar Functions](/docs/zh-CN/2.2.1/functions-overview)特性,同时还有一些术语的变化等等。"/><meta name="docsearch:version" content="2.2.1"/><meta name=" [...]
               (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),
               m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
@@ -74,42 +74,42 @@
                 };
               }
             });
-        </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">Pulsar 2.0</h1></header><article><div><span><p>Pulsar 2.0 is a major new release for Pulsar that brings some bold changes to the platform, including <a href="#topic-names">simplified topic  [...]
-<h2><a class="anchor" aria-hidden="true" id="new-features-in-pulsar-20"></a><a href="#new-features-in-pulsar-20" 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 [...]
+        </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">Pulsar 2.0</h1></header><article><div><span><p>Pulsar 2.0是Pulsar的新发布版本,为平台带来了海量的变化,包括<a href="#topic-names">简化的Topic名字</a>,以及<a href="/docs/zh-CN/2.2.1/functions-overview">Pulsar Functions< [...]
+<h2><a class="anchor" aria-hidden="true" id="pulsar-20-新特性"></a><a href="#pulsar-20-新特性" 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 [...]
 <table>
 <thead>
-<tr><th style="text-align:left">Feature</th><th style="text-align:left">说明:</th></tr>
+<tr><th style="text-align:left">特性</th><th style="text-align:left">说明:</th></tr>
 </thead>
 <tbody>
-<tr><td style="text-align:left"><a href="/docs/zh-CN/2.2.1/functions-overview">Pulsar Functions</a></td><td style="text-align:left">A lightweight compute option for Pulsar</td></tr>
+<tr><td style="text-align:left"><a href="/docs/zh-CN/2.2.1/functions-overview">Pulsar Functions</a></td><td style="text-align:left">Pulsar的一个轻量级的运算功能</td></tr>
 </tbody>
 </table>
-<h2><a class="anchor" aria-hidden="true" id="major-changes"></a><a href="#major-changes" 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>There are a few major changes that you should be aware of, as they may significantly impact your day-to-day usage.</p>
-<h3><a class="anchor" aria-hidden="true" id="properties-versus-tenants"></a><a href="#properties-versus-tenants" 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 [...]
-<p>Previously, Pulsar had a concept of properties. A property is essentially the exact same thing as a tenant, so the &quot;property&quot; terminology has been removed in version 2.0. The <a href="/docs/zh-CN/2.2.1/pulsar-admin#pulsar-admin"><code>pulsar-admin properties</code></a> command-line interface, for example, has been replaced with the <a href="/docs/zh-CN/2.2.1/pulsar-admin#pulsar-admin-tenants"><code>pulsar-admin tenants</code></a> interface. In some cases the properties termi [...]
-<h3><a class="anchor" aria-hidden="true" id="topic-names"></a><a href="#topic-names" 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-.83.42 [...]
-<p>Prior to version 2.0, <em>all</em> Pulsar topics had the following form:</p>
+<h2><a class="anchor" aria-hidden="true" id="主要变化"></a><a href="#主要变化" 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-.83.42-1.64 1-2.09V6 [...]
+<p>你需要注意一些主要变化,这些会对你日常使用产生影响</p>
+<h3><a class="anchor" aria-hidden="true" id="properties-vs-tenants"></a><a href="#properties-vs-tenants" 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 [...]
+<p>此前,Pulsar有一个properties(属性)的概念。 一个property和tenant本质上是一个东西,所以property这个术语从2.0版本开始就取消了。例如,<a href="/docs/zh-CN/2.2.1/pulsar-admin#pulsar-admin"><code>pulsar-admin properties</code></a>命令行接口被替换成了<a href="/docs/zh-CN/2.2.1/pulsar-admin#pulsar-admin-tenants"><code>pulsar-admin tenants</code></a> 在某些情况下,properties术语仍然有效,但是未来版本也会慢慢弃用。</p>
+<h3><a class="anchor" aria-hidden="true" id="topic名字"></a><a href="#topic名字" 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-.83.42-1.64 1- [...]
+<p>在2.0版本之前,<em>所有</em>Pulsar topic有如下形态</p>
 <pre><code class="hljs css language-http">{persistent|non-persistent}://property/cluster/namespace/topic
 </code></pre>
-<p>Two important changes have been made in Pulsar 2.0:</p>
+<p>2.0中有两个重要改变:</p>
 <ul>
-<li>There is no longer a <a href="#no-cluster">cluster component</a></li>
-<li>Properties have been <a href="#tenants">renamed to tenants</a></li>
-<li>You can use a <a href="#flexible-topic-naming">flexible</a> naming system to shorten many topic names</li>
+<li>不再有 <a href="#no-cluster">cluster component集群组件</a></li>
+<li>Properties被<a href="#tenants">改名为 tenants</a></li>
+<li>你可以使用<a href="#flexible-topic-naming">灵活的</a>命名系统来缩短Topic名字。</li>
 </ul>
-<h4><a class="anchor" aria-hidden="true" id="no-cluster-component"></a><a href="#no-cluster-component" 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 [...]
-<p>The cluster component has been removed from topic names. Thus, all topic names now have the following form:</p>
+<h4><a class="anchor" aria-hidden="true" id="没有cluster-component集群组件"></a><a href="#没有cluster-component集群组件" 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 [...]
+<p>集群组件cluster component从Topic名字中去掉,因此,所有Topic名字现在形态为:</p>
 <pre><code class="hljs css language-http">{persistent|non-persistent}://tenant/namespace/topic
 </code></pre>
 <blockquote>
-<p>Existing topics that use the legacy name format will continue to work without any change, and there are no plans to change that.</p>
+<p>已经存在的topics可能使用了之前的命名方式,可以继续工作,没有后续计划会修改。</p>
 </blockquote>
-<h4><a class="anchor" aria-hidden="true" id="flexible-topic-naming"></a><a href="#flexible-topic-naming" 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 [...]
-<p>All topic names in Pulsar 2.0 internally have the form shown <a href="#no-cluster-component">above</a> but you can now use shorthand names in many cases (for the sake of simplicity). The flexible naming system stems from the fact that there is now a default topic type, tenant, and namespace:</p>
+<h4><a class="anchor" aria-hidden="true" id="灵活的topic命名"></a><a href="#灵活的topic命名" 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-.83.42-1 [...]
+<p>在Pulsar 2.0内部,所有Topic名字形态<a href="#no-cluster-component">如上</a>,但是你现在可以通过简化使用更便捷的名字。 灵活命名系统有默认的topic type,tenant以及命名空间namesapce:</p>
 <table>
 <thead>
-<tr><th style="text-align:left">Topic aspect</th><th style="text-align:left">默认值</th></tr>
+<tr><th style="text-align:left">Topic 方面</th><th style="text-align:left">默认值</th></tr>
 </thead>
 <tbody>
 <tr><td style="text-align:left">topic type</td><td style="text-align:left"><code>persistent</code></td></tr>
@@ -117,20 +117,20 @@
 <tr><td style="text-align:left">namespace</td><td style="text-align:left"><code>default</code></td></tr>
 </tbody>
 </table>
-<p>The table below shows some example topic name translations that use implicit defaults:</p>
+<p>下表展示了一些topic名字默认自动转换的例子:</p>
 <table>
 <thead>
-<tr><th style="text-align:left">Input topic name</th><th style="text-align:left">Translated topic name</th></tr>
+<tr><th style="text-align:left">输入隐式topic名字</th><th style="text-align:left">默认转换成完整topic 名字</th></tr>
 </thead>
 <tbody>
 <tr><td style="text-align:left"><code>my-topic</code></td><td style="text-align:left"><code>persistent://public/default/my-topic</code></td></tr>
-<tr><td style="text-align:left"><code>my-tenant/my-namespace/my-topic</code></td><td style="text-align:left"><code>persistent://my-tenant/my-namespace/my-topic</code></td></tr>
+<tr><td style="text-align:left"><code>my-tenant/my-namespace/my-topic</code></td><td style="text-align:left"><code>persistent://tenant/namespace/topic</code></td></tr>
 </tbody>
 </table>
 <blockquote>
-<p>For <a href="/docs/zh-CN/2.2.1/concepts-messaging#non-persistent-topics">non-persistent topics</a> you'll need to continue to specify the entire topic name, as the default-based rules for persistent topic names don't apply. Thus you cannot use a shorthand name like <code>non-persistent://my-topic</code> and would need to use <code>non-persistent://public/default/my-topic</code> instead</p>
+<p>对于&lt;a href=&quot;concepts-messaging.md#non-persistent-topics&quot;非持久化</a>Topic,你总是需要制定完整的topic名称,此时上面那种对于持久化topic名字的转换就不适用了。 这样你不能适用便捷名如: <code>non-persistent://my-topic</code> ,需要用<code>non-persistent://public/default/my-topic</code> 来代替。</p>
 </blockquote>
-</span></div></article></div><div class="docs-prevnext"><a class="docs-next button" href="/docs/zh-CN/2.2.1/standalone"><span>在本地运行Pulsar</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#new-features-in-pulsar-20">New features in Pulsar 2.0</a></li><li><a href="#major-changes">Major changes</a><ul class="toc-headings"><li><a href="#properties-versus-tenants">Properties versus tenants</a></li><li><a href="#topic-na [...]
+</span></div></article></div><div class="docs-prevnext"><a class="docs-next button" href="/docs/zh-CN/2.2.1/standalone"><span>在本地运行Pulsar</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#pulsar-20-新特性">Pulsar 2.0 新特性</a></li><li><a href="#主要变化">主要变化</a><ul class="toc-headings"><li><a href="#properties-vs-tenants">Properties Vs. Tenants</a></li><li><a href="#topic名字">Topic名字</a></li></ul></li></ul></nav></div><foot [...]
       const community = document.querySelector("a[href='#community']").parentNode;
       const communityMenu =
         '<li>' +
diff --git a/content/docs/zh-CN/2.2.1/pulsar-2.0/index.html b/content/docs/zh-CN/2.2.1/pulsar-2.0/index.html
index 0cc730b..a926004 100644
--- a/content/docs/zh-CN/2.2.1/pulsar-2.0/index.html
+++ b/content/docs/zh-CN/2.2.1/pulsar-2.0/index.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="zh-CN"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Pulsar 2.0 · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar 2.0 is a major new release for Pulsar that brings some bold changes to the platform, including [simplified topic names](#topic-names), the addition of the [Pulsar Functions](/docs/zh-CN/2.2.1/func [...]
+<!DOCTYPE html><html lang="zh-CN"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Pulsar 2.0 · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar 2.0是Pulsar的新发布版本,为平台带来了海量的变化,包括[简化的Topic名字](#topic-names),以及[Pulsar Functions](/docs/zh-CN/2.2.1/functions-overview)特性,同时还有一些术语的变化等等。"/><meta name="docsearch:version" content="2.2.1"/><meta name=" [...]
               (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),
               m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
@@ -74,42 +74,42 @@
                 };
               }
             });
-        </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">Pulsar 2.0</h1></header><article><div><span><p>Pulsar 2.0 is a major new release for Pulsar that brings some bold changes to the platform, including <a href="#topic-names">simplified topic  [...]
-<h2><a class="anchor" aria-hidden="true" id="new-features-in-pulsar-20"></a><a href="#new-features-in-pulsar-20" 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 [...]
+        </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">Pulsar 2.0</h1></header><article><div><span><p>Pulsar 2.0是Pulsar的新发布版本,为平台带来了海量的变化,包括<a href="#topic-names">简化的Topic名字</a>,以及<a href="/docs/zh-CN/2.2.1/functions-overview">Pulsar Functions< [...]
+<h2><a class="anchor" aria-hidden="true" id="pulsar-20-新特性"></a><a href="#pulsar-20-新特性" 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 [...]
 <table>
 <thead>
-<tr><th style="text-align:left">Feature</th><th style="text-align:left">说明:</th></tr>
+<tr><th style="text-align:left">特性</th><th style="text-align:left">说明:</th></tr>
 </thead>
 <tbody>
-<tr><td style="text-align:left"><a href="/docs/zh-CN/2.2.1/functions-overview">Pulsar Functions</a></td><td style="text-align:left">A lightweight compute option for Pulsar</td></tr>
+<tr><td style="text-align:left"><a href="/docs/zh-CN/2.2.1/functions-overview">Pulsar Functions</a></td><td style="text-align:left">Pulsar的一个轻量级的运算功能</td></tr>
 </tbody>
 </table>
-<h2><a class="anchor" aria-hidden="true" id="major-changes"></a><a href="#major-changes" 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>There are a few major changes that you should be aware of, as they may significantly impact your day-to-day usage.</p>
-<h3><a class="anchor" aria-hidden="true" id="properties-versus-tenants"></a><a href="#properties-versus-tenants" 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 [...]
-<p>Previously, Pulsar had a concept of properties. A property is essentially the exact same thing as a tenant, so the &quot;property&quot; terminology has been removed in version 2.0. The <a href="/docs/zh-CN/2.2.1/pulsar-admin#pulsar-admin"><code>pulsar-admin properties</code></a> command-line interface, for example, has been replaced with the <a href="/docs/zh-CN/2.2.1/pulsar-admin#pulsar-admin-tenants"><code>pulsar-admin tenants</code></a> interface. In some cases the properties termi [...]
-<h3><a class="anchor" aria-hidden="true" id="topic-names"></a><a href="#topic-names" 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-.83.42 [...]
-<p>Prior to version 2.0, <em>all</em> Pulsar topics had the following form:</p>
+<h2><a class="anchor" aria-hidden="true" id="主要变化"></a><a href="#主要变化" 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-.83.42-1.64 1-2.09V6 [...]
+<p>你需要注意一些主要变化,这些会对你日常使用产生影响</p>
+<h3><a class="anchor" aria-hidden="true" id="properties-vs-tenants"></a><a href="#properties-vs-tenants" 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 [...]
+<p>此前,Pulsar有一个properties(属性)的概念。 一个property和tenant本质上是一个东西,所以property这个术语从2.0版本开始就取消了。例如,<a href="/docs/zh-CN/2.2.1/pulsar-admin#pulsar-admin"><code>pulsar-admin properties</code></a>命令行接口被替换成了<a href="/docs/zh-CN/2.2.1/pulsar-admin#pulsar-admin-tenants"><code>pulsar-admin tenants</code></a> 在某些情况下,properties术语仍然有效,但是未来版本也会慢慢弃用。</p>
+<h3><a class="anchor" aria-hidden="true" id="topic名字"></a><a href="#topic名字" 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-.83.42-1.64 1- [...]
+<p>在2.0版本之前,<em>所有</em>Pulsar topic有如下形态</p>
 <pre><code class="hljs css language-http">{persistent|non-persistent}://property/cluster/namespace/topic
 </code></pre>
-<p>Two important changes have been made in Pulsar 2.0:</p>
+<p>2.0中有两个重要改变:</p>
 <ul>
-<li>There is no longer a <a href="#no-cluster">cluster component</a></li>
-<li>Properties have been <a href="#tenants">renamed to tenants</a></li>
-<li>You can use a <a href="#flexible-topic-naming">flexible</a> naming system to shorten many topic names</li>
+<li>不再有 <a href="#no-cluster">cluster component集群组件</a></li>
+<li>Properties被<a href="#tenants">改名为 tenants</a></li>
+<li>你可以使用<a href="#flexible-topic-naming">灵活的</a>命名系统来缩短Topic名字。</li>
 </ul>
-<h4><a class="anchor" aria-hidden="true" id="no-cluster-component"></a><a href="#no-cluster-component" 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 [...]
-<p>The cluster component has been removed from topic names. Thus, all topic names now have the following form:</p>
+<h4><a class="anchor" aria-hidden="true" id="没有cluster-component集群组件"></a><a href="#没有cluster-component集群组件" 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 [...]
+<p>集群组件cluster component从Topic名字中去掉,因此,所有Topic名字现在形态为:</p>
 <pre><code class="hljs css language-http">{persistent|non-persistent}://tenant/namespace/topic
 </code></pre>
 <blockquote>
-<p>Existing topics that use the legacy name format will continue to work without any change, and there are no plans to change that.</p>
+<p>已经存在的topics可能使用了之前的命名方式,可以继续工作,没有后续计划会修改。</p>
 </blockquote>
-<h4><a class="anchor" aria-hidden="true" id="flexible-topic-naming"></a><a href="#flexible-topic-naming" 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 [...]
-<p>All topic names in Pulsar 2.0 internally have the form shown <a href="#no-cluster-component">above</a> but you can now use shorthand names in many cases (for the sake of simplicity). The flexible naming system stems from the fact that there is now a default topic type, tenant, and namespace:</p>
+<h4><a class="anchor" aria-hidden="true" id="灵活的topic命名"></a><a href="#灵活的topic命名" 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-.83.42-1 [...]
+<p>在Pulsar 2.0内部,所有Topic名字形态<a href="#no-cluster-component">如上</a>,但是你现在可以通过简化使用更便捷的名字。 灵活命名系统有默认的topic type,tenant以及命名空间namesapce:</p>
 <table>
 <thead>
-<tr><th style="text-align:left">Topic aspect</th><th style="text-align:left">默认值</th></tr>
+<tr><th style="text-align:left">Topic 方面</th><th style="text-align:left">默认值</th></tr>
 </thead>
 <tbody>
 <tr><td style="text-align:left">topic type</td><td style="text-align:left"><code>persistent</code></td></tr>
@@ -117,20 +117,20 @@
 <tr><td style="text-align:left">namespace</td><td style="text-align:left"><code>default</code></td></tr>
 </tbody>
 </table>
-<p>The table below shows some example topic name translations that use implicit defaults:</p>
+<p>下表展示了一些topic名字默认自动转换的例子:</p>
 <table>
 <thead>
-<tr><th style="text-align:left">Input topic name</th><th style="text-align:left">Translated topic name</th></tr>
+<tr><th style="text-align:left">输入隐式topic名字</th><th style="text-align:left">默认转换成完整topic 名字</th></tr>
 </thead>
 <tbody>
 <tr><td style="text-align:left"><code>my-topic</code></td><td style="text-align:left"><code>persistent://public/default/my-topic</code></td></tr>
-<tr><td style="text-align:left"><code>my-tenant/my-namespace/my-topic</code></td><td style="text-align:left"><code>persistent://my-tenant/my-namespace/my-topic</code></td></tr>
+<tr><td style="text-align:left"><code>my-tenant/my-namespace/my-topic</code></td><td style="text-align:left"><code>persistent://tenant/namespace/topic</code></td></tr>
 </tbody>
 </table>
 <blockquote>
-<p>For <a href="/docs/zh-CN/2.2.1/concepts-messaging#non-persistent-topics">non-persistent topics</a> you'll need to continue to specify the entire topic name, as the default-based rules for persistent topic names don't apply. Thus you cannot use a shorthand name like <code>non-persistent://my-topic</code> and would need to use <code>non-persistent://public/default/my-topic</code> instead</p>
+<p>对于&lt;a href=&quot;concepts-messaging.md#non-persistent-topics&quot;非持久化</a>Topic,你总是需要制定完整的topic名称,此时上面那种对于持久化topic名字的转换就不适用了。 这样你不能适用便捷名如: <code>non-persistent://my-topic</code> ,需要用<code>non-persistent://public/default/my-topic</code> 来代替。</p>
 </blockquote>
-</span></div></article></div><div class="docs-prevnext"><a class="docs-next button" href="/docs/zh-CN/2.2.1/standalone"><span>在本地运行Pulsar</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#new-features-in-pulsar-20">New features in Pulsar 2.0</a></li><li><a href="#major-changes">Major changes</a><ul class="toc-headings"><li><a href="#properties-versus-tenants">Properties versus tenants</a></li><li><a href="#topic-na [...]
+</span></div></article></div><div class="docs-prevnext"><a class="docs-next button" href="/docs/zh-CN/2.2.1/standalone"><span>在本地运行Pulsar</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#pulsar-20-新特性">Pulsar 2.0 新特性</a></li><li><a href="#主要变化">主要变化</a><ul class="toc-headings"><li><a href="#properties-vs-tenants">Properties Vs. Tenants</a></li><li><a href="#topic名字">Topic名字</a></li></ul></li></ul></nav></div><foot [...]
       const community = document.querySelector("a[href='#community']").parentNode;
       const communityMenu =
         '<li>' +
diff --git a/content/docs/zh-CN/2.2.1/standalone.html b/content/docs/zh-CN/2.2.1/standalone.html
index 4738cf0..c24720c 100644
--- a/content/docs/zh-CN/2.2.1/standalone.html
+++ b/content/docs/zh-CN/2.2.1/standalone.html
@@ -254,7 +254,7 @@ Result result = client.createProducer(<span class="hljs-string">"my-topic"</span
     <span class="hljs-keyword">return</span> <span class="hljs-number">-1</span>;
 }
 </code></pre>
-</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/zh-CN/2.2.1/pulsar-2.0"><span class="arrow-prev">← </span><span>Pulsar 2.0</span></a><a class="docs-next button" href="/docs/zh-CN/2.2.1/standalone-docker"><span>Run Pulsar in Docker</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#手动运行-pulsar">手动运行 Pulsar</a><ul class="toc-headings"><li><a href="#系统要求">系统要求</a></li><li [...]
+</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/zh-CN/2.2.1/pulsar-2.0"><span class="arrow-prev">← </span><span>Pulsar-2.0</span></a><a class="docs-next button" href="/docs/zh-CN/2.2.1/standalone-docker"><span>Run Pulsar in Docker</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#手动运行-pulsar">手动运行 Pulsar</a><ul class="toc-headings"><li><a href="#系统要求">系统要求</a></li><li [...]
       const community = document.querySelector("a[href='#community']").parentNode;
       const communityMenu =
         '<li>' +
diff --git a/content/docs/zh-CN/2.2.1/standalone/index.html b/content/docs/zh-CN/2.2.1/standalone/index.html
index 4738cf0..c24720c 100644
--- a/content/docs/zh-CN/2.2.1/standalone/index.html
+++ b/content/docs/zh-CN/2.2.1/standalone/index.html
@@ -254,7 +254,7 @@ Result result = client.createProducer(<span class="hljs-string">"my-topic"</span
     <span class="hljs-keyword">return</span> <span class="hljs-number">-1</span>;
 }
 </code></pre>
-</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/zh-CN/2.2.1/pulsar-2.0"><span class="arrow-prev">← </span><span>Pulsar 2.0</span></a><a class="docs-next button" href="/docs/zh-CN/2.2.1/standalone-docker"><span>Run Pulsar in Docker</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#手动运行-pulsar">手动运行 Pulsar</a><ul class="toc-headings"><li><a href="#系统要求">系统要求</a></li><li [...]
+</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/zh-CN/2.2.1/pulsar-2.0"><span class="arrow-prev">← </span><span>Pulsar-2.0</span></a><a class="docs-next button" href="/docs/zh-CN/2.2.1/standalone-docker"><span>Run Pulsar in Docker</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#手动运行-pulsar">手动运行 Pulsar</a><ul class="toc-headings"><li><a href="#系统要求">系统要求</a></li><li [...]
       const community = document.querySelector("a[href='#community']").parentNode;
       const communityMenu =
         '<li>' +
diff --git a/content/docs/zh-CN/2.3.0/concepts-architecture-overview.html b/content/docs/zh-CN/2.3.0/concepts-architecture-overview.html
index 01a8a9b..9feb2d9 100644
--- a/content/docs/zh-CN/2.3.0/concepts-architecture-overview.html
+++ b/content/docs/zh-CN/2.3.0/concepts-architecture-overview.html
@@ -128,7 +128,7 @@
 </ul>
 <p>除了消息数据,<em>cursors</em>也会被持久化入BookKeeper。 Cursors是消费端<a href="/docs/zh-CN/2.3.0/reference-terminology#subscription">订阅</a>消费的位置。 BookKeeper让Pulsar可以用一种可扩展的方式存储消费位置。</p>
 <p>目前,Pulsar只支持持久消息存储。这是所有topic名称都是持久不可变的原因。这里有一个例子:</p>
-<pre><code class="hljs css language-http">persistent://my-tenant/my-namespace/my-topic
+<pre><code class="hljs css language-http">persistent://tenant/namespace/topic
 </code></pre>
 <blockquote>
 <p>Pulsar也支持临时消息( (<a href="/docs/zh-CN/2.3.0/concepts-messaging#non-persistent-topics">非持久消息</a>) )存储。</p>
diff --git a/content/docs/zh-CN/2.3.0/concepts-architecture-overview/index.html b/content/docs/zh-CN/2.3.0/concepts-architecture-overview/index.html
index 01a8a9b..9feb2d9 100644
--- a/content/docs/zh-CN/2.3.0/concepts-architecture-overview/index.html
+++ b/content/docs/zh-CN/2.3.0/concepts-architecture-overview/index.html
@@ -128,7 +128,7 @@
 </ul>
 <p>除了消息数据,<em>cursors</em>也会被持久化入BookKeeper。 Cursors是消费端<a href="/docs/zh-CN/2.3.0/reference-terminology#subscription">订阅</a>消费的位置。 BookKeeper让Pulsar可以用一种可扩展的方式存储消费位置。</p>
 <p>目前,Pulsar只支持持久消息存储。这是所有topic名称都是持久不可变的原因。这里有一个例子:</p>
-<pre><code class="hljs css language-http">persistent://my-tenant/my-namespace/my-topic
+<pre><code class="hljs css language-http">persistent://tenant/namespace/topic
 </code></pre>
 <blockquote>
 <p>Pulsar也支持临时消息( (<a href="/docs/zh-CN/2.3.0/concepts-messaging#non-persistent-topics">非持久消息</a>) )存储。</p>
diff --git a/content/docs/zh-CN/2.3.0/concepts-overview.html b/content/docs/zh-CN/2.3.0/concepts-overview.html
index c936cac..19f2811 100644
--- a/content/docs/zh-CN/2.3.0/concepts-overview.html
+++ b/content/docs/zh-CN/2.3.0/concepts-overview.html
@@ -85,7 +85,7 @@
 <li>通过<a href="http://bookkeeper.apache.org/">Apache BookKeeper</a>提供的 <a href="/docs/zh-CN/2.3.0/concepts-architecture-overview#persistent-storage">持久化消息存储机制</a> 保证消息的送达</li>
 <li>一个serverless的轻量级计算框架 <a href="/docs/zh-CN/2.3.0/functions-overview">Pulsar Functions</a> 提供了原生的流数据处理</li>
 <li>一个serverless的连接器框架<a href="/docs/zh-CN/2.3.0/io-overview">Pulsar IO</a>,构建于 Pulsar Functions之上,能够轻松的将数据从Apache Pulsar中移入和移出</li>
-<li><a href="/docs/zh-CN/2.3.0/concepts-tiered-storage">Tiered Storage</a> offloads data from hot/warm storage to cold/longterm storage (such as S3 and GCS) when the data is aging out.</li>
+<li>当数据老化时,<a href="/docs/zh-CN/2.3.0/concepts-tiered-storage">分层式存储</a> 将数据从热存储卸载到冷存储中(比如S3、GCS等)</li>
 </ul>
 <h2><a class="anchor" aria-hidden="true" id="contents"></a><a href="#contents" 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-.83.42-1.64  [...]
 <ul>
diff --git a/content/docs/zh-CN/2.3.0/concepts-overview/index.html b/content/docs/zh-CN/2.3.0/concepts-overview/index.html
index c936cac..19f2811 100644
--- a/content/docs/zh-CN/2.3.0/concepts-overview/index.html
+++ b/content/docs/zh-CN/2.3.0/concepts-overview/index.html
@@ -85,7 +85,7 @@
 <li>通过<a href="http://bookkeeper.apache.org/">Apache BookKeeper</a>提供的 <a href="/docs/zh-CN/2.3.0/concepts-architecture-overview#persistent-storage">持久化消息存储机制</a> 保证消息的送达</li>
 <li>一个serverless的轻量级计算框架 <a href="/docs/zh-CN/2.3.0/functions-overview">Pulsar Functions</a> 提供了原生的流数据处理</li>
 <li>一个serverless的连接器框架<a href="/docs/zh-CN/2.3.0/io-overview">Pulsar IO</a>,构建于 Pulsar Functions之上,能够轻松的将数据从Apache Pulsar中移入和移出</li>
-<li><a href="/docs/zh-CN/2.3.0/concepts-tiered-storage">Tiered Storage</a> offloads data from hot/warm storage to cold/longterm storage (such as S3 and GCS) when the data is aging out.</li>
+<li>当数据老化时,<a href="/docs/zh-CN/2.3.0/concepts-tiered-storage">分层式存储</a> 将数据从热存储卸载到冷存储中(比如S3、GCS等)</li>
 </ul>
 <h2><a class="anchor" aria-hidden="true" id="contents"></a><a href="#contents" 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-.83.42-1.64  [...]
 <ul>
diff --git a/content/docs/zh-CN/2.3.0/pulsar-2.0.html b/content/docs/zh-CN/2.3.0/pulsar-2.0.html
index 48e27e8..47912c8 100644
--- a/content/docs/zh-CN/2.3.0/pulsar-2.0.html
+++ b/content/docs/zh-CN/2.3.0/pulsar-2.0.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="zh-CN"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Pulsar 2.0 · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar 2.0 is a major new release for Pulsar that brings some bold changes to the platform, including [simplified topic names](#topic-names), the addition of the [Pulsar Functions](/docs/zh-CN/2.3.0/func [...]
+<!DOCTYPE html><html lang="zh-CN"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Pulsar 2.0 · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar 2.0是Pulsar的新发布版本,为平台带来了海量的变化,包括[简化的Topic名字](#topic-names),以及[Pulsar Functions](/docs/zh-CN/2.3.0/functions-overview)特性,同时还有一些术语的变化等等。"/><meta name="docsearch:version" content="2.3.0"/><meta name=" [...]
               (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),
               m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
@@ -74,42 +74,42 @@
                 };
               }
             });
-        </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">Pulsar 2.0</h1></header><article><div><span><p>Pulsar 2.0 is a major new release for Pulsar that brings some bold changes to the platform, including <a href="#topic-names">simplified topic  [...]
-<h2><a class="anchor" aria-hidden="true" id="new-features-in-pulsar-20"></a><a href="#new-features-in-pulsar-20" 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 [...]
+        </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">Pulsar 2.0</h1></header><article><div><span><p>Pulsar 2.0是Pulsar的新发布版本,为平台带来了海量的变化,包括<a href="#topic-names">简化的Topic名字</a>,以及<a href="/docs/zh-CN/2.3.0/functions-overview">Pulsar Functions< [...]
+<h2><a class="anchor" aria-hidden="true" id="pulsar-20-新特性"></a><a href="#pulsar-20-新特性" 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 [...]
 <table>
 <thead>
-<tr><th style="text-align:left">Feature</th><th style="text-align:left">说明:</th></tr>
+<tr><th style="text-align:left">特性</th><th style="text-align:left">说明:</th></tr>
 </thead>
 <tbody>
-<tr><td style="text-align:left"><a href="/docs/zh-CN/2.3.0/functions-overview">Pulsar Functions</a></td><td style="text-align:left">A lightweight compute option for Pulsar</td></tr>
+<tr><td style="text-align:left"><a href="/docs/zh-CN/2.3.0/functions-overview">Pulsar Functions</a></td><td style="text-align:left">Pulsar的一个轻量级的运算功能</td></tr>
 </tbody>
 </table>
-<h2><a class="anchor" aria-hidden="true" id="major-changes"></a><a href="#major-changes" 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>There are a few major changes that you should be aware of, as they may significantly impact your day-to-day usage.</p>
-<h3><a class="anchor" aria-hidden="true" id="properties-versus-tenants"></a><a href="#properties-versus-tenants" 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 [...]
-<p>Previously, Pulsar had a concept of properties. A property is essentially the exact same thing as a tenant, so the &quot;property&quot; terminology has been removed in version 2.0. The <a href="/docs/zh-CN/2.3.0/pulsar-admin#pulsar-admin"><code>pulsar-admin properties</code></a> command-line interface, for example, has been replaced with the <a href="/docs/zh-CN/2.3.0/pulsar-admin#pulsar-admin-tenants"><code>pulsar-admin tenants</code></a> interface. In some cases the properties termi [...]
-<h3><a class="anchor" aria-hidden="true" id="topic-names"></a><a href="#topic-names" 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-.83.42 [...]
-<p>Prior to version 2.0, <em>all</em> Pulsar topics had the following form:</p>
+<h2><a class="anchor" aria-hidden="true" id="主要变化"></a><a href="#主要变化" 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-.83.42-1.64 1-2.09V6 [...]
+<p>你需要注意一些主要变化,这些会对你日常使用产生影响</p>
+<h3><a class="anchor" aria-hidden="true" id="properties-vs-tenants"></a><a href="#properties-vs-tenants" 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 [...]
+<p>此前,Pulsar有一个properties(属性)的概念。 一个property和tenant本质上是一个东西,所以property这个术语从2.0版本开始就取消了。例如,<a href="/docs/zh-CN/2.3.0/pulsar-admin#pulsar-admin"><code>pulsar-admin properties</code></a>命令行接口被替换成了<a href="/docs/zh-CN/2.3.0/pulsar-admin#pulsar-admin-tenants"><code>pulsar-admin tenants</code></a> 在某些情况下,properties术语仍然有效,但是未来版本也会慢慢弃用。</p>
+<h3><a class="anchor" aria-hidden="true" id="topic名字"></a><a href="#topic名字" 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-.83.42-1.64 1- [...]
+<p>在2.0版本之前,<em>所有</em>Pulsar topic有如下形态</p>
 <pre><code class="hljs css language-http">{persistent|non-persistent}://property/cluster/namespace/topic
 </code></pre>
-<p>Two important changes have been made in Pulsar 2.0:</p>
+<p>2.0中有两个重要改变:</p>
 <ul>
-<li>There is no longer a <a href="#no-cluster">cluster component</a></li>
-<li>Properties have been <a href="#tenants">renamed to tenants</a></li>
-<li>You can use a <a href="#flexible-topic-naming">flexible</a> naming system to shorten many topic names</li>
+<li>不再有 <a href="#no-cluster">cluster component集群组件</a></li>
+<li>Properties被<a href="#tenants">改名为 tenants</a></li>
+<li>你可以使用<a href="#flexible-topic-naming">灵活的</a>命名系统来缩短Topic名字。</li>
 </ul>
-<h4><a class="anchor" aria-hidden="true" id="no-cluster-component"></a><a href="#no-cluster-component" 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 [...]
-<p>The cluster component has been removed from topic names. Thus, all topic names now have the following form:</p>
+<h4><a class="anchor" aria-hidden="true" id="没有cluster-component集群组件"></a><a href="#没有cluster-component集群组件" 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 [...]
+<p>集群组件cluster component从Topic名字中去掉,因此,所有Topic名字现在形态为:</p>
 <pre><code class="hljs css language-http">{persistent|non-persistent}://tenant/namespace/topic
 </code></pre>
 <blockquote>
-<p>Existing topics that use the legacy name format will continue to work without any change, and there are no plans to change that.</p>
+<p>已经存在的topics可能使用了之前的命名方式,可以继续工作,没有后续计划会修改。</p>
 </blockquote>
-<h4><a class="anchor" aria-hidden="true" id="flexible-topic-naming"></a><a href="#flexible-topic-naming" 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 [...]
-<p>All topic names in Pulsar 2.0 internally have the form shown <a href="#no-cluster-component">above</a> but you can now use shorthand names in many cases (for the sake of simplicity). The flexible naming system stems from the fact that there is now a default topic type, tenant, and namespace:</p>
+<h4><a class="anchor" aria-hidden="true" id="灵活的topic命名"></a><a href="#灵活的topic命名" 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-.83.42-1 [...]
+<p>在Pulsar 2.0内部,所有Topic名字形态<a href="#no-cluster-component">如上</a>,但是你现在可以通过简化使用更便捷的名字。 灵活命名系统有默认的topic type,tenant以及命名空间namesapce:</p>
 <table>
 <thead>
-<tr><th style="text-align:left">Topic aspect</th><th style="text-align:left">默认值</th></tr>
+<tr><th style="text-align:left">Topic 方面</th><th style="text-align:left">默认值</th></tr>
 </thead>
 <tbody>
 <tr><td style="text-align:left">topic type</td><td style="text-align:left"><code>persistent</code></td></tr>
@@ -117,20 +117,20 @@
 <tr><td style="text-align:left">namespace</td><td style="text-align:left"><code>default</code></td></tr>
 </tbody>
 </table>
-<p>The table below shows some example topic name translations that use implicit defaults:</p>
+<p>下表展示了一些topic名字默认自动转换的例子:</p>
 <table>
 <thead>
-<tr><th style="text-align:left">Input topic name</th><th style="text-align:left">Translated topic name</th></tr>
+<tr><th style="text-align:left">输入隐式topic名字</th><th style="text-align:left">默认转换成完整topic 名字</th></tr>
 </thead>
 <tbody>
 <tr><td style="text-align:left"><code>my-topic</code></td><td style="text-align:left"><code>persistent://public/default/my-topic</code></td></tr>
-<tr><td style="text-align:left"><code>my-tenant/my-namespace/my-topic</code></td><td style="text-align:left"><code>persistent://my-tenant/my-namespace/my-topic</code></td></tr>
+<tr><td style="text-align:left"><code>my-tenant/my-namespace/my-topic</code></td><td style="text-align:left"><code>persistent://tenant/namespace/topic</code></td></tr>
 </tbody>
 </table>
 <blockquote>
-<p>For <a href="/docs/zh-CN/2.3.0/concepts-messaging#non-persistent-topics">non-persistent topics</a> you'll need to continue to specify the entire topic name, as the default-based rules for persistent topic names don't apply. Thus you cannot use a shorthand name like <code>non-persistent://my-topic</code> and would need to use <code>non-persistent://public/default/my-topic</code> instead</p>
+<p>对于&lt;a href=&quot;concepts-messaging.md#non-persistent-topics&quot;非持久化</a>Topic,你总是需要制定完整的topic名称,此时上面那种对于持久化topic名字的转换就不适用了。 这样你不能适用便捷名如: <code>non-persistent://my-topic</code> ,需要用<code>non-persistent://public/default/my-topic</code> 来代替。</p>
 </blockquote>
-</span></div></article></div><div class="docs-prevnext"><a class="docs-next button" href="/docs/zh-CN/2.3.0/standalone"><span>在本地运行Pulsar</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#new-features-in-pulsar-20">New features in Pulsar 2.0</a></li><li><a href="#major-changes">Major changes</a><ul class="toc-headings"><li><a href="#properties-versus-tenants">Properties versus tenants</a></li><li><a href="#topic-na [...]
+</span></div></article></div><div class="docs-prevnext"><a class="docs-next button" href="/docs/zh-CN/2.3.0/standalone"><span>在本地运行Pulsar</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#pulsar-20-新特性">Pulsar 2.0 新特性</a></li><li><a href="#主要变化">主要变化</a><ul class="toc-headings"><li><a href="#properties-vs-tenants">Properties Vs. Tenants</a></li><li><a href="#topic名字">Topic名字</a></li></ul></li></ul></nav></div><foot [...]
       const community = document.querySelector("a[href='#community']").parentNode;
       const communityMenu =
         '<li>' +
diff --git a/content/docs/zh-CN/2.3.0/pulsar-2.0/index.html b/content/docs/zh-CN/2.3.0/pulsar-2.0/index.html
index 48e27e8..47912c8 100644
--- a/content/docs/zh-CN/2.3.0/pulsar-2.0/index.html
+++ b/content/docs/zh-CN/2.3.0/pulsar-2.0/index.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="zh-CN"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Pulsar 2.0 · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar 2.0 is a major new release for Pulsar that brings some bold changes to the platform, including [simplified topic names](#topic-names), the addition of the [Pulsar Functions](/docs/zh-CN/2.3.0/func [...]
+<!DOCTYPE html><html lang="zh-CN"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Pulsar 2.0 · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar 2.0是Pulsar的新发布版本,为平台带来了海量的变化,包括[简化的Topic名字](#topic-names),以及[Pulsar Functions](/docs/zh-CN/2.3.0/functions-overview)特性,同时还有一些术语的变化等等。"/><meta name="docsearch:version" content="2.3.0"/><meta name=" [...]
               (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),
               m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
@@ -74,42 +74,42 @@
                 };
               }
             });
-        </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">Pulsar 2.0</h1></header><article><div><span><p>Pulsar 2.0 is a major new release for Pulsar that brings some bold changes to the platform, including <a href="#topic-names">simplified topic  [...]
-<h2><a class="anchor" aria-hidden="true" id="new-features-in-pulsar-20"></a><a href="#new-features-in-pulsar-20" 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 [...]
+        </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">Pulsar 2.0</h1></header><article><div><span><p>Pulsar 2.0是Pulsar的新发布版本,为平台带来了海量的变化,包括<a href="#topic-names">简化的Topic名字</a>,以及<a href="/docs/zh-CN/2.3.0/functions-overview">Pulsar Functions< [...]
+<h2><a class="anchor" aria-hidden="true" id="pulsar-20-新特性"></a><a href="#pulsar-20-新特性" 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 [...]
 <table>
 <thead>
-<tr><th style="text-align:left">Feature</th><th style="text-align:left">说明:</th></tr>
+<tr><th style="text-align:left">特性</th><th style="text-align:left">说明:</th></tr>
 </thead>
 <tbody>
-<tr><td style="text-align:left"><a href="/docs/zh-CN/2.3.0/functions-overview">Pulsar Functions</a></td><td style="text-align:left">A lightweight compute option for Pulsar</td></tr>
+<tr><td style="text-align:left"><a href="/docs/zh-CN/2.3.0/functions-overview">Pulsar Functions</a></td><td style="text-align:left">Pulsar的一个轻量级的运算功能</td></tr>
 </tbody>
 </table>
-<h2><a class="anchor" aria-hidden="true" id="major-changes"></a><a href="#major-changes" 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>There are a few major changes that you should be aware of, as they may significantly impact your day-to-day usage.</p>
-<h3><a class="anchor" aria-hidden="true" id="properties-versus-tenants"></a><a href="#properties-versus-tenants" 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 [...]
-<p>Previously, Pulsar had a concept of properties. A property is essentially the exact same thing as a tenant, so the &quot;property&quot; terminology has been removed in version 2.0. The <a href="/docs/zh-CN/2.3.0/pulsar-admin#pulsar-admin"><code>pulsar-admin properties</code></a> command-line interface, for example, has been replaced with the <a href="/docs/zh-CN/2.3.0/pulsar-admin#pulsar-admin-tenants"><code>pulsar-admin tenants</code></a> interface. In some cases the properties termi [...]
-<h3><a class="anchor" aria-hidden="true" id="topic-names"></a><a href="#topic-names" 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-.83.42 [...]
-<p>Prior to version 2.0, <em>all</em> Pulsar topics had the following form:</p>
+<h2><a class="anchor" aria-hidden="true" id="主要变化"></a><a href="#主要变化" 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-.83.42-1.64 1-2.09V6 [...]
+<p>你需要注意一些主要变化,这些会对你日常使用产生影响</p>
+<h3><a class="anchor" aria-hidden="true" id="properties-vs-tenants"></a><a href="#properties-vs-tenants" 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 [...]
+<p>此前,Pulsar有一个properties(属性)的概念。 一个property和tenant本质上是一个东西,所以property这个术语从2.0版本开始就取消了。例如,<a href="/docs/zh-CN/2.3.0/pulsar-admin#pulsar-admin"><code>pulsar-admin properties</code></a>命令行接口被替换成了<a href="/docs/zh-CN/2.3.0/pulsar-admin#pulsar-admin-tenants"><code>pulsar-admin tenants</code></a> 在某些情况下,properties术语仍然有效,但是未来版本也会慢慢弃用。</p>
+<h3><a class="anchor" aria-hidden="true" id="topic名字"></a><a href="#topic名字" 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-.83.42-1.64 1- [...]
+<p>在2.0版本之前,<em>所有</em>Pulsar topic有如下形态</p>
 <pre><code class="hljs css language-http">{persistent|non-persistent}://property/cluster/namespace/topic
 </code></pre>
-<p>Two important changes have been made in Pulsar 2.0:</p>
+<p>2.0中有两个重要改变:</p>
 <ul>
-<li>There is no longer a <a href="#no-cluster">cluster component</a></li>
-<li>Properties have been <a href="#tenants">renamed to tenants</a></li>
-<li>You can use a <a href="#flexible-topic-naming">flexible</a> naming system to shorten many topic names</li>
+<li>不再有 <a href="#no-cluster">cluster component集群组件</a></li>
+<li>Properties被<a href="#tenants">改名为 tenants</a></li>
+<li>你可以使用<a href="#flexible-topic-naming">灵活的</a>命名系统来缩短Topic名字。</li>
 </ul>
-<h4><a class="anchor" aria-hidden="true" id="no-cluster-component"></a><a href="#no-cluster-component" 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 [...]
-<p>The cluster component has been removed from topic names. Thus, all topic names now have the following form:</p>
+<h4><a class="anchor" aria-hidden="true" id="没有cluster-component集群组件"></a><a href="#没有cluster-component集群组件" 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 [...]
+<p>集群组件cluster component从Topic名字中去掉,因此,所有Topic名字现在形态为:</p>
 <pre><code class="hljs css language-http">{persistent|non-persistent}://tenant/namespace/topic
 </code></pre>
 <blockquote>
-<p>Existing topics that use the legacy name format will continue to work without any change, and there are no plans to change that.</p>
+<p>已经存在的topics可能使用了之前的命名方式,可以继续工作,没有后续计划会修改。</p>
 </blockquote>
-<h4><a class="anchor" aria-hidden="true" id="flexible-topic-naming"></a><a href="#flexible-topic-naming" 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 [...]
-<p>All topic names in Pulsar 2.0 internally have the form shown <a href="#no-cluster-component">above</a> but you can now use shorthand names in many cases (for the sake of simplicity). The flexible naming system stems from the fact that there is now a default topic type, tenant, and namespace:</p>
+<h4><a class="anchor" aria-hidden="true" id="灵活的topic命名"></a><a href="#灵活的topic命名" 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-.83.42-1 [...]
+<p>在Pulsar 2.0内部,所有Topic名字形态<a href="#no-cluster-component">如上</a>,但是你现在可以通过简化使用更便捷的名字。 灵活命名系统有默认的topic type,tenant以及命名空间namesapce:</p>
 <table>
 <thead>
-<tr><th style="text-align:left">Topic aspect</th><th style="text-align:left">默认值</th></tr>
+<tr><th style="text-align:left">Topic 方面</th><th style="text-align:left">默认值</th></tr>
 </thead>
 <tbody>
 <tr><td style="text-align:left">topic type</td><td style="text-align:left"><code>persistent</code></td></tr>
@@ -117,20 +117,20 @@
 <tr><td style="text-align:left">namespace</td><td style="text-align:left"><code>default</code></td></tr>
 </tbody>
 </table>
-<p>The table below shows some example topic name translations that use implicit defaults:</p>
+<p>下表展示了一些topic名字默认自动转换的例子:</p>
 <table>
 <thead>
-<tr><th style="text-align:left">Input topic name</th><th style="text-align:left">Translated topic name</th></tr>
+<tr><th style="text-align:left">输入隐式topic名字</th><th style="text-align:left">默认转换成完整topic 名字</th></tr>
 </thead>
 <tbody>
 <tr><td style="text-align:left"><code>my-topic</code></td><td style="text-align:left"><code>persistent://public/default/my-topic</code></td></tr>
-<tr><td style="text-align:left"><code>my-tenant/my-namespace/my-topic</code></td><td style="text-align:left"><code>persistent://my-tenant/my-namespace/my-topic</code></td></tr>
+<tr><td style="text-align:left"><code>my-tenant/my-namespace/my-topic</code></td><td style="text-align:left"><code>persistent://tenant/namespace/topic</code></td></tr>
 </tbody>
 </table>
 <blockquote>
-<p>For <a href="/docs/zh-CN/2.3.0/concepts-messaging#non-persistent-topics">non-persistent topics</a> you'll need to continue to specify the entire topic name, as the default-based rules for persistent topic names don't apply. Thus you cannot use a shorthand name like <code>non-persistent://my-topic</code> and would need to use <code>non-persistent://public/default/my-topic</code> instead</p>
+<p>对于&lt;a href=&quot;concepts-messaging.md#non-persistent-topics&quot;非持久化</a>Topic,你总是需要制定完整的topic名称,此时上面那种对于持久化topic名字的转换就不适用了。 这样你不能适用便捷名如: <code>non-persistent://my-topic</code> ,需要用<code>non-persistent://public/default/my-topic</code> 来代替。</p>
 </blockquote>
-</span></div></article></div><div class="docs-prevnext"><a class="docs-next button" href="/docs/zh-CN/2.3.0/standalone"><span>在本地运行Pulsar</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#new-features-in-pulsar-20">New features in Pulsar 2.0</a></li><li><a href="#major-changes">Major changes</a><ul class="toc-headings"><li><a href="#properties-versus-tenants">Properties versus tenants</a></li><li><a href="#topic-na [...]
+</span></div></article></div><div class="docs-prevnext"><a class="docs-next button" href="/docs/zh-CN/2.3.0/standalone"><span>在本地运行Pulsar</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#pulsar-20-新特性">Pulsar 2.0 新特性</a></li><li><a href="#主要变化">主要变化</a><ul class="toc-headings"><li><a href="#properties-vs-tenants">Properties Vs. Tenants</a></li><li><a href="#topic名字">Topic名字</a></li></ul></li></ul></nav></div><foot [...]
       const community = document.querySelector("a[href='#community']").parentNode;
       const communityMenu =
         '<li>' +
diff --git a/content/docs/zh-CN/2.3.0/standalone.html b/content/docs/zh-CN/2.3.0/standalone.html
index 35a95a7..b0c99e3 100644
--- a/content/docs/zh-CN/2.3.0/standalone.html
+++ b/content/docs/zh-CN/2.3.0/standalone.html
@@ -253,7 +253,7 @@ Result result = client.createProducer(<span class="hljs-string">"my-topic"</span
     <span class="hljs-keyword">return</span> <span class="hljs-number">-1</span>;
 }
 </code></pre>
-</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/zh-CN/2.3.0/pulsar-2.0"><span class="arrow-prev">← </span><span>Pulsar 2.0</span></a><a class="docs-next button" href="/docs/zh-CN/2.3.0/standalone-docker"><span>Run Pulsar in Docker</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#手动运行-pulsar">手动运行 Pulsar</a><ul class="toc-headings"><li><a href="#系统要求">系统要求</a></li><li [...]
+</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/zh-CN/2.3.0/pulsar-2.0"><span class="arrow-prev">← </span><span>Pulsar-2.0</span></a><a class="docs-next button" href="/docs/zh-CN/2.3.0/standalone-docker"><span>Run Pulsar in Docker</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#手动运行-pulsar">手动运行 Pulsar</a><ul class="toc-headings"><li><a href="#系统要求">系统要求</a></li><li [...]
       const community = document.querySelector("a[href='#community']").parentNode;
       const communityMenu =
         '<li>' +
diff --git a/content/docs/zh-CN/2.3.0/standalone/index.html b/content/docs/zh-CN/2.3.0/standalone/index.html
index 35a95a7..b0c99e3 100644
--- a/content/docs/zh-CN/2.3.0/standalone/index.html
+++ b/content/docs/zh-CN/2.3.0/standalone/index.html
@@ -253,7 +253,7 @@ Result result = client.createProducer(<span class="hljs-string">"my-topic"</span
     <span class="hljs-keyword">return</span> <span class="hljs-number">-1</span>;
 }
 </code></pre>
-</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/zh-CN/2.3.0/pulsar-2.0"><span class="arrow-prev">← </span><span>Pulsar 2.0</span></a><a class="docs-next button" href="/docs/zh-CN/2.3.0/standalone-docker"><span>Run Pulsar in Docker</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#手动运行-pulsar">手动运行 Pulsar</a><ul class="toc-headings"><li><a href="#系统要求">系统要求</a></li><li [...]
+</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/zh-CN/2.3.0/pulsar-2.0"><span class="arrow-prev">← </span><span>Pulsar-2.0</span></a><a class="docs-next button" href="/docs/zh-CN/2.3.0/standalone-docker"><span>Run Pulsar in Docker</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#手动运行-pulsar">手动运行 Pulsar</a><ul class="toc-headings"><li><a href="#系统要求">系统要求</a></li><li [...]
       const community = document.querySelector("a[href='#community']").parentNode;
       const communityMenu =
         '<li>' +
diff --git a/content/docs/zh-CN/2.3.1/concepts-architecture-overview.html b/content/docs/zh-CN/2.3.1/concepts-architecture-overview.html
index b3f7e67..2e3e213 100644
--- a/content/docs/zh-CN/2.3.1/concepts-architecture-overview.html
+++ b/content/docs/zh-CN/2.3.1/concepts-architecture-overview.html
@@ -128,7 +128,7 @@
 </ul>
 <p>除了消息数据,<em>cursors</em>也会被持久化入BookKeeper。 Cursors是消费端<a href="/docs/zh-CN/2.3.1/reference-terminology#subscription">订阅</a>消费的位置。 BookKeeper让Pulsar可以用一种可扩展的方式存储消费位置。</p>
 <p>目前,Pulsar只支持持久消息存储。这是所有topic名称都是持久不可变的原因。这里有一个例子:</p>
-<pre><code class="hljs css language-http">persistent://my-tenant/my-namespace/my-topic
+<pre><code class="hljs css language-http">persistent://tenant/namespace/topic
 </code></pre>
 <blockquote>
 <p>Pulsar也支持临时消息( (<a href="/docs/zh-CN/2.3.1/concepts-messaging#non-persistent-topics">非持久消息</a>) )存储。</p>
diff --git a/content/docs/zh-CN/2.3.1/concepts-architecture-overview/index.html b/content/docs/zh-CN/2.3.1/concepts-architecture-overview/index.html
index b3f7e67..2e3e213 100644
--- a/content/docs/zh-CN/2.3.1/concepts-architecture-overview/index.html
+++ b/content/docs/zh-CN/2.3.1/concepts-architecture-overview/index.html
@@ -128,7 +128,7 @@
 </ul>
 <p>除了消息数据,<em>cursors</em>也会被持久化入BookKeeper。 Cursors是消费端<a href="/docs/zh-CN/2.3.1/reference-terminology#subscription">订阅</a>消费的位置。 BookKeeper让Pulsar可以用一种可扩展的方式存储消费位置。</p>
 <p>目前,Pulsar只支持持久消息存储。这是所有topic名称都是持久不可变的原因。这里有一个例子:</p>
-<pre><code class="hljs css language-http">persistent://my-tenant/my-namespace/my-topic
+<pre><code class="hljs css language-http">persistent://tenant/namespace/topic
 </code></pre>
 <blockquote>
 <p>Pulsar也支持临时消息( (<a href="/docs/zh-CN/2.3.1/concepts-messaging#non-persistent-topics">非持久消息</a>) )存储。</p>
diff --git a/content/docs/zh-CN/2.3.1/concepts-overview.html b/content/docs/zh-CN/2.3.1/concepts-overview.html
index 48b60b3..64b1e27 100644
--- a/content/docs/zh-CN/2.3.1/concepts-overview.html
+++ b/content/docs/zh-CN/2.3.1/concepts-overview.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="zh-CN"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Pulsar Overview · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar is a multi-tenant, high-performance solution for server-to-server messaging. Pulsar was originally developed by [Yahoo](http://yahoo.github.io/), it is under the stewardship of the [Apache So [...]
+<!DOCTYPE html><html lang="zh-CN"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Pulsar Overview · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar 是一个多租户,服务器到服务器消息的高性能解决方案。 Pulsar 最初由 [Yahoo](http://yahoo.github.io/)开发,它目前由 [Apache软件基金会](https://www.apache.org/)管理。"/><meta name="docsearch:version" content="2.3.1"/><meta name="docsearch: [...]
               (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),
               m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
@@ -74,18 +74,18 @@
                 };
               }
             });
-        </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">Pulsar Overview</h1></header><article><div><span><p>Pulsar is a multi-tenant, high-performance solution for server-to-server messaging. Pulsar was originally developed by <a href="http://ya [...]
-<p>Key features of Pulsar are listed below:</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">Pulsar Overview</h1></header><article><div><span><p>Pulsar 是一个多租户,服务器到服务器消息的高性能解决方案。 Pulsar 最初由 <a href="http://yahoo.github.io/">Yahoo</a>开发,它目前由 <a href="https://www.apache.org/">Apache软件 [...]
+<p>Pulsar的关键特性如下:</p>
 <ul>
-<li>Native support for multiple clusters in a Pulsar instance, with seamless <a href="/docs/zh-CN/2.3.1/administration-geo">geo-replication</a> of messages across clusters.</li>
-<li>Very low publish and end-to-end latency.</li>
-<li>Seamless scalability to over a million topics.</li>
-<li>A simple <a href="/docs/zh-CN/2.3.1/concepts-clients">client API</a> with bindings for <a href="/docs/zh-CN/2.3.1/client-libraries-java">Java</a>, <a href="/docs/zh-CN/2.3.1/client-libraries-go">Go</a>, <a href="/docs/zh-CN/2.3.1/client-libraries-python">Python</a> and <a href="/docs/zh-CN/2.3.1/client-libraries-cpp">C++</a>.</li>
-<li>Multiple <a href="/docs/zh-CN/2.3.1/concepts-messaging#subscription-modes">subscription modes</a> (<a href="/docs/zh-CN/2.3.1/concepts-messaging#exclusive">exclusive</a>, <a href="/docs/zh-CN/2.3.1/concepts-messaging#shared">shared</a>, and <a href="/docs/zh-CN/2.3.1/concepts-messaging#failover">failover</a>) for topics.</li>
-<li>Guaranteed message delivery with <a href="/docs/zh-CN/2.3.1/concepts-architecture-overview#persistent-storage">persistent message storage</a> provided by <a href="http://bookkeeper.apache.org/">Apache BookKeeper</a>.</li>
-<li>A serverless light-weight computing framework <a href="/docs/zh-CN/2.3.1/functions-overview">Pulsar Functions</a> offers the capability for stream-native data processing.</li>
-<li>A serverless connector framework <a href="/docs/zh-CN/2.3.1/io-overview">Pulsar IO</a>, which is built on Pulsar Functions, makes it easier to move data in and out Apache Pulsar.</li>
-<li><a href="/docs/zh-CN/2.3.1/concepts-tiered-storage">Tiered Storage</a> offloads data from hot/warm storage to cold/longterm storage (such as S3 and GCS) when the data is aging out.</li>
+<li>Pulsar实例原生支持多集群,能够无缝的<a href="/docs/zh-CN/2.3.1/administration-geo">基于地理位置</a> 进行跨集群的备份.</li>
+<li>非常低的消息发布和端到端的延迟.</li>
+<li>无缝的扩展到超过一百万个topic.</li>
+<li>一套简单的<a href="/docs/zh-CN/2.3.1/concepts-clients">客户端API</a> ,支持 <a href="/docs/zh-CN/2.3.1/client-libraries-java">Java</a>, <a href="/docs/zh-CN/2.3.1/client-libraries-python">Python</a>, 和 <a href="/docs/zh-CN/2.3.1/client-libraries-cpp">C++</a>.</li>
+<li>Topic支持多种 <a href="/docs/zh-CN/2.3.1/concepts-messaging#subscription-modes">订阅模式</a>: <a href="/docs/zh-CN/2.3.1/concepts-messaging#exclusive">独占(exclusive)</a>, <a href="/docs/zh-CN/2.3.1/concepts-messaging#shared">共享(shared)</a>, and <a href="/docs/zh-CN/2.3.1/concepts-messaging#failover">备援(failover)</a></li>
+<li>通过<a href="http://bookkeeper.apache.org/">Apache BookKeeper</a>提供的 <a href="/docs/zh-CN/2.3.1/concepts-architecture-overview#persistent-storage">持久化消息存储机制</a> 保证消息的送达.</li>
+<li>一个serverless的轻量级计算框架 <a href="/docs/zh-CN/2.3.1/functions-overview">Pulsar Functions</a> 提供了原生的流数据处理</li>
+<li>一个serverless的连接器框架<a href="/docs/zh-CN/2.3.1/io-overview">Pulsar IO</a>,构建于 Pulsar Functions之上,能够轻松的将数据从Apache Pulsar中移入和移出</li>
+<li>当数据老化时,<a href="/docs/zh-CN/2.3.1/concepts-tiered-storage">分层式存储</a> 将数据从热存储卸载到冷存储中(比如S3、GCS等)</li>
 </ul>
 <h2><a class="anchor" aria-hidden="true" id="contents"></a><a href="#contents" 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-.83.42-1.64  [...]
 <ul>
diff --git a/content/docs/zh-CN/2.3.1/concepts-overview/index.html b/content/docs/zh-CN/2.3.1/concepts-overview/index.html
index 48b60b3..64b1e27 100644
--- a/content/docs/zh-CN/2.3.1/concepts-overview/index.html
+++ b/content/docs/zh-CN/2.3.1/concepts-overview/index.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="zh-CN"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Pulsar Overview · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar is a multi-tenant, high-performance solution for server-to-server messaging. Pulsar was originally developed by [Yahoo](http://yahoo.github.io/), it is under the stewardship of the [Apache So [...]
+<!DOCTYPE html><html lang="zh-CN"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Pulsar Overview · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar 是一个多租户,服务器到服务器消息的高性能解决方案。 Pulsar 最初由 [Yahoo](http://yahoo.github.io/)开发,它目前由 [Apache软件基金会](https://www.apache.org/)管理。"/><meta name="docsearch:version" content="2.3.1"/><meta name="docsearch: [...]
               (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),
               m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
@@ -74,18 +74,18 @@
                 };
               }
             });
-        </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">Pulsar Overview</h1></header><article><div><span><p>Pulsar is a multi-tenant, high-performance solution for server-to-server messaging. Pulsar was originally developed by <a href="http://ya [...]
-<p>Key features of Pulsar are listed below:</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">Pulsar Overview</h1></header><article><div><span><p>Pulsar 是一个多租户,服务器到服务器消息的高性能解决方案。 Pulsar 最初由 <a href="http://yahoo.github.io/">Yahoo</a>开发,它目前由 <a href="https://www.apache.org/">Apache软件 [...]
+<p>Pulsar的关键特性如下:</p>
 <ul>
-<li>Native support for multiple clusters in a Pulsar instance, with seamless <a href="/docs/zh-CN/2.3.1/administration-geo">geo-replication</a> of messages across clusters.</li>
-<li>Very low publish and end-to-end latency.</li>
-<li>Seamless scalability to over a million topics.</li>
-<li>A simple <a href="/docs/zh-CN/2.3.1/concepts-clients">client API</a> with bindings for <a href="/docs/zh-CN/2.3.1/client-libraries-java">Java</a>, <a href="/docs/zh-CN/2.3.1/client-libraries-go">Go</a>, <a href="/docs/zh-CN/2.3.1/client-libraries-python">Python</a> and <a href="/docs/zh-CN/2.3.1/client-libraries-cpp">C++</a>.</li>
-<li>Multiple <a href="/docs/zh-CN/2.3.1/concepts-messaging#subscription-modes">subscription modes</a> (<a href="/docs/zh-CN/2.3.1/concepts-messaging#exclusive">exclusive</a>, <a href="/docs/zh-CN/2.3.1/concepts-messaging#shared">shared</a>, and <a href="/docs/zh-CN/2.3.1/concepts-messaging#failover">failover</a>) for topics.</li>
-<li>Guaranteed message delivery with <a href="/docs/zh-CN/2.3.1/concepts-architecture-overview#persistent-storage">persistent message storage</a> provided by <a href="http://bookkeeper.apache.org/">Apache BookKeeper</a>.</li>
-<li>A serverless light-weight computing framework <a href="/docs/zh-CN/2.3.1/functions-overview">Pulsar Functions</a> offers the capability for stream-native data processing.</li>
-<li>A serverless connector framework <a href="/docs/zh-CN/2.3.1/io-overview">Pulsar IO</a>, which is built on Pulsar Functions, makes it easier to move data in and out Apache Pulsar.</li>
-<li><a href="/docs/zh-CN/2.3.1/concepts-tiered-storage">Tiered Storage</a> offloads data from hot/warm storage to cold/longterm storage (such as S3 and GCS) when the data is aging out.</li>
+<li>Pulsar实例原生支持多集群,能够无缝的<a href="/docs/zh-CN/2.3.1/administration-geo">基于地理位置</a> 进行跨集群的备份.</li>
+<li>非常低的消息发布和端到端的延迟.</li>
+<li>无缝的扩展到超过一百万个topic.</li>
+<li>一套简单的<a href="/docs/zh-CN/2.3.1/concepts-clients">客户端API</a> ,支持 <a href="/docs/zh-CN/2.3.1/client-libraries-java">Java</a>, <a href="/docs/zh-CN/2.3.1/client-libraries-python">Python</a>, 和 <a href="/docs/zh-CN/2.3.1/client-libraries-cpp">C++</a>.</li>
+<li>Topic支持多种 <a href="/docs/zh-CN/2.3.1/concepts-messaging#subscription-modes">订阅模式</a>: <a href="/docs/zh-CN/2.3.1/concepts-messaging#exclusive">独占(exclusive)</a>, <a href="/docs/zh-CN/2.3.1/concepts-messaging#shared">共享(shared)</a>, and <a href="/docs/zh-CN/2.3.1/concepts-messaging#failover">备援(failover)</a></li>
+<li>通过<a href="http://bookkeeper.apache.org/">Apache BookKeeper</a>提供的 <a href="/docs/zh-CN/2.3.1/concepts-architecture-overview#persistent-storage">持久化消息存储机制</a> 保证消息的送达.</li>
+<li>一个serverless的轻量级计算框架 <a href="/docs/zh-CN/2.3.1/functions-overview">Pulsar Functions</a> 提供了原生的流数据处理</li>
+<li>一个serverless的连接器框架<a href="/docs/zh-CN/2.3.1/io-overview">Pulsar IO</a>,构建于 Pulsar Functions之上,能够轻松的将数据从Apache Pulsar中移入和移出</li>
+<li>当数据老化时,<a href="/docs/zh-CN/2.3.1/concepts-tiered-storage">分层式存储</a> 将数据从热存储卸载到冷存储中(比如S3、GCS等)</li>
 </ul>
 <h2><a class="anchor" aria-hidden="true" id="contents"></a><a href="#contents" 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-.83.42-1.64  [...]
 <ul>
diff --git a/content/docs/zh-CN/2.3.1/pulsar-2.0.html b/content/docs/zh-CN/2.3.1/pulsar-2.0.html
index 8b0cc9b..0937e1d 100644
--- a/content/docs/zh-CN/2.3.1/pulsar-2.0.html
+++ b/content/docs/zh-CN/2.3.1/pulsar-2.0.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="zh-CN"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Pulsar 2.0 · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar 2.0 is a major new release for Pulsar that brings some bold changes to the platform, including [simplified topic names](#topic-names), the addition of the [Pulsar Functions](/docs/zh-CN/2.3.1/func [...]
+<!DOCTYPE html><html lang="zh-CN"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Pulsar 2.0 · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar 2.0是Pulsar的新发布版本,为平台带来了海量的变化,包括[简化的Topic名字](#topic-names),以及[Pulsar Functions](/docs/zh-CN/2.3.1/functions-overview)特性,同时还有一些术语的变化等等。"/><meta name="docsearch:version" content="2.3.1"/><meta name=" [...]
               (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),
               m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
@@ -74,42 +74,42 @@
                 };
               }
             });
-        </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">Pulsar 2.0</h1></header><article><div><span><p>Pulsar 2.0 is a major new release for Pulsar that brings some bold changes to the platform, including <a href="#topic-names">simplified topic  [...]
-<h2><a class="anchor" aria-hidden="true" id="new-features-in-pulsar-20"></a><a href="#new-features-in-pulsar-20" 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 [...]
+        </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">Pulsar 2.0</h1></header><article><div><span><p>Pulsar 2.0是Pulsar的新发布版本,为平台带来了海量的变化,包括<a href="#topic-names">简化的Topic名字</a>,以及<a href="/docs/zh-CN/2.3.1/functions-overview">Pulsar Functions< [...]
+<h2><a class="anchor" aria-hidden="true" id="pulsar-20-新特性"></a><a href="#pulsar-20-新特性" 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 [...]
 <table>
 <thead>
-<tr><th style="text-align:left">Feature</th><th style="text-align:left">说明:</th></tr>
+<tr><th style="text-align:left">特性</th><th style="text-align:left">说明:</th></tr>
 </thead>
 <tbody>
-<tr><td style="text-align:left"><a href="/docs/zh-CN/2.3.1/functions-overview">Pulsar Functions</a></td><td style="text-align:left">A lightweight compute option for Pulsar</td></tr>
+<tr><td style="text-align:left"><a href="/docs/zh-CN/2.3.1/functions-overview">Pulsar Functions</a></td><td style="text-align:left">Pulsar的一个轻量级的运算功能</td></tr>
 </tbody>
 </table>
-<h2><a class="anchor" aria-hidden="true" id="major-changes"></a><a href="#major-changes" 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>There are a few major changes that you should be aware of, as they may significantly impact your day-to-day usage.</p>
-<h3><a class="anchor" aria-hidden="true" id="properties-versus-tenants"></a><a href="#properties-versus-tenants" 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 [...]
-<p>Previously, Pulsar had a concept of properties. A property is essentially the exact same thing as a tenant, so the &quot;property&quot; terminology has been removed in version 2.0. The <a href="/docs/zh-CN/2.3.1/pulsar-admin#pulsar-admin"><code>pulsar-admin properties</code></a> command-line interface, for example, has been replaced with the <a href="/docs/zh-CN/2.3.1/pulsar-admin#pulsar-admin-tenants"><code>pulsar-admin tenants</code></a> interface. In some cases the properties termi [...]
-<h3><a class="anchor" aria-hidden="true" id="topic-names"></a><a href="#topic-names" 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-.83.42 [...]
-<p>Prior to version 2.0, <em>all</em> Pulsar topics had the following form:</p>
+<h2><a class="anchor" aria-hidden="true" id="主要变化"></a><a href="#主要变化" 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-.83.42-1.64 1-2.09V6 [...]
+<p>你需要注意一些主要变化,这些会对你日常使用产生影响</p>
+<h3><a class="anchor" aria-hidden="true" id="properties-vs-tenants"></a><a href="#properties-vs-tenants" 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 [...]
+<p>此前,Pulsar有一个properties(属性)的概念。 一个property和tenant本质上是一个东西,所以property这个术语从2.0版本开始就取消了。例如,<a href="/docs/zh-CN/2.3.1/pulsar-admin#pulsar-admin"><code>pulsar-admin properties</code></a>命令行接口被替换成了<a href="/docs/zh-CN/2.3.1/pulsar-admin#pulsar-admin-tenants"><code>pulsar-admin tenants</code></a> 在某些情况下,properties术语仍然有效,但是未来版本也会慢慢弃用。</p>
+<h3><a class="anchor" aria-hidden="true" id="topic名字"></a><a href="#topic名字" 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-.83.42-1.64 1- [...]
+<p>在2.0版本之前,<em>所有</em>Pulsar topic有如下形态</p>
 <pre><code class="hljs css language-http">{persistent|non-persistent}://property/cluster/namespace/topic
 </code></pre>
-<p>Two important changes have been made in Pulsar 2.0:</p>
+<p>2.0中有两个重要改变:</p>
 <ul>
-<li>There is no longer a <a href="#no-cluster">cluster component</a></li>
-<li>Properties have been <a href="#tenants">renamed to tenants</a></li>
-<li>You can use a <a href="#flexible-topic-naming">flexible</a> naming system to shorten many topic names</li>
+<li>不再有 <a href="#no-cluster">cluster component集群组件</a></li>
+<li>Properties被<a href="#tenants">改名为 tenants</a></li>
+<li>你可以使用<a href="#flexible-topic-naming">灵活的</a>命名系统来缩短Topic名字。</li>
 </ul>
-<h4><a class="anchor" aria-hidden="true" id="no-cluster-component"></a><a href="#no-cluster-component" 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 [...]
-<p>The cluster component has been removed from topic names. Thus, all topic names now have the following form:</p>
+<h4><a class="anchor" aria-hidden="true" id="没有cluster-component集群组件"></a><a href="#没有cluster-component集群组件" 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 [...]
+<p>集群组件cluster component从Topic名字中去掉,因此,所有Topic名字现在形态为:</p>
 <pre><code class="hljs css language-http">{persistent|non-persistent}://tenant/namespace/topic
 </code></pre>
 <blockquote>
-<p>Existing topics that use the legacy name format will continue to work without any change, and there are no plans to change that.</p>
+<p>已经存在的topics可能使用了之前的命名方式,可以继续工作,没有后续计划会修改。</p>
 </blockquote>
-<h4><a class="anchor" aria-hidden="true" id="flexible-topic-naming"></a><a href="#flexible-topic-naming" 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 [...]
-<p>All topic names in Pulsar 2.0 internally have the form shown <a href="#no-cluster-component">above</a> but you can now use shorthand names in many cases (for the sake of simplicity). The flexible naming system stems from the fact that there is now a default topic type, tenant, and namespace:</p>
+<h4><a class="anchor" aria-hidden="true" id="灵活的topic命名"></a><a href="#灵活的topic命名" 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-.83.42-1 [...]
+<p>在Pulsar 2.0内部,所有Topic名字形态<a href="#no-cluster-component">如上</a>,但是你现在可以通过简化使用更便捷的名字。 灵活命名系统有默认的topic type,tenant以及命名空间namesapce:</p>
 <table>
 <thead>
-<tr><th style="text-align:left">Topic aspect</th><th style="text-align:left">默认值</th></tr>
+<tr><th style="text-align:left">Topic 方面</th><th style="text-align:left">默认值</th></tr>
 </thead>
 <tbody>
 <tr><td style="text-align:left">topic type</td><td style="text-align:left"><code>persistent</code></td></tr>
@@ -117,20 +117,20 @@
 <tr><td style="text-align:left">namespace</td><td style="text-align:left"><code>default</code></td></tr>
 </tbody>
 </table>
-<p>The table below shows some example topic name translations that use implicit defaults:</p>
+<p>下表展示了一些topic名字默认自动转换的例子:</p>
 <table>
 <thead>
-<tr><th style="text-align:left">Input topic name</th><th style="text-align:left">Translated topic name</th></tr>
+<tr><th style="text-align:left">输入隐式topic名字</th><th style="text-align:left">默认转换成完整topic 名字</th></tr>
 </thead>
 <tbody>
 <tr><td style="text-align:left"><code>my-topic</code></td><td style="text-align:left"><code>persistent://public/default/my-topic</code></td></tr>
-<tr><td style="text-align:left"><code>my-tenant/my-namespace/my-topic</code></td><td style="text-align:left"><code>persistent://my-tenant/my-namespace/my-topic</code></td></tr>
+<tr><td style="text-align:left"><code>my-tenant/my-namespace/my-topic</code></td><td style="text-align:left"><code>persistent://tenant/namespace/topic</code></td></tr>
 </tbody>
 </table>
 <blockquote>
-<p>For <a href="/docs/zh-CN/2.3.1/concepts-messaging#non-persistent-topics">non-persistent topics</a> you'll need to continue to specify the entire topic name, as the default-based rules for persistent topic names don't apply. Thus you cannot use a shorthand name like <code>non-persistent://my-topic</code> and would need to use <code>non-persistent://public/default/my-topic</code> instead</p>
+<p>对于&lt;a href=&quot;concepts-messaging.md#non-persistent-topics&quot;非持久化</a>Topic,你总是需要制定完整的topic名称,此时上面那种对于持久化topic名字的转换就不适用了。 这样你不能适用便捷名如: <code>non-persistent://my-topic</code> ,需要用<code>non-persistent://public/default/my-topic</code> 来代替。</p>
 </blockquote>
-</span></div></article></div><div class="docs-prevnext"><a class="docs-next button" href="/docs/zh-CN/2.3.1/standalone"><span>在本地运行Pulsar</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#new-features-in-pulsar-20">New features in Pulsar 2.0</a></li><li><a href="#major-changes">Major changes</a><ul class="toc-headings"><li><a href="#properties-versus-tenants">Properties versus tenants</a></li><li><a href="#topic-na [...]
+</span></div></article></div><div class="docs-prevnext"><a class="docs-next button" href="/docs/zh-CN/2.3.1/standalone"><span>在本地运行Pulsar</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#pulsar-20-新特性">Pulsar 2.0 新特性</a></li><li><a href="#主要变化">主要变化</a><ul class="toc-headings"><li><a href="#properties-vs-tenants">Properties Vs. Tenants</a></li><li><a href="#topic名字">Topic名字</a></li></ul></li></ul></nav></div><foot [...]
       const community = document.querySelector("a[href='#community']").parentNode;
       const communityMenu =
         '<li>' +
diff --git a/content/docs/zh-CN/2.3.1/pulsar-2.0/index.html b/content/docs/zh-CN/2.3.1/pulsar-2.0/index.html
index 8b0cc9b..0937e1d 100644
--- a/content/docs/zh-CN/2.3.1/pulsar-2.0/index.html
+++ b/content/docs/zh-CN/2.3.1/pulsar-2.0/index.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="zh-CN"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Pulsar 2.0 · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar 2.0 is a major new release for Pulsar that brings some bold changes to the platform, including [simplified topic names](#topic-names), the addition of the [Pulsar Functions](/docs/zh-CN/2.3.1/func [...]
+<!DOCTYPE html><html lang="zh-CN"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Pulsar 2.0 · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar 2.0是Pulsar的新发布版本,为平台带来了海量的变化,包括[简化的Topic名字](#topic-names),以及[Pulsar Functions](/docs/zh-CN/2.3.1/functions-overview)特性,同时还有一些术语的变化等等。"/><meta name="docsearch:version" content="2.3.1"/><meta name=" [...]
               (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),
               m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
@@ -74,42 +74,42 @@
                 };
               }
             });
-        </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">Pulsar 2.0</h1></header><article><div><span><p>Pulsar 2.0 is a major new release for Pulsar that brings some bold changes to the platform, including <a href="#topic-names">simplified topic  [...]
-<h2><a class="anchor" aria-hidden="true" id="new-features-in-pulsar-20"></a><a href="#new-features-in-pulsar-20" 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 [...]
+        </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">Pulsar 2.0</h1></header><article><div><span><p>Pulsar 2.0是Pulsar的新发布版本,为平台带来了海量的变化,包括<a href="#topic-names">简化的Topic名字</a>,以及<a href="/docs/zh-CN/2.3.1/functions-overview">Pulsar Functions< [...]
+<h2><a class="anchor" aria-hidden="true" id="pulsar-20-新特性"></a><a href="#pulsar-20-新特性" 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 [...]
 <table>
 <thead>
-<tr><th style="text-align:left">Feature</th><th style="text-align:left">说明:</th></tr>
+<tr><th style="text-align:left">特性</th><th style="text-align:left">说明:</th></tr>
 </thead>
 <tbody>
-<tr><td style="text-align:left"><a href="/docs/zh-CN/2.3.1/functions-overview">Pulsar Functions</a></td><td style="text-align:left">A lightweight compute option for Pulsar</td></tr>
+<tr><td style="text-align:left"><a href="/docs/zh-CN/2.3.1/functions-overview">Pulsar Functions</a></td><td style="text-align:left">Pulsar的一个轻量级的运算功能</td></tr>
 </tbody>
 </table>
-<h2><a class="anchor" aria-hidden="true" id="major-changes"></a><a href="#major-changes" 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>There are a few major changes that you should be aware of, as they may significantly impact your day-to-day usage.</p>
-<h3><a class="anchor" aria-hidden="true" id="properties-versus-tenants"></a><a href="#properties-versus-tenants" 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 [...]
-<p>Previously, Pulsar had a concept of properties. A property is essentially the exact same thing as a tenant, so the &quot;property&quot; terminology has been removed in version 2.0. The <a href="/docs/zh-CN/2.3.1/pulsar-admin#pulsar-admin"><code>pulsar-admin properties</code></a> command-line interface, for example, has been replaced with the <a href="/docs/zh-CN/2.3.1/pulsar-admin#pulsar-admin-tenants"><code>pulsar-admin tenants</code></a> interface. In some cases the properties termi [...]
-<h3><a class="anchor" aria-hidden="true" id="topic-names"></a><a href="#topic-names" 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-.83.42 [...]
-<p>Prior to version 2.0, <em>all</em> Pulsar topics had the following form:</p>
+<h2><a class="anchor" aria-hidden="true" id="主要变化"></a><a href="#主要变化" 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-.83.42-1.64 1-2.09V6 [...]
+<p>你需要注意一些主要变化,这些会对你日常使用产生影响</p>
+<h3><a class="anchor" aria-hidden="true" id="properties-vs-tenants"></a><a href="#properties-vs-tenants" 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 [...]
+<p>此前,Pulsar有一个properties(属性)的概念。 一个property和tenant本质上是一个东西,所以property这个术语从2.0版本开始就取消了。例如,<a href="/docs/zh-CN/2.3.1/pulsar-admin#pulsar-admin"><code>pulsar-admin properties</code></a>命令行接口被替换成了<a href="/docs/zh-CN/2.3.1/pulsar-admin#pulsar-admin-tenants"><code>pulsar-admin tenants</code></a> 在某些情况下,properties术语仍然有效,但是未来版本也会慢慢弃用。</p>
+<h3><a class="anchor" aria-hidden="true" id="topic名字"></a><a href="#topic名字" 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-.83.42-1.64 1- [...]
+<p>在2.0版本之前,<em>所有</em>Pulsar topic有如下形态</p>
 <pre><code class="hljs css language-http">{persistent|non-persistent}://property/cluster/namespace/topic
 </code></pre>
-<p>Two important changes have been made in Pulsar 2.0:</p>
+<p>2.0中有两个重要改变:</p>
 <ul>
-<li>There is no longer a <a href="#no-cluster">cluster component</a></li>
-<li>Properties have been <a href="#tenants">renamed to tenants</a></li>
-<li>You can use a <a href="#flexible-topic-naming">flexible</a> naming system to shorten many topic names</li>
+<li>不再有 <a href="#no-cluster">cluster component集群组件</a></li>
+<li>Properties被<a href="#tenants">改名为 tenants</a></li>
+<li>你可以使用<a href="#flexible-topic-naming">灵活的</a>命名系统来缩短Topic名字。</li>
 </ul>
-<h4><a class="anchor" aria-hidden="true" id="no-cluster-component"></a><a href="#no-cluster-component" 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 [...]
-<p>The cluster component has been removed from topic names. Thus, all topic names now have the following form:</p>
+<h4><a class="anchor" aria-hidden="true" id="没有cluster-component集群组件"></a><a href="#没有cluster-component集群组件" 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 [...]
+<p>集群组件cluster component从Topic名字中去掉,因此,所有Topic名字现在形态为:</p>
 <pre><code class="hljs css language-http">{persistent|non-persistent}://tenant/namespace/topic
 </code></pre>
 <blockquote>
-<p>Existing topics that use the legacy name format will continue to work without any change, and there are no plans to change that.</p>
+<p>已经存在的topics可能使用了之前的命名方式,可以继续工作,没有后续计划会修改。</p>
 </blockquote>
-<h4><a class="anchor" aria-hidden="true" id="flexible-topic-naming"></a><a href="#flexible-topic-naming" 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 [...]
-<p>All topic names in Pulsar 2.0 internally have the form shown <a href="#no-cluster-component">above</a> but you can now use shorthand names in many cases (for the sake of simplicity). The flexible naming system stems from the fact that there is now a default topic type, tenant, and namespace:</p>
+<h4><a class="anchor" aria-hidden="true" id="灵活的topic命名"></a><a href="#灵活的topic命名" 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-.83.42-1 [...]
+<p>在Pulsar 2.0内部,所有Topic名字形态<a href="#no-cluster-component">如上</a>,但是你现在可以通过简化使用更便捷的名字。 灵活命名系统有默认的topic type,tenant以及命名空间namesapce:</p>
 <table>
 <thead>
-<tr><th style="text-align:left">Topic aspect</th><th style="text-align:left">默认值</th></tr>
+<tr><th style="text-align:left">Topic 方面</th><th style="text-align:left">默认值</th></tr>
 </thead>
 <tbody>
 <tr><td style="text-align:left">topic type</td><td style="text-align:left"><code>persistent</code></td></tr>
@@ -117,20 +117,20 @@
 <tr><td style="text-align:left">namespace</td><td style="text-align:left"><code>default</code></td></tr>
 </tbody>
 </table>
-<p>The table below shows some example topic name translations that use implicit defaults:</p>
+<p>下表展示了一些topic名字默认自动转换的例子:</p>
 <table>
 <thead>
-<tr><th style="text-align:left">Input topic name</th><th style="text-align:left">Translated topic name</th></tr>
+<tr><th style="text-align:left">输入隐式topic名字</th><th style="text-align:left">默认转换成完整topic 名字</th></tr>
 </thead>
 <tbody>
 <tr><td style="text-align:left"><code>my-topic</code></td><td style="text-align:left"><code>persistent://public/default/my-topic</code></td></tr>
-<tr><td style="text-align:left"><code>my-tenant/my-namespace/my-topic</code></td><td style="text-align:left"><code>persistent://my-tenant/my-namespace/my-topic</code></td></tr>
+<tr><td style="text-align:left"><code>my-tenant/my-namespace/my-topic</code></td><td style="text-align:left"><code>persistent://tenant/namespace/topic</code></td></tr>
 </tbody>
 </table>
 <blockquote>
-<p>For <a href="/docs/zh-CN/2.3.1/concepts-messaging#non-persistent-topics">non-persistent topics</a> you'll need to continue to specify the entire topic name, as the default-based rules for persistent topic names don't apply. Thus you cannot use a shorthand name like <code>non-persistent://my-topic</code> and would need to use <code>non-persistent://public/default/my-topic</code> instead</p>
+<p>对于&lt;a href=&quot;concepts-messaging.md#non-persistent-topics&quot;非持久化</a>Topic,你总是需要制定完整的topic名称,此时上面那种对于持久化topic名字的转换就不适用了。 这样你不能适用便捷名如: <code>non-persistent://my-topic</code> ,需要用<code>non-persistent://public/default/my-topic</code> 来代替。</p>
 </blockquote>
-</span></div></article></div><div class="docs-prevnext"><a class="docs-next button" href="/docs/zh-CN/2.3.1/standalone"><span>在本地运行Pulsar</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#new-features-in-pulsar-20">New features in Pulsar 2.0</a></li><li><a href="#major-changes">Major changes</a><ul class="toc-headings"><li><a href="#properties-versus-tenants">Properties versus tenants</a></li><li><a href="#topic-na [...]
+</span></div></article></div><div class="docs-prevnext"><a class="docs-next button" href="/docs/zh-CN/2.3.1/standalone"><span>在本地运行Pulsar</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#pulsar-20-新特性">Pulsar 2.0 新特性</a></li><li><a href="#主要变化">主要变化</a><ul class="toc-headings"><li><a href="#properties-vs-tenants">Properties Vs. Tenants</a></li><li><a href="#topic名字">Topic名字</a></li></ul></li></ul></nav></div><foot [...]
       const community = document.querySelector("a[href='#community']").parentNode;
       const communityMenu =
         '<li>' +
diff --git a/content/docs/zh-CN/2.3.1/standalone.html b/content/docs/zh-CN/2.3.1/standalone.html
index 499fc05..79ec591 100644
--- a/content/docs/zh-CN/2.3.1/standalone.html
+++ b/content/docs/zh-CN/2.3.1/standalone.html
@@ -247,7 +247,7 @@ Result result = client.createProducer(<span class="hljs-string">"my-topic"</span
     <span class="hljs-keyword">return</span> <span class="hljs-number">-1</span>;
 }
 </code></pre>
-</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/zh-CN/2.3.1/pulsar-2.0"><span class="arrow-prev">← </span><span>Pulsar 2.0</span></a><a class="docs-next button" href="/docs/zh-CN/2.3.1/standalone-docker"><span>Run Pulsar in Docker</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#手动运行-pulsar">手动运行 Pulsar</a><ul class="toc-headings"><li><a href="#系统要求">系统要求</a></li><li [...]
+</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/zh-CN/2.3.1/pulsar-2.0"><span class="arrow-prev">← </span><span>Pulsar-2.0</span></a><a class="docs-next button" href="/docs/zh-CN/2.3.1/standalone-docker"><span>Run Pulsar in Docker</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#手动运行-pulsar">手动运行 Pulsar</a><ul class="toc-headings"><li><a href="#系统要求">系统要求</a></li><li [...]
       const community = document.querySelector("a[href='#community']").parentNode;
       const communityMenu =
         '<li>' +
diff --git a/content/docs/zh-CN/2.3.1/standalone/index.html b/content/docs/zh-CN/2.3.1/standalone/index.html
index 499fc05..79ec591 100644
--- a/content/docs/zh-CN/2.3.1/standalone/index.html
+++ b/content/docs/zh-CN/2.3.1/standalone/index.html
@@ -247,7 +247,7 @@ Result result = client.createProducer(<span class="hljs-string">"my-topic"</span
     <span class="hljs-keyword">return</span> <span class="hljs-number">-1</span>;
 }
 </code></pre>
-</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/zh-CN/2.3.1/pulsar-2.0"><span class="arrow-prev">← </span><span>Pulsar 2.0</span></a><a class="docs-next button" href="/docs/zh-CN/2.3.1/standalone-docker"><span>Run Pulsar in Docker</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#手动运行-pulsar">手动运行 Pulsar</a><ul class="toc-headings"><li><a href="#系统要求">系统要求</a></li><li [...]
+</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/zh-CN/2.3.1/pulsar-2.0"><span class="arrow-prev">← </span><span>Pulsar-2.0</span></a><a class="docs-next button" href="/docs/zh-CN/2.3.1/standalone-docker"><span>Run Pulsar in Docker</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#手动运行-pulsar">手动运行 Pulsar</a><ul class="toc-headings"><li><a href="#系统要求">系统要求</a></li><li [...]
       const community = document.querySelector("a[href='#community']").parentNode;
       const communityMenu =
         '<li>' +
diff --git a/content/docs/zh-CN/2.3.2/concepts-architecture-overview.html b/content/docs/zh-CN/2.3.2/concepts-architecture-overview.html
index c6d1bf9..2aa7979 100644
--- a/content/docs/zh-CN/2.3.2/concepts-architecture-overview.html
+++ b/content/docs/zh-CN/2.3.2/concepts-architecture-overview.html
@@ -128,7 +128,7 @@
 </ul>
 <p>除了消息数据,<em>cursors</em>也会被持久化入BookKeeper。 Cursors是消费端<a href="/docs/zh-CN/2.3.2/reference-terminology#subscription">订阅</a>消费的位置。 BookKeeper让Pulsar可以用一种可扩展的方式存储消费位置。</p>
 <p>目前,Pulsar只支持持久消息存储。这是所有topic名称都是持久不可变的原因。这里有一个例子:</p>
-<pre><code class="hljs css language-http">persistent://my-tenant/my-namespace/my-topic
+<pre><code class="hljs css language-http">persistent://tenant/namespace/topic
 </code></pre>
 <blockquote>
 <p>Pulsar也支持临时消息( (<a href="/docs/zh-CN/2.3.2/concepts-messaging#non-persistent-topics">非持久消息</a>) )存储。</p>
diff --git a/content/docs/zh-CN/2.3.2/concepts-architecture-overview/index.html b/content/docs/zh-CN/2.3.2/concepts-architecture-overview/index.html
index c6d1bf9..2aa7979 100644
--- a/content/docs/zh-CN/2.3.2/concepts-architecture-overview/index.html
+++ b/content/docs/zh-CN/2.3.2/concepts-architecture-overview/index.html
@@ -128,7 +128,7 @@
 </ul>
 <p>除了消息数据,<em>cursors</em>也会被持久化入BookKeeper。 Cursors是消费端<a href="/docs/zh-CN/2.3.2/reference-terminology#subscription">订阅</a>消费的位置。 BookKeeper让Pulsar可以用一种可扩展的方式存储消费位置。</p>
 <p>目前,Pulsar只支持持久消息存储。这是所有topic名称都是持久不可变的原因。这里有一个例子:</p>
-<pre><code class="hljs css language-http">persistent://my-tenant/my-namespace/my-topic
+<pre><code class="hljs css language-http">persistent://tenant/namespace/topic
 </code></pre>
 <blockquote>
 <p>Pulsar也支持临时消息( (<a href="/docs/zh-CN/2.3.2/concepts-messaging#non-persistent-topics">非持久消息</a>) )存储。</p>
diff --git a/content/docs/zh-CN/2.3.2/concepts-overview.html b/content/docs/zh-CN/2.3.2/concepts-overview.html
index 9345a9c..428860d 100644
--- a/content/docs/zh-CN/2.3.2/concepts-overview.html
+++ b/content/docs/zh-CN/2.3.2/concepts-overview.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="zh-CN"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Pulsar Overview · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar is a multi-tenant, high-performance solution for server-to-server messaging. Pulsar was originally developed by [Yahoo](http://yahoo.github.io/), it is under the stewardship of the [Apache So [...]
+<!DOCTYPE html><html lang="zh-CN"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Pulsar Overview · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar 是一个多租户,服务器到服务器消息的高性能解决方案。 Pulsar 最初由 [Yahoo](http://yahoo.github.io/)开发,它目前由 [Apache软件基金会](https://www.apache.org/)管理。"/><meta name="docsearch:version" content="2.3.2"/><meta name="docsearch: [...]
               (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),
               m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
@@ -74,18 +74,18 @@
                 };
               }
             });
-        </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">Pulsar Overview</h1></header><article><div><span><p>Pulsar is a multi-tenant, high-performance solution for server-to-server messaging. Pulsar was originally developed by <a href="http://ya [...]
-<p>Key features of Pulsar are listed below:</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">Pulsar Overview</h1></header><article><div><span><p>Pulsar 是一个多租户,服务器到服务器消息的高性能解决方案。 Pulsar 最初由 <a href="http://yahoo.github.io/">Yahoo</a>开发,它目前由 <a href="https://www.apache.org/">Apache软件 [...]
+<p>Pulsar的关键特性如下:</p>
 <ul>
-<li>Native support for multiple clusters in a Pulsar instance, with seamless <a href="/docs/zh-CN/2.3.2/administration-geo">geo-replication</a> of messages across clusters.</li>
-<li>Very low publish and end-to-end latency.</li>
-<li>Seamless scalability to over a million topics.</li>
-<li>A simple <a href="/docs/zh-CN/2.3.2/concepts-clients">client API</a> with bindings for <a href="/docs/zh-CN/2.3.2/client-libraries-java">Java</a>, <a href="/docs/zh-CN/2.3.2/client-libraries-go">Go</a>, <a href="/docs/zh-CN/2.3.2/client-libraries-python">Python</a> and <a href="/docs/zh-CN/2.3.2/client-libraries-cpp">C++</a>.</li>
-<li>Multiple <a href="/docs/zh-CN/2.3.2/concepts-messaging#subscription-modes">subscription modes</a> (<a href="/docs/zh-CN/2.3.2/concepts-messaging#exclusive">exclusive</a>, <a href="/docs/zh-CN/2.3.2/concepts-messaging#shared">shared</a>, and <a href="/docs/zh-CN/2.3.2/concepts-messaging#failover">failover</a>) for topics.</li>
-<li>Guaranteed message delivery with <a href="/docs/zh-CN/2.3.2/concepts-architecture-overview#persistent-storage">persistent message storage</a> provided by <a href="http://bookkeeper.apache.org/">Apache BookKeeper</a>.</li>
-<li>A serverless light-weight computing framework <a href="/docs/zh-CN/2.3.2/functions-overview">Pulsar Functions</a> offers the capability for stream-native data processing.</li>
-<li>A serverless connector framework <a href="/docs/zh-CN/2.3.2/io-overview">Pulsar IO</a>, which is built on Pulsar Functions, makes it easier to move data in and out Apache Pulsar.</li>
-<li><a href="/docs/zh-CN/2.3.2/concepts-tiered-storage">Tiered Storage</a> offloads data from hot/warm storage to cold/longterm storage (such as S3 and GCS) when the data is aging out.</li>
+<li>Pulsar实例原生支持多集群,能够无缝的<a href="/docs/zh-CN/2.3.2/administration-geo">基于地理位置</a> 进行跨集群的备份.</li>
+<li>非常低的消息发布和端到端的延迟.</li>
+<li>无缝的扩展到超过一百万个topic.</li>
+<li>一套简单的<a href="/docs/zh-CN/2.3.2/concepts-clients">客户端API</a> ,支持 <a href="/docs/zh-CN/2.3.2/client-libraries-java">Java</a>, <a href="/docs/zh-CN/2.3.2/client-libraries-python">Python</a>, 和 <a href="/docs/zh-CN/2.3.2/client-libraries-cpp">C++</a>.</li>
+<li>Topic支持多种 <a href="/docs/zh-CN/2.3.2/concepts-messaging#subscription-modes">订阅模式</a>: <a href="/docs/zh-CN/2.3.2/concepts-messaging#exclusive">独占(exclusive)</a>, <a href="/docs/zh-CN/2.3.2/concepts-messaging#shared">共享(shared)</a>, and <a href="/docs/zh-CN/2.3.2/concepts-messaging#failover">备援(failover)</a></li>
+<li>通过<a href="http://bookkeeper.apache.org/">Apache BookKeeper</a>提供的 <a href="/docs/zh-CN/2.3.2/concepts-architecture-overview#persistent-storage">持久化消息存储机制</a> 保证消息的送达.</li>
+<li>一个serverless的轻量级计算框架 <a href="/docs/zh-CN/2.3.2/functions-overview">Pulsar Functions</a> 提供了原生的流数据处理</li>
+<li>一个serverless的连接器框架<a href="/docs/zh-CN/2.3.2/io-overview">Pulsar IO</a>,构建于 Pulsar Functions之上,能够轻松的将数据从Apache Pulsar中移入和移出</li>
+<li>当数据老化时,<a href="/docs/zh-CN/2.3.2/concepts-tiered-storage">分层式存储</a> 将数据从热存储卸载到冷存储中(比如S3、GCS等)</li>
 </ul>
 <h2><a class="anchor" aria-hidden="true" id="contents"></a><a href="#contents" 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-.83.42-1.64  [...]
 <ul>
diff --git a/content/docs/zh-CN/2.3.2/concepts-overview/index.html b/content/docs/zh-CN/2.3.2/concepts-overview/index.html
index 9345a9c..428860d 100644
--- a/content/docs/zh-CN/2.3.2/concepts-overview/index.html
+++ b/content/docs/zh-CN/2.3.2/concepts-overview/index.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="zh-CN"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Pulsar Overview · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar is a multi-tenant, high-performance solution for server-to-server messaging. Pulsar was originally developed by [Yahoo](http://yahoo.github.io/), it is under the stewardship of the [Apache So [...]
+<!DOCTYPE html><html lang="zh-CN"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Pulsar Overview · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar 是一个多租户,服务器到服务器消息的高性能解决方案。 Pulsar 最初由 [Yahoo](http://yahoo.github.io/)开发,它目前由 [Apache软件基金会](https://www.apache.org/)管理。"/><meta name="docsearch:version" content="2.3.2"/><meta name="docsearch: [...]
               (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),
               m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
@@ -74,18 +74,18 @@
                 };
               }
             });
-        </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">Pulsar Overview</h1></header><article><div><span><p>Pulsar is a multi-tenant, high-performance solution for server-to-server messaging. Pulsar was originally developed by <a href="http://ya [...]
-<p>Key features of Pulsar are listed below:</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">Pulsar Overview</h1></header><article><div><span><p>Pulsar 是一个多租户,服务器到服务器消息的高性能解决方案。 Pulsar 最初由 <a href="http://yahoo.github.io/">Yahoo</a>开发,它目前由 <a href="https://www.apache.org/">Apache软件 [...]
+<p>Pulsar的关键特性如下:</p>
 <ul>
-<li>Native support for multiple clusters in a Pulsar instance, with seamless <a href="/docs/zh-CN/2.3.2/administration-geo">geo-replication</a> of messages across clusters.</li>
-<li>Very low publish and end-to-end latency.</li>
-<li>Seamless scalability to over a million topics.</li>
-<li>A simple <a href="/docs/zh-CN/2.3.2/concepts-clients">client API</a> with bindings for <a href="/docs/zh-CN/2.3.2/client-libraries-java">Java</a>, <a href="/docs/zh-CN/2.3.2/client-libraries-go">Go</a>, <a href="/docs/zh-CN/2.3.2/client-libraries-python">Python</a> and <a href="/docs/zh-CN/2.3.2/client-libraries-cpp">C++</a>.</li>
-<li>Multiple <a href="/docs/zh-CN/2.3.2/concepts-messaging#subscription-modes">subscription modes</a> (<a href="/docs/zh-CN/2.3.2/concepts-messaging#exclusive">exclusive</a>, <a href="/docs/zh-CN/2.3.2/concepts-messaging#shared">shared</a>, and <a href="/docs/zh-CN/2.3.2/concepts-messaging#failover">failover</a>) for topics.</li>
-<li>Guaranteed message delivery with <a href="/docs/zh-CN/2.3.2/concepts-architecture-overview#persistent-storage">persistent message storage</a> provided by <a href="http://bookkeeper.apache.org/">Apache BookKeeper</a>.</li>
-<li>A serverless light-weight computing framework <a href="/docs/zh-CN/2.3.2/functions-overview">Pulsar Functions</a> offers the capability for stream-native data processing.</li>
-<li>A serverless connector framework <a href="/docs/zh-CN/2.3.2/io-overview">Pulsar IO</a>, which is built on Pulsar Functions, makes it easier to move data in and out Apache Pulsar.</li>
-<li><a href="/docs/zh-CN/2.3.2/concepts-tiered-storage">Tiered Storage</a> offloads data from hot/warm storage to cold/longterm storage (such as S3 and GCS) when the data is aging out.</li>
+<li>Pulsar实例原生支持多集群,能够无缝的<a href="/docs/zh-CN/2.3.2/administration-geo">基于地理位置</a> 进行跨集群的备份.</li>
+<li>非常低的消息发布和端到端的延迟.</li>
+<li>无缝的扩展到超过一百万个topic.</li>
+<li>一套简单的<a href="/docs/zh-CN/2.3.2/concepts-clients">客户端API</a> ,支持 <a href="/docs/zh-CN/2.3.2/client-libraries-java">Java</a>, <a href="/docs/zh-CN/2.3.2/client-libraries-python">Python</a>, 和 <a href="/docs/zh-CN/2.3.2/client-libraries-cpp">C++</a>.</li>
+<li>Topic支持多种 <a href="/docs/zh-CN/2.3.2/concepts-messaging#subscription-modes">订阅模式</a>: <a href="/docs/zh-CN/2.3.2/concepts-messaging#exclusive">独占(exclusive)</a>, <a href="/docs/zh-CN/2.3.2/concepts-messaging#shared">共享(shared)</a>, and <a href="/docs/zh-CN/2.3.2/concepts-messaging#failover">备援(failover)</a></li>
+<li>通过<a href="http://bookkeeper.apache.org/">Apache BookKeeper</a>提供的 <a href="/docs/zh-CN/2.3.2/concepts-architecture-overview#persistent-storage">持久化消息存储机制</a> 保证消息的送达.</li>
+<li>一个serverless的轻量级计算框架 <a href="/docs/zh-CN/2.3.2/functions-overview">Pulsar Functions</a> 提供了原生的流数据处理</li>
+<li>一个serverless的连接器框架<a href="/docs/zh-CN/2.3.2/io-overview">Pulsar IO</a>,构建于 Pulsar Functions之上,能够轻松的将数据从Apache Pulsar中移入和移出</li>
+<li>当数据老化时,<a href="/docs/zh-CN/2.3.2/concepts-tiered-storage">分层式存储</a> 将数据从热存储卸载到冷存储中(比如S3、GCS等)</li>
 </ul>
 <h2><a class="anchor" aria-hidden="true" id="contents"></a><a href="#contents" 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-.83.42-1.64  [...]
 <ul>
diff --git a/content/docs/zh-CN/2.3.2/pulsar-2.0.html b/content/docs/zh-CN/2.3.2/pulsar-2.0.html
index 00d9632..4c0863c 100644
--- a/content/docs/zh-CN/2.3.2/pulsar-2.0.html
+++ b/content/docs/zh-CN/2.3.2/pulsar-2.0.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="zh-CN"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Pulsar 2.0 · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar 2.0 is a major new release for Pulsar that brings some bold changes to the platform, including [simplified topic names](#topic-names), the addition of the [Pulsar Functions](/docs/zh-CN/2.3.2/func [...]
+<!DOCTYPE html><html lang="zh-CN"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Pulsar 2.0 · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar 2.0是Pulsar的新发布版本,为平台带来了海量的变化,包括[简化的Topic名字](#topic-names),以及[Pulsar Functions](/docs/zh-CN/2.3.2/functions-overview)特性,同时还有一些术语的变化等等。"/><meta name="docsearch:version" content="2.3.2"/><meta name=" [...]
               (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),
               m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
@@ -74,42 +74,42 @@
                 };
               }
             });
-        </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">Pulsar 2.0</h1></header><article><div><span><p>Pulsar 2.0 is a major new release for Pulsar that brings some bold changes to the platform, including <a href="#topic-names">simplified topic  [...]
-<h2><a class="anchor" aria-hidden="true" id="new-features-in-pulsar-20"></a><a href="#new-features-in-pulsar-20" 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 [...]
+        </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">Pulsar 2.0</h1></header><article><div><span><p>Pulsar 2.0是Pulsar的新发布版本,为平台带来了海量的变化,包括<a href="#topic-names">简化的Topic名字</a>,以及<a href="/docs/zh-CN/2.3.2/functions-overview">Pulsar Functions< [...]
+<h2><a class="anchor" aria-hidden="true" id="pulsar-20-新特性"></a><a href="#pulsar-20-新特性" 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 [...]
 <table>
 <thead>
-<tr><th style="text-align:left">Feature</th><th style="text-align:left">说明:</th></tr>
+<tr><th style="text-align:left">特性</th><th style="text-align:left">说明:</th></tr>
 </thead>
 <tbody>
-<tr><td style="text-align:left"><a href="/docs/zh-CN/2.3.2/functions-overview">Pulsar Functions</a></td><td style="text-align:left">A lightweight compute option for Pulsar</td></tr>
+<tr><td style="text-align:left"><a href="/docs/zh-CN/2.3.2/functions-overview">Pulsar Functions</a></td><td style="text-align:left">Pulsar的一个轻量级的运算功能</td></tr>
 </tbody>
 </table>
-<h2><a class="anchor" aria-hidden="true" id="major-changes"></a><a href="#major-changes" 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>There are a few major changes that you should be aware of, as they may significantly impact your day-to-day usage.</p>
-<h3><a class="anchor" aria-hidden="true" id="properties-versus-tenants"></a><a href="#properties-versus-tenants" 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 [...]
-<p>Previously, Pulsar had a concept of properties. A property is essentially the exact same thing as a tenant, so the &quot;property&quot; terminology has been removed in version 2.0. The <a href="/docs/zh-CN/2.3.2/pulsar-admin#pulsar-admin"><code>pulsar-admin properties</code></a> command-line interface, for example, has been replaced with the <a href="/docs/zh-CN/2.3.2/pulsar-admin#pulsar-admin-tenants"><code>pulsar-admin tenants</code></a> interface. In some cases the properties termi [...]
-<h3><a class="anchor" aria-hidden="true" id="topic-names"></a><a href="#topic-names" 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-.83.42 [...]
-<p>Prior to version 2.0, <em>all</em> Pulsar topics had the following form:</p>
+<h2><a class="anchor" aria-hidden="true" id="主要变化"></a><a href="#主要变化" 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-.83.42-1.64 1-2.09V6 [...]
+<p>你需要注意一些主要变化,这些会对你日常使用产生影响</p>
+<h3><a class="anchor" aria-hidden="true" id="properties-vs-tenants"></a><a href="#properties-vs-tenants" 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 [...]
+<p>此前,Pulsar有一个properties(属性)的概念。 一个property和tenant本质上是一个东西,所以property这个术语从2.0版本开始就取消了。例如,<a href="/docs/zh-CN/2.3.2/pulsar-admin#pulsar-admin"><code>pulsar-admin properties</code></a>命令行接口被替换成了<a href="/docs/zh-CN/2.3.2/pulsar-admin#pulsar-admin-tenants"><code>pulsar-admin tenants</code></a> 在某些情况下,properties术语仍然有效,但是未来版本也会慢慢弃用。</p>
+<h3><a class="anchor" aria-hidden="true" id="topic名字"></a><a href="#topic名字" 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-.83.42-1.64 1- [...]
+<p>在2.0版本之前,<em>所有</em>Pulsar topic有如下形态</p>
 <pre><code class="hljs css language-http">{persistent|non-persistent}://property/cluster/namespace/topic
 </code></pre>
-<p>Two important changes have been made in Pulsar 2.0:</p>
+<p>2.0中有两个重要改变:</p>
 <ul>
-<li>There is no longer a <a href="#no-cluster">cluster component</a></li>
-<li>Properties have been <a href="#tenants">renamed to tenants</a></li>
-<li>You can use a <a href="#flexible-topic-naming">flexible</a> naming system to shorten many topic names</li>
+<li>不再有 <a href="#no-cluster">cluster component集群组件</a></li>
+<li>Properties被<a href="#tenants">改名为 tenants</a></li>
+<li>你可以使用<a href="#flexible-topic-naming">灵活的</a>命名系统来缩短Topic名字。</li>
 </ul>
-<h4><a class="anchor" aria-hidden="true" id="no-cluster-component"></a><a href="#no-cluster-component" 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 [...]
-<p>The cluster component has been removed from topic names. Thus, all topic names now have the following form:</p>
+<h4><a class="anchor" aria-hidden="true" id="没有cluster-component集群组件"></a><a href="#没有cluster-component集群组件" 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 [...]
+<p>集群组件cluster component从Topic名字中去掉,因此,所有Topic名字现在形态为:</p>
 <pre><code class="hljs css language-http">{persistent|non-persistent}://tenant/namespace/topic
 </code></pre>
 <blockquote>
-<p>Existing topics that use the legacy name format will continue to work without any change, and there are no plans to change that.</p>
+<p>已经存在的topics可能使用了之前的命名方式,可以继续工作,没有后续计划会修改。</p>
 </blockquote>
-<h4><a class="anchor" aria-hidden="true" id="flexible-topic-naming"></a><a href="#flexible-topic-naming" 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 [...]
-<p>All topic names in Pulsar 2.0 internally have the form shown <a href="#no-cluster-component">above</a> but you can now use shorthand names in many cases (for the sake of simplicity). The flexible naming system stems from the fact that there is now a default topic type, tenant, and namespace:</p>
+<h4><a class="anchor" aria-hidden="true" id="灵活的topic命名"></a><a href="#灵活的topic命名" 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-.83.42-1 [...]
+<p>在Pulsar 2.0内部,所有Topic名字形态<a href="#no-cluster-component">如上</a>,但是你现在可以通过简化使用更便捷的名字。 灵活命名系统有默认的topic type,tenant以及命名空间namesapce:</p>
 <table>
 <thead>
-<tr><th style="text-align:left">Topic aspect</th><th style="text-align:left">默认值</th></tr>
+<tr><th style="text-align:left">Topic 方面</th><th style="text-align:left">默认值</th></tr>
 </thead>
 <tbody>
 <tr><td style="text-align:left">topic type</td><td style="text-align:left"><code>persistent</code></td></tr>
@@ -117,20 +117,20 @@
 <tr><td style="text-align:left">namespace</td><td style="text-align:left"><code>default</code></td></tr>
 </tbody>
 </table>
-<p>The table below shows some example topic name translations that use implicit defaults:</p>
+<p>下表展示了一些topic名字默认自动转换的例子:</p>
 <table>
 <thead>
-<tr><th style="text-align:left">Input topic name</th><th style="text-align:left">Translated topic name</th></tr>
+<tr><th style="text-align:left">输入隐式topic名字</th><th style="text-align:left">默认转换成完整topic 名字</th></tr>
 </thead>
 <tbody>
 <tr><td style="text-align:left"><code>my-topic</code></td><td style="text-align:left"><code>persistent://public/default/my-topic</code></td></tr>
-<tr><td style="text-align:left"><code>my-tenant/my-namespace/my-topic</code></td><td style="text-align:left"><code>persistent://my-tenant/my-namespace/my-topic</code></td></tr>
+<tr><td style="text-align:left"><code>my-tenant/my-namespace/my-topic</code></td><td style="text-align:left"><code>persistent://tenant/namespace/topic</code></td></tr>
 </tbody>
 </table>
 <blockquote>
-<p>For <a href="/docs/zh-CN/2.3.2/concepts-messaging#non-persistent-topics">non-persistent topics</a> you'll need to continue to specify the entire topic name, as the default-based rules for persistent topic names don't apply. Thus you cannot use a shorthand name like <code>non-persistent://my-topic</code> and would need to use <code>non-persistent://public/default/my-topic</code> instead</p>
+<p>对于&lt;a href=&quot;concepts-messaging.md#non-persistent-topics&quot;非持久化</a>Topic,你总是需要制定完整的topic名称,此时上面那种对于持久化topic名字的转换就不适用了。 这样你不能适用便捷名如: <code>non-persistent://my-topic</code> ,需要用<code>non-persistent://public/default/my-topic</code> 来代替。</p>
 </blockquote>
-</span></div></article></div><div class="docs-prevnext"><a class="docs-next button" href="/docs/zh-CN/2.3.2/standalone"><span>在本地运行Pulsar</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#new-features-in-pulsar-20">New features in Pulsar 2.0</a></li><li><a href="#major-changes">Major changes</a><ul class="toc-headings"><li><a href="#properties-versus-tenants">Properties versus tenants</a></li><li><a href="#topic-na [...]
+</span></div></article></div><div class="docs-prevnext"><a class="docs-next button" href="/docs/zh-CN/2.3.2/standalone"><span>在本地运行Pulsar</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#pulsar-20-新特性">Pulsar 2.0 新特性</a></li><li><a href="#主要变化">主要变化</a><ul class="toc-headings"><li><a href="#properties-vs-tenants">Properties Vs. Tenants</a></li><li><a href="#topic名字">Topic名字</a></li></ul></li></ul></nav></div><foot [...]
       const community = document.querySelector("a[href='#community']").parentNode;
       const communityMenu =
         '<li>' +
diff --git a/content/docs/zh-CN/2.3.2/pulsar-2.0/index.html b/content/docs/zh-CN/2.3.2/pulsar-2.0/index.html
index 00d9632..4c0863c 100644
--- a/content/docs/zh-CN/2.3.2/pulsar-2.0/index.html
+++ b/content/docs/zh-CN/2.3.2/pulsar-2.0/index.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="zh-CN"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Pulsar 2.0 · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar 2.0 is a major new release for Pulsar that brings some bold changes to the platform, including [simplified topic names](#topic-names), the addition of the [Pulsar Functions](/docs/zh-CN/2.3.2/func [...]
+<!DOCTYPE html><html lang="zh-CN"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Pulsar 2.0 · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar 2.0是Pulsar的新发布版本,为平台带来了海量的变化,包括[简化的Topic名字](#topic-names),以及[Pulsar Functions](/docs/zh-CN/2.3.2/functions-overview)特性,同时还有一些术语的变化等等。"/><meta name="docsearch:version" content="2.3.2"/><meta name=" [...]
               (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),
               m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
@@ -74,42 +74,42 @@
                 };
               }
             });
-        </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">Pulsar 2.0</h1></header><article><div><span><p>Pulsar 2.0 is a major new release for Pulsar that brings some bold changes to the platform, including <a href="#topic-names">simplified topic  [...]
-<h2><a class="anchor" aria-hidden="true" id="new-features-in-pulsar-20"></a><a href="#new-features-in-pulsar-20" 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 [...]
+        </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">Pulsar 2.0</h1></header><article><div><span><p>Pulsar 2.0是Pulsar的新发布版本,为平台带来了海量的变化,包括<a href="#topic-names">简化的Topic名字</a>,以及<a href="/docs/zh-CN/2.3.2/functions-overview">Pulsar Functions< [...]
+<h2><a class="anchor" aria-hidden="true" id="pulsar-20-新特性"></a><a href="#pulsar-20-新特性" 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 [...]
 <table>
 <thead>
-<tr><th style="text-align:left">Feature</th><th style="text-align:left">说明:</th></tr>
+<tr><th style="text-align:left">特性</th><th style="text-align:left">说明:</th></tr>
 </thead>
 <tbody>
-<tr><td style="text-align:left"><a href="/docs/zh-CN/2.3.2/functions-overview">Pulsar Functions</a></td><td style="text-align:left">A lightweight compute option for Pulsar</td></tr>
+<tr><td style="text-align:left"><a href="/docs/zh-CN/2.3.2/functions-overview">Pulsar Functions</a></td><td style="text-align:left">Pulsar的一个轻量级的运算功能</td></tr>
 </tbody>
 </table>
-<h2><a class="anchor" aria-hidden="true" id="major-changes"></a><a href="#major-changes" 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>There are a few major changes that you should be aware of, as they may significantly impact your day-to-day usage.</p>
-<h3><a class="anchor" aria-hidden="true" id="properties-versus-tenants"></a><a href="#properties-versus-tenants" 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 [...]
-<p>Previously, Pulsar had a concept of properties. A property is essentially the exact same thing as a tenant, so the &quot;property&quot; terminology has been removed in version 2.0. The <a href="/docs/zh-CN/2.3.2/pulsar-admin#pulsar-admin"><code>pulsar-admin properties</code></a> command-line interface, for example, has been replaced with the <a href="/docs/zh-CN/2.3.2/pulsar-admin#pulsar-admin-tenants"><code>pulsar-admin tenants</code></a> interface. In some cases the properties termi [...]
-<h3><a class="anchor" aria-hidden="true" id="topic-names"></a><a href="#topic-names" 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-.83.42 [...]
-<p>Prior to version 2.0, <em>all</em> Pulsar topics had the following form:</p>
+<h2><a class="anchor" aria-hidden="true" id="主要变化"></a><a href="#主要变化" 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-.83.42-1.64 1-2.09V6 [...]
+<p>你需要注意一些主要变化,这些会对你日常使用产生影响</p>
+<h3><a class="anchor" aria-hidden="true" id="properties-vs-tenants"></a><a href="#properties-vs-tenants" 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 [...]
+<p>此前,Pulsar有一个properties(属性)的概念。 一个property和tenant本质上是一个东西,所以property这个术语从2.0版本开始就取消了。例如,<a href="/docs/zh-CN/2.3.2/pulsar-admin#pulsar-admin"><code>pulsar-admin properties</code></a>命令行接口被替换成了<a href="/docs/zh-CN/2.3.2/pulsar-admin#pulsar-admin-tenants"><code>pulsar-admin tenants</code></a> 在某些情况下,properties术语仍然有效,但是未来版本也会慢慢弃用。</p>
+<h3><a class="anchor" aria-hidden="true" id="topic名字"></a><a href="#topic名字" 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-.83.42-1.64 1- [...]
+<p>在2.0版本之前,<em>所有</em>Pulsar topic有如下形态</p>
 <pre><code class="hljs css language-http">{persistent|non-persistent}://property/cluster/namespace/topic
 </code></pre>
-<p>Two important changes have been made in Pulsar 2.0:</p>
+<p>2.0中有两个重要改变:</p>
 <ul>
-<li>There is no longer a <a href="#no-cluster">cluster component</a></li>
-<li>Properties have been <a href="#tenants">renamed to tenants</a></li>
-<li>You can use a <a href="#flexible-topic-naming">flexible</a> naming system to shorten many topic names</li>
+<li>不再有 <a href="#no-cluster">cluster component集群组件</a></li>
+<li>Properties被<a href="#tenants">改名为 tenants</a></li>
+<li>你可以使用<a href="#flexible-topic-naming">灵活的</a>命名系统来缩短Topic名字。</li>
 </ul>
-<h4><a class="anchor" aria-hidden="true" id="no-cluster-component"></a><a href="#no-cluster-component" 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 [...]
-<p>The cluster component has been removed from topic names. Thus, all topic names now have the following form:</p>
+<h4><a class="anchor" aria-hidden="true" id="没有cluster-component集群组件"></a><a href="#没有cluster-component集群组件" 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 [...]
+<p>集群组件cluster component从Topic名字中去掉,因此,所有Topic名字现在形态为:</p>
 <pre><code class="hljs css language-http">{persistent|non-persistent}://tenant/namespace/topic
 </code></pre>
 <blockquote>
-<p>Existing topics that use the legacy name format will continue to work without any change, and there are no plans to change that.</p>
+<p>已经存在的topics可能使用了之前的命名方式,可以继续工作,没有后续计划会修改。</p>
 </blockquote>
-<h4><a class="anchor" aria-hidden="true" id="flexible-topic-naming"></a><a href="#flexible-topic-naming" 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 [...]
-<p>All topic names in Pulsar 2.0 internally have the form shown <a href="#no-cluster-component">above</a> but you can now use shorthand names in many cases (for the sake of simplicity). The flexible naming system stems from the fact that there is now a default topic type, tenant, and namespace:</p>
+<h4><a class="anchor" aria-hidden="true" id="灵活的topic命名"></a><a href="#灵活的topic命名" 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-.83.42-1 [...]
+<p>在Pulsar 2.0内部,所有Topic名字形态<a href="#no-cluster-component">如上</a>,但是你现在可以通过简化使用更便捷的名字。 灵活命名系统有默认的topic type,tenant以及命名空间namesapce:</p>
 <table>
 <thead>
-<tr><th style="text-align:left">Topic aspect</th><th style="text-align:left">默认值</th></tr>
+<tr><th style="text-align:left">Topic 方面</th><th style="text-align:left">默认值</th></tr>
 </thead>
 <tbody>
 <tr><td style="text-align:left">topic type</td><td style="text-align:left"><code>persistent</code></td></tr>
@@ -117,20 +117,20 @@
 <tr><td style="text-align:left">namespace</td><td style="text-align:left"><code>default</code></td></tr>
 </tbody>
 </table>
-<p>The table below shows some example topic name translations that use implicit defaults:</p>
+<p>下表展示了一些topic名字默认自动转换的例子:</p>
 <table>
 <thead>
-<tr><th style="text-align:left">Input topic name</th><th style="text-align:left">Translated topic name</th></tr>
+<tr><th style="text-align:left">输入隐式topic名字</th><th style="text-align:left">默认转换成完整topic 名字</th></tr>
 </thead>
 <tbody>
 <tr><td style="text-align:left"><code>my-topic</code></td><td style="text-align:left"><code>persistent://public/default/my-topic</code></td></tr>
-<tr><td style="text-align:left"><code>my-tenant/my-namespace/my-topic</code></td><td style="text-align:left"><code>persistent://my-tenant/my-namespace/my-topic</code></td></tr>
+<tr><td style="text-align:left"><code>my-tenant/my-namespace/my-topic</code></td><td style="text-align:left"><code>persistent://tenant/namespace/topic</code></td></tr>
 </tbody>
 </table>
 <blockquote>
-<p>For <a href="/docs/zh-CN/2.3.2/concepts-messaging#non-persistent-topics">non-persistent topics</a> you'll need to continue to specify the entire topic name, as the default-based rules for persistent topic names don't apply. Thus you cannot use a shorthand name like <code>non-persistent://my-topic</code> and would need to use <code>non-persistent://public/default/my-topic</code> instead</p>
+<p>对于&lt;a href=&quot;concepts-messaging.md#non-persistent-topics&quot;非持久化</a>Topic,你总是需要制定完整的topic名称,此时上面那种对于持久化topic名字的转换就不适用了。 这样你不能适用便捷名如: <code>non-persistent://my-topic</code> ,需要用<code>non-persistent://public/default/my-topic</code> 来代替。</p>
 </blockquote>
-</span></div></article></div><div class="docs-prevnext"><a class="docs-next button" href="/docs/zh-CN/2.3.2/standalone"><span>在本地运行Pulsar</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#new-features-in-pulsar-20">New features in Pulsar 2.0</a></li><li><a href="#major-changes">Major changes</a><ul class="toc-headings"><li><a href="#properties-versus-tenants">Properties versus tenants</a></li><li><a href="#topic-na [...]
+</span></div></article></div><div class="docs-prevnext"><a class="docs-next button" href="/docs/zh-CN/2.3.2/standalone"><span>在本地运行Pulsar</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#pulsar-20-新特性">Pulsar 2.0 新特性</a></li><li><a href="#主要变化">主要变化</a><ul class="toc-headings"><li><a href="#properties-vs-tenants">Properties Vs. Tenants</a></li><li><a href="#topic名字">Topic名字</a></li></ul></li></ul></nav></div><foot [...]
       const community = document.querySelector("a[href='#community']").parentNode;
       const communityMenu =
         '<li>' +
diff --git a/content/docs/zh-CN/2.3.2/standalone.html b/content/docs/zh-CN/2.3.2/standalone.html
index c2aafa2..f4b5bf0 100644
--- a/content/docs/zh-CN/2.3.2/standalone.html
+++ b/content/docs/zh-CN/2.3.2/standalone.html
@@ -235,7 +235,7 @@ You can also run the service as a background process using the <code>pulsar-daem
 <p>If the service runs as a background process using the <code>pulsar-daemon start standalone</code> command, then use the <code>pulsar-daemon stop standalone</code> command to stop the service.</p>
 <p>For more information, see <a href="https://pulsar.apache.org/docs/en/reference-cli-tools/#pulsar-daemon">pulsar-daemon</a>.</p>
 </blockquote>
-</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/zh-CN/2.3.2/pulsar-2.0"><span class="arrow-prev">← </span><span>Pulsar 2.0</span></a><a class="docs-next button" href="/docs/zh-CN/2.3.2/standalone-docker"><span>Run Pulsar in Docker</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#install-pulsar-standalone">Install Pulsar standalone</a><ul class="toc-headings"><li><a h [...]
+</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/zh-CN/2.3.2/pulsar-2.0"><span class="arrow-prev">← </span><span>Pulsar-2.0</span></a><a class="docs-next button" href="/docs/zh-CN/2.3.2/standalone-docker"><span>Run Pulsar in Docker</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#install-pulsar-standalone">Install Pulsar standalone</a><ul class="toc-headings"><li><a h [...]
       const community = document.querySelector("a[href='#community']").parentNode;
       const communityMenu =
         '<li>' +
diff --git a/content/docs/zh-CN/2.3.2/standalone/index.html b/content/docs/zh-CN/2.3.2/standalone/index.html
index c2aafa2..f4b5bf0 100644
--- a/content/docs/zh-CN/2.3.2/standalone/index.html
+++ b/content/docs/zh-CN/2.3.2/standalone/index.html
@@ -235,7 +235,7 @@ You can also run the service as a background process using the <code>pulsar-daem
 <p>If the service runs as a background process using the <code>pulsar-daemon start standalone</code> command, then use the <code>pulsar-daemon stop standalone</code> command to stop the service.</p>
 <p>For more information, see <a href="https://pulsar.apache.org/docs/en/reference-cli-tools/#pulsar-daemon">pulsar-daemon</a>.</p>
 </blockquote>
-</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/zh-CN/2.3.2/pulsar-2.0"><span class="arrow-prev">← </span><span>Pulsar 2.0</span></a><a class="docs-next button" href="/docs/zh-CN/2.3.2/standalone-docker"><span>Run Pulsar in Docker</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#install-pulsar-standalone">Install Pulsar standalone</a><ul class="toc-headings"><li><a h [...]
+</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/zh-CN/2.3.2/pulsar-2.0"><span class="arrow-prev">← </span><span>Pulsar-2.0</span></a><a class="docs-next button" href="/docs/zh-CN/2.3.2/standalone-docker"><span>Run Pulsar in Docker</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#install-pulsar-standalone">Install Pulsar standalone</a><ul class="toc-headings"><li><a h [...]
       const community = document.querySelector("a[href='#community']").parentNode;
       const communityMenu =
         '<li>' +
diff --git a/content/docs/zh-CN/concepts-architecture-overview.html b/content/docs/zh-CN/concepts-architecture-overview.html
index 4a79c26..370efa8 100644
--- a/content/docs/zh-CN/concepts-architecture-overview.html
+++ b/content/docs/zh-CN/concepts-architecture-overview.html
@@ -128,7 +128,7 @@
 </ul>
 <p>除了消息数据,<em>cursors</em>也会被持久化入BookKeeper。 Cursors是消费端<a href="/docs/zh-CN/reference-terminology#subscription">订阅</a>消费的位置。 BookKeeper让Pulsar可以用一种可扩展的方式存储消费位置。</p>
 <p>目前,Pulsar只支持持久消息存储。这是所有topic名称都是持久不可变的原因。这里有一个例子:</p>
-<pre><code class="hljs css language-http">persistent://my-tenant/my-namespace/my-topic
+<pre><code class="hljs css language-http">persistent://tenant/namespace/topic
 </code></pre>
 <blockquote>
 <p>Pulsar也支持临时消息( (<a href="/docs/zh-CN/concepts-messaging#non-persistent-topics">非持久消息</a>) )存储。</p>
diff --git a/content/docs/zh-CN/concepts-architecture-overview/index.html b/content/docs/zh-CN/concepts-architecture-overview/index.html
index 4a79c26..370efa8 100644
--- a/content/docs/zh-CN/concepts-architecture-overview/index.html
+++ b/content/docs/zh-CN/concepts-architecture-overview/index.html
@@ -128,7 +128,7 @@
 </ul>
 <p>除了消息数据,<em>cursors</em>也会被持久化入BookKeeper。 Cursors是消费端<a href="/docs/zh-CN/reference-terminology#subscription">订阅</a>消费的位置。 BookKeeper让Pulsar可以用一种可扩展的方式存储消费位置。</p>
 <p>目前,Pulsar只支持持久消息存储。这是所有topic名称都是持久不可变的原因。这里有一个例子:</p>
-<pre><code class="hljs css language-http">persistent://my-tenant/my-namespace/my-topic
+<pre><code class="hljs css language-http">persistent://tenant/namespace/topic
 </code></pre>
 <blockquote>
 <p>Pulsar也支持临时消息( (<a href="/docs/zh-CN/concepts-messaging#non-persistent-topics">非持久消息</a>) )存储。</p>
diff --git a/content/docs/zh-CN/concepts-overview.html b/content/docs/zh-CN/concepts-overview.html
index fd7ad33..894b4ba 100644
--- a/content/docs/zh-CN/concepts-overview.html
+++ b/content/docs/zh-CN/concepts-overview.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="zh-CN"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Pulsar Overview · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar is a multi-tenant, high-performance solution for server-to-server messaging. Pulsar was originally developed by [Yahoo](http://yahoo.github.io/), it is under the stewardship of the [Apache So [...]
+<!DOCTYPE html><html lang="zh-CN"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Pulsar Overview · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar 是一个多租户,服务器到服务器消息的高性能解决方案。 Pulsar 最初由 [Yahoo](http://yahoo.github.io/)开发,它目前由 [Apache软件基金会](https://www.apache.org/)管理。"/><meta name="docsearch:version" content="2.4.0"/><meta name="docsearch: [...]
               (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),
               m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
@@ -74,18 +74,18 @@
                 };
               }
             });
-        </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">Pulsar Overview</h1></header><article><div><span><p>Pulsar is a multi-tenant, high-performance solution for server-to-server messaging. Pulsar was originally developed by <a href="http://ya [...]
-<p>Key features of Pulsar are listed below:</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">Pulsar Overview</h1></header><article><div><span><p>Pulsar 是一个多租户,服务器到服务器消息的高性能解决方案。 Pulsar 最初由 <a href="http://yahoo.github.io/">Yahoo</a>开发,它目前由 <a href="https://www.apache.org/">Apache软件 [...]
+<p>Pulsar的关键特性如下:</p>
 <ul>
-<li>Native support for multiple clusters in a Pulsar instance, with seamless <a href="/docs/zh-CN/administration-geo">geo-replication</a> of messages across clusters.</li>
-<li>Very low publish and end-to-end latency.</li>
-<li>Seamless scalability to over a million topics.</li>
-<li>A simple <a href="/docs/zh-CN/concepts-clients">client API</a> with bindings for <a href="/docs/zh-CN/client-libraries-java">Java</a>, <a href="/docs/zh-CN/client-libraries-go">Go</a>, <a href="/docs/zh-CN/client-libraries-python">Python</a> and <a href="/docs/zh-CN/client-libraries-cpp">C++</a>.</li>
-<li>Multiple <a href="/docs/zh-CN/concepts-messaging#subscription-modes">subscription modes</a> (<a href="/docs/zh-CN/concepts-messaging#exclusive">exclusive</a>, <a href="/docs/zh-CN/concepts-messaging#shared">shared</a>, and <a href="/docs/zh-CN/concepts-messaging#failover">failover</a>) for topics.</li>
-<li>Guaranteed message delivery with <a href="/docs/zh-CN/concepts-architecture-overview#persistent-storage">persistent message storage</a> provided by <a href="http://bookkeeper.apache.org/">Apache BookKeeper</a>.</li>
-<li>A serverless light-weight computing framework <a href="/docs/zh-CN/functions-overview">Pulsar Functions</a> offers the capability for stream-native data processing.</li>
-<li>A serverless connector framework <a href="/docs/zh-CN/io-overview">Pulsar IO</a>, which is built on Pulsar Functions, makes it easier to move data in and out Apache Pulsar.</li>
-<li><a href="/docs/zh-CN/concepts-tiered-storage">Tiered Storage</a> offloads data from hot/warm storage to cold/longterm storage (such as S3 and GCS) when the data is aging out.</li>
+<li>Pulsar实例原生支持多集群,能够无缝的<a href="/docs/zh-CN/administration-geo">基于地理位置</a> 进行跨集群的备份.</li>
+<li>非常低的消息发布和端到端的延迟.</li>
+<li>无缝的扩展到超过一百万个topic.</li>
+<li>一套简单的<a href="/docs/zh-CN/concepts-clients">客户端API</a> ,支持 <a href="/docs/zh-CN/client-libraries-java">Java</a>, <a href="/docs/zh-CN/client-libraries-python">Python</a>, 和 <a href="/docs/zh-CN/client-libraries-cpp">C++</a>.</li>
+<li>Topic支持多种 <a href="/docs/zh-CN/concepts-messaging#subscription-modes">订阅模式</a>: <a href="/docs/zh-CN/concepts-messaging#exclusive">独占(exclusive)</a>, <a href="/docs/zh-CN/concepts-messaging#shared">共享(shared)</a>, and <a href="/docs/zh-CN/concepts-messaging#failover">备援(failover)</a></li>
+<li>通过<a href="http://bookkeeper.apache.org/">Apache BookKeeper</a>提供的 <a href="/docs/zh-CN/concepts-architecture-overview#persistent-storage">持久化消息存储机制</a> 保证消息的送达.</li>
+<li>一个serverless的轻量级计算框架 <a href="/docs/zh-CN/functions-overview">Pulsar Functions</a> 提供了原生的流数据处理</li>
+<li>一个serverless的连接器框架<a href="/docs/zh-CN/io-overview">Pulsar IO</a>,构建于 Pulsar Functions之上,能够轻松的将数据从Apache Pulsar中移入和移出</li>
+<li>当数据老化时,<a href="/docs/zh-CN/concepts-tiered-storage">分层式存储</a> 将数据从热存储卸载到冷存储中(比如S3、GCS等)</li>
 </ul>
 <h2><a class="anchor" aria-hidden="true" id="contents"></a><a href="#contents" 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-.83.42-1.64  [...]
 <ul>
diff --git a/content/docs/zh-CN/concepts-overview/index.html b/content/docs/zh-CN/concepts-overview/index.html
index fd7ad33..894b4ba 100644
--- a/content/docs/zh-CN/concepts-overview/index.html
+++ b/content/docs/zh-CN/concepts-overview/index.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="zh-CN"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Pulsar Overview · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar is a multi-tenant, high-performance solution for server-to-server messaging. Pulsar was originally developed by [Yahoo](http://yahoo.github.io/), it is under the stewardship of the [Apache So [...]
+<!DOCTYPE html><html lang="zh-CN"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Pulsar Overview · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar 是一个多租户,服务器到服务器消息的高性能解决方案。 Pulsar 最初由 [Yahoo](http://yahoo.github.io/)开发,它目前由 [Apache软件基金会](https://www.apache.org/)管理。"/><meta name="docsearch:version" content="2.4.0"/><meta name="docsearch: [...]
               (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),
               m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
@@ -74,18 +74,18 @@
                 };
               }
             });
-        </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">Pulsar Overview</h1></header><article><div><span><p>Pulsar is a multi-tenant, high-performance solution for server-to-server messaging. Pulsar was originally developed by <a href="http://ya [...]
-<p>Key features of Pulsar are listed below:</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">Pulsar Overview</h1></header><article><div><span><p>Pulsar 是一个多租户,服务器到服务器消息的高性能解决方案。 Pulsar 最初由 <a href="http://yahoo.github.io/">Yahoo</a>开发,它目前由 <a href="https://www.apache.org/">Apache软件 [...]
+<p>Pulsar的关键特性如下:</p>
 <ul>
-<li>Native support for multiple clusters in a Pulsar instance, with seamless <a href="/docs/zh-CN/administration-geo">geo-replication</a> of messages across clusters.</li>
-<li>Very low publish and end-to-end latency.</li>
-<li>Seamless scalability to over a million topics.</li>
-<li>A simple <a href="/docs/zh-CN/concepts-clients">client API</a> with bindings for <a href="/docs/zh-CN/client-libraries-java">Java</a>, <a href="/docs/zh-CN/client-libraries-go">Go</a>, <a href="/docs/zh-CN/client-libraries-python">Python</a> and <a href="/docs/zh-CN/client-libraries-cpp">C++</a>.</li>
-<li>Multiple <a href="/docs/zh-CN/concepts-messaging#subscription-modes">subscription modes</a> (<a href="/docs/zh-CN/concepts-messaging#exclusive">exclusive</a>, <a href="/docs/zh-CN/concepts-messaging#shared">shared</a>, and <a href="/docs/zh-CN/concepts-messaging#failover">failover</a>) for topics.</li>
-<li>Guaranteed message delivery with <a href="/docs/zh-CN/concepts-architecture-overview#persistent-storage">persistent message storage</a> provided by <a href="http://bookkeeper.apache.org/">Apache BookKeeper</a>.</li>
-<li>A serverless light-weight computing framework <a href="/docs/zh-CN/functions-overview">Pulsar Functions</a> offers the capability for stream-native data processing.</li>
-<li>A serverless connector framework <a href="/docs/zh-CN/io-overview">Pulsar IO</a>, which is built on Pulsar Functions, makes it easier to move data in and out Apache Pulsar.</li>
-<li><a href="/docs/zh-CN/concepts-tiered-storage">Tiered Storage</a> offloads data from hot/warm storage to cold/longterm storage (such as S3 and GCS) when the data is aging out.</li>
+<li>Pulsar实例原生支持多集群,能够无缝的<a href="/docs/zh-CN/administration-geo">基于地理位置</a> 进行跨集群的备份.</li>
+<li>非常低的消息发布和端到端的延迟.</li>
+<li>无缝的扩展到超过一百万个topic.</li>
+<li>一套简单的<a href="/docs/zh-CN/concepts-clients">客户端API</a> ,支持 <a href="/docs/zh-CN/client-libraries-java">Java</a>, <a href="/docs/zh-CN/client-libraries-python">Python</a>, 和 <a href="/docs/zh-CN/client-libraries-cpp">C++</a>.</li>
+<li>Topic支持多种 <a href="/docs/zh-CN/concepts-messaging#subscription-modes">订阅模式</a>: <a href="/docs/zh-CN/concepts-messaging#exclusive">独占(exclusive)</a>, <a href="/docs/zh-CN/concepts-messaging#shared">共享(shared)</a>, and <a href="/docs/zh-CN/concepts-messaging#failover">备援(failover)</a></li>
+<li>通过<a href="http://bookkeeper.apache.org/">Apache BookKeeper</a>提供的 <a href="/docs/zh-CN/concepts-architecture-overview#persistent-storage">持久化消息存储机制</a> 保证消息的送达.</li>
+<li>一个serverless的轻量级计算框架 <a href="/docs/zh-CN/functions-overview">Pulsar Functions</a> 提供了原生的流数据处理</li>
+<li>一个serverless的连接器框架<a href="/docs/zh-CN/io-overview">Pulsar IO</a>,构建于 Pulsar Functions之上,能够轻松的将数据从Apache Pulsar中移入和移出</li>
+<li>当数据老化时,<a href="/docs/zh-CN/concepts-tiered-storage">分层式存储</a> 将数据从热存储卸载到冷存储中(比如S3、GCS等)</li>
 </ul>
 <h2><a class="anchor" aria-hidden="true" id="contents"></a><a href="#contents" 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-.83.42-1.64  [...]
 <ul>
diff --git a/content/docs/zh-CN/io-cdc-canal.html b/content/docs/zh-CN/io-cdc-canal.html
index 65e523e..8921b54 100644
--- a/content/docs/zh-CN/io-cdc-canal.html
+++ b/content/docs/zh-CN/io-cdc-canal.html
@@ -89,11 +89,7 @@ symbolic-links=0 <span class="hljs-keyword">log</span>-bin=mysql-bin binlog-<spa
 
 docker pull canal/canal-server:v1.1.2 docker <span class="hljs-keyword">run</span> -<span class="hljs-keyword">d</span> -it --link pulsar-mysql -<span class="hljs-keyword">e</span> canal.auto.scan=false -<span class="hljs-keyword">e</span> canal.destinations=<span class="hljs-keyword">test</span> -<span class="hljs-keyword">e</span> canal.instance.master.address=pulsar-mysql:3306 -<span class="hljs-keyword">e</span> canal.instance.dbUsername=root -<span class="hljs-keyword">e</span> cana [...]
 
-    &lt;<span class="hljs-keyword">br</span> /&gt;- Start pulsar standalone
-    
-    ```<span class="hljs-variable">$bash</span>
-    docker pull apachepulsar/pulsar:2.4.0
-    docker <span class="hljs-keyword">run</span> -<span class="hljs-keyword">d</span> -it --link pulsar-canal-server -p 6650:6650 -p 8080:8080 -v <span class="hljs-variable">$PWD</span>/data:/pulsar/data --name pulsar-standalone apachepulsar/pulsar:2.4.0 bin/pulsar standalone
+    &lt;<span class="hljs-keyword">br</span> /&gt;- 启动pulsar独立版
     
 
 - Start pulsar-io <span class="hljs-keyword">in</span> standalone
@@ -120,7 +116,7 @@ client.<span class="hljs-keyword">close</span>()
     docker cp pulsar-client.py pulsar-standalone:/pulsar/
     
 
-- Download canal connector and start canal connector ```<span class="hljs-variable">$bash</span> docker exec -it pulsar-standalone /bin/bash wget http:<span class="hljs-comment">//apache.01link.hk/pulsar/pulsar-2.4.0/connectors/pulsar-io-canal-2.4.0.nar -P connectors ./bin/pulsar-admin sources localrun --archive ./connectors/pulsar-io-canal-2.4.0.nar --classname org.apache.pulsar.io.canal.CanalStringSource --tenant public --namespace default --name canal --destination-topic-name my-topic [...]
+- 下载canal连接器并启动
 
     &lt;<span class="hljs-keyword">br</span> /&gt;- Consumption data 
     
diff --git a/content/docs/zh-CN/io-cdc-canal/index.html b/content/docs/zh-CN/io-cdc-canal/index.html
index 65e523e..8921b54 100644
--- a/content/docs/zh-CN/io-cdc-canal/index.html
+++ b/content/docs/zh-CN/io-cdc-canal/index.html
@@ -89,11 +89,7 @@ symbolic-links=0 <span class="hljs-keyword">log</span>-bin=mysql-bin binlog-<spa
 
 docker pull canal/canal-server:v1.1.2 docker <span class="hljs-keyword">run</span> -<span class="hljs-keyword">d</span> -it --link pulsar-mysql -<span class="hljs-keyword">e</span> canal.auto.scan=false -<span class="hljs-keyword">e</span> canal.destinations=<span class="hljs-keyword">test</span> -<span class="hljs-keyword">e</span> canal.instance.master.address=pulsar-mysql:3306 -<span class="hljs-keyword">e</span> canal.instance.dbUsername=root -<span class="hljs-keyword">e</span> cana [...]
 
-    &lt;<span class="hljs-keyword">br</span> /&gt;- Start pulsar standalone
-    
-    ```<span class="hljs-variable">$bash</span>
-    docker pull apachepulsar/pulsar:2.4.0
-    docker <span class="hljs-keyword">run</span> -<span class="hljs-keyword">d</span> -it --link pulsar-canal-server -p 6650:6650 -p 8080:8080 -v <span class="hljs-variable">$PWD</span>/data:/pulsar/data --name pulsar-standalone apachepulsar/pulsar:2.4.0 bin/pulsar standalone
+    &lt;<span class="hljs-keyword">br</span> /&gt;- 启动pulsar独立版
     
 
 - Start pulsar-io <span class="hljs-keyword">in</span> standalone
@@ -120,7 +116,7 @@ client.<span class="hljs-keyword">close</span>()
     docker cp pulsar-client.py pulsar-standalone:/pulsar/
     
 
-- Download canal connector and start canal connector ```<span class="hljs-variable">$bash</span> docker exec -it pulsar-standalone /bin/bash wget http:<span class="hljs-comment">//apache.01link.hk/pulsar/pulsar-2.4.0/connectors/pulsar-io-canal-2.4.0.nar -P connectors ./bin/pulsar-admin sources localrun --archive ./connectors/pulsar-io-canal-2.4.0.nar --classname org.apache.pulsar.io.canal.CanalStringSource --tenant public --namespace default --name canal --destination-topic-name my-topic [...]
+- 下载canal连接器并启动
 
     &lt;<span class="hljs-keyword">br</span> /&gt;- Consumption data 
     
diff --git a/content/docs/zh-CN/io-cdc-debezium.html b/content/docs/zh-CN/io-cdc-debezium.html
index 2188a0c..43c6e86 100644
--- a/content/docs/zh-CN/io-cdc-debezium.html
+++ b/content/docs/zh-CN/io-cdc-debezium.html
@@ -63,7 +63,7 @@
     <span class="hljs-attr">"offset.storage.topic"</span>: <span class="hljs-string">"offset-topic"</span>
 }
 </code></pre>
-<p>Optionally, you can create a <code>debezium-mysql-source-config.yaml</code> file, and copy the <a href="https://github.com/apache/pulsar/blob/master/pulsar-io/debezium/mysql/src/main/resources/debezium-mysql-source-config.yaml">contents</a> below to the <code>debezium-mysql-source-config.yaml</code> file.</p>
+<p>另一个选择,你可以创建一个名为 <code>debezium-mysql-source-config.yaml</code>的文件,并复制如下的内容到<code>debezium-mysql-source-config.yaml</code>这个文件。</p></p>
 <pre><code class="hljs css language-$yaml tenant: &quot;public&quot; namespace: &quot;default&quot; name: &quot;debezium-mysql-source&quot; topicName: &quot;debezium-mysql-topic&quot; archive: &quot;connectors/pulsar-io-debezium-mysql-2.4.0.nar&quot;">
 <span class="hljs-attribute">parallelism</span>: 1
 
diff --git a/content/docs/zh-CN/io-cdc-debezium/index.html b/content/docs/zh-CN/io-cdc-debezium/index.html
index 2188a0c..43c6e86 100644
--- a/content/docs/zh-CN/io-cdc-debezium/index.html
+++ b/content/docs/zh-CN/io-cdc-debezium/index.html
@@ -63,7 +63,7 @@
     <span class="hljs-attr">"offset.storage.topic"</span>: <span class="hljs-string">"offset-topic"</span>
 }
 </code></pre>
-<p>Optionally, you can create a <code>debezium-mysql-source-config.yaml</code> file, and copy the <a href="https://github.com/apache/pulsar/blob/master/pulsar-io/debezium/mysql/src/main/resources/debezium-mysql-source-config.yaml">contents</a> below to the <code>debezium-mysql-source-config.yaml</code> file.</p>
+<p>另一个选择,你可以创建一个名为 <code>debezium-mysql-source-config.yaml</code>的文件,并复制如下的内容到<code>debezium-mysql-source-config.yaml</code>这个文件。</p></p>
 <pre><code class="hljs css language-$yaml tenant: &quot;public&quot; namespace: &quot;default&quot; name: &quot;debezium-mysql-source&quot; topicName: &quot;debezium-mysql-topic&quot; archive: &quot;connectors/pulsar-io-debezium-mysql-2.4.0.nar&quot;">
 <span class="hljs-attribute">parallelism</span>: 1
 
diff --git a/content/docs/zh-CN/next/adaptors-kafka.html b/content/docs/zh-CN/next/adaptors-kafka.html
index 7762a8c..a40ff55 100644
--- a/content/docs/zh-CN/next/adaptors-kafka.html
+++ b/content/docs/zh-CN/next/adaptors-kafka.html
@@ -18,7 +18,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
diff --git a/content/docs/zh-CN/next/adaptors-kafka/index.html b/content/docs/zh-CN/next/adaptors-kafka/index.html
index 7762a8c..a40ff55 100644
--- a/content/docs/zh-CN/next/adaptors-kafka/index.html
+++ b/content/docs/zh-CN/next/adaptors-kafka/index.html
@@ -18,7 +18,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
diff --git a/content/docs/zh-CN/next/adaptors-spark.html b/content/docs/zh-CN/next/adaptors-spark.html
index e78fc4c..48073ef 100644
--- a/content/docs/zh-CN/next/adaptors-spark.html
+++ b/content/docs/zh-CN/next/adaptors-spark.html
@@ -18,7 +18,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
diff --git a/content/docs/zh-CN/next/adaptors-spark/index.html b/content/docs/zh-CN/next/adaptors-spark/index.html
index e78fc4c..48073ef 100644
--- a/content/docs/zh-CN/next/adaptors-spark/index.html
+++ b/content/docs/zh-CN/next/adaptors-spark/index.html
@@ -18,7 +18,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
diff --git a/content/docs/zh-CN/next/adaptors-storm.html b/content/docs/zh-CN/next/adaptors-storm.html
index b84bd50..df1b982 100644
--- a/content/docs/zh-CN/next/adaptors-storm.html
+++ b/content/docs/zh-CN/next/adaptors-storm.html
@@ -18,7 +18,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
diff --git a/content/docs/zh-CN/next/adaptors-storm/index.html b/content/docs/zh-CN/next/adaptors-storm/index.html
index b84bd50..df1b982 100644
--- a/content/docs/zh-CN/next/adaptors-storm/index.html
+++ b/content/docs/zh-CN/next/adaptors-storm/index.html
@@ -18,7 +18,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
diff --git a/content/docs/zh-CN/next/admin-api-brokers.html b/content/docs/zh-CN/next/admin-api-brokers.html
index 08d7cba..fd4b866 100644
--- a/content/docs/zh-CN/next/admin-api-brokers.html
+++ b/content/docs/zh-CN/next/admin-api-brokers.html
@@ -18,7 +18,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
diff --git a/content/docs/zh-CN/next/admin-api-brokers/index.html b/content/docs/zh-CN/next/admin-api-brokers/index.html
index 08d7cba..fd4b866 100644
--- a/content/docs/zh-CN/next/admin-api-brokers/index.html
+++ b/content/docs/zh-CN/next/admin-api-brokers/index.html
@@ -18,7 +18,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
diff --git a/content/docs/zh-CN/next/admin-api-clusters.html b/content/docs/zh-CN/next/admin-api-clusters.html
index 4ada0fa..55d196f 100644
--- a/content/docs/zh-CN/next/admin-api-clusters.html
+++ b/content/docs/zh-CN/next/admin-api-clusters.html
@@ -18,7 +18,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
diff --git a/content/docs/zh-CN/next/admin-api-clusters/index.html b/content/docs/zh-CN/next/admin-api-clusters/index.html
index 4ada0fa..55d196f 100644
--- a/content/docs/zh-CN/next/admin-api-clusters/index.html
+++ b/content/docs/zh-CN/next/admin-api-clusters/index.html
@@ -18,7 +18,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
diff --git a/content/docs/zh-CN/next/admin-api-namespaces.html b/content/docs/zh-CN/next/admin-api-namespaces.html
index a3a4275..57f6341 100644
--- a/content/docs/zh-CN/next/admin-api-namespaces.html
+++ b/content/docs/zh-CN/next/admin-api-namespaces.html
@@ -18,7 +18,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
diff --git a/content/docs/zh-CN/next/admin-api-namespaces/index.html b/content/docs/zh-CN/next/admin-api-namespaces/index.html
index a3a4275..57f6341 100644
--- a/content/docs/zh-CN/next/admin-api-namespaces/index.html
+++ b/content/docs/zh-CN/next/admin-api-namespaces/index.html
@@ -18,7 +18,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
diff --git a/content/docs/zh-CN/next/admin-api-non-persistent-topics.html b/content/docs/zh-CN/next/admin-api-non-persistent-topics.html
index a775762..365c5e3 100644
--- a/content/docs/zh-CN/next/admin-api-non-persistent-topics.html
+++ b/content/docs/zh-CN/next/admin-api-non-persistent-topics.html
@@ -18,7 +18,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
diff --git a/content/docs/zh-CN/next/admin-api-non-persistent-topics/index.html b/content/docs/zh-CN/next/admin-api-non-persistent-topics/index.html
index a775762..365c5e3 100644
--- a/content/docs/zh-CN/next/admin-api-non-persistent-topics/index.html
+++ b/content/docs/zh-CN/next/admin-api-non-persistent-topics/index.html
@@ -18,7 +18,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
diff --git a/content/docs/zh-CN/next/admin-api-overview.html b/content/docs/zh-CN/next/admin-api-overview.html
index 54615ca..1e71481 100644
--- a/content/docs/zh-CN/next/admin-api-overview.html
+++ b/content/docs/zh-CN/next/admin-api-overview.html
@@ -18,7 +18,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
diff --git a/content/docs/zh-CN/next/admin-api-overview/index.html b/content/docs/zh-CN/next/admin-api-overview/index.html
index 54615ca..1e71481 100644
--- a/content/docs/zh-CN/next/admin-api-overview/index.html
+++ b/content/docs/zh-CN/next/admin-api-overview/index.html
@@ -18,7 +18,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
diff --git a/content/docs/zh-CN/next/admin-api-partitioned-topics.html b/content/docs/zh-CN/next/admin-api-partitioned-topics.html
index 24890a1..2ce8413 100644
--- a/content/docs/zh-CN/next/admin-api-partitioned-topics.html
+++ b/content/docs/zh-CN/next/admin-api-partitioned-topics.html
@@ -18,7 +18,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
diff --git a/content/docs/zh-CN/next/admin-api-partitioned-topics/index.html b/content/docs/zh-CN/next/admin-api-partitioned-topics/index.html
index 24890a1..2ce8413 100644
--- a/content/docs/zh-CN/next/admin-api-partitioned-topics/index.html
+++ b/content/docs/zh-CN/next/admin-api-partitioned-topics/index.html
@@ -18,7 +18,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
diff --git a/content/docs/zh-CN/next/admin-api-permissions.html b/content/docs/zh-CN/next/admin-api-permissions.html
index 46fdf7c..cfbdc17 100644
--- a/content/docs/zh-CN/next/admin-api-permissions.html
+++ b/content/docs/zh-CN/next/admin-api-permissions.html
@@ -18,7 +18,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
diff --git a/content/docs/zh-CN/next/admin-api-permissions/index.html b/content/docs/zh-CN/next/admin-api-permissions/index.html
index 46fdf7c..cfbdc17 100644
--- a/content/docs/zh-CN/next/admin-api-permissions/index.html
+++ b/content/docs/zh-CN/next/admin-api-permissions/index.html
@@ -18,7 +18,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
diff --git a/content/docs/zh-CN/next/admin-api-persistent-topics.html b/content/docs/zh-CN/next/admin-api-persistent-topics.html
index ed7460d..887b90b 100644
--- a/content/docs/zh-CN/next/admin-api-persistent-topics.html
+++ b/content/docs/zh-CN/next/admin-api-persistent-topics.html
@@ -18,7 +18,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
diff --git a/content/docs/zh-CN/next/admin-api-persistent-topics/index.html b/content/docs/zh-CN/next/admin-api-persistent-topics/index.html
index ed7460d..887b90b 100644
--- a/content/docs/zh-CN/next/admin-api-persistent-topics/index.html
+++ b/content/docs/zh-CN/next/admin-api-persistent-topics/index.html
@@ -18,7 +18,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
diff --git a/content/docs/zh-CN/next/admin-api-tenants.html b/content/docs/zh-CN/next/admin-api-tenants.html
index 57a9795..0f3f660 100644
--- a/content/docs/zh-CN/next/admin-api-tenants.html
+++ b/content/docs/zh-CN/next/admin-api-tenants.html
@@ -18,7 +18,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
diff --git a/content/docs/zh-CN/next/admin-api-tenants/index.html b/content/docs/zh-CN/next/admin-api-tenants/index.html
index 57a9795..0f3f660 100644
--- a/content/docs/zh-CN/next/admin-api-tenants/index.html
+++ b/content/docs/zh-CN/next/admin-api-tenants/index.html
@@ -18,7 +18,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
diff --git a/content/docs/zh-CN/next/administration-dashboard.html b/content/docs/zh-CN/next/administration-dashboard.html
index 6267312..71dc8fa 100644
--- a/content/docs/zh-CN/next/administration-dashboard.html
+++ b/content/docs/zh-CN/next/administration-dashboard.html
@@ -18,7 +18,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
diff --git a/content/docs/zh-CN/next/administration-dashboard/index.html b/content/docs/zh-CN/next/administration-dashboard/index.html
index 6267312..71dc8fa 100644
--- a/content/docs/zh-CN/next/administration-dashboard/index.html
+++ b/content/docs/zh-CN/next/administration-dashboard/index.html
@@ -18,7 +18,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
diff --git a/content/docs/zh-CN/next/administration-geo.html b/content/docs/zh-CN/next/administration-geo.html
index 92aca7c..8223cf5 100644
--- a/content/docs/zh-CN/next/administration-geo.html
+++ b/content/docs/zh-CN/next/administration-geo.html
@@ -18,7 +18,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
diff --git a/content/docs/zh-CN/next/administration-geo/index.html b/content/docs/zh-CN/next/administration-geo/index.html
index 92aca7c..8223cf5 100644
--- a/content/docs/zh-CN/next/administration-geo/index.html
+++ b/content/docs/zh-CN/next/administration-geo/index.html
@@ -18,7 +18,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
diff --git a/content/docs/zh-CN/next/administration-load-balance.html b/content/docs/zh-CN/next/administration-load-balance.html
index f6833d1..5fbbc1a 100644
--- a/content/docs/zh-CN/next/administration-load-balance.html
+++ b/content/docs/zh-CN/next/administration-load-balance.html
@@ -18,7 +18,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
diff --git a/content/docs/zh-CN/next/administration-load-balance/index.html b/content/docs/zh-CN/next/administration-load-balance/index.html
index f6833d1..5fbbc1a 100644
--- a/content/docs/zh-CN/next/administration-load-balance/index.html
+++ b/content/docs/zh-CN/next/administration-load-balance/index.html
@@ -18,7 +18,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
diff --git a/content/docs/zh-CN/next/administration-proxy.html b/content/docs/zh-CN/next/administration-proxy.html
index fb12511..c8b1d78 100644
--- a/content/docs/zh-CN/next/administration-proxy.html
+++ b/content/docs/zh-CN/next/administration-proxy.html
@@ -18,7 +18,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
diff --git a/content/docs/zh-CN/next/administration-proxy/index.html b/content/docs/zh-CN/next/administration-proxy/index.html
index fb12511..c8b1d78 100644
--- a/content/docs/zh-CN/next/administration-proxy/index.html
+++ b/content/docs/zh-CN/next/administration-proxy/index.html
@@ -18,7 +18,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
diff --git a/content/docs/zh-CN/next/administration-stats.html b/content/docs/zh-CN/next/administration-stats.html
index 6421316..d484959 100644
--- a/content/docs/zh-CN/next/administration-stats.html
+++ b/content/docs/zh-CN/next/administration-stats.html
@@ -18,7 +18,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
diff --git a/content/docs/zh-CN/next/administration-stats/index.html b/content/docs/zh-CN/next/administration-stats/index.html
index 6421316..d484959 100644
--- a/content/docs/zh-CN/next/administration-stats/index.html
+++ b/content/docs/zh-CN/next/administration-stats/index.html
@@ -18,7 +18,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
diff --git a/content/docs/zh-CN/next/administration-upgrade.html b/content/docs/zh-CN/next/administration-upgrade.html
index 97bac3f..9b73f0b 100644
--- a/content/docs/zh-CN/next/administration-upgrade.html
+++ b/content/docs/zh-CN/next/administration-upgrade.html
@@ -18,7 +18,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
diff --git a/content/docs/zh-CN/next/administration-upgrade/index.html b/content/docs/zh-CN/next/administration-upgrade/index.html
index 97bac3f..9b73f0b 100644
--- a/content/docs/zh-CN/next/administration-upgrade/index.html
+++ b/content/docs/zh-CN/next/administration-upgrade/index.html
@@ -18,7 +18,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
diff --git a/content/docs/zh-CN/next/administration-zk-bk.html b/content/docs/zh-CN/next/administration-zk-bk.html
index 65d5405..2513eb5 100644
--- a/content/docs/zh-CN/next/administration-zk-bk.html
+++ b/content/docs/zh-CN/next/administration-zk-bk.html
@@ -18,7 +18,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
diff --git a/content/docs/zh-CN/next/administration-zk-bk/index.html b/content/docs/zh-CN/next/administration-zk-bk/index.html
index 65d5405..2513eb5 100644
--- a/content/docs/zh-CN/next/administration-zk-bk/index.html
+++ b/content/docs/zh-CN/next/administration-zk-bk/index.html
@@ -18,7 +18,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
diff --git a/content/docs/zh-CN/next/client-libraries-cpp.html b/content/docs/zh-CN/next/client-libraries-cpp.html
index ebc8c2e..6797e80 100644
--- a/content/docs/zh-CN/next/client-libraries-cpp.html
+++ b/content/docs/zh-CN/next/client-libraries-cpp.html
@@ -18,7 +18,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
diff --git a/content/docs/zh-CN/next/client-libraries-cpp/index.html b/content/docs/zh-CN/next/client-libraries-cpp/index.html
index ebc8c2e..6797e80 100644
--- a/content/docs/zh-CN/next/client-libraries-cpp/index.html
+++ b/content/docs/zh-CN/next/client-libraries-cpp/index.html
@@ -18,7 +18,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
diff --git a/content/docs/zh-CN/next/client-libraries-go.html b/content/docs/zh-CN/next/client-libraries-go.html
index 0098ff4..102cee3 100644
--- a/content/docs/zh-CN/next/client-libraries-go.html
+++ b/content/docs/zh-CN/next/client-libraries-go.html
@@ -18,7 +18,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
diff --git a/content/docs/zh-CN/next/client-libraries-go/index.html b/content/docs/zh-CN/next/client-libraries-go/index.html
index 0098ff4..102cee3 100644
--- a/content/docs/zh-CN/next/client-libraries-go/index.html
+++ b/content/docs/zh-CN/next/client-libraries-go/index.html
@@ -18,7 +18,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
diff --git a/content/docs/zh-CN/next/client-libraries-java.html b/content/docs/zh-CN/next/client-libraries-java.html
index 36d9235..a974b3e 100644
--- a/content/docs/zh-CN/next/client-libraries-java.html
+++ b/content/docs/zh-CN/next/client-libraries-java.html
@@ -18,7 +18,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
diff --git a/content/docs/zh-CN/next/client-libraries-java/index.html b/content/docs/zh-CN/next/client-libraries-java/index.html
index 36d9235..a974b3e 100644
--- a/content/docs/zh-CN/next/client-libraries-java/index.html
+++ b/content/docs/zh-CN/next/client-libraries-java/index.html
@@ -18,7 +18,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
diff --git a/content/docs/zh-CN/next/client-libraries-python.html b/content/docs/zh-CN/next/client-libraries-python.html
index 28062b8..50e87d8 100644
--- a/content/docs/zh-CN/next/client-libraries-python.html
+++ b/content/docs/zh-CN/next/client-libraries-python.html
@@ -18,7 +18,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
diff --git a/content/docs/zh-CN/next/client-libraries-python/index.html b/content/docs/zh-CN/next/client-libraries-python/index.html
index 28062b8..50e87d8 100644
--- a/content/docs/zh-CN/next/client-libraries-python/index.html
+++ b/content/docs/zh-CN/next/client-libraries-python/index.html
@@ -18,7 +18,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
diff --git a/content/docs/zh-CN/next/client-libraries-websocket.html b/content/docs/zh-CN/next/client-libraries-websocket.html
index df0a231..535f675 100644
--- a/content/docs/zh-CN/next/client-libraries-websocket.html
+++ b/content/docs/zh-CN/next/client-libraries-websocket.html
@@ -18,7 +18,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
diff --git a/content/docs/zh-CN/next/client-libraries-websocket/index.html b/content/docs/zh-CN/next/client-libraries-websocket/index.html
index df0a231..535f675 100644
--- a/content/docs/zh-CN/next/client-libraries-websocket/index.html
+++ b/content/docs/zh-CN/next/client-libraries-websocket/index.html
@@ -18,7 +18,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
diff --git a/content/docs/zh-CN/next/client-libraries.html b/content/docs/zh-CN/next/client-libraries.html
index 458be97..4bf2c2d 100644
--- a/content/docs/zh-CN/next/client-libraries.html
+++ b/content/docs/zh-CN/next/client-libraries.html
@@ -18,7 +18,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
diff --git a/content/docs/zh-CN/next/client-libraries/index.html b/content/docs/zh-CN/next/client-libraries/index.html
index 458be97..4bf2c2d 100644
--- a/content/docs/zh-CN/next/client-libraries/index.html
+++ b/content/docs/zh-CN/next/client-libraries/index.html
@@ -18,7 +18,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
diff --git a/content/docs/zh-CN/next/concepts-architecture-overview.html b/content/docs/zh-CN/next/concepts-architecture-overview.html
index 8637d91..abaeb75 100644
--- a/content/docs/zh-CN/next/concepts-architecture-overview.html
+++ b/content/docs/zh-CN/next/concepts-architecture-overview.html
@@ -18,7 +18,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
@@ -128,7 +128,7 @@
 </ul>
 <p>除了消息数据,<em>cursors</em>也会被持久化入BookKeeper。 Cursors是消费端<a href="/docs/zh-CN/next/reference-terminology#subscription">订阅</a>消费的位置。 BookKeeper让Pulsar可以用一种可扩展的方式存储消费位置。</p>
 <p>目前,Pulsar只支持持久消息存储。这是所有topic名称都是持久不可变的原因。这里有一个例子:</p>
-<pre><code class="hljs css language-http">persistent://my-tenant/my-namespace/my-topic
+<pre><code class="hljs css language-http">persistent://tenant/namespace/topic
 </code></pre>
 <blockquote>
 <p>Pulsar也支持临时消息( (<a href="/docs/zh-CN/next/concepts-messaging#non-persistent-topics">非持久消息</a>) )存储。</p>
diff --git a/content/docs/zh-CN/next/concepts-architecture-overview/index.html b/content/docs/zh-CN/next/concepts-architecture-overview/index.html
index 8637d91..abaeb75 100644
--- a/content/docs/zh-CN/next/concepts-architecture-overview/index.html
+++ b/content/docs/zh-CN/next/concepts-architecture-overview/index.html
@@ -18,7 +18,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
@@ -128,7 +128,7 @@
 </ul>
 <p>除了消息数据,<em>cursors</em>也会被持久化入BookKeeper。 Cursors是消费端<a href="/docs/zh-CN/next/reference-terminology#subscription">订阅</a>消费的位置。 BookKeeper让Pulsar可以用一种可扩展的方式存储消费位置。</p>
 <p>目前,Pulsar只支持持久消息存储。这是所有topic名称都是持久不可变的原因。这里有一个例子:</p>
-<pre><code class="hljs css language-http">persistent://my-tenant/my-namespace/my-topic
+<pre><code class="hljs css language-http">persistent://tenant/namespace/topic
 </code></pre>
 <blockquote>
 <p>Pulsar也支持临时消息( (<a href="/docs/zh-CN/next/concepts-messaging#non-persistent-topics">非持久消息</a>) )存储。</p>
diff --git a/content/docs/zh-CN/next/concepts-authentication.html b/content/docs/zh-CN/next/concepts-authentication.html
index 345ba0f..0b83b39 100644
--- a/content/docs/zh-CN/next/concepts-authentication.html
+++ b/content/docs/zh-CN/next/concepts-authentication.html
@@ -18,7 +18,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
diff --git a/content/docs/zh-CN/next/concepts-authentication/index.html b/content/docs/zh-CN/next/concepts-authentication/index.html
index 345ba0f..0b83b39 100644
--- a/content/docs/zh-CN/next/concepts-authentication/index.html
+++ b/content/docs/zh-CN/next/concepts-authentication/index.html
@@ -18,7 +18,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
diff --git a/content/docs/zh-CN/next/concepts-clients.html b/content/docs/zh-CN/next/concepts-clients.html
index bd256d4..f2d5492 100644
--- a/content/docs/zh-CN/next/concepts-clients.html
+++ b/content/docs/zh-CN/next/concepts-clients.html
@@ -18,7 +18,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
diff --git a/content/docs/zh-CN/next/concepts-clients/index.html b/content/docs/zh-CN/next/concepts-clients/index.html
index bd256d4..f2d5492 100644
--- a/content/docs/zh-CN/next/concepts-clients/index.html
+++ b/content/docs/zh-CN/next/concepts-clients/index.html
@@ -18,7 +18,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
diff --git a/content/docs/zh-CN/next/concepts-messaging.html b/content/docs/zh-CN/next/concepts-messaging.html
index d582f4b..d118076 100644
--- a/content/docs/zh-CN/next/concepts-messaging.html
+++ b/content/docs/zh-CN/next/concepts-messaging.html
@@ -18,7 +18,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
diff --git a/content/docs/zh-CN/next/concepts-messaging/index.html b/content/docs/zh-CN/next/concepts-messaging/index.html
index d582f4b..d118076 100644
--- a/content/docs/zh-CN/next/concepts-messaging/index.html
+++ b/content/docs/zh-CN/next/concepts-messaging/index.html
@@ -18,7 +18,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
diff --git a/content/docs/zh-CN/next/concepts-multi-tenancy.html b/content/docs/zh-CN/next/concepts-multi-tenancy.html
index 497dcaa..ce5447f 100644
--- a/content/docs/zh-CN/next/concepts-multi-tenancy.html
+++ b/content/docs/zh-CN/next/concepts-multi-tenancy.html
@@ -18,7 +18,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
diff --git a/content/docs/zh-CN/next/concepts-multi-tenancy/index.html b/content/docs/zh-CN/next/concepts-multi-tenancy/index.html
index 497dcaa..ce5447f 100644
--- a/content/docs/zh-CN/next/concepts-multi-tenancy/index.html
+++ b/content/docs/zh-CN/next/concepts-multi-tenancy/index.html
@@ -18,7 +18,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
diff --git a/content/docs/zh-CN/next/concepts-overview.html b/content/docs/zh-CN/next/concepts-overview.html
index 0bb2a05..043286d 100644
--- a/content/docs/zh-CN/next/concepts-overview.html
+++ b/content/docs/zh-CN/next/concepts-overview.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="zh-CN"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Pulsar概述 · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar is a multi-tenant, high-performance solution for server-to-server messaging. Pulsar was originally developed by [Yahoo](http://yahoo.github.io/), it is under the stewardship of the [Apache Software  [...]
+<!DOCTYPE html><html lang="zh-CN"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Pulsar概述 · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar 是一个多租户,服务器到服务器消息的高性能解决方案。 Pulsar 最初由 [Yahoo](http://yahoo.github.io/)开发,它目前由 [Apache软件基金会](https://www.apache.org/)管理。"/><meta name="docsearch:version" content="next"/><meta name="docsearch:language [...]
               (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),
               m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
@@ -18,7 +18,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
@@ -74,18 +74,18 @@
                 };
               }
             });
-        </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">Pulsar概述</h1></header><article><div><span><p>Pulsar is a multi-tenant, high-performance solution for server-to-server messaging. Pulsar was originally developed by <a href="http://yahoo.git [...]
-<p>Key features of Pulsar are listed below:</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">Pulsar概述</h1></header><article><div><span><p>Pulsar 是一个多租户,服务器到服务器消息的高性能解决方案。 Pulsar 最初由 <a href="http://yahoo.github.io/">Yahoo</a>开发,它目前由 <a href="https://www.apache.org/">Apache软件基金会</a>管理。</p>
+<p>Pulsar的关键特性如下:</p>
 <ul>
-<li>Native support for multiple clusters in a Pulsar instance, with seamless <a href="/docs/zh-CN/next/administration-geo">geo-replication</a> of messages across clusters.</li>
-<li>Very low publish and end-to-end latency.</li>
-<li>Seamless scalability to over a million topics.</li>
-<li>A simple <a href="/docs/zh-CN/next/concepts-clients">client API</a> with bindings for <a href="/docs/zh-CN/next/client-libraries-java">Java</a>, <a href="/docs/zh-CN/next/client-libraries-go">Go</a>, <a href="/docs/zh-CN/next/client-libraries-python">Python</a> and <a href="/docs/zh-CN/next/client-libraries-cpp">C++</a>.</li>
-<li>Multiple <a href="/docs/zh-CN/next/concepts-messaging#subscription-modes">subscription modes</a> (<a href="/docs/zh-CN/next/concepts-messaging#exclusive">exclusive</a>, <a href="/docs/zh-CN/next/concepts-messaging#shared">shared</a>, and <a href="/docs/zh-CN/next/concepts-messaging#failover">failover</a>) for topics.</li>
-<li>Guaranteed message delivery with <a href="/docs/zh-CN/next/concepts-architecture-overview#persistent-storage">persistent message storage</a> provided by <a href="http://bookkeeper.apache.org/">Apache BookKeeper</a>.</li>
-<li>A serverless light-weight computing framework <a href="/docs/zh-CN/next/functions-overview">Pulsar Functions</a> offers the capability for stream-native data processing.</li>
-<li>A serverless connector framework <a href="/docs/zh-CN/next/io-overview">Pulsar IO</a>, which is built on Pulsar Functions, makes it easier to move data in and out Apache Pulsar.</li>
-<li><a href="/docs/zh-CN/next/concepts-tiered-storage">Tiered Storage</a> offloads data from hot/warm storage to cold/longterm storage (such as S3 and GCS) when the data is aging out.</li>
+<li>Pulsar实例原生支持多集群,能够无缝的<a href="/docs/zh-CN/next/administration-geo">基于地理位置</a> 进行跨集群的备份.</li>
+<li>非常低的消息发布和端到端的延迟.</li>
+<li>无缝的扩展到超过一百万个topic.</li>
+<li>一套简单的<a href="/docs/zh-CN/next/concepts-clients">客户端API</a> ,支持 <a href="/docs/zh-CN/next/client-libraries-java">Java</a>, <a href="/docs/zh-CN/next/client-libraries-python">Python</a>, 和 <a href="/docs/zh-CN/next/client-libraries-cpp">C++</a>.</li>
+<li>Topic支持多种 <a href="/docs/zh-CN/next/concepts-messaging#subscription-modes">订阅模式</a>: <a href="/docs/zh-CN/next/concepts-messaging#exclusive">独占(exclusive)</a>, <a href="/docs/zh-CN/next/concepts-messaging#shared">共享(shared)</a>, and <a href="/docs/zh-CN/next/concepts-messaging#failover">备援(failover)</a></li>
+<li>通过<a href="http://bookkeeper.apache.org/">Apache BookKeeper</a>提供的 <a href="/docs/zh-CN/next/concepts-architecture-overview#persistent-storage">持久化消息存储机制</a> 保证消息的送达.</li>
+<li>一个serverless的轻量级计算框架 <a href="/docs/zh-CN/next/functions-overview">Pulsar Functions</a> 提供了原生的流数据处理</li>
+<li>一个serverless的连接器框架<a href="/docs/zh-CN/next/io-overview">Pulsar IO</a>,构建于 Pulsar Functions之上,能够轻松的将数据从Apache Pulsar中移入和移出</li>
+<li>当数据老化时,<a href="/docs/zh-CN/next/concepts-tiered-storage">分层式存储</a> 将数据从热存储卸载到冷存储中(比如S3、GCS等)</li>
 </ul>
 <h2><a class="anchor" aria-hidden="true" id="内容"></a><a href="#内容" 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-.83.42-1.64 1-2.09V6.25c [...]
 <ul>
diff --git a/content/docs/zh-CN/next/concepts-overview/index.html b/content/docs/zh-CN/next/concepts-overview/index.html
index 0bb2a05..043286d 100644
--- a/content/docs/zh-CN/next/concepts-overview/index.html
+++ b/content/docs/zh-CN/next/concepts-overview/index.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="zh-CN"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Pulsar概述 · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar is a multi-tenant, high-performance solution for server-to-server messaging. Pulsar was originally developed by [Yahoo](http://yahoo.github.io/), it is under the stewardship of the [Apache Software  [...]
+<!DOCTYPE html><html lang="zh-CN"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Pulsar概述 · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar 是一个多租户,服务器到服务器消息的高性能解决方案。 Pulsar 最初由 [Yahoo](http://yahoo.github.io/)开发,它目前由 [Apache软件基金会](https://www.apache.org/)管理。"/><meta name="docsearch:version" content="next"/><meta name="docsearch:language [...]
               (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),
               m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
@@ -18,7 +18,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
@@ -74,18 +74,18 @@
                 };
               }
             });
-        </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">Pulsar概述</h1></header><article><div><span><p>Pulsar is a multi-tenant, high-performance solution for server-to-server messaging. Pulsar was originally developed by <a href="http://yahoo.git [...]
-<p>Key features of Pulsar are listed below:</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">Pulsar概述</h1></header><article><div><span><p>Pulsar 是一个多租户,服务器到服务器消息的高性能解决方案。 Pulsar 最初由 <a href="http://yahoo.github.io/">Yahoo</a>开发,它目前由 <a href="https://www.apache.org/">Apache软件基金会</a>管理。</p>
+<p>Pulsar的关键特性如下:</p>
 <ul>
-<li>Native support for multiple clusters in a Pulsar instance, with seamless <a href="/docs/zh-CN/next/administration-geo">geo-replication</a> of messages across clusters.</li>
-<li>Very low publish and end-to-end latency.</li>
-<li>Seamless scalability to over a million topics.</li>
-<li>A simple <a href="/docs/zh-CN/next/concepts-clients">client API</a> with bindings for <a href="/docs/zh-CN/next/client-libraries-java">Java</a>, <a href="/docs/zh-CN/next/client-libraries-go">Go</a>, <a href="/docs/zh-CN/next/client-libraries-python">Python</a> and <a href="/docs/zh-CN/next/client-libraries-cpp">C++</a>.</li>
-<li>Multiple <a href="/docs/zh-CN/next/concepts-messaging#subscription-modes">subscription modes</a> (<a href="/docs/zh-CN/next/concepts-messaging#exclusive">exclusive</a>, <a href="/docs/zh-CN/next/concepts-messaging#shared">shared</a>, and <a href="/docs/zh-CN/next/concepts-messaging#failover">failover</a>) for topics.</li>
-<li>Guaranteed message delivery with <a href="/docs/zh-CN/next/concepts-architecture-overview#persistent-storage">persistent message storage</a> provided by <a href="http://bookkeeper.apache.org/">Apache BookKeeper</a>.</li>
-<li>A serverless light-weight computing framework <a href="/docs/zh-CN/next/functions-overview">Pulsar Functions</a> offers the capability for stream-native data processing.</li>
-<li>A serverless connector framework <a href="/docs/zh-CN/next/io-overview">Pulsar IO</a>, which is built on Pulsar Functions, makes it easier to move data in and out Apache Pulsar.</li>
-<li><a href="/docs/zh-CN/next/concepts-tiered-storage">Tiered Storage</a> offloads data from hot/warm storage to cold/longterm storage (such as S3 and GCS) when the data is aging out.</li>
+<li>Pulsar实例原生支持多集群,能够无缝的<a href="/docs/zh-CN/next/administration-geo">基于地理位置</a> 进行跨集群的备份.</li>
+<li>非常低的消息发布和端到端的延迟.</li>
+<li>无缝的扩展到超过一百万个topic.</li>
+<li>一套简单的<a href="/docs/zh-CN/next/concepts-clients">客户端API</a> ,支持 <a href="/docs/zh-CN/next/client-libraries-java">Java</a>, <a href="/docs/zh-CN/next/client-libraries-python">Python</a>, 和 <a href="/docs/zh-CN/next/client-libraries-cpp">C++</a>.</li>
+<li>Topic支持多种 <a href="/docs/zh-CN/next/concepts-messaging#subscription-modes">订阅模式</a>: <a href="/docs/zh-CN/next/concepts-messaging#exclusive">独占(exclusive)</a>, <a href="/docs/zh-CN/next/concepts-messaging#shared">共享(shared)</a>, and <a href="/docs/zh-CN/next/concepts-messaging#failover">备援(failover)</a></li>
+<li>通过<a href="http://bookkeeper.apache.org/">Apache BookKeeper</a>提供的 <a href="/docs/zh-CN/next/concepts-architecture-overview#persistent-storage">持久化消息存储机制</a> 保证消息的送达.</li>
+<li>一个serverless的轻量级计算框架 <a href="/docs/zh-CN/next/functions-overview">Pulsar Functions</a> 提供了原生的流数据处理</li>
+<li>一个serverless的连接器框架<a href="/docs/zh-CN/next/io-overview">Pulsar IO</a>,构建于 Pulsar Functions之上,能够轻松的将数据从Apache Pulsar中移入和移出</li>
+<li>当数据老化时,<a href="/docs/zh-CN/next/concepts-tiered-storage">分层式存储</a> 将数据从热存储卸载到冷存储中(比如S3、GCS等)</li>
 </ul>
 <h2><a class="anchor" aria-hidden="true" id="内容"></a><a href="#内容" 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-.83.42-1.64 1-2.09V6.25c [...]
 <ul>
diff --git a/content/docs/zh-CN/next/concepts-replication.html b/content/docs/zh-CN/next/concepts-replication.html
index dc971a9..4598265 100644
--- a/content/docs/zh-CN/next/concepts-replication.html
+++ b/content/docs/zh-CN/next/concepts-replication.html
@@ -18,7 +18,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
diff --git a/content/docs/zh-CN/next/concepts-replication/index.html b/content/docs/zh-CN/next/concepts-replication/index.html
index dc971a9..4598265 100644
--- a/content/docs/zh-CN/next/concepts-replication/index.html
+++ b/content/docs/zh-CN/next/concepts-replication/index.html
@@ -18,7 +18,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
diff --git a/content/docs/zh-CN/next/concepts-tiered-storage.html b/content/docs/zh-CN/next/concepts-tiered-storage.html
index 510923f..2cc439b 100644
--- a/content/docs/zh-CN/next/concepts-tiered-storage.html
+++ b/content/docs/zh-CN/next/concepts-tiered-storage.html
@@ -18,7 +18,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
diff --git a/content/docs/zh-CN/next/concepts-tiered-storage/index.html b/content/docs/zh-CN/next/concepts-tiered-storage/index.html
index 510923f..2cc439b 100644
--- a/content/docs/zh-CN/next/concepts-tiered-storage/index.html
+++ b/content/docs/zh-CN/next/concepts-tiered-storage/index.html
@@ -18,7 +18,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
diff --git a/content/docs/zh-CN/next/concepts-topic-compaction.html b/content/docs/zh-CN/next/concepts-topic-compaction.html
index 181faed..8dbb096 100644
--- a/content/docs/zh-CN/next/concepts-topic-compaction.html
+++ b/content/docs/zh-CN/next/concepts-topic-compaction.html
@@ -18,7 +18,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
diff --git a/content/docs/zh-CN/next/concepts-topic-compaction/index.html b/content/docs/zh-CN/next/concepts-topic-compaction/index.html
index 181faed..8dbb096 100644
--- a/content/docs/zh-CN/next/concepts-topic-compaction/index.html
+++ b/content/docs/zh-CN/next/concepts-topic-compaction/index.html
@@ -18,7 +18,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
diff --git a/content/docs/zh-CN/next/cookbooks-bookkeepermetadata.html b/content/docs/zh-CN/next/cookbooks-bookkeepermetadata.html
index 6b84a0f..c78e849 100644
--- a/content/docs/zh-CN/next/cookbooks-bookkeepermetadata.html
+++ b/content/docs/zh-CN/next/cookbooks-bookkeepermetadata.html
@@ -18,7 +18,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
diff --git a/content/docs/zh-CN/next/cookbooks-bookkeepermetadata/index.html b/content/docs/zh-CN/next/cookbooks-bookkeepermetadata/index.html
index 6b84a0f..c78e849 100644
--- a/content/docs/zh-CN/next/cookbooks-bookkeepermetadata/index.html
+++ b/content/docs/zh-CN/next/cookbooks-bookkeepermetadata/index.html
@@ -18,7 +18,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
diff --git a/content/docs/zh-CN/next/cookbooks-compaction.html b/content/docs/zh-CN/next/cookbooks-compaction.html
index 1b17224..7a02fbf 100644
--- a/content/docs/zh-CN/next/cookbooks-compaction.html
+++ b/content/docs/zh-CN/next/cookbooks-compaction.html
@@ -18,7 +18,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
diff --git a/content/docs/zh-CN/next/cookbooks-compaction/index.html b/content/docs/zh-CN/next/cookbooks-compaction/index.html
index 1b17224..7a02fbf 100644
--- a/content/docs/zh-CN/next/cookbooks-compaction/index.html
+++ b/content/docs/zh-CN/next/cookbooks-compaction/index.html
@@ -18,7 +18,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
diff --git a/content/docs/zh-CN/next/cookbooks-deduplication.html b/content/docs/zh-CN/next/cookbooks-deduplication.html
index c9472d7..4f3b04b 100644
--- a/content/docs/zh-CN/next/cookbooks-deduplication.html
+++ b/content/docs/zh-CN/next/cookbooks-deduplication.html
@@ -18,7 +18,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
diff --git a/content/docs/zh-CN/next/cookbooks-deduplication/index.html b/content/docs/zh-CN/next/cookbooks-deduplication/index.html
index c9472d7..4f3b04b 100644
--- a/content/docs/zh-CN/next/cookbooks-deduplication/index.html
+++ b/content/docs/zh-CN/next/cookbooks-deduplication/index.html
@@ -18,7 +18,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
diff --git a/content/docs/zh-CN/next/cookbooks-encryption.html b/content/docs/zh-CN/next/cookbooks-encryption.html
index a1dbd18..a08fd21 100644
--- a/content/docs/zh-CN/next/cookbooks-encryption.html
+++ b/content/docs/zh-CN/next/cookbooks-encryption.html
@@ -18,7 +18,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
diff --git a/content/docs/zh-CN/next/cookbooks-encryption/index.html b/content/docs/zh-CN/next/cookbooks-encryption/index.html
index a1dbd18..a08fd21 100644
--- a/content/docs/zh-CN/next/cookbooks-encryption/index.html
+++ b/content/docs/zh-CN/next/cookbooks-encryption/index.html
@@ -18,7 +18,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
diff --git a/content/docs/zh-CN/next/cookbooks-message-queue.html b/content/docs/zh-CN/next/cookbooks-message-queue.html
index 41e9cf8..ebf03ef 100644
--- a/content/docs/zh-CN/next/cookbooks-message-queue.html
+++ b/content/docs/zh-CN/next/cookbooks-message-queue.html
@@ -18,7 +18,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
diff --git a/content/docs/zh-CN/next/cookbooks-message-queue/index.html b/content/docs/zh-CN/next/cookbooks-message-queue/index.html
index 41e9cf8..ebf03ef 100644
--- a/content/docs/zh-CN/next/cookbooks-message-queue/index.html
+++ b/content/docs/zh-CN/next/cookbooks-message-queue/index.html
@@ -18,7 +18,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
diff --git a/content/docs/zh-CN/next/cookbooks-non-persistent.html b/content/docs/zh-CN/next/cookbooks-non-persistent.html
index b294d98..f27a47f 100644
--- a/content/docs/zh-CN/next/cookbooks-non-persistent.html
+++ b/content/docs/zh-CN/next/cookbooks-non-persistent.html
@@ -18,7 +18,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
diff --git a/content/docs/zh-CN/next/cookbooks-non-persistent/index.html b/content/docs/zh-CN/next/cookbooks-non-persistent/index.html
index b294d98..f27a47f 100644
--- a/content/docs/zh-CN/next/cookbooks-non-persistent/index.html
+++ b/content/docs/zh-CN/next/cookbooks-non-persistent/index.html
@@ -18,7 +18,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
diff --git a/content/docs/zh-CN/next/cookbooks-partitioned.html b/content/docs/zh-CN/next/cookbooks-partitioned.html
index ba3c6b1..01e041b 100644
--- a/content/docs/zh-CN/next/cookbooks-partitioned.html
+++ b/content/docs/zh-CN/next/cookbooks-partitioned.html
@@ -18,7 +18,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
diff --git a/content/docs/zh-CN/next/cookbooks-partitioned/index.html b/content/docs/zh-CN/next/cookbooks-partitioned/index.html
index ba3c6b1..01e041b 100644
--- a/content/docs/zh-CN/next/cookbooks-partitioned/index.html
+++ b/content/docs/zh-CN/next/cookbooks-partitioned/index.html
@@ -18,7 +18,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
diff --git a/content/docs/zh-CN/next/cookbooks-retention-expiry.html b/content/docs/zh-CN/next/cookbooks-retention-expiry.html
index f446356..d3bc615 100644
--- a/content/docs/zh-CN/next/cookbooks-retention-expiry.html
+++ b/content/docs/zh-CN/next/cookbooks-retention-expiry.html
@@ -18,7 +18,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
diff --git a/content/docs/zh-CN/next/cookbooks-retention-expiry/index.html b/content/docs/zh-CN/next/cookbooks-retention-expiry/index.html
index f446356..d3bc615 100644
--- a/content/docs/zh-CN/next/cookbooks-retention-expiry/index.html
+++ b/content/docs/zh-CN/next/cookbooks-retention-expiry/index.html
@@ -18,7 +18,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
diff --git a/content/docs/zh-CN/next/cookbooks-tiered-storage.html b/content/docs/zh-CN/next/cookbooks-tiered-storage.html
index feee0c4..6de5947 100644
--- a/content/docs/zh-CN/next/cookbooks-tiered-storage.html
+++ b/content/docs/zh-CN/next/cookbooks-tiered-storage.html
@@ -18,7 +18,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
diff --git a/content/docs/zh-CN/next/cookbooks-tiered-storage/index.html b/content/docs/zh-CN/next/cookbooks-tiered-storage/index.html
index feee0c4..6de5947 100644
--- a/content/docs/zh-CN/next/cookbooks-tiered-storage/index.html
+++ b/content/docs/zh-CN/next/cookbooks-tiered-storage/index.html
@@ -18,7 +18,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
diff --git a/content/docs/zh-CN/next/deploy-aws.html b/content/docs/zh-CN/next/deploy-aws.html
index d1b006e..150711a 100644
--- a/content/docs/zh-CN/next/deploy-aws.html
+++ b/content/docs/zh-CN/next/deploy-aws.html
@@ -18,7 +18,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
diff --git a/content/docs/zh-CN/next/deploy-aws/index.html b/content/docs/zh-CN/next/deploy-aws/index.html
index d1b006e..150711a 100644
--- a/content/docs/zh-CN/next/deploy-aws/index.html
+++ b/content/docs/zh-CN/next/deploy-aws/index.html
@@ -18,7 +18,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
diff --git a/content/docs/zh-CN/next/deploy-bare-metal-multi-cluster.html b/content/docs/zh-CN/next/deploy-bare-metal-multi-cluster.html
index 6facb5c..ed98bc9 100644
--- a/content/docs/zh-CN/next/deploy-bare-metal-multi-cluster.html
+++ b/content/docs/zh-CN/next/deploy-bare-metal-multi-cluster.html
@@ -18,7 +18,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
diff --git a/content/docs/zh-CN/next/deploy-bare-metal-multi-cluster/index.html b/content/docs/zh-CN/next/deploy-bare-metal-multi-cluster/index.html
index 6facb5c..ed98bc9 100644
--- a/content/docs/zh-CN/next/deploy-bare-metal-multi-cluster/index.html
+++ b/content/docs/zh-CN/next/deploy-bare-metal-multi-cluster/index.html
@@ -18,7 +18,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
diff --git a/content/docs/zh-CN/next/deploy-bare-metal.html b/content/docs/zh-CN/next/deploy-bare-metal.html
index 230e3e1..47b65f3 100644
--- a/content/docs/zh-CN/next/deploy-bare-metal.html
+++ b/content/docs/zh-CN/next/deploy-bare-metal.html
@@ -18,7 +18,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
diff --git a/content/docs/zh-CN/next/deploy-bare-metal/index.html b/content/docs/zh-CN/next/deploy-bare-metal/index.html
index 230e3e1..47b65f3 100644
--- a/content/docs/zh-CN/next/deploy-bare-metal/index.html
+++ b/content/docs/zh-CN/next/deploy-bare-metal/index.html
@@ -18,7 +18,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
diff --git a/content/docs/zh-CN/next/deploy-dcos.html b/content/docs/zh-CN/next/deploy-dcos.html
index 08f537e..9dfc451 100644
--- a/content/docs/zh-CN/next/deploy-dcos.html
+++ b/content/docs/zh-CN/next/deploy-dcos.html
@@ -18,7 +18,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
diff --git a/content/docs/zh-CN/next/deploy-dcos/index.html b/content/docs/zh-CN/next/deploy-dcos/index.html
index 08f537e..9dfc451 100644
--- a/content/docs/zh-CN/next/deploy-dcos/index.html
+++ b/content/docs/zh-CN/next/deploy-dcos/index.html
@@ -18,7 +18,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
diff --git a/content/docs/zh-CN/next/deploy-kubernetes.html b/content/docs/zh-CN/next/deploy-kubernetes.html
index 30e2ac1..882957a 100644
--- a/content/docs/zh-CN/next/deploy-kubernetes.html
+++ b/content/docs/zh-CN/next/deploy-kubernetes.html
@@ -18,7 +18,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
diff --git a/content/docs/zh-CN/next/deploy-kubernetes/index.html b/content/docs/zh-CN/next/deploy-kubernetes/index.html
index 30e2ac1..882957a 100644
--- a/content/docs/zh-CN/next/deploy-kubernetes/index.html
+++ b/content/docs/zh-CN/next/deploy-kubernetes/index.html
@@ -18,7 +18,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
diff --git a/content/docs/zh-CN/next/deploy-monitoring.html b/content/docs/zh-CN/next/deploy-monitoring.html
index 7678696..22cdfc8 100644
--- a/content/docs/zh-CN/next/deploy-monitoring.html
+++ b/content/docs/zh-CN/next/deploy-monitoring.html
@@ -18,7 +18,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
diff --git a/content/docs/zh-CN/next/deploy-monitoring/index.html b/content/docs/zh-CN/next/deploy-monitoring/index.html
index 7678696..22cdfc8 100644
--- a/content/docs/zh-CN/next/deploy-monitoring/index.html
+++ b/content/docs/zh-CN/next/deploy-monitoring/index.html
@@ -18,7 +18,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
diff --git a/content/docs/zh-CN/next/develop-binary-protocol.html b/content/docs/zh-CN/next/develop-binary-protocol.html
index 86ff7dd..47dc326 100644
--- a/content/docs/zh-CN/next/develop-binary-protocol.html
+++ b/content/docs/zh-CN/next/develop-binary-protocol.html
@@ -18,7 +18,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
diff --git a/content/docs/zh-CN/next/develop-binary-protocol/index.html b/content/docs/zh-CN/next/develop-binary-protocol/index.html
index 86ff7dd..47dc326 100644
--- a/content/docs/zh-CN/next/develop-binary-protocol/index.html
+++ b/content/docs/zh-CN/next/develop-binary-protocol/index.html
@@ -18,7 +18,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
diff --git a/content/docs/zh-CN/next/develop-cpp.html b/content/docs/zh-CN/next/develop-cpp.html
index 6e24154..8668e2a 100644
--- a/content/docs/zh-CN/next/develop-cpp.html
+++ b/content/docs/zh-CN/next/develop-cpp.html
@@ -18,7 +18,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
diff --git a/content/docs/zh-CN/next/develop-cpp/index.html b/content/docs/zh-CN/next/develop-cpp/index.html
index 6e24154..8668e2a 100644
--- a/content/docs/zh-CN/next/develop-cpp/index.html
+++ b/content/docs/zh-CN/next/develop-cpp/index.html
@@ -18,7 +18,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
diff --git a/content/docs/zh-CN/next/develop-load-manager.html b/content/docs/zh-CN/next/develop-load-manager.html
index dab6efc..35c4068 100644
--- a/content/docs/zh-CN/next/develop-load-manager.html
+++ b/content/docs/zh-CN/next/develop-load-manager.html
@@ -18,7 +18,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
diff --git a/content/docs/zh-CN/next/develop-load-manager/index.html b/content/docs/zh-CN/next/develop-load-manager/index.html
index dab6efc..35c4068 100644
--- a/content/docs/zh-CN/next/develop-load-manager/index.html
+++ b/content/docs/zh-CN/next/develop-load-manager/index.html
@@ -18,7 +18,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
diff --git a/content/docs/zh-CN/next/develop-tools.html b/content/docs/zh-CN/next/develop-tools.html
index 5f4229a..9f83221 100644
--- a/content/docs/zh-CN/next/develop-tools.html
+++ b/content/docs/zh-CN/next/develop-tools.html
@@ -18,7 +18,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
diff --git a/content/docs/zh-CN/next/develop-tools/index.html b/content/docs/zh-CN/next/develop-tools/index.html
index 5f4229a..9f83221 100644
--- a/content/docs/zh-CN/next/develop-tools/index.html
+++ b/content/docs/zh-CN/next/develop-tools/index.html
@@ -18,7 +18,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
diff --git a/content/docs/zh-CN/next/functions-api.html b/content/docs/zh-CN/next/functions-api.html
index 8eba3ce..eda6042 100644
--- a/content/docs/zh-CN/next/functions-api.html
+++ b/content/docs/zh-CN/next/functions-api.html
@@ -18,7 +18,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
diff --git a/content/docs/zh-CN/next/functions-api/index.html b/content/docs/zh-CN/next/functions-api/index.html
index 8eba3ce..eda6042 100644
--- a/content/docs/zh-CN/next/functions-api/index.html
+++ b/content/docs/zh-CN/next/functions-api/index.html
@@ -18,7 +18,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
diff --git a/content/docs/zh-CN/next/functions-cli.html b/content/docs/zh-CN/next/functions-cli.html
index ea00b49..490e790 100644
--- a/content/docs/zh-CN/next/functions-cli.html
+++ b/content/docs/zh-CN/next/functions-cli.html
@@ -18,7 +18,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
diff --git a/content/docs/zh-CN/next/functions-cli/index.html b/content/docs/zh-CN/next/functions-cli/index.html
index ea00b49..490e790 100644
--- a/content/docs/zh-CN/next/functions-cli/index.html
+++ b/content/docs/zh-CN/next/functions-cli/index.html
@@ -18,7 +18,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
diff --git a/content/docs/zh-CN/next/functions-debug.html b/content/docs/zh-CN/next/functions-debug.html
index 71de5a9..bda4a99 100644
--- a/content/docs/zh-CN/next/functions-debug.html
+++ b/content/docs/zh-CN/next/functions-debug.html
@@ -18,7 +18,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
diff --git a/content/docs/zh-CN/next/functions-debug/index.html b/content/docs/zh-CN/next/functions-debug/index.html
index 71de5a9..bda4a99 100644
--- a/content/docs/zh-CN/next/functions-debug/index.html
+++ b/content/docs/zh-CN/next/functions-debug/index.html
@@ -18,7 +18,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
diff --git a/content/docs/zh-CN/next/functions-debugging.html b/content/docs/zh-CN/next/functions-debugging.html
index 1b5aa8c..e306ca9 100644
--- a/content/docs/zh-CN/next/functions-debugging.html
+++ b/content/docs/zh-CN/next/functions-debugging.html
@@ -18,7 +18,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
diff --git a/content/docs/zh-CN/next/functions-debugging/index.html b/content/docs/zh-CN/next/functions-debugging/index.html
index 1b5aa8c..e306ca9 100644
--- a/content/docs/zh-CN/next/functions-debugging/index.html
+++ b/content/docs/zh-CN/next/functions-debugging/index.html
@@ -18,7 +18,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
diff --git a/content/docs/zh-CN/next/functions-deploy.html b/content/docs/zh-CN/next/functions-deploy.html
index 8965c8d..67b46a9 100644
--- a/content/docs/zh-CN/next/functions-deploy.html
+++ b/content/docs/zh-CN/next/functions-deploy.html
@@ -18,7 +18,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
diff --git a/content/docs/zh-CN/next/functions-deploy/index.html b/content/docs/zh-CN/next/functions-deploy/index.html
index 8965c8d..67b46a9 100644
--- a/content/docs/zh-CN/next/functions-deploy/index.html
+++ b/content/docs/zh-CN/next/functions-deploy/index.html
@@ -18,7 +18,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
diff --git a/content/docs/zh-CN/next/functions-deploying.html b/content/docs/zh-CN/next/functions-deploying.html
index e17dc68..b4b5569 100644
--- a/content/docs/zh-CN/next/functions-deploying.html
+++ b/content/docs/zh-CN/next/functions-deploying.html
@@ -18,7 +18,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
diff --git a/content/docs/zh-CN/next/functions-deploying/index.html b/content/docs/zh-CN/next/functions-deploying/index.html
index e17dc68..b4b5569 100644
--- a/content/docs/zh-CN/next/functions-deploying/index.html
+++ b/content/docs/zh-CN/next/functions-deploying/index.html
@@ -18,7 +18,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
diff --git a/content/docs/zh-CN/next/functions-develop.html b/content/docs/zh-CN/next/functions-develop.html
index 7f0150d..a70c701 100644
--- a/content/docs/zh-CN/next/functions-develop.html
+++ b/content/docs/zh-CN/next/functions-develop.html
@@ -18,7 +18,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
diff --git a/content/docs/zh-CN/next/functions-develop/index.html b/content/docs/zh-CN/next/functions-develop/index.html
index 7f0150d..a70c701 100644
--- a/content/docs/zh-CN/next/functions-develop/index.html
+++ b/content/docs/zh-CN/next/functions-develop/index.html
@@ -18,7 +18,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
diff --git a/content/docs/zh-CN/next/functions-guarantees.html b/content/docs/zh-CN/next/functions-guarantees.html
index 172cb7a..83e901b 100644
--- a/content/docs/zh-CN/next/functions-guarantees.html
+++ b/content/docs/zh-CN/next/functions-guarantees.html
@@ -18,7 +18,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
diff --git a/content/docs/zh-CN/next/functions-guarantees/index.html b/content/docs/zh-CN/next/functions-guarantees/index.html
index 172cb7a..83e901b 100644
--- a/content/docs/zh-CN/next/functions-guarantees/index.html
+++ b/content/docs/zh-CN/next/functions-guarantees/index.html
@@ -18,7 +18,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
diff --git a/content/docs/zh-CN/next/functions-metrics.html b/content/docs/zh-CN/next/functions-metrics.html
index 28a58e0..a20972a 100644
--- a/content/docs/zh-CN/next/functions-metrics.html
+++ b/content/docs/zh-CN/next/functions-metrics.html
@@ -18,7 +18,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
diff --git a/content/docs/zh-CN/next/functions-metrics/index.html b/content/docs/zh-CN/next/functions-metrics/index.html
index 28a58e0..a20972a 100644
--- a/content/docs/zh-CN/next/functions-metrics/index.html
+++ b/content/docs/zh-CN/next/functions-metrics/index.html
@@ -18,7 +18,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
diff --git a/content/docs/zh-CN/next/functions-overview-new.html b/content/docs/zh-CN/next/functions-overview-new.html
index ec57f17..f17e72b 100644
--- a/content/docs/zh-CN/next/functions-overview-new.html
+++ b/content/docs/zh-CN/next/functions-overview-new.html
@@ -18,7 +18,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
diff --git a/content/docs/zh-CN/next/functions-overview-new/index.html b/content/docs/zh-CN/next/functions-overview-new/index.html
index ec57f17..f17e72b 100644
--- a/content/docs/zh-CN/next/functions-overview-new/index.html
+++ b/content/docs/zh-CN/next/functions-overview-new/index.html
@@ -18,7 +18,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
diff --git a/content/docs/zh-CN/next/functions-overview.html b/content/docs/zh-CN/next/functions-overview.html
index a3093d7..cbb9cc4 100644
--- a/content/docs/zh-CN/next/functions-overview.html
+++ b/content/docs/zh-CN/next/functions-overview.html
@@ -18,7 +18,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
diff --git a/content/docs/zh-CN/next/functions-overview/index.html b/content/docs/zh-CN/next/functions-overview/index.html
index a3093d7..cbb9cc4 100644
--- a/content/docs/zh-CN/next/functions-overview/index.html
+++ b/content/docs/zh-CN/next/functions-overview/index.html
@@ -18,7 +18,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
diff --git a/content/docs/zh-CN/next/functions-quickstart.html b/content/docs/zh-CN/next/functions-quickstart.html
index c21324f..feaf7be 100644
--- a/content/docs/zh-CN/next/functions-quickstart.html
+++ b/content/docs/zh-CN/next/functions-quickstart.html
@@ -18,7 +18,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
diff --git a/content/docs/zh-CN/next/functions-quickstart/index.html b/content/docs/zh-CN/next/functions-quickstart/index.html
index c21324f..feaf7be 100644
--- a/content/docs/zh-CN/next/functions-quickstart/index.html
+++ b/content/docs/zh-CN/next/functions-quickstart/index.html
@@ -18,7 +18,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
diff --git a/content/docs/zh-CN/next/functions-runtime.html b/content/docs/zh-CN/next/functions-runtime.html
index 834636a..a44158d 100644
--- a/content/docs/zh-CN/next/functions-runtime.html
+++ b/content/docs/zh-CN/next/functions-runtime.html
@@ -18,7 +18,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
diff --git a/content/docs/zh-CN/next/functions-runtime/index.html b/content/docs/zh-CN/next/functions-runtime/index.html
index 834636a..a44158d 100644
--- a/content/docs/zh-CN/next/functions-runtime/index.html
+++ b/content/docs/zh-CN/next/functions-runtime/index.html
@@ -18,7 +18,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
diff --git a/content/docs/zh-CN/next/functions-state.html b/content/docs/zh-CN/next/functions-state.html
index 31edc8d..2ced3c8 100644
--- a/content/docs/zh-CN/next/functions-state.html
+++ b/content/docs/zh-CN/next/functions-state.html
@@ -18,7 +18,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
diff --git a/content/docs/zh-CN/next/functions-state/index.html b/content/docs/zh-CN/next/functions-state/index.html
index 31edc8d..2ced3c8 100644
--- a/content/docs/zh-CN/next/functions-state/index.html
+++ b/content/docs/zh-CN/next/functions-state/index.html
@@ -18,7 +18,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
diff --git a/content/docs/zh-CN/next/functions-worker.html b/content/docs/zh-CN/next/functions-worker.html
index d6f11c3..57fdc80 100644
--- a/content/docs/zh-CN/next/functions-worker.html
+++ b/content/docs/zh-CN/next/functions-worker.html
@@ -18,7 +18,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
diff --git a/content/docs/zh-CN/next/functions-worker/index.html b/content/docs/zh-CN/next/functions-worker/index.html
index d6f11c3..57fdc80 100644
--- a/content/docs/zh-CN/next/functions-worker/index.html
+++ b/content/docs/zh-CN/next/functions-worker/index.html
@@ -18,7 +18,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
diff --git a/content/docs/zh-CN/next/io-cdc.html b/content/docs/zh-CN/next/io-cdc.html
index cdea2dc..4099818 100644
--- a/content/docs/zh-CN/next/io-cdc.html
+++ b/content/docs/zh-CN/next/io-cdc.html
@@ -18,7 +18,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
diff --git a/content/docs/zh-CN/next/io-cdc/index.html b/content/docs/zh-CN/next/io-cdc/index.html
index cdea2dc..4099818 100644
--- a/content/docs/zh-CN/next/io-cdc/index.html
+++ b/content/docs/zh-CN/next/io-cdc/index.html
@@ -18,7 +18,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
diff --git a/content/docs/zh-CN/next/io-connectors.html b/content/docs/zh-CN/next/io-connectors.html
index 57dbd6f..a519ea3 100644
--- a/content/docs/zh-CN/next/io-connectors.html
+++ b/content/docs/zh-CN/next/io-connectors.html
@@ -18,7 +18,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
diff --git a/content/docs/zh-CN/next/io-connectors/index.html b/content/docs/zh-CN/next/io-connectors/index.html
index 57dbd6f..a519ea3 100644
--- a/content/docs/zh-CN/next/io-connectors/index.html
+++ b/content/docs/zh-CN/next/io-connectors/index.html
@@ -18,7 +18,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
diff --git a/content/docs/zh-CN/next/io-develop.html b/content/docs/zh-CN/next/io-develop.html
index 489da47..48ba792 100644
--- a/content/docs/zh-CN/next/io-develop.html
+++ b/content/docs/zh-CN/next/io-develop.html
@@ -18,7 +18,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
diff --git a/content/docs/zh-CN/next/io-develop/index.html b/content/docs/zh-CN/next/io-develop/index.html
index 489da47..48ba792 100644
--- a/content/docs/zh-CN/next/io-develop/index.html
+++ b/content/docs/zh-CN/next/io-develop/index.html
@@ -18,7 +18,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
diff --git a/content/docs/zh-CN/next/io-managing.html b/content/docs/zh-CN/next/io-managing.html
index 44f6f0f..b11e46a 100644
--- a/content/docs/zh-CN/next/io-managing.html
+++ b/content/docs/zh-CN/next/io-managing.html
@@ -18,7 +18,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
diff --git a/content/docs/zh-CN/next/io-managing/index.html b/content/docs/zh-CN/next/io-managing/index.html
index 44f6f0f..b11e46a 100644
--- a/content/docs/zh-CN/next/io-managing/index.html
+++ b/content/docs/zh-CN/next/io-managing/index.html
@@ -18,7 +18,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
diff --git a/content/docs/zh-CN/next/io-overview.html b/content/docs/zh-CN/next/io-overview.html
index 69516a9..b02daac 100644
--- a/content/docs/zh-CN/next/io-overview.html
+++ b/content/docs/zh-CN/next/io-overview.html
@@ -18,7 +18,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
diff --git a/content/docs/zh-CN/next/io-overview/index.html b/content/docs/zh-CN/next/io-overview/index.html
index 69516a9..b02daac 100644
--- a/content/docs/zh-CN/next/io-overview/index.html
+++ b/content/docs/zh-CN/next/io-overview/index.html
@@ -18,7 +18,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
diff --git a/content/docs/zh-CN/next/io-quickstart.html b/content/docs/zh-CN/next/io-quickstart.html
index a9f3b83..d7fc71a 100644
--- a/content/docs/zh-CN/next/io-quickstart.html
+++ b/content/docs/zh-CN/next/io-quickstart.html
@@ -18,7 +18,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
diff --git a/content/docs/zh-CN/next/io-quickstart/index.html b/content/docs/zh-CN/next/io-quickstart/index.html
index a9f3b83..d7fc71a 100644
--- a/content/docs/zh-CN/next/io-quickstart/index.html
+++ b/content/docs/zh-CN/next/io-quickstart/index.html
@@ -18,7 +18,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
diff --git a/content/docs/zh-CN/next/pulsar-2.0.html b/content/docs/zh-CN/next/pulsar-2.0.html
index 137bb55..6944b59 100644
--- a/content/docs/zh-CN/next/pulsar-2.0.html
+++ b/content/docs/zh-CN/next/pulsar-2.0.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="zh-CN"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Pulsar 2.0 · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar 2.0 is a major new release for Pulsar that brings some bold changes to the platform, including [simplified topic names](#topic-names), the addition of the [Pulsar Functions](/docs/zh-CN/next/funct [...]
+<!DOCTYPE html><html lang="zh-CN"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Pulsar-2.0 · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar 2.0是Pulsar的新发布版本,为平台带来了海量的变化,包括[简化的Topic名字](#topic-names),以及[Pulsar Functions](/docs/zh-CN/next/functions-overview)特性,同时还有一些术语的变化等等。"/><meta name="docsearch:version" content="next"/><meta name="do [...]
               (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),
               m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
@@ -18,7 +18,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
@@ -74,42 +74,42 @@
                 };
               }
             });
-        </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">Pulsar 2.0</h1></header><article><div><span><p>Pulsar 2.0 is a major new release for Pulsar that brings some bold changes to the platform, including <a href="#topic-names">simplified topic  [...]
-<h2><a class="anchor" aria-hidden="true" id="new-features-in-pulsar-20"></a><a href="#new-features-in-pulsar-20" 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 [...]
+        </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">Pulsar-2.0</h1></header><article><div><span><p>Pulsar 2.0是Pulsar的新发布版本,为平台带来了海量的变化,包括<a href="#topic-names">简化的Topic名字</a>,以及<a href="/docs/zh-CN/next/functions-overview">Pulsar Functions</ [...]
+<h2><a class="anchor" aria-hidden="true" id="pulsar-20-新特性"></a><a href="#pulsar-20-新特性" 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 [...]
 <table>
 <thead>
-<tr><th style="text-align:left">Feature</th><th style="text-align:left">说明:</th></tr>
+<tr><th style="text-align:left">特性</th><th style="text-align:left">说明:</th></tr>
 </thead>
 <tbody>
-<tr><td style="text-align:left"><a href="/docs/zh-CN/next/functions-overview">Pulsar Functions</a></td><td style="text-align:left">A lightweight compute option for Pulsar</td></tr>
+<tr><td style="text-align:left"><a href="/docs/zh-CN/next/functions-overview">Pulsar Functions</a></td><td style="text-align:left">Pulsar的一个轻量级的运算功能</td></tr>
 </tbody>
 </table>
-<h2><a class="anchor" aria-hidden="true" id="major-changes"></a><a href="#major-changes" 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>There are a few major changes that you should be aware of, as they may significantly impact your day-to-day usage.</p>
-<h3><a class="anchor" aria-hidden="true" id="properties-versus-tenants"></a><a href="#properties-versus-tenants" 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 [...]
-<p>Previously, Pulsar had a concept of properties. A property is essentially the exact same thing as a tenant, so the &quot;property&quot; terminology has been removed in version 2.0. The <a href="/docs/zh-CN/next/pulsar-admin#pulsar-admin"><code>pulsar-admin properties</code></a> command-line interface, for example, has been replaced with the <a href="/docs/zh-CN/next/pulsar-admin#pulsar-admin-tenants"><code>pulsar-admin tenants</code></a> interface. In some cases the properties termino [...]
-<h3><a class="anchor" aria-hidden="true" id="topic-names"></a><a href="#topic-names" 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-.83.42 [...]
-<p>Prior to version 2.0, <em>all</em> Pulsar topics had the following form:</p>
+<h2><a class="anchor" aria-hidden="true" id="主要变化"></a><a href="#主要变化" 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-.83.42-1.64 1-2.09V6 [...]
+<p>你需要注意一些主要变化,这些会对你日常使用产生影响</p>
+<h3><a class="anchor" aria-hidden="true" id="properties-vs-tenants"></a><a href="#properties-vs-tenants" 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 [...]
+<p>此前,Pulsar有一个properties(属性)的概念。 一个property和tenant本质上是一个东西,所以property这个术语从2.0版本开始就取消了。例如,<a href="/docs/zh-CN/next/pulsar-admin#pulsar-admin"><code>pulsar-admin properties</code></a>命令行接口被替换成了<a href="/docs/zh-CN/next/pulsar-admin#pulsar-admin-tenants"><code>pulsar-admin tenants</code></a> 在某些情况下,properties术语仍然有效,但是未来版本也会慢慢弃用。</p>
+<h3><a class="anchor" aria-hidden="true" id="topic名字"></a><a href="#topic名字" 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-.83.42-1.64 1- [...]
+<p>在2.0版本之前,<em>所有</em>Pulsar topic有如下形态</p>
 <pre><code class="hljs css language-http">{persistent|non-persistent}://property/cluster/namespace/topic
 </code></pre>
-<p>Two important changes have been made in Pulsar 2.0:</p>
+<p>2.0中有两个重要改变:</p>
 <ul>
-<li>There is no longer a <a href="#no-cluster">cluster component</a></li>
-<li>Properties have been <a href="#tenants">renamed to tenants</a></li>
-<li>You can use a <a href="#flexible-topic-naming">flexible</a> naming system to shorten many topic names</li>
+<li>不再有 <a href="#no-cluster">cluster component集群组件</a></li>
+<li>Properties被<a href="#tenants">改名为 tenants</a></li>
+<li>你可以使用<a href="#flexible-topic-naming">灵活的</a>命名系统来缩短Topic名字。</li>
 </ul>
-<h4><a class="anchor" aria-hidden="true" id="no-cluster-component"></a><a href="#no-cluster-component" 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 [...]
-<p>The cluster component has been removed from topic names. Thus, all topic names now have the following form:</p>
+<h4><a class="anchor" aria-hidden="true" id="没有cluster-component集群组件"></a><a href="#没有cluster-component集群组件" 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 [...]
+<p>集群组件cluster component从Topic名字中去掉,因此,所有Topic名字现在形态为:</p>
 <pre><code class="hljs css language-http">{persistent|non-persistent}://tenant/namespace/topic
 </code></pre>
 <blockquote>
-<p>Existing topics that use the legacy name format will continue to work without any change, and there are no plans to change that.</p>
+<p>已经存在的topics可能使用了之前的命名方式,可以继续工作,没有后续计划会修改。</p>
 </blockquote>
-<h4><a class="anchor" aria-hidden="true" id="flexible-topic-naming"></a><a href="#flexible-topic-naming" 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 [...]
-<p>All topic names in Pulsar 2.0 internally have the form shown <a href="#no-cluster-component">above</a> but you can now use shorthand names in many cases (for the sake of simplicity). The flexible naming system stems from the fact that there is now a default topic type, tenant, and namespace:</p>
+<h4><a class="anchor" aria-hidden="true" id="灵活的topic命名"></a><a href="#灵活的topic命名" 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-.83.42-1 [...]
+<p>在Pulsar 2.0内部,所有Topic名字形态<a href="#no-cluster-component">如上</a>,但是你现在可以通过简化使用更便捷的名字。 灵活命名系统有默认的topic type,tenant以及命名空间namesapce:</p>
 <table>
 <thead>
-<tr><th style="text-align:left">Topic aspect</th><th style="text-align:left">默认值</th></tr>
+<tr><th style="text-align:left">Topic 方面</th><th style="text-align:left">默认值</th></tr>
 </thead>
 <tbody>
 <tr><td style="text-align:left">topic type</td><td style="text-align:left"><code>persistent</code></td></tr>
@@ -117,20 +117,20 @@
 <tr><td style="text-align:left">namespace</td><td style="text-align:left"><code>default</code></td></tr>
 </tbody>
 </table>
-<p>The table below shows some example topic name translations that use implicit defaults:</p>
+<p>下表展示了一些topic名字默认自动转换的例子:</p>
 <table>
 <thead>
-<tr><th style="text-align:left">Input topic name</th><th style="text-align:left">Translated topic name</th></tr>
+<tr><th style="text-align:left">输入隐式topic名字</th><th style="text-align:left">默认转换成完整topic 名字</th></tr>
 </thead>
 <tbody>
 <tr><td style="text-align:left"><code>my-topic</code></td><td style="text-align:left"><code>persistent://public/default/my-topic</code></td></tr>
-<tr><td style="text-align:left"><code>my-tenant/my-namespace/my-topic</code></td><td style="text-align:left"><code>persistent://my-tenant/my-namespace/my-topic</code></td></tr>
+<tr><td style="text-align:left"><code>my-tenant/my-namespace/my-topic</code></td><td style="text-align:left"><code>persistent://tenant/namespace/topic</code></td></tr>
 </tbody>
 </table>
 <blockquote>
-<p>For <a href="/docs/zh-CN/next/concepts-messaging#non-persistent-topics">non-persistent topics</a> you'll need to continue to specify the entire topic name, as the default-based rules for persistent topic names don't apply. Thus you cannot use a shorthand name like <code>non-persistent://my-topic</code> and would need to use <code>non-persistent://public/default/my-topic</code> instead</p>
+<p>对于&lt;a href=&quot;concepts-messaging.md#non-persistent-topics&quot;非持久化</a>Topic,你总是需要制定完整的topic名称,此时上面那种对于持久化topic名字的转换就不适用了。 这样你不能适用便捷名如: <code>non-persistent://my-topic</code> ,需要用<code>non-persistent://public/default/my-topic</code> 来代替。</p>
 </blockquote>
-</span></div></article></div><div class="docs-prevnext"><a class="docs-next button" href="/docs/zh-CN/next/standalone"><span>在本地运行Pulsar</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#new-features-in-pulsar-20">New features in Pulsar 2.0</a></li><li><a href="#major-changes">Major changes</a><ul class="toc-headings"><li><a href="#properties-versus-tenants">Properties versus tenants</a></li><li><a href="#topic-nam [...]
+</span></div></article></div><div class="docs-prevnext"><a class="docs-next button" href="/docs/zh-CN/next/standalone"><span>在本地运行Pulsar</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#pulsar-20-新特性">Pulsar 2.0 新特性</a></li><li><a href="#主要变化">主要变化</a><ul class="toc-headings"><li><a href="#properties-vs-tenants">Properties Vs. Tenants</a></li><li><a href="#topic名字">Topic名字</a></li></ul></li></ul></nav></div><foote [...]
       const community = document.querySelector("a[href='#community']").parentNode;
       const communityMenu =
         '<li>' +
diff --git a/content/docs/zh-CN/next/pulsar-2.0/index.html b/content/docs/zh-CN/next/pulsar-2.0/index.html
index 137bb55..6944b59 100644
--- a/content/docs/zh-CN/next/pulsar-2.0/index.html
+++ b/content/docs/zh-CN/next/pulsar-2.0/index.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="zh-CN"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Pulsar 2.0 · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar 2.0 is a major new release for Pulsar that brings some bold changes to the platform, including [simplified topic names](#topic-names), the addition of the [Pulsar Functions](/docs/zh-CN/next/funct [...]
+<!DOCTYPE html><html lang="zh-CN"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Pulsar-2.0 · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar 2.0是Pulsar的新发布版本,为平台带来了海量的变化,包括[简化的Topic名字](#topic-names),以及[Pulsar Functions](/docs/zh-CN/next/functions-overview)特性,同时还有一些术语的变化等等。"/><meta name="docsearch:version" content="next"/><meta name="do [...]
               (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),
               m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
@@ -18,7 +18,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
@@ -74,42 +74,42 @@
                 };
               }
             });
-        </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">Pulsar 2.0</h1></header><article><div><span><p>Pulsar 2.0 is a major new release for Pulsar that brings some bold changes to the platform, including <a href="#topic-names">simplified topic  [...]
-<h2><a class="anchor" aria-hidden="true" id="new-features-in-pulsar-20"></a><a href="#new-features-in-pulsar-20" 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 [...]
+        </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">Pulsar-2.0</h1></header><article><div><span><p>Pulsar 2.0是Pulsar的新发布版本,为平台带来了海量的变化,包括<a href="#topic-names">简化的Topic名字</a>,以及<a href="/docs/zh-CN/next/functions-overview">Pulsar Functions</ [...]
+<h2><a class="anchor" aria-hidden="true" id="pulsar-20-新特性"></a><a href="#pulsar-20-新特性" 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 [...]
 <table>
 <thead>
-<tr><th style="text-align:left">Feature</th><th style="text-align:left">说明:</th></tr>
+<tr><th style="text-align:left">特性</th><th style="text-align:left">说明:</th></tr>
 </thead>
 <tbody>
-<tr><td style="text-align:left"><a href="/docs/zh-CN/next/functions-overview">Pulsar Functions</a></td><td style="text-align:left">A lightweight compute option for Pulsar</td></tr>
+<tr><td style="text-align:left"><a href="/docs/zh-CN/next/functions-overview">Pulsar Functions</a></td><td style="text-align:left">Pulsar的一个轻量级的运算功能</td></tr>
 </tbody>
 </table>
-<h2><a class="anchor" aria-hidden="true" id="major-changes"></a><a href="#major-changes" 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>There are a few major changes that you should be aware of, as they may significantly impact your day-to-day usage.</p>
-<h3><a class="anchor" aria-hidden="true" id="properties-versus-tenants"></a><a href="#properties-versus-tenants" 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 [...]
-<p>Previously, Pulsar had a concept of properties. A property is essentially the exact same thing as a tenant, so the &quot;property&quot; terminology has been removed in version 2.0. The <a href="/docs/zh-CN/next/pulsar-admin#pulsar-admin"><code>pulsar-admin properties</code></a> command-line interface, for example, has been replaced with the <a href="/docs/zh-CN/next/pulsar-admin#pulsar-admin-tenants"><code>pulsar-admin tenants</code></a> interface. In some cases the properties termino [...]
-<h3><a class="anchor" aria-hidden="true" id="topic-names"></a><a href="#topic-names" 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-.83.42 [...]
-<p>Prior to version 2.0, <em>all</em> Pulsar topics had the following form:</p>
+<h2><a class="anchor" aria-hidden="true" id="主要变化"></a><a href="#主要变化" 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-.83.42-1.64 1-2.09V6 [...]
+<p>你需要注意一些主要变化,这些会对你日常使用产生影响</p>
+<h3><a class="anchor" aria-hidden="true" id="properties-vs-tenants"></a><a href="#properties-vs-tenants" 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 [...]
+<p>此前,Pulsar有一个properties(属性)的概念。 一个property和tenant本质上是一个东西,所以property这个术语从2.0版本开始就取消了。例如,<a href="/docs/zh-CN/next/pulsar-admin#pulsar-admin"><code>pulsar-admin properties</code></a>命令行接口被替换成了<a href="/docs/zh-CN/next/pulsar-admin#pulsar-admin-tenants"><code>pulsar-admin tenants</code></a> 在某些情况下,properties术语仍然有效,但是未来版本也会慢慢弃用。</p>
+<h3><a class="anchor" aria-hidden="true" id="topic名字"></a><a href="#topic名字" 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-.83.42-1.64 1- [...]
+<p>在2.0版本之前,<em>所有</em>Pulsar topic有如下形态</p>
 <pre><code class="hljs css language-http">{persistent|non-persistent}://property/cluster/namespace/topic
 </code></pre>
-<p>Two important changes have been made in Pulsar 2.0:</p>
+<p>2.0中有两个重要改变:</p>
 <ul>
-<li>There is no longer a <a href="#no-cluster">cluster component</a></li>
-<li>Properties have been <a href="#tenants">renamed to tenants</a></li>
-<li>You can use a <a href="#flexible-topic-naming">flexible</a> naming system to shorten many topic names</li>
+<li>不再有 <a href="#no-cluster">cluster component集群组件</a></li>
+<li>Properties被<a href="#tenants">改名为 tenants</a></li>
+<li>你可以使用<a href="#flexible-topic-naming">灵活的</a>命名系统来缩短Topic名字。</li>
 </ul>
-<h4><a class="anchor" aria-hidden="true" id="no-cluster-component"></a><a href="#no-cluster-component" 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 [...]
-<p>The cluster component has been removed from topic names. Thus, all topic names now have the following form:</p>
+<h4><a class="anchor" aria-hidden="true" id="没有cluster-component集群组件"></a><a href="#没有cluster-component集群组件" 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 [...]
+<p>集群组件cluster component从Topic名字中去掉,因此,所有Topic名字现在形态为:</p>
 <pre><code class="hljs css language-http">{persistent|non-persistent}://tenant/namespace/topic
 </code></pre>
 <blockquote>
-<p>Existing topics that use the legacy name format will continue to work without any change, and there are no plans to change that.</p>
+<p>已经存在的topics可能使用了之前的命名方式,可以继续工作,没有后续计划会修改。</p>
 </blockquote>
-<h4><a class="anchor" aria-hidden="true" id="flexible-topic-naming"></a><a href="#flexible-topic-naming" 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 [...]
-<p>All topic names in Pulsar 2.0 internally have the form shown <a href="#no-cluster-component">above</a> but you can now use shorthand names in many cases (for the sake of simplicity). The flexible naming system stems from the fact that there is now a default topic type, tenant, and namespace:</p>
+<h4><a class="anchor" aria-hidden="true" id="灵活的topic命名"></a><a href="#灵活的topic命名" 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-.83.42-1 [...]
+<p>在Pulsar 2.0内部,所有Topic名字形态<a href="#no-cluster-component">如上</a>,但是你现在可以通过简化使用更便捷的名字。 灵活命名系统有默认的topic type,tenant以及命名空间namesapce:</p>
 <table>
 <thead>
-<tr><th style="text-align:left">Topic aspect</th><th style="text-align:left">默认值</th></tr>
+<tr><th style="text-align:left">Topic 方面</th><th style="text-align:left">默认值</th></tr>
 </thead>
 <tbody>
 <tr><td style="text-align:left">topic type</td><td style="text-align:left"><code>persistent</code></td></tr>
@@ -117,20 +117,20 @@
 <tr><td style="text-align:left">namespace</td><td style="text-align:left"><code>default</code></td></tr>
 </tbody>
 </table>
-<p>The table below shows some example topic name translations that use implicit defaults:</p>
+<p>下表展示了一些topic名字默认自动转换的例子:</p>
 <table>
 <thead>
-<tr><th style="text-align:left">Input topic name</th><th style="text-align:left">Translated topic name</th></tr>
+<tr><th style="text-align:left">输入隐式topic名字</th><th style="text-align:left">默认转换成完整topic 名字</th></tr>
 </thead>
 <tbody>
 <tr><td style="text-align:left"><code>my-topic</code></td><td style="text-align:left"><code>persistent://public/default/my-topic</code></td></tr>
-<tr><td style="text-align:left"><code>my-tenant/my-namespace/my-topic</code></td><td style="text-align:left"><code>persistent://my-tenant/my-namespace/my-topic</code></td></tr>
+<tr><td style="text-align:left"><code>my-tenant/my-namespace/my-topic</code></td><td style="text-align:left"><code>persistent://tenant/namespace/topic</code></td></tr>
 </tbody>
 </table>
 <blockquote>
-<p>For <a href="/docs/zh-CN/next/concepts-messaging#non-persistent-topics">non-persistent topics</a> you'll need to continue to specify the entire topic name, as the default-based rules for persistent topic names don't apply. Thus you cannot use a shorthand name like <code>non-persistent://my-topic</code> and would need to use <code>non-persistent://public/default/my-topic</code> instead</p>
+<p>对于&lt;a href=&quot;concepts-messaging.md#non-persistent-topics&quot;非持久化</a>Topic,你总是需要制定完整的topic名称,此时上面那种对于持久化topic名字的转换就不适用了。 这样你不能适用便捷名如: <code>non-persistent://my-topic</code> ,需要用<code>non-persistent://public/default/my-topic</code> 来代替。</p>
 </blockquote>
-</span></div></article></div><div class="docs-prevnext"><a class="docs-next button" href="/docs/zh-CN/next/standalone"><span>在本地运行Pulsar</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#new-features-in-pulsar-20">New features in Pulsar 2.0</a></li><li><a href="#major-changes">Major changes</a><ul class="toc-headings"><li><a href="#properties-versus-tenants">Properties versus tenants</a></li><li><a href="#topic-nam [...]
+</span></div></article></div><div class="docs-prevnext"><a class="docs-next button" href="/docs/zh-CN/next/standalone"><span>在本地运行Pulsar</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#pulsar-20-新特性">Pulsar 2.0 新特性</a></li><li><a href="#主要变化">主要变化</a><ul class="toc-headings"><li><a href="#properties-vs-tenants">Properties Vs. Tenants</a></li><li><a href="#topic名字">Topic名字</a></li></ul></li></ul></nav></div><foote [...]
       const community = document.querySelector("a[href='#community']").parentNode;
       const communityMenu =
         '<li>' +
diff --git a/content/docs/zh-CN/next/pulsar-admin.html b/content/docs/zh-CN/next/pulsar-admin.html
index 2220ca1..8b3761f 100644
--- a/content/docs/zh-CN/next/pulsar-admin.html
+++ b/content/docs/zh-CN/next/pulsar-admin.html
@@ -18,7 +18,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
diff --git a/content/docs/zh-CN/next/pulsar-admin/index.html b/content/docs/zh-CN/next/pulsar-admin/index.html
index 2220ca1..8b3761f 100644
--- a/content/docs/zh-CN/next/pulsar-admin/index.html
+++ b/content/docs/zh-CN/next/pulsar-admin/index.html
@@ -18,7 +18,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
diff --git a/content/docs/zh-CN/next/reference-cli-tools.html b/content/docs/zh-CN/next/reference-cli-tools.html
index 39a2db1..f7dc81d 100644
--- a/content/docs/zh-CN/next/reference-cli-tools.html
+++ b/content/docs/zh-CN/next/reference-cli-tools.html
@@ -18,7 +18,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
diff --git a/content/docs/zh-CN/next/reference-cli-tools/index.html b/content/docs/zh-CN/next/reference-cli-tools/index.html
index 39a2db1..f7dc81d 100644
--- a/content/docs/zh-CN/next/reference-cli-tools/index.html
+++ b/content/docs/zh-CN/next/reference-cli-tools/index.html
@@ -18,7 +18,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
diff --git a/content/docs/zh-CN/next/reference-configuration.html b/content/docs/zh-CN/next/reference-configuration.html
index ad511f8..48aa2e0 100644
--- a/content/docs/zh-CN/next/reference-configuration.html
+++ b/content/docs/zh-CN/next/reference-configuration.html
@@ -18,7 +18,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
diff --git a/content/docs/zh-CN/next/reference-configuration/index.html b/content/docs/zh-CN/next/reference-configuration/index.html
index ad511f8..48aa2e0 100644
--- a/content/docs/zh-CN/next/reference-configuration/index.html
+++ b/content/docs/zh-CN/next/reference-configuration/index.html
@@ -18,7 +18,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
diff --git a/content/docs/zh-CN/next/reference-connector-admin.html b/content/docs/zh-CN/next/reference-connector-admin.html
index b48d86d..57157ec 100644
--- a/content/docs/zh-CN/next/reference-connector-admin.html
+++ b/content/docs/zh-CN/next/reference-connector-admin.html
@@ -18,7 +18,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
diff --git a/content/docs/zh-CN/next/reference-connector-admin/index.html b/content/docs/zh-CN/next/reference-connector-admin/index.html
index b48d86d..57157ec 100644
--- a/content/docs/zh-CN/next/reference-connector-admin/index.html
+++ b/content/docs/zh-CN/next/reference-connector-admin/index.html
@@ -18,7 +18,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
diff --git a/content/docs/zh-CN/next/reference-metrics.html b/content/docs/zh-CN/next/reference-metrics.html
index f6fa1ca..bfc0686 100644
--- a/content/docs/zh-CN/next/reference-metrics.html
+++ b/content/docs/zh-CN/next/reference-metrics.html
@@ -18,7 +18,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
diff --git a/content/docs/zh-CN/next/reference-metrics/index.html b/content/docs/zh-CN/next/reference-metrics/index.html
index f6fa1ca..bfc0686 100644
--- a/content/docs/zh-CN/next/reference-metrics/index.html
+++ b/content/docs/zh-CN/next/reference-metrics/index.html
@@ -18,7 +18,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
diff --git a/content/docs/zh-CN/next/reference-terminology.html b/content/docs/zh-CN/next/reference-terminology.html
index d057d09..f3bfd45 100644
--- a/content/docs/zh-CN/next/reference-terminology.html
+++ b/content/docs/zh-CN/next/reference-terminology.html
@@ -18,7 +18,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
diff --git a/content/docs/zh-CN/next/reference-terminology/index.html b/content/docs/zh-CN/next/reference-terminology/index.html
index d057d09..f3bfd45 100644
--- a/content/docs/zh-CN/next/reference-terminology/index.html
+++ b/content/docs/zh-CN/next/reference-terminology/index.html
@@ -18,7 +18,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
diff --git a/content/docs/zh-CN/next/schema-evolution-compatibility.html b/content/docs/zh-CN/next/schema-evolution-compatibility.html
index 2b9f6ca..101d676 100644
--- a/content/docs/zh-CN/next/schema-evolution-compatibility.html
+++ b/content/docs/zh-CN/next/schema-evolution-compatibility.html
@@ -18,7 +18,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
diff --git a/content/docs/zh-CN/next/schema-evolution-compatibility/index.html b/content/docs/zh-CN/next/schema-evolution-compatibility/index.html
index 2b9f6ca..101d676 100644
--- a/content/docs/zh-CN/next/schema-evolution-compatibility/index.html
+++ b/content/docs/zh-CN/next/schema-evolution-compatibility/index.html
@@ -18,7 +18,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
diff --git a/content/docs/zh-CN/next/schema-get-started.html b/content/docs/zh-CN/next/schema-get-started.html
index f44850b..ebc388f 100644
--- a/content/docs/zh-CN/next/schema-get-started.html
+++ b/content/docs/zh-CN/next/schema-get-started.html
@@ -18,7 +18,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
diff --git a/content/docs/zh-CN/next/schema-get-started/index.html b/content/docs/zh-CN/next/schema-get-started/index.html
index f44850b..ebc388f 100644
--- a/content/docs/zh-CN/next/schema-get-started/index.html
+++ b/content/docs/zh-CN/next/schema-get-started/index.html
@@ -18,7 +18,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
diff --git a/content/docs/zh-CN/next/schema-manage.html b/content/docs/zh-CN/next/schema-manage.html
index d56a57e..30a1770 100644
--- a/content/docs/zh-CN/next/schema-manage.html
+++ b/content/docs/zh-CN/next/schema-manage.html
@@ -18,7 +18,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
diff --git a/content/docs/zh-CN/next/schema-manage/index.html b/content/docs/zh-CN/next/schema-manage/index.html
index d56a57e..30a1770 100644
--- a/content/docs/zh-CN/next/schema-manage/index.html
+++ b/content/docs/zh-CN/next/schema-manage/index.html
@@ -18,7 +18,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
diff --git a/content/docs/zh-CN/next/schema-understand.html b/content/docs/zh-CN/next/schema-understand.html
index 86cc9cf..e50fcfa 100644
--- a/content/docs/zh-CN/next/schema-understand.html
+++ b/content/docs/zh-CN/next/schema-understand.html
@@ -18,7 +18,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
diff --git a/content/docs/zh-CN/next/schema-understand/index.html b/content/docs/zh-CN/next/schema-understand/index.html
index 86cc9cf..e50fcfa 100644
--- a/content/docs/zh-CN/next/schema-understand/index.html
+++ b/content/docs/zh-CN/next/schema-understand/index.html
@@ -18,7 +18,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
diff --git a/content/docs/zh-CN/next/security-athenz.html b/content/docs/zh-CN/next/security-athenz.html
index 610b7fc..5e66828 100644
--- a/content/docs/zh-CN/next/security-athenz.html
+++ b/content/docs/zh-CN/next/security-athenz.html
@@ -18,7 +18,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
diff --git a/content/docs/zh-CN/next/security-athenz/index.html b/content/docs/zh-CN/next/security-athenz/index.html
index 610b7fc..5e66828 100644
--- a/content/docs/zh-CN/next/security-athenz/index.html
+++ b/content/docs/zh-CN/next/security-athenz/index.html
@@ -18,7 +18,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
diff --git a/content/docs/zh-CN/next/security-authorization.html b/content/docs/zh-CN/next/security-authorization.html
index 53667a9..d096ec9 100644
--- a/content/docs/zh-CN/next/security-authorization.html
+++ b/content/docs/zh-CN/next/security-authorization.html
@@ -18,7 +18,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
diff --git a/content/docs/zh-CN/next/security-authorization/index.html b/content/docs/zh-CN/next/security-authorization/index.html
index 53667a9..d096ec9 100644
--- a/content/docs/zh-CN/next/security-authorization/index.html
+++ b/content/docs/zh-CN/next/security-authorization/index.html
@@ -18,7 +18,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
diff --git a/content/docs/zh-CN/next/security-encryption.html b/content/docs/zh-CN/next/security-encryption.html
index f4ddf73..3194c6f 100644
--- a/content/docs/zh-CN/next/security-encryption.html
+++ b/content/docs/zh-CN/next/security-encryption.html
@@ -18,7 +18,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
diff --git a/content/docs/zh-CN/next/security-encryption/index.html b/content/docs/zh-CN/next/security-encryption/index.html
index f4ddf73..3194c6f 100644
--- a/content/docs/zh-CN/next/security-encryption/index.html
+++ b/content/docs/zh-CN/next/security-encryption/index.html
@@ -18,7 +18,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
diff --git a/content/docs/zh-CN/next/security-extending.html b/content/docs/zh-CN/next/security-extending.html
index 90ba605..4f2ceac 100644
--- a/content/docs/zh-CN/next/security-extending.html
+++ b/content/docs/zh-CN/next/security-extending.html
@@ -18,7 +18,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
diff --git a/content/docs/zh-CN/next/security-extending/index.html b/content/docs/zh-CN/next/security-extending/index.html
index 90ba605..4f2ceac 100644
--- a/content/docs/zh-CN/next/security-extending/index.html
+++ b/content/docs/zh-CN/next/security-extending/index.html
@@ -18,7 +18,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
diff --git a/content/docs/zh-CN/next/security-kerberos.html b/content/docs/zh-CN/next/security-kerberos.html
index 967e5b6..371e261 100644
--- a/content/docs/zh-CN/next/security-kerberos.html
+++ b/content/docs/zh-CN/next/security-kerberos.html
@@ -18,7 +18,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
diff --git a/content/docs/zh-CN/next/security-kerberos/index.html b/content/docs/zh-CN/next/security-kerberos/index.html
index 967e5b6..371e261 100644
--- a/content/docs/zh-CN/next/security-kerberos/index.html
+++ b/content/docs/zh-CN/next/security-kerberos/index.html
@@ -18,7 +18,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
diff --git a/content/docs/zh-CN/next/security-overview.html b/content/docs/zh-CN/next/security-overview.html
index 257af14..d33d19f 100644
--- a/content/docs/zh-CN/next/security-overview.html
+++ b/content/docs/zh-CN/next/security-overview.html
@@ -18,7 +18,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
diff --git a/content/docs/zh-CN/next/security-overview/index.html b/content/docs/zh-CN/next/security-overview/index.html
index 257af14..d33d19f 100644
--- a/content/docs/zh-CN/next/security-overview/index.html
+++ b/content/docs/zh-CN/next/security-overview/index.html
@@ -18,7 +18,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
diff --git a/content/docs/zh-CN/next/security-tls-authentication.html b/content/docs/zh-CN/next/security-tls-authentication.html
index 8ab6250..5602de1 100644
--- a/content/docs/zh-CN/next/security-tls-authentication.html
+++ b/content/docs/zh-CN/next/security-tls-authentication.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="zh-CN"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>使用TLS进行认证 · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="## TLS认证概述"/><meta name="docsearch:version" content="next"/><meta name="docsearch:language" content="zh-CN"/><meta property="og:title" content="使用TLS进行认证 · Apache Pulsar"/><meta property="og:type" content [...]
+<!DOCTYPE html><html lang="zh-CN"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>使用TLS进行认证 · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="## TLS authentication overview"/><meta name="docsearch:version" content="next"/><meta name="docsearch:language" content="zh-CN"/><meta property="og:title" content="使用TLS进行认证 · Apache Pulsar"/><meta proper [...]
               (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),
               m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
@@ -18,7 +18,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
@@ -74,54 +74,52 @@
                 };
               }
             });
-        </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">使用TLS进行认证</h1></header><article><div><span><h2><a class="anchor" aria-hidden="true" id="tls认证概述"></a><a href="#tls认证概述" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria [...]
-<p>TLS authentication is an extension of <a href="/docs/zh-CN/next/security-tls-transport">TLS transport encryption</a>, but instead of only servers having keys and certs which the client uses to verify the server's identity, clients also have keys and certs which the server uses to verify the client's identity. You must have TLS transport encryption configured on your cluster before you can use TLS authentication. This guide assumes you already have TLS transport encryption configured.</p>
-<h3><a class="anchor" aria-hidden="true" id="创建客户端证书"></a><a href="#创建客户端证书" 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-.83.42-1.64 1- [...]
-<p>Client certificates are generated using the same certificate authority as was used to generate the server certificates.</p>
-<p>The biggest difference between client certs and server certs is that the <strong>common name</strong> for the client certificate is the <strong>role token</strong> which that client will be authenticated as.</p>
-<p>First generate the key.</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">使用TLS进行认证</h1></header><article><div><span><h2><a class="anchor" aria-hidden="true" id="tls-authentication-overview"></a><a href="#tls-authentication-overview" aria-hidden="true" class="has [...]
+<p>TLS authentication is an extension of <a href="/docs/zh-CN/next/security-tls-transport">TLS transport encryption</a>. Not only servers have keys and certs that the client uses to verify the identity of servers, clients also have keys and certs that the server uses to verify the identity of clients. You must have TLS transport encryption configured on your cluster before you can use TLS authentication. This guide assumes you already have TLS transport encryption configured.</p>
+<h3><a class="anchor" aria-hidden="true" id="create-client-certificates"></a><a href="#create-client-certificates" 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 [...]
+<p>Client certificates are generated using the certificate authority. Server certificates are also generated with the same certificate authority.</p>
+<p>The biggest difference between client certs and server certs is that the <strong>common name</strong> for the client certificate is the <strong>role token</strong> which that client is authenticated as.</p>
+<p>First, you need to enter the follwing command to generate the key :</p>
 <pre><code class="hljs css language-bash">$ openssl genrsa -out admin.key.pem 2048
 </code></pre>
-<p>Similar to the broker, the client expects the key to be in <a href="https://en.wikipedia.org/wiki/PKCS_8">PKCS 8</a> format, so convert it.</p>
+<p>Similar to the broker, the client expects the key to be in <a href="https://en.wikipedia.org/wiki/PKCS_8">PKCS 8</a> format, so you need to convert it by entering the follwing command:</p>
 <pre><code class="hljs css language-bash">$ openssl pkcs8 -topk8 -inform PEM -outform PEM \
       -<span class="hljs-keyword">in</span> admin.key.pem -out admin.key-pk8.pem -nocrypt
 </code></pre>
-<p>Generate the certificate request. When asked for a <strong>common name</strong>, enter the <strong>role token</strong> which you want this key pair to authenticate a client as.</p>
+<p>Next, enter the command below to generate the certificate request. When you are asked for a <strong>common name</strong>, enter the <strong>role token</strong> that you want this key pair to authenticate a client as.</p>
 <pre><code class="hljs css language-bash">$ openssl req -config openssl.cnf \
       -key admin.key.pem -new -sha256 -out admin.csr.pem
 </code></pre>
 <blockquote>
-<p>Note If there is no openssl.cnf, please read <a href="http://pulsar.apache.org/docs/en/security-tls-transport/#certificate-authority">Certificate authority</a> to get the openssl.cnf.</p>
+<p>Note If openssl.cnf is not specified, read <a href="http://pulsar.apache.org/docs/en/security-tls-transport/#certificate-authority">Certificate authority</a> to get the openssl.cnf.</p>
 </blockquote>
-<p>Sign with request with the certificate authority. Note that that client certs uses the <strong>usr_cert</strong> extension, which allows the cert to be used for client authentication.</p>
+<p>Then, enter the command below to sign with request with the certificate authority. Note that the client certs uses the <strong>usr_cert</strong> extension, which allows the cert to be used for client authentication.</p>
 <pre><code class="hljs css language-bash">$ openssl ca -config openssl.cnf -extensions usr_cert \
       -days 1000 -notext -md sha256 \
       -<span class="hljs-keyword">in</span> admin.csr.pem -out admin.cert.pem
 </code></pre>
-<p>This will give you a cert, <code>admin.cert.pem</code>, and a key, <code>admin.key-pk8.pem</code>, which, with <code>ca.cert.pem</code>, can be used by clients to authenticate themselves to brokers and proxies as the role token <code>admin</code>.</p>
+<p>You can get a cert, <code>admin.cert.pem</code>, and a key, <code>admin.key-pk8.pem</code> from this command. With <code>ca.cert.pem</code>, clients can use this cert and this key to authenticate themselves to brokers and proxies as the role token <code>admin</code>.</p>
 <blockquote>
-<p>Note If got &quot;unable to load CA private key&quot; error and the reason is &quot;No such file or directory: /etc/pki/CA/private/cakey.pem&quot; in this step. Please try :</p>
+<p>Note If the &quot;unable to load CA private key&quot; error occurs and the reason of this error is &quot;No such file or directory: /etc/pki/CA/private/cakey.pem&quot; in this step. Try the command below:</p>
 <pre><code class="hljs css language-bash"></code></pre>
 </blockquote>
 <p>$ cd /etc/pki/tls/misc/CA
 $ ./CA -newca</p>
 <pre><code class="hljs">
-to generate <span class="hljs-code">`cakey.pem`</span> .
+<span class="hljs-keyword">to</span> generate `cakey.pem` .
 
-<span class="hljs-section">## 开启TLS认证</span>
+## <span class="hljs-keyword">Enable</span> TLS authentication <span class="hljs-keyword">on</span> brokers
 
-<span class="hljs-section">### ... on Brokers</span>
+<span class="hljs-keyword">To</span> configure brokers <span class="hljs-keyword">to</span> authenticate clients, <span class="hljs-keyword">add</span> the <span class="hljs-keyword">following</span> parameters <span class="hljs-keyword">to</span> `broker.conf`, alongside [the <span class="hljs-keyword">configuration</span> <span class="hljs-keyword">to</span> <span class="hljs-keyword">enable</span> tls transport](<span class="hljs-keyword">security</span>-tls-transport.md#broker-<span  [...]
 
-To configure brokers to authenticate clients, put the following in <span class="hljs-code">`broker.conf`</span>, alongside [<span class="hljs-string">the configuration to enable tls transport</span>](<span class="hljs-link">security-tls-transport.md#broker-configuration</span>):
-
-<span class="hljs-code">```properties
-# Configuration to enable authentication
-authenticationEnabled=true
+```properties
+# <span class="hljs-keyword">Configuration</span> <span class="hljs-keyword">to</span> <span class="hljs-keyword">enable</span> authentication
+authenticationEnabled=<span class="hljs-keyword">true</span>
 authenticationProviders=org.apache.pulsar.broker.authentication.AuthenticationProviderTls
-</span></code></pre>
-<h3><a class="anchor" aria-hidden="true" id="on-proxies"></a><a href="#on-proxies" 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-.83.42-1 [...]
-<p>To configure proxies to authenticate clients, put the folling in <code>proxy.conf</code>, alongside <a href="security-tls-transport.md#proxy-configuration">the configuration to enable tls transport</a>:</p>
-<p>The proxy should have its own client key pair for connecting to brokers. The role token for this key pair should be configured in the <code>proxyRoles</code> of the brokers. See the <a href="security-authorization.md">authorization guide</a> for more details.</p>
+</code></pre>
+<h2><a class="anchor" aria-hidden="true" id="enable-tls-authentication-on-proxies"></a><a href="#enable-tls-authentication-on-proxies" 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 [...]
+<p>To configure proxies to authenticate clients, add the following parameters to <code>proxy.conf</code>, alongside <a href="security-tls-transport.md#proxy-configuration">the configuration to enable tls transport</a>:</p>
+<p>The proxy should have its own client key pair for connecting to brokers. You need to configure the role token for this key pair in the <code>proxyRoles</code> of the brokers. See the <a href="security-authorization.md">authorization guide</a> for more details.</p>
 <pre><code class="hljs css language-properties"><span class="hljs-comment"># For clients connecting to the proxy</span>
 <span class="hljs-attr">authenticationEnabled</span>=<span class="hljs-string">true</span>
 <span class="hljs-attr">authenticationProviders</span>=<span class="hljs-string">org.apache.pulsar.broker.authentication.AuthenticationProviderTls</span>
@@ -131,10 +129,10 @@ authenticationProviders=org.apache.pulsar.broker.authentication.AuthenticationPr
 <span class="hljs-attr">brokerClientAuthenticationParameters</span>=<span class="hljs-string">tlsCertFile:/path/to/proxy.cert.pem,tlsKeyFile:/path/to/proxy.key-pk8.pem</span>
 </code></pre>
 <h2><a class="anchor" aria-hidden="true" id="客户端配置"></a><a href="#客户端配置" 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-.83.42-1.64 1-2.09 [...]
-<p>When TLS authentication, the client needs to connect via TLS transport, so you need to configure the client to use <code>https://</code> and port 8443 for the web service URL, and <code>pulsar+ssl://</code> and port 6651 for the broker service URL.</p>
+<p>When you use TLS authentication, client connects via TLS transport. You need to configure the client to use <code>https://</code> and 8443 port for the web service URL, <code>pulsar+ssl://</code> and 6651 port for the broker service URL.</p>
 <h3><a class="anchor" aria-hidden="true" id="命令行工具"></a><a href="#命令行工具" 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-.83.42-1.64 1-2.09 [...]
 <p><a href="reference-cli-tools.md">Command-line tools</a> like <a href="reference-pulsar-admin.md"><code>pulsar-admin</code></a>, <a href="reference-cli-tools.md#pulsar-perf"><code>pulsar-perf</code></a>, and <a href="reference-cli-tools.md#pulsar-client"><code>pulsar-client</code></a> use the <code>conf/client.conf</code> config file in a Pulsar installation.</p>
-<p>You'll need to add the following parameters to that file to use TLS authentication with Pulsar's CLI tools:</p>
+<p>You need to add the following parameters to that file to use TLS authentication with the CLI tools of Pulsar:</p>
 <pre><code class="hljs css language-properties"><span class="hljs-attr">webServiceUrl</span>=<span class="hljs-string">https://broker.example.com:8443/</span>
 <span class="hljs-attr">brokerServiceUrl</span>=<span class="hljs-string">pulsar+ssl://broker.example.com:6651/</span>
 <span class="hljs-attr">useTls</span>=<span class="hljs-string">true</span>
@@ -177,7 +175,7 @@ config.setAuth(auth);
 
 pulsar::<span class="hljs-function">Client <span class="hljs-title">client</span><span class="hljs-params">(<span class="hljs-string">"pulsar+ssl://broker.example.com:6651/"</span>, config)</span></span>;
 </code></pre>
-</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/zh-CN/next/security-tls-transport"><span class="arrow-prev">← </span><span>使用TLS进行传输加密</span></a><a class="docs-next button" href="/docs/zh-CN/next/security-token-client"><span>Client Authentication using tokens</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#tls认证概述">TLS认证概述</a><ul class="toc-headings"><li><a href="#创 [...]
+</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/zh-CN/next/security-tls-transport"><span class="arrow-prev">← </span><span>使用TLS进行传输加密</span></a><a class="docs-next button" href="/docs/zh-CN/next/security-token-client"><span>Client Authentication using tokens</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#tls-authentication-overview">TLS authentication overview</a> [...]
       const community = document.querySelector("a[href='#community']").parentNode;
       const communityMenu =
         '<li>' +
diff --git a/content/docs/zh-CN/next/security-tls-authentication/index.html b/content/docs/zh-CN/next/security-tls-authentication/index.html
index 8ab6250..5602de1 100644
--- a/content/docs/zh-CN/next/security-tls-authentication/index.html
+++ b/content/docs/zh-CN/next/security-tls-authentication/index.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="zh-CN"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>使用TLS进行认证 · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="## TLS认证概述"/><meta name="docsearch:version" content="next"/><meta name="docsearch:language" content="zh-CN"/><meta property="og:title" content="使用TLS进行认证 · Apache Pulsar"/><meta property="og:type" content [...]
+<!DOCTYPE html><html lang="zh-CN"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>使用TLS进行认证 · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="## TLS authentication overview"/><meta name="docsearch:version" content="next"/><meta name="docsearch:language" content="zh-CN"/><meta property="og:title" content="使用TLS进行认证 · Apache Pulsar"/><meta proper [...]
               (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),
               m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
@@ -18,7 +18,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
@@ -74,54 +74,52 @@
                 };
               }
             });
-        </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">使用TLS进行认证</h1></header><article><div><span><h2><a class="anchor" aria-hidden="true" id="tls认证概述"></a><a href="#tls认证概述" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria [...]
-<p>TLS authentication is an extension of <a href="/docs/zh-CN/next/security-tls-transport">TLS transport encryption</a>, but instead of only servers having keys and certs which the client uses to verify the server's identity, clients also have keys and certs which the server uses to verify the client's identity. You must have TLS transport encryption configured on your cluster before you can use TLS authentication. This guide assumes you already have TLS transport encryption configured.</p>
-<h3><a class="anchor" aria-hidden="true" id="创建客户端证书"></a><a href="#创建客户端证书" 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-.83.42-1.64 1- [...]
-<p>Client certificates are generated using the same certificate authority as was used to generate the server certificates.</p>
-<p>The biggest difference between client certs and server certs is that the <strong>common name</strong> for the client certificate is the <strong>role token</strong> which that client will be authenticated as.</p>
-<p>First generate the key.</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">使用TLS进行认证</h1></header><article><div><span><h2><a class="anchor" aria-hidden="true" id="tls-authentication-overview"></a><a href="#tls-authentication-overview" aria-hidden="true" class="has [...]
+<p>TLS authentication is an extension of <a href="/docs/zh-CN/next/security-tls-transport">TLS transport encryption</a>. Not only servers have keys and certs that the client uses to verify the identity of servers, clients also have keys and certs that the server uses to verify the identity of clients. You must have TLS transport encryption configured on your cluster before you can use TLS authentication. This guide assumes you already have TLS transport encryption configured.</p>
+<h3><a class="anchor" aria-hidden="true" id="create-client-certificates"></a><a href="#create-client-certificates" 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 [...]
+<p>Client certificates are generated using the certificate authority. Server certificates are also generated with the same certificate authority.</p>
+<p>The biggest difference between client certs and server certs is that the <strong>common name</strong> for the client certificate is the <strong>role token</strong> which that client is authenticated as.</p>
+<p>First, you need to enter the follwing command to generate the key :</p>
 <pre><code class="hljs css language-bash">$ openssl genrsa -out admin.key.pem 2048
 </code></pre>
-<p>Similar to the broker, the client expects the key to be in <a href="https://en.wikipedia.org/wiki/PKCS_8">PKCS 8</a> format, so convert it.</p>
+<p>Similar to the broker, the client expects the key to be in <a href="https://en.wikipedia.org/wiki/PKCS_8">PKCS 8</a> format, so you need to convert it by entering the follwing command:</p>
 <pre><code class="hljs css language-bash">$ openssl pkcs8 -topk8 -inform PEM -outform PEM \
       -<span class="hljs-keyword">in</span> admin.key.pem -out admin.key-pk8.pem -nocrypt
 </code></pre>
-<p>Generate the certificate request. When asked for a <strong>common name</strong>, enter the <strong>role token</strong> which you want this key pair to authenticate a client as.</p>
+<p>Next, enter the command below to generate the certificate request. When you are asked for a <strong>common name</strong>, enter the <strong>role token</strong> that you want this key pair to authenticate a client as.</p>
 <pre><code class="hljs css language-bash">$ openssl req -config openssl.cnf \
       -key admin.key.pem -new -sha256 -out admin.csr.pem
 </code></pre>
 <blockquote>
-<p>Note If there is no openssl.cnf, please read <a href="http://pulsar.apache.org/docs/en/security-tls-transport/#certificate-authority">Certificate authority</a> to get the openssl.cnf.</p>
+<p>Note If openssl.cnf is not specified, read <a href="http://pulsar.apache.org/docs/en/security-tls-transport/#certificate-authority">Certificate authority</a> to get the openssl.cnf.</p>
 </blockquote>
-<p>Sign with request with the certificate authority. Note that that client certs uses the <strong>usr_cert</strong> extension, which allows the cert to be used for client authentication.</p>
+<p>Then, enter the command below to sign with request with the certificate authority. Note that the client certs uses the <strong>usr_cert</strong> extension, which allows the cert to be used for client authentication.</p>
 <pre><code class="hljs css language-bash">$ openssl ca -config openssl.cnf -extensions usr_cert \
       -days 1000 -notext -md sha256 \
       -<span class="hljs-keyword">in</span> admin.csr.pem -out admin.cert.pem
 </code></pre>
-<p>This will give you a cert, <code>admin.cert.pem</code>, and a key, <code>admin.key-pk8.pem</code>, which, with <code>ca.cert.pem</code>, can be used by clients to authenticate themselves to brokers and proxies as the role token <code>admin</code>.</p>
+<p>You can get a cert, <code>admin.cert.pem</code>, and a key, <code>admin.key-pk8.pem</code> from this command. With <code>ca.cert.pem</code>, clients can use this cert and this key to authenticate themselves to brokers and proxies as the role token <code>admin</code>.</p>
 <blockquote>
-<p>Note If got &quot;unable to load CA private key&quot; error and the reason is &quot;No such file or directory: /etc/pki/CA/private/cakey.pem&quot; in this step. Please try :</p>
+<p>Note If the &quot;unable to load CA private key&quot; error occurs and the reason of this error is &quot;No such file or directory: /etc/pki/CA/private/cakey.pem&quot; in this step. Try the command below:</p>
 <pre><code class="hljs css language-bash"></code></pre>
 </blockquote>
 <p>$ cd /etc/pki/tls/misc/CA
 $ ./CA -newca</p>
 <pre><code class="hljs">
-to generate <span class="hljs-code">`cakey.pem`</span> .
+<span class="hljs-keyword">to</span> generate `cakey.pem` .
 
-<span class="hljs-section">## 开启TLS认证</span>
+## <span class="hljs-keyword">Enable</span> TLS authentication <span class="hljs-keyword">on</span> brokers
 
-<span class="hljs-section">### ... on Brokers</span>
+<span class="hljs-keyword">To</span> configure brokers <span class="hljs-keyword">to</span> authenticate clients, <span class="hljs-keyword">add</span> the <span class="hljs-keyword">following</span> parameters <span class="hljs-keyword">to</span> `broker.conf`, alongside [the <span class="hljs-keyword">configuration</span> <span class="hljs-keyword">to</span> <span class="hljs-keyword">enable</span> tls transport](<span class="hljs-keyword">security</span>-tls-transport.md#broker-<span  [...]
 
-To configure brokers to authenticate clients, put the following in <span class="hljs-code">`broker.conf`</span>, alongside [<span class="hljs-string">the configuration to enable tls transport</span>](<span class="hljs-link">security-tls-transport.md#broker-configuration</span>):
-
-<span class="hljs-code">```properties
-# Configuration to enable authentication
-authenticationEnabled=true
+```properties
+# <span class="hljs-keyword">Configuration</span> <span class="hljs-keyword">to</span> <span class="hljs-keyword">enable</span> authentication
+authenticationEnabled=<span class="hljs-keyword">true</span>
 authenticationProviders=org.apache.pulsar.broker.authentication.AuthenticationProviderTls
-</span></code></pre>
-<h3><a class="anchor" aria-hidden="true" id="on-proxies"></a><a href="#on-proxies" 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-.83.42-1 [...]
-<p>To configure proxies to authenticate clients, put the folling in <code>proxy.conf</code>, alongside <a href="security-tls-transport.md#proxy-configuration">the configuration to enable tls transport</a>:</p>
-<p>The proxy should have its own client key pair for connecting to brokers. The role token for this key pair should be configured in the <code>proxyRoles</code> of the brokers. See the <a href="security-authorization.md">authorization guide</a> for more details.</p>
+</code></pre>
+<h2><a class="anchor" aria-hidden="true" id="enable-tls-authentication-on-proxies"></a><a href="#enable-tls-authentication-on-proxies" 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 [...]
+<p>To configure proxies to authenticate clients, add the following parameters to <code>proxy.conf</code>, alongside <a href="security-tls-transport.md#proxy-configuration">the configuration to enable tls transport</a>:</p>
+<p>The proxy should have its own client key pair for connecting to brokers. You need to configure the role token for this key pair in the <code>proxyRoles</code> of the brokers. See the <a href="security-authorization.md">authorization guide</a> for more details.</p>
 <pre><code class="hljs css language-properties"><span class="hljs-comment"># For clients connecting to the proxy</span>
 <span class="hljs-attr">authenticationEnabled</span>=<span class="hljs-string">true</span>
 <span class="hljs-attr">authenticationProviders</span>=<span class="hljs-string">org.apache.pulsar.broker.authentication.AuthenticationProviderTls</span>
@@ -131,10 +129,10 @@ authenticationProviders=org.apache.pulsar.broker.authentication.AuthenticationPr
 <span class="hljs-attr">brokerClientAuthenticationParameters</span>=<span class="hljs-string">tlsCertFile:/path/to/proxy.cert.pem,tlsKeyFile:/path/to/proxy.key-pk8.pem</span>
 </code></pre>
 <h2><a class="anchor" aria-hidden="true" id="客户端配置"></a><a href="#客户端配置" 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-.83.42-1.64 1-2.09 [...]
-<p>When TLS authentication, the client needs to connect via TLS transport, so you need to configure the client to use <code>https://</code> and port 8443 for the web service URL, and <code>pulsar+ssl://</code> and port 6651 for the broker service URL.</p>
+<p>When you use TLS authentication, client connects via TLS transport. You need to configure the client to use <code>https://</code> and 8443 port for the web service URL, <code>pulsar+ssl://</code> and 6651 port for the broker service URL.</p>
 <h3><a class="anchor" aria-hidden="true" id="命令行工具"></a><a href="#命令行工具" 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-.83.42-1.64 1-2.09 [...]
 <p><a href="reference-cli-tools.md">Command-line tools</a> like <a href="reference-pulsar-admin.md"><code>pulsar-admin</code></a>, <a href="reference-cli-tools.md#pulsar-perf"><code>pulsar-perf</code></a>, and <a href="reference-cli-tools.md#pulsar-client"><code>pulsar-client</code></a> use the <code>conf/client.conf</code> config file in a Pulsar installation.</p>
-<p>You'll need to add the following parameters to that file to use TLS authentication with Pulsar's CLI tools:</p>
+<p>You need to add the following parameters to that file to use TLS authentication with the CLI tools of Pulsar:</p>
 <pre><code class="hljs css language-properties"><span class="hljs-attr">webServiceUrl</span>=<span class="hljs-string">https://broker.example.com:8443/</span>
 <span class="hljs-attr">brokerServiceUrl</span>=<span class="hljs-string">pulsar+ssl://broker.example.com:6651/</span>
 <span class="hljs-attr">useTls</span>=<span class="hljs-string">true</span>
@@ -177,7 +175,7 @@ config.setAuth(auth);
 
 pulsar::<span class="hljs-function">Client <span class="hljs-title">client</span><span class="hljs-params">(<span class="hljs-string">"pulsar+ssl://broker.example.com:6651/"</span>, config)</span></span>;
 </code></pre>
-</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/zh-CN/next/security-tls-transport"><span class="arrow-prev">← </span><span>使用TLS进行传输加密</span></a><a class="docs-next button" href="/docs/zh-CN/next/security-token-client"><span>Client Authentication using tokens</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#tls认证概述">TLS认证概述</a><ul class="toc-headings"><li><a href="#创 [...]
+</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/zh-CN/next/security-tls-transport"><span class="arrow-prev">← </span><span>使用TLS进行传输加密</span></a><a class="docs-next button" href="/docs/zh-CN/next/security-token-client"><span>Client Authentication using tokens</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#tls-authentication-overview">TLS authentication overview</a> [...]
       const community = document.querySelector("a[href='#community']").parentNode;
       const communityMenu =
         '<li>' +
diff --git a/content/docs/zh-CN/next/security-tls-transport.html b/content/docs/zh-CN/next/security-tls-transport.html
index d3e605e..f0bca26 100644
--- a/content/docs/zh-CN/next/security-tls-transport.html
+++ b/content/docs/zh-CN/next/security-tls-transport.html
@@ -18,7 +18,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
diff --git a/content/docs/zh-CN/next/security-tls-transport/index.html b/content/docs/zh-CN/next/security-tls-transport/index.html
index d3e605e..f0bca26 100644
--- a/content/docs/zh-CN/next/security-tls-transport/index.html
+++ b/content/docs/zh-CN/next/security-tls-transport/index.html
@@ -18,7 +18,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
diff --git a/content/docs/zh-CN/next/security-token-admin.html b/content/docs/zh-CN/next/security-token-admin.html
index 0325733..fa6c37c 100644
--- a/content/docs/zh-CN/next/security-token-admin.html
+++ b/content/docs/zh-CN/next/security-token-admin.html
@@ -18,7 +18,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
diff --git a/content/docs/zh-CN/next/security-token-admin/index.html b/content/docs/zh-CN/next/security-token-admin/index.html
index 0325733..fa6c37c 100644
--- a/content/docs/zh-CN/next/security-token-admin/index.html
+++ b/content/docs/zh-CN/next/security-token-admin/index.html
@@ -18,7 +18,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
diff --git a/content/docs/zh-CN/next/security-token-client.html b/content/docs/zh-CN/next/security-token-client.html
index f823535..84d024a 100644
--- a/content/docs/zh-CN/next/security-token-client.html
+++ b/content/docs/zh-CN/next/security-token-client.html
@@ -18,7 +18,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
diff --git a/content/docs/zh-CN/next/security-token-client/index.html b/content/docs/zh-CN/next/security-token-client/index.html
index f823535..84d024a 100644
--- a/content/docs/zh-CN/next/security-token-client/index.html
+++ b/content/docs/zh-CN/next/security-token-client/index.html
@@ -18,7 +18,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
diff --git a/content/docs/zh-CN/next/sql-deployment-configurations.html b/content/docs/zh-CN/next/sql-deployment-configurations.html
index 85067d4..4cd0553 100644
--- a/content/docs/zh-CN/next/sql-deployment-configurations.html
+++ b/content/docs/zh-CN/next/sql-deployment-configurations.html
@@ -18,7 +18,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
diff --git a/content/docs/zh-CN/next/sql-deployment-configurations/index.html b/content/docs/zh-CN/next/sql-deployment-configurations/index.html
index 85067d4..4cd0553 100644
--- a/content/docs/zh-CN/next/sql-deployment-configurations/index.html
+++ b/content/docs/zh-CN/next/sql-deployment-configurations/index.html
@@ -18,7 +18,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
diff --git a/content/docs/zh-CN/next/sql-getting-started.html b/content/docs/zh-CN/next/sql-getting-started.html
index 43b0eff..77dffc9 100644
--- a/content/docs/zh-CN/next/sql-getting-started.html
+++ b/content/docs/zh-CN/next/sql-getting-started.html
@@ -18,7 +18,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
diff --git a/content/docs/zh-CN/next/sql-getting-started/index.html b/content/docs/zh-CN/next/sql-getting-started/index.html
index 43b0eff..77dffc9 100644
--- a/content/docs/zh-CN/next/sql-getting-started/index.html
+++ b/content/docs/zh-CN/next/sql-getting-started/index.html
@@ -18,7 +18,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
diff --git a/content/docs/zh-CN/next/sql-overview.html b/content/docs/zh-CN/next/sql-overview.html
index 8f96a10..93a2551 100644
--- a/content/docs/zh-CN/next/sql-overview.html
+++ b/content/docs/zh-CN/next/sql-overview.html
@@ -18,7 +18,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
diff --git a/content/docs/zh-CN/next/sql-overview/index.html b/content/docs/zh-CN/next/sql-overview/index.html
index 8f96a10..93a2551 100644
--- a/content/docs/zh-CN/next/sql-overview/index.html
+++ b/content/docs/zh-CN/next/sql-overview/index.html
@@ -18,7 +18,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
diff --git a/content/docs/zh-CN/next/standalone-docker.html b/content/docs/zh-CN/next/standalone-docker.html
index f043706..44f538a 100644
--- a/content/docs/zh-CN/next/standalone-docker.html
+++ b/content/docs/zh-CN/next/standalone-docker.html
@@ -18,7 +18,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
diff --git a/content/docs/zh-CN/next/standalone-docker/index.html b/content/docs/zh-CN/next/standalone-docker/index.html
index f043706..44f538a 100644
--- a/content/docs/zh-CN/next/standalone-docker/index.html
+++ b/content/docs/zh-CN/next/standalone-docker/index.html
@@ -18,7 +18,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
diff --git a/content/docs/zh-CN/next/standalone.html b/content/docs/zh-CN/next/standalone.html
index da0a96f..0e5c7a3 100644
--- a/content/docs/zh-CN/next/standalone.html
+++ b/content/docs/zh-CN/next/standalone.html
@@ -18,7 +18,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
@@ -238,7 +238,7 @@ You can also run the service as a background process using the <code>pulsar-daem
 <p>If the service runs as a background process using the <code>pulsar-daemon start standalone</code> command, then use the <code>pulsar-daemon stop standalone</code> command to stop the service.</p>
 <p>For more information, see <a href="https://pulsar.apache.org/docs/en/reference-cli-tools/#pulsar-daemon">pulsar-daemon</a>.</p>
 </blockquote>
-</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/zh-CN/next/pulsar-2.0"><span class="arrow-prev">← </span><span>Pulsar 2.0</span></a><a class="docs-next button" href="/docs/zh-CN/next/standalone-docker"><span>Run Pulsar in Docker</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#install-pulsar-standalone">Install Pulsar standalone</a><ul class="toc-headings"><li><a hre [...]
+</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/zh-CN/next/pulsar-2.0"><span class="arrow-prev">← </span><span>Pulsar-2.0</span></a><a class="docs-next button" href="/docs/zh-CN/next/standalone-docker"><span>Run Pulsar in Docker</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#install-pulsar-standalone">Install Pulsar standalone</a><ul class="toc-headings"><li><a hre [...]
       const community = document.querySelector("a[href='#community']").parentNode;
       const communityMenu =
         '<li>' +
diff --git a/content/docs/zh-CN/next/standalone/index.html b/content/docs/zh-CN/next/standalone/index.html
index da0a96f..0e5c7a3 100644
--- a/content/docs/zh-CN/next/standalone/index.html
+++ b/content/docs/zh-CN/next/standalone/index.html
@@ -18,7 +18,7 @@
             languagesDropDown.className = "hide";
           }
         });
-      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
+      </script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
@@ -238,7 +238,7 @@ You can also run the service as a background process using the <code>pulsar-daem
 <p>If the service runs as a background process using the <code>pulsar-daemon start standalone</code> command, then use the <code>pulsar-daemon stop standalone</code> command to stop the service.</p>
 <p>For more information, see <a href="https://pulsar.apache.org/docs/en/reference-cli-tools/#pulsar-daemon">pulsar-daemon</a>.</p>
 </blockquote>
-</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/zh-CN/next/pulsar-2.0"><span class="arrow-prev">← </span><span>Pulsar 2.0</span></a><a class="docs-next button" href="/docs/zh-CN/next/standalone-docker"><span>Run Pulsar in Docker</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#install-pulsar-standalone">Install Pulsar standalone</a><ul class="toc-headings"><li><a hre [...]
+</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/zh-CN/next/pulsar-2.0"><span class="arrow-prev">← </span><span>Pulsar-2.0</span></a><a class="docs-next button" href="/docs/zh-CN/next/standalone-docker"><span>Run Pulsar in Docker</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#install-pulsar-standalone">Install Pulsar standalone</a><ul class="toc-headings"><li><a hre [...]
       const community = document.querySelector("a[href='#community']").parentNode;
       const communityMenu =
         '<li>' +
diff --git a/content/docs/zh-CN/pulsar-2.0.html b/content/docs/zh-CN/pulsar-2.0.html
index 391d66e..90b8e74 100644
--- a/content/docs/zh-CN/pulsar-2.0.html
+++ b/content/docs/zh-CN/pulsar-2.0.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="zh-CN"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Pulsar 2.0 · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar 2.0 is a major new release for Pulsar that brings some bold changes to the platform, including [simplified topic names](#topic-names), the addition of the [Pulsar Functions](/docs/zh-CN/functions- [...]
+<!DOCTYPE html><html lang="zh-CN"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Pulsar 2.0 · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar 2.0是Pulsar的新发布版本,为平台带来了海量的变化,包括[简化的Topic名字](#topic-names),以及[Pulsar Functions](/docs/zh-CN/functions-overview)特性,同时还有一些术语的变化等等。"/><meta name="docsearch:version" content="2.4.0"/><meta name="docsea [...]
               (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),
               m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
@@ -74,42 +74,42 @@
                 };
               }
             });
-        </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">Pulsar 2.0</h1></header><article><div><span><p>Pulsar 2.0 is a major new release for Pulsar that brings some bold changes to the platform, including <a href="#topic-names">simplified topic  [...]
-<h2><a class="anchor" aria-hidden="true" id="new-features-in-pulsar-20"></a><a href="#new-features-in-pulsar-20" 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 [...]
+        </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">Pulsar 2.0</h1></header><article><div><span><p>Pulsar 2.0是Pulsar的新发布版本,为平台带来了海量的变化,包括<a href="#topic-names">简化的Topic名字</a>,以及<a href="/docs/zh-CN/functions-overview">Pulsar Functions</a>特性, [...]
+<h2><a class="anchor" aria-hidden="true" id="pulsar-20-新特性"></a><a href="#pulsar-20-新特性" 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 [...]
 <table>
 <thead>
-<tr><th style="text-align:left">Feature</th><th style="text-align:left">说明:</th></tr>
+<tr><th style="text-align:left">特性</th><th style="text-align:left">说明:</th></tr>
 </thead>
 <tbody>
-<tr><td style="text-align:left"><a href="/docs/zh-CN/functions-overview">Pulsar Functions</a></td><td style="text-align:left">A lightweight compute option for Pulsar</td></tr>
+<tr><td style="text-align:left"><a href="/docs/zh-CN/functions-overview">Pulsar Functions</a></td><td style="text-align:left">Pulsar的一个轻量级的运算功能</td></tr>
 </tbody>
 </table>
-<h2><a class="anchor" aria-hidden="true" id="major-changes"></a><a href="#major-changes" 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>There are a few major changes that you should be aware of, as they may significantly impact your day-to-day usage.</p>
-<h3><a class="anchor" aria-hidden="true" id="properties-versus-tenants"></a><a href="#properties-versus-tenants" 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 [...]
-<p>Previously, Pulsar had a concept of properties. A property is essentially the exact same thing as a tenant, so the &quot;property&quot; terminology has been removed in version 2.0. The <a href="/docs/zh-CN/pulsar-admin#pulsar-admin"><code>pulsar-admin properties</code></a> command-line interface, for example, has been replaced with the <a href="/docs/zh-CN/pulsar-admin#pulsar-admin-tenants"><code>pulsar-admin tenants</code></a> interface. In some cases the properties terminology is st [...]
-<h3><a class="anchor" aria-hidden="true" id="topic-names"></a><a href="#topic-names" 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-.83.42 [...]
-<p>Prior to version 2.0, <em>all</em> Pulsar topics had the following form:</p>
+<h2><a class="anchor" aria-hidden="true" id="主要变化"></a><a href="#主要变化" 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-.83.42-1.64 1-2.09V6 [...]
+<p>你需要注意一些主要变化,这些会对你日常使用产生影响</p>
+<h3><a class="anchor" aria-hidden="true" id="properties-vs-tenants"></a><a href="#properties-vs-tenants" 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 [...]
+<p>此前,Pulsar有一个properties(属性)的概念。 一个property和tenant本质上是一个东西,所以property这个术语从2.0版本开始就取消了。例如,<a href="/docs/zh-CN/pulsar-admin#pulsar-admin"><code>pulsar-admin properties</code></a>命令行接口被替换成了<a href="/docs/zh-CN/pulsar-admin#pulsar-admin-tenants"><code>pulsar-admin tenants</code></a> 在某些情况下,properties术语仍然有效,但是未来版本也会慢慢弃用。</p>
+<h3><a class="anchor" aria-hidden="true" id="topic名字"></a><a href="#topic名字" 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-.83.42-1.64 1- [...]
+<p>在2.0版本之前,<em>所有</em>Pulsar topic有如下形态</p>
 <pre><code class="hljs css language-http">{persistent|non-persistent}://property/cluster/namespace/topic
 </code></pre>
-<p>Two important changes have been made in Pulsar 2.0:</p>
+<p>2.0中有两个重要改变:</p>
 <ul>
-<li>There is no longer a <a href="#no-cluster">cluster component</a></li>
-<li>Properties have been <a href="#tenants">renamed to tenants</a></li>
-<li>You can use a <a href="#flexible-topic-naming">flexible</a> naming system to shorten many topic names</li>
+<li>不再有 <a href="#no-cluster">cluster component集群组件</a></li>
+<li>Properties被<a href="#tenants">改名为 tenants</a></li>
+<li>你可以使用<a href="#flexible-topic-naming">灵活的</a>命名系统来缩短Topic名字。</li>
 </ul>
-<h4><a class="anchor" aria-hidden="true" id="no-cluster-component"></a><a href="#no-cluster-component" 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 [...]
-<p>The cluster component has been removed from topic names. Thus, all topic names now have the following form:</p>
+<h4><a class="anchor" aria-hidden="true" id="没有cluster-component集群组件"></a><a href="#没有cluster-component集群组件" 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 [...]
+<p>集群组件cluster component从Topic名字中去掉,因此,所有Topic名字现在形态为:</p>
 <pre><code class="hljs css language-http">{persistent|non-persistent}://tenant/namespace/topic
 </code></pre>
 <blockquote>
-<p>Existing topics that use the legacy name format will continue to work without any change, and there are no plans to change that.</p>
+<p>已经存在的topics可能使用了之前的命名方式,可以继续工作,没有后续计划会修改。</p>
 </blockquote>
-<h4><a class="anchor" aria-hidden="true" id="flexible-topic-naming"></a><a href="#flexible-topic-naming" 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 [...]
-<p>All topic names in Pulsar 2.0 internally have the form shown <a href="#no-cluster-component">above</a> but you can now use shorthand names in many cases (for the sake of simplicity). The flexible naming system stems from the fact that there is now a default topic type, tenant, and namespace:</p>
+<h4><a class="anchor" aria-hidden="true" id="灵活的topic命名"></a><a href="#灵活的topic命名" 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-.83.42-1 [...]
+<p>在Pulsar 2.0内部,所有Topic名字形态<a href="#no-cluster-component">如上</a>,但是你现在可以通过简化使用更便捷的名字。 灵活命名系统有默认的topic type,tenant以及命名空间namesapce:</p>
 <table>
 <thead>
-<tr><th style="text-align:left">Topic aspect</th><th style="text-align:left">默认值</th></tr>
+<tr><th style="text-align:left">Topic 方面</th><th style="text-align:left">默认值</th></tr>
 </thead>
 <tbody>
 <tr><td style="text-align:left">topic type</td><td style="text-align:left"><code>persistent</code></td></tr>
@@ -117,20 +117,20 @@
 <tr><td style="text-align:left">namespace</td><td style="text-align:left"><code>default</code></td></tr>
 </tbody>
 </table>
-<p>The table below shows some example topic name translations that use implicit defaults:</p>
+<p>下表展示了一些topic名字默认自动转换的例子:</p>
 <table>
 <thead>
-<tr><th style="text-align:left">Input topic name</th><th style="text-align:left">Translated topic name</th></tr>
+<tr><th style="text-align:left">输入隐式topic名字</th><th style="text-align:left">默认转换成完整topic 名字</th></tr>
 </thead>
 <tbody>
 <tr><td style="text-align:left"><code>my-topic</code></td><td style="text-align:left"><code>persistent://public/default/my-topic</code></td></tr>
-<tr><td style="text-align:left"><code>my-tenant/my-namespace/my-topic</code></td><td style="text-align:left"><code>persistent://my-tenant/my-namespace/my-topic</code></td></tr>
+<tr><td style="text-align:left"><code>my-tenant/my-namespace/my-topic</code></td><td style="text-align:left"><code>persistent://tenant/namespace/topic</code></td></tr>
 </tbody>
 </table>
 <blockquote>
-<p>For <a href="/docs/zh-CN/concepts-messaging#non-persistent-topics">non-persistent topics</a> you'll need to continue to specify the entire topic name, as the default-based rules for persistent topic names don't apply. Thus you cannot use a shorthand name like <code>non-persistent://my-topic</code> and would need to use <code>non-persistent://public/default/my-topic</code> instead</p>
+<p>对于&lt;a href=&quot;concepts-messaging.md#non-persistent-topics&quot;非持久化</a>Topic,你总是需要制定完整的topic名称,此时上面那种对于持久化topic名字的转换就不适用了。 这样你不能适用便捷名如: <code>non-persistent://my-topic</code> ,需要用<code>non-persistent://public/default/my-topic</code> 来代替。</p>
 </blockquote>
-</span></div></article></div><div class="docs-prevnext"><a class="docs-next button" href="/docs/zh-CN/standalone"><span>在本地运行Pulsar</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#new-features-in-pulsar-20">New features in Pulsar 2.0</a></li><li><a href="#major-changes">Major changes</a><ul class="toc-headings"><li><a href="#properties-versus-tenants">Properties versus tenants</a></li><li><a href="#topic-names">T [...]
+</span></div></article></div><div class="docs-prevnext"><a class="docs-next button" href="/docs/zh-CN/standalone"><span>在本地运行Pulsar</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#pulsar-20-新特性">Pulsar 2.0 新特性</a></li><li><a href="#主要变化">主要变化</a><ul class="toc-headings"><li><a href="#properties-vs-tenants">Properties Vs. Tenants</a></li><li><a href="#topic名字">Topic名字</a></li></ul></li></ul></nav></div><footer cla [...]
       const community = document.querySelector("a[href='#community']").parentNode;
       const communityMenu =
         '<li>' +
diff --git a/content/docs/zh-CN/pulsar-2.0/index.html b/content/docs/zh-CN/pulsar-2.0/index.html
index 391d66e..90b8e74 100644
--- a/content/docs/zh-CN/pulsar-2.0/index.html
+++ b/content/docs/zh-CN/pulsar-2.0/index.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="zh-CN"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Pulsar 2.0 · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar 2.0 is a major new release for Pulsar that brings some bold changes to the platform, including [simplified topic names](#topic-names), the addition of the [Pulsar Functions](/docs/zh-CN/functions- [...]
+<!DOCTYPE html><html lang="zh-CN"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Pulsar 2.0 · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar 2.0是Pulsar的新发布版本,为平台带来了海量的变化,包括[简化的Topic名字](#topic-names),以及[Pulsar Functions](/docs/zh-CN/functions-overview)特性,同时还有一些术语的变化等等。"/><meta name="docsearch:version" content="2.4.0"/><meta name="docsea [...]
               (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),
               m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
@@ -74,42 +74,42 @@
                 };
               }
             });
-        </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">Pulsar 2.0</h1></header><article><div><span><p>Pulsar 2.0 is a major new release for Pulsar that brings some bold changes to the platform, including <a href="#topic-names">simplified topic  [...]
-<h2><a class="anchor" aria-hidden="true" id="new-features-in-pulsar-20"></a><a href="#new-features-in-pulsar-20" 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 [...]
+        </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">Pulsar 2.0</h1></header><article><div><span><p>Pulsar 2.0是Pulsar的新发布版本,为平台带来了海量的变化,包括<a href="#topic-names">简化的Topic名字</a>,以及<a href="/docs/zh-CN/functions-overview">Pulsar Functions</a>特性, [...]
+<h2><a class="anchor" aria-hidden="true" id="pulsar-20-新特性"></a><a href="#pulsar-20-新特性" 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 [...]
 <table>
 <thead>
-<tr><th style="text-align:left">Feature</th><th style="text-align:left">说明:</th></tr>
+<tr><th style="text-align:left">特性</th><th style="text-align:left">说明:</th></tr>
 </thead>
 <tbody>
-<tr><td style="text-align:left"><a href="/docs/zh-CN/functions-overview">Pulsar Functions</a></td><td style="text-align:left">A lightweight compute option for Pulsar</td></tr>
+<tr><td style="text-align:left"><a href="/docs/zh-CN/functions-overview">Pulsar Functions</a></td><td style="text-align:left">Pulsar的一个轻量级的运算功能</td></tr>
 </tbody>
 </table>
-<h2><a class="anchor" aria-hidden="true" id="major-changes"></a><a href="#major-changes" 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>There are a few major changes that you should be aware of, as they may significantly impact your day-to-day usage.</p>
-<h3><a class="anchor" aria-hidden="true" id="properties-versus-tenants"></a><a href="#properties-versus-tenants" 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 [...]
-<p>Previously, Pulsar had a concept of properties. A property is essentially the exact same thing as a tenant, so the &quot;property&quot; terminology has been removed in version 2.0. The <a href="/docs/zh-CN/pulsar-admin#pulsar-admin"><code>pulsar-admin properties</code></a> command-line interface, for example, has been replaced with the <a href="/docs/zh-CN/pulsar-admin#pulsar-admin-tenants"><code>pulsar-admin tenants</code></a> interface. In some cases the properties terminology is st [...]
-<h3><a class="anchor" aria-hidden="true" id="topic-names"></a><a href="#topic-names" 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-.83.42 [...]
-<p>Prior to version 2.0, <em>all</em> Pulsar topics had the following form:</p>
+<h2><a class="anchor" aria-hidden="true" id="主要变化"></a><a href="#主要变化" 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-.83.42-1.64 1-2.09V6 [...]
+<p>你需要注意一些主要变化,这些会对你日常使用产生影响</p>
+<h3><a class="anchor" aria-hidden="true" id="properties-vs-tenants"></a><a href="#properties-vs-tenants" 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 [...]
+<p>此前,Pulsar有一个properties(属性)的概念。 一个property和tenant本质上是一个东西,所以property这个术语从2.0版本开始就取消了。例如,<a href="/docs/zh-CN/pulsar-admin#pulsar-admin"><code>pulsar-admin properties</code></a>命令行接口被替换成了<a href="/docs/zh-CN/pulsar-admin#pulsar-admin-tenants"><code>pulsar-admin tenants</code></a> 在某些情况下,properties术语仍然有效,但是未来版本也会慢慢弃用。</p>
+<h3><a class="anchor" aria-hidden="true" id="topic名字"></a><a href="#topic名字" 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-.83.42-1.64 1- [...]
+<p>在2.0版本之前,<em>所有</em>Pulsar topic有如下形态</p>
 <pre><code class="hljs css language-http">{persistent|non-persistent}://property/cluster/namespace/topic
 </code></pre>
-<p>Two important changes have been made in Pulsar 2.0:</p>
+<p>2.0中有两个重要改变:</p>
 <ul>
-<li>There is no longer a <a href="#no-cluster">cluster component</a></li>
-<li>Properties have been <a href="#tenants">renamed to tenants</a></li>
-<li>You can use a <a href="#flexible-topic-naming">flexible</a> naming system to shorten many topic names</li>
+<li>不再有 <a href="#no-cluster">cluster component集群组件</a></li>
+<li>Properties被<a href="#tenants">改名为 tenants</a></li>
+<li>你可以使用<a href="#flexible-topic-naming">灵活的</a>命名系统来缩短Topic名字。</li>
 </ul>
-<h4><a class="anchor" aria-hidden="true" id="no-cluster-component"></a><a href="#no-cluster-component" 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 [...]
-<p>The cluster component has been removed from topic names. Thus, all topic names now have the following form:</p>
+<h4><a class="anchor" aria-hidden="true" id="没有cluster-component集群组件"></a><a href="#没有cluster-component集群组件" 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 [...]
+<p>集群组件cluster component从Topic名字中去掉,因此,所有Topic名字现在形态为:</p>
 <pre><code class="hljs css language-http">{persistent|non-persistent}://tenant/namespace/topic
 </code></pre>
 <blockquote>
-<p>Existing topics that use the legacy name format will continue to work without any change, and there are no plans to change that.</p>
+<p>已经存在的topics可能使用了之前的命名方式,可以继续工作,没有后续计划会修改。</p>
 </blockquote>
-<h4><a class="anchor" aria-hidden="true" id="flexible-topic-naming"></a><a href="#flexible-topic-naming" 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 [...]
-<p>All topic names in Pulsar 2.0 internally have the form shown <a href="#no-cluster-component">above</a> but you can now use shorthand names in many cases (for the sake of simplicity). The flexible naming system stems from the fact that there is now a default topic type, tenant, and namespace:</p>
+<h4><a class="anchor" aria-hidden="true" id="灵活的topic命名"></a><a href="#灵活的topic命名" 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-.83.42-1 [...]
+<p>在Pulsar 2.0内部,所有Topic名字形态<a href="#no-cluster-component">如上</a>,但是你现在可以通过简化使用更便捷的名字。 灵活命名系统有默认的topic type,tenant以及命名空间namesapce:</p>
 <table>
 <thead>
-<tr><th style="text-align:left">Topic aspect</th><th style="text-align:left">默认值</th></tr>
+<tr><th style="text-align:left">Topic 方面</th><th style="text-align:left">默认值</th></tr>
 </thead>
 <tbody>
 <tr><td style="text-align:left">topic type</td><td style="text-align:left"><code>persistent</code></td></tr>
@@ -117,20 +117,20 @@
 <tr><td style="text-align:left">namespace</td><td style="text-align:left"><code>default</code></td></tr>
 </tbody>
 </table>
-<p>The table below shows some example topic name translations that use implicit defaults:</p>
+<p>下表展示了一些topic名字默认自动转换的例子:</p>
 <table>
 <thead>
-<tr><th style="text-align:left">Input topic name</th><th style="text-align:left">Translated topic name</th></tr>
+<tr><th style="text-align:left">输入隐式topic名字</th><th style="text-align:left">默认转换成完整topic 名字</th></tr>
 </thead>
 <tbody>
 <tr><td style="text-align:left"><code>my-topic</code></td><td style="text-align:left"><code>persistent://public/default/my-topic</code></td></tr>
-<tr><td style="text-align:left"><code>my-tenant/my-namespace/my-topic</code></td><td style="text-align:left"><code>persistent://my-tenant/my-namespace/my-topic</code></td></tr>
+<tr><td style="text-align:left"><code>my-tenant/my-namespace/my-topic</code></td><td style="text-align:left"><code>persistent://tenant/namespace/topic</code></td></tr>
 </tbody>
 </table>
 <blockquote>
-<p>For <a href="/docs/zh-CN/concepts-messaging#non-persistent-topics">non-persistent topics</a> you'll need to continue to specify the entire topic name, as the default-based rules for persistent topic names don't apply. Thus you cannot use a shorthand name like <code>non-persistent://my-topic</code> and would need to use <code>non-persistent://public/default/my-topic</code> instead</p>
+<p>对于&lt;a href=&quot;concepts-messaging.md#non-persistent-topics&quot;非持久化</a>Topic,你总是需要制定完整的topic名称,此时上面那种对于持久化topic名字的转换就不适用了。 这样你不能适用便捷名如: <code>non-persistent://my-topic</code> ,需要用<code>non-persistent://public/default/my-topic</code> 来代替。</p>
 </blockquote>
-</span></div></article></div><div class="docs-prevnext"><a class="docs-next button" href="/docs/zh-CN/standalone"><span>在本地运行Pulsar</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#new-features-in-pulsar-20">New features in Pulsar 2.0</a></li><li><a href="#major-changes">Major changes</a><ul class="toc-headings"><li><a href="#properties-versus-tenants">Properties versus tenants</a></li><li><a href="#topic-names">T [...]
+</span></div></article></div><div class="docs-prevnext"><a class="docs-next button" href="/docs/zh-CN/standalone"><span>在本地运行Pulsar</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#pulsar-20-新特性">Pulsar 2.0 新特性</a></li><li><a href="#主要变化">主要变化</a><ul class="toc-headings"><li><a href="#properties-vs-tenants">Properties Vs. Tenants</a></li><li><a href="#topic名字">Topic名字</a></li></ul></li></ul></nav></div><footer cla [...]
       const community = document.querySelector("a[href='#community']").parentNode;
       const communityMenu =
         '<li>' +
diff --git a/content/docs/zh-CN/standalone.html b/content/docs/zh-CN/standalone.html
index 9bcbb32..4413e41 100644
--- a/content/docs/zh-CN/standalone.html
+++ b/content/docs/zh-CN/standalone.html
@@ -235,7 +235,7 @@ You can also run the service as a background process using the <code>pulsar-daem
 <p>If the service runs as a background process using the <code>pulsar-daemon start standalone</code> command, then use the <code>pulsar-daemon stop standalone</code> command to stop the service.</p>
 <p>For more information, see <a href="https://pulsar.apache.org/docs/en/reference-cli-tools/#pulsar-daemon">pulsar-daemon</a>.</p>
 </blockquote>
-</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/zh-CN/pulsar-2.0"><span class="arrow-prev">← </span><span>Pulsar 2.0</span></a><a class="docs-next button" href="/docs/zh-CN/standalone-docker"><span>Run Pulsar in Docker</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#install-pulsar-standalone">Install Pulsar standalone</a><ul class="toc-headings"><li><a href="#系统要求"> [...]
+</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/zh-CN/pulsar-2.0"><span class="arrow-prev">← </span><span>Pulsar-2.0</span></a><a class="docs-next button" href="/docs/zh-CN/standalone-docker"><span>Run Pulsar in Docker</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#install-pulsar-standalone">Install Pulsar standalone</a><ul class="toc-headings"><li><a href="#系统要求"> [...]
       const community = document.querySelector("a[href='#community']").parentNode;
       const communityMenu =
         '<li>' +
diff --git a/content/docs/zh-CN/standalone/index.html b/content/docs/zh-CN/standalone/index.html
index 9bcbb32..4413e41 100644
--- a/content/docs/zh-CN/standalone/index.html
+++ b/content/docs/zh-CN/standalone/index.html
@@ -235,7 +235,7 @@ You can also run the service as a background process using the <code>pulsar-daem
 <p>If the service runs as a background process using the <code>pulsar-daemon start standalone</code> command, then use the <code>pulsar-daemon stop standalone</code> command to stop the service.</p>
 <p>For more information, see <a href="https://pulsar.apache.org/docs/en/reference-cli-tools/#pulsar-daemon">pulsar-daemon</a>.</p>
 </blockquote>
-</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/zh-CN/pulsar-2.0"><span class="arrow-prev">← </span><span>Pulsar 2.0</span></a><a class="docs-next button" href="/docs/zh-CN/standalone-docker"><span>Run Pulsar in Docker</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#install-pulsar-standalone">Install Pulsar standalone</a><ul class="toc-headings"><li><a href="#系统要求"> [...]
+</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/zh-CN/pulsar-2.0"><span class="arrow-prev">← </span><span>Pulsar-2.0</span></a><a class="docs-next button" href="/docs/zh-CN/standalone-docker"><span>Run Pulsar in Docker</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#install-pulsar-standalone">Install Pulsar standalone</a><ul class="toc-headings"><li><a href="#系统要求"> [...]
       const community = document.querySelector("a[href='#community']").parentNode;
       const communityMenu =
         '<li>' +
diff --git a/content/swagger/2.5.0-SNAPSHOT/swagger.json b/content/swagger/2.5.0-SNAPSHOT/swagger.json
index 094e049..17ff2d2 100644
--- a/content/swagger/2.5.0-SNAPSHOT/swagger.json
+++ b/content/swagger/2.5.0-SNAPSHOT/swagger.json
@@ -4784,7 +4784,7 @@
           "200" : {
             "description" : "successful operation",
             "schema" : {
-              "$ref" : "#/definitions/TopicStats"
+              "$ref" : "#/definitions/NonPersistentTopicStats"
             }
           },
           "401" : {
@@ -8515,10 +8515,10 @@
             "type" : "string"
           }
         },
-        "connectedSince" : {
+        "clientVersion" : {
           "type" : "string"
         },
-        "clientVersion" : {
+        "connectedSince" : {
           "type" : "string"
         },
         "address" : {
@@ -8866,21 +8866,25 @@
           "type" : "number",
           "format" : "double"
         },
-        "underLoaded" : {
-          "type" : "boolean"
-        },
-        "overLoaded" : {
-          "type" : "boolean"
+        "bandwidthIn" : {
+          "$ref" : "#/definitions/ResourceUsage"
         },
-        "loadReportType" : {
-          "type" : "string"
+        "bandwidthOut" : {
+          "$ref" : "#/definitions/ResourceUsage"
         },
         "memory" : {
           "$ref" : "#/definitions/ResourceUsage"
         },
-        "bandwidthOut" : {
+        "cpu" : {
+          "$ref" : "#/definitions/ResourceUsage"
+        },
+        "directMemory" : {
           "$ref" : "#/definitions/ResourceUsage"
         },
+        "lastUpdate" : {
+          "type" : "integer",
+          "format" : "int64"
+        },
         "msgThroughputIn" : {
           "type" : "number",
           "format" : "double"
@@ -8889,18 +8893,14 @@
           "type" : "number",
           "format" : "double"
         },
-        "cpu" : {
-          "$ref" : "#/definitions/ResourceUsage"
-        },
-        "directMemory" : {
-          "$ref" : "#/definitions/ResourceUsage"
+        "underLoaded" : {
+          "type" : "boolean"
         },
-        "lastUpdate" : {
-          "type" : "integer",
-          "format" : "int64"
+        "overLoaded" : {
+          "type" : "boolean"
         },
-        "bandwidthIn" : {
-          "$ref" : "#/definitions/ResourceUsage"
+        "loadReportType" : {
+          "type" : "string"
         }
       }
     },
@@ -9068,15 +9068,15 @@
           "type" : "number",
           "format" : "double"
         },
-        "connectedSince" : {
-          "type" : "string"
-        },
         "clientVersion" : {
           "type" : "string"
         },
         "producerName" : {
           "type" : "string"
         },
+        "connectedSince" : {
+          "type" : "string"
+        },
         "address" : {
           "type" : "string"
         }
@@ -9739,15 +9739,15 @@
             "type" : "string"
           }
         },
-        "connectedSince" : {
-          "type" : "string"
-        },
         "clientVersion" : {
           "type" : "string"
         },
         "producerName" : {
           "type" : "string"
         },
+        "connectedSince" : {
+          "type" : "string"
+        },
         "address" : {
           "type" : "string"
         }
diff --git a/content/swagger/2.5.0-SNAPSHOT/swaggerfunctions.json b/content/swagger/2.5.0-SNAPSHOT/swaggerfunctions.json
index 3f0f4f9..6a03c87 100644
--- a/content/swagger/2.5.0-SNAPSHOT/swaggerfunctions.json
+++ b/content/swagger/2.5.0-SNAPSHOT/swaggerfunctions.json
@@ -1387,6 +1387,9 @@
             "format" : "byte"
           }
         },
+        "topicName" : {
+          "type" : "string"
+        },
         "keyBytes" : {
           "type" : "array",
           "items" : {
@@ -1394,9 +1397,6 @@
             "format" : "byte"
           }
         },
-        "topicName" : {
-          "type" : "string"
-        },
         "replicatedFrom" : {
           "type" : "string"
         },
diff --git a/content/swagger/swagger.json b/content/swagger/swagger.json
index 094e049..17ff2d2 100644
--- a/content/swagger/swagger.json
+++ b/content/swagger/swagger.json
@@ -4784,7 +4784,7 @@
           "200" : {
             "description" : "successful operation",
             "schema" : {
-              "$ref" : "#/definitions/TopicStats"
+              "$ref" : "#/definitions/NonPersistentTopicStats"
             }
           },
           "401" : {
@@ -8515,10 +8515,10 @@
             "type" : "string"
           }
         },
-        "connectedSince" : {
+        "clientVersion" : {
           "type" : "string"
         },
-        "clientVersion" : {
+        "connectedSince" : {
           "type" : "string"
         },
         "address" : {
@@ -8866,21 +8866,25 @@
           "type" : "number",
           "format" : "double"
         },
-        "underLoaded" : {
-          "type" : "boolean"
-        },
-        "overLoaded" : {
-          "type" : "boolean"
+        "bandwidthIn" : {
+          "$ref" : "#/definitions/ResourceUsage"
         },
-        "loadReportType" : {
-          "type" : "string"
+        "bandwidthOut" : {
+          "$ref" : "#/definitions/ResourceUsage"
         },
         "memory" : {
           "$ref" : "#/definitions/ResourceUsage"
         },
-        "bandwidthOut" : {
+        "cpu" : {
+          "$ref" : "#/definitions/ResourceUsage"
+        },
+        "directMemory" : {
           "$ref" : "#/definitions/ResourceUsage"
         },
+        "lastUpdate" : {
+          "type" : "integer",
+          "format" : "int64"
+        },
         "msgThroughputIn" : {
           "type" : "number",
           "format" : "double"
@@ -8889,18 +8893,14 @@
           "type" : "number",
           "format" : "double"
         },
-        "cpu" : {
-          "$ref" : "#/definitions/ResourceUsage"
-        },
-        "directMemory" : {
-          "$ref" : "#/definitions/ResourceUsage"
+        "underLoaded" : {
+          "type" : "boolean"
         },
-        "lastUpdate" : {
-          "type" : "integer",
-          "format" : "int64"
+        "overLoaded" : {
+          "type" : "boolean"
         },
-        "bandwidthIn" : {
-          "$ref" : "#/definitions/ResourceUsage"
+        "loadReportType" : {
+          "type" : "string"
         }
       }
     },
@@ -9068,15 +9068,15 @@
           "type" : "number",
           "format" : "double"
         },
-        "connectedSince" : {
-          "type" : "string"
-        },
         "clientVersion" : {
           "type" : "string"
         },
         "producerName" : {
           "type" : "string"
         },
+        "connectedSince" : {
+          "type" : "string"
+        },
         "address" : {
           "type" : "string"
         }
@@ -9739,15 +9739,15 @@
             "type" : "string"
           }
         },
-        "connectedSince" : {
-          "type" : "string"
-        },
         "clientVersion" : {
           "type" : "string"
         },
         "producerName" : {
           "type" : "string"
         },
+        "connectedSince" : {
+          "type" : "string"
+        },
         "address" : {
           "type" : "string"
         }
diff --git a/content/swagger/swaggerfunctions.json b/content/swagger/swaggerfunctions.json
index 3f0f4f9..6a03c87 100644
--- a/content/swagger/swaggerfunctions.json
+++ b/content/swagger/swaggerfunctions.json
@@ -1387,6 +1387,9 @@
             "format" : "byte"
           }
         },
+        "topicName" : {
+          "type" : "string"
+        },
         "keyBytes" : {
           "type" : "array",
           "items" : {
@@ -1394,9 +1397,6 @@
             "format" : "byte"
           }
         },
-        "topicName" : {
-          "type" : "string"
-        },
         "replicatedFrom" : {
           "type" : "string"
         },