You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pulsar.apache.org by pe...@apache.org on 2021/11/03 07:44:53 UTC

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

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

penghui 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 a85025e  Updated site at revision 32c8f86
a85025e is described below

commit a85025e08ba4764173b5faea9e64dd300d1ecb83
Author: Pulsar Site Updater <de...@pulsar.incubator.apache.org>
AuthorDate: Wed Nov 3 07:43:39 2021 +0000

    Updated site at revision 32c8f86
---
 content/api/python/2.10.0-SNAPSHOT/index.html      |   6 +-
 .../python/2.10.0-SNAPSHOT/schema/schema.m.html    |  13 +
 content/api/python/index.html                      |   6 +-
 content/api/python/schema/schema.m.html            |  13 +
 .../fr/2.1.0-incubating/concepts-messaging.html    |  40 +-
 .../2.1.0-incubating/concepts-messaging/index.html |  40 +-
 .../fr/2.1.0-incubating/concepts-overview.html     |   2 +-
 .../2.1.0-incubating/concepts-overview/index.html  |   2 +-
 .../fr/2.1.1-incubating/concepts-messaging.html    |  40 +-
 .../2.1.1-incubating/concepts-messaging/index.html |  40 +-
 .../fr/2.1.1-incubating/concepts-overview.html     |   2 +-
 .../2.1.1-incubating/concepts-overview/index.html  |   2 +-
 content/docs/fr/2.2.0/concepts-messaging.html      |  40 +-
 .../docs/fr/2.2.0/concepts-messaging/index.html    |  40 +-
 content/docs/fr/2.2.0/concepts-overview.html       |   2 +-
 content/docs/fr/2.2.0/concepts-overview/index.html |   2 +-
 content/docs/fr/2.2.1/concepts-messaging.html      |  40 +-
 .../docs/fr/2.2.1/concepts-messaging/index.html    |  40 +-
 content/docs/fr/2.2.1/concepts-overview.html       |   2 +-
 content/docs/fr/2.2.1/concepts-overview/index.html |   2 +-
 content/docs/fr/2.3.0/concepts-messaging.html      |  28 +-
 .../docs/fr/2.3.0/concepts-messaging/index.html    |  28 +-
 content/docs/fr/2.3.0/concepts-overview.html       |   2 +-
 content/docs/fr/2.3.0/concepts-overview/index.html |   2 +-
 content/docs/fr/2.3.1/concepts-messaging.html      |  28 +-
 .../docs/fr/2.3.1/concepts-messaging/index.html    |  28 +-
 content/docs/fr/2.3.1/concepts-overview.html       |   2 +-
 content/docs/fr/2.3.1/concepts-overview/index.html |   2 +-
 content/docs/fr/2.3.2/concepts-messaging.html      |  40 +-
 .../docs/fr/2.3.2/concepts-messaging/index.html    |  40 +-
 content/docs/fr/2.3.2/concepts-overview.html       |   2 +-
 content/docs/fr/2.3.2/concepts-overview/index.html |   2 +-
 content/docs/fr/2.4.0/client-libraries-java.html   |  34 +-
 .../docs/fr/2.4.0/client-libraries-java/index.html |  34 +-
 content/docs/fr/2.4.0/concepts-messaging.html      |  40 +-
 .../docs/fr/2.4.0/concepts-messaging/index.html    |  40 +-
 content/docs/fr/2.4.0/concepts-overview.html       |   2 +-
 content/docs/fr/2.4.0/concepts-overview/index.html |   2 +-
 content/docs/fr/2.4.1/client-libraries-java.html   |  34 +-
 .../docs/fr/2.4.1/client-libraries-java/index.html |  34 +-
 content/docs/fr/2.4.1/concepts-messaging.html      |  40 +-
 .../docs/fr/2.4.1/concepts-messaging/index.html    |  40 +-
 content/docs/fr/2.4.1/concepts-overview.html       |   2 +-
 content/docs/fr/2.4.1/concepts-overview/index.html |   2 +-
 content/docs/fr/2.4.2/client-libraries-java.html   |  31 +-
 .../docs/fr/2.4.2/client-libraries-java/index.html |  31 +-
 content/docs/fr/2.4.2/concepts-messaging.html      |  38 +-
 .../docs/fr/2.4.2/concepts-messaging/index.html    |  38 +-
 content/docs/fr/2.4.2/concepts-overview.html       |   2 +-
 content/docs/fr/2.4.2/concepts-overview/index.html |   2 +-
 content/docs/fr/2.5.0/client-libraries-java.html   |  36 +-
 .../docs/fr/2.5.0/client-libraries-java/index.html |  36 +-
 content/docs/fr/2.5.0/concepts-messaging.html      |  40 +-
 .../docs/fr/2.5.0/concepts-messaging/index.html    |  40 +-
 content/docs/fr/2.5.0/concepts-overview.html       |   2 +-
 content/docs/fr/2.5.0/concepts-overview/index.html |   2 +-
 content/docs/fr/2.5.1/client-libraries-java.html   |  40 +-
 .../docs/fr/2.5.1/client-libraries-java/index.html |  40 +-
 content/docs/fr/2.5.1/concepts-messaging.html      |  38 +-
 .../docs/fr/2.5.1/concepts-messaging/index.html    |  38 +-
 content/docs/fr/2.5.1/concepts-overview.html       |   2 +-
 content/docs/fr/2.5.1/concepts-overview/index.html |   2 +-
 content/docs/fr/2.5.2/client-libraries-java.html   |  40 +-
 .../docs/fr/2.5.2/client-libraries-java/index.html |  40 +-
 content/docs/fr/2.5.2/concepts-messaging.html      |  38 +-
 .../docs/fr/2.5.2/concepts-messaging/index.html    |  38 +-
 content/docs/fr/2.5.2/concepts-overview.html       |   2 +-
 content/docs/fr/2.5.2/concepts-overview/index.html |   2 +-
 content/docs/fr/2.6.0/client-libraries-java.html   |  40 +-
 .../docs/fr/2.6.0/client-libraries-java/index.html |  40 +-
 content/docs/fr/2.6.0/concepts-messaging.html      |  34 +-
 .../docs/fr/2.6.0/concepts-messaging/index.html    |  34 +-
 content/docs/fr/2.6.0/concepts-overview.html       |   2 +-
 content/docs/fr/2.6.0/concepts-overview/index.html |   2 +-
 content/docs/fr/2.6.1/client-libraries-java.html   |  40 +-
 .../docs/fr/2.6.1/client-libraries-java/index.html |  40 +-
 content/docs/fr/2.6.1/concepts-messaging.html      |  38 +-
 .../docs/fr/2.6.1/concepts-messaging/index.html    |  38 +-
 content/docs/fr/2.6.1/concepts-overview.html       |   2 +-
 content/docs/fr/2.6.1/concepts-overview/index.html |   2 +-
 content/docs/fr/2.6.2/client-libraries-java.html   |  40 +-
 .../docs/fr/2.6.2/client-libraries-java/index.html |  40 +-
 content/docs/fr/2.6.2/concepts-messaging.html      |  38 +-
 .../docs/fr/2.6.2/concepts-messaging/index.html    |  38 +-
 content/docs/fr/2.6.2/concepts-overview.html       |   2 +-
 content/docs/fr/2.6.2/concepts-overview/index.html |   2 +-
 content/docs/fr/2.6.3/client-libraries-java.html   |  40 +-
 .../docs/fr/2.6.3/client-libraries-java/index.html |  40 +-
 content/docs/fr/2.6.3/concepts-messaging.html      |  38 +-
 .../docs/fr/2.6.3/concepts-messaging/index.html    |  38 +-
 content/docs/fr/2.6.3/concepts-overview.html       |   2 +-
 content/docs/fr/2.6.3/concepts-overview/index.html |   2 +-
 content/docs/fr/2.6.4/client-libraries-java.html   |  40 +-
 .../docs/fr/2.6.4/client-libraries-java/index.html |  40 +-
 content/docs/fr/2.6.4/concepts-messaging.html      |  40 +-
 .../docs/fr/2.6.4/concepts-messaging/index.html    |  40 +-
 content/docs/fr/2.6.4/concepts-overview.html       |   2 +-
 content/docs/fr/2.6.4/concepts-overview/index.html |   2 +-
 content/docs/fr/2.7.0/client-libraries-java.html   |  40 +-
 .../docs/fr/2.7.0/client-libraries-java/index.html |  40 +-
 content/docs/fr/2.7.0/concepts-messaging.html      |  44 +-
 .../docs/fr/2.7.0/concepts-messaging/index.html    |  44 +-
 content/docs/fr/2.7.0/concepts-overview.html       |   2 +-
 content/docs/fr/2.7.0/concepts-overview/index.html |   2 +-
 content/docs/fr/2.7.0/reference-cli-tools.html     |   2 +-
 .../docs/fr/2.7.0/reference-cli-tools/index.html   |   2 +-
 content/docs/fr/2.7.0/reference-configuration.html |   4 +-
 .../fr/2.7.0/reference-configuration/index.html    |   4 +-
 content/docs/fr/2.7.1/client-libraries-java.html   |  40 +-
 .../docs/fr/2.7.1/client-libraries-java/index.html |  40 +-
 content/docs/fr/2.7.1/concepts-messaging.html      |  44 +-
 .../docs/fr/2.7.1/concepts-messaging/index.html    |  44 +-
 content/docs/fr/2.7.1/concepts-overview.html       |   2 +-
 content/docs/fr/2.7.1/concepts-overview/index.html |   2 +-
 content/docs/fr/2.7.1/reference-cli-tools.html     |   2 +-
 .../docs/fr/2.7.1/reference-cli-tools/index.html   |   2 +-
 content/docs/fr/2.7.1/reference-configuration.html |   4 +-
 .../fr/2.7.1/reference-configuration/index.html    |   4 +-
 content/docs/fr/2.7.2/client-libraries-java.html   |  40 +-
 .../docs/fr/2.7.2/client-libraries-java/index.html |  40 +-
 content/docs/fr/2.7.2/concepts-messaging.html      |  44 +-
 .../docs/fr/2.7.2/concepts-messaging/index.html    |  44 +-
 content/docs/fr/2.7.2/concepts-overview.html       |   2 +-
 content/docs/fr/2.7.2/concepts-overview/index.html |   2 +-
 content/docs/fr/2.7.2/reference-cli-tools.html     |   2 +-
 .../docs/fr/2.7.2/reference-cli-tools/index.html   |   2 +-
 content/docs/fr/2.7.2/reference-configuration.html |   4 +-
 .../fr/2.7.2/reference-configuration/index.html    |   4 +-
 content/docs/fr/2.7.3/client-libraries-java.html   |  40 +-
 .../docs/fr/2.7.3/client-libraries-java/index.html |  40 +-
 content/docs/fr/2.7.3/concepts-messaging.html      |  44 +-
 .../docs/fr/2.7.3/concepts-messaging/index.html    |  44 +-
 content/docs/fr/2.7.3/concepts-overview.html       |   2 +-
 content/docs/fr/2.7.3/concepts-overview/index.html |   2 +-
 content/docs/fr/2.7.3/reference-cli-tools.html     |   2 +-
 .../docs/fr/2.7.3/reference-cli-tools/index.html   |   2 +-
 content/docs/fr/2.7.3/reference-configuration.html |   4 +-
 .../fr/2.7.3/reference-configuration/index.html    |   4 +-
 content/docs/fr/2.8.0/client-libraries-java.html   |  40 +-
 .../docs/fr/2.8.0/client-libraries-java/index.html |  40 +-
 content/docs/fr/2.8.0/concepts-messaging.html      |  44 +-
 .../docs/fr/2.8.0/concepts-messaging/index.html    |  44 +-
 content/docs/fr/2.8.0/concepts-overview.html       |   2 +-
 content/docs/fr/2.8.0/concepts-overview/index.html |   2 +-
 content/docs/fr/2.8.0/reference-cli-tools.html     |   2 +-
 .../docs/fr/2.8.0/reference-cli-tools/index.html   |   2 +-
 content/docs/fr/2.8.0/reference-configuration.html |   4 +-
 .../fr/2.8.0/reference-configuration/index.html    |   4 +-
 content/docs/fr/2.8.0/transactions-api.html        |   2 +-
 content/docs/fr/2.8.0/transactions-api/index.html  |   2 +-
 content/docs/fr/client-libraries-java.html         |  40 +-
 content/docs/fr/client-libraries-java/index.html   |  40 +-
 content/docs/fr/concepts-messaging.html            |  44 +-
 content/docs/fr/concepts-messaging/index.html      |  44 +-
 content/docs/fr/concepts-overview.html             |   2 +-
 content/docs/fr/concepts-overview/index.html       |   2 +-
 content/docs/fr/next/client-libraries-java.html    |  35 +-
 .../docs/fr/next/client-libraries-java/index.html  |  35 +-
 content/docs/fr/next/concepts-messaging.html       |  54 +-
 content/docs/fr/next/concepts-messaging/index.html |  54 +-
 content/docs/fr/next/concepts-overview.html        |   2 +-
 content/docs/fr/next/concepts-overview/index.html  |   2 +-
 content/docs/fr/next/reference-cli-tools.html      |   2 +-
 .../docs/fr/next/reference-cli-tools/index.html    |   2 +-
 content/docs/fr/next/reference-configuration.html  |   4 +-
 .../fr/next/reference-configuration/index.html     |   4 +-
 content/docs/fr/next/transactions-api.html         |   2 +-
 content/docs/fr/next/transactions-api/index.html   |   2 +-
 content/docs/fr/reference-cli-tools.html           |   2 +-
 content/docs/fr/reference-cli-tools/index.html     |   2 +-
 content/docs/fr/reference-configuration.html       |   4 +-
 content/docs/fr/reference-configuration/index.html |   4 +-
 content/docs/fr/transactions-api.html              |   2 +-
 content/docs/fr/transactions-api/index.html        |   2 +-
 .../ja/2.1.0-incubating/concepts-messaging.html    |  40 +-
 .../2.1.0-incubating/concepts-messaging/index.html |  40 +-
 .../ja/2.1.0-incubating/concepts-overview.html     |   2 +-
 .../2.1.0-incubating/concepts-overview/index.html  |   2 +-
 .../ja/2.1.1-incubating/concepts-messaging.html    |  40 +-
 .../2.1.1-incubating/concepts-messaging/index.html |  40 +-
 .../ja/2.1.1-incubating/concepts-overview.html     |   2 +-
 .../2.1.1-incubating/concepts-overview/index.html  |   2 +-
 content/docs/ja/2.2.0/concepts-messaging.html      |  40 +-
 .../docs/ja/2.2.0/concepts-messaging/index.html    |  40 +-
 content/docs/ja/2.2.0/concepts-overview.html       |   2 +-
 content/docs/ja/2.2.0/concepts-overview/index.html |   2 +-
 content/docs/ja/2.2.1/concepts-messaging.html      |  40 +-
 .../docs/ja/2.2.1/concepts-messaging/index.html    |  40 +-
 content/docs/ja/2.2.1/concepts-overview.html       |   2 +-
 content/docs/ja/2.2.1/concepts-overview/index.html |   2 +-
 content/docs/ja/2.3.0/concepts-messaging.html      |  28 +-
 .../docs/ja/2.3.0/concepts-messaging/index.html    |  28 +-
 content/docs/ja/2.3.0/concepts-overview.html       |   2 +-
 content/docs/ja/2.3.0/concepts-overview/index.html |   2 +-
 content/docs/ja/2.3.1/concepts-messaging.html      |  28 +-
 .../docs/ja/2.3.1/concepts-messaging/index.html    |  28 +-
 content/docs/ja/2.3.1/concepts-overview.html       |   2 +-
 content/docs/ja/2.3.1/concepts-overview/index.html |   2 +-
 content/docs/ja/2.3.2/concepts-messaging.html      |  40 +-
 .../docs/ja/2.3.2/concepts-messaging/index.html    |  40 +-
 content/docs/ja/2.3.2/concepts-overview.html       |   2 +-
 content/docs/ja/2.3.2/concepts-overview/index.html |   2 +-
 content/docs/ja/2.4.0/client-libraries-java.html   |  34 +-
 .../docs/ja/2.4.0/client-libraries-java/index.html |  34 +-
 content/docs/ja/2.4.0/concepts-messaging.html      |  40 +-
 .../docs/ja/2.4.0/concepts-messaging/index.html    |  40 +-
 content/docs/ja/2.4.0/concepts-overview.html       |   2 +-
 content/docs/ja/2.4.0/concepts-overview/index.html |   2 +-
 content/docs/ja/2.4.1/client-libraries-java.html   |  34 +-
 .../docs/ja/2.4.1/client-libraries-java/index.html |  34 +-
 content/docs/ja/2.4.1/concepts-messaging.html      |  40 +-
 .../docs/ja/2.4.1/concepts-messaging/index.html    |  40 +-
 content/docs/ja/2.4.1/concepts-overview.html       |   2 +-
 content/docs/ja/2.4.1/concepts-overview/index.html |   2 +-
 content/docs/ja/2.4.2/client-libraries-java.html   |  31 +-
 .../docs/ja/2.4.2/client-libraries-java/index.html |  31 +-
 content/docs/ja/2.4.2/concepts-messaging.html      |  38 +-
 .../docs/ja/2.4.2/concepts-messaging/index.html    |  38 +-
 content/docs/ja/2.4.2/concepts-overview.html       |   2 +-
 content/docs/ja/2.4.2/concepts-overview/index.html |   2 +-
 content/docs/ja/2.5.0/client-libraries-java.html   |  53 +-
 .../docs/ja/2.5.0/client-libraries-java/index.html |  53 +-
 content/docs/ja/2.5.0/concepts-messaging.html      |  40 +-
 .../docs/ja/2.5.0/concepts-messaging/index.html    |  40 +-
 content/docs/ja/2.5.0/concepts-overview.html       |   2 +-
 content/docs/ja/2.5.0/concepts-overview/index.html |   2 +-
 content/docs/ja/2.5.1/client-libraries-java.html   |  57 +-
 .../docs/ja/2.5.1/client-libraries-java/index.html |  57 +-
 content/docs/ja/2.5.1/concepts-messaging.html      |  38 +-
 .../docs/ja/2.5.1/concepts-messaging/index.html    |  38 +-
 content/docs/ja/2.5.1/concepts-overview.html       |   2 +-
 content/docs/ja/2.5.1/concepts-overview/index.html |   2 +-
 content/docs/ja/2.5.2/client-libraries-java.html   |  40 +-
 .../docs/ja/2.5.2/client-libraries-java/index.html |  40 +-
 content/docs/ja/2.5.2/concepts-messaging.html      |  38 +-
 .../docs/ja/2.5.2/concepts-messaging/index.html    |  38 +-
 content/docs/ja/2.5.2/concepts-overview.html       |   2 +-
 content/docs/ja/2.5.2/concepts-overview/index.html |   2 +-
 content/docs/ja/2.6.0/client-libraries-java.html   |  40 +-
 .../docs/ja/2.6.0/client-libraries-java/index.html |  40 +-
 content/docs/ja/2.6.0/concepts-messaging.html      |  34 +-
 .../docs/ja/2.6.0/concepts-messaging/index.html    |  34 +-
 content/docs/ja/2.6.0/concepts-overview.html       |   2 +-
 content/docs/ja/2.6.0/concepts-overview/index.html |   2 +-
 content/docs/ja/2.6.1/client-libraries-java.html   |  40 +-
 .../docs/ja/2.6.1/client-libraries-java/index.html |  40 +-
 content/docs/ja/2.6.1/concepts-messaging.html      |  38 +-
 .../docs/ja/2.6.1/concepts-messaging/index.html    |  38 +-
 content/docs/ja/2.6.1/concepts-overview.html       |   2 +-
 content/docs/ja/2.6.1/concepts-overview/index.html |   2 +-
 content/docs/ja/2.6.2/client-libraries-java.html   |  40 +-
 .../docs/ja/2.6.2/client-libraries-java/index.html |  40 +-
 content/docs/ja/2.6.2/concepts-messaging.html      |  38 +-
 .../docs/ja/2.6.2/concepts-messaging/index.html    |  38 +-
 content/docs/ja/2.6.2/concepts-overview.html       |   2 +-
 content/docs/ja/2.6.2/concepts-overview/index.html |   2 +-
 content/docs/ja/2.6.3/client-libraries-java.html   |  40 +-
 .../docs/ja/2.6.3/client-libraries-java/index.html |  40 +-
 content/docs/ja/2.6.3/concepts-messaging.html      |  38 +-
 .../docs/ja/2.6.3/concepts-messaging/index.html    |  38 +-
 content/docs/ja/2.6.3/concepts-overview.html       |   2 +-
 content/docs/ja/2.6.3/concepts-overview/index.html |   2 +-
 content/docs/ja/2.6.4/client-libraries-java.html   |  40 +-
 .../docs/ja/2.6.4/client-libraries-java/index.html |  40 +-
 content/docs/ja/2.6.4/concepts-messaging.html      |  40 +-
 .../docs/ja/2.6.4/concepts-messaging/index.html    |  40 +-
 content/docs/ja/2.6.4/concepts-overview.html       |   2 +-
 content/docs/ja/2.6.4/concepts-overview/index.html |   2 +-
 content/docs/ja/2.7.0/client-libraries-java.html   |  40 +-
 .../docs/ja/2.7.0/client-libraries-java/index.html |  40 +-
 content/docs/ja/2.7.0/concepts-messaging.html      |  44 +-
 .../docs/ja/2.7.0/concepts-messaging/index.html    |  44 +-
 content/docs/ja/2.7.0/concepts-overview.html       |   2 +-
 content/docs/ja/2.7.0/concepts-overview/index.html |   2 +-
 content/docs/ja/2.7.0/reference-cli-tools.html     |   2 +-
 .../docs/ja/2.7.0/reference-cli-tools/index.html   |   2 +-
 content/docs/ja/2.7.0/reference-configuration.html |   4 +-
 .../ja/2.7.0/reference-configuration/index.html    |   4 +-
 content/docs/ja/2.7.1/client-libraries-java.html   |  40 +-
 .../docs/ja/2.7.1/client-libraries-java/index.html |  40 +-
 content/docs/ja/2.7.1/concepts-messaging.html      |  44 +-
 .../docs/ja/2.7.1/concepts-messaging/index.html    |  44 +-
 content/docs/ja/2.7.1/concepts-overview.html       |   2 +-
 content/docs/ja/2.7.1/concepts-overview/index.html |   2 +-
 content/docs/ja/2.7.1/reference-cli-tools.html     |   2 +-
 .../docs/ja/2.7.1/reference-cli-tools/index.html   |   2 +-
 content/docs/ja/2.7.1/reference-configuration.html |   4 +-
 .../ja/2.7.1/reference-configuration/index.html    |   4 +-
 content/docs/ja/2.7.2/client-libraries-java.html   |  40 +-
 .../docs/ja/2.7.2/client-libraries-java/index.html |  40 +-
 content/docs/ja/2.7.2/concepts-messaging.html      |  44 +-
 .../docs/ja/2.7.2/concepts-messaging/index.html    |  44 +-
 content/docs/ja/2.7.2/concepts-overview.html       |   2 +-
 content/docs/ja/2.7.2/concepts-overview/index.html |   2 +-
 content/docs/ja/2.7.2/reference-cli-tools.html     |   2 +-
 .../docs/ja/2.7.2/reference-cli-tools/index.html   |   2 +-
 content/docs/ja/2.7.2/reference-configuration.html |   4 +-
 .../ja/2.7.2/reference-configuration/index.html    |   4 +-
 content/docs/ja/2.7.3/client-libraries-java.html   |  40 +-
 .../docs/ja/2.7.3/client-libraries-java/index.html |  40 +-
 content/docs/ja/2.7.3/concepts-messaging.html      |  44 +-
 .../docs/ja/2.7.3/concepts-messaging/index.html    |  44 +-
 content/docs/ja/2.7.3/concepts-overview.html       |   2 +-
 content/docs/ja/2.7.3/concepts-overview/index.html |   2 +-
 content/docs/ja/2.7.3/reference-cli-tools.html     |   2 +-
 .../docs/ja/2.7.3/reference-cli-tools/index.html   |   2 +-
 content/docs/ja/2.7.3/reference-configuration.html |   4 +-
 .../ja/2.7.3/reference-configuration/index.html    |   4 +-
 content/docs/ja/2.8.0/client-libraries-java.html   |  40 +-
 .../docs/ja/2.8.0/client-libraries-java/index.html |  40 +-
 content/docs/ja/2.8.0/concepts-messaging.html      |  44 +-
 .../docs/ja/2.8.0/concepts-messaging/index.html    |  44 +-
 content/docs/ja/2.8.0/concepts-overview.html       |   2 +-
 content/docs/ja/2.8.0/concepts-overview/index.html |   2 +-
 content/docs/ja/2.8.0/reference-cli-tools.html     |   2 +-
 .../docs/ja/2.8.0/reference-cli-tools/index.html   |   2 +-
 content/docs/ja/2.8.0/reference-configuration.html |   4 +-
 .../ja/2.8.0/reference-configuration/index.html    |   4 +-
 content/docs/ja/2.8.0/transactions-api.html        |   2 +-
 content/docs/ja/2.8.0/transactions-api/index.html  |   2 +-
 content/docs/ja/client-libraries-java.html         |  40 +-
 content/docs/ja/client-libraries-java/index.html   |  40 +-
 content/docs/ja/concepts-messaging.html            |  44 +-
 content/docs/ja/concepts-messaging/index.html      |  44 +-
 content/docs/ja/concepts-overview.html             |   2 +-
 content/docs/ja/concepts-overview/index.html       |   2 +-
 content/docs/ja/next/client-libraries-java.html    |  31 +-
 .../docs/ja/next/client-libraries-java/index.html  |  31 +-
 content/docs/ja/next/concepts-messaging.html       |  54 +-
 content/docs/ja/next/concepts-messaging/index.html |  54 +-
 content/docs/ja/next/concepts-overview.html        |   2 +-
 content/docs/ja/next/concepts-overview/index.html  |   2 +-
 content/docs/ja/next/reference-cli-tools.html      |   2 +-
 .../docs/ja/next/reference-cli-tools/index.html    |   2 +-
 content/docs/ja/next/reference-configuration.html  |   4 +-
 .../ja/next/reference-configuration/index.html     |   4 +-
 content/docs/ja/next/transactions-api.html         |   2 +-
 content/docs/ja/next/transactions-api/index.html   |   2 +-
 content/docs/ja/reference-cli-tools.html           |   2 +-
 content/docs/ja/reference-cli-tools/index.html     |   2 +-
 content/docs/ja/reference-configuration.html       |   4 +-
 content/docs/ja/reference-configuration/index.html |   4 +-
 content/docs/ja/transactions-api.html              |   2 +-
 content/docs/ja/transactions-api/index.html        |   2 +-
 .../ko/2.1.0-incubating/concepts-messaging.html    |  40 +-
 .../2.1.0-incubating/concepts-messaging/index.html |  40 +-
 .../ko/2.1.0-incubating/concepts-overview.html     |   2 +-
 .../2.1.0-incubating/concepts-overview/index.html  |   2 +-
 .../ko/2.1.1-incubating/concepts-messaging.html    |  40 +-
 .../2.1.1-incubating/concepts-messaging/index.html |  40 +-
 .../ko/2.1.1-incubating/concepts-overview.html     |   2 +-
 .../2.1.1-incubating/concepts-overview/index.html  |   2 +-
 content/docs/ko/2.2.0/concepts-messaging.html      |  40 +-
 .../docs/ko/2.2.0/concepts-messaging/index.html    |  40 +-
 content/docs/ko/2.2.0/concepts-overview.html       |   2 +-
 content/docs/ko/2.2.0/concepts-overview/index.html |   2 +-
 content/docs/ko/2.2.1/concepts-messaging.html      |  40 +-
 .../docs/ko/2.2.1/concepts-messaging/index.html    |  40 +-
 content/docs/ko/2.2.1/concepts-overview.html       |   2 +-
 content/docs/ko/2.2.1/concepts-overview/index.html |   2 +-
 content/docs/ko/2.3.0/concepts-messaging.html      |  28 +-
 .../docs/ko/2.3.0/concepts-messaging/index.html    |  28 +-
 content/docs/ko/2.3.0/concepts-overview.html       |   2 +-
 content/docs/ko/2.3.0/concepts-overview/index.html |   2 +-
 content/docs/ko/2.3.1/concepts-messaging.html      |  28 +-
 .../docs/ko/2.3.1/concepts-messaging/index.html    |  28 +-
 content/docs/ko/2.3.1/concepts-overview.html       |   2 +-
 content/docs/ko/2.3.1/concepts-overview/index.html |   2 +-
 content/docs/ko/2.3.2/concepts-messaging.html      |  40 +-
 .../docs/ko/2.3.2/concepts-messaging/index.html    |  40 +-
 content/docs/ko/2.3.2/concepts-overview.html       |   2 +-
 content/docs/ko/2.3.2/concepts-overview/index.html |   2 +-
 content/docs/ko/2.4.0/client-libraries-java.html   |  34 +-
 .../docs/ko/2.4.0/client-libraries-java/index.html |  34 +-
 content/docs/ko/2.4.0/concepts-messaging.html      |  40 +-
 .../docs/ko/2.4.0/concepts-messaging/index.html    |  40 +-
 content/docs/ko/2.4.0/concepts-overview.html       |   2 +-
 content/docs/ko/2.4.0/concepts-overview/index.html |   2 +-
 content/docs/ko/2.4.1/client-libraries-java.html   |  34 +-
 .../docs/ko/2.4.1/client-libraries-java/index.html |  34 +-
 content/docs/ko/2.4.1/concepts-messaging.html      |  40 +-
 .../docs/ko/2.4.1/concepts-messaging/index.html    |  40 +-
 content/docs/ko/2.4.1/concepts-overview.html       |   2 +-
 content/docs/ko/2.4.1/concepts-overview/index.html |   2 +-
 content/docs/ko/2.4.2/client-libraries-java.html   |  31 +-
 .../docs/ko/2.4.2/client-libraries-java/index.html |  31 +-
 content/docs/ko/2.4.2/concepts-messaging.html      |  38 +-
 .../docs/ko/2.4.2/concepts-messaging/index.html    |  38 +-
 content/docs/ko/2.4.2/concepts-overview.html       |   2 +-
 content/docs/ko/2.4.2/concepts-overview/index.html |   2 +-
 content/docs/ko/2.5.0/client-libraries-java.html   |  53 +-
 .../docs/ko/2.5.0/client-libraries-java/index.html |  53 +-
 content/docs/ko/2.5.0/concepts-messaging.html      |  40 +-
 .../docs/ko/2.5.0/concepts-messaging/index.html    |  40 +-
 content/docs/ko/2.5.0/concepts-overview.html       |   2 +-
 content/docs/ko/2.5.0/concepts-overview/index.html |   2 +-
 content/docs/ko/2.5.1/client-libraries-java.html   |  57 +-
 .../docs/ko/2.5.1/client-libraries-java/index.html |  57 +-
 content/docs/ko/2.5.1/concepts-messaging.html      |  38 +-
 .../docs/ko/2.5.1/concepts-messaging/index.html    |  38 +-
 content/docs/ko/2.5.1/concepts-overview.html       |   2 +-
 content/docs/ko/2.5.1/concepts-overview/index.html |   2 +-
 content/docs/ko/2.5.2/client-libraries-java.html   |  40 +-
 .../docs/ko/2.5.2/client-libraries-java/index.html |  40 +-
 content/docs/ko/2.5.2/concepts-messaging.html      |  38 +-
 .../docs/ko/2.5.2/concepts-messaging/index.html    |  38 +-
 content/docs/ko/2.5.2/concepts-overview.html       |   2 +-
 content/docs/ko/2.5.2/concepts-overview/index.html |   2 +-
 content/docs/ko/2.6.0/client-libraries-java.html   |  40 +-
 .../docs/ko/2.6.0/client-libraries-java/index.html |  40 +-
 content/docs/ko/2.6.0/concepts-messaging.html      |  34 +-
 .../docs/ko/2.6.0/concepts-messaging/index.html    |  34 +-
 content/docs/ko/2.6.0/concepts-overview.html       |   2 +-
 content/docs/ko/2.6.0/concepts-overview/index.html |   2 +-
 content/docs/ko/2.6.1/client-libraries-java.html   |  40 +-
 .../docs/ko/2.6.1/client-libraries-java/index.html |  40 +-
 content/docs/ko/2.6.1/concepts-messaging.html      |  38 +-
 .../docs/ko/2.6.1/concepts-messaging/index.html    |  38 +-
 content/docs/ko/2.6.1/concepts-overview.html       |   2 +-
 content/docs/ko/2.6.1/concepts-overview/index.html |   2 +-
 content/docs/ko/2.6.2/client-libraries-java.html   |  40 +-
 .../docs/ko/2.6.2/client-libraries-java/index.html |  40 +-
 content/docs/ko/2.6.2/concepts-messaging.html      |  38 +-
 .../docs/ko/2.6.2/concepts-messaging/index.html    |  38 +-
 content/docs/ko/2.6.2/concepts-overview.html       |   2 +-
 content/docs/ko/2.6.2/concepts-overview/index.html |   2 +-
 content/docs/ko/2.6.3/client-libraries-java.html   |  40 +-
 .../docs/ko/2.6.3/client-libraries-java/index.html |  40 +-
 content/docs/ko/2.6.3/concepts-messaging.html      |  38 +-
 .../docs/ko/2.6.3/concepts-messaging/index.html    |  38 +-
 content/docs/ko/2.6.3/concepts-overview.html       |   2 +-
 content/docs/ko/2.6.3/concepts-overview/index.html |   2 +-
 content/docs/ko/2.6.4/client-libraries-java.html   |  40 +-
 .../docs/ko/2.6.4/client-libraries-java/index.html |  40 +-
 content/docs/ko/2.6.4/concepts-messaging.html      |  40 +-
 .../docs/ko/2.6.4/concepts-messaging/index.html    |  40 +-
 content/docs/ko/2.6.4/concepts-overview.html       |   2 +-
 content/docs/ko/2.6.4/concepts-overview/index.html |   2 +-
 content/docs/ko/2.7.0/client-libraries-java.html   |  40 +-
 .../docs/ko/2.7.0/client-libraries-java/index.html |  40 +-
 content/docs/ko/2.7.0/concepts-messaging.html      |  44 +-
 .../docs/ko/2.7.0/concepts-messaging/index.html    |  44 +-
 content/docs/ko/2.7.0/concepts-overview.html       |   2 +-
 content/docs/ko/2.7.0/concepts-overview/index.html |   2 +-
 content/docs/ko/2.7.0/reference-cli-tools.html     |   2 +-
 .../docs/ko/2.7.0/reference-cli-tools/index.html   |   2 +-
 content/docs/ko/2.7.0/reference-configuration.html |   4 +-
 .../ko/2.7.0/reference-configuration/index.html    |   4 +-
 content/docs/ko/2.7.1/client-libraries-java.html   |  40 +-
 .../docs/ko/2.7.1/client-libraries-java/index.html |  40 +-
 content/docs/ko/2.7.1/concepts-messaging.html      |  44 +-
 .../docs/ko/2.7.1/concepts-messaging/index.html    |  44 +-
 content/docs/ko/2.7.1/concepts-overview.html       |   2 +-
 content/docs/ko/2.7.1/concepts-overview/index.html |   2 +-
 content/docs/ko/2.7.1/reference-cli-tools.html     |   2 +-
 .../docs/ko/2.7.1/reference-cli-tools/index.html   |   2 +-
 content/docs/ko/2.7.1/reference-configuration.html |   4 +-
 .../ko/2.7.1/reference-configuration/index.html    |   4 +-
 content/docs/ko/2.7.2/client-libraries-java.html   |  40 +-
 .../docs/ko/2.7.2/client-libraries-java/index.html |  40 +-
 content/docs/ko/2.7.2/concepts-messaging.html      |  44 +-
 .../docs/ko/2.7.2/concepts-messaging/index.html    |  44 +-
 content/docs/ko/2.7.2/concepts-overview.html       |   2 +-
 content/docs/ko/2.7.2/concepts-overview/index.html |   2 +-
 content/docs/ko/2.7.2/reference-cli-tools.html     |   2 +-
 .../docs/ko/2.7.2/reference-cli-tools/index.html   |   2 +-
 content/docs/ko/2.7.2/reference-configuration.html |   4 +-
 .../ko/2.7.2/reference-configuration/index.html    |   4 +-
 content/docs/ko/2.7.3/client-libraries-java.html   |  40 +-
 .../docs/ko/2.7.3/client-libraries-java/index.html |  40 +-
 content/docs/ko/2.7.3/concepts-messaging.html      |  44 +-
 .../docs/ko/2.7.3/concepts-messaging/index.html    |  44 +-
 content/docs/ko/2.7.3/concepts-overview.html       |   2 +-
 content/docs/ko/2.7.3/concepts-overview/index.html |   2 +-
 content/docs/ko/2.7.3/reference-cli-tools.html     |   2 +-
 .../docs/ko/2.7.3/reference-cli-tools/index.html   |   2 +-
 content/docs/ko/2.7.3/reference-configuration.html |   4 +-
 .../ko/2.7.3/reference-configuration/index.html    |   4 +-
 content/docs/ko/2.8.0/client-libraries-java.html   |  40 +-
 .../docs/ko/2.8.0/client-libraries-java/index.html |  40 +-
 content/docs/ko/2.8.0/concepts-messaging.html      |  44 +-
 .../docs/ko/2.8.0/concepts-messaging/index.html    |  44 +-
 content/docs/ko/2.8.0/concepts-overview.html       |   2 +-
 content/docs/ko/2.8.0/concepts-overview/index.html |   2 +-
 content/docs/ko/2.8.0/reference-cli-tools.html     |   2 +-
 .../docs/ko/2.8.0/reference-cli-tools/index.html   |   2 +-
 content/docs/ko/2.8.0/reference-configuration.html |   4 +-
 .../ko/2.8.0/reference-configuration/index.html    |   4 +-
 content/docs/ko/2.8.0/transactions-api.html        |   2 +-
 content/docs/ko/2.8.0/transactions-api/index.html  |   2 +-
 content/docs/ko/client-libraries-java.html         |  40 +-
 content/docs/ko/client-libraries-java/index.html   |  40 +-
 content/docs/ko/concepts-messaging.html            |  44 +-
 content/docs/ko/concepts-messaging/index.html      |  44 +-
 content/docs/ko/concepts-overview.html             |   2 +-
 content/docs/ko/concepts-overview/index.html       |   2 +-
 content/docs/ko/next/client-libraries-java.html    |  31 +-
 .../docs/ko/next/client-libraries-java/index.html  |  31 +-
 content/docs/ko/next/concepts-messaging.html       |  54 +-
 content/docs/ko/next/concepts-messaging/index.html |  54 +-
 content/docs/ko/next/concepts-overview.html        |   2 +-
 content/docs/ko/next/concepts-overview/index.html  |   2 +-
 content/docs/ko/next/reference-cli-tools.html      |   2 +-
 .../docs/ko/next/reference-cli-tools/index.html    |   2 +-
 content/docs/ko/next/reference-configuration.html  |   4 +-
 .../ko/next/reference-configuration/index.html     |   4 +-
 content/docs/ko/next/transactions-api.html         |   2 +-
 content/docs/ko/next/transactions-api/index.html   |   2 +-
 content/docs/ko/reference-cli-tools.html           |   2 +-
 content/docs/ko/reference-cli-tools/index.html     |   2 +-
 content/docs/ko/reference-configuration.html       |   4 +-
 content/docs/ko/reference-configuration/index.html |   4 +-
 content/docs/ko/transactions-api.html              |   2 +-
 content/docs/ko/transactions-api/index.html        |   2 +-
 .../zh-CN/2.1.0-incubating/concepts-messaging.html |  40 +-
 .../2.1.0-incubating/concepts-messaging/index.html |  40 +-
 .../zh-CN/2.1.0-incubating/concepts-overview.html  |   2 +-
 .../2.1.0-incubating/concepts-overview/index.html  |   2 +-
 .../zh-CN/2.1.1-incubating/concepts-messaging.html |  40 +-
 .../2.1.1-incubating/concepts-messaging/index.html |  40 +-
 .../zh-CN/2.1.1-incubating/concepts-overview.html  |   2 +-
 .../2.1.1-incubating/concepts-overview/index.html  |   2 +-
 content/docs/zh-CN/2.2.0/concepts-messaging.html   |  40 +-
 .../docs/zh-CN/2.2.0/concepts-messaging/index.html |  40 +-
 content/docs/zh-CN/2.2.0/concepts-overview.html    |   2 +-
 .../docs/zh-CN/2.2.0/concepts-overview/index.html  |   2 +-
 content/docs/zh-CN/2.2.1/concepts-messaging.html   |  40 +-
 .../docs/zh-CN/2.2.1/concepts-messaging/index.html |  40 +-
 content/docs/zh-CN/2.2.1/concepts-overview.html    |   2 +-
 .../docs/zh-CN/2.2.1/concepts-overview/index.html  |   2 +-
 content/docs/zh-CN/2.3.0/concepts-messaging.html   |  28 +-
 .../docs/zh-CN/2.3.0/concepts-messaging/index.html |  28 +-
 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.1/concepts-messaging.html   |  28 +-
 .../docs/zh-CN/2.3.1/concepts-messaging/index.html |  28 +-
 content/docs/zh-CN/2.3.1/concepts-overview.html    |   2 +-
 .../docs/zh-CN/2.3.1/concepts-overview/index.html  |   2 +-
 content/docs/zh-CN/2.3.2/concepts-messaging.html   |  40 +-
 .../docs/zh-CN/2.3.2/concepts-messaging/index.html |  40 +-
 content/docs/zh-CN/2.3.2/concepts-overview.html    |   2 +-
 .../docs/zh-CN/2.3.2/concepts-overview/index.html  |   2 +-
 .../docs/zh-CN/2.4.0/client-libraries-java.html    |  34 +-
 .../zh-CN/2.4.0/client-libraries-java/index.html   |  34 +-
 content/docs/zh-CN/2.4.0/concepts-messaging.html   |  40 +-
 .../docs/zh-CN/2.4.0/concepts-messaging/index.html |  40 +-
 content/docs/zh-CN/2.4.0/concepts-overview.html    |   2 +-
 .../docs/zh-CN/2.4.0/concepts-overview/index.html  |   2 +-
 .../docs/zh-CN/2.4.1/client-libraries-java.html    |  34 +-
 .../zh-CN/2.4.1/client-libraries-java/index.html   |  34 +-
 content/docs/zh-CN/2.4.1/concepts-messaging.html   |  40 +-
 .../docs/zh-CN/2.4.1/concepts-messaging/index.html |  40 +-
 content/docs/zh-CN/2.4.1/concepts-overview.html    |   2 +-
 .../docs/zh-CN/2.4.1/concepts-overview/index.html  |   2 +-
 .../docs/zh-CN/2.4.2/client-libraries-java.html    |  31 +-
 .../zh-CN/2.4.2/client-libraries-java/index.html   |  31 +-
 content/docs/zh-CN/2.4.2/concepts-messaging.html   |  38 +-
 .../docs/zh-CN/2.4.2/concepts-messaging/index.html |  38 +-
 content/docs/zh-CN/2.4.2/concepts-overview.html    |   2 +-
 .../docs/zh-CN/2.4.2/concepts-overview/index.html  |   2 +-
 .../docs/zh-CN/2.5.0/client-libraries-java.html    |  36 +-
 .../zh-CN/2.5.0/client-libraries-java/index.html   |  36 +-
 content/docs/zh-CN/2.5.0/concepts-messaging.html   |  40 +-
 .../docs/zh-CN/2.5.0/concepts-messaging/index.html |  40 +-
 content/docs/zh-CN/2.5.0/concepts-overview.html    |   2 +-
 .../docs/zh-CN/2.5.0/concepts-overview/index.html  |   2 +-
 .../docs/zh-CN/2.5.1/client-libraries-java.html    |  40 +-
 .../zh-CN/2.5.1/client-libraries-java/index.html   |  40 +-
 content/docs/zh-CN/2.5.1/concepts-messaging.html   |  38 +-
 .../docs/zh-CN/2.5.1/concepts-messaging/index.html |  38 +-
 content/docs/zh-CN/2.5.1/concepts-overview.html    |   2 +-
 .../docs/zh-CN/2.5.1/concepts-overview/index.html  |   2 +-
 .../docs/zh-CN/2.5.2/client-libraries-java.html    |  40 +-
 .../zh-CN/2.5.2/client-libraries-java/index.html   |  40 +-
 content/docs/zh-CN/2.5.2/concepts-messaging.html   |  38 +-
 .../docs/zh-CN/2.5.2/concepts-messaging/index.html |  38 +-
 content/docs/zh-CN/2.5.2/concepts-overview.html    |   2 +-
 .../docs/zh-CN/2.5.2/concepts-overview/index.html  |   2 +-
 .../docs/zh-CN/2.6.0/client-libraries-java.html    |  40 +-
 .../zh-CN/2.6.0/client-libraries-java/index.html   |  40 +-
 content/docs/zh-CN/2.6.0/concepts-messaging.html   |  34 +-
 .../docs/zh-CN/2.6.0/concepts-messaging/index.html |  34 +-
 content/docs/zh-CN/2.6.0/concepts-overview.html    |   2 +-
 .../docs/zh-CN/2.6.0/concepts-overview/index.html  |   2 +-
 .../docs/zh-CN/2.6.1/client-libraries-java.html    |  40 +-
 .../zh-CN/2.6.1/client-libraries-java/index.html   |  40 +-
 content/docs/zh-CN/2.6.1/concepts-messaging.html   |  38 +-
 .../docs/zh-CN/2.6.1/concepts-messaging/index.html |  38 +-
 content/docs/zh-CN/2.6.1/concepts-overview.html    |   2 +-
 .../docs/zh-CN/2.6.1/concepts-overview/index.html  |   2 +-
 .../docs/zh-CN/2.6.2/client-libraries-java.html    |  40 +-
 .../zh-CN/2.6.2/client-libraries-java/index.html   |  40 +-
 content/docs/zh-CN/2.6.2/concepts-messaging.html   |  38 +-
 .../docs/zh-CN/2.6.2/concepts-messaging/index.html |  38 +-
 content/docs/zh-CN/2.6.2/concepts-overview.html    |   2 +-
 .../docs/zh-CN/2.6.2/concepts-overview/index.html  |   2 +-
 .../docs/zh-CN/2.6.3/client-libraries-java.html    |  40 +-
 .../zh-CN/2.6.3/client-libraries-java/index.html   |  40 +-
 content/docs/zh-CN/2.6.3/concepts-messaging.html   |  38 +-
 .../docs/zh-CN/2.6.3/concepts-messaging/index.html |  38 +-
 content/docs/zh-CN/2.6.3/concepts-overview.html    |   2 +-
 .../docs/zh-CN/2.6.3/concepts-overview/index.html  |   2 +-
 .../docs/zh-CN/2.6.4/client-libraries-java.html    |  40 +-
 .../zh-CN/2.6.4/client-libraries-java/index.html   |  40 +-
 content/docs/zh-CN/2.6.4/concepts-messaging.html   |  40 +-
 .../docs/zh-CN/2.6.4/concepts-messaging/index.html |  40 +-
 content/docs/zh-CN/2.6.4/concepts-overview.html    |   2 +-
 .../docs/zh-CN/2.6.4/concepts-overview/index.html  |   2 +-
 .../docs/zh-CN/2.7.0/client-libraries-java.html    |  40 +-
 .../zh-CN/2.7.0/client-libraries-java/index.html   |  40 +-
 content/docs/zh-CN/2.7.0/concepts-messaging.html   |  44 +-
 .../docs/zh-CN/2.7.0/concepts-messaging/index.html |  44 +-
 content/docs/zh-CN/2.7.0/concepts-overview.html    |   2 +-
 .../docs/zh-CN/2.7.0/concepts-overview/index.html  |   2 +-
 content/docs/zh-CN/2.7.0/reference-cli-tools.html  |   2 +-
 .../zh-CN/2.7.0/reference-cli-tools/index.html     |   2 +-
 .../docs/zh-CN/2.7.0/reference-configuration.html  |   4 +-
 .../zh-CN/2.7.0/reference-configuration/index.html |   4 +-
 .../docs/zh-CN/2.7.1/client-libraries-java.html    |  40 +-
 .../zh-CN/2.7.1/client-libraries-java/index.html   |  40 +-
 content/docs/zh-CN/2.7.1/concepts-messaging.html   |  44 +-
 .../docs/zh-CN/2.7.1/concepts-messaging/index.html |  44 +-
 content/docs/zh-CN/2.7.1/concepts-overview.html    |   2 +-
 .../docs/zh-CN/2.7.1/concepts-overview/index.html  |   2 +-
 content/docs/zh-CN/2.7.1/reference-cli-tools.html  |   2 +-
 .../zh-CN/2.7.1/reference-cli-tools/index.html     |   2 +-
 .../docs/zh-CN/2.7.1/reference-configuration.html  |   4 +-
 .../zh-CN/2.7.1/reference-configuration/index.html |   4 +-
 .../docs/zh-CN/2.7.2/client-libraries-java.html    |  40 +-
 .../zh-CN/2.7.2/client-libraries-java/index.html   |  40 +-
 content/docs/zh-CN/2.7.2/concepts-messaging.html   |  44 +-
 .../docs/zh-CN/2.7.2/concepts-messaging/index.html |  44 +-
 content/docs/zh-CN/2.7.2/concepts-overview.html    |   2 +-
 .../docs/zh-CN/2.7.2/concepts-overview/index.html  |   2 +-
 content/docs/zh-CN/2.7.2/reference-cli-tools.html  |   2 +-
 .../zh-CN/2.7.2/reference-cli-tools/index.html     |   2 +-
 .../docs/zh-CN/2.7.2/reference-configuration.html  |   4 +-
 .../zh-CN/2.7.2/reference-configuration/index.html |   4 +-
 .../docs/zh-CN/2.7.3/client-libraries-java.html    |  40 +-
 .../zh-CN/2.7.3/client-libraries-java/index.html   |  40 +-
 content/docs/zh-CN/2.7.3/concepts-messaging.html   |  44 +-
 .../docs/zh-CN/2.7.3/concepts-messaging/index.html |  44 +-
 content/docs/zh-CN/2.7.3/concepts-overview.html    |   2 +-
 .../docs/zh-CN/2.7.3/concepts-overview/index.html  |   2 +-
 content/docs/zh-CN/2.7.3/reference-cli-tools.html  |   2 +-
 .../zh-CN/2.7.3/reference-cli-tools/index.html     |   2 +-
 .../docs/zh-CN/2.7.3/reference-configuration.html  |   4 +-
 .../zh-CN/2.7.3/reference-configuration/index.html |   4 +-
 .../docs/zh-CN/2.8.0/client-libraries-java.html    |  40 +-
 .../zh-CN/2.8.0/client-libraries-java/index.html   |  40 +-
 content/docs/zh-CN/2.8.0/concepts-messaging.html   |  44 +-
 .../docs/zh-CN/2.8.0/concepts-messaging/index.html |  44 +-
 content/docs/zh-CN/2.8.0/concepts-overview.html    |   2 +-
 .../docs/zh-CN/2.8.0/concepts-overview/index.html  |   2 +-
 content/docs/zh-CN/2.8.0/reference-cli-tools.html  |   2 +-
 .../zh-CN/2.8.0/reference-cli-tools/index.html     |   2 +-
 .../docs/zh-CN/2.8.0/reference-configuration.html  |   4 +-
 .../zh-CN/2.8.0/reference-configuration/index.html |   4 +-
 content/docs/zh-CN/2.8.0/transactions-api.html     |   2 +-
 .../docs/zh-CN/2.8.0/transactions-api/index.html   |   2 +-
 content/docs/zh-CN/client-libraries-java.html      |  40 +-
 .../docs/zh-CN/client-libraries-java/index.html    |  40 +-
 content/docs/zh-CN/concepts-messaging.html         |  44 +-
 content/docs/zh-CN/concepts-messaging/index.html   |  44 +-
 content/docs/zh-CN/concepts-overview.html          |   2 +-
 content/docs/zh-CN/concepts-overview/index.html    |   2 +-
 content/docs/zh-CN/next/client-libraries-java.html |  37 +-
 .../zh-CN/next/client-libraries-java/index.html    |  37 +-
 content/docs/zh-CN/next/concepts-messaging.html    |  54 +-
 .../docs/zh-CN/next/concepts-messaging/index.html  |  54 +-
 content/docs/zh-CN/next/concepts-overview.html     |   2 +-
 .../docs/zh-CN/next/concepts-overview/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   |   4 +-
 .../zh-CN/next/reference-configuration/index.html  |   4 +-
 content/docs/zh-CN/next/transactions-api.html      |   2 +-
 .../docs/zh-CN/next/transactions-api/index.html    |   2 +-
 content/docs/zh-CN/reference-cli-tools.html        |   2 +-
 content/docs/zh-CN/reference-cli-tools/index.html  |   2 +-
 content/docs/zh-CN/reference-configuration.html    |   4 +-
 .../docs/zh-CN/reference-configuration/index.html  |   4 +-
 content/docs/zh-CN/transactions-api.html           |   2 +-
 content/docs/zh-CN/transactions-api/index.html     |   2 +-
 .../zh-TW/2.1.0-incubating/concepts-messaging.html |  40 +-
 .../2.1.0-incubating/concepts-messaging/index.html |  40 +-
 .../zh-TW/2.1.0-incubating/concepts-overview.html  |   2 +-
 .../2.1.0-incubating/concepts-overview/index.html  |   2 +-
 .../zh-TW/2.1.1-incubating/concepts-messaging.html |  40 +-
 .../2.1.1-incubating/concepts-messaging/index.html |  40 +-
 .../zh-TW/2.1.1-incubating/concepts-overview.html  |   2 +-
 .../2.1.1-incubating/concepts-overview/index.html  |   2 +-
 content/docs/zh-TW/2.2.0/concepts-messaging.html   |  40 +-
 .../docs/zh-TW/2.2.0/concepts-messaging/index.html |  40 +-
 content/docs/zh-TW/2.2.0/concepts-overview.html    |   2 +-
 .../docs/zh-TW/2.2.0/concepts-overview/index.html  |   2 +-
 content/docs/zh-TW/2.2.1/concepts-messaging.html   |  40 +-
 .../docs/zh-TW/2.2.1/concepts-messaging/index.html |  40 +-
 content/docs/zh-TW/2.2.1/concepts-overview.html    |   2 +-
 .../docs/zh-TW/2.2.1/concepts-overview/index.html  |   2 +-
 content/docs/zh-TW/2.3.0/concepts-messaging.html   |  28 +-
 .../docs/zh-TW/2.3.0/concepts-messaging/index.html |  28 +-
 content/docs/zh-TW/2.3.0/concepts-overview.html    |   2 +-
 .../docs/zh-TW/2.3.0/concepts-overview/index.html  |   2 +-
 content/docs/zh-TW/2.3.1/concepts-messaging.html   |  28 +-
 .../docs/zh-TW/2.3.1/concepts-messaging/index.html |  28 +-
 content/docs/zh-TW/2.3.1/concepts-overview.html    |   2 +-
 .../docs/zh-TW/2.3.1/concepts-overview/index.html  |   2 +-
 content/docs/zh-TW/2.3.2/concepts-messaging.html   |  40 +-
 .../docs/zh-TW/2.3.2/concepts-messaging/index.html |  40 +-
 content/docs/zh-TW/2.3.2/concepts-overview.html    |   2 +-
 .../docs/zh-TW/2.3.2/concepts-overview/index.html  |   2 +-
 .../docs/zh-TW/2.4.0/client-libraries-java.html    |  34 +-
 .../zh-TW/2.4.0/client-libraries-java/index.html   |  34 +-
 content/docs/zh-TW/2.4.0/concepts-messaging.html   |  40 +-
 .../docs/zh-TW/2.4.0/concepts-messaging/index.html |  40 +-
 content/docs/zh-TW/2.4.0/concepts-overview.html    |   2 +-
 .../docs/zh-TW/2.4.0/concepts-overview/index.html  |   2 +-
 .../docs/zh-TW/2.4.1/client-libraries-java.html    |  34 +-
 .../zh-TW/2.4.1/client-libraries-java/index.html   |  34 +-
 content/docs/zh-TW/2.4.1/concepts-messaging.html   |  40 +-
 .../docs/zh-TW/2.4.1/concepts-messaging/index.html |  40 +-
 content/docs/zh-TW/2.4.1/concepts-overview.html    |   2 +-
 .../docs/zh-TW/2.4.1/concepts-overview/index.html  |   2 +-
 .../docs/zh-TW/2.4.2/client-libraries-java.html    |  31 +-
 .../zh-TW/2.4.2/client-libraries-java/index.html   |  31 +-
 content/docs/zh-TW/2.4.2/concepts-messaging.html   |  38 +-
 .../docs/zh-TW/2.4.2/concepts-messaging/index.html |  38 +-
 content/docs/zh-TW/2.4.2/concepts-overview.html    |   2 +-
 .../docs/zh-TW/2.4.2/concepts-overview/index.html  |   2 +-
 .../docs/zh-TW/2.5.0/client-libraries-java.html    |  53 +-
 .../zh-TW/2.5.0/client-libraries-java/index.html   |  53 +-
 content/docs/zh-TW/2.5.0/concepts-messaging.html   |  40 +-
 .../docs/zh-TW/2.5.0/concepts-messaging/index.html |  40 +-
 content/docs/zh-TW/2.5.0/concepts-overview.html    |   2 +-
 .../docs/zh-TW/2.5.0/concepts-overview/index.html  |   2 +-
 .../docs/zh-TW/2.5.1/client-libraries-java.html    |  40 +-
 .../zh-TW/2.5.1/client-libraries-java/index.html   |  40 +-
 content/docs/zh-TW/2.5.1/concepts-messaging.html   |  38 +-
 .../docs/zh-TW/2.5.1/concepts-messaging/index.html |  38 +-
 content/docs/zh-TW/2.5.1/concepts-overview.html    |   2 +-
 .../docs/zh-TW/2.5.1/concepts-overview/index.html  |   2 +-
 .../docs/zh-TW/2.5.2/client-libraries-java.html    |  40 +-
 .../zh-TW/2.5.2/client-libraries-java/index.html   |  40 +-
 content/docs/zh-TW/2.5.2/concepts-messaging.html   |  38 +-
 .../docs/zh-TW/2.5.2/concepts-messaging/index.html |  38 +-
 content/docs/zh-TW/2.5.2/concepts-overview.html    |   2 +-
 .../docs/zh-TW/2.5.2/concepts-overview/index.html  |   2 +-
 .../docs/zh-TW/2.6.0/client-libraries-java.html    |  40 +-
 .../zh-TW/2.6.0/client-libraries-java/index.html   |  40 +-
 content/docs/zh-TW/2.6.0/concepts-messaging.html   |  34 +-
 .../docs/zh-TW/2.6.0/concepts-messaging/index.html |  34 +-
 content/docs/zh-TW/2.6.0/concepts-overview.html    |   2 +-
 .../docs/zh-TW/2.6.0/concepts-overview/index.html  |   2 +-
 .../docs/zh-TW/2.6.1/client-libraries-java.html    |  40 +-
 .../zh-TW/2.6.1/client-libraries-java/index.html   |  40 +-
 content/docs/zh-TW/2.6.1/concepts-messaging.html   |  38 +-
 .../docs/zh-TW/2.6.1/concepts-messaging/index.html |  38 +-
 content/docs/zh-TW/2.6.1/concepts-overview.html    |   2 +-
 .../docs/zh-TW/2.6.1/concepts-overview/index.html  |   2 +-
 .../docs/zh-TW/2.6.2/client-libraries-java.html    |  40 +-
 .../zh-TW/2.6.2/client-libraries-java/index.html   |  40 +-
 content/docs/zh-TW/2.6.2/concepts-messaging.html   |  38 +-
 .../docs/zh-TW/2.6.2/concepts-messaging/index.html |  38 +-
 content/docs/zh-TW/2.6.2/concepts-overview.html    |   2 +-
 .../docs/zh-TW/2.6.2/concepts-overview/index.html  |   2 +-
 .../docs/zh-TW/2.6.3/client-libraries-java.html    |  40 +-
 .../zh-TW/2.6.3/client-libraries-java/index.html   |  40 +-
 content/docs/zh-TW/2.6.3/concepts-messaging.html   |  38 +-
 .../docs/zh-TW/2.6.3/concepts-messaging/index.html |  38 +-
 content/docs/zh-TW/2.6.3/concepts-overview.html    |   2 +-
 .../docs/zh-TW/2.6.3/concepts-overview/index.html  |   2 +-
 .../docs/zh-TW/2.6.4/client-libraries-java.html    |  40 +-
 .../zh-TW/2.6.4/client-libraries-java/index.html   |  40 +-
 content/docs/zh-TW/2.6.4/concepts-messaging.html   |  40 +-
 .../docs/zh-TW/2.6.4/concepts-messaging/index.html |  40 +-
 content/docs/zh-TW/2.6.4/concepts-overview.html    |   2 +-
 .../docs/zh-TW/2.6.4/concepts-overview/index.html  |   2 +-
 .../docs/zh-TW/2.7.0/client-libraries-java.html    |  40 +-
 .../zh-TW/2.7.0/client-libraries-java/index.html   |  40 +-
 content/docs/zh-TW/2.7.0/concepts-messaging.html   |  44 +-
 .../docs/zh-TW/2.7.0/concepts-messaging/index.html |  44 +-
 content/docs/zh-TW/2.7.0/concepts-overview.html    |   2 +-
 .../docs/zh-TW/2.7.0/concepts-overview/index.html  |   2 +-
 content/docs/zh-TW/2.7.0/reference-cli-tools.html  |   2 +-
 .../zh-TW/2.7.0/reference-cli-tools/index.html     |   2 +-
 .../docs/zh-TW/2.7.0/reference-configuration.html  |   4 +-
 .../zh-TW/2.7.0/reference-configuration/index.html |   4 +-
 .../docs/zh-TW/2.7.1/client-libraries-java.html    |  40 +-
 .../zh-TW/2.7.1/client-libraries-java/index.html   |  40 +-
 content/docs/zh-TW/2.7.1/concepts-messaging.html   |  44 +-
 .../docs/zh-TW/2.7.1/concepts-messaging/index.html |  44 +-
 content/docs/zh-TW/2.7.1/concepts-overview.html    |   2 +-
 .../docs/zh-TW/2.7.1/concepts-overview/index.html  |   2 +-
 content/docs/zh-TW/2.7.1/reference-cli-tools.html  |   2 +-
 .../zh-TW/2.7.1/reference-cli-tools/index.html     |   2 +-
 .../docs/zh-TW/2.7.1/reference-configuration.html  |   4 +-
 .../zh-TW/2.7.1/reference-configuration/index.html |   4 +-
 .../docs/zh-TW/2.7.2/client-libraries-java.html    |  40 +-
 .../zh-TW/2.7.2/client-libraries-java/index.html   |  40 +-
 content/docs/zh-TW/2.7.2/concepts-messaging.html   |  44 +-
 .../docs/zh-TW/2.7.2/concepts-messaging/index.html |  44 +-
 content/docs/zh-TW/2.7.2/concepts-overview.html    |   2 +-
 .../docs/zh-TW/2.7.2/concepts-overview/index.html  |   2 +-
 content/docs/zh-TW/2.7.2/reference-cli-tools.html  |   2 +-
 .../zh-TW/2.7.2/reference-cli-tools/index.html     |   2 +-
 .../docs/zh-TW/2.7.2/reference-configuration.html  |   4 +-
 .../zh-TW/2.7.2/reference-configuration/index.html |   4 +-
 .../docs/zh-TW/2.7.3/client-libraries-java.html    |  40 +-
 .../zh-TW/2.7.3/client-libraries-java/index.html   |  40 +-
 content/docs/zh-TW/2.7.3/concepts-messaging.html   |  44 +-
 .../docs/zh-TW/2.7.3/concepts-messaging/index.html |  44 +-
 content/docs/zh-TW/2.7.3/concepts-overview.html    |   2 +-
 .../docs/zh-TW/2.7.3/concepts-overview/index.html  |   2 +-
 content/docs/zh-TW/2.7.3/reference-cli-tools.html  |   2 +-
 .../zh-TW/2.7.3/reference-cli-tools/index.html     |   2 +-
 .../docs/zh-TW/2.7.3/reference-configuration.html  |   4 +-
 .../zh-TW/2.7.3/reference-configuration/index.html |   4 +-
 .../docs/zh-TW/2.8.0/client-libraries-java.html    |  40 +-
 .../zh-TW/2.8.0/client-libraries-java/index.html   |  40 +-
 content/docs/zh-TW/2.8.0/concepts-messaging.html   |  44 +-
 .../docs/zh-TW/2.8.0/concepts-messaging/index.html |  44 +-
 content/docs/zh-TW/2.8.0/concepts-overview.html    |   2 +-
 .../docs/zh-TW/2.8.0/concepts-overview/index.html  |   2 +-
 content/docs/zh-TW/2.8.0/reference-cli-tools.html  |   2 +-
 .../zh-TW/2.8.0/reference-cli-tools/index.html     |   2 +-
 .../docs/zh-TW/2.8.0/reference-configuration.html  |   4 +-
 .../zh-TW/2.8.0/reference-configuration/index.html |   4 +-
 content/docs/zh-TW/2.8.0/transactions-api.html     |   2 +-
 .../docs/zh-TW/2.8.0/transactions-api/index.html   |   2 +-
 content/docs/zh-TW/client-libraries-java.html      |  40 +-
 .../docs/zh-TW/client-libraries-java/index.html    |  40 +-
 content/docs/zh-TW/concepts-messaging.html         |  44 +-
 content/docs/zh-TW/concepts-messaging/index.html   |  44 +-
 content/docs/zh-TW/concepts-overview.html          |   2 +-
 content/docs/zh-TW/concepts-overview/index.html    |   2 +-
 content/docs/zh-TW/next/client-libraries-java.html |  31 +-
 .../zh-TW/next/client-libraries-java/index.html    |  31 +-
 content/docs/zh-TW/next/concepts-messaging.html    |  54 +-
 .../docs/zh-TW/next/concepts-messaging/index.html  |  54 +-
 content/docs/zh-TW/next/concepts-overview.html     |   2 +-
 .../docs/zh-TW/next/concepts-overview/index.html   |   2 +-
 content/docs/zh-TW/next/reference-cli-tools.html   |   2 +-
 .../docs/zh-TW/next/reference-cli-tools/index.html |   2 +-
 .../docs/zh-TW/next/reference-configuration.html   |   4 +-
 .../zh-TW/next/reference-configuration/index.html  |   4 +-
 content/docs/zh-TW/next/transactions-api.html      |   2 +-
 .../docs/zh-TW/next/transactions-api/index.html    |   2 +-
 content/docs/zh-TW/reference-cli-tools.html        |   2 +-
 content/docs/zh-TW/reference-cli-tools/index.html  |   2 +-
 content/docs/zh-TW/reference-configuration.html    |   4 +-
 .../docs/zh-TW/reference-configuration/index.html  |   4 +-
 content/docs/zh-TW/transactions-api.html           |   2 +-
 content/docs/zh-TW/transactions-api/index.html     |   2 +-
 content/swagger/2.10.0-SNAPSHOT/swagger.json       | 884 +++++++++----------
 .../swagger/2.10.0-SNAPSHOT/swaggerfunctions.json  | 516 +++++------
 .../swagger/2.10.0-SNAPSHOT/swaggerpackages.json   | 420 ++++-----
 content/swagger/2.10.0-SNAPSHOT/swaggersink.json   | 420 ++++-----
 content/swagger/2.10.0-SNAPSHOT/swaggersource.json | 420 ++++-----
 content/swagger/2.10.0-SNAPSHOT/v2/swagger.json    | 966 ++++++++++-----------
 .../2.10.0-SNAPSHOT/v3/swaggerfunctions.json       | 564 ++++++------
 .../2.10.0-SNAPSHOT/v3/swaggerpackages.json        | 462 +++++-----
 .../swagger/2.10.0-SNAPSHOT/v3/swaggersink.json    | 462 +++++-----
 .../swagger/2.10.0-SNAPSHOT/v3/swaggersource.json  | 462 +++++-----
 content/swagger/master/swagger.json                | 884 +++++++++----------
 content/swagger/master/swaggerfunctions.json       | 516 +++++------
 content/swagger/master/swaggerpackages.json        | 420 ++++-----
 content/swagger/master/swaggersink.json            | 420 ++++-----
 content/swagger/master/swaggersource.json          | 420 ++++-----
 content/swagger/master/v2/swagger.json             | 966 ++++++++++-----------
 content/swagger/master/v3/swaggerfunctions.json    | 564 ++++++------
 content/swagger/master/v3/swaggerpackages.json     | 462 +++++-----
 content/swagger/master/v3/swaggersink.json         | 462 +++++-----
 content/swagger/master/v3/swaggersource.json       | 462 +++++-----
 874 files changed, 14518 insertions(+), 14662 deletions(-)

diff --git a/content/api/python/2.10.0-SNAPSHOT/index.html b/content/api/python/2.10.0-SNAPSHOT/index.html
index 3cfc390..7120d30 100644
--- a/content/api/python/2.10.0-SNAPSHOT/index.html
+++ b/content/api/python/2.10.0-SNAPSHOT/index.html
@@ -3764,7 +3764,7 @@ producers and consumers.</p></div>
             
   <div class="item">
     <div class="name def" id="pulsar.Client.create_producer">
-    <p>def <span class="ident">create_producer</span>(</p><p>self, topic, producer_name=None, schema=&lt;pulsar.schema.schema.BytesSchema object at 0x7f75f7a90b90&gt;, initial_sequence_id=None, send_timeout_millis=30000, compression_type=_pulsar.CompressionType.NONE, max_pending_messages=1000, max_pending_messages_across_partitions=50000, block_if_queue_full=False, batching_enabled=False, batching_max_messages=1000, batching_max_allowed_size_in_bytes=131072, batching_max_publish_delay_ms [...]
+    <p>def <span class="ident">create_producer</span>(</p><p>self, topic, producer_name=None, schema=&lt;pulsar.schema.schema.BytesSchema object at 0x7feed2b6cc10&gt;, initial_sequence_id=None, send_timeout_millis=30000, compression_type=_pulsar.CompressionType.NONE, max_pending_messages=1000, max_pending_messages_across_partitions=50000, block_if_queue_full=False, batching_enabled=False, batching_max_messages=1000, batching_max_allowed_size_in_bytes=131072, batching_max_publish_delay_ms [...]
     </div>
     
 
@@ -4018,7 +4018,7 @@ batched into single batch message:
             
   <div class="item">
     <div class="name def" id="pulsar.Client.create_reader">
-    <p>def <span class="ident">create_reader</span>(</p><p>self, topic, start_message_id, schema=&lt;pulsar.schema.schema.BytesSchema object at 0x7f75f0019090&gt;, reader_listener=None, receiver_queue_size=1000, reader_name=None, subscription_role_prefix=None, is_read_compacted=False, crypto_key_reader=None)</p>
+    <p>def <span class="ident">create_reader</span>(</p><p>self, topic, start_message_id, schema=&lt;pulsar.schema.schema.BytesSchema object at 0x7feed1c60110&gt;, reader_listener=None, receiver_queue_size=1000, reader_name=None, subscription_role_prefix=None, is_read_compacted=False, crypto_key_reader=None)</p>
     </div>
     
 
@@ -4235,7 +4235,7 @@ for ongoing operations to complete.</p></div>
             
   <div class="item">
     <div class="name def" id="pulsar.Client.subscribe">
-    <p>def <span class="ident">subscribe</span>(</p><p>self, topic, subscription_name, consumer_type=_pulsar.ConsumerType.Exclusive, schema=&lt;pulsar.schema.schema.BytesSchema object at 0x7f75f000af90&gt;, message_listener=None, receiver_queue_size=1000, max_total_receiver_queue_size_across_partitions=50000, consumer_name=None, unacked_messages_timeout_ms=None, broker_consumer_stats_cache_time_ms=30000, negative_ack_redelivery_delay_ms=60000, is_read_compacted=False, properties=None, pa [...]
+    <p>def <span class="ident">subscribe</span>(</p><p>self, topic, subscription_name, consumer_type=_pulsar.ConsumerType.Exclusive, schema=&lt;pulsar.schema.schema.BytesSchema object at 0x7feed1c60050&gt;, message_listener=None, receiver_queue_size=1000, max_total_receiver_queue_size_across_partitions=50000, consumer_name=None, unacked_messages_timeout_ms=None, broker_consumer_stats_cache_time_ms=30000, negative_ack_redelivery_delay_ms=60000, is_read_compacted=False, properties=None, pa [...]
     </div>
     
 
diff --git a/content/api/python/2.10.0-SNAPSHOT/schema/schema.m.html b/content/api/python/2.10.0-SNAPSHOT/schema/schema.m.html
index 8560487..9262f6a 100644
--- a/content/api/python/2.10.0-SNAPSHOT/schema/schema.m.html
+++ b/content/api/python/2.10.0-SNAPSHOT/schema/schema.m.html
@@ -1100,6 +1100,9 @@ class BytesSchema(Schema):
     def decode(self, data):
         return data
 
+    def __str__(self):
+        return 'BytesSchema'
+
 
 class StringSchema(Schema):
     def __init__(self):
@@ -1112,6 +1115,10 @@ class StringSchema(Schema):
     def decode(self, data):
         return data.decode('utf-8')
 
+    def __str__(self):
+        return 'StringSchema'
+
+
 
 class JsonSchema(Schema):
 
@@ -1162,6 +1169,9 @@ class JsonSchema(Schema):
 
     def decode(self, data):
         return data
+
+    def __str__(self):
+        return 'BytesSchema'
 </code></pre>
   </div>
 </div>
@@ -1565,6 +1575,9 @@ def encode(self, obj):
 
     def decode(self, data):
         return data.decode('utf-8')
+
+    def __str__(self):
+        return 'StringSchema'
 </code></pre>
   </div>
 </div>
diff --git a/content/api/python/index.html b/content/api/python/index.html
index 3cfc390..7120d30 100644
--- a/content/api/python/index.html
+++ b/content/api/python/index.html
@@ -3764,7 +3764,7 @@ producers and consumers.</p></div>
             
   <div class="item">
     <div class="name def" id="pulsar.Client.create_producer">
-    <p>def <span class="ident">create_producer</span>(</p><p>self, topic, producer_name=None, schema=&lt;pulsar.schema.schema.BytesSchema object at 0x7f75f7a90b90&gt;, initial_sequence_id=None, send_timeout_millis=30000, compression_type=_pulsar.CompressionType.NONE, max_pending_messages=1000, max_pending_messages_across_partitions=50000, block_if_queue_full=False, batching_enabled=False, batching_max_messages=1000, batching_max_allowed_size_in_bytes=131072, batching_max_publish_delay_ms [...]
+    <p>def <span class="ident">create_producer</span>(</p><p>self, topic, producer_name=None, schema=&lt;pulsar.schema.schema.BytesSchema object at 0x7feed2b6cc10&gt;, initial_sequence_id=None, send_timeout_millis=30000, compression_type=_pulsar.CompressionType.NONE, max_pending_messages=1000, max_pending_messages_across_partitions=50000, block_if_queue_full=False, batching_enabled=False, batching_max_messages=1000, batching_max_allowed_size_in_bytes=131072, batching_max_publish_delay_ms [...]
     </div>
     
 
@@ -4018,7 +4018,7 @@ batched into single batch message:
             
   <div class="item">
     <div class="name def" id="pulsar.Client.create_reader">
-    <p>def <span class="ident">create_reader</span>(</p><p>self, topic, start_message_id, schema=&lt;pulsar.schema.schema.BytesSchema object at 0x7f75f0019090&gt;, reader_listener=None, receiver_queue_size=1000, reader_name=None, subscription_role_prefix=None, is_read_compacted=False, crypto_key_reader=None)</p>
+    <p>def <span class="ident">create_reader</span>(</p><p>self, topic, start_message_id, schema=&lt;pulsar.schema.schema.BytesSchema object at 0x7feed1c60110&gt;, reader_listener=None, receiver_queue_size=1000, reader_name=None, subscription_role_prefix=None, is_read_compacted=False, crypto_key_reader=None)</p>
     </div>
     
 
@@ -4235,7 +4235,7 @@ for ongoing operations to complete.</p></div>
             
   <div class="item">
     <div class="name def" id="pulsar.Client.subscribe">
-    <p>def <span class="ident">subscribe</span>(</p><p>self, topic, subscription_name, consumer_type=_pulsar.ConsumerType.Exclusive, schema=&lt;pulsar.schema.schema.BytesSchema object at 0x7f75f000af90&gt;, message_listener=None, receiver_queue_size=1000, max_total_receiver_queue_size_across_partitions=50000, consumer_name=None, unacked_messages_timeout_ms=None, broker_consumer_stats_cache_time_ms=30000, negative_ack_redelivery_delay_ms=60000, is_read_compacted=False, properties=None, pa [...]
+    <p>def <span class="ident">subscribe</span>(</p><p>self, topic, subscription_name, consumer_type=_pulsar.ConsumerType.Exclusive, schema=&lt;pulsar.schema.schema.BytesSchema object at 0x7feed1c60050&gt;, message_listener=None, receiver_queue_size=1000, max_total_receiver_queue_size_across_partitions=50000, consumer_name=None, unacked_messages_timeout_ms=None, broker_consumer_stats_cache_time_ms=30000, negative_ack_redelivery_delay_ms=60000, is_read_compacted=False, properties=None, pa [...]
     </div>
     
 
diff --git a/content/api/python/schema/schema.m.html b/content/api/python/schema/schema.m.html
index 8560487..9262f6a 100644
--- a/content/api/python/schema/schema.m.html
+++ b/content/api/python/schema/schema.m.html
@@ -1100,6 +1100,9 @@ class BytesSchema(Schema):
     def decode(self, data):
         return data
 
+    def __str__(self):
+        return 'BytesSchema'
+
 
 class StringSchema(Schema):
     def __init__(self):
@@ -1112,6 +1115,10 @@ class StringSchema(Schema):
     def decode(self, data):
         return data.decode('utf-8')
 
+    def __str__(self):
+        return 'StringSchema'
+
+
 
 class JsonSchema(Schema):
 
@@ -1162,6 +1169,9 @@ class JsonSchema(Schema):
 
     def decode(self, data):
         return data
+
+    def __str__(self):
+        return 'BytesSchema'
 </code></pre>
   </div>
 </div>
@@ -1565,6 +1575,9 @@ def encode(self, obj):
 
     def decode(self, data):
         return data.decode('utf-8')
+
+    def __str__(self):
+        return 'StringSchema'
 </code></pre>
   </div>
 </div>
diff --git a/content/docs/fr/2.1.0-incubating/concepts-messaging.html b/content/docs/fr/2.1.0-incubating/concepts-messaging.html
index cfae974..4d25eff 100644
--- a/content/docs/fr/2.1.0-incubating/concepts-messaging.html
+++ b/content/docs/fr/2.1.0-incubating/concepts-messaging.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>Messaging Concepts · Apache Pulsar</title><meta name="viewport" content="width=device-width, initial-scale=1.0"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar is built on the [publish-subscribe](https://en.wikipedia.org/wiki/Publish%E2%80%93subscribe_pattern) pattern, aka pub-sub. In this pattern, [producers](#producers) publish  [...]
+<!DOCTYPE html><html lang="fr"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Messaging Concepts · Apache Pulsar</title><meta name="viewport" content="width=device-width, initial-scale=1.0"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar is built on the [publish-subscribe](https://en.wikipedia.org/wiki/Publish%E2%80%93subscribe_pattern) pattern, aka pub-sub. In this pattern, [producers](#producers) publish  [...]
               (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,7 +74,7 @@
                 };
               }
             });
-        </script></nav></div><div class="container mainContainer docsContainer"><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 id="__docusaurus" class="postHeaderTitle">Messaging Concepts</h1></header><article><div><span><p>Pulsar is built on the <a href="https://en.wikipedia.org/wiki/Publish%E2%80%93subscribe_pattern">publish- [...]
+        </script></nav></div><div class="container mainContainer docsContainer"><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 id="__docusaurus" class="postHeaderTitle">Messaging Concepts</h1></header><article><div><span><p>Pulsar is built on the <a href="https://en.wikipedia.org/wiki/Publish%E2%80%93subscribe_pattern">publish- [...]
 <p>Once a subscription has been created, all messages will be <a href="/docs/fr/2.1.0-incubating/concepts-architecture-overview#persistent-storage">retained</a> by Pulsar, even if the consumer gets disconnected. Retained messages will be discarded only when a consumer acknowledges that they've been successfully processed.</p>
 <h2><a class="anchor" aria-hidden="true" id="messages"></a><a href="#messages" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
 <p>Messages are the basic &quot;unit&quot; of Pulsar. They're what producers publish to topics and what consumers then consume from topics (and acknowledge when the message has been processed). Messages are the analogue of letters in a postal service system.</p>
@@ -133,7 +133,7 @@
 <p>When a consumer has successfully processed a message, it needs to send an acknowledgement to the broker so that the broker can discard the message (otherwise it <a href="/docs/fr/2.1.0-incubating/concepts-architecture-overview#persistent-storage">stores</a> the message).</p>
 <p>Messages can be acknowledged either one by one or cumulatively. With cumulative acknowledgement, the consumer only needs to acknowledge the last message it received. All messages in the stream up to (and including) the provided message will not be re-delivered to that consumer.</p>
 <blockquote>
-<p>Cumulative acknowledgement cannot be used with <a href="#subscription-modes">shared subscription mode</a>, because shared mode involves multiple consumers having access to the same subscription.</p>
+<p>Cumulative acknowledgement cannot be used with <a href="#subscription-types">shared subscription type</a>, because shared mode involves multiple consumers having access to the same subscription.</p>
 </blockquote>
 <h3><a class="anchor" aria-hidden="true" id="listeners"></a><a href="#listeners" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>Client libraries can provide their own listener implementations for consumers. The <a href="/docs/fr/2.1.0-incubating/client-libraries-java">Java client</a>, for example, provides a <a href="https://pulsar.incubator.apache.org/api/client/2.8.0-SNAPSHOT/org/apache/pulsar/client/api/MessageListener">MesssageListener</a>
@@ -154,31 +154,31 @@
 </tbody>
 </table>
 <blockquote>
-<h4><a class="anchor" aria-hidden="true" id="no-need-to-explicitly-create-new-topics"></a><a href="#no-need-to-explicitly-create-new-topics" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2  [...]
-<p>You don't need to explicitly create topics in Pulsar. If a client attempts to write or receive messages to/from a topic that does not yet exist, Pulsar will automatically create that topic under the <a href="#namespaces">namespace</a> provided in the <a href="#topics">topic name</a>.</p>
+<p><strong>No need to explicitly create new topics</strong>  <br>
+You don't need to explicitly create topics in Pulsar. If a client attempts to write or receive messages to/from a topic that does not yet exist, Pulsar will automatically create that topic under the <a href="#namespaces">namespace</a> provided in the <a href="#topics">topic name</a>.</p>
 </blockquote>
 <h2><a class="anchor" aria-hidden="true" id="espaces-de-nommage"></a><a href="#espaces-de-nommage" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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- [...]
 <p>A namespace is a logical nomenclature within a tenant. A tenant can create multiple namespaces via the <a href="/docs/fr/2.1.0-incubating/admin-api-namespaces#create">admin API</a>. For instance, a tenant with different applications can create a separate namespace for each application. A namespace allows the application to create and manage a hierarchy of topics. The topic <code>my-tenant/app1</code> is a namespace for the application <code>app1</code> for <code>my-tenant</code>. You  [...]
-<h2><a class="anchor" aria-hidden="true" id="subscription-modes"></a><a href="#subscription-modes" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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- [...]
-<p>A subscription is a named configuration rule that determines how messages are delivered to consumers. There are three available subscription modes in Pulsar: <a href="#exclusive">exclusive</a>, <a href="#shared">shared</a>, and <a href="#failover">failover</a>. These modes are illustrated in the figure below.</p>
-<p><img src="/docs/assets/pulsar-subscription-modes.png" alt="Subscription modes"></p>
+<h2><a class="anchor" aria-hidden="true" id="subscription-types"></a><a href="#subscription-types" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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- [...]
+<p>A subscription is a named configuration rule that determines how messages are delivered to consumers. There are three available subscription types in Pulsar: <a href="#exclusive">exclusive</a>, <a href="#shared">shared</a>, and <a href="#failover">failover</a>. These types are illustrated in the figure below.</p>
+<p><img src="/docs/assets/pulsar-subscription-types.png" alt="Subscription types"></p>
 <h3><a class="anchor" aria-hidden="true" id="exclusive"></a><a href="#exclusive" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>In <em>exclusive</em> mode, only a single consumer is allowed to attach to the subscription. If more than one consumer attempts to subscribe to a topic using the same subscription, the consumer receives an error.</p>
+<p>In <em>exclusive</em> type, only a single consumer is allowed to attach to the subscription. If more than one consumer attempts to subscribe to a topic using the same subscription, the consumer receives an error.</p>
 <p>In the diagram above, only <strong>Consumer A-0</strong> is allowed to consume messages.</p>
 <blockquote>
-<p>Exclusive mode is the default subscription mode.</p>
+<p>Exclusive is the default subscription type.</p>
 </blockquote>
 <p><img src="/docs/assets/pulsar-exclusive-subscriptions.png" alt="Exclusive subscriptions"></p>
 <h3><a class="anchor" aria-hidden="true" id="shared"></a><a href="#shared" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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. [...]
 <p>In <em>shared</em> or <em>round robin</em> mode, multiple consumers can attach to the same subscription. Messages are delivered in a round robin distribution across consumers, and any given message is delivered to only one consumer. When a consumer disconnects, all the messages that were sent to it and not acknowledged will be rescheduled for sending to the remaining consumers.</p>
 <p>In the diagram above, <strong>Consumer-B-1</strong> and <strong>Consumer-B-2</strong> are able to subscribe to the topic, but <strong>Consumer-C-1</strong> and others could as well.</p>
 <blockquote>
-<h4><a class="anchor" aria-hidden="true" id="limitations-of-shared-mode"></a><a href="#limitations-of-shared-mode" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 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>There are two important things to be aware of when using shared mode: * Message ordering is not guaranteed. * You cannot use cumulative acknowledgment with shared mode.</p>
+<p><strong>Limitations of Shared type</strong>  <br>
+Be aware when using Shared type: * Message ordering is not guaranteed. * You cannot use cumulative acknowledgment with Shared type.</p>
 </blockquote>
 <p><img src="/docs/assets/pulsar-shared-subscriptions.png" alt="Shared subscriptions"></p>
 <h3><a class="anchor" aria-hidden="true" id="failover"></a><a href="#failover" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
-<p>In <em>failover</em> mode, multiple consumers can attach to the same subscription. The consumers will be lexically sorted by the consumer's name and the first consumer will initially be the only one receiving messages. This consumer is called the <em>master consumer</em>.</p>
+<p>In <em>Failover</em> type, multiple consumers can attach to the same subscription. The consumers will be lexically sorted by the consumer's name and the first consumer will initially be the only one receiving messages. This consumer is called the <em>master consumer</em>.</p>
 <p>When the master consumer disconnects, all (non-acked and subsequent) messages will be delivered to the next consumer in line.</p>
 <p>In the diagram above, Consumer-C-1 is the master consumer while Consumer-C-2 would be the next in line to receive messages if Consumer-C-1 disconnected.</p>
 <p><img src="/docs/assets/pulsar-failover-subscriptions.png" alt="Failover subscriptions"></p>
@@ -193,8 +193,8 @@
 </blockquote>
 <p>When subscribing to multiple topics, the Pulsar client will automatically make a call to the Pulsar API to discover the topics that match the regex pattern/list and then subscribe to all of them. If any of the topics don't currently exist, the consumer will auto-subscribe to them once the topics are created.</p>
 <blockquote>
-<h4><a class="anchor" aria-hidden="true" id="no-ordering-guarantees-across-multiple-topics"></a><a href="#no-ordering-guarantees-across-multiple-topics" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h- [...]
-<p>When a producer sends messages to a single topic, all messages are guaranteed to be read from that topic in the same order. However, these guarantees do not hold across multiple topics. So when a producer sends message to multiple topics, the order in which messages are read from those topics is not guaranteed to be the same.</p>
+<p><strong>No ordering guarantees across multiple topics</strong>  <br>
+When a producer sends messages to a single topic, all messages are guaranteed to be read from that topic in the same order. However, these guarantees do not hold across multiple topics. So when a producer sends message to multiple topics, the order in which messages are read from those topics is not guaranteed to be the same.</p>
 </blockquote>
 <p>Here are some multi-topic subscription examples for Java:</p>
 <pre><code class="hljs css language-java"><span class="hljs-keyword">import</span> java.util.regex.Pattern;
@@ -222,9 +222,9 @@ Consumer someTopicsConsumer = pulsarClient.subscribe(someTopicsInNamespace, <spa
 <p>The diagram below illustrates this:</p>
 <p><img src="/docs/assets/partitioning.png" alt=""></p>
 <p>Here, the topic <strong>Topic1</strong> has five partitions (<strong>P0</strong> through <strong>P4</strong>) split across three brokers. Because there are more partitions than brokers, two brokers handle two partitions a piece, while the third handles only one (again, Pulsar handles this distribution of partitions automatically).</p>
-<p>Messages for this topic are broadcast to two consumers. The <a href="#routing-modes">routing mode</a> determines both which broker handles each partition, while the <a href="#subscription-modes">subscription mode</a> determines which messages go to which consumers.</p>
-<p>Decisions about routing and subscription modes can be made separately in most cases. In general, throughput concerns should guide partitioning/routing decisions while subscription decisions should be guided by application semantics.</p>
-<p>There is no difference between partitioned topics and normal topics in terms of how subscription modes work, as partitioning only determines what happens between when a message is published by a producer and processed and acknowledged by a consumer.</p>
+<p>Messages for this topic are broadcast to two consumers. The <a href="#routing-modes">routing mode</a> determines both which broker handles each partition, while the <a href="#subscription-types">subscription type</a> determines which messages go to which consumers.</p>
+<p>Decisions about routing and subscription types can be made separately in most cases. In general, throughput concerns should guide partitioning/routing decisions while subscription decisions should be guided by application semantics.</p>
+<p>There is no difference between partitioned topics and normal topics in terms of how subscription types work, as partitioning only determines what happens between when a message is published by a producer and processed and acknowledged by a consumer.</p>
 <p>Partitioned topics need to be explicitly created via the <a href="/docs/fr/2.1.0-incubating/admin-api-overview">admin API</a>. The number of partitions can be specified when creating the topic.</p>
 <h3><a class="anchor" aria-hidden="true" id="routing-modes"></a><a href="#routing-modes" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>When publishing to partitioned topics, you must specify a <em>routing mode</em>. The routing mode determines which partition---that is, which internal topic---each message should be published to.</p>
@@ -258,7 +258,7 @@ Consumer someTopicsConsumer = pulsarClient.subscribe(someTopicsInNamespace, <spa
 <h3><a class="anchor" aria-hidden="true" id="performance"></a><a href="#performance" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>Non-persistent messaging is usually faster than persistent messaging because brokers don't persist messages and immediately send acks back to the producer as soon as that message is deliver to all connected subscribers. Producers thus see comparatively low publish latency with non-persistent topic.</p>
 <h3><a class="anchor" aria-hidden="true" id="client-api"></a><a href="#client-api" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>Producers and consumers can connect to non-persistent topics in the same way as persistent topics, with the crucial difference that the topic name must start with <code>non-persistent</code>. All three subscription modes---<a href="#exclusive">exclusive</a>, <a href="#shared">shared</a>, and <a href="#failover">failover</a>---are supported for non-persistent topics.</p>
+<p>Producers and consumers can connect to non-persistent topics in the same way as persistent topics, with the crucial difference that the topic name must start with <code>non-persistent</code>. All three subscription types---<a href="#exclusive">exclusive</a>, <a href="#shared">shared</a>, and <a href="#failover">failover</a>---are supported for non-persistent topics.</p>
 <p>Here's an example <a href="/docs/fr/2.1.0-incubating/client-libraries-java#consumers">Java consumer</a> for a non-persistent topic:</p>
 <pre><code class="hljs css language-java">PulsarClient client = PulsarClient.create(<span class="hljs-string">"pulsar://localhost:6650"</span>);
 String npTopic = <span class="hljs-string">"non-persistent://public/default/my-topic"</span>;
@@ -303,7 +303,7 @@ Consumer consumer = client.subscribe(npTopic, subscriptionName);
 <blockquote>
 <p>More in-depth information can be found in <a href="https://streaml.io/blog/pulsar-effectively-once/">this post</a> on the <a href="https://streaml.io/blog">Streamlio blog</a></p>
 </blockquote>
-</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/fr/2.1.0-incubating/concepts-overview"><span class="arrow-prev">← </span><span>Overview</span></a><a class="docs-next button" href="/docs/fr/2.1.0-incubating/concepts-architecture-overview"><span>Architecture</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#messages">Messages</a></li><li><a href="#producers">Producers</ [...]
+</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/fr/2.1.0-incubating/concepts-overview"><span class="arrow-prev">← </span><span>Overview</span></a><a class="docs-next button" href="/docs/fr/2.1.0-incubating/concepts-architecture-overview"><span>Architecture</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#messages">Messages</a></li><li><a href="#producers">Producers</ [...]
       const community = document.querySelector("a[href='#community']").parentNode;
       const communityMenu =
         '<li>' +
diff --git a/content/docs/fr/2.1.0-incubating/concepts-messaging/index.html b/content/docs/fr/2.1.0-incubating/concepts-messaging/index.html
index cfae974..4d25eff 100644
--- a/content/docs/fr/2.1.0-incubating/concepts-messaging/index.html
+++ b/content/docs/fr/2.1.0-incubating/concepts-messaging/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>Messaging Concepts · Apache Pulsar</title><meta name="viewport" content="width=device-width, initial-scale=1.0"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar is built on the [publish-subscribe](https://en.wikipedia.org/wiki/Publish%E2%80%93subscribe_pattern) pattern, aka pub-sub. In this pattern, [producers](#producers) publish  [...]
+<!DOCTYPE html><html lang="fr"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Messaging Concepts · Apache Pulsar</title><meta name="viewport" content="width=device-width, initial-scale=1.0"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar is built on the [publish-subscribe](https://en.wikipedia.org/wiki/Publish%E2%80%93subscribe_pattern) pattern, aka pub-sub. In this pattern, [producers](#producers) publish  [...]
               (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,7 +74,7 @@
                 };
               }
             });
-        </script></nav></div><div class="container mainContainer docsContainer"><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 id="__docusaurus" class="postHeaderTitle">Messaging Concepts</h1></header><article><div><span><p>Pulsar is built on the <a href="https://en.wikipedia.org/wiki/Publish%E2%80%93subscribe_pattern">publish- [...]
+        </script></nav></div><div class="container mainContainer docsContainer"><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 id="__docusaurus" class="postHeaderTitle">Messaging Concepts</h1></header><article><div><span><p>Pulsar is built on the <a href="https://en.wikipedia.org/wiki/Publish%E2%80%93subscribe_pattern">publish- [...]
 <p>Once a subscription has been created, all messages will be <a href="/docs/fr/2.1.0-incubating/concepts-architecture-overview#persistent-storage">retained</a> by Pulsar, even if the consumer gets disconnected. Retained messages will be discarded only when a consumer acknowledges that they've been successfully processed.</p>
 <h2><a class="anchor" aria-hidden="true" id="messages"></a><a href="#messages" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
 <p>Messages are the basic &quot;unit&quot; of Pulsar. They're what producers publish to topics and what consumers then consume from topics (and acknowledge when the message has been processed). Messages are the analogue of letters in a postal service system.</p>
@@ -133,7 +133,7 @@
 <p>When a consumer has successfully processed a message, it needs to send an acknowledgement to the broker so that the broker can discard the message (otherwise it <a href="/docs/fr/2.1.0-incubating/concepts-architecture-overview#persistent-storage">stores</a> the message).</p>
 <p>Messages can be acknowledged either one by one or cumulatively. With cumulative acknowledgement, the consumer only needs to acknowledge the last message it received. All messages in the stream up to (and including) the provided message will not be re-delivered to that consumer.</p>
 <blockquote>
-<p>Cumulative acknowledgement cannot be used with <a href="#subscription-modes">shared subscription mode</a>, because shared mode involves multiple consumers having access to the same subscription.</p>
+<p>Cumulative acknowledgement cannot be used with <a href="#subscription-types">shared subscription type</a>, because shared mode involves multiple consumers having access to the same subscription.</p>
 </blockquote>
 <h3><a class="anchor" aria-hidden="true" id="listeners"></a><a href="#listeners" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>Client libraries can provide their own listener implementations for consumers. The <a href="/docs/fr/2.1.0-incubating/client-libraries-java">Java client</a>, for example, provides a <a href="https://pulsar.incubator.apache.org/api/client/2.8.0-SNAPSHOT/org/apache/pulsar/client/api/MessageListener">MesssageListener</a>
@@ -154,31 +154,31 @@
 </tbody>
 </table>
 <blockquote>
-<h4><a class="anchor" aria-hidden="true" id="no-need-to-explicitly-create-new-topics"></a><a href="#no-need-to-explicitly-create-new-topics" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2  [...]
-<p>You don't need to explicitly create topics in Pulsar. If a client attempts to write or receive messages to/from a topic that does not yet exist, Pulsar will automatically create that topic under the <a href="#namespaces">namespace</a> provided in the <a href="#topics">topic name</a>.</p>
+<p><strong>No need to explicitly create new topics</strong>  <br>
+You don't need to explicitly create topics in Pulsar. If a client attempts to write or receive messages to/from a topic that does not yet exist, Pulsar will automatically create that topic under the <a href="#namespaces">namespace</a> provided in the <a href="#topics">topic name</a>.</p>
 </blockquote>
 <h2><a class="anchor" aria-hidden="true" id="espaces-de-nommage"></a><a href="#espaces-de-nommage" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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- [...]
 <p>A namespace is a logical nomenclature within a tenant. A tenant can create multiple namespaces via the <a href="/docs/fr/2.1.0-incubating/admin-api-namespaces#create">admin API</a>. For instance, a tenant with different applications can create a separate namespace for each application. A namespace allows the application to create and manage a hierarchy of topics. The topic <code>my-tenant/app1</code> is a namespace for the application <code>app1</code> for <code>my-tenant</code>. You  [...]
-<h2><a class="anchor" aria-hidden="true" id="subscription-modes"></a><a href="#subscription-modes" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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- [...]
-<p>A subscription is a named configuration rule that determines how messages are delivered to consumers. There are three available subscription modes in Pulsar: <a href="#exclusive">exclusive</a>, <a href="#shared">shared</a>, and <a href="#failover">failover</a>. These modes are illustrated in the figure below.</p>
-<p><img src="/docs/assets/pulsar-subscription-modes.png" alt="Subscription modes"></p>
+<h2><a class="anchor" aria-hidden="true" id="subscription-types"></a><a href="#subscription-types" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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- [...]
+<p>A subscription is a named configuration rule that determines how messages are delivered to consumers. There are three available subscription types in Pulsar: <a href="#exclusive">exclusive</a>, <a href="#shared">shared</a>, and <a href="#failover">failover</a>. These types are illustrated in the figure below.</p>
+<p><img src="/docs/assets/pulsar-subscription-types.png" alt="Subscription types"></p>
 <h3><a class="anchor" aria-hidden="true" id="exclusive"></a><a href="#exclusive" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>In <em>exclusive</em> mode, only a single consumer is allowed to attach to the subscription. If more than one consumer attempts to subscribe to a topic using the same subscription, the consumer receives an error.</p>
+<p>In <em>exclusive</em> type, only a single consumer is allowed to attach to the subscription. If more than one consumer attempts to subscribe to a topic using the same subscription, the consumer receives an error.</p>
 <p>In the diagram above, only <strong>Consumer A-0</strong> is allowed to consume messages.</p>
 <blockquote>
-<p>Exclusive mode is the default subscription mode.</p>
+<p>Exclusive is the default subscription type.</p>
 </blockquote>
 <p><img src="/docs/assets/pulsar-exclusive-subscriptions.png" alt="Exclusive subscriptions"></p>
 <h3><a class="anchor" aria-hidden="true" id="shared"></a><a href="#shared" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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. [...]
 <p>In <em>shared</em> or <em>round robin</em> mode, multiple consumers can attach to the same subscription. Messages are delivered in a round robin distribution across consumers, and any given message is delivered to only one consumer. When a consumer disconnects, all the messages that were sent to it and not acknowledged will be rescheduled for sending to the remaining consumers.</p>
 <p>In the diagram above, <strong>Consumer-B-1</strong> and <strong>Consumer-B-2</strong> are able to subscribe to the topic, but <strong>Consumer-C-1</strong> and others could as well.</p>
 <blockquote>
-<h4><a class="anchor" aria-hidden="true" id="limitations-of-shared-mode"></a><a href="#limitations-of-shared-mode" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 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>There are two important things to be aware of when using shared mode: * Message ordering is not guaranteed. * You cannot use cumulative acknowledgment with shared mode.</p>
+<p><strong>Limitations of Shared type</strong>  <br>
+Be aware when using Shared type: * Message ordering is not guaranteed. * You cannot use cumulative acknowledgment with Shared type.</p>
 </blockquote>
 <p><img src="/docs/assets/pulsar-shared-subscriptions.png" alt="Shared subscriptions"></p>
 <h3><a class="anchor" aria-hidden="true" id="failover"></a><a href="#failover" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
-<p>In <em>failover</em> mode, multiple consumers can attach to the same subscription. The consumers will be lexically sorted by the consumer's name and the first consumer will initially be the only one receiving messages. This consumer is called the <em>master consumer</em>.</p>
+<p>In <em>Failover</em> type, multiple consumers can attach to the same subscription. The consumers will be lexically sorted by the consumer's name and the first consumer will initially be the only one receiving messages. This consumer is called the <em>master consumer</em>.</p>
 <p>When the master consumer disconnects, all (non-acked and subsequent) messages will be delivered to the next consumer in line.</p>
 <p>In the diagram above, Consumer-C-1 is the master consumer while Consumer-C-2 would be the next in line to receive messages if Consumer-C-1 disconnected.</p>
 <p><img src="/docs/assets/pulsar-failover-subscriptions.png" alt="Failover subscriptions"></p>
@@ -193,8 +193,8 @@
 </blockquote>
 <p>When subscribing to multiple topics, the Pulsar client will automatically make a call to the Pulsar API to discover the topics that match the regex pattern/list and then subscribe to all of them. If any of the topics don't currently exist, the consumer will auto-subscribe to them once the topics are created.</p>
 <blockquote>
-<h4><a class="anchor" aria-hidden="true" id="no-ordering-guarantees-across-multiple-topics"></a><a href="#no-ordering-guarantees-across-multiple-topics" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h- [...]
-<p>When a producer sends messages to a single topic, all messages are guaranteed to be read from that topic in the same order. However, these guarantees do not hold across multiple topics. So when a producer sends message to multiple topics, the order in which messages are read from those topics is not guaranteed to be the same.</p>
+<p><strong>No ordering guarantees across multiple topics</strong>  <br>
+When a producer sends messages to a single topic, all messages are guaranteed to be read from that topic in the same order. However, these guarantees do not hold across multiple topics. So when a producer sends message to multiple topics, the order in which messages are read from those topics is not guaranteed to be the same.</p>
 </blockquote>
 <p>Here are some multi-topic subscription examples for Java:</p>
 <pre><code class="hljs css language-java"><span class="hljs-keyword">import</span> java.util.regex.Pattern;
@@ -222,9 +222,9 @@ Consumer someTopicsConsumer = pulsarClient.subscribe(someTopicsInNamespace, <spa
 <p>The diagram below illustrates this:</p>
 <p><img src="/docs/assets/partitioning.png" alt=""></p>
 <p>Here, the topic <strong>Topic1</strong> has five partitions (<strong>P0</strong> through <strong>P4</strong>) split across three brokers. Because there are more partitions than brokers, two brokers handle two partitions a piece, while the third handles only one (again, Pulsar handles this distribution of partitions automatically).</p>
-<p>Messages for this topic are broadcast to two consumers. The <a href="#routing-modes">routing mode</a> determines both which broker handles each partition, while the <a href="#subscription-modes">subscription mode</a> determines which messages go to which consumers.</p>
-<p>Decisions about routing and subscription modes can be made separately in most cases. In general, throughput concerns should guide partitioning/routing decisions while subscription decisions should be guided by application semantics.</p>
-<p>There is no difference between partitioned topics and normal topics in terms of how subscription modes work, as partitioning only determines what happens between when a message is published by a producer and processed and acknowledged by a consumer.</p>
+<p>Messages for this topic are broadcast to two consumers. The <a href="#routing-modes">routing mode</a> determines both which broker handles each partition, while the <a href="#subscription-types">subscription type</a> determines which messages go to which consumers.</p>
+<p>Decisions about routing and subscription types can be made separately in most cases. In general, throughput concerns should guide partitioning/routing decisions while subscription decisions should be guided by application semantics.</p>
+<p>There is no difference between partitioned topics and normal topics in terms of how subscription types work, as partitioning only determines what happens between when a message is published by a producer and processed and acknowledged by a consumer.</p>
 <p>Partitioned topics need to be explicitly created via the <a href="/docs/fr/2.1.0-incubating/admin-api-overview">admin API</a>. The number of partitions can be specified when creating the topic.</p>
 <h3><a class="anchor" aria-hidden="true" id="routing-modes"></a><a href="#routing-modes" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>When publishing to partitioned topics, you must specify a <em>routing mode</em>. The routing mode determines which partition---that is, which internal topic---each message should be published to.</p>
@@ -258,7 +258,7 @@ Consumer someTopicsConsumer = pulsarClient.subscribe(someTopicsInNamespace, <spa
 <h3><a class="anchor" aria-hidden="true" id="performance"></a><a href="#performance" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>Non-persistent messaging is usually faster than persistent messaging because brokers don't persist messages and immediately send acks back to the producer as soon as that message is deliver to all connected subscribers. Producers thus see comparatively low publish latency with non-persistent topic.</p>
 <h3><a class="anchor" aria-hidden="true" id="client-api"></a><a href="#client-api" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>Producers and consumers can connect to non-persistent topics in the same way as persistent topics, with the crucial difference that the topic name must start with <code>non-persistent</code>. All three subscription modes---<a href="#exclusive">exclusive</a>, <a href="#shared">shared</a>, and <a href="#failover">failover</a>---are supported for non-persistent topics.</p>
+<p>Producers and consumers can connect to non-persistent topics in the same way as persistent topics, with the crucial difference that the topic name must start with <code>non-persistent</code>. All three subscription types---<a href="#exclusive">exclusive</a>, <a href="#shared">shared</a>, and <a href="#failover">failover</a>---are supported for non-persistent topics.</p>
 <p>Here's an example <a href="/docs/fr/2.1.0-incubating/client-libraries-java#consumers">Java consumer</a> for a non-persistent topic:</p>
 <pre><code class="hljs css language-java">PulsarClient client = PulsarClient.create(<span class="hljs-string">"pulsar://localhost:6650"</span>);
 String npTopic = <span class="hljs-string">"non-persistent://public/default/my-topic"</span>;
@@ -303,7 +303,7 @@ Consumer consumer = client.subscribe(npTopic, subscriptionName);
 <blockquote>
 <p>More in-depth information can be found in <a href="https://streaml.io/blog/pulsar-effectively-once/">this post</a> on the <a href="https://streaml.io/blog">Streamlio blog</a></p>
 </blockquote>
-</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/fr/2.1.0-incubating/concepts-overview"><span class="arrow-prev">← </span><span>Overview</span></a><a class="docs-next button" href="/docs/fr/2.1.0-incubating/concepts-architecture-overview"><span>Architecture</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#messages">Messages</a></li><li><a href="#producers">Producers</ [...]
+</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/fr/2.1.0-incubating/concepts-overview"><span class="arrow-prev">← </span><span>Overview</span></a><a class="docs-next button" href="/docs/fr/2.1.0-incubating/concepts-architecture-overview"><span>Architecture</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#messages">Messages</a></li><li><a href="#producers">Producers</ [...]
       const community = document.querySelector("a[href='#community']").parentNode;
       const communityMenu =
         '<li>' +
diff --git a/content/docs/fr/2.1.0-incubating/concepts-overview.html b/content/docs/fr/2.1.0-incubating/concepts-overview.html
index f3335aa..80f19d4 100644
--- a/content/docs/fr/2.1.0-incubating/concepts-overview.html
+++ b/content/docs/fr/2.1.0-incubating/concepts-overview.html
@@ -81,7 +81,7 @@
 <li>Very low publish and end-to-end latency</li>
 <li>Seamless scalability out to over a million topics</li>
 <li>A simple <a href="/docs/fr/2.1.0-incubating/concepts-clients">client API</a> with bindings for <a href="/docs/fr/2.1.0-incubating/client-libraries-java">Java</a>, <a href="/docs/fr/2.1.0-incubating/client-libraries-python">Python</a>, and <a href="/docs/fr/2.1.0-incubating/client-libraries-cpp">C++</a></li>
-<li>Multiple <a href="/docs/fr/2.1.0-incubating/concepts-messaging#subscription-modes">subscription modes</a> for topics (<a href="/docs/fr/2.1.0-incubating/concepts-messaging#exclusive">exclusive</a>, <a href="/docs/fr/2.1.0-incubating/concepts-messaging#shared">shared</a>, and <a href="/docs/fr/2.1.0-incubating/concepts-messaging#failover">failover</a>)</li>
+<li>Multiple <a href="/docs/fr/2.1.0-incubating/concepts-messaging#subscription-types">subscription types</a> for topics (<a href="/docs/fr/2.1.0-incubating/concepts-messaging#exclusive">exclusive</a>, <a href="/docs/fr/2.1.0-incubating/concepts-messaging#shared">shared</a>, and <a href="/docs/fr/2.1.0-incubating/concepts-messaging#failover">failover</a>)</li>
 <li>Guaranteed message delivery with <a href="/docs/fr/2.1.0-incubating/concepts-architecture-overview#persistent-storage">persistent message storage</a> provided by <a href="http://bookkeeper.apache.org/">Apache BookKeeper</a></li>
 <li>A serverless lightweight computing framework <a href="/docs/fr/2.1.0-incubating/functions-overview">Pulsar Functions</a> offers stream native data processing.</li>
 <li>A serverless connector framework <a href="/docs/fr/2.1.0-incubating/io-overview">Pulsar IO</a> built on-top-of Pulsar Functions to make moving data in and out Apache Pulsar easier.</li>
diff --git a/content/docs/fr/2.1.0-incubating/concepts-overview/index.html b/content/docs/fr/2.1.0-incubating/concepts-overview/index.html
index f3335aa..80f19d4 100644
--- a/content/docs/fr/2.1.0-incubating/concepts-overview/index.html
+++ b/content/docs/fr/2.1.0-incubating/concepts-overview/index.html
@@ -81,7 +81,7 @@
 <li>Very low publish and end-to-end latency</li>
 <li>Seamless scalability out to over a million topics</li>
 <li>A simple <a href="/docs/fr/2.1.0-incubating/concepts-clients">client API</a> with bindings for <a href="/docs/fr/2.1.0-incubating/client-libraries-java">Java</a>, <a href="/docs/fr/2.1.0-incubating/client-libraries-python">Python</a>, and <a href="/docs/fr/2.1.0-incubating/client-libraries-cpp">C++</a></li>
-<li>Multiple <a href="/docs/fr/2.1.0-incubating/concepts-messaging#subscription-modes">subscription modes</a> for topics (<a href="/docs/fr/2.1.0-incubating/concepts-messaging#exclusive">exclusive</a>, <a href="/docs/fr/2.1.0-incubating/concepts-messaging#shared">shared</a>, and <a href="/docs/fr/2.1.0-incubating/concepts-messaging#failover">failover</a>)</li>
+<li>Multiple <a href="/docs/fr/2.1.0-incubating/concepts-messaging#subscription-types">subscription types</a> for topics (<a href="/docs/fr/2.1.0-incubating/concepts-messaging#exclusive">exclusive</a>, <a href="/docs/fr/2.1.0-incubating/concepts-messaging#shared">shared</a>, and <a href="/docs/fr/2.1.0-incubating/concepts-messaging#failover">failover</a>)</li>
 <li>Guaranteed message delivery with <a href="/docs/fr/2.1.0-incubating/concepts-architecture-overview#persistent-storage">persistent message storage</a> provided by <a href="http://bookkeeper.apache.org/">Apache BookKeeper</a></li>
 <li>A serverless lightweight computing framework <a href="/docs/fr/2.1.0-incubating/functions-overview">Pulsar Functions</a> offers stream native data processing.</li>
 <li>A serverless connector framework <a href="/docs/fr/2.1.0-incubating/io-overview">Pulsar IO</a> built on-top-of Pulsar Functions to make moving data in and out Apache Pulsar easier.</li>
diff --git a/content/docs/fr/2.1.1-incubating/concepts-messaging.html b/content/docs/fr/2.1.1-incubating/concepts-messaging.html
index 7e7b049..c5ef7cb 100644
--- a/content/docs/fr/2.1.1-incubating/concepts-messaging.html
+++ b/content/docs/fr/2.1.1-incubating/concepts-messaging.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>Messaging Concepts · Apache Pulsar</title><meta name="viewport" content="width=device-width, initial-scale=1.0"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar is built on the [publish-subscribe](https://en.wikipedia.org/wiki/Publish%E2%80%93subscribe_pattern) pattern, aka pub-sub. In this pattern, [producers](#producers) publish  [...]
+<!DOCTYPE html><html lang="fr"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Messaging Concepts · Apache Pulsar</title><meta name="viewport" content="width=device-width, initial-scale=1.0"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar is built on the [publish-subscribe](https://en.wikipedia.org/wiki/Publish%E2%80%93subscribe_pattern) pattern, aka pub-sub. In this pattern, [producers](#producers) publish  [...]
               (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,7 +74,7 @@
                 };
               }
             });
-        </script></nav></div><div class="container mainContainer docsContainer"><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 id="__docusaurus" class="postHeaderTitle">Messaging Concepts</h1></header><article><div><span><p>Pulsar is built on the <a href="https://en.wikipedia.org/wiki/Publish%E2%80%93subscribe_pattern">publish- [...]
+        </script></nav></div><div class="container mainContainer docsContainer"><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 id="__docusaurus" class="postHeaderTitle">Messaging Concepts</h1></header><article><div><span><p>Pulsar is built on the <a href="https://en.wikipedia.org/wiki/Publish%E2%80%93subscribe_pattern">publish- [...]
 <p>Once a subscription has been created, all messages will be <a href="/docs/fr/2.1.1-incubating/concepts-architecture-overview#persistent-storage">retained</a> by Pulsar, even if the consumer gets disconnected. Retained messages will be discarded only when a consumer acknowledges that they've been successfully processed.</p>
 <h2><a class="anchor" aria-hidden="true" id="messages"></a><a href="#messages" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
 <p>Messages are the basic &quot;unit&quot; of Pulsar. They're what producers publish to topics and what consumers then consume from topics (and acknowledge when the message has been processed). Messages are the analogue of letters in a postal service system.</p>
@@ -133,7 +133,7 @@
 <p>When a consumer has successfully processed a message, it needs to send an acknowledgement to the broker so that the broker can discard the message (otherwise it <a href="/docs/fr/2.1.1-incubating/concepts-architecture-overview#persistent-storage">stores</a> the message).</p>
 <p>Messages can be acknowledged either one by one or cumulatively. With cumulative acknowledgement, the consumer only needs to acknowledge the last message it received. All messages in the stream up to (and including) the provided message will not be re-delivered to that consumer.</p>
 <blockquote>
-<p>Cumulative acknowledgement cannot be used with <a href="#subscription-modes">shared subscription mode</a>, because shared mode involves multiple consumers having access to the same subscription.</p>
+<p>Cumulative acknowledgement cannot be used with <a href="#subscription-types">shared subscription type</a>, because shared mode involves multiple consumers having access to the same subscription.</p>
 </blockquote>
 <h3><a class="anchor" aria-hidden="true" id="listeners"></a><a href="#listeners" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>Client libraries can provide their own listener implementations for consumers. The <a href="/docs/fr/2.1.1-incubating/client-libraries-java">Java client</a>, for example, provides a <a href="https://pulsar.incubator.apache.org/api/client/2.8.0-SNAPSHOT/org/apache/pulsar/client/api/MessageListener">MesssageListener</a>
@@ -154,31 +154,31 @@
 </tbody>
 </table>
 <blockquote>
-<h4><a class="anchor" aria-hidden="true" id="no-need-to-explicitly-create-new-topics"></a><a href="#no-need-to-explicitly-create-new-topics" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2  [...]
-<p>You don't need to explicitly create topics in Pulsar. If a client attempts to write or receive messages to/from a topic that does not yet exist, Pulsar will automatically create that topic under the <a href="#namespaces">namespace</a> provided in the <a href="#topics">topic name</a>.</p>
+<p><strong>No need to explicitly create new topics</strong>  <br>
+You don't need to explicitly create topics in Pulsar. If a client attempts to write or receive messages to/from a topic that does not yet exist, Pulsar will automatically create that topic under the <a href="#namespaces">namespace</a> provided in the <a href="#topics">topic name</a>.</p>
 </blockquote>
 <h2><a class="anchor" aria-hidden="true" id="espaces-de-nommage"></a><a href="#espaces-de-nommage" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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- [...]
 <p>A namespace is a logical nomenclature within a tenant. A tenant can create multiple namespaces via the <a href="/docs/fr/2.1.1-incubating/admin-api-namespaces#create">admin API</a>. For instance, a tenant with different applications can create a separate namespace for each application. A namespace allows the application to create and manage a hierarchy of topics. The topic <code>my-tenant/app1</code> is a namespace for the application <code>app1</code> for <code>my-tenant</code>. You  [...]
-<h2><a class="anchor" aria-hidden="true" id="subscription-modes"></a><a href="#subscription-modes" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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- [...]
-<p>A subscription is a named configuration rule that determines how messages are delivered to consumers. There are three available subscription modes in Pulsar: <a href="#exclusive">exclusive</a>, <a href="#shared">shared</a>, and <a href="#failover">failover</a>. These modes are illustrated in the figure below.</p>
-<p><img src="/docs/assets/pulsar-subscription-modes.png" alt="Subscription modes"></p>
+<h2><a class="anchor" aria-hidden="true" id="subscription-types"></a><a href="#subscription-types" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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- [...]
+<p>A subscription is a named configuration rule that determines how messages are delivered to consumers. There are three available subscription types in Pulsar: <a href="#exclusive">exclusive</a>, <a href="#shared">shared</a>, and <a href="#failover">failover</a>. These types are illustrated in the figure below.</p>
+<p><img src="/docs/assets/pulsar-subscription-types.png" alt="Subscription types"></p>
 <h3><a class="anchor" aria-hidden="true" id="exclusive"></a><a href="#exclusive" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>In <em>exclusive</em> mode, only a single consumer is allowed to attach to the subscription. If more than one consumer attempts to subscribe to a topic using the same subscription, the consumer receives an error.</p>
+<p>In <em>exclusive</em> type, only a single consumer is allowed to attach to the subscription. If more than one consumer attempts to subscribe to a topic using the same subscription, the consumer receives an error.</p>
 <p>In the diagram above, only <strong>Consumer A-0</strong> is allowed to consume messages.</p>
 <blockquote>
-<p>Exclusive mode is the default subscription mode.</p>
+<p>Exclusive is the default subscription type.</p>
 </blockquote>
 <p><img src="/docs/assets/pulsar-exclusive-subscriptions.png" alt="Exclusive subscriptions"></p>
 <h3><a class="anchor" aria-hidden="true" id="shared"></a><a href="#shared" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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. [...]
 <p>In <em>shared</em> or <em>round robin</em> mode, multiple consumers can attach to the same subscription. Messages are delivered in a round robin distribution across consumers, and any given message is delivered to only one consumer. When a consumer disconnects, all the messages that were sent to it and not acknowledged will be rescheduled for sending to the remaining consumers.</p>
 <p>In the diagram above, <strong>Consumer-B-1</strong> and <strong>Consumer-B-2</strong> are able to subscribe to the topic, but <strong>Consumer-C-1</strong> and others could as well.</p>
 <blockquote>
-<h4><a class="anchor" aria-hidden="true" id="limitations-of-shared-mode"></a><a href="#limitations-of-shared-mode" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 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>There are two important things to be aware of when using shared mode: * Message ordering is not guaranteed. * You cannot use cumulative acknowledgment with shared mode.</p>
+<p><strong>Limitations of Shared type</strong>  <br>
+Be aware when using Shared type: * Message ordering is not guaranteed. * You cannot use cumulative acknowledgment with Shared type.</p>
 </blockquote>
 <p><img src="/docs/assets/pulsar-shared-subscriptions.png" alt="Shared subscriptions"></p>
 <h3><a class="anchor" aria-hidden="true" id="failover"></a><a href="#failover" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
-<p>In <em>failover</em> mode, multiple consumers can attach to the same subscription. The consumers will be lexically sorted by the consumer's name and the first consumer will initially be the only one receiving messages. This consumer is called the <em>master consumer</em>.</p>
+<p>In <em>Failover</em> type, multiple consumers can attach to the same subscription. The consumers will be lexically sorted by the consumer's name and the first consumer will initially be the only one receiving messages. This consumer is called the <em>master consumer</em>.</p>
 <p>When the master consumer disconnects, all (non-acked and subsequent) messages will be delivered to the next consumer in line.</p>
 <p>In the diagram above, Consumer-C-1 is the master consumer while Consumer-C-2 would be the next in line to receive messages if Consumer-C-1 disconnected.</p>
 <p><img src="/docs/assets/pulsar-failover-subscriptions.png" alt="Failover subscriptions"></p>
@@ -193,8 +193,8 @@
 </blockquote>
 <p>When subscribing to multiple topics, the Pulsar client will automatically make a call to the Pulsar API to discover the topics that match the regex pattern/list and then subscribe to all of them. If any of the topics don't currently exist, the consumer will auto-subscribe to them once the topics are created.</p>
 <blockquote>
-<h4><a class="anchor" aria-hidden="true" id="no-ordering-guarantees-across-multiple-topics"></a><a href="#no-ordering-guarantees-across-multiple-topics" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h- [...]
-<p>When a producer sends messages to a single topic, all messages are guaranteed to be read from that topic in the same order. However, these guarantees do not hold across multiple topics. So when a producer sends message to multiple topics, the order in which messages are read from those topics is not guaranteed to be the same.</p>
+<p><strong>No ordering guarantees across multiple topics</strong>  <br>
+When a producer sends messages to a single topic, all messages are guaranteed to be read from that topic in the same order. However, these guarantees do not hold across multiple topics. So when a producer sends message to multiple topics, the order in which messages are read from those topics is not guaranteed to be the same.</p>
 </blockquote>
 <p>Here are some multi-topic subscription examples for Java:</p>
 <pre><code class="hljs css language-java"><span class="hljs-keyword">import</span> java.util.regex.Pattern;
@@ -222,9 +222,9 @@ Consumer someTopicsConsumer = pulsarClient.subscribe(someTopicsInNamespace, <spa
 <p>The diagram below illustrates this:</p>
 <p><img src="/docs/assets/partitioning.png" alt=""></p>
 <p>Here, the topic <strong>Topic1</strong> has five partitions (<strong>P0</strong> through <strong>P4</strong>) split across three brokers. Because there are more partitions than brokers, two brokers handle two partitions a piece, while the third handles only one (again, Pulsar handles this distribution of partitions automatically).</p>
-<p>Messages for this topic are broadcast to two consumers. The <a href="#routing-modes">routing mode</a> determines both which broker handles each partition, while the <a href="#subscription-modes">subscription mode</a> determines which messages go to which consumers.</p>
-<p>Decisions about routing and subscription modes can be made separately in most cases. In general, throughput concerns should guide partitioning/routing decisions while subscription decisions should be guided by application semantics.</p>
-<p>There is no difference between partitioned topics and normal topics in terms of how subscription modes work, as partitioning only determines what happens between when a message is published by a producer and processed and acknowledged by a consumer.</p>
+<p>Messages for this topic are broadcast to two consumers. The <a href="#routing-modes">routing mode</a> determines both which broker handles each partition, while the <a href="#subscription-types">subscription type</a> determines which messages go to which consumers.</p>
+<p>Decisions about routing and subscription types can be made separately in most cases. In general, throughput concerns should guide partitioning/routing decisions while subscription decisions should be guided by application semantics.</p>
+<p>There is no difference between partitioned topics and normal topics in terms of how subscription types work, as partitioning only determines what happens between when a message is published by a producer and processed and acknowledged by a consumer.</p>
 <p>Partitioned topics need to be explicitly created via the <a href="/docs/fr/2.1.1-incubating/admin-api-overview">admin API</a>. The number of partitions can be specified when creating the topic.</p>
 <h3><a class="anchor" aria-hidden="true" id="routing-modes"></a><a href="#routing-modes" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>When publishing to partitioned topics, you must specify a <em>routing mode</em>. The routing mode determines which partition---that is, which internal topic---each message should be published to.</p>
@@ -258,7 +258,7 @@ Consumer someTopicsConsumer = pulsarClient.subscribe(someTopicsInNamespace, <spa
 <h3><a class="anchor" aria-hidden="true" id="performance"></a><a href="#performance" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>Non-persistent messaging is usually faster than persistent messaging because brokers don't persist messages and immediately send acks back to the producer as soon as that message is deliver to all connected subscribers. Producers thus see comparatively low publish latency with non-persistent topic.</p>
 <h3><a class="anchor" aria-hidden="true" id="client-api"></a><a href="#client-api" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>Producers and consumers can connect to non-persistent topics in the same way as persistent topics, with the crucial difference that the topic name must start with <code>non-persistent</code>. All three subscription modes---<a href="#exclusive">exclusive</a>, <a href="#shared">shared</a>, and <a href="#failover">failover</a>---are supported for non-persistent topics.</p>
+<p>Producers and consumers can connect to non-persistent topics in the same way as persistent topics, with the crucial difference that the topic name must start with <code>non-persistent</code>. All three subscription types---<a href="#exclusive">exclusive</a>, <a href="#shared">shared</a>, and <a href="#failover">failover</a>---are supported for non-persistent topics.</p>
 <p>Here's an example <a href="/docs/fr/2.1.1-incubating/client-libraries-java#consumers">Java consumer</a> for a non-persistent topic:</p>
 <pre><code class="hljs css language-java">PulsarClient client = PulsarClient.create(<span class="hljs-string">"pulsar://localhost:6650"</span>);
 String npTopic = <span class="hljs-string">"non-persistent://public/default/my-topic"</span>;
@@ -303,7 +303,7 @@ Consumer consumer = client.subscribe(npTopic, subscriptionName);
 <blockquote>
 <p>More in-depth information can be found in <a href="https://streaml.io/blog/pulsar-effectively-once/">this post</a> on the <a href="https://streaml.io/blog">Streamlio blog</a></p>
 </blockquote>
-</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/fr/2.1.1-incubating/concepts-overview"><span class="arrow-prev">← </span><span>Overview</span></a><a class="docs-next button" href="/docs/fr/2.1.1-incubating/concepts-architecture-overview"><span>Architecture</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#messages">Messages</a></li><li><a href="#producers">Producers</ [...]
+</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/fr/2.1.1-incubating/concepts-overview"><span class="arrow-prev">← </span><span>Overview</span></a><a class="docs-next button" href="/docs/fr/2.1.1-incubating/concepts-architecture-overview"><span>Architecture</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#messages">Messages</a></li><li><a href="#producers">Producers</ [...]
       const community = document.querySelector("a[href='#community']").parentNode;
       const communityMenu =
         '<li>' +
diff --git a/content/docs/fr/2.1.1-incubating/concepts-messaging/index.html b/content/docs/fr/2.1.1-incubating/concepts-messaging/index.html
index 7e7b049..c5ef7cb 100644
--- a/content/docs/fr/2.1.1-incubating/concepts-messaging/index.html
+++ b/content/docs/fr/2.1.1-incubating/concepts-messaging/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>Messaging Concepts · Apache Pulsar</title><meta name="viewport" content="width=device-width, initial-scale=1.0"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar is built on the [publish-subscribe](https://en.wikipedia.org/wiki/Publish%E2%80%93subscribe_pattern) pattern, aka pub-sub. In this pattern, [producers](#producers) publish  [...]
+<!DOCTYPE html><html lang="fr"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Messaging Concepts · Apache Pulsar</title><meta name="viewport" content="width=device-width, initial-scale=1.0"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar is built on the [publish-subscribe](https://en.wikipedia.org/wiki/Publish%E2%80%93subscribe_pattern) pattern, aka pub-sub. In this pattern, [producers](#producers) publish  [...]
               (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,7 +74,7 @@
                 };
               }
             });
-        </script></nav></div><div class="container mainContainer docsContainer"><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 id="__docusaurus" class="postHeaderTitle">Messaging Concepts</h1></header><article><div><span><p>Pulsar is built on the <a href="https://en.wikipedia.org/wiki/Publish%E2%80%93subscribe_pattern">publish- [...]
+        </script></nav></div><div class="container mainContainer docsContainer"><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 id="__docusaurus" class="postHeaderTitle">Messaging Concepts</h1></header><article><div><span><p>Pulsar is built on the <a href="https://en.wikipedia.org/wiki/Publish%E2%80%93subscribe_pattern">publish- [...]
 <p>Once a subscription has been created, all messages will be <a href="/docs/fr/2.1.1-incubating/concepts-architecture-overview#persistent-storage">retained</a> by Pulsar, even if the consumer gets disconnected. Retained messages will be discarded only when a consumer acknowledges that they've been successfully processed.</p>
 <h2><a class="anchor" aria-hidden="true" id="messages"></a><a href="#messages" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
 <p>Messages are the basic &quot;unit&quot; of Pulsar. They're what producers publish to topics and what consumers then consume from topics (and acknowledge when the message has been processed). Messages are the analogue of letters in a postal service system.</p>
@@ -133,7 +133,7 @@
 <p>When a consumer has successfully processed a message, it needs to send an acknowledgement to the broker so that the broker can discard the message (otherwise it <a href="/docs/fr/2.1.1-incubating/concepts-architecture-overview#persistent-storage">stores</a> the message).</p>
 <p>Messages can be acknowledged either one by one or cumulatively. With cumulative acknowledgement, the consumer only needs to acknowledge the last message it received. All messages in the stream up to (and including) the provided message will not be re-delivered to that consumer.</p>
 <blockquote>
-<p>Cumulative acknowledgement cannot be used with <a href="#subscription-modes">shared subscription mode</a>, because shared mode involves multiple consumers having access to the same subscription.</p>
+<p>Cumulative acknowledgement cannot be used with <a href="#subscription-types">shared subscription type</a>, because shared mode involves multiple consumers having access to the same subscription.</p>
 </blockquote>
 <h3><a class="anchor" aria-hidden="true" id="listeners"></a><a href="#listeners" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>Client libraries can provide their own listener implementations for consumers. The <a href="/docs/fr/2.1.1-incubating/client-libraries-java">Java client</a>, for example, provides a <a href="https://pulsar.incubator.apache.org/api/client/2.8.0-SNAPSHOT/org/apache/pulsar/client/api/MessageListener">MesssageListener</a>
@@ -154,31 +154,31 @@
 </tbody>
 </table>
 <blockquote>
-<h4><a class="anchor" aria-hidden="true" id="no-need-to-explicitly-create-new-topics"></a><a href="#no-need-to-explicitly-create-new-topics" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2  [...]
-<p>You don't need to explicitly create topics in Pulsar. If a client attempts to write or receive messages to/from a topic that does not yet exist, Pulsar will automatically create that topic under the <a href="#namespaces">namespace</a> provided in the <a href="#topics">topic name</a>.</p>
+<p><strong>No need to explicitly create new topics</strong>  <br>
+You don't need to explicitly create topics in Pulsar. If a client attempts to write or receive messages to/from a topic that does not yet exist, Pulsar will automatically create that topic under the <a href="#namespaces">namespace</a> provided in the <a href="#topics">topic name</a>.</p>
 </blockquote>
 <h2><a class="anchor" aria-hidden="true" id="espaces-de-nommage"></a><a href="#espaces-de-nommage" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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- [...]
 <p>A namespace is a logical nomenclature within a tenant. A tenant can create multiple namespaces via the <a href="/docs/fr/2.1.1-incubating/admin-api-namespaces#create">admin API</a>. For instance, a tenant with different applications can create a separate namespace for each application. A namespace allows the application to create and manage a hierarchy of topics. The topic <code>my-tenant/app1</code> is a namespace for the application <code>app1</code> for <code>my-tenant</code>. You  [...]
-<h2><a class="anchor" aria-hidden="true" id="subscription-modes"></a><a href="#subscription-modes" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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- [...]
-<p>A subscription is a named configuration rule that determines how messages are delivered to consumers. There are three available subscription modes in Pulsar: <a href="#exclusive">exclusive</a>, <a href="#shared">shared</a>, and <a href="#failover">failover</a>. These modes are illustrated in the figure below.</p>
-<p><img src="/docs/assets/pulsar-subscription-modes.png" alt="Subscription modes"></p>
+<h2><a class="anchor" aria-hidden="true" id="subscription-types"></a><a href="#subscription-types" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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- [...]
+<p>A subscription is a named configuration rule that determines how messages are delivered to consumers. There are three available subscription types in Pulsar: <a href="#exclusive">exclusive</a>, <a href="#shared">shared</a>, and <a href="#failover">failover</a>. These types are illustrated in the figure below.</p>
+<p><img src="/docs/assets/pulsar-subscription-types.png" alt="Subscription types"></p>
 <h3><a class="anchor" aria-hidden="true" id="exclusive"></a><a href="#exclusive" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>In <em>exclusive</em> mode, only a single consumer is allowed to attach to the subscription. If more than one consumer attempts to subscribe to a topic using the same subscription, the consumer receives an error.</p>
+<p>In <em>exclusive</em> type, only a single consumer is allowed to attach to the subscription. If more than one consumer attempts to subscribe to a topic using the same subscription, the consumer receives an error.</p>
 <p>In the diagram above, only <strong>Consumer A-0</strong> is allowed to consume messages.</p>
 <blockquote>
-<p>Exclusive mode is the default subscription mode.</p>
+<p>Exclusive is the default subscription type.</p>
 </blockquote>
 <p><img src="/docs/assets/pulsar-exclusive-subscriptions.png" alt="Exclusive subscriptions"></p>
 <h3><a class="anchor" aria-hidden="true" id="shared"></a><a href="#shared" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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. [...]
 <p>In <em>shared</em> or <em>round robin</em> mode, multiple consumers can attach to the same subscription. Messages are delivered in a round robin distribution across consumers, and any given message is delivered to only one consumer. When a consumer disconnects, all the messages that were sent to it and not acknowledged will be rescheduled for sending to the remaining consumers.</p>
 <p>In the diagram above, <strong>Consumer-B-1</strong> and <strong>Consumer-B-2</strong> are able to subscribe to the topic, but <strong>Consumer-C-1</strong> and others could as well.</p>
 <blockquote>
-<h4><a class="anchor" aria-hidden="true" id="limitations-of-shared-mode"></a><a href="#limitations-of-shared-mode" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 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>There are two important things to be aware of when using shared mode: * Message ordering is not guaranteed. * You cannot use cumulative acknowledgment with shared mode.</p>
+<p><strong>Limitations of Shared type</strong>  <br>
+Be aware when using Shared type: * Message ordering is not guaranteed. * You cannot use cumulative acknowledgment with Shared type.</p>
 </blockquote>
 <p><img src="/docs/assets/pulsar-shared-subscriptions.png" alt="Shared subscriptions"></p>
 <h3><a class="anchor" aria-hidden="true" id="failover"></a><a href="#failover" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
-<p>In <em>failover</em> mode, multiple consumers can attach to the same subscription. The consumers will be lexically sorted by the consumer's name and the first consumer will initially be the only one receiving messages. This consumer is called the <em>master consumer</em>.</p>
+<p>In <em>Failover</em> type, multiple consumers can attach to the same subscription. The consumers will be lexically sorted by the consumer's name and the first consumer will initially be the only one receiving messages. This consumer is called the <em>master consumer</em>.</p>
 <p>When the master consumer disconnects, all (non-acked and subsequent) messages will be delivered to the next consumer in line.</p>
 <p>In the diagram above, Consumer-C-1 is the master consumer while Consumer-C-2 would be the next in line to receive messages if Consumer-C-1 disconnected.</p>
 <p><img src="/docs/assets/pulsar-failover-subscriptions.png" alt="Failover subscriptions"></p>
@@ -193,8 +193,8 @@
 </blockquote>
 <p>When subscribing to multiple topics, the Pulsar client will automatically make a call to the Pulsar API to discover the topics that match the regex pattern/list and then subscribe to all of them. If any of the topics don't currently exist, the consumer will auto-subscribe to them once the topics are created.</p>
 <blockquote>
-<h4><a class="anchor" aria-hidden="true" id="no-ordering-guarantees-across-multiple-topics"></a><a href="#no-ordering-guarantees-across-multiple-topics" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h- [...]
-<p>When a producer sends messages to a single topic, all messages are guaranteed to be read from that topic in the same order. However, these guarantees do not hold across multiple topics. So when a producer sends message to multiple topics, the order in which messages are read from those topics is not guaranteed to be the same.</p>
+<p><strong>No ordering guarantees across multiple topics</strong>  <br>
+When a producer sends messages to a single topic, all messages are guaranteed to be read from that topic in the same order. However, these guarantees do not hold across multiple topics. So when a producer sends message to multiple topics, the order in which messages are read from those topics is not guaranteed to be the same.</p>
 </blockquote>
 <p>Here are some multi-topic subscription examples for Java:</p>
 <pre><code class="hljs css language-java"><span class="hljs-keyword">import</span> java.util.regex.Pattern;
@@ -222,9 +222,9 @@ Consumer someTopicsConsumer = pulsarClient.subscribe(someTopicsInNamespace, <spa
 <p>The diagram below illustrates this:</p>
 <p><img src="/docs/assets/partitioning.png" alt=""></p>
 <p>Here, the topic <strong>Topic1</strong> has five partitions (<strong>P0</strong> through <strong>P4</strong>) split across three brokers. Because there are more partitions than brokers, two brokers handle two partitions a piece, while the third handles only one (again, Pulsar handles this distribution of partitions automatically).</p>
-<p>Messages for this topic are broadcast to two consumers. The <a href="#routing-modes">routing mode</a> determines both which broker handles each partition, while the <a href="#subscription-modes">subscription mode</a> determines which messages go to which consumers.</p>
-<p>Decisions about routing and subscription modes can be made separately in most cases. In general, throughput concerns should guide partitioning/routing decisions while subscription decisions should be guided by application semantics.</p>
-<p>There is no difference between partitioned topics and normal topics in terms of how subscription modes work, as partitioning only determines what happens between when a message is published by a producer and processed and acknowledged by a consumer.</p>
+<p>Messages for this topic are broadcast to two consumers. The <a href="#routing-modes">routing mode</a> determines both which broker handles each partition, while the <a href="#subscription-types">subscription type</a> determines which messages go to which consumers.</p>
+<p>Decisions about routing and subscription types can be made separately in most cases. In general, throughput concerns should guide partitioning/routing decisions while subscription decisions should be guided by application semantics.</p>
+<p>There is no difference between partitioned topics and normal topics in terms of how subscription types work, as partitioning only determines what happens between when a message is published by a producer and processed and acknowledged by a consumer.</p>
 <p>Partitioned topics need to be explicitly created via the <a href="/docs/fr/2.1.1-incubating/admin-api-overview">admin API</a>. The number of partitions can be specified when creating the topic.</p>
 <h3><a class="anchor" aria-hidden="true" id="routing-modes"></a><a href="#routing-modes" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>When publishing to partitioned topics, you must specify a <em>routing mode</em>. The routing mode determines which partition---that is, which internal topic---each message should be published to.</p>
@@ -258,7 +258,7 @@ Consumer someTopicsConsumer = pulsarClient.subscribe(someTopicsInNamespace, <spa
 <h3><a class="anchor" aria-hidden="true" id="performance"></a><a href="#performance" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>Non-persistent messaging is usually faster than persistent messaging because brokers don't persist messages and immediately send acks back to the producer as soon as that message is deliver to all connected subscribers. Producers thus see comparatively low publish latency with non-persistent topic.</p>
 <h3><a class="anchor" aria-hidden="true" id="client-api"></a><a href="#client-api" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>Producers and consumers can connect to non-persistent topics in the same way as persistent topics, with the crucial difference that the topic name must start with <code>non-persistent</code>. All three subscription modes---<a href="#exclusive">exclusive</a>, <a href="#shared">shared</a>, and <a href="#failover">failover</a>---are supported for non-persistent topics.</p>
+<p>Producers and consumers can connect to non-persistent topics in the same way as persistent topics, with the crucial difference that the topic name must start with <code>non-persistent</code>. All three subscription types---<a href="#exclusive">exclusive</a>, <a href="#shared">shared</a>, and <a href="#failover">failover</a>---are supported for non-persistent topics.</p>
 <p>Here's an example <a href="/docs/fr/2.1.1-incubating/client-libraries-java#consumers">Java consumer</a> for a non-persistent topic:</p>
 <pre><code class="hljs css language-java">PulsarClient client = PulsarClient.create(<span class="hljs-string">"pulsar://localhost:6650"</span>);
 String npTopic = <span class="hljs-string">"non-persistent://public/default/my-topic"</span>;
@@ -303,7 +303,7 @@ Consumer consumer = client.subscribe(npTopic, subscriptionName);
 <blockquote>
 <p>More in-depth information can be found in <a href="https://streaml.io/blog/pulsar-effectively-once/">this post</a> on the <a href="https://streaml.io/blog">Streamlio blog</a></p>
 </blockquote>
-</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/fr/2.1.1-incubating/concepts-overview"><span class="arrow-prev">← </span><span>Overview</span></a><a class="docs-next button" href="/docs/fr/2.1.1-incubating/concepts-architecture-overview"><span>Architecture</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#messages">Messages</a></li><li><a href="#producers">Producers</ [...]
+</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/fr/2.1.1-incubating/concepts-overview"><span class="arrow-prev">← </span><span>Overview</span></a><a class="docs-next button" href="/docs/fr/2.1.1-incubating/concepts-architecture-overview"><span>Architecture</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#messages">Messages</a></li><li><a href="#producers">Producers</ [...]
       const community = document.querySelector("a[href='#community']").parentNode;
       const communityMenu =
         '<li>' +
diff --git a/content/docs/fr/2.1.1-incubating/concepts-overview.html b/content/docs/fr/2.1.1-incubating/concepts-overview.html
index 68361cc..b55ddcb 100644
--- a/content/docs/fr/2.1.1-incubating/concepts-overview.html
+++ b/content/docs/fr/2.1.1-incubating/concepts-overview.html
@@ -81,7 +81,7 @@
 <li>Very low publish and end-to-end latency</li>
 <li>Seamless scalability out to over a million topics</li>
 <li>A simple <a href="/docs/fr/2.1.1-incubating/concepts-clients">client API</a> with bindings for <a href="/docs/fr/2.1.1-incubating/client-libraries-java">Java</a>, <a href="/docs/fr/2.1.1-incubating/client-libraries-python">Python</a>, and <a href="/docs/fr/2.1.1-incubating/client-libraries-cpp">C++</a></li>
-<li>Multiple <a href="/docs/fr/2.1.1-incubating/concepts-messaging#subscription-modes">subscription modes</a> for topics (<a href="/docs/fr/2.1.1-incubating/concepts-messaging#exclusive">exclusive</a>, <a href="/docs/fr/2.1.1-incubating/concepts-messaging#shared">shared</a>, and <a href="/docs/fr/2.1.1-incubating/concepts-messaging#failover">failover</a>)</li>
+<li>Multiple <a href="/docs/fr/2.1.1-incubating/concepts-messaging#subscription-types">subscription types</a> for topics (<a href="/docs/fr/2.1.1-incubating/concepts-messaging#exclusive">exclusive</a>, <a href="/docs/fr/2.1.1-incubating/concepts-messaging#shared">shared</a>, and <a href="/docs/fr/2.1.1-incubating/concepts-messaging#failover">failover</a>)</li>
 <li>Guaranteed message delivery with <a href="/docs/fr/2.1.1-incubating/concepts-architecture-overview#persistent-storage">persistent message storage</a> provided by <a href="http://bookkeeper.apache.org/">Apache BookKeeper</a></li>
 <li>A serverless lightweight computing framework <a href="/docs/fr/2.1.1-incubating/functions-overview">Pulsar Functions</a> offers stream native data processing.</li>
 <li>A serverless connector framework <a href="/docs/fr/2.1.1-incubating/io-overview">Pulsar IO</a> built on-top-of Pulsar Functions to make moving data in and out Apache Pulsar easier.</li>
diff --git a/content/docs/fr/2.1.1-incubating/concepts-overview/index.html b/content/docs/fr/2.1.1-incubating/concepts-overview/index.html
index 68361cc..b55ddcb 100644
--- a/content/docs/fr/2.1.1-incubating/concepts-overview/index.html
+++ b/content/docs/fr/2.1.1-incubating/concepts-overview/index.html
@@ -81,7 +81,7 @@
 <li>Very low publish and end-to-end latency</li>
 <li>Seamless scalability out to over a million topics</li>
 <li>A simple <a href="/docs/fr/2.1.1-incubating/concepts-clients">client API</a> with bindings for <a href="/docs/fr/2.1.1-incubating/client-libraries-java">Java</a>, <a href="/docs/fr/2.1.1-incubating/client-libraries-python">Python</a>, and <a href="/docs/fr/2.1.1-incubating/client-libraries-cpp">C++</a></li>
-<li>Multiple <a href="/docs/fr/2.1.1-incubating/concepts-messaging#subscription-modes">subscription modes</a> for topics (<a href="/docs/fr/2.1.1-incubating/concepts-messaging#exclusive">exclusive</a>, <a href="/docs/fr/2.1.1-incubating/concepts-messaging#shared">shared</a>, and <a href="/docs/fr/2.1.1-incubating/concepts-messaging#failover">failover</a>)</li>
+<li>Multiple <a href="/docs/fr/2.1.1-incubating/concepts-messaging#subscription-types">subscription types</a> for topics (<a href="/docs/fr/2.1.1-incubating/concepts-messaging#exclusive">exclusive</a>, <a href="/docs/fr/2.1.1-incubating/concepts-messaging#shared">shared</a>, and <a href="/docs/fr/2.1.1-incubating/concepts-messaging#failover">failover</a>)</li>
 <li>Guaranteed message delivery with <a href="/docs/fr/2.1.1-incubating/concepts-architecture-overview#persistent-storage">persistent message storage</a> provided by <a href="http://bookkeeper.apache.org/">Apache BookKeeper</a></li>
 <li>A serverless lightweight computing framework <a href="/docs/fr/2.1.1-incubating/functions-overview">Pulsar Functions</a> offers stream native data processing.</li>
 <li>A serverless connector framework <a href="/docs/fr/2.1.1-incubating/io-overview">Pulsar IO</a> built on-top-of Pulsar Functions to make moving data in and out Apache Pulsar easier.</li>
diff --git a/content/docs/fr/2.2.0/concepts-messaging.html b/content/docs/fr/2.2.0/concepts-messaging.html
index 15cb543..39e69c1 100644
--- a/content/docs/fr/2.2.0/concepts-messaging.html
+++ b/content/docs/fr/2.2.0/concepts-messaging.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>Messaging Concepts · Apache Pulsar</title><meta name="viewport" content="width=device-width, initial-scale=1.0"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar is built on the [publish-subscribe](https://en.wikipedia.org/wiki/Publish%E2%80%93subscribe_pattern) pattern, aka pub-sub. In this pattern, [producers](#producers) publish  [...]
+<!DOCTYPE html><html lang="fr"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Messaging Concepts · Apache Pulsar</title><meta name="viewport" content="width=device-width, initial-scale=1.0"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar is built on the [publish-subscribe](https://en.wikipedia.org/wiki/Publish%E2%80%93subscribe_pattern) pattern, aka pub-sub. In this pattern, [producers](#producers) publish  [...]
               (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,7 +74,7 @@
                 };
               }
             });
-        </script></nav></div><div class="container mainContainer docsContainer"><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 id="__docusaurus" class="postHeaderTitle">Messaging Concepts</h1></header><article><div><span><p>Pulsar is built on the <a href="https://en.wikipedia.org/wiki/Publish%E2%80%93subscribe_pattern">publish- [...]
+        </script></nav></div><div class="container mainContainer docsContainer"><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 id="__docusaurus" class="postHeaderTitle">Messaging Concepts</h1></header><article><div><span><p>Pulsar is built on the <a href="https://en.wikipedia.org/wiki/Publish%E2%80%93subscribe_pattern">publish- [...]
 <p>Once a subscription has been created, all messages will be <a href="/docs/fr/2.2.0/concepts-architecture-overview#persistent-storage">retained</a> by Pulsar, even if the consumer gets disconnected. Retained messages will be discarded only when a consumer acknowledges that they've been successfully processed.</p>
 <h2><a class="anchor" aria-hidden="true" id="messages"></a><a href="#messages" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
 <p>Messages are the basic &quot;unit&quot; of Pulsar. They're what producers publish to topics and what consumers then consume from topics (and acknowledge when the message has been processed). Messages are the analogue of letters in a postal service system.</p>
@@ -133,7 +133,7 @@
 <p>When a consumer has successfully processed a message, it needs to send an acknowledgement to the broker so that the broker can discard the message (otherwise it <a href="/docs/fr/2.2.0/concepts-architecture-overview#persistent-storage">stores</a> the message).</p>
 <p>Messages can be acknowledged either one by one or cumulatively. With cumulative acknowledgement, the consumer only needs to acknowledge the last message it received. All messages in the stream up to (and including) the provided message will not be re-delivered to that consumer.</p>
 <blockquote>
-<p>Cumulative acknowledgement cannot be used with <a href="#subscription-modes">shared subscription mode</a>, because shared mode involves multiple consumers having access to the same subscription.</p>
+<p>Cumulative acknowledgement cannot be used with <a href="#subscription-types">shared subscription type</a>, because shared mode involves multiple consumers having access to the same subscription.</p>
 </blockquote>
 <h3><a class="anchor" aria-hidden="true" id="listeners"></a><a href="#listeners" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>Client libraries can provide their own listener implementations for consumers. The <a href="/docs/fr/2.2.0/client-libraries-java">Java client</a>, for example, provides a <a href="https://pulsar.incubator.apache.org/api/client/2.8.0-SNAPSHOT/org/apache/pulsar/client/api/MessageListener">MesssageListener</a>
@@ -154,31 +154,31 @@
 </tbody>
 </table>
 <blockquote>
-<h4><a class="anchor" aria-hidden="true" id="no-need-to-explicitly-create-new-topics"></a><a href="#no-need-to-explicitly-create-new-topics" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2  [...]
-<p>You don't need to explicitly create topics in Pulsar. If a client attempts to write or receive messages to/from a topic that does not yet exist, Pulsar will automatically create that topic under the <a href="#namespaces">namespace</a> provided in the <a href="#topics">topic name</a>.</p>
+<p><strong>No need to explicitly create new topics</strong>  <br>
+You don't need to explicitly create topics in Pulsar. If a client attempts to write or receive messages to/from a topic that does not yet exist, Pulsar will automatically create that topic under the <a href="#namespaces">namespace</a> provided in the <a href="#topics">topic name</a>.</p>
 </blockquote>
 <h2><a class="anchor" aria-hidden="true" id="espaces-de-nommage"></a><a href="#espaces-de-nommage" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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- [...]
 <p>A namespace is a logical nomenclature within a tenant. A tenant can create multiple namespaces via the <a href="/docs/fr/2.2.0/admin-api-namespaces#create">admin API</a>. For instance, a tenant with different applications can create a separate namespace for each application. A namespace allows the application to create and manage a hierarchy of topics. The topic <code>my-tenant/app1</code> is a namespace for the application <code>app1</code> for <code>my-tenant</code>. You can create  [...]
-<h2><a class="anchor" aria-hidden="true" id="subscription-modes"></a><a href="#subscription-modes" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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- [...]
-<p>A subscription is a named configuration rule that determines how messages are delivered to consumers. There are three available subscription modes in Pulsar: <a href="#exclusive">exclusive</a>, <a href="#shared">shared</a>, and <a href="#failover">failover</a>. These modes are illustrated in the figure below.</p>
-<p><img src="/docs/assets/pulsar-subscription-modes.png" alt="Subscription modes"></p>
+<h2><a class="anchor" aria-hidden="true" id="subscription-types"></a><a href="#subscription-types" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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- [...]
+<p>A subscription is a named configuration rule that determines how messages are delivered to consumers. There are three available subscription types in Pulsar: <a href="#exclusive">exclusive</a>, <a href="#shared">shared</a>, and <a href="#failover">failover</a>. These types are illustrated in the figure below.</p>
+<p><img src="/docs/assets/pulsar-subscription-types.png" alt="Subscription types"></p>
 <h3><a class="anchor" aria-hidden="true" id="exclusive"></a><a href="#exclusive" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>In <em>exclusive</em> mode, only a single consumer is allowed to attach to the subscription. If more than one consumer attempts to subscribe to a topic using the same subscription, the consumer receives an error.</p>
+<p>In <em>exclusive</em> type, only a single consumer is allowed to attach to the subscription. If more than one consumer attempts to subscribe to a topic using the same subscription, the consumer receives an error.</p>
 <p>In the diagram above, only <strong>Consumer A-0</strong> is allowed to consume messages.</p>
 <blockquote>
-<p>Exclusive mode is the default subscription mode.</p>
+<p>Exclusive is the default subscription type.</p>
 </blockquote>
 <p><img src="/docs/assets/pulsar-exclusive-subscriptions.png" alt="Exclusive subscriptions"></p>
 <h3><a class="anchor" aria-hidden="true" id="shared"></a><a href="#shared" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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. [...]
 <p>In <em>shared</em> or <em>round robin</em> mode, multiple consumers can attach to the same subscription. Messages are delivered in a round robin distribution across consumers, and any given message is delivered to only one consumer. When a consumer disconnects, all the messages that were sent to it and not acknowledged will be rescheduled for sending to the remaining consumers.</p>
 <p>In the diagram above, <strong>Consumer-B-1</strong> and <strong>Consumer-B-2</strong> are able to subscribe to the topic, but <strong>Consumer-C-1</strong> and others could as well.</p>
 <blockquote>
-<h4><a class="anchor" aria-hidden="true" id="limitations-of-shared-mode"></a><a href="#limitations-of-shared-mode" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 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>There are two important things to be aware of when using shared mode: * Message ordering is not guaranteed. * You cannot use cumulative acknowledgment with shared mode.</p>
+<p><strong>Limitations of Shared type</strong>  <br>
+Be aware when using Shared type: * Message ordering is not guaranteed. * You cannot use cumulative acknowledgment with Shared type.</p>
 </blockquote>
 <p><img src="/docs/assets/pulsar-shared-subscriptions.png" alt="Shared subscriptions"></p>
 <h3><a class="anchor" aria-hidden="true" id="failover"></a><a href="#failover" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
-<p>In <em>failover</em> mode, multiple consumers can attach to the same subscription. The consumers will be lexically sorted by the consumer's name and the first consumer will initially be the only one receiving messages. This consumer is called the <em>master consumer</em>.</p>
+<p>In <em>Failover</em> type, multiple consumers can attach to the same subscription. The consumers will be lexically sorted by the consumer's name and the first consumer will initially be the only one receiving messages. This consumer is called the <em>master consumer</em>.</p>
 <p>When the master consumer disconnects, all (non-acked and subsequent) messages will be delivered to the next consumer in line.</p>
 <p>In the diagram above, Consumer-C-1 is the master consumer while Consumer-C-2 would be the next in line to receive messages if Consumer-C-1 disconnected.</p>
 <p><img src="/docs/assets/pulsar-failover-subscriptions.png" alt="Failover subscriptions"></p>
@@ -193,8 +193,8 @@
 </blockquote>
 <p>When subscribing to multiple topics, the Pulsar client will automatically make a call to the Pulsar API to discover the topics that match the regex pattern/list and then subscribe to all of them. If any of the topics don't currently exist, the consumer will auto-subscribe to them once the topics are created.</p>
 <blockquote>
-<h4><a class="anchor" aria-hidden="true" id="no-ordering-guarantees-across-multiple-topics"></a><a href="#no-ordering-guarantees-across-multiple-topics" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h- [...]
-<p>When a producer sends messages to a single topic, all messages are guaranteed to be read from that topic in the same order. However, these guarantees do not hold across multiple topics. So when a producer sends message to multiple topics, the order in which messages are read from those topics is not guaranteed to be the same.</p>
+<p><strong>No ordering guarantees across multiple topics</strong>  <br>
+When a producer sends messages to a single topic, all messages are guaranteed to be read from that topic in the same order. However, these guarantees do not hold across multiple topics. So when a producer sends message to multiple topics, the order in which messages are read from those topics is not guaranteed to be the same.</p>
 </blockquote>
 <p>Here are some multi-topic subscription examples for Java:</p>
 <pre><code class="hljs css language-java"><span class="hljs-keyword">import</span> java.util.regex.Pattern;
@@ -222,9 +222,9 @@ Consumer someTopicsConsumer = pulsarClient.subscribe(someTopicsInNamespace, <spa
 <p>The diagram below illustrates this:</p>
 <p><img src="/docs/assets/partitioning.png" alt=""></p>
 <p>Here, the topic <strong>Topic1</strong> has five partitions (<strong>P0</strong> through <strong>P4</strong>) split across three brokers. Because there are more partitions than brokers, two brokers handle two partitions a piece, while the third handles only one (again, Pulsar handles this distribution of partitions automatically).</p>
-<p>Messages for this topic are broadcast to two consumers. The <a href="#routing-modes">routing mode</a> determines both which broker handles each partition, while the <a href="#subscription-modes">subscription mode</a> determines which messages go to which consumers.</p>
-<p>Decisions about routing and subscription modes can be made separately in most cases. In general, throughput concerns should guide partitioning/routing decisions while subscription decisions should be guided by application semantics.</p>
-<p>There is no difference between partitioned topics and normal topics in terms of how subscription modes work, as partitioning only determines what happens between when a message is published by a producer and processed and acknowledged by a consumer.</p>
+<p>Messages for this topic are broadcast to two consumers. The <a href="#routing-modes">routing mode</a> determines both which broker handles each partition, while the <a href="#subscription-types">subscription type</a> determines which messages go to which consumers.</p>
+<p>Decisions about routing and subscription types can be made separately in most cases. In general, throughput concerns should guide partitioning/routing decisions while subscription decisions should be guided by application semantics.</p>
+<p>There is no difference between partitioned topics and normal topics in terms of how subscription types work, as partitioning only determines what happens between when a message is published by a producer and processed and acknowledged by a consumer.</p>
 <p>Partitioned topics need to be explicitly created via the <a href="/docs/fr/2.2.0/admin-api-overview">admin API</a>. The number of partitions can be specified when creating the topic.</p>
 <h3><a class="anchor" aria-hidden="true" id="routing-modes"></a><a href="#routing-modes" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>When publishing to partitioned topics, you must specify a <em>routing mode</em>. The routing mode determines which partition---that is, which internal topic---each message should be published to.</p>
@@ -258,7 +258,7 @@ Consumer someTopicsConsumer = pulsarClient.subscribe(someTopicsInNamespace, <spa
 <h3><a class="anchor" aria-hidden="true" id="performance"></a><a href="#performance" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>Non-persistent messaging is usually faster than persistent messaging because brokers don't persist messages and immediately send acks back to the producer as soon as that message is deliver to all connected subscribers. Producers thus see comparatively low publish latency with non-persistent topic.</p>
 <h3><a class="anchor" aria-hidden="true" id="client-api"></a><a href="#client-api" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>Producers and consumers can connect to non-persistent topics in the same way as persistent topics, with the crucial difference that the topic name must start with <code>non-persistent</code>. All three subscription modes---<a href="#exclusive">exclusive</a>, <a href="#shared">shared</a>, and <a href="#failover">failover</a>---are supported for non-persistent topics.</p>
+<p>Producers and consumers can connect to non-persistent topics in the same way as persistent topics, with the crucial difference that the topic name must start with <code>non-persistent</code>. All three subscription types---<a href="#exclusive">exclusive</a>, <a href="#shared">shared</a>, and <a href="#failover">failover</a>---are supported for non-persistent topics.</p>
 <p>Here's an example <a href="/docs/fr/2.2.0/client-libraries-java#consumers">Java consumer</a> for a non-persistent topic:</p>
 <pre><code class="hljs css language-java">PulsarClient client = PulsarClient.create(<span class="hljs-string">"pulsar://localhost:6650"</span>);
 String npTopic = <span class="hljs-string">"non-persistent://public/default/my-topic"</span>;
@@ -303,7 +303,7 @@ Consumer consumer = client.subscribe(npTopic, subscriptionName);
 <blockquote>
 <p>More in-depth information can be found in <a href="https://streaml.io/blog/pulsar-effectively-once/">this post</a> on the <a href="https://streaml.io/blog">Streamlio blog</a></p>
 </blockquote>
-</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/fr/2.2.0/concepts-overview"><span class="arrow-prev">← </span><span>Overview</span></a><a class="docs-next button" href="/docs/fr/2.2.0/concepts-architecture-overview"><span>Architecture</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#messages">Messages</a></li><li><a href="#producers">Producers</a><ul class="toc-headi [...]
+</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/fr/2.2.0/concepts-overview"><span class="arrow-prev">← </span><span>Overview</span></a><a class="docs-next button" href="/docs/fr/2.2.0/concepts-architecture-overview"><span>Architecture</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#messages">Messages</a></li><li><a href="#producers">Producers</a><ul class="toc-headi [...]
       const community = document.querySelector("a[href='#community']").parentNode;
       const communityMenu =
         '<li>' +
diff --git a/content/docs/fr/2.2.0/concepts-messaging/index.html b/content/docs/fr/2.2.0/concepts-messaging/index.html
index 15cb543..39e69c1 100644
--- a/content/docs/fr/2.2.0/concepts-messaging/index.html
+++ b/content/docs/fr/2.2.0/concepts-messaging/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>Messaging Concepts · Apache Pulsar</title><meta name="viewport" content="width=device-width, initial-scale=1.0"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar is built on the [publish-subscribe](https://en.wikipedia.org/wiki/Publish%E2%80%93subscribe_pattern) pattern, aka pub-sub. In this pattern, [producers](#producers) publish  [...]
+<!DOCTYPE html><html lang="fr"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Messaging Concepts · Apache Pulsar</title><meta name="viewport" content="width=device-width, initial-scale=1.0"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar is built on the [publish-subscribe](https://en.wikipedia.org/wiki/Publish%E2%80%93subscribe_pattern) pattern, aka pub-sub. In this pattern, [producers](#producers) publish  [...]
               (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,7 +74,7 @@
                 };
               }
             });
-        </script></nav></div><div class="container mainContainer docsContainer"><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 id="__docusaurus" class="postHeaderTitle">Messaging Concepts</h1></header><article><div><span><p>Pulsar is built on the <a href="https://en.wikipedia.org/wiki/Publish%E2%80%93subscribe_pattern">publish- [...]
+        </script></nav></div><div class="container mainContainer docsContainer"><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 id="__docusaurus" class="postHeaderTitle">Messaging Concepts</h1></header><article><div><span><p>Pulsar is built on the <a href="https://en.wikipedia.org/wiki/Publish%E2%80%93subscribe_pattern">publish- [...]
 <p>Once a subscription has been created, all messages will be <a href="/docs/fr/2.2.0/concepts-architecture-overview#persistent-storage">retained</a> by Pulsar, even if the consumer gets disconnected. Retained messages will be discarded only when a consumer acknowledges that they've been successfully processed.</p>
 <h2><a class="anchor" aria-hidden="true" id="messages"></a><a href="#messages" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
 <p>Messages are the basic &quot;unit&quot; of Pulsar. They're what producers publish to topics and what consumers then consume from topics (and acknowledge when the message has been processed). Messages are the analogue of letters in a postal service system.</p>
@@ -133,7 +133,7 @@
 <p>When a consumer has successfully processed a message, it needs to send an acknowledgement to the broker so that the broker can discard the message (otherwise it <a href="/docs/fr/2.2.0/concepts-architecture-overview#persistent-storage">stores</a> the message).</p>
 <p>Messages can be acknowledged either one by one or cumulatively. With cumulative acknowledgement, the consumer only needs to acknowledge the last message it received. All messages in the stream up to (and including) the provided message will not be re-delivered to that consumer.</p>
 <blockquote>
-<p>Cumulative acknowledgement cannot be used with <a href="#subscription-modes">shared subscription mode</a>, because shared mode involves multiple consumers having access to the same subscription.</p>
+<p>Cumulative acknowledgement cannot be used with <a href="#subscription-types">shared subscription type</a>, because shared mode involves multiple consumers having access to the same subscription.</p>
 </blockquote>
 <h3><a class="anchor" aria-hidden="true" id="listeners"></a><a href="#listeners" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>Client libraries can provide their own listener implementations for consumers. The <a href="/docs/fr/2.2.0/client-libraries-java">Java client</a>, for example, provides a <a href="https://pulsar.incubator.apache.org/api/client/2.8.0-SNAPSHOT/org/apache/pulsar/client/api/MessageListener">MesssageListener</a>
@@ -154,31 +154,31 @@
 </tbody>
 </table>
 <blockquote>
-<h4><a class="anchor" aria-hidden="true" id="no-need-to-explicitly-create-new-topics"></a><a href="#no-need-to-explicitly-create-new-topics" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2  [...]
-<p>You don't need to explicitly create topics in Pulsar. If a client attempts to write or receive messages to/from a topic that does not yet exist, Pulsar will automatically create that topic under the <a href="#namespaces">namespace</a> provided in the <a href="#topics">topic name</a>.</p>
+<p><strong>No need to explicitly create new topics</strong>  <br>
+You don't need to explicitly create topics in Pulsar. If a client attempts to write or receive messages to/from a topic that does not yet exist, Pulsar will automatically create that topic under the <a href="#namespaces">namespace</a> provided in the <a href="#topics">topic name</a>.</p>
 </blockquote>
 <h2><a class="anchor" aria-hidden="true" id="espaces-de-nommage"></a><a href="#espaces-de-nommage" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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- [...]
 <p>A namespace is a logical nomenclature within a tenant. A tenant can create multiple namespaces via the <a href="/docs/fr/2.2.0/admin-api-namespaces#create">admin API</a>. For instance, a tenant with different applications can create a separate namespace for each application. A namespace allows the application to create and manage a hierarchy of topics. The topic <code>my-tenant/app1</code> is a namespace for the application <code>app1</code> for <code>my-tenant</code>. You can create  [...]
-<h2><a class="anchor" aria-hidden="true" id="subscription-modes"></a><a href="#subscription-modes" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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- [...]
-<p>A subscription is a named configuration rule that determines how messages are delivered to consumers. There are three available subscription modes in Pulsar: <a href="#exclusive">exclusive</a>, <a href="#shared">shared</a>, and <a href="#failover">failover</a>. These modes are illustrated in the figure below.</p>
-<p><img src="/docs/assets/pulsar-subscription-modes.png" alt="Subscription modes"></p>
+<h2><a class="anchor" aria-hidden="true" id="subscription-types"></a><a href="#subscription-types" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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- [...]
+<p>A subscription is a named configuration rule that determines how messages are delivered to consumers. There are three available subscription types in Pulsar: <a href="#exclusive">exclusive</a>, <a href="#shared">shared</a>, and <a href="#failover">failover</a>. These types are illustrated in the figure below.</p>
+<p><img src="/docs/assets/pulsar-subscription-types.png" alt="Subscription types"></p>
 <h3><a class="anchor" aria-hidden="true" id="exclusive"></a><a href="#exclusive" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>In <em>exclusive</em> mode, only a single consumer is allowed to attach to the subscription. If more than one consumer attempts to subscribe to a topic using the same subscription, the consumer receives an error.</p>
+<p>In <em>exclusive</em> type, only a single consumer is allowed to attach to the subscription. If more than one consumer attempts to subscribe to a topic using the same subscription, the consumer receives an error.</p>
 <p>In the diagram above, only <strong>Consumer A-0</strong> is allowed to consume messages.</p>
 <blockquote>
-<p>Exclusive mode is the default subscription mode.</p>
+<p>Exclusive is the default subscription type.</p>
 </blockquote>
 <p><img src="/docs/assets/pulsar-exclusive-subscriptions.png" alt="Exclusive subscriptions"></p>
 <h3><a class="anchor" aria-hidden="true" id="shared"></a><a href="#shared" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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. [...]
 <p>In <em>shared</em> or <em>round robin</em> mode, multiple consumers can attach to the same subscription. Messages are delivered in a round robin distribution across consumers, and any given message is delivered to only one consumer. When a consumer disconnects, all the messages that were sent to it and not acknowledged will be rescheduled for sending to the remaining consumers.</p>
 <p>In the diagram above, <strong>Consumer-B-1</strong> and <strong>Consumer-B-2</strong> are able to subscribe to the topic, but <strong>Consumer-C-1</strong> and others could as well.</p>
 <blockquote>
-<h4><a class="anchor" aria-hidden="true" id="limitations-of-shared-mode"></a><a href="#limitations-of-shared-mode" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 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>There are two important things to be aware of when using shared mode: * Message ordering is not guaranteed. * You cannot use cumulative acknowledgment with shared mode.</p>
+<p><strong>Limitations of Shared type</strong>  <br>
+Be aware when using Shared type: * Message ordering is not guaranteed. * You cannot use cumulative acknowledgment with Shared type.</p>
 </blockquote>
 <p><img src="/docs/assets/pulsar-shared-subscriptions.png" alt="Shared subscriptions"></p>
 <h3><a class="anchor" aria-hidden="true" id="failover"></a><a href="#failover" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
-<p>In <em>failover</em> mode, multiple consumers can attach to the same subscription. The consumers will be lexically sorted by the consumer's name and the first consumer will initially be the only one receiving messages. This consumer is called the <em>master consumer</em>.</p>
+<p>In <em>Failover</em> type, multiple consumers can attach to the same subscription. The consumers will be lexically sorted by the consumer's name and the first consumer will initially be the only one receiving messages. This consumer is called the <em>master consumer</em>.</p>
 <p>When the master consumer disconnects, all (non-acked and subsequent) messages will be delivered to the next consumer in line.</p>
 <p>In the diagram above, Consumer-C-1 is the master consumer while Consumer-C-2 would be the next in line to receive messages if Consumer-C-1 disconnected.</p>
 <p><img src="/docs/assets/pulsar-failover-subscriptions.png" alt="Failover subscriptions"></p>
@@ -193,8 +193,8 @@
 </blockquote>
 <p>When subscribing to multiple topics, the Pulsar client will automatically make a call to the Pulsar API to discover the topics that match the regex pattern/list and then subscribe to all of them. If any of the topics don't currently exist, the consumer will auto-subscribe to them once the topics are created.</p>
 <blockquote>
-<h4><a class="anchor" aria-hidden="true" id="no-ordering-guarantees-across-multiple-topics"></a><a href="#no-ordering-guarantees-across-multiple-topics" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h- [...]
-<p>When a producer sends messages to a single topic, all messages are guaranteed to be read from that topic in the same order. However, these guarantees do not hold across multiple topics. So when a producer sends message to multiple topics, the order in which messages are read from those topics is not guaranteed to be the same.</p>
+<p><strong>No ordering guarantees across multiple topics</strong>  <br>
+When a producer sends messages to a single topic, all messages are guaranteed to be read from that topic in the same order. However, these guarantees do not hold across multiple topics. So when a producer sends message to multiple topics, the order in which messages are read from those topics is not guaranteed to be the same.</p>
 </blockquote>
 <p>Here are some multi-topic subscription examples for Java:</p>
 <pre><code class="hljs css language-java"><span class="hljs-keyword">import</span> java.util.regex.Pattern;
@@ -222,9 +222,9 @@ Consumer someTopicsConsumer = pulsarClient.subscribe(someTopicsInNamespace, <spa
 <p>The diagram below illustrates this:</p>
 <p><img src="/docs/assets/partitioning.png" alt=""></p>
 <p>Here, the topic <strong>Topic1</strong> has five partitions (<strong>P0</strong> through <strong>P4</strong>) split across three brokers. Because there are more partitions than brokers, two brokers handle two partitions a piece, while the third handles only one (again, Pulsar handles this distribution of partitions automatically).</p>
-<p>Messages for this topic are broadcast to two consumers. The <a href="#routing-modes">routing mode</a> determines both which broker handles each partition, while the <a href="#subscription-modes">subscription mode</a> determines which messages go to which consumers.</p>
-<p>Decisions about routing and subscription modes can be made separately in most cases. In general, throughput concerns should guide partitioning/routing decisions while subscription decisions should be guided by application semantics.</p>
-<p>There is no difference between partitioned topics and normal topics in terms of how subscription modes work, as partitioning only determines what happens between when a message is published by a producer and processed and acknowledged by a consumer.</p>
+<p>Messages for this topic are broadcast to two consumers. The <a href="#routing-modes">routing mode</a> determines both which broker handles each partition, while the <a href="#subscription-types">subscription type</a> determines which messages go to which consumers.</p>
+<p>Decisions about routing and subscription types can be made separately in most cases. In general, throughput concerns should guide partitioning/routing decisions while subscription decisions should be guided by application semantics.</p>
+<p>There is no difference between partitioned topics and normal topics in terms of how subscription types work, as partitioning only determines what happens between when a message is published by a producer and processed and acknowledged by a consumer.</p>
 <p>Partitioned topics need to be explicitly created via the <a href="/docs/fr/2.2.0/admin-api-overview">admin API</a>. The number of partitions can be specified when creating the topic.</p>
 <h3><a class="anchor" aria-hidden="true" id="routing-modes"></a><a href="#routing-modes" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>When publishing to partitioned topics, you must specify a <em>routing mode</em>. The routing mode determines which partition---that is, which internal topic---each message should be published to.</p>
@@ -258,7 +258,7 @@ Consumer someTopicsConsumer = pulsarClient.subscribe(someTopicsInNamespace, <spa
 <h3><a class="anchor" aria-hidden="true" id="performance"></a><a href="#performance" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>Non-persistent messaging is usually faster than persistent messaging because brokers don't persist messages and immediately send acks back to the producer as soon as that message is deliver to all connected subscribers. Producers thus see comparatively low publish latency with non-persistent topic.</p>
 <h3><a class="anchor" aria-hidden="true" id="client-api"></a><a href="#client-api" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>Producers and consumers can connect to non-persistent topics in the same way as persistent topics, with the crucial difference that the topic name must start with <code>non-persistent</code>. All three subscription modes---<a href="#exclusive">exclusive</a>, <a href="#shared">shared</a>, and <a href="#failover">failover</a>---are supported for non-persistent topics.</p>
+<p>Producers and consumers can connect to non-persistent topics in the same way as persistent topics, with the crucial difference that the topic name must start with <code>non-persistent</code>. All three subscription types---<a href="#exclusive">exclusive</a>, <a href="#shared">shared</a>, and <a href="#failover">failover</a>---are supported for non-persistent topics.</p>
 <p>Here's an example <a href="/docs/fr/2.2.0/client-libraries-java#consumers">Java consumer</a> for a non-persistent topic:</p>
 <pre><code class="hljs css language-java">PulsarClient client = PulsarClient.create(<span class="hljs-string">"pulsar://localhost:6650"</span>);
 String npTopic = <span class="hljs-string">"non-persistent://public/default/my-topic"</span>;
@@ -303,7 +303,7 @@ Consumer consumer = client.subscribe(npTopic, subscriptionName);
 <blockquote>
 <p>More in-depth information can be found in <a href="https://streaml.io/blog/pulsar-effectively-once/">this post</a> on the <a href="https://streaml.io/blog">Streamlio blog</a></p>
 </blockquote>
-</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/fr/2.2.0/concepts-overview"><span class="arrow-prev">← </span><span>Overview</span></a><a class="docs-next button" href="/docs/fr/2.2.0/concepts-architecture-overview"><span>Architecture</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#messages">Messages</a></li><li><a href="#producers">Producers</a><ul class="toc-headi [...]
+</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/fr/2.2.0/concepts-overview"><span class="arrow-prev">← </span><span>Overview</span></a><a class="docs-next button" href="/docs/fr/2.2.0/concepts-architecture-overview"><span>Architecture</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#messages">Messages</a></li><li><a href="#producers">Producers</a><ul class="toc-headi [...]
       const community = document.querySelector("a[href='#community']").parentNode;
       const communityMenu =
         '<li>' +
diff --git a/content/docs/fr/2.2.0/concepts-overview.html b/content/docs/fr/2.2.0/concepts-overview.html
index 8de95b4..4236a9f 100644
--- a/content/docs/fr/2.2.0/concepts-overview.html
+++ b/content/docs/fr/2.2.0/concepts-overview.html
@@ -81,7 +81,7 @@
 <li>Very low publish and end-to-end latency</li>
 <li>Seamless scalability out to over a million topics</li>
 <li>A simple <a href="/docs/fr/2.2.0/concepts-clients">client API</a> with bindings for <a href="/docs/fr/2.2.0/client-libraries-java">Java</a>, <a href="/docs/fr/2.2.0/client-libraries-python">Python</a>, and <a href="/docs/fr/2.2.0/client-libraries-cpp">C++</a></li>
-<li>Multiple <a href="/docs/fr/2.2.0/concepts-messaging#subscription-modes">subscription modes</a> for topics (<a href="/docs/fr/2.2.0/concepts-messaging#exclusive">exclusive</a>, <a href="/docs/fr/2.2.0/concepts-messaging#shared">shared</a>, and <a href="/docs/fr/2.2.0/concepts-messaging#failover">failover</a>)</li>
+<li>Multiple <a href="/docs/fr/2.2.0/concepts-messaging#subscription-types">subscription types</a> for topics (<a href="/docs/fr/2.2.0/concepts-messaging#exclusive">exclusive</a>, <a href="/docs/fr/2.2.0/concepts-messaging#shared">shared</a>, and <a href="/docs/fr/2.2.0/concepts-messaging#failover">failover</a>)</li>
 <li>Guaranteed message delivery with <a href="/docs/fr/2.2.0/concepts-architecture-overview#persistent-storage">persistent message storage</a> provided by <a href="http://bookkeeper.apache.org/">Apache BookKeeper</a></li>
 <li>A serverless lightweight computing framework <a href="/docs/fr/2.2.0/functions-overview">Pulsar Functions</a> offers stream native data processing.</li>
 <li>A serverless connector framework <a href="/docs/fr/2.2.0/io-overview">Pulsar IO</a> built on-top-of Pulsar Functions to make moving data in and out Apache Pulsar easier.</li>
diff --git a/content/docs/fr/2.2.0/concepts-overview/index.html b/content/docs/fr/2.2.0/concepts-overview/index.html
index 8de95b4..4236a9f 100644
--- a/content/docs/fr/2.2.0/concepts-overview/index.html
+++ b/content/docs/fr/2.2.0/concepts-overview/index.html
@@ -81,7 +81,7 @@
 <li>Very low publish and end-to-end latency</li>
 <li>Seamless scalability out to over a million topics</li>
 <li>A simple <a href="/docs/fr/2.2.0/concepts-clients">client API</a> with bindings for <a href="/docs/fr/2.2.0/client-libraries-java">Java</a>, <a href="/docs/fr/2.2.0/client-libraries-python">Python</a>, and <a href="/docs/fr/2.2.0/client-libraries-cpp">C++</a></li>
-<li>Multiple <a href="/docs/fr/2.2.0/concepts-messaging#subscription-modes">subscription modes</a> for topics (<a href="/docs/fr/2.2.0/concepts-messaging#exclusive">exclusive</a>, <a href="/docs/fr/2.2.0/concepts-messaging#shared">shared</a>, and <a href="/docs/fr/2.2.0/concepts-messaging#failover">failover</a>)</li>
+<li>Multiple <a href="/docs/fr/2.2.0/concepts-messaging#subscription-types">subscription types</a> for topics (<a href="/docs/fr/2.2.0/concepts-messaging#exclusive">exclusive</a>, <a href="/docs/fr/2.2.0/concepts-messaging#shared">shared</a>, and <a href="/docs/fr/2.2.0/concepts-messaging#failover">failover</a>)</li>
 <li>Guaranteed message delivery with <a href="/docs/fr/2.2.0/concepts-architecture-overview#persistent-storage">persistent message storage</a> provided by <a href="http://bookkeeper.apache.org/">Apache BookKeeper</a></li>
 <li>A serverless lightweight computing framework <a href="/docs/fr/2.2.0/functions-overview">Pulsar Functions</a> offers stream native data processing.</li>
 <li>A serverless connector framework <a href="/docs/fr/2.2.0/io-overview">Pulsar IO</a> built on-top-of Pulsar Functions to make moving data in and out Apache Pulsar easier.</li>
diff --git a/content/docs/fr/2.2.1/concepts-messaging.html b/content/docs/fr/2.2.1/concepts-messaging.html
index e095bbe..524c24b 100644
--- a/content/docs/fr/2.2.1/concepts-messaging.html
+++ b/content/docs/fr/2.2.1/concepts-messaging.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>Messaging Concepts · Apache Pulsar</title><meta name="viewport" content="width=device-width, initial-scale=1.0"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar is built on the [publish-subscribe](https://en.wikipedia.org/wiki/Publish%E2%80%93subscribe_pattern) pattern, aka pub-sub. In this pattern, [producers](#producers) publish  [...]
+<!DOCTYPE html><html lang="fr"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Messaging Concepts · Apache Pulsar</title><meta name="viewport" content="width=device-width, initial-scale=1.0"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar is built on the [publish-subscribe](https://en.wikipedia.org/wiki/Publish%E2%80%93subscribe_pattern) pattern, aka pub-sub. In this pattern, [producers](#producers) publish  [...]
               (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,7 +74,7 @@
                 };
               }
             });
-        </script></nav></div><div class="container mainContainer docsContainer"><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 id="__docusaurus" class="postHeaderTitle">Messaging Concepts</h1></header><article><div><span><p>Pulsar is built on the <a href="https://en.wikipedia.org/wiki/Publish%E2%80%93subscribe_pattern">publish- [...]
+        </script></nav></div><div class="container mainContainer docsContainer"><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 id="__docusaurus" class="postHeaderTitle">Messaging Concepts</h1></header><article><div><span><p>Pulsar is built on the <a href="https://en.wikipedia.org/wiki/Publish%E2%80%93subscribe_pattern">publish- [...]
 <p>Once a subscription has been created, all messages will be <a href="/docs/fr/2.2.1/concepts-architecture-overview#persistent-storage">retained</a> by Pulsar, even if the consumer gets disconnected. Retained messages will be discarded only when a consumer acknowledges that they've been successfully processed.</p>
 <h2><a class="anchor" aria-hidden="true" id="messages"></a><a href="#messages" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
 <p>Messages are the basic &quot;unit&quot; of Pulsar. They're what producers publish to topics and what consumers then consume from topics (and acknowledge when the message has been processed). Messages are the analogue of letters in a postal service system.</p>
@@ -133,7 +133,7 @@
 <p>When a consumer has successfully processed a message, it needs to send an acknowledgement to the broker so that the broker can discard the message (otherwise it <a href="/docs/fr/2.2.1/concepts-architecture-overview#persistent-storage">stores</a> the message).</p>
 <p>Messages can be acknowledged either one by one or cumulatively. With cumulative acknowledgement, the consumer only needs to acknowledge the last message it received. All messages in the stream up to (and including) the provided message will not be re-delivered to that consumer.</p>
 <blockquote>
-<p>Cumulative acknowledgement cannot be used with <a href="#subscription-modes">shared subscription mode</a>, because shared mode involves multiple consumers having access to the same subscription.</p>
+<p>Cumulative acknowledgement cannot be used with <a href="#subscription-types">shared subscription type</a>, because shared mode involves multiple consumers having access to the same subscription.</p>
 </blockquote>
 <h3><a class="anchor" aria-hidden="true" id="listeners"></a><a href="#listeners" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>Client libraries can provide their own listener implementations for consumers. The <a href="/docs/fr/2.2.1/client-libraries-java">Java client</a>, for example, provides a <a href="https://pulsar.incubator.apache.org/api/client/2.8.0-SNAPSHOT/org/apache/pulsar/client/api/MessageListener">MesssageListener</a>
@@ -154,31 +154,31 @@
 </tbody>
 </table>
 <blockquote>
-<h4><a class="anchor" aria-hidden="true" id="no-need-to-explicitly-create-new-topics"></a><a href="#no-need-to-explicitly-create-new-topics" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2  [...]
-<p>You don't need to explicitly create topics in Pulsar. If a client attempts to write or receive messages to/from a topic that does not yet exist, Pulsar will automatically create that topic under the <a href="#namespaces">namespace</a> provided in the <a href="#topics">topic name</a>.</p>
+<p><strong>No need to explicitly create new topics</strong>  <br>
+You don't need to explicitly create topics in Pulsar. If a client attempts to write or receive messages to/from a topic that does not yet exist, Pulsar will automatically create that topic under the <a href="#namespaces">namespace</a> provided in the <a href="#topics">topic name</a>.</p>
 </blockquote>
 <h2><a class="anchor" aria-hidden="true" id="espaces-de-nommage"></a><a href="#espaces-de-nommage" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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- [...]
 <p>A namespace is a logical nomenclature within a tenant. A tenant can create multiple namespaces via the <a href="/docs/fr/2.2.1/admin-api-namespaces#create">admin API</a>. For instance, a tenant with different applications can create a separate namespace for each application. A namespace allows the application to create and manage a hierarchy of topics. The topic <code>my-tenant/app1</code> is a namespace for the application <code>app1</code> for <code>my-tenant</code>. You can create  [...]
-<h2><a class="anchor" aria-hidden="true" id="subscription-modes"></a><a href="#subscription-modes" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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- [...]
-<p>A subscription is a named configuration rule that determines how messages are delivered to consumers. There are three available subscription modes in Pulsar: <a href="#exclusive">exclusive</a>, <a href="#shared">shared</a>, and <a href="#failover">failover</a>. These modes are illustrated in the figure below.</p>
-<p><img src="/docs/assets/pulsar-subscription-modes.png" alt="Subscription modes"></p>
+<h2><a class="anchor" aria-hidden="true" id="subscription-types"></a><a href="#subscription-types" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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- [...]
+<p>A subscription is a named configuration rule that determines how messages are delivered to consumers. There are three available subscription types in Pulsar: <a href="#exclusive">exclusive</a>, <a href="#shared">shared</a>, and <a href="#failover">failover</a>. These types are illustrated in the figure below.</p>
+<p><img src="/docs/assets/pulsar-subscription-types.png" alt="Subscription types"></p>
 <h3><a class="anchor" aria-hidden="true" id="exclusive"></a><a href="#exclusive" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>In <em>exclusive</em> mode, only a single consumer is allowed to attach to the subscription. If more than one consumer attempts to subscribe to a topic using the same subscription, the consumer receives an error.</p>
+<p>In <em>exclusive</em> type, only a single consumer is allowed to attach to the subscription. If more than one consumer attempts to subscribe to a topic using the same subscription, the consumer receives an error.</p>
 <p>In the diagram above, only <strong>Consumer A-0</strong> is allowed to consume messages.</p>
 <blockquote>
-<p>Exclusive mode is the default subscription mode.</p>
+<p>Exclusive is the default subscription type.</p>
 </blockquote>
 <p><img src="/docs/assets/pulsar-exclusive-subscriptions.png" alt="Exclusive subscriptions"></p>
 <h3><a class="anchor" aria-hidden="true" id="shared"></a><a href="#shared" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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. [...]
 <p>In <em>shared</em> or <em>round robin</em> mode, multiple consumers can attach to the same subscription. Messages are delivered in a round robin distribution across consumers, and any given message is delivered to only one consumer. When a consumer disconnects, all the messages that were sent to it and not acknowledged will be rescheduled for sending to the remaining consumers.</p>
 <p>In the diagram above, <strong>Consumer-B-1</strong> and <strong>Consumer-B-2</strong> are able to subscribe to the topic, but <strong>Consumer-C-1</strong> and others could as well.</p>
 <blockquote>
-<h4><a class="anchor" aria-hidden="true" id="limitations-of-shared-mode"></a><a href="#limitations-of-shared-mode" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 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>There are two important things to be aware of when using shared mode: * Message ordering is not guaranteed. * You cannot use cumulative acknowledgment with shared mode.</p>
+<p><strong>Limitations of Shared type</strong>  <br>
+Be aware when using Shared type: * Message ordering is not guaranteed. * You cannot use cumulative acknowledgment with Shared type.</p>
 </blockquote>
 <p><img src="/docs/assets/pulsar-shared-subscriptions.png" alt="Shared subscriptions"></p>
 <h3><a class="anchor" aria-hidden="true" id="failover"></a><a href="#failover" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
-<p>In <em>failover</em> mode, multiple consumers can attach to the same subscription. The consumers will be lexically sorted by the consumer's name and the first consumer will initially be the only one receiving messages. This consumer is called the <em>master consumer</em>.</p>
+<p>In <em>Failover</em> type, multiple consumers can attach to the same subscription. The consumers will be lexically sorted by the consumer's name and the first consumer will initially be the only one receiving messages. This consumer is called the <em>master consumer</em>.</p>
 <p>When the master consumer disconnects, all (non-acked and subsequent) messages will be delivered to the next consumer in line.</p>
 <p>In the diagram above, Consumer-C-1 is the master consumer while Consumer-C-2 would be the next in line to receive messages if Consumer-C-1 disconnected.</p>
 <p><img src="/docs/assets/pulsar-failover-subscriptions.png" alt="Failover subscriptions"></p>
@@ -193,8 +193,8 @@
 </blockquote>
 <p>When subscribing to multiple topics, the Pulsar client will automatically make a call to the Pulsar API to discover the topics that match the regex pattern/list and then subscribe to all of them. If any of the topics don't currently exist, the consumer will auto-subscribe to them once the topics are created.</p>
 <blockquote>
-<h4><a class="anchor" aria-hidden="true" id="no-ordering-guarantees-across-multiple-topics"></a><a href="#no-ordering-guarantees-across-multiple-topics" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h- [...]
-<p>When a producer sends messages to a single topic, all messages are guaranteed to be read from that topic in the same order. However, these guarantees do not hold across multiple topics. So when a producer sends message to multiple topics, the order in which messages are read from those topics is not guaranteed to be the same.</p>
+<p><strong>No ordering guarantees across multiple topics</strong>  <br>
+When a producer sends messages to a single topic, all messages are guaranteed to be read from that topic in the same order. However, these guarantees do not hold across multiple topics. So when a producer sends message to multiple topics, the order in which messages are read from those topics is not guaranteed to be the same.</p>
 </blockquote>
 <p>Here are some multi-topic subscription examples for Java:</p>
 <pre><code class="hljs css language-java"><span class="hljs-keyword">import</span> java.util.regex.Pattern;
@@ -222,9 +222,9 @@ Consumer someTopicsConsumer = pulsarClient.subscribe(someTopicsInNamespace, <spa
 <p>The diagram below illustrates this:</p>
 <p><img src="/docs/assets/partitioning.png" alt=""></p>
 <p>Here, the topic <strong>Topic1</strong> has five partitions (<strong>P0</strong> through <strong>P4</strong>) split across three brokers. Because there are more partitions than brokers, two brokers handle two partitions a piece, while the third handles only one (again, Pulsar handles this distribution of partitions automatically).</p>
-<p>Messages for this topic are broadcast to two consumers. The <a href="#routing-modes">routing mode</a> determines both which broker handles each partition, while the <a href="#subscription-modes">subscription mode</a> determines which messages go to which consumers.</p>
-<p>Decisions about routing and subscription modes can be made separately in most cases. In general, throughput concerns should guide partitioning/routing decisions while subscription decisions should be guided by application semantics.</p>
-<p>There is no difference between partitioned topics and normal topics in terms of how subscription modes work, as partitioning only determines what happens between when a message is published by a producer and processed and acknowledged by a consumer.</p>
+<p>Messages for this topic are broadcast to two consumers. The <a href="#routing-modes">routing mode</a> determines both which broker handles each partition, while the <a href="#subscription-types">subscription type</a> determines which messages go to which consumers.</p>
+<p>Decisions about routing and subscription types can be made separately in most cases. In general, throughput concerns should guide partitioning/routing decisions while subscription decisions should be guided by application semantics.</p>
+<p>There is no difference between partitioned topics and normal topics in terms of how subscription types work, as partitioning only determines what happens between when a message is published by a producer and processed and acknowledged by a consumer.</p>
 <p>Partitioned topics need to be explicitly created via the <a href="/docs/fr/2.2.1/admin-api-overview">admin API</a>. The number of partitions can be specified when creating the topic.</p>
 <h3><a class="anchor" aria-hidden="true" id="routing-modes"></a><a href="#routing-modes" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>When publishing to partitioned topics, you must specify a <em>routing mode</em>. The routing mode determines which partition---that is, which internal topic---each message should be published to.</p>
@@ -258,7 +258,7 @@ Consumer someTopicsConsumer = pulsarClient.subscribe(someTopicsInNamespace, <spa
 <h3><a class="anchor" aria-hidden="true" id="performance"></a><a href="#performance" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>Non-persistent messaging is usually faster than persistent messaging because brokers don't persist messages and immediately send acks back to the producer as soon as that message is deliver to all connected subscribers. Producers thus see comparatively low publish latency with non-persistent topic.</p>
 <h3><a class="anchor" aria-hidden="true" id="client-api"></a><a href="#client-api" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>Producers and consumers can connect to non-persistent topics in the same way as persistent topics, with the crucial difference that the topic name must start with <code>non-persistent</code>. All three subscription modes---<a href="#exclusive">exclusive</a>, <a href="#shared">shared</a>, and <a href="#failover">failover</a>---are supported for non-persistent topics.</p>
+<p>Producers and consumers can connect to non-persistent topics in the same way as persistent topics, with the crucial difference that the topic name must start with <code>non-persistent</code>. All three subscription types---<a href="#exclusive">exclusive</a>, <a href="#shared">shared</a>, and <a href="#failover">failover</a>---are supported for non-persistent topics.</p>
 <p>Here's an example <a href="/docs/fr/2.2.1/client-libraries-java#consumers">Java consumer</a> for a non-persistent topic:</p>
 <pre><code class="hljs css language-java">PulsarClient client = PulsarClient.create(<span class="hljs-string">"pulsar://localhost:6650"</span>);
 String npTopic = <span class="hljs-string">"non-persistent://public/default/my-topic"</span>;
@@ -303,7 +303,7 @@ Consumer consumer = client.subscribe(npTopic, subscriptionName);
 <blockquote>
 <p>More in-depth information can be found in <a href="https://streaml.io/blog/pulsar-effectively-once/">this post</a> on the <a href="https://streaml.io/blog">Streamlio blog</a></p>
 </blockquote>
-</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/fr/2.2.1/concepts-overview"><span class="arrow-prev">← </span><span>Overview</span></a><a class="docs-next button" href="/docs/fr/2.2.1/concepts-architecture-overview"><span>Architecture</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#messages">Messages</a></li><li><a href="#producers">Producers</a><ul class="toc-headi [...]
+</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/fr/2.2.1/concepts-overview"><span class="arrow-prev">← </span><span>Overview</span></a><a class="docs-next button" href="/docs/fr/2.2.1/concepts-architecture-overview"><span>Architecture</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#messages">Messages</a></li><li><a href="#producers">Producers</a><ul class="toc-headi [...]
       const community = document.querySelector("a[href='#community']").parentNode;
       const communityMenu =
         '<li>' +
diff --git a/content/docs/fr/2.2.1/concepts-messaging/index.html b/content/docs/fr/2.2.1/concepts-messaging/index.html
index e095bbe..524c24b 100644
--- a/content/docs/fr/2.2.1/concepts-messaging/index.html
+++ b/content/docs/fr/2.2.1/concepts-messaging/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>Messaging Concepts · Apache Pulsar</title><meta name="viewport" content="width=device-width, initial-scale=1.0"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar is built on the [publish-subscribe](https://en.wikipedia.org/wiki/Publish%E2%80%93subscribe_pattern) pattern, aka pub-sub. In this pattern, [producers](#producers) publish  [...]
+<!DOCTYPE html><html lang="fr"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Messaging Concepts · Apache Pulsar</title><meta name="viewport" content="width=device-width, initial-scale=1.0"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar is built on the [publish-subscribe](https://en.wikipedia.org/wiki/Publish%E2%80%93subscribe_pattern) pattern, aka pub-sub. In this pattern, [producers](#producers) publish  [...]
               (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,7 +74,7 @@
                 };
               }
             });
-        </script></nav></div><div class="container mainContainer docsContainer"><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 id="__docusaurus" class="postHeaderTitle">Messaging Concepts</h1></header><article><div><span><p>Pulsar is built on the <a href="https://en.wikipedia.org/wiki/Publish%E2%80%93subscribe_pattern">publish- [...]
+        </script></nav></div><div class="container mainContainer docsContainer"><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 id="__docusaurus" class="postHeaderTitle">Messaging Concepts</h1></header><article><div><span><p>Pulsar is built on the <a href="https://en.wikipedia.org/wiki/Publish%E2%80%93subscribe_pattern">publish- [...]
 <p>Once a subscription has been created, all messages will be <a href="/docs/fr/2.2.1/concepts-architecture-overview#persistent-storage">retained</a> by Pulsar, even if the consumer gets disconnected. Retained messages will be discarded only when a consumer acknowledges that they've been successfully processed.</p>
 <h2><a class="anchor" aria-hidden="true" id="messages"></a><a href="#messages" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
 <p>Messages are the basic &quot;unit&quot; of Pulsar. They're what producers publish to topics and what consumers then consume from topics (and acknowledge when the message has been processed). Messages are the analogue of letters in a postal service system.</p>
@@ -133,7 +133,7 @@
 <p>When a consumer has successfully processed a message, it needs to send an acknowledgement to the broker so that the broker can discard the message (otherwise it <a href="/docs/fr/2.2.1/concepts-architecture-overview#persistent-storage">stores</a> the message).</p>
 <p>Messages can be acknowledged either one by one or cumulatively. With cumulative acknowledgement, the consumer only needs to acknowledge the last message it received. All messages in the stream up to (and including) the provided message will not be re-delivered to that consumer.</p>
 <blockquote>
-<p>Cumulative acknowledgement cannot be used with <a href="#subscription-modes">shared subscription mode</a>, because shared mode involves multiple consumers having access to the same subscription.</p>
+<p>Cumulative acknowledgement cannot be used with <a href="#subscription-types">shared subscription type</a>, because shared mode involves multiple consumers having access to the same subscription.</p>
 </blockquote>
 <h3><a class="anchor" aria-hidden="true" id="listeners"></a><a href="#listeners" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>Client libraries can provide their own listener implementations for consumers. The <a href="/docs/fr/2.2.1/client-libraries-java">Java client</a>, for example, provides a <a href="https://pulsar.incubator.apache.org/api/client/2.8.0-SNAPSHOT/org/apache/pulsar/client/api/MessageListener">MesssageListener</a>
@@ -154,31 +154,31 @@
 </tbody>
 </table>
 <blockquote>
-<h4><a class="anchor" aria-hidden="true" id="no-need-to-explicitly-create-new-topics"></a><a href="#no-need-to-explicitly-create-new-topics" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2  [...]
-<p>You don't need to explicitly create topics in Pulsar. If a client attempts to write or receive messages to/from a topic that does not yet exist, Pulsar will automatically create that topic under the <a href="#namespaces">namespace</a> provided in the <a href="#topics">topic name</a>.</p>
+<p><strong>No need to explicitly create new topics</strong>  <br>
+You don't need to explicitly create topics in Pulsar. If a client attempts to write or receive messages to/from a topic that does not yet exist, Pulsar will automatically create that topic under the <a href="#namespaces">namespace</a> provided in the <a href="#topics">topic name</a>.</p>
 </blockquote>
 <h2><a class="anchor" aria-hidden="true" id="espaces-de-nommage"></a><a href="#espaces-de-nommage" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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- [...]
 <p>A namespace is a logical nomenclature within a tenant. A tenant can create multiple namespaces via the <a href="/docs/fr/2.2.1/admin-api-namespaces#create">admin API</a>. For instance, a tenant with different applications can create a separate namespace for each application. A namespace allows the application to create and manage a hierarchy of topics. The topic <code>my-tenant/app1</code> is a namespace for the application <code>app1</code> for <code>my-tenant</code>. You can create  [...]
-<h2><a class="anchor" aria-hidden="true" id="subscription-modes"></a><a href="#subscription-modes" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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- [...]
-<p>A subscription is a named configuration rule that determines how messages are delivered to consumers. There are three available subscription modes in Pulsar: <a href="#exclusive">exclusive</a>, <a href="#shared">shared</a>, and <a href="#failover">failover</a>. These modes are illustrated in the figure below.</p>
-<p><img src="/docs/assets/pulsar-subscription-modes.png" alt="Subscription modes"></p>
+<h2><a class="anchor" aria-hidden="true" id="subscription-types"></a><a href="#subscription-types" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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- [...]
+<p>A subscription is a named configuration rule that determines how messages are delivered to consumers. There are three available subscription types in Pulsar: <a href="#exclusive">exclusive</a>, <a href="#shared">shared</a>, and <a href="#failover">failover</a>. These types are illustrated in the figure below.</p>
+<p><img src="/docs/assets/pulsar-subscription-types.png" alt="Subscription types"></p>
 <h3><a class="anchor" aria-hidden="true" id="exclusive"></a><a href="#exclusive" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>In <em>exclusive</em> mode, only a single consumer is allowed to attach to the subscription. If more than one consumer attempts to subscribe to a topic using the same subscription, the consumer receives an error.</p>
+<p>In <em>exclusive</em> type, only a single consumer is allowed to attach to the subscription. If more than one consumer attempts to subscribe to a topic using the same subscription, the consumer receives an error.</p>
 <p>In the diagram above, only <strong>Consumer A-0</strong> is allowed to consume messages.</p>
 <blockquote>
-<p>Exclusive mode is the default subscription mode.</p>
+<p>Exclusive is the default subscription type.</p>
 </blockquote>
 <p><img src="/docs/assets/pulsar-exclusive-subscriptions.png" alt="Exclusive subscriptions"></p>
 <h3><a class="anchor" aria-hidden="true" id="shared"></a><a href="#shared" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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. [...]
 <p>In <em>shared</em> or <em>round robin</em> mode, multiple consumers can attach to the same subscription. Messages are delivered in a round robin distribution across consumers, and any given message is delivered to only one consumer. When a consumer disconnects, all the messages that were sent to it and not acknowledged will be rescheduled for sending to the remaining consumers.</p>
 <p>In the diagram above, <strong>Consumer-B-1</strong> and <strong>Consumer-B-2</strong> are able to subscribe to the topic, but <strong>Consumer-C-1</strong> and others could as well.</p>
 <blockquote>
-<h4><a class="anchor" aria-hidden="true" id="limitations-of-shared-mode"></a><a href="#limitations-of-shared-mode" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 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>There are two important things to be aware of when using shared mode: * Message ordering is not guaranteed. * You cannot use cumulative acknowledgment with shared mode.</p>
+<p><strong>Limitations of Shared type</strong>  <br>
+Be aware when using Shared type: * Message ordering is not guaranteed. * You cannot use cumulative acknowledgment with Shared type.</p>
 </blockquote>
 <p><img src="/docs/assets/pulsar-shared-subscriptions.png" alt="Shared subscriptions"></p>
 <h3><a class="anchor" aria-hidden="true" id="failover"></a><a href="#failover" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
-<p>In <em>failover</em> mode, multiple consumers can attach to the same subscription. The consumers will be lexically sorted by the consumer's name and the first consumer will initially be the only one receiving messages. This consumer is called the <em>master consumer</em>.</p>
+<p>In <em>Failover</em> type, multiple consumers can attach to the same subscription. The consumers will be lexically sorted by the consumer's name and the first consumer will initially be the only one receiving messages. This consumer is called the <em>master consumer</em>.</p>
 <p>When the master consumer disconnects, all (non-acked and subsequent) messages will be delivered to the next consumer in line.</p>
 <p>In the diagram above, Consumer-C-1 is the master consumer while Consumer-C-2 would be the next in line to receive messages if Consumer-C-1 disconnected.</p>
 <p><img src="/docs/assets/pulsar-failover-subscriptions.png" alt="Failover subscriptions"></p>
@@ -193,8 +193,8 @@
 </blockquote>
 <p>When subscribing to multiple topics, the Pulsar client will automatically make a call to the Pulsar API to discover the topics that match the regex pattern/list and then subscribe to all of them. If any of the topics don't currently exist, the consumer will auto-subscribe to them once the topics are created.</p>
 <blockquote>
-<h4><a class="anchor" aria-hidden="true" id="no-ordering-guarantees-across-multiple-topics"></a><a href="#no-ordering-guarantees-across-multiple-topics" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h- [...]
-<p>When a producer sends messages to a single topic, all messages are guaranteed to be read from that topic in the same order. However, these guarantees do not hold across multiple topics. So when a producer sends message to multiple topics, the order in which messages are read from those topics is not guaranteed to be the same.</p>
+<p><strong>No ordering guarantees across multiple topics</strong>  <br>
+When a producer sends messages to a single topic, all messages are guaranteed to be read from that topic in the same order. However, these guarantees do not hold across multiple topics. So when a producer sends message to multiple topics, the order in which messages are read from those topics is not guaranteed to be the same.</p>
 </blockquote>
 <p>Here are some multi-topic subscription examples for Java:</p>
 <pre><code class="hljs css language-java"><span class="hljs-keyword">import</span> java.util.regex.Pattern;
@@ -222,9 +222,9 @@ Consumer someTopicsConsumer = pulsarClient.subscribe(someTopicsInNamespace, <spa
 <p>The diagram below illustrates this:</p>
 <p><img src="/docs/assets/partitioning.png" alt=""></p>
 <p>Here, the topic <strong>Topic1</strong> has five partitions (<strong>P0</strong> through <strong>P4</strong>) split across three brokers. Because there are more partitions than brokers, two brokers handle two partitions a piece, while the third handles only one (again, Pulsar handles this distribution of partitions automatically).</p>
-<p>Messages for this topic are broadcast to two consumers. The <a href="#routing-modes">routing mode</a> determines both which broker handles each partition, while the <a href="#subscription-modes">subscription mode</a> determines which messages go to which consumers.</p>
-<p>Decisions about routing and subscription modes can be made separately in most cases. In general, throughput concerns should guide partitioning/routing decisions while subscription decisions should be guided by application semantics.</p>
-<p>There is no difference between partitioned topics and normal topics in terms of how subscription modes work, as partitioning only determines what happens between when a message is published by a producer and processed and acknowledged by a consumer.</p>
+<p>Messages for this topic are broadcast to two consumers. The <a href="#routing-modes">routing mode</a> determines both which broker handles each partition, while the <a href="#subscription-types">subscription type</a> determines which messages go to which consumers.</p>
+<p>Decisions about routing and subscription types can be made separately in most cases. In general, throughput concerns should guide partitioning/routing decisions while subscription decisions should be guided by application semantics.</p>
+<p>There is no difference between partitioned topics and normal topics in terms of how subscription types work, as partitioning only determines what happens between when a message is published by a producer and processed and acknowledged by a consumer.</p>
 <p>Partitioned topics need to be explicitly created via the <a href="/docs/fr/2.2.1/admin-api-overview">admin API</a>. The number of partitions can be specified when creating the topic.</p>
 <h3><a class="anchor" aria-hidden="true" id="routing-modes"></a><a href="#routing-modes" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>When publishing to partitioned topics, you must specify a <em>routing mode</em>. The routing mode determines which partition---that is, which internal topic---each message should be published to.</p>
@@ -258,7 +258,7 @@ Consumer someTopicsConsumer = pulsarClient.subscribe(someTopicsInNamespace, <spa
 <h3><a class="anchor" aria-hidden="true" id="performance"></a><a href="#performance" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>Non-persistent messaging is usually faster than persistent messaging because brokers don't persist messages and immediately send acks back to the producer as soon as that message is deliver to all connected subscribers. Producers thus see comparatively low publish latency with non-persistent topic.</p>
 <h3><a class="anchor" aria-hidden="true" id="client-api"></a><a href="#client-api" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>Producers and consumers can connect to non-persistent topics in the same way as persistent topics, with the crucial difference that the topic name must start with <code>non-persistent</code>. All three subscription modes---<a href="#exclusive">exclusive</a>, <a href="#shared">shared</a>, and <a href="#failover">failover</a>---are supported for non-persistent topics.</p>
+<p>Producers and consumers can connect to non-persistent topics in the same way as persistent topics, with the crucial difference that the topic name must start with <code>non-persistent</code>. All three subscription types---<a href="#exclusive">exclusive</a>, <a href="#shared">shared</a>, and <a href="#failover">failover</a>---are supported for non-persistent topics.</p>
 <p>Here's an example <a href="/docs/fr/2.2.1/client-libraries-java#consumers">Java consumer</a> for a non-persistent topic:</p>
 <pre><code class="hljs css language-java">PulsarClient client = PulsarClient.create(<span class="hljs-string">"pulsar://localhost:6650"</span>);
 String npTopic = <span class="hljs-string">"non-persistent://public/default/my-topic"</span>;
@@ -303,7 +303,7 @@ Consumer consumer = client.subscribe(npTopic, subscriptionName);
 <blockquote>
 <p>More in-depth information can be found in <a href="https://streaml.io/blog/pulsar-effectively-once/">this post</a> on the <a href="https://streaml.io/blog">Streamlio blog</a></p>
 </blockquote>
-</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/fr/2.2.1/concepts-overview"><span class="arrow-prev">← </span><span>Overview</span></a><a class="docs-next button" href="/docs/fr/2.2.1/concepts-architecture-overview"><span>Architecture</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#messages">Messages</a></li><li><a href="#producers">Producers</a><ul class="toc-headi [...]
+</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/fr/2.2.1/concepts-overview"><span class="arrow-prev">← </span><span>Overview</span></a><a class="docs-next button" href="/docs/fr/2.2.1/concepts-architecture-overview"><span>Architecture</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#messages">Messages</a></li><li><a href="#producers">Producers</a><ul class="toc-headi [...]
       const community = document.querySelector("a[href='#community']").parentNode;
       const communityMenu =
         '<li>' +
diff --git a/content/docs/fr/2.2.1/concepts-overview.html b/content/docs/fr/2.2.1/concepts-overview.html
index fbeda15..5c4e3ad 100644
--- a/content/docs/fr/2.2.1/concepts-overview.html
+++ b/content/docs/fr/2.2.1/concepts-overview.html
@@ -81,7 +81,7 @@
 <li>Very low publish and end-to-end latency</li>
 <li>Seamless scalability out to over a million topics</li>
 <li>A simple <a href="/docs/fr/2.2.1/concepts-clients">client API</a> with bindings for <a href="/docs/fr/2.2.1/client-libraries-java">Java</a>, <a href="/docs/fr/2.2.1/client-libraries-go">Go</a>, <a href="/docs/fr/2.2.1/client-libraries-python">Python</a> and <a href="/docs/fr/2.2.1/client-libraries-cpp">C++</a></li>
-<li>Multiple <a href="/docs/fr/2.2.1/concepts-messaging#subscription-modes">subscription modes</a> for topics (<a href="/docs/fr/2.2.1/concepts-messaging#exclusive">exclusive</a>, <a href="/docs/fr/2.2.1/concepts-messaging#shared">shared</a>, and <a href="/docs/fr/2.2.1/concepts-messaging#failover">failover</a>)</li>
+<li>Multiple <a href="/docs/fr/2.2.1/concepts-messaging#subscription-types">subscription types</a> for topics (<a href="/docs/fr/2.2.1/concepts-messaging#exclusive">exclusive</a>, <a href="/docs/fr/2.2.1/concepts-messaging#shared">shared</a>, and <a href="/docs/fr/2.2.1/concepts-messaging#failover">failover</a>)</li>
 <li>Guaranteed message delivery with <a href="/docs/fr/2.2.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 lightweight computing framework <a href="/docs/fr/2.2.1/functions-overview">Pulsar Functions</a> offers stream native data processing.</li>
 <li>A serverless connector framework <a href="/docs/fr/2.2.1/io-overview">Pulsar IO</a> built on-top-of Pulsar Functions to make moving data in and out Apache Pulsar easier.</li>
diff --git a/content/docs/fr/2.2.1/concepts-overview/index.html b/content/docs/fr/2.2.1/concepts-overview/index.html
index fbeda15..5c4e3ad 100644
--- a/content/docs/fr/2.2.1/concepts-overview/index.html
+++ b/content/docs/fr/2.2.1/concepts-overview/index.html
@@ -81,7 +81,7 @@
 <li>Very low publish and end-to-end latency</li>
 <li>Seamless scalability out to over a million topics</li>
 <li>A simple <a href="/docs/fr/2.2.1/concepts-clients">client API</a> with bindings for <a href="/docs/fr/2.2.1/client-libraries-java">Java</a>, <a href="/docs/fr/2.2.1/client-libraries-go">Go</a>, <a href="/docs/fr/2.2.1/client-libraries-python">Python</a> and <a href="/docs/fr/2.2.1/client-libraries-cpp">C++</a></li>
-<li>Multiple <a href="/docs/fr/2.2.1/concepts-messaging#subscription-modes">subscription modes</a> for topics (<a href="/docs/fr/2.2.1/concepts-messaging#exclusive">exclusive</a>, <a href="/docs/fr/2.2.1/concepts-messaging#shared">shared</a>, and <a href="/docs/fr/2.2.1/concepts-messaging#failover">failover</a>)</li>
+<li>Multiple <a href="/docs/fr/2.2.1/concepts-messaging#subscription-types">subscription types</a> for topics (<a href="/docs/fr/2.2.1/concepts-messaging#exclusive">exclusive</a>, <a href="/docs/fr/2.2.1/concepts-messaging#shared">shared</a>, and <a href="/docs/fr/2.2.1/concepts-messaging#failover">failover</a>)</li>
 <li>Guaranteed message delivery with <a href="/docs/fr/2.2.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 lightweight computing framework <a href="/docs/fr/2.2.1/functions-overview">Pulsar Functions</a> offers stream native data processing.</li>
 <li>A serverless connector framework <a href="/docs/fr/2.2.1/io-overview">Pulsar IO</a> built on-top-of Pulsar Functions to make moving data in and out Apache Pulsar easier.</li>
diff --git a/content/docs/fr/2.3.0/concepts-messaging.html b/content/docs/fr/2.3.0/concepts-messaging.html
index 6ffc293..caa80f6 100644
--- a/content/docs/fr/2.3.0/concepts-messaging.html
+++ b/content/docs/fr/2.3.0/concepts-messaging.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>Messaging Concepts · Apache Pulsar</title><meta name="viewport" content="width=device-width, initial-scale=1.0"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar is built on the [publish-subscribe](https://en.wikipedia.org/wiki/Publish%E2%80%93subscribe_pattern) pattern, aka pub-sub. In this pattern, [producers](#producers) publish  [...]
+<!DOCTYPE html><html lang="fr"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Messaging Concepts · Apache Pulsar</title><meta name="viewport" content="width=device-width, initial-scale=1.0"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar is built on the [publish-subscribe](https://en.wikipedia.org/wiki/Publish%E2%80%93subscribe_pattern) pattern, aka pub-sub. In this pattern, [producers](#producers) publish  [...]
               (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,7 +74,7 @@
                 };
               }
             });
-        </script></nav></div><div class="container mainContainer docsContainer"><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 id="__docusaurus" class="postHeaderTitle">Messaging Concepts</h1></header><article><div><span><p>Pulsar is built on the <a href="https://en.wikipedia.org/wiki/Publish%E2%80%93subscribe_pattern">publish- [...]
+        </script></nav></div><div class="container mainContainer docsContainer"><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 id="__docusaurus" class="postHeaderTitle">Messaging Concepts</h1></header><article><div><span><p>Pulsar is built on the <a href="https://en.wikipedia.org/wiki/Publish%E2%80%93subscribe_pattern">publish- [...]
 <p>Once a subscription has been created, all messages will be <a href="/docs/fr/2.3.0/concepts-architecture-overview#persistent-storage">retained</a> by Pulsar, even if the consumer gets disconnected. Retained messages will be discarded only when a consumer acknowledges that they've been successfully processed.</p>
 <h2><a class="anchor" aria-hidden="true" id="messages"></a><a href="#messages" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
 <p>Messages are the basic &quot;unit&quot; of Pulsar. They're what producers publish to topics and what consumers then consume from topics (and acknowledge when the message has been processed). Messages are the analogue of letters in a postal service system.</p>
@@ -134,7 +134,7 @@
 <p>When a consumer has successfully processed a message, it needs to send an acknowledgement to the broker so that the broker can discard the message (otherwise it <a href="/docs/fr/2.3.0/concepts-architecture-overview#persistent-storage">stores</a> the message).</p>
 <p>Messages can be acknowledged either one by one or cumulatively. With cumulative acknowledgement, the consumer only needs to acknowledge the last message it received. All messages in the stream up to (and including) the provided message will not be re-delivered to that consumer.</p>
 <blockquote>
-<p>Cumulative acknowledgement cannot be used with <a href="#subscription-modes">shared subscription mode</a>, because shared mode involves multiple consumers having access to the same subscription.</p>
+<p>Cumulative acknowledgement cannot be used with <a href="#subscription-types">shared subscription type</a>, because shared mode involves multiple consumers having access to the same subscription.</p>
 </blockquote>
 <h3><a class="anchor" aria-hidden="true" id="listeners"></a><a href="#listeners" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>Client libraries can provide their own listener implementations for consumers. The <a href="/docs/fr/2.3.0/client-libraries-java">Java client</a>, for example, provides a <a href="https://pulsar.incubator.apache.org/api/client/2.8.0-SNAPSHOT/org/apache/pulsar/client/api/MessageListener">MesssageListener</a>
@@ -160,14 +160,14 @@
 </blockquote>
 <h2><a class="anchor" aria-hidden="true" id="espaces-de-nommage"></a><a href="#espaces-de-nommage" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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- [...]
 <p>A namespace is a logical nomenclature within a tenant. A tenant can create multiple namespaces via the <a href="/docs/fr/2.3.0/admin-api-namespaces#create">admin API</a>. For instance, a tenant with different applications can create a separate namespace for each application. A namespace allows the application to create and manage a hierarchy of topics. The topic <code>my-tenant/app1</code> is a namespace for the application <code>app1</code> for <code>my-tenant</code>. You can create  [...]
-<h2><a class="anchor" aria-hidden="true" id="subscription-modes"></a><a href="#subscription-modes" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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- [...]
-<p>A subscription is a named configuration rule that determines how messages are delivered to consumers. There are three available subscription modes in Pulsar: <a href="#exclusive">exclusive</a>, <a href="#shared">shared</a>, and <a href="#failover">failover</a>. These modes are illustrated in the figure below.</p>
-<p><img src="/docs/assets/pulsar-subscription-modes.png" alt="Subscription modes"></p>
+<h2><a class="anchor" aria-hidden="true" id="subscription-types"></a><a href="#subscription-types" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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- [...]
+<p>A subscription is a named configuration rule that determines how messages are delivered to consumers. There are three available subscription types in Pulsar: <a href="#exclusive">exclusive</a>, <a href="#shared">shared</a>, and <a href="#failover">failover</a>. These types are illustrated in the figure below.</p>
+<p><img src="/docs/assets/pulsar-subscription-types.png" alt="Subscription types"></p>
 <h3><a class="anchor" aria-hidden="true" id="exclusive"></a><a href="#exclusive" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>In <em>exclusive</em> mode, only a single consumer is allowed to attach to the subscription. If more than one consumer attempts to subscribe to a topic using the same subscription, the consumer receives an error.</p>
+<p>In <em>exclusive</em> type, only a single consumer is allowed to attach to the subscription. If more than one consumer attempts to subscribe to a topic using the same subscription, the consumer receives an error.</p>
 <p>In the diagram above, only <strong>Consumer A-0</strong> is allowed to consume messages.</p>
 <blockquote>
-<p>Exclusive mode is the default subscription mode.</p>
+<p>Exclusive is the default subscription type.</p>
 </blockquote>
 <p><img src="/docs/assets/pulsar-exclusive-subscriptions.png" alt="Exclusive subscriptions"></p>
 <h3><a class="anchor" aria-hidden="true" id="shared"></a><a href="#shared" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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. [...]
@@ -179,7 +179,7 @@
 </blockquote>
 <p><img src="/docs/assets/pulsar-shared-subscriptions.png" alt="Shared subscriptions"></p>
 <h3><a class="anchor" aria-hidden="true" id="failover"></a><a href="#failover" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
-<p>In <em>failover</em> mode, multiple consumers can attach to the same subscription. The consumers will be lexically sorted by the consumer's name and the first consumer will initially be the only one receiving messages. This consumer is called the <em>master consumer</em>.</p>
+<p>In <em>Failover</em> type, multiple consumers can attach to the same subscription. The consumers will be lexically sorted by the consumer's name and the first consumer will initially be the only one receiving messages. This consumer is called the <em>master consumer</em>.</p>
 <p>When the master consumer disconnects, all (non-acked and subsequent) messages will be delivered to the next consumer in line.</p>
 <p>In the diagram above, Consumer-C-1 is the master consumer while Consumer-C-2 would be the next in line to receive messages if Consumer-C-1 disconnected.</p>
 <p><img src="/docs/assets/pulsar-failover-subscriptions.png" alt="Failover subscriptions"></p>
@@ -223,9 +223,9 @@ Consumer someTopicsConsumer = pulsarClient.subscribe(someTopicsInNamespace, <spa
 <p>The diagram below illustrates this:</p>
 <p><img src="/docs/assets/partitioning.png" alt=""></p>
 <p>Here, the topic <strong>Topic1</strong> has five partitions (<strong>P0</strong> through <strong>P4</strong>) split across three brokers. Because there are more partitions than brokers, two brokers handle two partitions a piece, while the third handles only one (again, Pulsar handles this distribution of partitions automatically).</p>
-<p>Messages for this topic are broadcast to two consumers. The <a href="#routing-modes">routing mode</a> determines both which broker handles each partition, while the <a href="#subscription-modes">subscription mode</a> determines which messages go to which consumers.</p>
-<p>Decisions about routing and subscription modes can be made separately in most cases. In general, throughput concerns should guide partitioning/routing decisions while subscription decisions should be guided by application semantics.</p>
-<p>There is no difference between partitioned topics and normal topics in terms of how subscription modes work, as partitioning only determines what happens between when a message is published by a producer and processed and acknowledged by a consumer.</p>
+<p>Messages for this topic are broadcast to two consumers. The <a href="#routing-modes">routing mode</a> determines both which broker handles each partition, while the <a href="#subscription-types">subscription type</a> determines which messages go to which consumers.</p>
+<p>Decisions about routing and subscription types can be made separately in most cases. In general, throughput concerns should guide partitioning/routing decisions while subscription decisions should be guided by application semantics.</p>
+<p>There is no difference between partitioned topics and normal topics in terms of how subscription types work, as partitioning only determines what happens between when a message is published by a producer and processed and acknowledged by a consumer.</p>
 <p>Partitioned topics need to be explicitly created via the <a href="/docs/fr/2.3.0/admin-api-overview">admin API</a>. The number of partitions can be specified when creating the topic.</p>
 <h3><a class="anchor" aria-hidden="true" id="routing-modes"></a><a href="#routing-modes" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>When publishing to partitioned topics, you must specify a <em>routing mode</em>. The routing mode determines which partition---that is, which internal topic---each message should be published to.</p>
@@ -277,7 +277,7 @@ Consumer someTopicsConsumer = pulsarClient.subscribe(someTopicsInNamespace, <spa
 <h3><a class="anchor" aria-hidden="true" id="performance"></a><a href="#performance" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>Non-persistent messaging is usually faster than persistent messaging because brokers don't persist messages and immediately send acks back to the producer as soon as that message is deliver to all connected subscribers. Producers thus see comparatively low publish latency with non-persistent topic.</p>
 <h3><a class="anchor" aria-hidden="true" id="client-api"></a><a href="#client-api" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>Producers and consumers can connect to non-persistent topics in the same way as persistent topics, with the crucial difference that the topic name must start with <code>non-persistent</code>. All three subscription modes---<a href="#exclusive">exclusive</a>, <a href="#shared">shared</a>, and <a href="#failover">failover</a>---are supported for non-persistent topics.</p>
+<p>Producers and consumers can connect to non-persistent topics in the same way as persistent topics, with the crucial difference that the topic name must start with <code>non-persistent</code>. All three subscription types---<a href="#exclusive">exclusive</a>, <a href="#shared">shared</a>, and <a href="#failover">failover</a>---are supported for non-persistent topics.</p>
 <p>Here's an example <a href="/docs/fr/2.3.0/client-libraries-java#consumers">Java consumer</a> for a non-persistent topic:</p>
 <pre><code class="hljs css language-java">PulsarClient client = PulsarClient.create(<span class="hljs-string">"pulsar://localhost:6650"</span>);
 String npTopic = <span class="hljs-string">"non-persistent://public/default/my-topic"</span>;
@@ -322,7 +322,7 @@ Consumer consumer = client.subscribe(npTopic, subscriptionName);
 <blockquote>
 <p>More in-depth information can be found in <a href="https://streaml.io/blog/pulsar-effectively-once/">this post</a> on the <a href="https://streaml.io/blog">Streamlio blog</a></p>
 </blockquote>
-</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/fr/2.3.0/concepts-overview"><span class="arrow-prev">← </span><span>Overview</span></a><a class="docs-next button" href="/docs/fr/2.3.0/concepts-architecture-overview"><span>Architecture</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#messages">Messages</a></li><li><a href="#producers">Producers</a><ul class="toc-headi [...]
+</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/fr/2.3.0/concepts-overview"><span class="arrow-prev">← </span><span>Overview</span></a><a class="docs-next button" href="/docs/fr/2.3.0/concepts-architecture-overview"><span>Architecture</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#messages">Messages</a></li><li><a href="#producers">Producers</a><ul class="toc-headi [...]
       const community = document.querySelector("a[href='#community']").parentNode;
       const communityMenu =
         '<li>' +
diff --git a/content/docs/fr/2.3.0/concepts-messaging/index.html b/content/docs/fr/2.3.0/concepts-messaging/index.html
index 6ffc293..caa80f6 100644
--- a/content/docs/fr/2.3.0/concepts-messaging/index.html
+++ b/content/docs/fr/2.3.0/concepts-messaging/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>Messaging Concepts · Apache Pulsar</title><meta name="viewport" content="width=device-width, initial-scale=1.0"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar is built on the [publish-subscribe](https://en.wikipedia.org/wiki/Publish%E2%80%93subscribe_pattern) pattern, aka pub-sub. In this pattern, [producers](#producers) publish  [...]
+<!DOCTYPE html><html lang="fr"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Messaging Concepts · Apache Pulsar</title><meta name="viewport" content="width=device-width, initial-scale=1.0"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar is built on the [publish-subscribe](https://en.wikipedia.org/wiki/Publish%E2%80%93subscribe_pattern) pattern, aka pub-sub. In this pattern, [producers](#producers) publish  [...]
               (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,7 +74,7 @@
                 };
               }
             });
-        </script></nav></div><div class="container mainContainer docsContainer"><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 id="__docusaurus" class="postHeaderTitle">Messaging Concepts</h1></header><article><div><span><p>Pulsar is built on the <a href="https://en.wikipedia.org/wiki/Publish%E2%80%93subscribe_pattern">publish- [...]
+        </script></nav></div><div class="container mainContainer docsContainer"><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 id="__docusaurus" class="postHeaderTitle">Messaging Concepts</h1></header><article><div><span><p>Pulsar is built on the <a href="https://en.wikipedia.org/wiki/Publish%E2%80%93subscribe_pattern">publish- [...]
 <p>Once a subscription has been created, all messages will be <a href="/docs/fr/2.3.0/concepts-architecture-overview#persistent-storage">retained</a> by Pulsar, even if the consumer gets disconnected. Retained messages will be discarded only when a consumer acknowledges that they've been successfully processed.</p>
 <h2><a class="anchor" aria-hidden="true" id="messages"></a><a href="#messages" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
 <p>Messages are the basic &quot;unit&quot; of Pulsar. They're what producers publish to topics and what consumers then consume from topics (and acknowledge when the message has been processed). Messages are the analogue of letters in a postal service system.</p>
@@ -134,7 +134,7 @@
 <p>When a consumer has successfully processed a message, it needs to send an acknowledgement to the broker so that the broker can discard the message (otherwise it <a href="/docs/fr/2.3.0/concepts-architecture-overview#persistent-storage">stores</a> the message).</p>
 <p>Messages can be acknowledged either one by one or cumulatively. With cumulative acknowledgement, the consumer only needs to acknowledge the last message it received. All messages in the stream up to (and including) the provided message will not be re-delivered to that consumer.</p>
 <blockquote>
-<p>Cumulative acknowledgement cannot be used with <a href="#subscription-modes">shared subscription mode</a>, because shared mode involves multiple consumers having access to the same subscription.</p>
+<p>Cumulative acknowledgement cannot be used with <a href="#subscription-types">shared subscription type</a>, because shared mode involves multiple consumers having access to the same subscription.</p>
 </blockquote>
 <h3><a class="anchor" aria-hidden="true" id="listeners"></a><a href="#listeners" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>Client libraries can provide their own listener implementations for consumers. The <a href="/docs/fr/2.3.0/client-libraries-java">Java client</a>, for example, provides a <a href="https://pulsar.incubator.apache.org/api/client/2.8.0-SNAPSHOT/org/apache/pulsar/client/api/MessageListener">MesssageListener</a>
@@ -160,14 +160,14 @@
 </blockquote>
 <h2><a class="anchor" aria-hidden="true" id="espaces-de-nommage"></a><a href="#espaces-de-nommage" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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- [...]
 <p>A namespace is a logical nomenclature within a tenant. A tenant can create multiple namespaces via the <a href="/docs/fr/2.3.0/admin-api-namespaces#create">admin API</a>. For instance, a tenant with different applications can create a separate namespace for each application. A namespace allows the application to create and manage a hierarchy of topics. The topic <code>my-tenant/app1</code> is a namespace for the application <code>app1</code> for <code>my-tenant</code>. You can create  [...]
-<h2><a class="anchor" aria-hidden="true" id="subscription-modes"></a><a href="#subscription-modes" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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- [...]
-<p>A subscription is a named configuration rule that determines how messages are delivered to consumers. There are three available subscription modes in Pulsar: <a href="#exclusive">exclusive</a>, <a href="#shared">shared</a>, and <a href="#failover">failover</a>. These modes are illustrated in the figure below.</p>
-<p><img src="/docs/assets/pulsar-subscription-modes.png" alt="Subscription modes"></p>
+<h2><a class="anchor" aria-hidden="true" id="subscription-types"></a><a href="#subscription-types" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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- [...]
+<p>A subscription is a named configuration rule that determines how messages are delivered to consumers. There are three available subscription types in Pulsar: <a href="#exclusive">exclusive</a>, <a href="#shared">shared</a>, and <a href="#failover">failover</a>. These types are illustrated in the figure below.</p>
+<p><img src="/docs/assets/pulsar-subscription-types.png" alt="Subscription types"></p>
 <h3><a class="anchor" aria-hidden="true" id="exclusive"></a><a href="#exclusive" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>In <em>exclusive</em> mode, only a single consumer is allowed to attach to the subscription. If more than one consumer attempts to subscribe to a topic using the same subscription, the consumer receives an error.</p>
+<p>In <em>exclusive</em> type, only a single consumer is allowed to attach to the subscription. If more than one consumer attempts to subscribe to a topic using the same subscription, the consumer receives an error.</p>
 <p>In the diagram above, only <strong>Consumer A-0</strong> is allowed to consume messages.</p>
 <blockquote>
-<p>Exclusive mode is the default subscription mode.</p>
+<p>Exclusive is the default subscription type.</p>
 </blockquote>
 <p><img src="/docs/assets/pulsar-exclusive-subscriptions.png" alt="Exclusive subscriptions"></p>
 <h3><a class="anchor" aria-hidden="true" id="shared"></a><a href="#shared" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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. [...]
@@ -179,7 +179,7 @@
 </blockquote>
 <p><img src="/docs/assets/pulsar-shared-subscriptions.png" alt="Shared subscriptions"></p>
 <h3><a class="anchor" aria-hidden="true" id="failover"></a><a href="#failover" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
-<p>In <em>failover</em> mode, multiple consumers can attach to the same subscription. The consumers will be lexically sorted by the consumer's name and the first consumer will initially be the only one receiving messages. This consumer is called the <em>master consumer</em>.</p>
+<p>In <em>Failover</em> type, multiple consumers can attach to the same subscription. The consumers will be lexically sorted by the consumer's name and the first consumer will initially be the only one receiving messages. This consumer is called the <em>master consumer</em>.</p>
 <p>When the master consumer disconnects, all (non-acked and subsequent) messages will be delivered to the next consumer in line.</p>
 <p>In the diagram above, Consumer-C-1 is the master consumer while Consumer-C-2 would be the next in line to receive messages if Consumer-C-1 disconnected.</p>
 <p><img src="/docs/assets/pulsar-failover-subscriptions.png" alt="Failover subscriptions"></p>
@@ -223,9 +223,9 @@ Consumer someTopicsConsumer = pulsarClient.subscribe(someTopicsInNamespace, <spa
 <p>The diagram below illustrates this:</p>
 <p><img src="/docs/assets/partitioning.png" alt=""></p>
 <p>Here, the topic <strong>Topic1</strong> has five partitions (<strong>P0</strong> through <strong>P4</strong>) split across three brokers. Because there are more partitions than brokers, two brokers handle two partitions a piece, while the third handles only one (again, Pulsar handles this distribution of partitions automatically).</p>
-<p>Messages for this topic are broadcast to two consumers. The <a href="#routing-modes">routing mode</a> determines both which broker handles each partition, while the <a href="#subscription-modes">subscription mode</a> determines which messages go to which consumers.</p>
-<p>Decisions about routing and subscription modes can be made separately in most cases. In general, throughput concerns should guide partitioning/routing decisions while subscription decisions should be guided by application semantics.</p>
-<p>There is no difference between partitioned topics and normal topics in terms of how subscription modes work, as partitioning only determines what happens between when a message is published by a producer and processed and acknowledged by a consumer.</p>
+<p>Messages for this topic are broadcast to two consumers. The <a href="#routing-modes">routing mode</a> determines both which broker handles each partition, while the <a href="#subscription-types">subscription type</a> determines which messages go to which consumers.</p>
+<p>Decisions about routing and subscription types can be made separately in most cases. In general, throughput concerns should guide partitioning/routing decisions while subscription decisions should be guided by application semantics.</p>
+<p>There is no difference between partitioned topics and normal topics in terms of how subscription types work, as partitioning only determines what happens between when a message is published by a producer and processed and acknowledged by a consumer.</p>
 <p>Partitioned topics need to be explicitly created via the <a href="/docs/fr/2.3.0/admin-api-overview">admin API</a>. The number of partitions can be specified when creating the topic.</p>
 <h3><a class="anchor" aria-hidden="true" id="routing-modes"></a><a href="#routing-modes" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>When publishing to partitioned topics, you must specify a <em>routing mode</em>. The routing mode determines which partition---that is, which internal topic---each message should be published to.</p>
@@ -277,7 +277,7 @@ Consumer someTopicsConsumer = pulsarClient.subscribe(someTopicsInNamespace, <spa
 <h3><a class="anchor" aria-hidden="true" id="performance"></a><a href="#performance" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>Non-persistent messaging is usually faster than persistent messaging because brokers don't persist messages and immediately send acks back to the producer as soon as that message is deliver to all connected subscribers. Producers thus see comparatively low publish latency with non-persistent topic.</p>
 <h3><a class="anchor" aria-hidden="true" id="client-api"></a><a href="#client-api" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>Producers and consumers can connect to non-persistent topics in the same way as persistent topics, with the crucial difference that the topic name must start with <code>non-persistent</code>. All three subscription modes---<a href="#exclusive">exclusive</a>, <a href="#shared">shared</a>, and <a href="#failover">failover</a>---are supported for non-persistent topics.</p>
+<p>Producers and consumers can connect to non-persistent topics in the same way as persistent topics, with the crucial difference that the topic name must start with <code>non-persistent</code>. All three subscription types---<a href="#exclusive">exclusive</a>, <a href="#shared">shared</a>, and <a href="#failover">failover</a>---are supported for non-persistent topics.</p>
 <p>Here's an example <a href="/docs/fr/2.3.0/client-libraries-java#consumers">Java consumer</a> for a non-persistent topic:</p>
 <pre><code class="hljs css language-java">PulsarClient client = PulsarClient.create(<span class="hljs-string">"pulsar://localhost:6650"</span>);
 String npTopic = <span class="hljs-string">"non-persistent://public/default/my-topic"</span>;
@@ -322,7 +322,7 @@ Consumer consumer = client.subscribe(npTopic, subscriptionName);
 <blockquote>
 <p>More in-depth information can be found in <a href="https://streaml.io/blog/pulsar-effectively-once/">this post</a> on the <a href="https://streaml.io/blog">Streamlio blog</a></p>
 </blockquote>
-</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/fr/2.3.0/concepts-overview"><span class="arrow-prev">← </span><span>Overview</span></a><a class="docs-next button" href="/docs/fr/2.3.0/concepts-architecture-overview"><span>Architecture</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#messages">Messages</a></li><li><a href="#producers">Producers</a><ul class="toc-headi [...]
+</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/fr/2.3.0/concepts-overview"><span class="arrow-prev">← </span><span>Overview</span></a><a class="docs-next button" href="/docs/fr/2.3.0/concepts-architecture-overview"><span>Architecture</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#messages">Messages</a></li><li><a href="#producers">Producers</a><ul class="toc-headi [...]
       const community = document.querySelector("a[href='#community']").parentNode;
       const communityMenu =
         '<li>' +
diff --git a/content/docs/fr/2.3.0/concepts-overview.html b/content/docs/fr/2.3.0/concepts-overview.html
index 2ac9f37..43aa142 100644
--- a/content/docs/fr/2.3.0/concepts-overview.html
+++ b/content/docs/fr/2.3.0/concepts-overview.html
@@ -81,7 +81,7 @@
 <li>Very low publish and end-to-end latency</li>
 <li>Seamless scalability out to over a million topics</li>
 <li>A simple <a href="/docs/fr/2.3.0/concepts-clients">client API</a> with bindings for <a href="/docs/fr/2.3.0/client-libraries-java">Java</a>, <a href="/docs/fr/2.3.0/client-libraries-go">Go</a>, <a href="/docs/fr/2.3.0/client-libraries-python">Python</a> and <a href="/docs/fr/2.3.0/client-libraries-cpp">C++</a></li>
-<li>Multiple <a href="/docs/fr/2.3.0/concepts-messaging#subscription-modes">subscription modes</a> for topics (<a href="/docs/fr/2.3.0/concepts-messaging#exclusive">exclusive</a>, <a href="/docs/fr/2.3.0/concepts-messaging#shared">shared</a>, and <a href="/docs/fr/2.3.0/concepts-messaging#failover">failover</a>)</li>
+<li>Multiple <a href="/docs/fr/2.3.0/concepts-messaging#subscription-types">subscription types</a> for topics (<a href="/docs/fr/2.3.0/concepts-messaging#exclusive">exclusive</a>, <a href="/docs/fr/2.3.0/concepts-messaging#shared">shared</a>, and <a href="/docs/fr/2.3.0/concepts-messaging#failover">failover</a>)</li>
 <li>Guaranteed message delivery with <a href="/docs/fr/2.3.0/concepts-architecture-overview#persistent-storage">persistent message storage</a> provided by <a href="http://bookkeeper.apache.org/">Apache BookKeeper</a></li>
 <li>A serverless lightweight computing framework <a href="/docs/fr/2.3.0/functions-overview">Pulsar Functions</a> offers stream native data processing.</li>
 <li>A serverless connector framework <a href="/docs/fr/2.3.0/io-overview">Pulsar IO</a> built on-top-of Pulsar Functions to make moving data in and out Apache Pulsar easier.</li>
diff --git a/content/docs/fr/2.3.0/concepts-overview/index.html b/content/docs/fr/2.3.0/concepts-overview/index.html
index 2ac9f37..43aa142 100644
--- a/content/docs/fr/2.3.0/concepts-overview/index.html
+++ b/content/docs/fr/2.3.0/concepts-overview/index.html
@@ -81,7 +81,7 @@
 <li>Very low publish and end-to-end latency</li>
 <li>Seamless scalability out to over a million topics</li>
 <li>A simple <a href="/docs/fr/2.3.0/concepts-clients">client API</a> with bindings for <a href="/docs/fr/2.3.0/client-libraries-java">Java</a>, <a href="/docs/fr/2.3.0/client-libraries-go">Go</a>, <a href="/docs/fr/2.3.0/client-libraries-python">Python</a> and <a href="/docs/fr/2.3.0/client-libraries-cpp">C++</a></li>
-<li>Multiple <a href="/docs/fr/2.3.0/concepts-messaging#subscription-modes">subscription modes</a> for topics (<a href="/docs/fr/2.3.0/concepts-messaging#exclusive">exclusive</a>, <a href="/docs/fr/2.3.0/concepts-messaging#shared">shared</a>, and <a href="/docs/fr/2.3.0/concepts-messaging#failover">failover</a>)</li>
+<li>Multiple <a href="/docs/fr/2.3.0/concepts-messaging#subscription-types">subscription types</a> for topics (<a href="/docs/fr/2.3.0/concepts-messaging#exclusive">exclusive</a>, <a href="/docs/fr/2.3.0/concepts-messaging#shared">shared</a>, and <a href="/docs/fr/2.3.0/concepts-messaging#failover">failover</a>)</li>
 <li>Guaranteed message delivery with <a href="/docs/fr/2.3.0/concepts-architecture-overview#persistent-storage">persistent message storage</a> provided by <a href="http://bookkeeper.apache.org/">Apache BookKeeper</a></li>
 <li>A serverless lightweight computing framework <a href="/docs/fr/2.3.0/functions-overview">Pulsar Functions</a> offers stream native data processing.</li>
 <li>A serverless connector framework <a href="/docs/fr/2.3.0/io-overview">Pulsar IO</a> built on-top-of Pulsar Functions to make moving data in and out Apache Pulsar easier.</li>
diff --git a/content/docs/fr/2.3.1/concepts-messaging.html b/content/docs/fr/2.3.1/concepts-messaging.html
index 2884e26..73845ee 100644
--- a/content/docs/fr/2.3.1/concepts-messaging.html
+++ b/content/docs/fr/2.3.1/concepts-messaging.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>Messaging Concepts · Apache Pulsar</title><meta name="viewport" content="width=device-width, initial-scale=1.0"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar is built on the [publish-subscribe](https://en.wikipedia.org/wiki/Publish%E2%80%93subscribe_pattern) pattern, aka pub-sub. In this pattern, [producers](#producers) publish  [...]
+<!DOCTYPE html><html lang="fr"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Messaging Concepts · Apache Pulsar</title><meta name="viewport" content="width=device-width, initial-scale=1.0"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar is built on the [publish-subscribe](https://en.wikipedia.org/wiki/Publish%E2%80%93subscribe_pattern) pattern, aka pub-sub. In this pattern, [producers](#producers) publish  [...]
               (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,7 +74,7 @@
                 };
               }
             });
-        </script></nav></div><div class="container mainContainer docsContainer"><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 id="__docusaurus" class="postHeaderTitle">Messaging Concepts</h1></header><article><div><span><p>Pulsar is built on the <a href="https://en.wikipedia.org/wiki/Publish%E2%80%93subscribe_pattern">publish- [...]
+        </script></nav></div><div class="container mainContainer docsContainer"><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 id="__docusaurus" class="postHeaderTitle">Messaging Concepts</h1></header><article><div><span><p>Pulsar is built on the <a href="https://en.wikipedia.org/wiki/Publish%E2%80%93subscribe_pattern">publish- [...]
 <p>Once a subscription has been created, all messages will be <a href="/docs/fr/2.3.1/concepts-architecture-overview#persistent-storage">retained</a> by Pulsar, even if the consumer gets disconnected. Retained messages will be discarded only when a consumer acknowledges that they've been successfully processed.</p>
 <h2><a class="anchor" aria-hidden="true" id="messages"></a><a href="#messages" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
 <p>Messages are the basic &quot;unit&quot; of Pulsar. They're what producers publish to topics and what consumers then consume from topics (and acknowledge when the message has been processed). Messages are the analogue of letters in a postal service system.</p>
@@ -134,7 +134,7 @@
 <p>When a consumer has successfully processed a message, it needs to send an acknowledgement to the broker so that the broker can discard the message (otherwise it <a href="/docs/fr/2.3.1/concepts-architecture-overview#persistent-storage">stores</a> the message).</p>
 <p>Messages can be acknowledged either one by one or cumulatively. With cumulative acknowledgement, the consumer only needs to acknowledge the last message it received. All messages in the stream up to (and including) the provided message will not be re-delivered to that consumer.</p>
 <blockquote>
-<p>Cumulative acknowledgement cannot be used with <a href="#subscription-modes">shared subscription mode</a>, because shared mode involves multiple consumers having access to the same subscription.</p>
+<p>Cumulative acknowledgement cannot be used with <a href="#subscription-types">shared subscription type</a>, because shared mode involves multiple consumers having access to the same subscription.</p>
 </blockquote>
 <h3><a class="anchor" aria-hidden="true" id="listeners"></a><a href="#listeners" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>Client libraries can provide their own listener implementations for consumers. The <a href="/docs/fr/2.3.1/client-libraries-java">Java client</a>, for example, provides a <a href="https://pulsar.incubator.apache.org/api/client/2.8.0-SNAPSHOT/org/apache/pulsar/client/api/MessageListener">MesssageListener</a>
@@ -160,14 +160,14 @@
 </blockquote>
 <h2><a class="anchor" aria-hidden="true" id="espaces-de-nommage"></a><a href="#espaces-de-nommage" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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- [...]
 <p>A namespace is a logical nomenclature within a tenant. A tenant can create multiple namespaces via the <a href="/docs/fr/2.3.1/admin-api-namespaces#create">admin API</a>. For instance, a tenant with different applications can create a separate namespace for each application. A namespace allows the application to create and manage a hierarchy of topics. The topic <code>my-tenant/app1</code> is a namespace for the application <code>app1</code> for <code>my-tenant</code>. You can create  [...]
-<h2><a class="anchor" aria-hidden="true" id="subscription-modes"></a><a href="#subscription-modes" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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- [...]
-<p>A subscription is a named configuration rule that determines how messages are delivered to consumers. There are three available subscription modes in Pulsar: <a href="#exclusive">exclusive</a>, <a href="#shared">shared</a>, and <a href="#failover">failover</a>. These modes are illustrated in the figure below.</p>
-<p><img src="/docs/assets/pulsar-subscription-modes.png" alt="Subscription modes"></p>
+<h2><a class="anchor" aria-hidden="true" id="subscription-types"></a><a href="#subscription-types" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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- [...]
+<p>A subscription is a named configuration rule that determines how messages are delivered to consumers. There are three available subscription types in Pulsar: <a href="#exclusive">exclusive</a>, <a href="#shared">shared</a>, and <a href="#failover">failover</a>. These types are illustrated in the figure below.</p>
+<p><img src="/docs/assets/pulsar-subscription-types.png" alt="Subscription types"></p>
 <h3><a class="anchor" aria-hidden="true" id="exclusive"></a><a href="#exclusive" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>In <em>exclusive</em> mode, only a single consumer is allowed to attach to the subscription. If more than one consumer attempts to subscribe to a topic using the same subscription, the consumer receives an error.</p>
+<p>In <em>exclusive</em> type, only a single consumer is allowed to attach to the subscription. If more than one consumer attempts to subscribe to a topic using the same subscription, the consumer receives an error.</p>
 <p>In the diagram above, only <strong>Consumer A-0</strong> is allowed to consume messages.</p>
 <blockquote>
-<p>Exclusive mode is the default subscription mode.</p>
+<p>Exclusive is the default subscription type.</p>
 </blockquote>
 <p><img src="/docs/assets/pulsar-exclusive-subscriptions.png" alt="Exclusive subscriptions"></p>
 <h3><a class="anchor" aria-hidden="true" id="shared"></a><a href="#shared" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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. [...]
@@ -179,7 +179,7 @@
 </blockquote>
 <p><img src="/docs/assets/pulsar-shared-subscriptions.png" alt="Shared subscriptions"></p>
 <h3><a class="anchor" aria-hidden="true" id="failover"></a><a href="#failover" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
-<p>In <em>failover</em> mode, multiple consumers can attach to the same subscription. The consumers will be lexically sorted by the consumer's name and the first consumer will initially be the only one receiving messages. This consumer is called the <em>master consumer</em>.</p>
+<p>In <em>Failover</em> type, multiple consumers can attach to the same subscription. The consumers will be lexically sorted by the consumer's name and the first consumer will initially be the only one receiving messages. This consumer is called the <em>master consumer</em>.</p>
 <p>When the master consumer disconnects, all (non-acked and subsequent) messages will be delivered to the next consumer in line.</p>
 <p>In the diagram above, Consumer-C-1 is the master consumer while Consumer-C-2 would be the next in line to receive messages if Consumer-C-1 disconnected.</p>
 <p><img src="/docs/assets/pulsar-failover-subscriptions.png" alt="Failover subscriptions"></p>
@@ -223,9 +223,9 @@ Consumer someTopicsConsumer = pulsarClient.subscribe(someTopicsInNamespace, <spa
 <p>The diagram below illustrates this:</p>
 <p><img src="/docs/assets/partitioning.png" alt=""></p>
 <p>Here, the topic <strong>Topic1</strong> has five partitions (<strong>P0</strong> through <strong>P4</strong>) split across three brokers. Because there are more partitions than brokers, two brokers handle two partitions a piece, while the third handles only one (again, Pulsar handles this distribution of partitions automatically).</p>
-<p>Messages for this topic are broadcast to two consumers. The <a href="#routing-modes">routing mode</a> determines both which broker handles each partition, while the <a href="#subscription-modes">subscription mode</a> determines which messages go to which consumers.</p>
-<p>Decisions about routing and subscription modes can be made separately in most cases. In general, throughput concerns should guide partitioning/routing decisions while subscription decisions should be guided by application semantics.</p>
-<p>There is no difference between partitioned topics and normal topics in terms of how subscription modes work, as partitioning only determines what happens between when a message is published by a producer and processed and acknowledged by a consumer.</p>
+<p>Messages for this topic are broadcast to two consumers. The <a href="#routing-modes">routing mode</a> determines both which broker handles each partition, while the <a href="#subscription-types">subscription type</a> determines which messages go to which consumers.</p>
+<p>Decisions about routing and subscription types can be made separately in most cases. In general, throughput concerns should guide partitioning/routing decisions while subscription decisions should be guided by application semantics.</p>
+<p>There is no difference between partitioned topics and normal topics in terms of how subscription types work, as partitioning only determines what happens between when a message is published by a producer and processed and acknowledged by a consumer.</p>
 <p>Partitioned topics need to be explicitly created via the <a href="/docs/fr/2.3.1/admin-api-overview">admin API</a>. The number of partitions can be specified when creating the topic.</p>
 <h3><a class="anchor" aria-hidden="true" id="routing-modes"></a><a href="#routing-modes" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>When publishing to partitioned topics, you must specify a <em>routing mode</em>. The routing mode determines which partition---that is, which internal topic---each message should be published to.</p>
@@ -277,7 +277,7 @@ Consumer someTopicsConsumer = pulsarClient.subscribe(someTopicsInNamespace, <spa
 <h3><a class="anchor" aria-hidden="true" id="performance"></a><a href="#performance" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>Non-persistent messaging is usually faster than persistent messaging because brokers don't persist messages and immediately send acks back to the producer as soon as that message is deliver to all connected subscribers. Producers thus see comparatively low publish latency with non-persistent topic.</p>
 <h3><a class="anchor" aria-hidden="true" id="client-api"></a><a href="#client-api" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>Producers and consumers can connect to non-persistent topics in the same way as persistent topics, with the crucial difference that the topic name must start with <code>non-persistent</code>. All three subscription modes---<a href="#exclusive">exclusive</a>, <a href="#shared">shared</a>, and <a href="#failover">failover</a>---are supported for non-persistent topics.</p>
+<p>Producers and consumers can connect to non-persistent topics in the same way as persistent topics, with the crucial difference that the topic name must start with <code>non-persistent</code>. All three subscription types---<a href="#exclusive">exclusive</a>, <a href="#shared">shared</a>, and <a href="#failover">failover</a>---are supported for non-persistent topics.</p>
 <p>Here's an example <a href="/docs/fr/2.3.1/client-libraries-java#consumers">Java consumer</a> for a non-persistent topic:</p>
 <pre><code class="hljs css language-java">PulsarClient client = PulsarClient.create(<span class="hljs-string">"pulsar://localhost:6650"</span>);
 String npTopic = <span class="hljs-string">"non-persistent://public/default/my-topic"</span>;
@@ -322,7 +322,7 @@ Consumer consumer = client.subscribe(npTopic, subscriptionName);
 <blockquote>
 <p>More in-depth information can be found in <a href="https://streaml.io/blog/pulsar-effectively-once/">this post</a> on the <a href="https://streaml.io/blog">Streamlio blog</a></p>
 </blockquote>
-</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/fr/2.3.1/concepts-overview"><span class="arrow-prev">← </span><span>Overview</span></a><a class="docs-next button" href="/docs/fr/2.3.1/concepts-architecture-overview"><span>Architecture</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#messages">Messages</a></li><li><a href="#producers">Producers</a><ul class="toc-headi [...]
+</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/fr/2.3.1/concepts-overview"><span class="arrow-prev">← </span><span>Overview</span></a><a class="docs-next button" href="/docs/fr/2.3.1/concepts-architecture-overview"><span>Architecture</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#messages">Messages</a></li><li><a href="#producers">Producers</a><ul class="toc-headi [...]
       const community = document.querySelector("a[href='#community']").parentNode;
       const communityMenu =
         '<li>' +
diff --git a/content/docs/fr/2.3.1/concepts-messaging/index.html b/content/docs/fr/2.3.1/concepts-messaging/index.html
index 2884e26..73845ee 100644
--- a/content/docs/fr/2.3.1/concepts-messaging/index.html
+++ b/content/docs/fr/2.3.1/concepts-messaging/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>Messaging Concepts · Apache Pulsar</title><meta name="viewport" content="width=device-width, initial-scale=1.0"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar is built on the [publish-subscribe](https://en.wikipedia.org/wiki/Publish%E2%80%93subscribe_pattern) pattern, aka pub-sub. In this pattern, [producers](#producers) publish  [...]
+<!DOCTYPE html><html lang="fr"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Messaging Concepts · Apache Pulsar</title><meta name="viewport" content="width=device-width, initial-scale=1.0"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar is built on the [publish-subscribe](https://en.wikipedia.org/wiki/Publish%E2%80%93subscribe_pattern) pattern, aka pub-sub. In this pattern, [producers](#producers) publish  [...]
               (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,7 +74,7 @@
                 };
               }
             });
-        </script></nav></div><div class="container mainContainer docsContainer"><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 id="__docusaurus" class="postHeaderTitle">Messaging Concepts</h1></header><article><div><span><p>Pulsar is built on the <a href="https://en.wikipedia.org/wiki/Publish%E2%80%93subscribe_pattern">publish- [...]
+        </script></nav></div><div class="container mainContainer docsContainer"><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 id="__docusaurus" class="postHeaderTitle">Messaging Concepts</h1></header><article><div><span><p>Pulsar is built on the <a href="https://en.wikipedia.org/wiki/Publish%E2%80%93subscribe_pattern">publish- [...]
 <p>Once a subscription has been created, all messages will be <a href="/docs/fr/2.3.1/concepts-architecture-overview#persistent-storage">retained</a> by Pulsar, even if the consumer gets disconnected. Retained messages will be discarded only when a consumer acknowledges that they've been successfully processed.</p>
 <h2><a class="anchor" aria-hidden="true" id="messages"></a><a href="#messages" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
 <p>Messages are the basic &quot;unit&quot; of Pulsar. They're what producers publish to topics and what consumers then consume from topics (and acknowledge when the message has been processed). Messages are the analogue of letters in a postal service system.</p>
@@ -134,7 +134,7 @@
 <p>When a consumer has successfully processed a message, it needs to send an acknowledgement to the broker so that the broker can discard the message (otherwise it <a href="/docs/fr/2.3.1/concepts-architecture-overview#persistent-storage">stores</a> the message).</p>
 <p>Messages can be acknowledged either one by one or cumulatively. With cumulative acknowledgement, the consumer only needs to acknowledge the last message it received. All messages in the stream up to (and including) the provided message will not be re-delivered to that consumer.</p>
 <blockquote>
-<p>Cumulative acknowledgement cannot be used with <a href="#subscription-modes">shared subscription mode</a>, because shared mode involves multiple consumers having access to the same subscription.</p>
+<p>Cumulative acknowledgement cannot be used with <a href="#subscription-types">shared subscription type</a>, because shared mode involves multiple consumers having access to the same subscription.</p>
 </blockquote>
 <h3><a class="anchor" aria-hidden="true" id="listeners"></a><a href="#listeners" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>Client libraries can provide their own listener implementations for consumers. The <a href="/docs/fr/2.3.1/client-libraries-java">Java client</a>, for example, provides a <a href="https://pulsar.incubator.apache.org/api/client/2.8.0-SNAPSHOT/org/apache/pulsar/client/api/MessageListener">MesssageListener</a>
@@ -160,14 +160,14 @@
 </blockquote>
 <h2><a class="anchor" aria-hidden="true" id="espaces-de-nommage"></a><a href="#espaces-de-nommage" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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- [...]
 <p>A namespace is a logical nomenclature within a tenant. A tenant can create multiple namespaces via the <a href="/docs/fr/2.3.1/admin-api-namespaces#create">admin API</a>. For instance, a tenant with different applications can create a separate namespace for each application. A namespace allows the application to create and manage a hierarchy of topics. The topic <code>my-tenant/app1</code> is a namespace for the application <code>app1</code> for <code>my-tenant</code>. You can create  [...]
-<h2><a class="anchor" aria-hidden="true" id="subscription-modes"></a><a href="#subscription-modes" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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- [...]
-<p>A subscription is a named configuration rule that determines how messages are delivered to consumers. There are three available subscription modes in Pulsar: <a href="#exclusive">exclusive</a>, <a href="#shared">shared</a>, and <a href="#failover">failover</a>. These modes are illustrated in the figure below.</p>
-<p><img src="/docs/assets/pulsar-subscription-modes.png" alt="Subscription modes"></p>
+<h2><a class="anchor" aria-hidden="true" id="subscription-types"></a><a href="#subscription-types" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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- [...]
+<p>A subscription is a named configuration rule that determines how messages are delivered to consumers. There are three available subscription types in Pulsar: <a href="#exclusive">exclusive</a>, <a href="#shared">shared</a>, and <a href="#failover">failover</a>. These types are illustrated in the figure below.</p>
+<p><img src="/docs/assets/pulsar-subscription-types.png" alt="Subscription types"></p>
 <h3><a class="anchor" aria-hidden="true" id="exclusive"></a><a href="#exclusive" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>In <em>exclusive</em> mode, only a single consumer is allowed to attach to the subscription. If more than one consumer attempts to subscribe to a topic using the same subscription, the consumer receives an error.</p>
+<p>In <em>exclusive</em> type, only a single consumer is allowed to attach to the subscription. If more than one consumer attempts to subscribe to a topic using the same subscription, the consumer receives an error.</p>
 <p>In the diagram above, only <strong>Consumer A-0</strong> is allowed to consume messages.</p>
 <blockquote>
-<p>Exclusive mode is the default subscription mode.</p>
+<p>Exclusive is the default subscription type.</p>
 </blockquote>
 <p><img src="/docs/assets/pulsar-exclusive-subscriptions.png" alt="Exclusive subscriptions"></p>
 <h3><a class="anchor" aria-hidden="true" id="shared"></a><a href="#shared" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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. [...]
@@ -179,7 +179,7 @@
 </blockquote>
 <p><img src="/docs/assets/pulsar-shared-subscriptions.png" alt="Shared subscriptions"></p>
 <h3><a class="anchor" aria-hidden="true" id="failover"></a><a href="#failover" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
-<p>In <em>failover</em> mode, multiple consumers can attach to the same subscription. The consumers will be lexically sorted by the consumer's name and the first consumer will initially be the only one receiving messages. This consumer is called the <em>master consumer</em>.</p>
+<p>In <em>Failover</em> type, multiple consumers can attach to the same subscription. The consumers will be lexically sorted by the consumer's name and the first consumer will initially be the only one receiving messages. This consumer is called the <em>master consumer</em>.</p>
 <p>When the master consumer disconnects, all (non-acked and subsequent) messages will be delivered to the next consumer in line.</p>
 <p>In the diagram above, Consumer-C-1 is the master consumer while Consumer-C-2 would be the next in line to receive messages if Consumer-C-1 disconnected.</p>
 <p><img src="/docs/assets/pulsar-failover-subscriptions.png" alt="Failover subscriptions"></p>
@@ -223,9 +223,9 @@ Consumer someTopicsConsumer = pulsarClient.subscribe(someTopicsInNamespace, <spa
 <p>The diagram below illustrates this:</p>
 <p><img src="/docs/assets/partitioning.png" alt=""></p>
 <p>Here, the topic <strong>Topic1</strong> has five partitions (<strong>P0</strong> through <strong>P4</strong>) split across three brokers. Because there are more partitions than brokers, two brokers handle two partitions a piece, while the third handles only one (again, Pulsar handles this distribution of partitions automatically).</p>
-<p>Messages for this topic are broadcast to two consumers. The <a href="#routing-modes">routing mode</a> determines both which broker handles each partition, while the <a href="#subscription-modes">subscription mode</a> determines which messages go to which consumers.</p>
-<p>Decisions about routing and subscription modes can be made separately in most cases. In general, throughput concerns should guide partitioning/routing decisions while subscription decisions should be guided by application semantics.</p>
-<p>There is no difference between partitioned topics and normal topics in terms of how subscription modes work, as partitioning only determines what happens between when a message is published by a producer and processed and acknowledged by a consumer.</p>
+<p>Messages for this topic are broadcast to two consumers. The <a href="#routing-modes">routing mode</a> determines both which broker handles each partition, while the <a href="#subscription-types">subscription type</a> determines which messages go to which consumers.</p>
+<p>Decisions about routing and subscription types can be made separately in most cases. In general, throughput concerns should guide partitioning/routing decisions while subscription decisions should be guided by application semantics.</p>
+<p>There is no difference between partitioned topics and normal topics in terms of how subscription types work, as partitioning only determines what happens between when a message is published by a producer and processed and acknowledged by a consumer.</p>
 <p>Partitioned topics need to be explicitly created via the <a href="/docs/fr/2.3.1/admin-api-overview">admin API</a>. The number of partitions can be specified when creating the topic.</p>
 <h3><a class="anchor" aria-hidden="true" id="routing-modes"></a><a href="#routing-modes" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>When publishing to partitioned topics, you must specify a <em>routing mode</em>. The routing mode determines which partition---that is, which internal topic---each message should be published to.</p>
@@ -277,7 +277,7 @@ Consumer someTopicsConsumer = pulsarClient.subscribe(someTopicsInNamespace, <spa
 <h3><a class="anchor" aria-hidden="true" id="performance"></a><a href="#performance" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>Non-persistent messaging is usually faster than persistent messaging because brokers don't persist messages and immediately send acks back to the producer as soon as that message is deliver to all connected subscribers. Producers thus see comparatively low publish latency with non-persistent topic.</p>
 <h3><a class="anchor" aria-hidden="true" id="client-api"></a><a href="#client-api" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>Producers and consumers can connect to non-persistent topics in the same way as persistent topics, with the crucial difference that the topic name must start with <code>non-persistent</code>. All three subscription modes---<a href="#exclusive">exclusive</a>, <a href="#shared">shared</a>, and <a href="#failover">failover</a>---are supported for non-persistent topics.</p>
+<p>Producers and consumers can connect to non-persistent topics in the same way as persistent topics, with the crucial difference that the topic name must start with <code>non-persistent</code>. All three subscription types---<a href="#exclusive">exclusive</a>, <a href="#shared">shared</a>, and <a href="#failover">failover</a>---are supported for non-persistent topics.</p>
 <p>Here's an example <a href="/docs/fr/2.3.1/client-libraries-java#consumers">Java consumer</a> for a non-persistent topic:</p>
 <pre><code class="hljs css language-java">PulsarClient client = PulsarClient.create(<span class="hljs-string">"pulsar://localhost:6650"</span>);
 String npTopic = <span class="hljs-string">"non-persistent://public/default/my-topic"</span>;
@@ -322,7 +322,7 @@ Consumer consumer = client.subscribe(npTopic, subscriptionName);
 <blockquote>
 <p>More in-depth information can be found in <a href="https://streaml.io/blog/pulsar-effectively-once/">this post</a> on the <a href="https://streaml.io/blog">Streamlio blog</a></p>
 </blockquote>
-</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/fr/2.3.1/concepts-overview"><span class="arrow-prev">← </span><span>Overview</span></a><a class="docs-next button" href="/docs/fr/2.3.1/concepts-architecture-overview"><span>Architecture</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#messages">Messages</a></li><li><a href="#producers">Producers</a><ul class="toc-headi [...]
+</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/fr/2.3.1/concepts-overview"><span class="arrow-prev">← </span><span>Overview</span></a><a class="docs-next button" href="/docs/fr/2.3.1/concepts-architecture-overview"><span>Architecture</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#messages">Messages</a></li><li><a href="#producers">Producers</a><ul class="toc-headi [...]
       const community = document.querySelector("a[href='#community']").parentNode;
       const communityMenu =
         '<li>' +
diff --git a/content/docs/fr/2.3.1/concepts-overview.html b/content/docs/fr/2.3.1/concepts-overview.html
index 97c9f1e..619e71f 100644
--- a/content/docs/fr/2.3.1/concepts-overview.html
+++ b/content/docs/fr/2.3.1/concepts-overview.html
@@ -81,7 +81,7 @@
 <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/fr/2.3.1/concepts-clients">client API</a> with bindings for <a href="/docs/fr/2.3.1/client-libraries-java">Java</a>, <a href="/docs/fr/2.3.1/client-libraries-go">Go</a>, <a href="/docs/fr/2.3.1/client-libraries-python">Python</a> and <a href="/docs/fr/2.3.1/client-libraries-cpp">C++</a>.</li>
-<li>Multiple <a href="/docs/fr/2.3.1/concepts-messaging#subscription-modes">subscription modes</a> (<a href="/docs/fr/2.3.1/concepts-messaging#exclusive">exclusive</a>, <a href="/docs/fr/2.3.1/concepts-messaging#shared">shared</a>, and <a href="/docs/fr/2.3.1/concepts-messaging#failover">failover</a>) for topics.</li>
+<li>Multiple <a href="/docs/fr/2.3.1/concepts-messaging#subscription-types">subscription types</a> (<a href="/docs/fr/2.3.1/concepts-messaging#exclusive">exclusive</a>, <a href="/docs/fr/2.3.1/concepts-messaging#shared">shared</a>, and <a href="/docs/fr/2.3.1/concepts-messaging#failover">failover</a>) for topics.</li>
 <li>Guaranteed message delivery with <a href="/docs/fr/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/fr/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/fr/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>
diff --git a/content/docs/fr/2.3.1/concepts-overview/index.html b/content/docs/fr/2.3.1/concepts-overview/index.html
index 97c9f1e..619e71f 100644
--- a/content/docs/fr/2.3.1/concepts-overview/index.html
+++ b/content/docs/fr/2.3.1/concepts-overview/index.html
@@ -81,7 +81,7 @@
 <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/fr/2.3.1/concepts-clients">client API</a> with bindings for <a href="/docs/fr/2.3.1/client-libraries-java">Java</a>, <a href="/docs/fr/2.3.1/client-libraries-go">Go</a>, <a href="/docs/fr/2.3.1/client-libraries-python">Python</a> and <a href="/docs/fr/2.3.1/client-libraries-cpp">C++</a>.</li>
-<li>Multiple <a href="/docs/fr/2.3.1/concepts-messaging#subscription-modes">subscription modes</a> (<a href="/docs/fr/2.3.1/concepts-messaging#exclusive">exclusive</a>, <a href="/docs/fr/2.3.1/concepts-messaging#shared">shared</a>, and <a href="/docs/fr/2.3.1/concepts-messaging#failover">failover</a>) for topics.</li>
+<li>Multiple <a href="/docs/fr/2.3.1/concepts-messaging#subscription-types">subscription types</a> (<a href="/docs/fr/2.3.1/concepts-messaging#exclusive">exclusive</a>, <a href="/docs/fr/2.3.1/concepts-messaging#shared">shared</a>, and <a href="/docs/fr/2.3.1/concepts-messaging#failover">failover</a>) for topics.</li>
 <li>Guaranteed message delivery with <a href="/docs/fr/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/fr/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/fr/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>
diff --git a/content/docs/fr/2.3.2/concepts-messaging.html b/content/docs/fr/2.3.2/concepts-messaging.html
index ece7e3c..c1e2b59 100644
--- a/content/docs/fr/2.3.2/concepts-messaging.html
+++ b/content/docs/fr/2.3.2/concepts-messaging.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>Messaging Concepts · Apache Pulsar</title><meta name="viewport" content="width=device-width, initial-scale=1.0"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar is built on the [publish-subscribe](https://en.wikipedia.org/wiki/Publish%E2%80%93subscribe_pattern) pattern, aka pub-sub. In this pattern, [producers](#producers) publish  [...]
+<!DOCTYPE html><html lang="fr"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Messaging Concepts · Apache Pulsar</title><meta name="viewport" content="width=device-width, initial-scale=1.0"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar is built on the [publish-subscribe](https://en.wikipedia.org/wiki/Publish%E2%80%93subscribe_pattern) pattern, aka pub-sub. In this pattern, [producers](#producers) publish  [...]
               (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,7 +74,7 @@
                 };
               }
             });
-        </script></nav></div><div class="container mainContainer docsContainer"><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 id="__docusaurus" class="postHeaderTitle">Messaging Concepts</h1></header><article><div><span><p>Pulsar is built on the <a href="https://en.wikipedia.org/wiki/Publish%E2%80%93subscribe_pattern">publish- [...]
+        </script></nav></div><div class="container mainContainer docsContainer"><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 id="__docusaurus" class="postHeaderTitle">Messaging Concepts</h1></header><article><div><span><p>Pulsar is built on the <a href="https://en.wikipedia.org/wiki/Publish%E2%80%93subscribe_pattern">publish- [...]
 <p>Once a subscription has been created, all messages will be <a href="/docs/fr/2.3.2/concepts-architecture-overview#persistent-storage">retained</a> by Pulsar, even if the consumer gets disconnected. Retained messages will be discarded only when a consumer acknowledges that they've been successfully processed.</p>
 <h2><a class="anchor" aria-hidden="true" id="messages"></a><a href="#messages" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
 <p>Messages are the basic &quot;unit&quot; of Pulsar. They're what producers publish to topics and what consumers then consume from topics (and acknowledge when the message has been processed). Messages are the analogue of letters in a postal service system.</p>
@@ -138,14 +138,14 @@
 <p>When a consumer has consumed a message successfully, the consumer sends an acknowledgement request to the broker, so that the broker will discard the message. Otherwise, it <a href="/docs/fr/2.3.2/concepts-architecture-overview#persistent-storage">stores</a> the message.</p>
 <p>Messages can be acknowledged either one by one or cumulatively. With cumulative acknowledgement, the consumer only needs to acknowledge the last message it received. All messages in the stream up to (and including) the provided message will not be re-delivered to that consumer.</p>
 <blockquote>
-<p>Cumulative acknowledgement cannot be used with <a href="#subscription-modes">shared subscription mode</a>, because shared mode involves multiple consumers having access to the same subscription.</p>
+<p>Cumulative acknowledgement cannot be used with <a href="#subscription-types">shared subscription type</a>, because shared mode involves multiple consumers having access to the same subscription.</p>
 </blockquote>
-<p>In the shared subscription mode, messages can be acknowledged individually.</p>
+<p>In Shared subscription type, messages can be acknowledged individually.</p>
 <h3><a class="anchor" aria-hidden="true" id="negative-acknowledgement"></a><a href="#negative-acknowledgement" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>When a consumer does not consume a message successfully at a time, and wants to consume the message again, the consumer can send a negative acknowledgement to the broker, and then the broker will redeliver the message.</p>
-<p>Messages can be negatively acknowledged one by one or cumulatively, which depends on the consumption subscription mode.</p>
-<p>In the exclusive and failover subscription modes, consumers only negatively acknowledge the last message they have received.</p>
-<p>In the shared and Key_Shared subscription modes, you can negatively acknowledge messages individually.</p>
+<p>Messages can be negatively acknowledged either individually or cumulatively, depending on the consumption subscription type.</p>
+<p>In the exclusive and failover subscription types, consumers only negatively acknowledge the last message they have received.</p>
+<p>In the shared and Key_Shared subscription types, you can negatively acknowledge messages individually.</p>
 <h3><a class="anchor" aria-hidden="true" id="acknowledgement-timeout"></a><a href="#acknowledgement-timeout" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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 a message is not consumed successfully, and you want to trigger the broker to redeliver the message automatically, you can adopt the unacknowledged message automatic re-delivery mechanism. Client will track the unacknowledged messages within the entire <code>acktimeout</code> time range, and send a <code>redeliver unacknowledged messages</code> request to the broker automatically when the acknowledgement timeout is specified.</p>
 <blockquote>
@@ -167,8 +167,8 @@ Use negative acknowledgement prior to acknowledgement timeout. Negative acknowle
 </code></pre>
 <p>Dead letter topic depends on message re-delivery. You need to confirm message re-delivery method: negative acknowledgement or acknowledgement timeout. Use negative acknowledgement prior to acknowledgement timeout.</p>
 <blockquote>
-<p>Note<br>
-Currently, dead letter topic is enabled only in the shared subscription mode.</p>
+<p><strong>Note</strong>  <br>
+Currently, dead letter topic is enabled only in Shared subscription type.</p>
 </blockquote>
 <h2><a class="anchor" aria-hidden="true" id="topics"></a><a href="#topics" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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. [...]
 <p>As in other pub-sub systems, topics in Pulsar are named channels for transmitting messages from <a href="/docs/fr/2.3.2/reference-terminology#producer">producers</a> to <a href="/docs/fr/2.3.2/reference-terminology#consumer">consumers</a>. Topic names are URLs that have a well-defined structure:</p>
@@ -191,18 +191,18 @@ Currently, dead letter topic is enabled only in the shared subscription mode.</p
 </blockquote>
 <h2><a class="anchor" aria-hidden="true" id="espaces-de-nommage"></a><a href="#espaces-de-nommage" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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- [...]
 <p>A namespace is a logical nomenclature within a tenant. A tenant can create multiple namespaces via the <a href="/docs/fr/2.3.2/admin-api-namespaces#create">admin API</a>. For instance, a tenant with different applications can create a separate namespace for each application. A namespace allows the application to create and manage a hierarchy of topics. The topic <code>my-tenant/app1</code> is a namespace for the application <code>app1</code> for <code>my-tenant</code>. You can create  [...]
-<h2><a class="anchor" aria-hidden="true" id="subscription-modes"></a><a href="#subscription-modes" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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- [...]
-<p>A subscription is a named configuration rule that determines how messages are delivered to consumers. There are three available subscription modes in Pulsar: <a href="#exclusive">exclusive</a>, <a href="#shared">shared</a>, and <a href="#failover">failover</a>. These modes are illustrated in the figure below.</p>
-<p><img src="/docs/assets/pulsar-subscription-modes.png" alt="Subscription modes"></p>
+<h2><a class="anchor" aria-hidden="true" id="subscription-types"></a><a href="#subscription-types" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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- [...]
+<p>A subscription is a named configuration rule that determines how messages are delivered to consumers. There are three available subscription types in Pulsar: <a href="#exclusive">exclusive</a>, <a href="#shared">shared</a>, and <a href="#failover">failover</a>. These types are illustrated in the figure below.</p>
+<p><img src="/docs/assets/pulsar-subscription-types.png" alt="Subscription types"></p>
 <h3><a class="anchor" aria-hidden="true" id="exclusive"></a><a href="#exclusive" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>In <em>exclusive</em> mode, only a single consumer is allowed to attach to the subscription. If more than one consumer attempts to subscribe to a topic using the same subscription, the consumer receives an error.</p>
+<p>In <em>exclusive</em> type, only a single consumer is allowed to attach to the subscription. If more than one consumer attempts to subscribe to a topic using the same subscription, the consumer receives an error.</p>
 <p>In the diagram above, only <strong>Consumer A-0</strong> is allowed to consume messages.</p>
 <blockquote>
-<p>Exclusive mode is the default subscription mode.</p>
+<p>Exclusive is the default subscription type.</p>
 </blockquote>
 <p><img src="/docs/assets/pulsar-exclusive-subscriptions.png" alt="Exclusive subscriptions"></p>
 <h3><a class="anchor" aria-hidden="true" id="failover"></a><a href="#failover" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
-<p>In <em>failover</em> mode, multiple consumers can attach to the same subscription. The consumers will be lexically sorted by the consumer's name and the first consumer will initially be the only one receiving messages. This consumer is called the <em>master consumer</em>.</p>
+<p>In <em>Failover</em> type, multiple consumers can attach to the same subscription. The consumers will be lexically sorted by the consumer's name and the first consumer will initially be the only one receiving messages. This consumer is called the <em>master consumer</em>.</p>
 <p>When the master consumer disconnects, all (non-acked and subsequent) messages will be delivered to the next consumer in line.</p>
 <p>In the diagram above, Consumer-C-1 is the master consumer while Consumer-C-2 would be the next in line to receive messages if Consumer-C-1 disconnected.</p>
 <p><img src="/docs/assets/pulsar-failover-subscriptions.png" alt="Failover subscriptions"></p>
@@ -262,9 +262,9 @@ Consumer someTopicsConsumer = pulsarClient.subscribe(someTopicsInNamespace, <spa
 <p>The diagram below illustrates this:</p>
 <p><img src="/docs/assets/partitioning.png" alt=""></p>
 <p>Here, the topic <strong>Topic1</strong> has five partitions (<strong>P0</strong> through <strong>P4</strong>) split across three brokers. Because there are more partitions than brokers, two brokers handle two partitions a piece, while the third handles only one (again, Pulsar handles this distribution of partitions automatically).</p>
-<p>Messages for this topic are broadcast to two consumers. The <a href="#routing-modes">routing mode</a> determines both which broker handles each partition, while the <a href="#subscription-modes">subscription mode</a> determines which messages go to which consumers.</p>
-<p>Decisions about routing and subscription modes can be made separately in most cases. In general, throughput concerns should guide partitioning/routing decisions while subscription decisions should be guided by application semantics.</p>
-<p>There is no difference between partitioned topics and normal topics in terms of how subscription modes work, as partitioning only determines what happens between when a message is published by a producer and processed and acknowledged by a consumer.</p>
+<p>Messages for this topic are broadcast to two consumers. The <a href="#routing-modes">routing mode</a> determines both which broker handles each partition, while the <a href="#subscription-types">subscription type</a> determines which messages go to which consumers.</p>
+<p>Decisions about routing and subscription types can be made separately in most cases. In general, throughput concerns should guide partitioning/routing decisions while subscription decisions should be guided by application semantics.</p>
+<p>There is no difference between partitioned topics and normal topics in terms of how subscription types work, as partitioning only determines what happens between when a message is published by a producer and processed and acknowledged by a consumer.</p>
 <p>Partitioned topics need to be explicitly created via the <a href="/docs/fr/2.3.2/admin-api-overview">admin API</a>. The number of partitions can be specified when creating the topic.</p>
 <h3><a class="anchor" aria-hidden="true" id="routing-modes"></a><a href="#routing-modes" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>When publishing to partitioned topics, you must specify a <em>routing mode</em>. The routing mode determines which partition---that is, which internal topic---each message should be published to.</p>
@@ -316,7 +316,7 @@ Consumer someTopicsConsumer = pulsarClient.subscribe(someTopicsInNamespace, <spa
 <h3><a class="anchor" aria-hidden="true" id="performance"></a><a href="#performance" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>Non-persistent messaging is usually faster than persistent messaging because brokers don't persist messages and immediately send acks back to the producer as soon as that message is deliver to all connected subscribers. Producers thus see comparatively low publish latency with non-persistent topic.</p>
 <h3><a class="anchor" aria-hidden="true" id="client-api"></a><a href="#client-api" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>Producers and consumers can connect to non-persistent topics in the same way as persistent topics, with the crucial difference that the topic name must start with <code>non-persistent</code>. All three subscription modes---<a href="#exclusive">exclusive</a>, <a href="#shared">shared</a>, and <a href="#failover">failover</a>---are supported for non-persistent topics.</p>
+<p>Producers and consumers can connect to non-persistent topics in the same way as persistent topics, with the crucial difference that the topic name must start with <code>non-persistent</code>. All three subscription types---<a href="#exclusive">exclusive</a>, <a href="#shared">shared</a>, and <a href="#failover">failover</a>---are supported for non-persistent topics.</p>
 <p>Here's an example <a href="/docs/fr/2.3.2/client-libraries-java#consumers">Java consumer</a> for a non-persistent topic:</p>
 <pre><code class="hljs css language-java">PulsarClient client = PulsarClient.create(<span class="hljs-string">"pulsar://localhost:6650"</span>);
 String npTopic = <span class="hljs-string">"non-persistent://public/default/my-topic"</span>;
@@ -361,7 +361,7 @@ Consumer consumer = client.subscribe(npTopic, subscriptionName);
 <blockquote>
 <p>More in-depth information can be found in <a href="https://streaml.io/blog/pulsar-effectively-once/">this post</a> on the <a href="https://streaml.io/blog">Streamlio blog</a></p>
 </blockquote>
-</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/fr/2.3.2/concepts-overview"><span class="arrow-prev">← </span><span>Overview</span></a><a class="docs-next button" href="/docs/fr/2.3.2/concepts-architecture-overview"><span>Architecture</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#messages">Messages</a></li><li><a href="#producers">Producers</a><ul class="toc-headi [...]
+</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/fr/2.3.2/concepts-overview"><span class="arrow-prev">← </span><span>Overview</span></a><a class="docs-next button" href="/docs/fr/2.3.2/concepts-architecture-overview"><span>Architecture</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#messages">Messages</a></li><li><a href="#producers">Producers</a><ul class="toc-headi [...]
       const community = document.querySelector("a[href='#community']").parentNode;
       const communityMenu =
         '<li>' +
diff --git a/content/docs/fr/2.3.2/concepts-messaging/index.html b/content/docs/fr/2.3.2/concepts-messaging/index.html
index ece7e3c..c1e2b59 100644
--- a/content/docs/fr/2.3.2/concepts-messaging/index.html
+++ b/content/docs/fr/2.3.2/concepts-messaging/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>Messaging Concepts · Apache Pulsar</title><meta name="viewport" content="width=device-width, initial-scale=1.0"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar is built on the [publish-subscribe](https://en.wikipedia.org/wiki/Publish%E2%80%93subscribe_pattern) pattern, aka pub-sub. In this pattern, [producers](#producers) publish  [...]
+<!DOCTYPE html><html lang="fr"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Messaging Concepts · Apache Pulsar</title><meta name="viewport" content="width=device-width, initial-scale=1.0"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar is built on the [publish-subscribe](https://en.wikipedia.org/wiki/Publish%E2%80%93subscribe_pattern) pattern, aka pub-sub. In this pattern, [producers](#producers) publish  [...]
               (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,7 +74,7 @@
                 };
               }
             });
-        </script></nav></div><div class="container mainContainer docsContainer"><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 id="__docusaurus" class="postHeaderTitle">Messaging Concepts</h1></header><article><div><span><p>Pulsar is built on the <a href="https://en.wikipedia.org/wiki/Publish%E2%80%93subscribe_pattern">publish- [...]
+        </script></nav></div><div class="container mainContainer docsContainer"><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 id="__docusaurus" class="postHeaderTitle">Messaging Concepts</h1></header><article><div><span><p>Pulsar is built on the <a href="https://en.wikipedia.org/wiki/Publish%E2%80%93subscribe_pattern">publish- [...]
 <p>Once a subscription has been created, all messages will be <a href="/docs/fr/2.3.2/concepts-architecture-overview#persistent-storage">retained</a> by Pulsar, even if the consumer gets disconnected. Retained messages will be discarded only when a consumer acknowledges that they've been successfully processed.</p>
 <h2><a class="anchor" aria-hidden="true" id="messages"></a><a href="#messages" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
 <p>Messages are the basic &quot;unit&quot; of Pulsar. They're what producers publish to topics and what consumers then consume from topics (and acknowledge when the message has been processed). Messages are the analogue of letters in a postal service system.</p>
@@ -138,14 +138,14 @@
 <p>When a consumer has consumed a message successfully, the consumer sends an acknowledgement request to the broker, so that the broker will discard the message. Otherwise, it <a href="/docs/fr/2.3.2/concepts-architecture-overview#persistent-storage">stores</a> the message.</p>
 <p>Messages can be acknowledged either one by one or cumulatively. With cumulative acknowledgement, the consumer only needs to acknowledge the last message it received. All messages in the stream up to (and including) the provided message will not be re-delivered to that consumer.</p>
 <blockquote>
-<p>Cumulative acknowledgement cannot be used with <a href="#subscription-modes">shared subscription mode</a>, because shared mode involves multiple consumers having access to the same subscription.</p>
+<p>Cumulative acknowledgement cannot be used with <a href="#subscription-types">shared subscription type</a>, because shared mode involves multiple consumers having access to the same subscription.</p>
 </blockquote>
-<p>In the shared subscription mode, messages can be acknowledged individually.</p>
+<p>In Shared subscription type, messages can be acknowledged individually.</p>
 <h3><a class="anchor" aria-hidden="true" id="negative-acknowledgement"></a><a href="#negative-acknowledgement" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>When a consumer does not consume a message successfully at a time, and wants to consume the message again, the consumer can send a negative acknowledgement to the broker, and then the broker will redeliver the message.</p>
-<p>Messages can be negatively acknowledged one by one or cumulatively, which depends on the consumption subscription mode.</p>
-<p>In the exclusive and failover subscription modes, consumers only negatively acknowledge the last message they have received.</p>
-<p>In the shared and Key_Shared subscription modes, you can negatively acknowledge messages individually.</p>
+<p>Messages can be negatively acknowledged either individually or cumulatively, depending on the consumption subscription type.</p>
+<p>In the exclusive and failover subscription types, consumers only negatively acknowledge the last message they have received.</p>
+<p>In the shared and Key_Shared subscription types, you can negatively acknowledge messages individually.</p>
 <h3><a class="anchor" aria-hidden="true" id="acknowledgement-timeout"></a><a href="#acknowledgement-timeout" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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 a message is not consumed successfully, and you want to trigger the broker to redeliver the message automatically, you can adopt the unacknowledged message automatic re-delivery mechanism. Client will track the unacknowledged messages within the entire <code>acktimeout</code> time range, and send a <code>redeliver unacknowledged messages</code> request to the broker automatically when the acknowledgement timeout is specified.</p>
 <blockquote>
@@ -167,8 +167,8 @@ Use negative acknowledgement prior to acknowledgement timeout. Negative acknowle
 </code></pre>
 <p>Dead letter topic depends on message re-delivery. You need to confirm message re-delivery method: negative acknowledgement or acknowledgement timeout. Use negative acknowledgement prior to acknowledgement timeout.</p>
 <blockquote>
-<p>Note<br>
-Currently, dead letter topic is enabled only in the shared subscription mode.</p>
+<p><strong>Note</strong>  <br>
+Currently, dead letter topic is enabled only in Shared subscription type.</p>
 </blockquote>
 <h2><a class="anchor" aria-hidden="true" id="topics"></a><a href="#topics" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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. [...]
 <p>As in other pub-sub systems, topics in Pulsar are named channels for transmitting messages from <a href="/docs/fr/2.3.2/reference-terminology#producer">producers</a> to <a href="/docs/fr/2.3.2/reference-terminology#consumer">consumers</a>. Topic names are URLs that have a well-defined structure:</p>
@@ -191,18 +191,18 @@ Currently, dead letter topic is enabled only in the shared subscription mode.</p
 </blockquote>
 <h2><a class="anchor" aria-hidden="true" id="espaces-de-nommage"></a><a href="#espaces-de-nommage" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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- [...]
 <p>A namespace is a logical nomenclature within a tenant. A tenant can create multiple namespaces via the <a href="/docs/fr/2.3.2/admin-api-namespaces#create">admin API</a>. For instance, a tenant with different applications can create a separate namespace for each application. A namespace allows the application to create and manage a hierarchy of topics. The topic <code>my-tenant/app1</code> is a namespace for the application <code>app1</code> for <code>my-tenant</code>. You can create  [...]
-<h2><a class="anchor" aria-hidden="true" id="subscription-modes"></a><a href="#subscription-modes" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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- [...]
-<p>A subscription is a named configuration rule that determines how messages are delivered to consumers. There are three available subscription modes in Pulsar: <a href="#exclusive">exclusive</a>, <a href="#shared">shared</a>, and <a href="#failover">failover</a>. These modes are illustrated in the figure below.</p>
-<p><img src="/docs/assets/pulsar-subscription-modes.png" alt="Subscription modes"></p>
+<h2><a class="anchor" aria-hidden="true" id="subscription-types"></a><a href="#subscription-types" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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- [...]
+<p>A subscription is a named configuration rule that determines how messages are delivered to consumers. There are three available subscription types in Pulsar: <a href="#exclusive">exclusive</a>, <a href="#shared">shared</a>, and <a href="#failover">failover</a>. These types are illustrated in the figure below.</p>
+<p><img src="/docs/assets/pulsar-subscription-types.png" alt="Subscription types"></p>
 <h3><a class="anchor" aria-hidden="true" id="exclusive"></a><a href="#exclusive" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>In <em>exclusive</em> mode, only a single consumer is allowed to attach to the subscription. If more than one consumer attempts to subscribe to a topic using the same subscription, the consumer receives an error.</p>
+<p>In <em>exclusive</em> type, only a single consumer is allowed to attach to the subscription. If more than one consumer attempts to subscribe to a topic using the same subscription, the consumer receives an error.</p>
 <p>In the diagram above, only <strong>Consumer A-0</strong> is allowed to consume messages.</p>
 <blockquote>
-<p>Exclusive mode is the default subscription mode.</p>
+<p>Exclusive is the default subscription type.</p>
 </blockquote>
 <p><img src="/docs/assets/pulsar-exclusive-subscriptions.png" alt="Exclusive subscriptions"></p>
 <h3><a class="anchor" aria-hidden="true" id="failover"></a><a href="#failover" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
-<p>In <em>failover</em> mode, multiple consumers can attach to the same subscription. The consumers will be lexically sorted by the consumer's name and the first consumer will initially be the only one receiving messages. This consumer is called the <em>master consumer</em>.</p>
+<p>In <em>Failover</em> type, multiple consumers can attach to the same subscription. The consumers will be lexically sorted by the consumer's name and the first consumer will initially be the only one receiving messages. This consumer is called the <em>master consumer</em>.</p>
 <p>When the master consumer disconnects, all (non-acked and subsequent) messages will be delivered to the next consumer in line.</p>
 <p>In the diagram above, Consumer-C-1 is the master consumer while Consumer-C-2 would be the next in line to receive messages if Consumer-C-1 disconnected.</p>
 <p><img src="/docs/assets/pulsar-failover-subscriptions.png" alt="Failover subscriptions"></p>
@@ -262,9 +262,9 @@ Consumer someTopicsConsumer = pulsarClient.subscribe(someTopicsInNamespace, <spa
 <p>The diagram below illustrates this:</p>
 <p><img src="/docs/assets/partitioning.png" alt=""></p>
 <p>Here, the topic <strong>Topic1</strong> has five partitions (<strong>P0</strong> through <strong>P4</strong>) split across three brokers. Because there are more partitions than brokers, two brokers handle two partitions a piece, while the third handles only one (again, Pulsar handles this distribution of partitions automatically).</p>
-<p>Messages for this topic are broadcast to two consumers. The <a href="#routing-modes">routing mode</a> determines both which broker handles each partition, while the <a href="#subscription-modes">subscription mode</a> determines which messages go to which consumers.</p>
-<p>Decisions about routing and subscription modes can be made separately in most cases. In general, throughput concerns should guide partitioning/routing decisions while subscription decisions should be guided by application semantics.</p>
-<p>There is no difference between partitioned topics and normal topics in terms of how subscription modes work, as partitioning only determines what happens between when a message is published by a producer and processed and acknowledged by a consumer.</p>
+<p>Messages for this topic are broadcast to two consumers. The <a href="#routing-modes">routing mode</a> determines both which broker handles each partition, while the <a href="#subscription-types">subscription type</a> determines which messages go to which consumers.</p>
+<p>Decisions about routing and subscription types can be made separately in most cases. In general, throughput concerns should guide partitioning/routing decisions while subscription decisions should be guided by application semantics.</p>
+<p>There is no difference between partitioned topics and normal topics in terms of how subscription types work, as partitioning only determines what happens between when a message is published by a producer and processed and acknowledged by a consumer.</p>
 <p>Partitioned topics need to be explicitly created via the <a href="/docs/fr/2.3.2/admin-api-overview">admin API</a>. The number of partitions can be specified when creating the topic.</p>
 <h3><a class="anchor" aria-hidden="true" id="routing-modes"></a><a href="#routing-modes" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>When publishing to partitioned topics, you must specify a <em>routing mode</em>. The routing mode determines which partition---that is, which internal topic---each message should be published to.</p>
@@ -316,7 +316,7 @@ Consumer someTopicsConsumer = pulsarClient.subscribe(someTopicsInNamespace, <spa
 <h3><a class="anchor" aria-hidden="true" id="performance"></a><a href="#performance" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>Non-persistent messaging is usually faster than persistent messaging because brokers don't persist messages and immediately send acks back to the producer as soon as that message is deliver to all connected subscribers. Producers thus see comparatively low publish latency with non-persistent topic.</p>
 <h3><a class="anchor" aria-hidden="true" id="client-api"></a><a href="#client-api" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>Producers and consumers can connect to non-persistent topics in the same way as persistent topics, with the crucial difference that the topic name must start with <code>non-persistent</code>. All three subscription modes---<a href="#exclusive">exclusive</a>, <a href="#shared">shared</a>, and <a href="#failover">failover</a>---are supported for non-persistent topics.</p>
+<p>Producers and consumers can connect to non-persistent topics in the same way as persistent topics, with the crucial difference that the topic name must start with <code>non-persistent</code>. All three subscription types---<a href="#exclusive">exclusive</a>, <a href="#shared">shared</a>, and <a href="#failover">failover</a>---are supported for non-persistent topics.</p>
 <p>Here's an example <a href="/docs/fr/2.3.2/client-libraries-java#consumers">Java consumer</a> for a non-persistent topic:</p>
 <pre><code class="hljs css language-java">PulsarClient client = PulsarClient.create(<span class="hljs-string">"pulsar://localhost:6650"</span>);
 String npTopic = <span class="hljs-string">"non-persistent://public/default/my-topic"</span>;
@@ -361,7 +361,7 @@ Consumer consumer = client.subscribe(npTopic, subscriptionName);
 <blockquote>
 <p>More in-depth information can be found in <a href="https://streaml.io/blog/pulsar-effectively-once/">this post</a> on the <a href="https://streaml.io/blog">Streamlio blog</a></p>
 </blockquote>
-</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/fr/2.3.2/concepts-overview"><span class="arrow-prev">← </span><span>Overview</span></a><a class="docs-next button" href="/docs/fr/2.3.2/concepts-architecture-overview"><span>Architecture</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#messages">Messages</a></li><li><a href="#producers">Producers</a><ul class="toc-headi [...]
+</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/fr/2.3.2/concepts-overview"><span class="arrow-prev">← </span><span>Overview</span></a><a class="docs-next button" href="/docs/fr/2.3.2/concepts-architecture-overview"><span>Architecture</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#messages">Messages</a></li><li><a href="#producers">Producers</a><ul class="toc-headi [...]
       const community = document.querySelector("a[href='#community']").parentNode;
       const communityMenu =
         '<li>' +
diff --git a/content/docs/fr/2.3.2/concepts-overview.html b/content/docs/fr/2.3.2/concepts-overview.html
index c987447..1f662df 100644
--- a/content/docs/fr/2.3.2/concepts-overview.html
+++ b/content/docs/fr/2.3.2/concepts-overview.html
@@ -81,7 +81,7 @@
 <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/fr/2.3.2/concepts-clients">client API</a> with bindings for <a href="/docs/fr/2.3.2/client-libraries-java">Java</a>, <a href="/docs/fr/2.3.2/client-libraries-go">Go</a>, <a href="/docs/fr/2.3.2/client-libraries-python">Python</a> and <a href="/docs/fr/2.3.2/client-libraries-cpp">C++</a>.</li>
-<li>Multiple <a href="/docs/fr/2.3.2/concepts-messaging#subscription-modes">subscription modes</a> (<a href="/docs/fr/2.3.2/concepts-messaging#exclusive">exclusive</a>, <a href="/docs/fr/2.3.2/concepts-messaging#shared">shared</a>, and <a href="/docs/fr/2.3.2/concepts-messaging#failover">failover</a>) for topics.</li>
+<li>Multiple <a href="/docs/fr/2.3.2/concepts-messaging#subscription-types">subscription types</a> (<a href="/docs/fr/2.3.2/concepts-messaging#exclusive">exclusive</a>, <a href="/docs/fr/2.3.2/concepts-messaging#shared">shared</a>, and <a href="/docs/fr/2.3.2/concepts-messaging#failover">failover</a>) for topics.</li>
 <li>Guaranteed message delivery with <a href="/docs/fr/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/fr/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/fr/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>
diff --git a/content/docs/fr/2.3.2/concepts-overview/index.html b/content/docs/fr/2.3.2/concepts-overview/index.html
index c987447..1f662df 100644
--- a/content/docs/fr/2.3.2/concepts-overview/index.html
+++ b/content/docs/fr/2.3.2/concepts-overview/index.html
@@ -81,7 +81,7 @@
 <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/fr/2.3.2/concepts-clients">client API</a> with bindings for <a href="/docs/fr/2.3.2/client-libraries-java">Java</a>, <a href="/docs/fr/2.3.2/client-libraries-go">Go</a>, <a href="/docs/fr/2.3.2/client-libraries-python">Python</a> and <a href="/docs/fr/2.3.2/client-libraries-cpp">C++</a>.</li>
-<li>Multiple <a href="/docs/fr/2.3.2/concepts-messaging#subscription-modes">subscription modes</a> (<a href="/docs/fr/2.3.2/concepts-messaging#exclusive">exclusive</a>, <a href="/docs/fr/2.3.2/concepts-messaging#shared">shared</a>, and <a href="/docs/fr/2.3.2/concepts-messaging#failover">failover</a>) for topics.</li>
+<li>Multiple <a href="/docs/fr/2.3.2/concepts-messaging#subscription-types">subscription types</a> (<a href="/docs/fr/2.3.2/concepts-messaging#exclusive">exclusive</a>, <a href="/docs/fr/2.3.2/concepts-messaging#shared">shared</a>, and <a href="/docs/fr/2.3.2/concepts-messaging#failover">failover</a>) for topics.</li>
 <li>Guaranteed message delivery with <a href="/docs/fr/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/fr/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/fr/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>
diff --git a/content/docs/fr/2.4.0/client-libraries-java.html b/content/docs/fr/2.4.0/client-libraries-java.html
index 24b7718..d0c6bab 100644
--- a/content/docs/fr/2.4.0/client-libraries-java.html
+++ b/content/docs/fr/2.4.0/client-libraries-java.html
@@ -310,10 +310,10 @@ consumerBuilder
             });
 }
 </code></pre>
-<h3><a class="anchor" aria-hidden="true" id="subscription-modes"></a><a href="#subscription-modes" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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- [...]
-<p>Pulsar has various <a href="concepts-messaging#subscription-modes">subscription modes</a> to match different scenarios. A topic can have multiple subscriptions with different subscription modes. However, a subscription can only have one subscription mode at a time.</p>
-<p>A subscription is identified with the subscription name, and a subscription name can specify only one subscription mode at a time. You can change the subscription mode, yet you have to let all existing consumers of this subscription offline first.</p>
-<p>Different subscription modes have different message distribution modes. This section describes the differences of subscription modes and how to use them.</p>
+<h3><a class="anchor" aria-hidden="true" id="subscription-types"></a><a href="#subscription-types" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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- [...]
+<p>Pulsar has various <a href="concepts-messaging#subscription-types">subscription types</a> to match different scenarios. A topic can have multiple subscriptions with different subscription types. However, a subscription can only have one subscription type at a time.</p>
+<p>A subscription is identified with the subscription name; a subscription name can specify only one subscription type at a time. To change the subscription type, you should first stop all consumers of this subscription.</p>
+<p>Different subscription types have different message distribution modes. This section describes the differences of subscription types and how to use them.</p>
 <p>In order to better describe their differences, assuming you have a topic named &quot;my-topic&quot;, and the producer has published 10 messages.</p>
 <pre><code class="hljs css language-java">Producer&lt;String&gt; producer = client.newProducer(Schema.STRING)
         .topic(<span class="hljs-string">"my-topic"</span>)
@@ -332,7 +332,7 @@ producer.newMessage().key(<span class="hljs-string">"key-4"</span>).value(<span
 producer.newMessage().key(<span class="hljs-string">"key-4"</span>).value(<span class="hljs-string">"message-4-2"</span>).send();
 </code></pre>
 <h4><a class="anchor" aria-hidden="true" id="exclusive"></a><a href="#exclusive" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>Create a new consumer and subscribe with the <code>Exclusive</code> subscription mode.</p>
+<p>Create a new consumer and subscribe with the <code>Exclusive</code> subscription type.</p>
 <pre><code class="hljs css language-java">Consumer consumer = client.newConsumer()
         .topic(<span class="hljs-string">"my-topic"</span>)
         .subscriptionName(<span class="hljs-string">"my-subscription"</span>)
@@ -341,11 +341,11 @@ producer.newMessage().key(<span class="hljs-string">"key-4"</span>).value(<span
 </code></pre>
 <p>Only the first consumer is allowed to the subscription, other consumers receive an error. The first consumer receives all 10 messages, and the consuming order is the same as the producing order.</p>
 <blockquote>
-<p>Note:</p>
-<p>If topic is a partitioned topic, the first consumer subscribes to all partitioned topics, other consumers are not assigned with partitions and receive an error.</p>
+<p><strong>Note</strong>  <br>
+If topic is a partitioned topic, the first consumer subscribes to all partitioned topics, other consumers are not assigned with partitions and receive an error.</p>
 </blockquote>
 <h4><a class="anchor" aria-hidden="true" id="failover"></a><a href="#failover" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
-<p>Create new consumers and subscribe with the<code>Failover</code> subscription mode.</p>
+<p>Create new consumers and subscribe with the<code>Failover</code> subscription type.</p>
 <pre><code class="hljs css language-java">Consumer consumer1 = client.newConsumer()
         .topic(<span class="hljs-string">"my-topic"</span>)
         .subscriptionName(<span class="hljs-string">"my-subscription"</span>)
@@ -377,11 +377,11 @@ Consumer consumer2 = client.newConsumer()
 (&quot;key-4&quot;, &quot;message-4-2&quot;)
 </code></pre>
 <blockquote>
-<p>Note:</p>
-<p>If a topic is a partitioned topic, each partition only has one active consumer, messages of one partition only distributed to one consumer, messages of multiple partitions are distributed to multiple consumers.</p>
+<p><strong>Note</strong>  <br>
+If a topic is a partitioned topic, each partition only has one active consumer, messages of one partition only distributed to one consumer, messages of multiple partitions are distributed to multiple consumers.</p>
 </blockquote>
 <h4><a class="anchor" aria-hidden="true" id="shared"></a><a href="#shared" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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. [...]
-<p>Create new consumers and subscribe with <code>Shared</code> subscription mode:</p>
+<p>Create new consumers and subscribe with <code>Shared</code> subscription type.</p>
 <pre><code class="hljs css language-java">Consumer consumer1 = client.newConsumer()
         .topic(<span class="hljs-string">"my-topic"</span>)
         .subscriptionName(<span class="hljs-string">"my-subscription"</span>)
@@ -395,7 +395,7 @@ Consumer consumer2 = client.newConsumer()
         .subscribe()
 <span class="hljs-comment">//Both consumer1 and consumer 2 is active consumers.</span>
 </code></pre>
-<p>In shared subscription mode, multiple consumers can attach to the same subscription and message are delivered in a round robin distribution across consumers.</p>
+<p>In shared subscription type, multiple consumers can attach to the same subscription and message are delivered in a round robin distribution across consumers.</p>
 <p>If a broker dispatches only one message at a time, consumer1 will receive:</p>
 <pre><code class="hljs">(&quot;key-1&quot;, &quot;message-1-1&quot;)
 (&quot;key-1&quot;, &quot;message-1-3&quot;)
@@ -410,9 +410,9 @@ Consumer consumer2 = client.newConsumer()
 (&quot;key-3&quot;, &quot;message-3-2&quot;)
 (&quot;key-4&quot;, &quot;message-4-2&quot;)
 </code></pre>
-<p><code>Shared</code> subscription is different from <code>Exclusive</code> and <code>Failover</code> subscription modes. <code>Shared</code> subscription has better flexibility, but cannot provide order guarantee.</p>
+<p><code>Shared</code> subscription is different from <code>Exclusive</code> and <code>Failover</code> subscription types. <code>Shared</code> subscription has better flexibility, but cannot provide order guarantee.</p>
 <h4><a class="anchor" aria-hidden="true" id="key_shared"></a><a href="#key_shared" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>This is a new subscription mode since 2.4.0 release, create new consumers and subscribe with <code>Key_Shared</code> subscription mode:</p>
+<p>This is a new subscription type since 2.4.0 release, create new consumers and subscribe with <code>Key_Shared</code> subscription type:</p>
 <pre><code class="hljs css language-java">Consumer consumer1 = client.newConsumer()
         .topic(<span class="hljs-string">"my-topic"</span>)
         .subscriptionName(<span class="hljs-string">"my-subscription"</span>)
@@ -442,8 +442,8 @@ Consumer consumer2 = client.newConsumer()
 (&quot;key-4&quot;, &quot;message-4-2&quot;)
 </code></pre>
 <blockquote>
-<p>Note:</p>
-<p>If the message key is not specified, messages without key will be dispatched to one consumer in order by default.</p>
+<p><strong>Note</strong>  <br>
+If the message key is not specified, messages without key will be dispatched to one consumer in order by default.</p>
 </blockquote>
 <h2><a class="anchor" aria-hidden="true" id="reader-interface"></a><a href="#reader-interface" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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. [...]
 <p>Avec l'interface <a href="/docs/fr/2.4.0/concepts-clients#reader-interface">reader</a>, les clients Pulsar peuvent se positionner manuellement dans un topic, en lisant tous les messages à partir d'un message spécifié. The Pulsar API for Java enables you to create <a href="https://pulsar.incubator.apache.org/api/client/2.8.0-SNAPSHOT/org/apache/pulsar/client/api/Reader">Reader</a>
@@ -573,7 +573,7 @@ PulsarClient client = PulsarClient.builder()
 <h4><a class="anchor" aria-hidden="true" id="formats-de-modèle-supportés"></a><a href="#formats-de-modèle-supportés" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 1 [...]
 <p>Le paramètre <code>privateKey</code> supporte les trois formats de schéma suivants : * <code>fichier:///chemin/vers/fichier</code>* * <code>fichier:/chemin/vers/fichier</code>* * <code>data:application/x-pem-file;base64,&lt;base64-encoded value&gt;</code></p>
 </blockquote>
-</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/fr/2.4.0/security-extending"><span class="arrow-prev">← </span><span>Extending</span></a><a class="docs-next button" href="/docs/fr/2.4.0/client-libraries-go"><span>Go</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#installation">Installation</a><ul class="toc-headings"><li><a href="#maven">Maven</a></li><li><a href="# [...]
+</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/fr/2.4.0/security-extending"><span class="arrow-prev">← </span><span>Extending</span></a><a class="docs-next button" href="/docs/fr/2.4.0/client-libraries-go"><span>Go</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#installation">Installation</a><ul class="toc-headings"><li><a href="#maven">Maven</a></li><li><a href="# [...]
       const community = document.querySelector("a[href='#community']").parentNode;
       const communityMenu =
         '<li>' +
diff --git a/content/docs/fr/2.4.0/client-libraries-java/index.html b/content/docs/fr/2.4.0/client-libraries-java/index.html
index 24b7718..d0c6bab 100644
--- a/content/docs/fr/2.4.0/client-libraries-java/index.html
+++ b/content/docs/fr/2.4.0/client-libraries-java/index.html
@@ -310,10 +310,10 @@ consumerBuilder
             });
 }
 </code></pre>
-<h3><a class="anchor" aria-hidden="true" id="subscription-modes"></a><a href="#subscription-modes" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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- [...]
-<p>Pulsar has various <a href="concepts-messaging#subscription-modes">subscription modes</a> to match different scenarios. A topic can have multiple subscriptions with different subscription modes. However, a subscription can only have one subscription mode at a time.</p>
-<p>A subscription is identified with the subscription name, and a subscription name can specify only one subscription mode at a time. You can change the subscription mode, yet you have to let all existing consumers of this subscription offline first.</p>
-<p>Different subscription modes have different message distribution modes. This section describes the differences of subscription modes and how to use them.</p>
+<h3><a class="anchor" aria-hidden="true" id="subscription-types"></a><a href="#subscription-types" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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- [...]
+<p>Pulsar has various <a href="concepts-messaging#subscription-types">subscription types</a> to match different scenarios. A topic can have multiple subscriptions with different subscription types. However, a subscription can only have one subscription type at a time.</p>
+<p>A subscription is identified with the subscription name; a subscription name can specify only one subscription type at a time. To change the subscription type, you should first stop all consumers of this subscription.</p>
+<p>Different subscription types have different message distribution modes. This section describes the differences of subscription types and how to use them.</p>
 <p>In order to better describe their differences, assuming you have a topic named &quot;my-topic&quot;, and the producer has published 10 messages.</p>
 <pre><code class="hljs css language-java">Producer&lt;String&gt; producer = client.newProducer(Schema.STRING)
         .topic(<span class="hljs-string">"my-topic"</span>)
@@ -332,7 +332,7 @@ producer.newMessage().key(<span class="hljs-string">"key-4"</span>).value(<span
 producer.newMessage().key(<span class="hljs-string">"key-4"</span>).value(<span class="hljs-string">"message-4-2"</span>).send();
 </code></pre>
 <h4><a class="anchor" aria-hidden="true" id="exclusive"></a><a href="#exclusive" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>Create a new consumer and subscribe with the <code>Exclusive</code> subscription mode.</p>
+<p>Create a new consumer and subscribe with the <code>Exclusive</code> subscription type.</p>
 <pre><code class="hljs css language-java">Consumer consumer = client.newConsumer()
         .topic(<span class="hljs-string">"my-topic"</span>)
         .subscriptionName(<span class="hljs-string">"my-subscription"</span>)
@@ -341,11 +341,11 @@ producer.newMessage().key(<span class="hljs-string">"key-4"</span>).value(<span
 </code></pre>
 <p>Only the first consumer is allowed to the subscription, other consumers receive an error. The first consumer receives all 10 messages, and the consuming order is the same as the producing order.</p>
 <blockquote>
-<p>Note:</p>
-<p>If topic is a partitioned topic, the first consumer subscribes to all partitioned topics, other consumers are not assigned with partitions and receive an error.</p>
+<p><strong>Note</strong>  <br>
+If topic is a partitioned topic, the first consumer subscribes to all partitioned topics, other consumers are not assigned with partitions and receive an error.</p>
 </blockquote>
 <h4><a class="anchor" aria-hidden="true" id="failover"></a><a href="#failover" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
-<p>Create new consumers and subscribe with the<code>Failover</code> subscription mode.</p>
+<p>Create new consumers and subscribe with the<code>Failover</code> subscription type.</p>
 <pre><code class="hljs css language-java">Consumer consumer1 = client.newConsumer()
         .topic(<span class="hljs-string">"my-topic"</span>)
         .subscriptionName(<span class="hljs-string">"my-subscription"</span>)
@@ -377,11 +377,11 @@ Consumer consumer2 = client.newConsumer()
 (&quot;key-4&quot;, &quot;message-4-2&quot;)
 </code></pre>
 <blockquote>
-<p>Note:</p>
-<p>If a topic is a partitioned topic, each partition only has one active consumer, messages of one partition only distributed to one consumer, messages of multiple partitions are distributed to multiple consumers.</p>
+<p><strong>Note</strong>  <br>
+If a topic is a partitioned topic, each partition only has one active consumer, messages of one partition only distributed to one consumer, messages of multiple partitions are distributed to multiple consumers.</p>
 </blockquote>
 <h4><a class="anchor" aria-hidden="true" id="shared"></a><a href="#shared" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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. [...]
-<p>Create new consumers and subscribe with <code>Shared</code> subscription mode:</p>
+<p>Create new consumers and subscribe with <code>Shared</code> subscription type.</p>
 <pre><code class="hljs css language-java">Consumer consumer1 = client.newConsumer()
         .topic(<span class="hljs-string">"my-topic"</span>)
         .subscriptionName(<span class="hljs-string">"my-subscription"</span>)
@@ -395,7 +395,7 @@ Consumer consumer2 = client.newConsumer()
         .subscribe()
 <span class="hljs-comment">//Both consumer1 and consumer 2 is active consumers.</span>
 </code></pre>
-<p>In shared subscription mode, multiple consumers can attach to the same subscription and message are delivered in a round robin distribution across consumers.</p>
+<p>In shared subscription type, multiple consumers can attach to the same subscription and message are delivered in a round robin distribution across consumers.</p>
 <p>If a broker dispatches only one message at a time, consumer1 will receive:</p>
 <pre><code class="hljs">(&quot;key-1&quot;, &quot;message-1-1&quot;)
 (&quot;key-1&quot;, &quot;message-1-3&quot;)
@@ -410,9 +410,9 @@ Consumer consumer2 = client.newConsumer()
 (&quot;key-3&quot;, &quot;message-3-2&quot;)
 (&quot;key-4&quot;, &quot;message-4-2&quot;)
 </code></pre>
-<p><code>Shared</code> subscription is different from <code>Exclusive</code> and <code>Failover</code> subscription modes. <code>Shared</code> subscription has better flexibility, but cannot provide order guarantee.</p>
+<p><code>Shared</code> subscription is different from <code>Exclusive</code> and <code>Failover</code> subscription types. <code>Shared</code> subscription has better flexibility, but cannot provide order guarantee.</p>
 <h4><a class="anchor" aria-hidden="true" id="key_shared"></a><a href="#key_shared" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>This is a new subscription mode since 2.4.0 release, create new consumers and subscribe with <code>Key_Shared</code> subscription mode:</p>
+<p>This is a new subscription type since 2.4.0 release, create new consumers and subscribe with <code>Key_Shared</code> subscription type:</p>
 <pre><code class="hljs css language-java">Consumer consumer1 = client.newConsumer()
         .topic(<span class="hljs-string">"my-topic"</span>)
         .subscriptionName(<span class="hljs-string">"my-subscription"</span>)
@@ -442,8 +442,8 @@ Consumer consumer2 = client.newConsumer()
 (&quot;key-4&quot;, &quot;message-4-2&quot;)
 </code></pre>
 <blockquote>
-<p>Note:</p>
-<p>If the message key is not specified, messages without key will be dispatched to one consumer in order by default.</p>
+<p><strong>Note</strong>  <br>
+If the message key is not specified, messages without key will be dispatched to one consumer in order by default.</p>
 </blockquote>
 <h2><a class="anchor" aria-hidden="true" id="reader-interface"></a><a href="#reader-interface" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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. [...]
 <p>Avec l'interface <a href="/docs/fr/2.4.0/concepts-clients#reader-interface">reader</a>, les clients Pulsar peuvent se positionner manuellement dans un topic, en lisant tous les messages à partir d'un message spécifié. The Pulsar API for Java enables you to create <a href="https://pulsar.incubator.apache.org/api/client/2.8.0-SNAPSHOT/org/apache/pulsar/client/api/Reader">Reader</a>
@@ -573,7 +573,7 @@ PulsarClient client = PulsarClient.builder()
 <h4><a class="anchor" aria-hidden="true" id="formats-de-modèle-supportés"></a><a href="#formats-de-modèle-supportés" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 1 [...]
 <p>Le paramètre <code>privateKey</code> supporte les trois formats de schéma suivants : * <code>fichier:///chemin/vers/fichier</code>* * <code>fichier:/chemin/vers/fichier</code>* * <code>data:application/x-pem-file;base64,&lt;base64-encoded value&gt;</code></p>
 </blockquote>
-</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/fr/2.4.0/security-extending"><span class="arrow-prev">← </span><span>Extending</span></a><a class="docs-next button" href="/docs/fr/2.4.0/client-libraries-go"><span>Go</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#installation">Installation</a><ul class="toc-headings"><li><a href="#maven">Maven</a></li><li><a href="# [...]
+</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/fr/2.4.0/security-extending"><span class="arrow-prev">← </span><span>Extending</span></a><a class="docs-next button" href="/docs/fr/2.4.0/client-libraries-go"><span>Go</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#installation">Installation</a><ul class="toc-headings"><li><a href="#maven">Maven</a></li><li><a href="# [...]
       const community = document.querySelector("a[href='#community']").parentNode;
       const communityMenu =
         '<li>' +
diff --git a/content/docs/fr/2.4.0/concepts-messaging.html b/content/docs/fr/2.4.0/concepts-messaging.html
index 5d1e86b..589b3c9 100644
--- a/content/docs/fr/2.4.0/concepts-messaging.html
+++ b/content/docs/fr/2.4.0/concepts-messaging.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>Messaging Concepts · Apache Pulsar</title><meta name="viewport" content="width=device-width, initial-scale=1.0"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar is built on the [publish-subscribe](https://en.wikipedia.org/wiki/Publish%E2%80%93subscribe_pattern) pattern, aka pub-sub. In this pattern, [producers](#producers) publish  [...]
+<!DOCTYPE html><html lang="fr"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Messaging Concepts · Apache Pulsar</title><meta name="viewport" content="width=device-width, initial-scale=1.0"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar is built on the [publish-subscribe](https://en.wikipedia.org/wiki/Publish%E2%80%93subscribe_pattern) pattern, aka pub-sub. In this pattern, [producers](#producers) publish  [...]
               (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,7 +74,7 @@
                 };
               }
             });
-        </script></nav></div><div class="container mainContainer docsContainer"><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 id="__docusaurus" class="postHeaderTitle">Messaging Concepts</h1></header><article><div><span><p>Pulsar is built on the <a href="https://en.wikipedia.org/wiki/Publish%E2%80%93subscribe_pattern">publish- [...]
+        </script></nav></div><div class="container mainContainer docsContainer"><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 id="__docusaurus" class="postHeaderTitle">Messaging Concepts</h1></header><article><div><span><p>Pulsar is built on the <a href="https://en.wikipedia.org/wiki/Publish%E2%80%93subscribe_pattern">publish- [...]
 <p>Once a subscription has been created, all messages will be <a href="/docs/fr/2.4.0/concepts-architecture-overview#persistent-storage">retained</a> by Pulsar, even if the consumer gets disconnected. Retained messages will be discarded only when a consumer acknowledges that they've been successfully processed.</p>
 <h2><a class="anchor" aria-hidden="true" id="messages"></a><a href="#messages" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
 <p>Messages are the basic &quot;unit&quot; of Pulsar. They're what producers publish to topics and what consumers then consume from topics (and acknowledge when the message has been processed). Messages are the analogue of letters in a postal service system.</p>
@@ -138,14 +138,14 @@
 <p>When a consumer has consumed a message successfully, the consumer sends an acknowledgement request to the broker, so that the broker will discard the message. Otherwise, it <a href="/docs/fr/2.4.0/concepts-architecture-overview#persistent-storage">stores</a> the message.</p>
 <p>Messages can be acknowledged either one by one or cumulatively. With cumulative acknowledgement, the consumer only needs to acknowledge the last message it received. All messages in the stream up to (and including) the provided message will not be re-delivered to that consumer.</p>
 <blockquote>
-<p>Cumulative acknowledgement cannot be used with <a href="#subscription-modes">shared subscription mode</a>, because shared mode involves multiple consumers having access to the same subscription.</p>
+<p>Cumulative acknowledgement cannot be used with <a href="#subscription-types">shared subscription type</a>, because shared mode involves multiple consumers having access to the same subscription.</p>
 </blockquote>
-<p>In the shared subscription mode, messages can be acknowledged individually.</p>
+<p>In Shared subscription type, messages can be acknowledged individually.</p>
 <h3><a class="anchor" aria-hidden="true" id="negative-acknowledgement"></a><a href="#negative-acknowledgement" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>When a consumer does not consume a message successfully at a time, and wants to consume the message again, the consumer can send a negative acknowledgement to the broker, and then the broker will redeliver the message.</p>
-<p>Messages can be negatively acknowledged one by one or cumulatively, which depends on the consumption subscription mode.</p>
-<p>In the exclusive and failover subscription modes, consumers only negatively acknowledge the last message they have received.</p>
-<p>In the shared and Key_Shared subscription modes, you can negatively acknowledge messages individually.</p>
+<p>Messages can be negatively acknowledged either individually or cumulatively, depending on the consumption subscription type.</p>
+<p>In the exclusive and failover subscription types, consumers only negatively acknowledge the last message they have received.</p>
+<p>In the shared and Key_Shared subscription types, you can negatively acknowledge messages individually.</p>
 <h3><a class="anchor" aria-hidden="true" id="acknowledgement-timeout"></a><a href="#acknowledgement-timeout" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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 a message is not consumed successfully, and you want to trigger the broker to redeliver the message automatically, you can adopt the unacknowledged message automatic re-delivery mechanism. Client will track the unacknowledged messages within the entire <code>acktimeout</code> time range, and send a <code>redeliver unacknowledged messages</code> request to the broker automatically when the acknowledgement timeout is specified.</p>
 <blockquote>
@@ -167,8 +167,8 @@ Use negative acknowledgement prior to acknowledgement timeout. Negative acknowle
 </code></pre>
 <p>Dead letter topic depends on message re-delivery. You need to confirm message re-delivery method: negative acknowledgement or acknowledgement timeout. Use negative acknowledgement prior to acknowledgement timeout.</p>
 <blockquote>
-<p>Note<br>
-Currently, dead letter topic is enabled only in the shared subscription mode.</p>
+<p><strong>Note</strong>  <br>
+Currently, dead letter topic is enabled only in Shared subscription type.</p>
 </blockquote>
 <h2><a class="anchor" aria-hidden="true" id="topics"></a><a href="#topics" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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. [...]
 <p>As in other pub-sub systems, topics in Pulsar are named channels for transmitting messages from <a href="/docs/fr/2.4.0/reference-terminology#producer">producers</a> to <a href="/docs/fr/2.4.0/reference-terminology#consumer">consumers</a>. Topic names are URLs that have a well-defined structure:</p>
@@ -191,18 +191,18 @@ Currently, dead letter topic is enabled only in the shared subscription mode.</p
 </blockquote>
 <h2><a class="anchor" aria-hidden="true" id="espaces-de-nommage"></a><a href="#espaces-de-nommage" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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- [...]
 <p>A namespace is a logical nomenclature within a tenant. A tenant can create multiple namespaces via the <a href="/docs/fr/2.4.0/admin-api-namespaces#create">admin API</a>. For instance, a tenant with different applications can create a separate namespace for each application. A namespace allows the application to create and manage a hierarchy of topics. The topic <code>my-tenant/app1</code> is a namespace for the application <code>app1</code> for <code>my-tenant</code>. You can create  [...]
-<h2><a class="anchor" aria-hidden="true" id="subscription-modes"></a><a href="#subscription-modes" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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- [...]
-<p>A subscription is a named configuration rule that determines how messages are delivered to consumers. There are three available subscription modes in Pulsar: <a href="#exclusive">exclusive</a>, <a href="#shared">shared</a>, and <a href="#failover">failover</a>. These modes are illustrated in the figure below.</p>
-<p><img src="/docs/assets/pulsar-subscription-modes.png" alt="Subscription modes"></p>
+<h2><a class="anchor" aria-hidden="true" id="subscription-types"></a><a href="#subscription-types" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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- [...]
+<p>A subscription is a named configuration rule that determines how messages are delivered to consumers. There are three available subscription types in Pulsar: <a href="#exclusive">exclusive</a>, <a href="#shared">shared</a>, and <a href="#failover">failover</a>. These types are illustrated in the figure below.</p>
+<p><img src="/docs/assets/pulsar-subscription-types.png" alt="Subscription types"></p>
 <h3><a class="anchor" aria-hidden="true" id="exclusive"></a><a href="#exclusive" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>In <em>exclusive</em> mode, only a single consumer is allowed to attach to the subscription. If more than one consumer attempts to subscribe to a topic using the same subscription, the consumer receives an error.</p>
+<p>In <em>exclusive</em> type, only a single consumer is allowed to attach to the subscription. If more than one consumer attempts to subscribe to a topic using the same subscription, the consumer receives an error.</p>
 <p>In the diagram above, only <strong>Consumer A-0</strong> is allowed to consume messages.</p>
 <blockquote>
-<p>Exclusive mode is the default subscription mode.</p>
+<p>Exclusive is the default subscription type.</p>
 </blockquote>
 <p><img src="/docs/assets/pulsar-exclusive-subscriptions.png" alt="Exclusive subscriptions"></p>
 <h3><a class="anchor" aria-hidden="true" id="failover"></a><a href="#failover" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
-<p>In <em>failover</em> mode, multiple consumers can attach to the same subscription. In failover mode, the broker selects the master consumer based on the priority level and the lexicographical sorting of a consumer name. If two consumers have an identical priority level, the broker selects the master consumer based on the lexicographical sorting. If these two consumers have different priority levels, the broker selects the consumer with a higher priority level as the master consumer. T [...]
+<p>In <em>Failover</em> type, multiple consumers can attach to the same subscription. In failover mode, the broker selects the master consumer based on the priority level and the lexicographical sorting of a consumer name. If two consumers have an identical priority level, the broker selects the master consumer based on the lexicographical sorting. If these two consumers have different priority levels, the broker selects the consumer with a higher priority level as the master consumer. T [...]
 <p>For partitioned topics, the broker assigns partitioned topics to the consumer with the highest priority level. If multiple consumers have the highest priority level, the broker evenly assigns topics to consumers with these consumers.</p>
 <p>In the diagram below, Consumer-C-1 is the master consumer while Consumer-C-2 would be the next consumer in line to receive messages if Consumer-C-1 is disconnected.</p>
 <p><img src="/docs/assets/pulsar-failover-subscriptions.png" alt="Failover subscriptions"></p>
@@ -268,9 +268,9 @@ Consumer&lt;<span class="hljs-keyword">byte</span>[]&gt; someTopicsConsumer = pu
 <p>The diagram below illustrates this:</p>
 <p><img src="/docs/assets/partitioning.png" alt=""></p>
 <p>Here, the topic <strong>Topic1</strong> has five partitions (<strong>P0</strong> through <strong>P4</strong>) split across three brokers. Because there are more partitions than brokers, two brokers handle two partitions a piece, while the third handles only one (again, Pulsar handles this distribution of partitions automatically).</p>
-<p>Messages for this topic are broadcast to two consumers. The <a href="#routing-modes">routing mode</a> determines both which broker handles each partition, while the <a href="#subscription-modes">subscription mode</a> determines which messages go to which consumers.</p>
-<p>Decisions about routing and subscription modes can be made separately in most cases. In general, throughput concerns should guide partitioning/routing decisions while subscription decisions should be guided by application semantics.</p>
-<p>There is no difference between partitioned topics and normal topics in terms of how subscription modes work, as partitioning only determines what happens between when a message is published by a producer and processed and acknowledged by a consumer.</p>
+<p>Messages for this topic are broadcast to two consumers. The <a href="#routing-modes">routing mode</a> determines both which broker handles each partition, while the <a href="#subscription-types">subscription type</a> determines which messages go to which consumers.</p>
+<p>Decisions about routing and subscription types can be made separately in most cases. In general, throughput concerns should guide partitioning/routing decisions while subscription decisions should be guided by application semantics.</p>
+<p>There is no difference between partitioned topics and normal topics in terms of how subscription types work, as partitioning only determines what happens between when a message is published by a producer and processed and acknowledged by a consumer.</p>
 <p>Partitioned topics need to be explicitly created via the <a href="/docs/fr/2.4.0/admin-api-overview">admin API</a>. The number of partitions can be specified when creating the topic.</p>
 <h3><a class="anchor" aria-hidden="true" id="routing-modes"></a><a href="#routing-modes" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>When publishing to partitioned topics, you must specify a <em>routing mode</em>. The routing mode determines which partition---that is, which internal topic---each message should be published to.</p>
@@ -322,7 +322,7 @@ Consumer&lt;<span class="hljs-keyword">byte</span>[]&gt; someTopicsConsumer = pu
 <h3><a class="anchor" aria-hidden="true" id="performance"></a><a href="#performance" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>Non-persistent messaging is usually faster than persistent messaging because brokers don't persist messages and immediately send acks back to the producer as soon as that message is deliver to all connected subscribers. Producers thus see comparatively low publish latency with non-persistent topic.</p>
 <h3><a class="anchor" aria-hidden="true" id="client-api"></a><a href="#client-api" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>Producers and consumers can connect to non-persistent topics in the same way as persistent topics, with the crucial difference that the topic name must start with <code>non-persistent</code>. All three subscription modes---<a href="#exclusive">exclusive</a>, <a href="#shared">shared</a>, and <a href="#failover">failover</a>---are supported for non-persistent topics.</p>
+<p>Producers and consumers can connect to non-persistent topics in the same way as persistent topics, with the crucial difference that the topic name must start with <code>non-persistent</code>. All three subscription types---<a href="#exclusive">exclusive</a>, <a href="#shared">shared</a>, and <a href="#failover">failover</a>---are supported for non-persistent topics.</p>
 <p>Here's an example <a href="/docs/fr/2.4.0/client-libraries-java#consumers">Java consumer</a> for a non-persistent topic:</p>
 <pre><code class="hljs css language-java">PulsarClient client = PulsarClient.builder()
         .serviceUrl(<span class="hljs-string">"pulsar://localhost:6650"</span>)
@@ -374,7 +374,7 @@ Consumer&lt;<span class="hljs-keyword">byte</span>[]&gt; consumer = client.newCo
 <blockquote>
 <p>More in-depth information can be found in <a href="https://streaml.io/blog/pulsar-effectively-once/">this post</a> on the <a href="https://streaml.io/blog">Streamlio blog</a></p>
 </blockquote>
-</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/fr/2.4.0/concepts-overview"><span class="arrow-prev">← </span><span>Overview</span></a><a class="docs-next button" href="/docs/fr/2.4.0/concepts-architecture-overview"><span>Architecture</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#messages">Messages</a></li><li><a href="#producers">Producers</a><ul class="toc-headi [...]
+</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/fr/2.4.0/concepts-overview"><span class="arrow-prev">← </span><span>Overview</span></a><a class="docs-next button" href="/docs/fr/2.4.0/concepts-architecture-overview"><span>Architecture</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#messages">Messages</a></li><li><a href="#producers">Producers</a><ul class="toc-headi [...]
       const community = document.querySelector("a[href='#community']").parentNode;
       const communityMenu =
         '<li>' +
diff --git a/content/docs/fr/2.4.0/concepts-messaging/index.html b/content/docs/fr/2.4.0/concepts-messaging/index.html
index 5d1e86b..589b3c9 100644
--- a/content/docs/fr/2.4.0/concepts-messaging/index.html
+++ b/content/docs/fr/2.4.0/concepts-messaging/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>Messaging Concepts · Apache Pulsar</title><meta name="viewport" content="width=device-width, initial-scale=1.0"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar is built on the [publish-subscribe](https://en.wikipedia.org/wiki/Publish%E2%80%93subscribe_pattern) pattern, aka pub-sub. In this pattern, [producers](#producers) publish  [...]
+<!DOCTYPE html><html lang="fr"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Messaging Concepts · Apache Pulsar</title><meta name="viewport" content="width=device-width, initial-scale=1.0"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar is built on the [publish-subscribe](https://en.wikipedia.org/wiki/Publish%E2%80%93subscribe_pattern) pattern, aka pub-sub. In this pattern, [producers](#producers) publish  [...]
               (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,7 +74,7 @@
                 };
               }
             });
-        </script></nav></div><div class="container mainContainer docsContainer"><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 id="__docusaurus" class="postHeaderTitle">Messaging Concepts</h1></header><article><div><span><p>Pulsar is built on the <a href="https://en.wikipedia.org/wiki/Publish%E2%80%93subscribe_pattern">publish- [...]
+        </script></nav></div><div class="container mainContainer docsContainer"><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 id="__docusaurus" class="postHeaderTitle">Messaging Concepts</h1></header><article><div><span><p>Pulsar is built on the <a href="https://en.wikipedia.org/wiki/Publish%E2%80%93subscribe_pattern">publish- [...]
 <p>Once a subscription has been created, all messages will be <a href="/docs/fr/2.4.0/concepts-architecture-overview#persistent-storage">retained</a> by Pulsar, even if the consumer gets disconnected. Retained messages will be discarded only when a consumer acknowledges that they've been successfully processed.</p>
 <h2><a class="anchor" aria-hidden="true" id="messages"></a><a href="#messages" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
 <p>Messages are the basic &quot;unit&quot; of Pulsar. They're what producers publish to topics and what consumers then consume from topics (and acknowledge when the message has been processed). Messages are the analogue of letters in a postal service system.</p>
@@ -138,14 +138,14 @@
 <p>When a consumer has consumed a message successfully, the consumer sends an acknowledgement request to the broker, so that the broker will discard the message. Otherwise, it <a href="/docs/fr/2.4.0/concepts-architecture-overview#persistent-storage">stores</a> the message.</p>
 <p>Messages can be acknowledged either one by one or cumulatively. With cumulative acknowledgement, the consumer only needs to acknowledge the last message it received. All messages in the stream up to (and including) the provided message will not be re-delivered to that consumer.</p>
 <blockquote>
-<p>Cumulative acknowledgement cannot be used with <a href="#subscription-modes">shared subscription mode</a>, because shared mode involves multiple consumers having access to the same subscription.</p>
+<p>Cumulative acknowledgement cannot be used with <a href="#subscription-types">shared subscription type</a>, because shared mode involves multiple consumers having access to the same subscription.</p>
 </blockquote>
-<p>In the shared subscription mode, messages can be acknowledged individually.</p>
+<p>In Shared subscription type, messages can be acknowledged individually.</p>
 <h3><a class="anchor" aria-hidden="true" id="negative-acknowledgement"></a><a href="#negative-acknowledgement" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>When a consumer does not consume a message successfully at a time, and wants to consume the message again, the consumer can send a negative acknowledgement to the broker, and then the broker will redeliver the message.</p>
-<p>Messages can be negatively acknowledged one by one or cumulatively, which depends on the consumption subscription mode.</p>
-<p>In the exclusive and failover subscription modes, consumers only negatively acknowledge the last message they have received.</p>
-<p>In the shared and Key_Shared subscription modes, you can negatively acknowledge messages individually.</p>
+<p>Messages can be negatively acknowledged either individually or cumulatively, depending on the consumption subscription type.</p>
+<p>In the exclusive and failover subscription types, consumers only negatively acknowledge the last message they have received.</p>
+<p>In the shared and Key_Shared subscription types, you can negatively acknowledge messages individually.</p>
 <h3><a class="anchor" aria-hidden="true" id="acknowledgement-timeout"></a><a href="#acknowledgement-timeout" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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 a message is not consumed successfully, and you want to trigger the broker to redeliver the message automatically, you can adopt the unacknowledged message automatic re-delivery mechanism. Client will track the unacknowledged messages within the entire <code>acktimeout</code> time range, and send a <code>redeliver unacknowledged messages</code> request to the broker automatically when the acknowledgement timeout is specified.</p>
 <blockquote>
@@ -167,8 +167,8 @@ Use negative acknowledgement prior to acknowledgement timeout. Negative acknowle
 </code></pre>
 <p>Dead letter topic depends on message re-delivery. You need to confirm message re-delivery method: negative acknowledgement or acknowledgement timeout. Use negative acknowledgement prior to acknowledgement timeout.</p>
 <blockquote>
-<p>Note<br>
-Currently, dead letter topic is enabled only in the shared subscription mode.</p>
+<p><strong>Note</strong>  <br>
+Currently, dead letter topic is enabled only in Shared subscription type.</p>
 </blockquote>
 <h2><a class="anchor" aria-hidden="true" id="topics"></a><a href="#topics" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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. [...]
 <p>As in other pub-sub systems, topics in Pulsar are named channels for transmitting messages from <a href="/docs/fr/2.4.0/reference-terminology#producer">producers</a> to <a href="/docs/fr/2.4.0/reference-terminology#consumer">consumers</a>. Topic names are URLs that have a well-defined structure:</p>
@@ -191,18 +191,18 @@ Currently, dead letter topic is enabled only in the shared subscription mode.</p
 </blockquote>
 <h2><a class="anchor" aria-hidden="true" id="espaces-de-nommage"></a><a href="#espaces-de-nommage" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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- [...]
 <p>A namespace is a logical nomenclature within a tenant. A tenant can create multiple namespaces via the <a href="/docs/fr/2.4.0/admin-api-namespaces#create">admin API</a>. For instance, a tenant with different applications can create a separate namespace for each application. A namespace allows the application to create and manage a hierarchy of topics. The topic <code>my-tenant/app1</code> is a namespace for the application <code>app1</code> for <code>my-tenant</code>. You can create  [...]
-<h2><a class="anchor" aria-hidden="true" id="subscription-modes"></a><a href="#subscription-modes" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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- [...]
-<p>A subscription is a named configuration rule that determines how messages are delivered to consumers. There are three available subscription modes in Pulsar: <a href="#exclusive">exclusive</a>, <a href="#shared">shared</a>, and <a href="#failover">failover</a>. These modes are illustrated in the figure below.</p>
-<p><img src="/docs/assets/pulsar-subscription-modes.png" alt="Subscription modes"></p>
+<h2><a class="anchor" aria-hidden="true" id="subscription-types"></a><a href="#subscription-types" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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- [...]
+<p>A subscription is a named configuration rule that determines how messages are delivered to consumers. There are three available subscription types in Pulsar: <a href="#exclusive">exclusive</a>, <a href="#shared">shared</a>, and <a href="#failover">failover</a>. These types are illustrated in the figure below.</p>
+<p><img src="/docs/assets/pulsar-subscription-types.png" alt="Subscription types"></p>
 <h3><a class="anchor" aria-hidden="true" id="exclusive"></a><a href="#exclusive" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>In <em>exclusive</em> mode, only a single consumer is allowed to attach to the subscription. If more than one consumer attempts to subscribe to a topic using the same subscription, the consumer receives an error.</p>
+<p>In <em>exclusive</em> type, only a single consumer is allowed to attach to the subscription. If more than one consumer attempts to subscribe to a topic using the same subscription, the consumer receives an error.</p>
 <p>In the diagram above, only <strong>Consumer A-0</strong> is allowed to consume messages.</p>
 <blockquote>
-<p>Exclusive mode is the default subscription mode.</p>
+<p>Exclusive is the default subscription type.</p>
 </blockquote>
 <p><img src="/docs/assets/pulsar-exclusive-subscriptions.png" alt="Exclusive subscriptions"></p>
 <h3><a class="anchor" aria-hidden="true" id="failover"></a><a href="#failover" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
-<p>In <em>failover</em> mode, multiple consumers can attach to the same subscription. In failover mode, the broker selects the master consumer based on the priority level and the lexicographical sorting of a consumer name. If two consumers have an identical priority level, the broker selects the master consumer based on the lexicographical sorting. If these two consumers have different priority levels, the broker selects the consumer with a higher priority level as the master consumer. T [...]
+<p>In <em>Failover</em> type, multiple consumers can attach to the same subscription. In failover mode, the broker selects the master consumer based on the priority level and the lexicographical sorting of a consumer name. If two consumers have an identical priority level, the broker selects the master consumer based on the lexicographical sorting. If these two consumers have different priority levels, the broker selects the consumer with a higher priority level as the master consumer. T [...]
 <p>For partitioned topics, the broker assigns partitioned topics to the consumer with the highest priority level. If multiple consumers have the highest priority level, the broker evenly assigns topics to consumers with these consumers.</p>
 <p>In the diagram below, Consumer-C-1 is the master consumer while Consumer-C-2 would be the next consumer in line to receive messages if Consumer-C-1 is disconnected.</p>
 <p><img src="/docs/assets/pulsar-failover-subscriptions.png" alt="Failover subscriptions"></p>
@@ -268,9 +268,9 @@ Consumer&lt;<span class="hljs-keyword">byte</span>[]&gt; someTopicsConsumer = pu
 <p>The diagram below illustrates this:</p>
 <p><img src="/docs/assets/partitioning.png" alt=""></p>
 <p>Here, the topic <strong>Topic1</strong> has five partitions (<strong>P0</strong> through <strong>P4</strong>) split across three brokers. Because there are more partitions than brokers, two brokers handle two partitions a piece, while the third handles only one (again, Pulsar handles this distribution of partitions automatically).</p>
-<p>Messages for this topic are broadcast to two consumers. The <a href="#routing-modes">routing mode</a> determines both which broker handles each partition, while the <a href="#subscription-modes">subscription mode</a> determines which messages go to which consumers.</p>
-<p>Decisions about routing and subscription modes can be made separately in most cases. In general, throughput concerns should guide partitioning/routing decisions while subscription decisions should be guided by application semantics.</p>
-<p>There is no difference between partitioned topics and normal topics in terms of how subscription modes work, as partitioning only determines what happens between when a message is published by a producer and processed and acknowledged by a consumer.</p>
+<p>Messages for this topic are broadcast to two consumers. The <a href="#routing-modes">routing mode</a> determines both which broker handles each partition, while the <a href="#subscription-types">subscription type</a> determines which messages go to which consumers.</p>
+<p>Decisions about routing and subscription types can be made separately in most cases. In general, throughput concerns should guide partitioning/routing decisions while subscription decisions should be guided by application semantics.</p>
+<p>There is no difference between partitioned topics and normal topics in terms of how subscription types work, as partitioning only determines what happens between when a message is published by a producer and processed and acknowledged by a consumer.</p>
 <p>Partitioned topics need to be explicitly created via the <a href="/docs/fr/2.4.0/admin-api-overview">admin API</a>. The number of partitions can be specified when creating the topic.</p>
 <h3><a class="anchor" aria-hidden="true" id="routing-modes"></a><a href="#routing-modes" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>When publishing to partitioned topics, you must specify a <em>routing mode</em>. The routing mode determines which partition---that is, which internal topic---each message should be published to.</p>
@@ -322,7 +322,7 @@ Consumer&lt;<span class="hljs-keyword">byte</span>[]&gt; someTopicsConsumer = pu
 <h3><a class="anchor" aria-hidden="true" id="performance"></a><a href="#performance" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>Non-persistent messaging is usually faster than persistent messaging because brokers don't persist messages and immediately send acks back to the producer as soon as that message is deliver to all connected subscribers. Producers thus see comparatively low publish latency with non-persistent topic.</p>
 <h3><a class="anchor" aria-hidden="true" id="client-api"></a><a href="#client-api" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>Producers and consumers can connect to non-persistent topics in the same way as persistent topics, with the crucial difference that the topic name must start with <code>non-persistent</code>. All three subscription modes---<a href="#exclusive">exclusive</a>, <a href="#shared">shared</a>, and <a href="#failover">failover</a>---are supported for non-persistent topics.</p>
+<p>Producers and consumers can connect to non-persistent topics in the same way as persistent topics, with the crucial difference that the topic name must start with <code>non-persistent</code>. All three subscription types---<a href="#exclusive">exclusive</a>, <a href="#shared">shared</a>, and <a href="#failover">failover</a>---are supported for non-persistent topics.</p>
 <p>Here's an example <a href="/docs/fr/2.4.0/client-libraries-java#consumers">Java consumer</a> for a non-persistent topic:</p>
 <pre><code class="hljs css language-java">PulsarClient client = PulsarClient.builder()
         .serviceUrl(<span class="hljs-string">"pulsar://localhost:6650"</span>)
@@ -374,7 +374,7 @@ Consumer&lt;<span class="hljs-keyword">byte</span>[]&gt; consumer = client.newCo
 <blockquote>
 <p>More in-depth information can be found in <a href="https://streaml.io/blog/pulsar-effectively-once/">this post</a> on the <a href="https://streaml.io/blog">Streamlio blog</a></p>
 </blockquote>
-</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/fr/2.4.0/concepts-overview"><span class="arrow-prev">← </span><span>Overview</span></a><a class="docs-next button" href="/docs/fr/2.4.0/concepts-architecture-overview"><span>Architecture</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#messages">Messages</a></li><li><a href="#producers">Producers</a><ul class="toc-headi [...]
+</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/fr/2.4.0/concepts-overview"><span class="arrow-prev">← </span><span>Overview</span></a><a class="docs-next button" href="/docs/fr/2.4.0/concepts-architecture-overview"><span>Architecture</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#messages">Messages</a></li><li><a href="#producers">Producers</a><ul class="toc-headi [...]
       const community = document.querySelector("a[href='#community']").parentNode;
       const communityMenu =
         '<li>' +
diff --git a/content/docs/fr/2.4.0/concepts-overview.html b/content/docs/fr/2.4.0/concepts-overview.html
index 092a906..4b3845d 100644
--- a/content/docs/fr/2.4.0/concepts-overview.html
+++ b/content/docs/fr/2.4.0/concepts-overview.html
@@ -81,7 +81,7 @@
 <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/fr/2.4.0/concepts-clients">client API</a> with bindings for <a href="/docs/fr/2.4.0/client-libraries-java">Java</a>, <a href="/docs/fr/2.4.0/client-libraries-go">Go</a>, <a href="/docs/fr/2.4.0/client-libraries-python">Python</a> and <a href="/docs/fr/2.4.0/client-libraries-cpp">C++</a>.</li>
-<li>Multiple <a href="/docs/fr/2.4.0/concepts-messaging#subscription-modes">subscription modes</a> (<a href="/docs/fr/2.4.0/concepts-messaging#exclusive">exclusive</a>, <a href="/docs/fr/2.4.0/concepts-messaging#shared">shared</a>, and <a href="/docs/fr/2.4.0/concepts-messaging#failover">failover</a>) for topics.</li>
+<li>Multiple <a href="/docs/fr/2.4.0/concepts-messaging#subscription-types">subscription types</a> (<a href="/docs/fr/2.4.0/concepts-messaging#exclusive">exclusive</a>, <a href="/docs/fr/2.4.0/concepts-messaging#shared">shared</a>, and <a href="/docs/fr/2.4.0/concepts-messaging#failover">failover</a>) for topics.</li>
 <li>Guaranteed message delivery with <a href="/docs/fr/2.4.0/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/fr/2.4.0/functions-overview">Pulsar Functions</a> offers the capability for stream-native data processing.</li>
 <li>A serverless connector framework <a href="/docs/fr/2.4.0/io-overview">Pulsar IO</a>, which is built on Pulsar Functions, makes it easier to move data in and out Apache Pulsar.</li>
diff --git a/content/docs/fr/2.4.0/concepts-overview/index.html b/content/docs/fr/2.4.0/concepts-overview/index.html
index 092a906..4b3845d 100644
--- a/content/docs/fr/2.4.0/concepts-overview/index.html
+++ b/content/docs/fr/2.4.0/concepts-overview/index.html
@@ -81,7 +81,7 @@
 <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/fr/2.4.0/concepts-clients">client API</a> with bindings for <a href="/docs/fr/2.4.0/client-libraries-java">Java</a>, <a href="/docs/fr/2.4.0/client-libraries-go">Go</a>, <a href="/docs/fr/2.4.0/client-libraries-python">Python</a> and <a href="/docs/fr/2.4.0/client-libraries-cpp">C++</a>.</li>
-<li>Multiple <a href="/docs/fr/2.4.0/concepts-messaging#subscription-modes">subscription modes</a> (<a href="/docs/fr/2.4.0/concepts-messaging#exclusive">exclusive</a>, <a href="/docs/fr/2.4.0/concepts-messaging#shared">shared</a>, and <a href="/docs/fr/2.4.0/concepts-messaging#failover">failover</a>) for topics.</li>
+<li>Multiple <a href="/docs/fr/2.4.0/concepts-messaging#subscription-types">subscription types</a> (<a href="/docs/fr/2.4.0/concepts-messaging#exclusive">exclusive</a>, <a href="/docs/fr/2.4.0/concepts-messaging#shared">shared</a>, and <a href="/docs/fr/2.4.0/concepts-messaging#failover">failover</a>) for topics.</li>
 <li>Guaranteed message delivery with <a href="/docs/fr/2.4.0/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/fr/2.4.0/functions-overview">Pulsar Functions</a> offers the capability for stream-native data processing.</li>
 <li>A serverless connector framework <a href="/docs/fr/2.4.0/io-overview">Pulsar IO</a>, which is built on Pulsar Functions, makes it easier to move data in and out Apache Pulsar.</li>
diff --git a/content/docs/fr/2.4.1/client-libraries-java.html b/content/docs/fr/2.4.1/client-libraries-java.html
index 3e688f6..d91e7ee 100644
--- a/content/docs/fr/2.4.1/client-libraries-java.html
+++ b/content/docs/fr/2.4.1/client-libraries-java.html
@@ -327,10 +327,10 @@ consumerBuilder
             });
 }
 </code></pre>
-<h3><a class="anchor" aria-hidden="true" id="subscription-modes"></a><a href="#subscription-modes" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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- [...]
-<p>Pulsar has various <a href="concepts-messaging#subscription-modes">subscription modes</a> to match different scenarios. A topic can have multiple subscriptions with different subscription modes. However, a subscription can only have one subscription mode at a time.</p>
-<p>A subscription is identified with the subscription name, and a subscription name can specify only one subscription mode at a time. You can change the subscription mode, yet you have to let all existing consumers of this subscription offline first.</p>
-<p>Different subscription modes have different message distribution modes. This section describes the differences of subscription modes and how to use them.</p>
+<h3><a class="anchor" aria-hidden="true" id="subscription-types"></a><a href="#subscription-types" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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- [...]
+<p>Pulsar has various <a href="concepts-messaging#subscription-types">subscription types</a> to match different scenarios. A topic can have multiple subscriptions with different subscription types. However, a subscription can only have one subscription type at a time.</p>
+<p>A subscription is identified with the subscription name; a subscription name can specify only one subscription type at a time. To change the subscription type, you should first stop all consumers of this subscription.</p>
+<p>Different subscription types have different message distribution modes. This section describes the differences of subscription types and how to use them.</p>
 <p>In order to better describe their differences, assuming you have a topic named &quot;my-topic&quot;, and the producer has published 10 messages.</p>
 <pre><code class="hljs css language-java">Producer&lt;String&gt; producer = client.newProducer(Schema.STRING)
         .topic(<span class="hljs-string">"my-topic"</span>)
@@ -349,7 +349,7 @@ producer.newMessage().key(<span class="hljs-string">"key-4"</span>).value(<span
 producer.newMessage().key(<span class="hljs-string">"key-4"</span>).value(<span class="hljs-string">"message-4-2"</span>).send();
 </code></pre>
 <h4><a class="anchor" aria-hidden="true" id="exclusive"></a><a href="#exclusive" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>Create a new consumer and subscribe with the <code>Exclusive</code> subscription mode.</p>
+<p>Create a new consumer and subscribe with the <code>Exclusive</code> subscription type.</p>
 <pre><code class="hljs css language-java">Consumer consumer = client.newConsumer()
         .topic(<span class="hljs-string">"my-topic"</span>)
         .subscriptionName(<span class="hljs-string">"my-subscription"</span>)
@@ -358,11 +358,11 @@ producer.newMessage().key(<span class="hljs-string">"key-4"</span>).value(<span
 </code></pre>
 <p>Only the first consumer is allowed to the subscription, other consumers receive an error. The first consumer receives all 10 messages, and the consuming order is the same as the producing order.</p>
 <blockquote>
-<p>Note:</p>
-<p>If topic is a partitioned topic, the first consumer subscribes to all partitioned topics, other consumers are not assigned with partitions and receive an error.</p>
+<p><strong>Note</strong>  <br>
+If topic is a partitioned topic, the first consumer subscribes to all partitioned topics, other consumers are not assigned with partitions and receive an error.</p>
 </blockquote>
 <h4><a class="anchor" aria-hidden="true" id="failover"></a><a href="#failover" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
-<p>Create new consumers and subscribe with the<code>Failover</code> subscription mode.</p>
+<p>Create new consumers and subscribe with the<code>Failover</code> subscription type.</p>
 <pre><code class="hljs css language-java">Consumer consumer1 = client.newConsumer()
         .topic(<span class="hljs-string">"my-topic"</span>)
         .subscriptionName(<span class="hljs-string">"my-subscription"</span>)
@@ -394,11 +394,11 @@ Consumer consumer2 = client.newConsumer()
 (&quot;key-4&quot;, &quot;message-4-2&quot;)
 </code></pre>
 <blockquote>
-<p>Note:</p>
-<p>If a topic is a partitioned topic, each partition only has one active consumer, messages of one partition only distributed to one consumer, messages of multiple partitions are distributed to multiple consumers.</p>
+<p><strong>Note</strong>  <br>
+If a topic is a partitioned topic, each partition only has one active consumer, messages of one partition only distributed to one consumer, messages of multiple partitions are distributed to multiple consumers.</p>
 </blockquote>
 <h4><a class="anchor" aria-hidden="true" id="shared"></a><a href="#shared" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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. [...]
-<p>Create new consumers and subscribe with <code>Shared</code> subscription mode:</p>
+<p>Create new consumers and subscribe with <code>Shared</code> subscription type.</p>
 <pre><code class="hljs css language-java">Consumer consumer1 = client.newConsumer()
         .topic(<span class="hljs-string">"my-topic"</span>)
         .subscriptionName(<span class="hljs-string">"my-subscription"</span>)
@@ -412,7 +412,7 @@ Consumer consumer2 = client.newConsumer()
         .subscribe()
 <span class="hljs-comment">//Both consumer1 and consumer 2 is active consumers.</span>
 </code></pre>
-<p>In shared subscription mode, multiple consumers can attach to the same subscription and message are delivered in a round robin distribution across consumers.</p>
+<p>In shared subscription type, multiple consumers can attach to the same subscription and message are delivered in a round robin distribution across consumers.</p>
 <p>If a broker dispatches only one message at a time, consumer1 will receive:</p>
 <pre><code class="hljs">(&quot;key-1&quot;, &quot;message-1-1&quot;)
 (&quot;key-1&quot;, &quot;message-1-3&quot;)
@@ -427,9 +427,9 @@ Consumer consumer2 = client.newConsumer()
 (&quot;key-3&quot;, &quot;message-3-2&quot;)
 (&quot;key-4&quot;, &quot;message-4-2&quot;)
 </code></pre>
-<p><code>Shared</code> subscription is different from <code>Exclusive</code> and <code>Failover</code> subscription modes. <code>Shared</code> subscription has better flexibility, but cannot provide order guarantee.</p>
+<p><code>Shared</code> subscription is different from <code>Exclusive</code> and <code>Failover</code> subscription types. <code>Shared</code> subscription has better flexibility, but cannot provide order guarantee.</p>
 <h4><a class="anchor" aria-hidden="true" id="key_shared"></a><a href="#key_shared" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>This is a new subscription mode since 2.4.0 release, create new consumers and subscribe with <code>Key_Shared</code> subscription mode:</p>
+<p>This is a new subscription type since 2.4.0 release, create new consumers and subscribe with <code>Key_Shared</code> subscription type:</p>
 <pre><code class="hljs css language-java">Consumer consumer1 = client.newConsumer()
         .topic(<span class="hljs-string">"my-topic"</span>)
         .subscriptionName(<span class="hljs-string">"my-subscription"</span>)
@@ -459,8 +459,8 @@ Consumer consumer2 = client.newConsumer()
 (&quot;key-4&quot;, &quot;message-4-2&quot;)
 </code></pre>
 <blockquote>
-<p>Note:</p>
-<p>If the message key is not specified, messages without key will be dispatched to one consumer in order by default.</p>
+<p><strong>Note</strong>  <br>
+If the message key is not specified, messages without key will be dispatched to one consumer in order by default.</p>
 </blockquote>
 <h2><a class="anchor" aria-hidden="true" id="reader-interface"></a><a href="#reader-interface" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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. [...]
 <p>Avec l'interface <a href="/docs/fr/2.4.1/concepts-clients#reader-interface">reader</a>, les clients Pulsar peuvent se positionner manuellement dans un topic, en lisant tous les messages à partir d'un message spécifié. The Pulsar API for Java enables you to create <a href="https://pulsar.incubator.apache.org/api/client/2.8.0-SNAPSHOT/org/apache/pulsar/client/api/Reader">Reader</a>
@@ -599,7 +599,7 @@ PulsarClient client = PulsarClient.builder()
 <h4><a class="anchor" aria-hidden="true" id="formats-de-modèle-supportés"></a><a href="#formats-de-modèle-supportés" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 1 [...]
 <p>Le paramètre <code>privateKey</code> supporte les trois formats de schéma suivants : * <code>fichier:///chemin/vers/fichier</code>* * <code>fichier:/chemin/vers/fichier</code>* * <code>data:application/x-pem-file;base64,&lt;base64-encoded value&gt;</code></p>
 </blockquote>
-</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/fr/2.4.1/security-extending"><span class="arrow-prev">← </span><span>Extending</span></a><a class="docs-next button" href="/docs/fr/2.4.1/client-libraries-go"><span>Go</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#installation">Installation</a><ul class="toc-headings"><li><a href="#maven">Maven</a></li><li><a href="# [...]
+</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/fr/2.4.1/security-extending"><span class="arrow-prev">← </span><span>Extending</span></a><a class="docs-next button" href="/docs/fr/2.4.1/client-libraries-go"><span>Go</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#installation">Installation</a><ul class="toc-headings"><li><a href="#maven">Maven</a></li><li><a href="# [...]
       const community = document.querySelector("a[href='#community']").parentNode;
       const communityMenu =
         '<li>' +
diff --git a/content/docs/fr/2.4.1/client-libraries-java/index.html b/content/docs/fr/2.4.1/client-libraries-java/index.html
index 3e688f6..d91e7ee 100644
--- a/content/docs/fr/2.4.1/client-libraries-java/index.html
+++ b/content/docs/fr/2.4.1/client-libraries-java/index.html
@@ -327,10 +327,10 @@ consumerBuilder
             });
 }
 </code></pre>
-<h3><a class="anchor" aria-hidden="true" id="subscription-modes"></a><a href="#subscription-modes" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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- [...]
-<p>Pulsar has various <a href="concepts-messaging#subscription-modes">subscription modes</a> to match different scenarios. A topic can have multiple subscriptions with different subscription modes. However, a subscription can only have one subscription mode at a time.</p>
-<p>A subscription is identified with the subscription name, and a subscription name can specify only one subscription mode at a time. You can change the subscription mode, yet you have to let all existing consumers of this subscription offline first.</p>
-<p>Different subscription modes have different message distribution modes. This section describes the differences of subscription modes and how to use them.</p>
+<h3><a class="anchor" aria-hidden="true" id="subscription-types"></a><a href="#subscription-types" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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- [...]
+<p>Pulsar has various <a href="concepts-messaging#subscription-types">subscription types</a> to match different scenarios. A topic can have multiple subscriptions with different subscription types. However, a subscription can only have one subscription type at a time.</p>
+<p>A subscription is identified with the subscription name; a subscription name can specify only one subscription type at a time. To change the subscription type, you should first stop all consumers of this subscription.</p>
+<p>Different subscription types have different message distribution modes. This section describes the differences of subscription types and how to use them.</p>
 <p>In order to better describe their differences, assuming you have a topic named &quot;my-topic&quot;, and the producer has published 10 messages.</p>
 <pre><code class="hljs css language-java">Producer&lt;String&gt; producer = client.newProducer(Schema.STRING)
         .topic(<span class="hljs-string">"my-topic"</span>)
@@ -349,7 +349,7 @@ producer.newMessage().key(<span class="hljs-string">"key-4"</span>).value(<span
 producer.newMessage().key(<span class="hljs-string">"key-4"</span>).value(<span class="hljs-string">"message-4-2"</span>).send();
 </code></pre>
 <h4><a class="anchor" aria-hidden="true" id="exclusive"></a><a href="#exclusive" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>Create a new consumer and subscribe with the <code>Exclusive</code> subscription mode.</p>
+<p>Create a new consumer and subscribe with the <code>Exclusive</code> subscription type.</p>
 <pre><code class="hljs css language-java">Consumer consumer = client.newConsumer()
         .topic(<span class="hljs-string">"my-topic"</span>)
         .subscriptionName(<span class="hljs-string">"my-subscription"</span>)
@@ -358,11 +358,11 @@ producer.newMessage().key(<span class="hljs-string">"key-4"</span>).value(<span
 </code></pre>
 <p>Only the first consumer is allowed to the subscription, other consumers receive an error. The first consumer receives all 10 messages, and the consuming order is the same as the producing order.</p>
 <blockquote>
-<p>Note:</p>
-<p>If topic is a partitioned topic, the first consumer subscribes to all partitioned topics, other consumers are not assigned with partitions and receive an error.</p>
+<p><strong>Note</strong>  <br>
+If topic is a partitioned topic, the first consumer subscribes to all partitioned topics, other consumers are not assigned with partitions and receive an error.</p>
 </blockquote>
 <h4><a class="anchor" aria-hidden="true" id="failover"></a><a href="#failover" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
-<p>Create new consumers and subscribe with the<code>Failover</code> subscription mode.</p>
+<p>Create new consumers and subscribe with the<code>Failover</code> subscription type.</p>
 <pre><code class="hljs css language-java">Consumer consumer1 = client.newConsumer()
         .topic(<span class="hljs-string">"my-topic"</span>)
         .subscriptionName(<span class="hljs-string">"my-subscription"</span>)
@@ -394,11 +394,11 @@ Consumer consumer2 = client.newConsumer()
 (&quot;key-4&quot;, &quot;message-4-2&quot;)
 </code></pre>
 <blockquote>
-<p>Note:</p>
-<p>If a topic is a partitioned topic, each partition only has one active consumer, messages of one partition only distributed to one consumer, messages of multiple partitions are distributed to multiple consumers.</p>
+<p><strong>Note</strong>  <br>
+If a topic is a partitioned topic, each partition only has one active consumer, messages of one partition only distributed to one consumer, messages of multiple partitions are distributed to multiple consumers.</p>
 </blockquote>
 <h4><a class="anchor" aria-hidden="true" id="shared"></a><a href="#shared" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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. [...]
-<p>Create new consumers and subscribe with <code>Shared</code> subscription mode:</p>
+<p>Create new consumers and subscribe with <code>Shared</code> subscription type.</p>
 <pre><code class="hljs css language-java">Consumer consumer1 = client.newConsumer()
         .topic(<span class="hljs-string">"my-topic"</span>)
         .subscriptionName(<span class="hljs-string">"my-subscription"</span>)
@@ -412,7 +412,7 @@ Consumer consumer2 = client.newConsumer()
         .subscribe()
 <span class="hljs-comment">//Both consumer1 and consumer 2 is active consumers.</span>
 </code></pre>
-<p>In shared subscription mode, multiple consumers can attach to the same subscription and message are delivered in a round robin distribution across consumers.</p>
+<p>In shared subscription type, multiple consumers can attach to the same subscription and message are delivered in a round robin distribution across consumers.</p>
 <p>If a broker dispatches only one message at a time, consumer1 will receive:</p>
 <pre><code class="hljs">(&quot;key-1&quot;, &quot;message-1-1&quot;)
 (&quot;key-1&quot;, &quot;message-1-3&quot;)
@@ -427,9 +427,9 @@ Consumer consumer2 = client.newConsumer()
 (&quot;key-3&quot;, &quot;message-3-2&quot;)
 (&quot;key-4&quot;, &quot;message-4-2&quot;)
 </code></pre>
-<p><code>Shared</code> subscription is different from <code>Exclusive</code> and <code>Failover</code> subscription modes. <code>Shared</code> subscription has better flexibility, but cannot provide order guarantee.</p>
+<p><code>Shared</code> subscription is different from <code>Exclusive</code> and <code>Failover</code> subscription types. <code>Shared</code> subscription has better flexibility, but cannot provide order guarantee.</p>
 <h4><a class="anchor" aria-hidden="true" id="key_shared"></a><a href="#key_shared" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>This is a new subscription mode since 2.4.0 release, create new consumers and subscribe with <code>Key_Shared</code> subscription mode:</p>
+<p>This is a new subscription type since 2.4.0 release, create new consumers and subscribe with <code>Key_Shared</code> subscription type:</p>
 <pre><code class="hljs css language-java">Consumer consumer1 = client.newConsumer()
         .topic(<span class="hljs-string">"my-topic"</span>)
         .subscriptionName(<span class="hljs-string">"my-subscription"</span>)
@@ -459,8 +459,8 @@ Consumer consumer2 = client.newConsumer()
 (&quot;key-4&quot;, &quot;message-4-2&quot;)
 </code></pre>
 <blockquote>
-<p>Note:</p>
-<p>If the message key is not specified, messages without key will be dispatched to one consumer in order by default.</p>
+<p><strong>Note</strong>  <br>
+If the message key is not specified, messages without key will be dispatched to one consumer in order by default.</p>
 </blockquote>
 <h2><a class="anchor" aria-hidden="true" id="reader-interface"></a><a href="#reader-interface" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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. [...]
 <p>Avec l'interface <a href="/docs/fr/2.4.1/concepts-clients#reader-interface">reader</a>, les clients Pulsar peuvent se positionner manuellement dans un topic, en lisant tous les messages à partir d'un message spécifié. The Pulsar API for Java enables you to create <a href="https://pulsar.incubator.apache.org/api/client/2.8.0-SNAPSHOT/org/apache/pulsar/client/api/Reader">Reader</a>
@@ -599,7 +599,7 @@ PulsarClient client = PulsarClient.builder()
 <h4><a class="anchor" aria-hidden="true" id="formats-de-modèle-supportés"></a><a href="#formats-de-modèle-supportés" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 1 [...]
 <p>Le paramètre <code>privateKey</code> supporte les trois formats de schéma suivants : * <code>fichier:///chemin/vers/fichier</code>* * <code>fichier:/chemin/vers/fichier</code>* * <code>data:application/x-pem-file;base64,&lt;base64-encoded value&gt;</code></p>
 </blockquote>
-</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/fr/2.4.1/security-extending"><span class="arrow-prev">← </span><span>Extending</span></a><a class="docs-next button" href="/docs/fr/2.4.1/client-libraries-go"><span>Go</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#installation">Installation</a><ul class="toc-headings"><li><a href="#maven">Maven</a></li><li><a href="# [...]
+</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/fr/2.4.1/security-extending"><span class="arrow-prev">← </span><span>Extending</span></a><a class="docs-next button" href="/docs/fr/2.4.1/client-libraries-go"><span>Go</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#installation">Installation</a><ul class="toc-headings"><li><a href="#maven">Maven</a></li><li><a href="# [...]
       const community = document.querySelector("a[href='#community']").parentNode;
       const communityMenu =
         '<li>' +
diff --git a/content/docs/fr/2.4.1/concepts-messaging.html b/content/docs/fr/2.4.1/concepts-messaging.html
index 27b6b80..fa5991c 100644
--- a/content/docs/fr/2.4.1/concepts-messaging.html
+++ b/content/docs/fr/2.4.1/concepts-messaging.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>Messaging Concepts · Apache Pulsar</title><meta name="viewport" content="width=device-width, initial-scale=1.0"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar is built on the [publish-subscribe](https://en.wikipedia.org/wiki/Publish%E2%80%93subscribe_pattern) pattern, aka pub-sub. In this pattern, [producers](#producers) publish  [...]
+<!DOCTYPE html><html lang="fr"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Messaging Concepts · Apache Pulsar</title><meta name="viewport" content="width=device-width, initial-scale=1.0"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar is built on the [publish-subscribe](https://en.wikipedia.org/wiki/Publish%E2%80%93subscribe_pattern) pattern, aka pub-sub. In this pattern, [producers](#producers) publish  [...]
               (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,7 +74,7 @@
                 };
               }
             });
-        </script></nav></div><div class="container mainContainer docsContainer"><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 id="__docusaurus" class="postHeaderTitle">Messaging Concepts</h1></header><article><div><span><p>Pulsar is built on the <a href="https://en.wikipedia.org/wiki/Publish%E2%80%93subscribe_pattern">publish- [...]
+        </script></nav></div><div class="container mainContainer docsContainer"><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 id="__docusaurus" class="postHeaderTitle">Messaging Concepts</h1></header><article><div><span><p>Pulsar is built on the <a href="https://en.wikipedia.org/wiki/Publish%E2%80%93subscribe_pattern">publish- [...]
 <p>Once a subscription has been created, all messages will be <a href="/docs/fr/2.4.1/concepts-architecture-overview#persistent-storage">retained</a> by Pulsar, even if the consumer gets disconnected. Retained messages will be discarded only when a consumer acknowledges that they've been successfully processed.</p>
 <h2><a class="anchor" aria-hidden="true" id="messages"></a><a href="#messages" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
 <p>Messages are the basic &quot;unit&quot; of Pulsar. They're what producers publish to topics and what consumers then consume from topics (and acknowledge when the message has been processed). Messages are the analogue of letters in a postal service system.</p>
@@ -138,14 +138,14 @@
 <p>When a consumer has consumed a message successfully, the consumer sends an acknowledgement request to the broker, so that the broker will discard the message. Otherwise, it <a href="/docs/fr/2.4.1/concepts-architecture-overview#persistent-storage">stores</a> the message.</p>
 <p>Messages can be acknowledged either one by one or cumulatively. With cumulative acknowledgement, the consumer only needs to acknowledge the last message it received. All messages in the stream up to (and including) the provided message will not be re-delivered to that consumer.</p>
 <blockquote>
-<p>Cumulative acknowledgement cannot be used with <a href="#subscription-modes">shared subscription mode</a>, because shared mode involves multiple consumers having access to the same subscription.</p>
+<p>Cumulative acknowledgement cannot be used with <a href="#subscription-types">shared subscription type</a>, because shared mode involves multiple consumers having access to the same subscription.</p>
 </blockquote>
-<p>In the shared subscription mode, messages can be acknowledged individually.</p>
+<p>In Shared subscription type, messages can be acknowledged individually.</p>
 <h3><a class="anchor" aria-hidden="true" id="negative-acknowledgement"></a><a href="#negative-acknowledgement" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>When a consumer does not consume a message successfully at a time, and wants to consume the message again, the consumer can send a negative acknowledgement to the broker, and then the broker will redeliver the message.</p>
-<p>Messages can be negatively acknowledged one by one or cumulatively, which depends on the consumption subscription mode.</p>
-<p>In the exclusive and failover subscription modes, consumers only negatively acknowledge the last message they have received.</p>
-<p>In the shared and Key_Shared subscription modes, you can negatively acknowledge messages individually.</p>
+<p>Messages can be negatively acknowledged either individually or cumulatively, depending on the consumption subscription type.</p>
+<p>In the exclusive and failover subscription types, consumers only negatively acknowledge the last message they have received.</p>
+<p>In the shared and Key_Shared subscription types, you can negatively acknowledge messages individually.</p>
 <h3><a class="anchor" aria-hidden="true" id="acknowledgement-timeout"></a><a href="#acknowledgement-timeout" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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 a message is not consumed successfully, and you want to trigger the broker to redeliver the message automatically, you can adopt the unacknowledged message automatic re-delivery mechanism. Client will track the unacknowledged messages within the entire <code>acktimeout</code> time range, and send a <code>redeliver unacknowledged messages</code> request to the broker automatically when the acknowledgement timeout is specified.</p>
 <blockquote>
@@ -182,8 +182,8 @@ Use negative acknowledgement prior to acknowledgement timeout. Negative acknowle
 </code></pre>
 <p>Dead letter topic depends on message re-delivery. Messages are redelivered either due to <a href="#acknowledgement-timeout">acknowledgement timeout</a> or <a href="#negative-acknowledgement">negative acknowledgement</a>. If you are going to use negative acknowledgement on a message, make sure it is negatively acknowledged before the acknowledgement timeout.</p>
 <blockquote>
-<p>Note<br>
-Currently, dead letter topic is enabled only in the shared subscription mode.</p>
+<p><strong>Note</strong>  <br>
+Currently, dead letter topic is enabled only in Shared subscription type.</p>
 </blockquote>
 <h2><a class="anchor" aria-hidden="true" id="topics"></a><a href="#topics" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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. [...]
 <p>As in other pub-sub systems, topics in Pulsar are named channels for transmitting messages from <a href="/docs/fr/2.4.1/reference-terminology#producer">producers</a> to <a href="/docs/fr/2.4.1/reference-terminology#consumer">consumers</a>. Topic names are URLs that have a well-defined structure:</p>
@@ -206,18 +206,18 @@ Currently, dead letter topic is enabled only in the shared subscription mode.</p
 </blockquote>
 <h2><a class="anchor" aria-hidden="true" id="espaces-de-nommage"></a><a href="#espaces-de-nommage" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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- [...]
 <p>A namespace is a logical nomenclature within a tenant. A tenant can create multiple namespaces via the <a href="/docs/fr/2.4.1/admin-api-namespaces#create">admin API</a>. For instance, a tenant with different applications can create a separate namespace for each application. A namespace allows the application to create and manage a hierarchy of topics. The topic <code>my-tenant/app1</code> is a namespace for the application <code>app1</code> for <code>my-tenant</code>. You can create  [...]
-<h2><a class="anchor" aria-hidden="true" id="subscription-modes"></a><a href="#subscription-modes" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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- [...]
-<p>A subscription is a named configuration rule that determines how messages are delivered to consumers. There are three available subscription modes in Pulsar: <a href="#exclusive">exclusive</a>, <a href="#shared">shared</a>, and <a href="#failover">failover</a>. These modes are illustrated in the figure below.</p>
-<p><img src="/docs/assets/pulsar-subscription-modes.png" alt="Subscription modes"></p>
+<h2><a class="anchor" aria-hidden="true" id="subscription-types"></a><a href="#subscription-types" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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- [...]
+<p>A subscription is a named configuration rule that determines how messages are delivered to consumers. There are three available subscription types in Pulsar: <a href="#exclusive">exclusive</a>, <a href="#shared">shared</a>, and <a href="#failover">failover</a>. These types are illustrated in the figure below.</p>
+<p><img src="/docs/assets/pulsar-subscription-types.png" alt="Subscription types"></p>
 <h3><a class="anchor" aria-hidden="true" id="exclusive"></a><a href="#exclusive" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>In <em>exclusive</em> mode, only a single consumer is allowed to attach to the subscription. If more than one consumer attempts to subscribe to a topic using the same subscription, the consumer receives an error.</p>
+<p>In <em>exclusive</em> type, only a single consumer is allowed to attach to the subscription. If more than one consumer attempts to subscribe to a topic using the same subscription, the consumer receives an error.</p>
 <p>In the diagram below, only <strong>Consumer A-0</strong> is allowed to consume messages.</p>
 <blockquote>
-<p>Exclusive mode is the default subscription mode.</p>
+<p>Exclusive is the default subscription type.</p>
 </blockquote>
 <p><img src="/docs/assets/pulsar-exclusive-subscriptions.png" alt="Exclusive subscriptions"></p>
 <h3><a class="anchor" aria-hidden="true" id="failover"></a><a href="#failover" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
-<p>In <em>failover</em> mode, multiple consumers can attach to the same subscription. In failover mode, the broker selects the master consumer based on the priority level and the lexicographical sorting of a consumer name. If two consumers have an identical priority level, the broker selects the master consumer based on the lexicographical sorting. If these two consumers have different priority levels, the broker selects the consumer with a higher priority level as the master consumer. T [...]
+<p>In <em>Failover</em> type, multiple consumers can attach to the same subscription. In failover mode, the broker selects the master consumer based on the priority level and the lexicographical sorting of a consumer name. If two consumers have an identical priority level, the broker selects the master consumer based on the lexicographical sorting. If these two consumers have different priority levels, the broker selects the consumer with a higher priority level as the master consumer. T [...]
 <p>For partitioned topics, the broker assigns partitioned topics to the consumer with the highest priority level. If multiple consumers have the highest priority level, the broker evenly assigns topics to consumers with these consumers.</p>
 <p>In the diagram below, <strong>Consumer-B-0</strong> is the master consumer while <strong>Consumer-B-1</strong> would be the next consumer in line to receive messages if <strong>Consumer-B-0</strong> is disconnected.</p>
 <p><img src="/docs/assets/pulsar-failover-subscriptions.png" alt="Failover subscriptions"></p>
@@ -283,9 +283,9 @@ Consumer&lt;<span class="hljs-keyword">byte</span>[]&gt; someTopicsConsumer = pu
 <p>The diagram below illustrates this:</p>
 <p><img src="/docs/assets/partitioning.png" alt=""></p>
 <p>Here, the topic <strong>Topic1</strong> has five partitions (<strong>P0</strong> through <strong>P4</strong>) split across three brokers. Because there are more partitions than brokers, two brokers handle two partitions a piece, while the third handles only one (again, Pulsar handles this distribution of partitions automatically).</p>
-<p>Messages for this topic are broadcast to two consumers. The <a href="#routing-modes">routing mode</a> determines both which broker handles each partition, while the <a href="#subscription-modes">subscription mode</a> determines which messages go to which consumers.</p>
-<p>Decisions about routing and subscription modes can be made separately in most cases. In general, throughput concerns should guide partitioning/routing decisions while subscription decisions should be guided by application semantics.</p>
-<p>There is no difference between partitioned topics and normal topics in terms of how subscription modes work, as partitioning only determines what happens between when a message is published by a producer and processed and acknowledged by a consumer.</p>
+<p>Messages for this topic are broadcast to two consumers. The <a href="#routing-modes">routing mode</a> determines both which broker handles each partition, while the <a href="#subscription-types">subscription type</a> determines which messages go to which consumers.</p>
+<p>Decisions about routing and subscription types can be made separately in most cases. In general, throughput concerns should guide partitioning/routing decisions while subscription decisions should be guided by application semantics.</p>
+<p>There is no difference between partitioned topics and normal topics in terms of how subscription types work, as partitioning only determines what happens between when a message is published by a producer and processed and acknowledged by a consumer.</p>
 <p>Partitioned topics need to be explicitly created via the <a href="/docs/fr/2.4.1/admin-api-overview">admin API</a>. The number of partitions can be specified when creating the topic.</p>
 <h3><a class="anchor" aria-hidden="true" id="routing-modes"></a><a href="#routing-modes" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>When publishing to partitioned topics, you must specify a <em>routing mode</em>. The routing mode determines which partition---that is, which internal topic---each message should be published to.</p>
@@ -337,7 +337,7 @@ Consumer&lt;<span class="hljs-keyword">byte</span>[]&gt; someTopicsConsumer = pu
 <h3><a class="anchor" aria-hidden="true" id="performance"></a><a href="#performance" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>Non-persistent messaging is usually faster than persistent messaging because brokers don't persist messages and immediately send acks back to the producer as soon as that message is delivered to connected brokers. Producers thus see comparatively low publish latency with non-persistent topic.</p>
 <h3><a class="anchor" aria-hidden="true" id="client-api"></a><a href="#client-api" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>Producers and consumers can connect to non-persistent topics in the same way as persistent topics, with the crucial difference that the topic name must start with <code>non-persistent</code>. All three subscription modes---<a href="#exclusive">exclusive</a>, <a href="#shared">shared</a>, and <a href="#failover">failover</a>---are supported for non-persistent topics.</p>
+<p>Producers and consumers can connect to non-persistent topics in the same way as persistent topics, with the crucial difference that the topic name must start with <code>non-persistent</code>. All three subscription types---<a href="#exclusive">exclusive</a>, <a href="#shared">shared</a>, and <a href="#failover">failover</a>---are supported for non-persistent topics.</p>
 <p>Here's an example <a href="/docs/fr/2.4.1/client-libraries-java#consumers">Java consumer</a> for a non-persistent topic:</p>
 <pre><code class="hljs css language-java">PulsarClient client = PulsarClient.builder()
         .serviceUrl(<span class="hljs-string">"pulsar://localhost:6650"</span>)
@@ -389,7 +389,7 @@ Consumer&lt;<span class="hljs-keyword">byte</span>[]&gt; consumer = client.newCo
 <blockquote>
 <p>More in-depth information can be found in <a href="https://streaml.io/blog/pulsar-effectively-once/">this post</a> on the <a href="https://streaml.io/blog">Streamlio blog</a></p>
 </blockquote>
-</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/fr/2.4.1/concepts-overview"><span class="arrow-prev">← </span><span>Overview</span></a><a class="docs-next button" href="/docs/fr/2.4.1/concepts-architecture-overview"><span>Architecture</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#messages">Messages</a></li><li><a href="#producers">Producers</a><ul class="toc-headi [...]
+</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/fr/2.4.1/concepts-overview"><span class="arrow-prev">← </span><span>Overview</span></a><a class="docs-next button" href="/docs/fr/2.4.1/concepts-architecture-overview"><span>Architecture</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#messages">Messages</a></li><li><a href="#producers">Producers</a><ul class="toc-headi [...]
       const community = document.querySelector("a[href='#community']").parentNode;
       const communityMenu =
         '<li>' +
diff --git a/content/docs/fr/2.4.1/concepts-messaging/index.html b/content/docs/fr/2.4.1/concepts-messaging/index.html
index 27b6b80..fa5991c 100644
--- a/content/docs/fr/2.4.1/concepts-messaging/index.html
+++ b/content/docs/fr/2.4.1/concepts-messaging/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>Messaging Concepts · Apache Pulsar</title><meta name="viewport" content="width=device-width, initial-scale=1.0"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar is built on the [publish-subscribe](https://en.wikipedia.org/wiki/Publish%E2%80%93subscribe_pattern) pattern, aka pub-sub. In this pattern, [producers](#producers) publish  [...]
+<!DOCTYPE html><html lang="fr"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Messaging Concepts · Apache Pulsar</title><meta name="viewport" content="width=device-width, initial-scale=1.0"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar is built on the [publish-subscribe](https://en.wikipedia.org/wiki/Publish%E2%80%93subscribe_pattern) pattern, aka pub-sub. In this pattern, [producers](#producers) publish  [...]
               (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,7 +74,7 @@
                 };
               }
             });
-        </script></nav></div><div class="container mainContainer docsContainer"><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 id="__docusaurus" class="postHeaderTitle">Messaging Concepts</h1></header><article><div><span><p>Pulsar is built on the <a href="https://en.wikipedia.org/wiki/Publish%E2%80%93subscribe_pattern">publish- [...]
+        </script></nav></div><div class="container mainContainer docsContainer"><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 id="__docusaurus" class="postHeaderTitle">Messaging Concepts</h1></header><article><div><span><p>Pulsar is built on the <a href="https://en.wikipedia.org/wiki/Publish%E2%80%93subscribe_pattern">publish- [...]
 <p>Once a subscription has been created, all messages will be <a href="/docs/fr/2.4.1/concepts-architecture-overview#persistent-storage">retained</a> by Pulsar, even if the consumer gets disconnected. Retained messages will be discarded only when a consumer acknowledges that they've been successfully processed.</p>
 <h2><a class="anchor" aria-hidden="true" id="messages"></a><a href="#messages" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
 <p>Messages are the basic &quot;unit&quot; of Pulsar. They're what producers publish to topics and what consumers then consume from topics (and acknowledge when the message has been processed). Messages are the analogue of letters in a postal service system.</p>
@@ -138,14 +138,14 @@
 <p>When a consumer has consumed a message successfully, the consumer sends an acknowledgement request to the broker, so that the broker will discard the message. Otherwise, it <a href="/docs/fr/2.4.1/concepts-architecture-overview#persistent-storage">stores</a> the message.</p>
 <p>Messages can be acknowledged either one by one or cumulatively. With cumulative acknowledgement, the consumer only needs to acknowledge the last message it received. All messages in the stream up to (and including) the provided message will not be re-delivered to that consumer.</p>
 <blockquote>
-<p>Cumulative acknowledgement cannot be used with <a href="#subscription-modes">shared subscription mode</a>, because shared mode involves multiple consumers having access to the same subscription.</p>
+<p>Cumulative acknowledgement cannot be used with <a href="#subscription-types">shared subscription type</a>, because shared mode involves multiple consumers having access to the same subscription.</p>
 </blockquote>
-<p>In the shared subscription mode, messages can be acknowledged individually.</p>
+<p>In Shared subscription type, messages can be acknowledged individually.</p>
 <h3><a class="anchor" aria-hidden="true" id="negative-acknowledgement"></a><a href="#negative-acknowledgement" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>When a consumer does not consume a message successfully at a time, and wants to consume the message again, the consumer can send a negative acknowledgement to the broker, and then the broker will redeliver the message.</p>
-<p>Messages can be negatively acknowledged one by one or cumulatively, which depends on the consumption subscription mode.</p>
-<p>In the exclusive and failover subscription modes, consumers only negatively acknowledge the last message they have received.</p>
-<p>In the shared and Key_Shared subscription modes, you can negatively acknowledge messages individually.</p>
+<p>Messages can be negatively acknowledged either individually or cumulatively, depending on the consumption subscription type.</p>
+<p>In the exclusive and failover subscription types, consumers only negatively acknowledge the last message they have received.</p>
+<p>In the shared and Key_Shared subscription types, you can negatively acknowledge messages individually.</p>
 <h3><a class="anchor" aria-hidden="true" id="acknowledgement-timeout"></a><a href="#acknowledgement-timeout" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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 a message is not consumed successfully, and you want to trigger the broker to redeliver the message automatically, you can adopt the unacknowledged message automatic re-delivery mechanism. Client will track the unacknowledged messages within the entire <code>acktimeout</code> time range, and send a <code>redeliver unacknowledged messages</code> request to the broker automatically when the acknowledgement timeout is specified.</p>
 <blockquote>
@@ -182,8 +182,8 @@ Use negative acknowledgement prior to acknowledgement timeout. Negative acknowle
 </code></pre>
 <p>Dead letter topic depends on message re-delivery. Messages are redelivered either due to <a href="#acknowledgement-timeout">acknowledgement timeout</a> or <a href="#negative-acknowledgement">negative acknowledgement</a>. If you are going to use negative acknowledgement on a message, make sure it is negatively acknowledged before the acknowledgement timeout.</p>
 <blockquote>
-<p>Note<br>
-Currently, dead letter topic is enabled only in the shared subscription mode.</p>
+<p><strong>Note</strong>  <br>
+Currently, dead letter topic is enabled only in Shared subscription type.</p>
 </blockquote>
 <h2><a class="anchor" aria-hidden="true" id="topics"></a><a href="#topics" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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. [...]
 <p>As in other pub-sub systems, topics in Pulsar are named channels for transmitting messages from <a href="/docs/fr/2.4.1/reference-terminology#producer">producers</a> to <a href="/docs/fr/2.4.1/reference-terminology#consumer">consumers</a>. Topic names are URLs that have a well-defined structure:</p>
@@ -206,18 +206,18 @@ Currently, dead letter topic is enabled only in the shared subscription mode.</p
 </blockquote>
 <h2><a class="anchor" aria-hidden="true" id="espaces-de-nommage"></a><a href="#espaces-de-nommage" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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- [...]
 <p>A namespace is a logical nomenclature within a tenant. A tenant can create multiple namespaces via the <a href="/docs/fr/2.4.1/admin-api-namespaces#create">admin API</a>. For instance, a tenant with different applications can create a separate namespace for each application. A namespace allows the application to create and manage a hierarchy of topics. The topic <code>my-tenant/app1</code> is a namespace for the application <code>app1</code> for <code>my-tenant</code>. You can create  [...]
-<h2><a class="anchor" aria-hidden="true" id="subscription-modes"></a><a href="#subscription-modes" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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- [...]
-<p>A subscription is a named configuration rule that determines how messages are delivered to consumers. There are three available subscription modes in Pulsar: <a href="#exclusive">exclusive</a>, <a href="#shared">shared</a>, and <a href="#failover">failover</a>. These modes are illustrated in the figure below.</p>
-<p><img src="/docs/assets/pulsar-subscription-modes.png" alt="Subscription modes"></p>
+<h2><a class="anchor" aria-hidden="true" id="subscription-types"></a><a href="#subscription-types" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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- [...]
+<p>A subscription is a named configuration rule that determines how messages are delivered to consumers. There are three available subscription types in Pulsar: <a href="#exclusive">exclusive</a>, <a href="#shared">shared</a>, and <a href="#failover">failover</a>. These types are illustrated in the figure below.</p>
+<p><img src="/docs/assets/pulsar-subscription-types.png" alt="Subscription types"></p>
 <h3><a class="anchor" aria-hidden="true" id="exclusive"></a><a href="#exclusive" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>In <em>exclusive</em> mode, only a single consumer is allowed to attach to the subscription. If more than one consumer attempts to subscribe to a topic using the same subscription, the consumer receives an error.</p>
+<p>In <em>exclusive</em> type, only a single consumer is allowed to attach to the subscription. If more than one consumer attempts to subscribe to a topic using the same subscription, the consumer receives an error.</p>
 <p>In the diagram below, only <strong>Consumer A-0</strong> is allowed to consume messages.</p>
 <blockquote>
-<p>Exclusive mode is the default subscription mode.</p>
+<p>Exclusive is the default subscription type.</p>
 </blockquote>
 <p><img src="/docs/assets/pulsar-exclusive-subscriptions.png" alt="Exclusive subscriptions"></p>
 <h3><a class="anchor" aria-hidden="true" id="failover"></a><a href="#failover" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
-<p>In <em>failover</em> mode, multiple consumers can attach to the same subscription. In failover mode, the broker selects the master consumer based on the priority level and the lexicographical sorting of a consumer name. If two consumers have an identical priority level, the broker selects the master consumer based on the lexicographical sorting. If these two consumers have different priority levels, the broker selects the consumer with a higher priority level as the master consumer. T [...]
+<p>In <em>Failover</em> type, multiple consumers can attach to the same subscription. In failover mode, the broker selects the master consumer based on the priority level and the lexicographical sorting of a consumer name. If two consumers have an identical priority level, the broker selects the master consumer based on the lexicographical sorting. If these two consumers have different priority levels, the broker selects the consumer with a higher priority level as the master consumer. T [...]
 <p>For partitioned topics, the broker assigns partitioned topics to the consumer with the highest priority level. If multiple consumers have the highest priority level, the broker evenly assigns topics to consumers with these consumers.</p>
 <p>In the diagram below, <strong>Consumer-B-0</strong> is the master consumer while <strong>Consumer-B-1</strong> would be the next consumer in line to receive messages if <strong>Consumer-B-0</strong> is disconnected.</p>
 <p><img src="/docs/assets/pulsar-failover-subscriptions.png" alt="Failover subscriptions"></p>
@@ -283,9 +283,9 @@ Consumer&lt;<span class="hljs-keyword">byte</span>[]&gt; someTopicsConsumer = pu
 <p>The diagram below illustrates this:</p>
 <p><img src="/docs/assets/partitioning.png" alt=""></p>
 <p>Here, the topic <strong>Topic1</strong> has five partitions (<strong>P0</strong> through <strong>P4</strong>) split across three brokers. Because there are more partitions than brokers, two brokers handle two partitions a piece, while the third handles only one (again, Pulsar handles this distribution of partitions automatically).</p>
-<p>Messages for this topic are broadcast to two consumers. The <a href="#routing-modes">routing mode</a> determines both which broker handles each partition, while the <a href="#subscription-modes">subscription mode</a> determines which messages go to which consumers.</p>
-<p>Decisions about routing and subscription modes can be made separately in most cases. In general, throughput concerns should guide partitioning/routing decisions while subscription decisions should be guided by application semantics.</p>
-<p>There is no difference between partitioned topics and normal topics in terms of how subscription modes work, as partitioning only determines what happens between when a message is published by a producer and processed and acknowledged by a consumer.</p>
+<p>Messages for this topic are broadcast to two consumers. The <a href="#routing-modes">routing mode</a> determines both which broker handles each partition, while the <a href="#subscription-types">subscription type</a> determines which messages go to which consumers.</p>
+<p>Decisions about routing and subscription types can be made separately in most cases. In general, throughput concerns should guide partitioning/routing decisions while subscription decisions should be guided by application semantics.</p>
+<p>There is no difference between partitioned topics and normal topics in terms of how subscription types work, as partitioning only determines what happens between when a message is published by a producer and processed and acknowledged by a consumer.</p>
 <p>Partitioned topics need to be explicitly created via the <a href="/docs/fr/2.4.1/admin-api-overview">admin API</a>. The number of partitions can be specified when creating the topic.</p>
 <h3><a class="anchor" aria-hidden="true" id="routing-modes"></a><a href="#routing-modes" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>When publishing to partitioned topics, you must specify a <em>routing mode</em>. The routing mode determines which partition---that is, which internal topic---each message should be published to.</p>
@@ -337,7 +337,7 @@ Consumer&lt;<span class="hljs-keyword">byte</span>[]&gt; someTopicsConsumer = pu
 <h3><a class="anchor" aria-hidden="true" id="performance"></a><a href="#performance" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>Non-persistent messaging is usually faster than persistent messaging because brokers don't persist messages and immediately send acks back to the producer as soon as that message is delivered to connected brokers. Producers thus see comparatively low publish latency with non-persistent topic.</p>
 <h3><a class="anchor" aria-hidden="true" id="client-api"></a><a href="#client-api" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>Producers and consumers can connect to non-persistent topics in the same way as persistent topics, with the crucial difference that the topic name must start with <code>non-persistent</code>. All three subscription modes---<a href="#exclusive">exclusive</a>, <a href="#shared">shared</a>, and <a href="#failover">failover</a>---are supported for non-persistent topics.</p>
+<p>Producers and consumers can connect to non-persistent topics in the same way as persistent topics, with the crucial difference that the topic name must start with <code>non-persistent</code>. All three subscription types---<a href="#exclusive">exclusive</a>, <a href="#shared">shared</a>, and <a href="#failover">failover</a>---are supported for non-persistent topics.</p>
 <p>Here's an example <a href="/docs/fr/2.4.1/client-libraries-java#consumers">Java consumer</a> for a non-persistent topic:</p>
 <pre><code class="hljs css language-java">PulsarClient client = PulsarClient.builder()
         .serviceUrl(<span class="hljs-string">"pulsar://localhost:6650"</span>)
@@ -389,7 +389,7 @@ Consumer&lt;<span class="hljs-keyword">byte</span>[]&gt; consumer = client.newCo
 <blockquote>
 <p>More in-depth information can be found in <a href="https://streaml.io/blog/pulsar-effectively-once/">this post</a> on the <a href="https://streaml.io/blog">Streamlio blog</a></p>
 </blockquote>
-</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/fr/2.4.1/concepts-overview"><span class="arrow-prev">← </span><span>Overview</span></a><a class="docs-next button" href="/docs/fr/2.4.1/concepts-architecture-overview"><span>Architecture</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#messages">Messages</a></li><li><a href="#producers">Producers</a><ul class="toc-headi [...]
+</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/fr/2.4.1/concepts-overview"><span class="arrow-prev">← </span><span>Overview</span></a><a class="docs-next button" href="/docs/fr/2.4.1/concepts-architecture-overview"><span>Architecture</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#messages">Messages</a></li><li><a href="#producers">Producers</a><ul class="toc-headi [...]
       const community = document.querySelector("a[href='#community']").parentNode;
       const communityMenu =
         '<li>' +
diff --git a/content/docs/fr/2.4.1/concepts-overview.html b/content/docs/fr/2.4.1/concepts-overview.html
index ca1f5d4..69abf61 100644
--- a/content/docs/fr/2.4.1/concepts-overview.html
+++ b/content/docs/fr/2.4.1/concepts-overview.html
@@ -81,7 +81,7 @@
 <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/fr/2.4.1/concepts-clients">client API</a> with bindings for <a href="/docs/fr/2.4.1/client-libraries-java">Java</a>, <a href="/docs/fr/2.4.1/client-libraries-go">Go</a>, <a href="/docs/fr/2.4.1/client-libraries-python">Python</a> and <a href="/docs/fr/2.4.1/client-libraries-cpp">C++</a>.</li>
-<li>Multiple <a href="/docs/fr/2.4.1/concepts-messaging#subscription-modes">subscription modes</a> (<a href="/docs/fr/2.4.1/concepts-messaging#exclusive">exclusive</a>, <a href="/docs/fr/2.4.1/concepts-messaging#shared">shared</a>, and <a href="/docs/fr/2.4.1/concepts-messaging#failover">failover</a>) for topics.</li>
+<li>Multiple <a href="/docs/fr/2.4.1/concepts-messaging#subscription-types">subscription types</a> (<a href="/docs/fr/2.4.1/concepts-messaging#exclusive">exclusive</a>, <a href="/docs/fr/2.4.1/concepts-messaging#shared">shared</a>, and <a href="/docs/fr/2.4.1/concepts-messaging#failover">failover</a>) for topics.</li>
 <li>Guaranteed message delivery with <a href="/docs/fr/2.4.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/fr/2.4.1/functions-overview">Pulsar Functions</a> offers the capability for stream-native data processing.</li>
 <li>A serverless connector framework <a href="/docs/fr/2.4.1/io-overview">Pulsar IO</a>, which is built on Pulsar Functions, makes it easier to move data in and out Apache Pulsar.</li>
diff --git a/content/docs/fr/2.4.1/concepts-overview/index.html b/content/docs/fr/2.4.1/concepts-overview/index.html
index ca1f5d4..69abf61 100644
--- a/content/docs/fr/2.4.1/concepts-overview/index.html
+++ b/content/docs/fr/2.4.1/concepts-overview/index.html
@@ -81,7 +81,7 @@
 <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/fr/2.4.1/concepts-clients">client API</a> with bindings for <a href="/docs/fr/2.4.1/client-libraries-java">Java</a>, <a href="/docs/fr/2.4.1/client-libraries-go">Go</a>, <a href="/docs/fr/2.4.1/client-libraries-python">Python</a> and <a href="/docs/fr/2.4.1/client-libraries-cpp">C++</a>.</li>
-<li>Multiple <a href="/docs/fr/2.4.1/concepts-messaging#subscription-modes">subscription modes</a> (<a href="/docs/fr/2.4.1/concepts-messaging#exclusive">exclusive</a>, <a href="/docs/fr/2.4.1/concepts-messaging#shared">shared</a>, and <a href="/docs/fr/2.4.1/concepts-messaging#failover">failover</a>) for topics.</li>
+<li>Multiple <a href="/docs/fr/2.4.1/concepts-messaging#subscription-types">subscription types</a> (<a href="/docs/fr/2.4.1/concepts-messaging#exclusive">exclusive</a>, <a href="/docs/fr/2.4.1/concepts-messaging#shared">shared</a>, and <a href="/docs/fr/2.4.1/concepts-messaging#failover">failover</a>) for topics.</li>
 <li>Guaranteed message delivery with <a href="/docs/fr/2.4.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/fr/2.4.1/functions-overview">Pulsar Functions</a> offers the capability for stream-native data processing.</li>
 <li>A serverless connector framework <a href="/docs/fr/2.4.1/io-overview">Pulsar IO</a>, which is built on Pulsar Functions, makes it easier to move data in and out Apache Pulsar.</li>
diff --git a/content/docs/fr/2.4.2/client-libraries-java.html b/content/docs/fr/2.4.2/client-libraries-java.html
index 26d19ee..6474028 100644
--- a/content/docs/fr/2.4.2/client-libraries-java.html
+++ b/content/docs/fr/2.4.2/client-libraries-java.html
@@ -311,10 +311,10 @@ consumerBuilder
             });
 }
 </code></pre>
-<h3><a class="anchor" aria-hidden="true" id="subscription-modes"></a><a href="#subscription-modes" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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- [...]
-<p>Pulsar has various <a href="concepts-messaging#subscription-modes">subscription modes</a> to match different scenarios. A topic can have multiple subscriptions with different subscription modes. However, a subscription can only have one subscription mode at a time.</p>
-<p>A subscription is identified with the subscription name, and a subscription name can specify only one subscription mode at a time. You can change the subscription mode, yet you have to let all existing consumers of this subscription offline first.</p>
-<p>Different subscription modes have different message distribution modes. This section describes the differences of subscription modes and how to use them.</p>
+<h3><a class="anchor" aria-hidden="true" id="subscription-types"></a><a href="#subscription-types" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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- [...]
+<p>Pulsar has various <a href="concepts-messaging#subscription-types">subscription types</a> to match different scenarios. A topic can have multiple subscriptions with different subscription types. However, a subscription can only have one subscription type at a time.</p>
+<p>A subscription is identified with the subscription name; a subscription name can specify only one subscription type at a time. To change the subscription type, you should first stop all consumers of this subscription.</p>
+<p>Different subscription types have different message distribution modes. This section describes the differences of subscription types and how to use them.</p>
 <p>In order to better describe their differences, assuming you have a topic named &quot;my-topic&quot;, and the producer has published 10 messages.</p>
 <pre><code class="hljs css language-java">Producer&lt;String&gt; producer = client.newProducer(Schema.STRING)
         .topic(<span class="hljs-string">"my-topic"</span>)
@@ -333,7 +333,7 @@ producer.newMessage().key(<span class="hljs-string">"key-4"</span>).value(<span
 producer.newMessage().key(<span class="hljs-string">"key-4"</span>).value(<span class="hljs-string">"message-4-2"</span>).send();
 </code></pre>
 <h4><a class="anchor" aria-hidden="true" id="exclusive"></a><a href="#exclusive" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>Create a new consumer and subscribe with the <code>Exclusive</code> subscription mode.</p>
+<p>Create a new consumer and subscribe with the <code>Exclusive</code> subscription type.</p>
 <pre><code class="hljs css language-java">Consumer consumer = client.newConsumer()
         .topic(<span class="hljs-string">"my-topic"</span>)
         .subscriptionName(<span class="hljs-string">"my-subscription"</span>)
@@ -342,11 +342,10 @@ producer.newMessage().key(<span class="hljs-string">"key-4"</span>).value(<span
 </code></pre>
 <p>Only the first consumer is allowed to the subscription, other consumers receive an error. The first consumer receives all 10 messages, and the consuming order is the same as the producing order.</p>
 <blockquote>
-<p>Note:</p>
-<p>If topic is a partitioned topic, the first consumer subscribes to all partitioned topics, other consumers are not assigned with partitions and receive an error.</p>
+<p><strong>Note</strong> If topic is a partitioned topic, the first consumer subscribes to all partitioned topics, other consumers are not assigned with partitions and receive an error.</p>
 </blockquote>
 <h4><a class="anchor" aria-hidden="true" id="failover"></a><a href="#failover" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
-<p>Create new consumers and subscribe with the<code>Failover</code> subscription mode.</p>
+<p>Create new consumers and subscribe with the<code>Failover</code> subscription type.</p>
 <pre><code class="hljs css language-java">Consumer consumer1 = client.newConsumer()
         .topic(<span class="hljs-string">"my-topic"</span>)
         .subscriptionName(<span class="hljs-string">"my-subscription"</span>)
@@ -378,11 +377,10 @@ Consumer consumer2 = client.newConsumer()
 (<span class="hljs-string">"key-4"</span>, <span class="hljs-string">"message-4-2"</span>)
 </code></pre>
 <blockquote>
-<p>Note:</p>
-<p>If a topic is a partitioned topic, each partition only has one active consumer, messages of one partition only distributed to one consumer, messages of multiple partitions are distributed to multiple consumers.</p>
+<p><strong>Note</strong> If a topic is a partitioned topic, each partition only has one active consumer, messages of one partition only distributed to one consumer, messages of multiple partitions are distributed to multiple consumers.</p>
 </blockquote>
 <h4><a class="anchor" aria-hidden="true" id="shared"></a><a href="#shared" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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. [...]
-<p>Create new consumers and subscribe with <code>Shared</code> subscription mode:</p>
+<p>Create new consumers and subscribe with <code>Shared</code> subscription type.</p>
 <pre><code class="hljs css language-java">Consumer consumer1 = client.newConsumer()
         .topic(<span class="hljs-string">"my-topic"</span>)
         .subscriptionName(<span class="hljs-string">"my-subscription"</span>)
@@ -396,7 +394,7 @@ Consumer consumer2 = client.newConsumer()
         .subscribe()
 <span class="hljs-comment">//Both consumer1 and consumer 2 is active consumers.</span>
 </code></pre>
-<p>In shared subscription mode, multiple consumers can attach to the same subscription and message are delivered in a round robin distribution across consumers.</p>
+<p>In shared subscription type, multiple consumers can attach to the same subscription and message are delivered in a round robin distribution across consumers.</p>
 <p>If a broker dispatches only one message at a time, consumer1 will receive:</p>
 <pre><code class="hljs">(<span class="hljs-string">"key-1"</span>, <span class="hljs-string">"message-1-1"</span>)
 (<span class="hljs-string">"key-1"</span>, <span class="hljs-string">"message-1-3"</span>)
@@ -411,9 +409,9 @@ Consumer consumer2 = client.newConsumer()
 (<span class="hljs-string">"key-3"</span>, <span class="hljs-string">"message-3-2"</span>)
 (<span class="hljs-string">"key-4"</span>, <span class="hljs-string">"message-4-2"</span>)
 </code></pre>
-<p><code>Shared</code> subscription is different from <code>Exclusive</code> and <code>Failover</code> subscription modes. <code>Shared</code> subscription has better flexibility, but cannot provide order guarantee.</p>
+<p><code>Shared</code> subscription is different from <code>Exclusive</code> and <code>Failover</code> subscription types. <code>Shared</code> subscription has better flexibility, but cannot provide order guarantee.</p>
 <h4><a class="anchor" aria-hidden="true" id="key_shared"></a><a href="#key_shared" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>This is a new subscription mode since 2.4.0 release, create new consumers and subscribe with <code>Key_Shared</code> subscription mode:</p>
+<p>This is a new subscription type since 2.4.0 release, create new consumers and subscribe with <code>Key_Shared</code> subscription type:</p>
 <pre><code class="hljs css language-java">Consumer consumer1 = client.newConsumer()
         .topic(<span class="hljs-string">"my-topic"</span>)
         .subscriptionName(<span class="hljs-string">"my-subscription"</span>)
@@ -443,8 +441,7 @@ Consumer consumer2 = client.newConsumer()
 (<span class="hljs-string">"key-4"</span>, <span class="hljs-string">"message-4-2"</span>)
 </code></pre>
 <blockquote>
-<p>Note:</p>
-<p>If the message key is not specified, messages without key will be dispatched to one consumer in order by default.</p>
+<p><strong>Note</strong> If the message key is not specified, messages without key will be dispatched to one consumer in order by default.</p>
 </blockquote>
 <h2><a class="anchor" aria-hidden="true" id="reader-interface"></a><a href="#reader-interface" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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. [...]
 <p>Avec l'interface <a href="/docs/fr/2.4.2/concepts-clients#reader-interface">reader</a>, les clients Pulsar peuvent se positionner manuellement dans un topic, en lisant tous les messages à partir d'un message spécifié. The Pulsar API for Java enables you to create  <a href="https://pulsar.incubator.apache.org/api/client/2.8.0-SNAPSHOT/org/apache/pulsar/client/api/Reader">Reader</a>
@@ -581,7 +578,7 @@ PulsarClient client = PulsarClient.builder()
 <h4><a class="anchor" aria-hidden="true" id="formats-de-modèle-supportés"></a><a href="#formats-de-modèle-supportés" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 1 [...]
 <p>Le paramètre <code>privateKey</code> supporte les trois formats de schéma suivants : * <code>fichier:///chemin/vers/fichier</code>* * <code>fichier:/chemin/vers/fichier</code>* * <code>data:application/x-pem-file;base64,&lt;base64-encoded value&gt;</code></p>
 </blockquote>
-</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/fr/2.4.2/security-extending"><span class="arrow-prev">← </span><span>Extending</span></a><a class="docs-next button" href="/docs/fr/2.4.2/client-libraries-go"><span>Go</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#installation">Installation</a><ul class="toc-headings"><li><a href="#maven">Maven</a></li><li><a href="# [...]
+</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/fr/2.4.2/security-extending"><span class="arrow-prev">← </span><span>Extending</span></a><a class="docs-next button" href="/docs/fr/2.4.2/client-libraries-go"><span>Go</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#installation">Installation</a><ul class="toc-headings"><li><a href="#maven">Maven</a></li><li><a href="# [...]
       const community = document.querySelector("a[href='#community']").parentNode;
       const communityMenu =
         '<li>' +
diff --git a/content/docs/fr/2.4.2/client-libraries-java/index.html b/content/docs/fr/2.4.2/client-libraries-java/index.html
index 26d19ee..6474028 100644
--- a/content/docs/fr/2.4.2/client-libraries-java/index.html
+++ b/content/docs/fr/2.4.2/client-libraries-java/index.html
@@ -311,10 +311,10 @@ consumerBuilder
             });
 }
 </code></pre>
-<h3><a class="anchor" aria-hidden="true" id="subscription-modes"></a><a href="#subscription-modes" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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- [...]
-<p>Pulsar has various <a href="concepts-messaging#subscription-modes">subscription modes</a> to match different scenarios. A topic can have multiple subscriptions with different subscription modes. However, a subscription can only have one subscription mode at a time.</p>
-<p>A subscription is identified with the subscription name, and a subscription name can specify only one subscription mode at a time. You can change the subscription mode, yet you have to let all existing consumers of this subscription offline first.</p>
-<p>Different subscription modes have different message distribution modes. This section describes the differences of subscription modes and how to use them.</p>
+<h3><a class="anchor" aria-hidden="true" id="subscription-types"></a><a href="#subscription-types" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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- [...]
+<p>Pulsar has various <a href="concepts-messaging#subscription-types">subscription types</a> to match different scenarios. A topic can have multiple subscriptions with different subscription types. However, a subscription can only have one subscription type at a time.</p>
+<p>A subscription is identified with the subscription name; a subscription name can specify only one subscription type at a time. To change the subscription type, you should first stop all consumers of this subscription.</p>
+<p>Different subscription types have different message distribution modes. This section describes the differences of subscription types and how to use them.</p>
 <p>In order to better describe their differences, assuming you have a topic named &quot;my-topic&quot;, and the producer has published 10 messages.</p>
 <pre><code class="hljs css language-java">Producer&lt;String&gt; producer = client.newProducer(Schema.STRING)
         .topic(<span class="hljs-string">"my-topic"</span>)
@@ -333,7 +333,7 @@ producer.newMessage().key(<span class="hljs-string">"key-4"</span>).value(<span
 producer.newMessage().key(<span class="hljs-string">"key-4"</span>).value(<span class="hljs-string">"message-4-2"</span>).send();
 </code></pre>
 <h4><a class="anchor" aria-hidden="true" id="exclusive"></a><a href="#exclusive" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>Create a new consumer and subscribe with the <code>Exclusive</code> subscription mode.</p>
+<p>Create a new consumer and subscribe with the <code>Exclusive</code> subscription type.</p>
 <pre><code class="hljs css language-java">Consumer consumer = client.newConsumer()
         .topic(<span class="hljs-string">"my-topic"</span>)
         .subscriptionName(<span class="hljs-string">"my-subscription"</span>)
@@ -342,11 +342,10 @@ producer.newMessage().key(<span class="hljs-string">"key-4"</span>).value(<span
 </code></pre>
 <p>Only the first consumer is allowed to the subscription, other consumers receive an error. The first consumer receives all 10 messages, and the consuming order is the same as the producing order.</p>
 <blockquote>
-<p>Note:</p>
-<p>If topic is a partitioned topic, the first consumer subscribes to all partitioned topics, other consumers are not assigned with partitions and receive an error.</p>
+<p><strong>Note</strong> If topic is a partitioned topic, the first consumer subscribes to all partitioned topics, other consumers are not assigned with partitions and receive an error.</p>
 </blockquote>
 <h4><a class="anchor" aria-hidden="true" id="failover"></a><a href="#failover" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
-<p>Create new consumers and subscribe with the<code>Failover</code> subscription mode.</p>
+<p>Create new consumers and subscribe with the<code>Failover</code> subscription type.</p>
 <pre><code class="hljs css language-java">Consumer consumer1 = client.newConsumer()
         .topic(<span class="hljs-string">"my-topic"</span>)
         .subscriptionName(<span class="hljs-string">"my-subscription"</span>)
@@ -378,11 +377,10 @@ Consumer consumer2 = client.newConsumer()
 (<span class="hljs-string">"key-4"</span>, <span class="hljs-string">"message-4-2"</span>)
 </code></pre>
 <blockquote>
-<p>Note:</p>
-<p>If a topic is a partitioned topic, each partition only has one active consumer, messages of one partition only distributed to one consumer, messages of multiple partitions are distributed to multiple consumers.</p>
+<p><strong>Note</strong> If a topic is a partitioned topic, each partition only has one active consumer, messages of one partition only distributed to one consumer, messages of multiple partitions are distributed to multiple consumers.</p>
 </blockquote>
 <h4><a class="anchor" aria-hidden="true" id="shared"></a><a href="#shared" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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. [...]
-<p>Create new consumers and subscribe with <code>Shared</code> subscription mode:</p>
+<p>Create new consumers and subscribe with <code>Shared</code> subscription type.</p>
 <pre><code class="hljs css language-java">Consumer consumer1 = client.newConsumer()
         .topic(<span class="hljs-string">"my-topic"</span>)
         .subscriptionName(<span class="hljs-string">"my-subscription"</span>)
@@ -396,7 +394,7 @@ Consumer consumer2 = client.newConsumer()
         .subscribe()
 <span class="hljs-comment">//Both consumer1 and consumer 2 is active consumers.</span>
 </code></pre>
-<p>In shared subscription mode, multiple consumers can attach to the same subscription and message are delivered in a round robin distribution across consumers.</p>
+<p>In shared subscription type, multiple consumers can attach to the same subscription and message are delivered in a round robin distribution across consumers.</p>
 <p>If a broker dispatches only one message at a time, consumer1 will receive:</p>
 <pre><code class="hljs">(<span class="hljs-string">"key-1"</span>, <span class="hljs-string">"message-1-1"</span>)
 (<span class="hljs-string">"key-1"</span>, <span class="hljs-string">"message-1-3"</span>)
@@ -411,9 +409,9 @@ Consumer consumer2 = client.newConsumer()
 (<span class="hljs-string">"key-3"</span>, <span class="hljs-string">"message-3-2"</span>)
 (<span class="hljs-string">"key-4"</span>, <span class="hljs-string">"message-4-2"</span>)
 </code></pre>
-<p><code>Shared</code> subscription is different from <code>Exclusive</code> and <code>Failover</code> subscription modes. <code>Shared</code> subscription has better flexibility, but cannot provide order guarantee.</p>
+<p><code>Shared</code> subscription is different from <code>Exclusive</code> and <code>Failover</code> subscription types. <code>Shared</code> subscription has better flexibility, but cannot provide order guarantee.</p>
 <h4><a class="anchor" aria-hidden="true" id="key_shared"></a><a href="#key_shared" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>This is a new subscription mode since 2.4.0 release, create new consumers and subscribe with <code>Key_Shared</code> subscription mode:</p>
+<p>This is a new subscription type since 2.4.0 release, create new consumers and subscribe with <code>Key_Shared</code> subscription type:</p>
 <pre><code class="hljs css language-java">Consumer consumer1 = client.newConsumer()
         .topic(<span class="hljs-string">"my-topic"</span>)
         .subscriptionName(<span class="hljs-string">"my-subscription"</span>)
@@ -443,8 +441,7 @@ Consumer consumer2 = client.newConsumer()
 (<span class="hljs-string">"key-4"</span>, <span class="hljs-string">"message-4-2"</span>)
 </code></pre>
 <blockquote>
-<p>Note:</p>
-<p>If the message key is not specified, messages without key will be dispatched to one consumer in order by default.</p>
+<p><strong>Note</strong> If the message key is not specified, messages without key will be dispatched to one consumer in order by default.</p>
 </blockquote>
 <h2><a class="anchor" aria-hidden="true" id="reader-interface"></a><a href="#reader-interface" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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. [...]
 <p>Avec l'interface <a href="/docs/fr/2.4.2/concepts-clients#reader-interface">reader</a>, les clients Pulsar peuvent se positionner manuellement dans un topic, en lisant tous les messages à partir d'un message spécifié. The Pulsar API for Java enables you to create  <a href="https://pulsar.incubator.apache.org/api/client/2.8.0-SNAPSHOT/org/apache/pulsar/client/api/Reader">Reader</a>
@@ -581,7 +578,7 @@ PulsarClient client = PulsarClient.builder()
 <h4><a class="anchor" aria-hidden="true" id="formats-de-modèle-supportés"></a><a href="#formats-de-modèle-supportés" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 1 [...]
 <p>Le paramètre <code>privateKey</code> supporte les trois formats de schéma suivants : * <code>fichier:///chemin/vers/fichier</code>* * <code>fichier:/chemin/vers/fichier</code>* * <code>data:application/x-pem-file;base64,&lt;base64-encoded value&gt;</code></p>
 </blockquote>
-</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/fr/2.4.2/security-extending"><span class="arrow-prev">← </span><span>Extending</span></a><a class="docs-next button" href="/docs/fr/2.4.2/client-libraries-go"><span>Go</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#installation">Installation</a><ul class="toc-headings"><li><a href="#maven">Maven</a></li><li><a href="# [...]
+</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/fr/2.4.2/security-extending"><span class="arrow-prev">← </span><span>Extending</span></a><a class="docs-next button" href="/docs/fr/2.4.2/client-libraries-go"><span>Go</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#installation">Installation</a><ul class="toc-headings"><li><a href="#maven">Maven</a></li><li><a href="# [...]
       const community = document.querySelector("a[href='#community']").parentNode;
       const communityMenu =
         '<li>' +
diff --git a/content/docs/fr/2.4.2/concepts-messaging.html b/content/docs/fr/2.4.2/concepts-messaging.html
index d40ad4c..a40ae8b 100644
--- a/content/docs/fr/2.4.2/concepts-messaging.html
+++ b/content/docs/fr/2.4.2/concepts-messaging.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>Messaging Concepts · Apache Pulsar</title><meta name="viewport" content="width=device-width, initial-scale=1.0"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar is built on the [publish-subscribe](https://en.wikipedia.org/wiki/Publish%E2%80%93subscribe_pattern) pattern, aka pub-sub. In this pattern, [producers](#producers) publish  [...]
+<!DOCTYPE html><html lang="fr"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Messaging Concepts · Apache Pulsar</title><meta name="viewport" content="width=device-width, initial-scale=1.0"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar is built on the [publish-subscribe](https://en.wikipedia.org/wiki/Publish%E2%80%93subscribe_pattern) pattern, aka pub-sub. In this pattern, [producers](#producers) publish  [...]
               (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,7 +74,7 @@
                 };
               }
             });
-        </script></nav></div><div class="container mainContainer docsContainer"><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 id="__docusaurus" class="postHeaderTitle">Messaging Concepts</h1></header><article><div><span><p>Pulsar is built on the <a href="https://en.wikipedia.org/wiki/Publish%E2%80%93subscribe_pattern">publish- [...]
+        </script></nav></div><div class="container mainContainer docsContainer"><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 id="__docusaurus" class="postHeaderTitle">Messaging Concepts</h1></header><article><div><span><p>Pulsar is built on the <a href="https://en.wikipedia.org/wiki/Publish%E2%80%93subscribe_pattern">publish- [...]
 <p>Once a subscription has been created, all messages will be <a href="/docs/fr/2.4.2/concepts-architecture-overview#persistent-storage">retained</a> by Pulsar, even if the consumer gets disconnected. Retained messages will be discarded only when a consumer acknowledges that they've been successfully processed.</p>
 <h2><a class="anchor" aria-hidden="true" id="messages"></a><a href="#messages" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
 <p>Messages are the basic &quot;unit&quot; of Pulsar. They're what producers publish to topics and what consumers then consume from topics (and acknowledge when the message has been processed). Messages are the analogue of letters in a postal service system.</p>
@@ -138,14 +138,14 @@
 <p>When a consumer has consumed a message successfully, the consumer sends an acknowledgement request to the broker, so that the broker will discard the message. Otherwise, it <a href="/docs/fr/2.4.2/concepts-architecture-overview#persistent-storage">stores</a> the message.</p>
 <p>Messages can be acknowledged either one by one or cumulatively. With cumulative acknowledgement, the consumer only needs to acknowledge the last message it received. All messages in the stream up to (and including) the provided message will not be re-delivered to that consumer.</p>
 <blockquote>
-<p>Cumulative acknowledgement cannot be used with <a href="#subscription-modes">shared subscription mode</a>, because shared mode involves multiple consumers having access to the same subscription.</p>
+<p>Cumulative acknowledgement cannot be used with <a href="#subscription-types">shared subscription type</a>, because shared mode involves multiple consumers having access to the same subscription.</p>
 </blockquote>
-<p>In the shared subscription mode, messages can be acknowledged individually.</p>
+<p>In Shared subscription type, messages can be acknowledged individually.</p>
 <h3><a class="anchor" aria-hidden="true" id="negative-acknowledgement"></a><a href="#negative-acknowledgement" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>When a consumer does not consume a message successfully at a time, and wants to consume the message again, the consumer can send a negative acknowledgement to the broker, and then the broker will redeliver the message.</p>
-<p>Messages can be negatively acknowledged one by one or cumulatively, which depends on the consumption subscription mode.</p>
-<p>In the exclusive and failover subscription modes, consumers only negatively acknowledge the last message they have received.</p>
-<p>In the shared and Key_Shared subscription modes, you can negatively acknowledge messages individually.</p>
+<p>Messages can be negatively acknowledged either individually or cumulatively, depending on the consumption subscription type.</p>
+<p>In the exclusive and failover subscription types, consumers only negatively acknowledge the last message they have received.</p>
+<p>In the shared and Key_Shared subscription types, you can negatively acknowledge messages individually.</p>
 <h3><a class="anchor" aria-hidden="true" id="acknowledgement-timeout"></a><a href="#acknowledgement-timeout" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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 a message is not consumed successfully, and you want to trigger the broker to redeliver the message automatically, you can adopt the unacknowledged message automatic re-delivery mechanism. Client will track the unacknowledged messages within the entire <code>acktimeout</code> time range, and send a <code>redeliver unacknowledged messages</code> request to the broker automatically when the acknowledgement timeout is specified.</p>
 <blockquote>
@@ -181,7 +181,7 @@
 </code></pre>
 <p>Dead letter topic depends on message re-delivery. Messages are redelivered either due to <a href="#acknowledgement-timeout">acknowledgement timeout</a> or <a href="#negative-acknowledgement">negative acknowledgement</a>. If you are going to use negative acknowledgement on a message, make sure it is negatively acknowledged before the acknowledgement timeout.</p>
 <blockquote>
-<p>Note Currently, dead letter topic is enabled only in the shared subscription mode.</p>
+<p><strong>Note</strong> Currently, dead letter topic is enabled only in Shared subscription type.</p>
 </blockquote>
 <h2><a class="anchor" aria-hidden="true" id="topics"></a><a href="#topics" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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. [...]
 <p>As in other pub-sub systems, topics in Pulsar are named channels for transmitting messages from <a href="/docs/fr/2.4.2/reference-terminology#producer">producers</a> to <a href="/docs/fr/2.4.2/reference-terminology#consumer">consumers</a>. Topic names are URLs that have a well-defined structure:</p>
@@ -204,18 +204,18 @@
 </blockquote>
 <h2><a class="anchor" aria-hidden="true" id="espaces-de-nommage"></a><a href="#espaces-de-nommage" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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- [...]
 <p>A namespace is a logical nomenclature within a tenant. A tenant can create multiple namespaces via the <a href="/docs/fr/2.4.2/admin-api-namespaces#create">admin API</a>. For instance, a tenant with different applications can create a separate namespace for each application. A namespace allows the application to create and manage a hierarchy of topics. The topic <code>my-tenant/app1</code> is a namespace for the application <code>app1</code> for <code>my-tenant</code>. You can create  [...]
-<h2><a class="anchor" aria-hidden="true" id="subscription-modes"></a><a href="#subscription-modes" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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- [...]
-<p>A subscription is a named configuration rule that determines how messages are delivered to consumers. There are three available subscription modes in Pulsar: <a href="#exclusive">exclusive</a>, <a href="#shared">shared</a>, and <a href="#failover">failover</a>. These modes are illustrated in the figure below.</p>
-<p><img src="/docs/assets/pulsar-subscription-modes.png" alt="Subscription modes"></p>
+<h2><a class="anchor" aria-hidden="true" id="subscription-types"></a><a href="#subscription-types" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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- [...]
+<p>A subscription is a named configuration rule that determines how messages are delivered to consumers. There are three available subscription types in Pulsar: <a href="#exclusive">exclusive</a>, <a href="#shared">shared</a>, and <a href="#failover">failover</a>. These types are illustrated in the figure below.</p>
+<p><img src="/docs/assets/pulsar-subscription-types.png" alt="Subscription types"></p>
 <h3><a class="anchor" aria-hidden="true" id="exclusive"></a><a href="#exclusive" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>In <em>exclusive</em> mode, only a single consumer is allowed to attach to the subscription. If more than one consumer attempts to subscribe to a topic using the same subscription, the consumer receives an error.</p>
+<p>In <em>exclusive</em> type, only a single consumer is allowed to attach to the subscription. If more than one consumer attempts to subscribe to a topic using the same subscription, the consumer receives an error.</p>
 <p>In the diagram below, only <strong>Consumer A-0</strong> is allowed to consume messages.</p>
 <blockquote>
-<p>Exclusive mode is the default subscription mode.</p>
+<p>Exclusive is the default subscription type.</p>
 </blockquote>
 <p><img src="/docs/assets/pulsar-exclusive-subscriptions.png" alt="Exclusive subscriptions"></p>
 <h3><a class="anchor" aria-hidden="true" id="failover"></a><a href="#failover" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
-<p>In <em>failover</em> mode, multiple consumers can attach to the same subscription. In failover mode, the broker selects the master consumer based on the priority level and the lexicographical sorting of a consumer name. If two consumers have an identical priority level, the broker selects the master consumer based on the lexicographical sorting. If these two consumers have different priority levels, the broker selects the consumer with a higher priority level as the master consumer. T [...]
+<p>In <em>Failover</em> type, multiple consumers can attach to the same subscription. In failover mode, the broker selects the master consumer based on the priority level and the lexicographical sorting of a consumer name. If two consumers have an identical priority level, the broker selects the master consumer based on the lexicographical sorting. If these two consumers have different priority levels, the broker selects the consumer with a higher priority level as the master consumer. T [...]
 <p>For partitioned topics, the broker assigns partitioned topics to the consumer with the highest priority level. If multiple consumers have the highest priority level, the broker evenly assigns topics to consumers with these consumers.</p>
 <p>In the diagram below, <strong>Consumer-B-0</strong> is the master consumer while <strong>Consumer-B-1</strong> would be the next consumer in line to receive messages if <strong>Consumer-B-0</strong> is disconnected.</p>
 <p><img src="/docs/assets/pulsar-failover-subscriptions.png" alt="Failover subscriptions"></p>
@@ -281,9 +281,9 @@ Consumer&lt;<span class="hljs-keyword">byte</span>[]&gt; someTopicsConsumer = pu
 <p>The diagram below illustrates this:</p>
 <p><img src="/docs/assets/partitioning.png" alt=""></p>
 <p>Here, the topic <strong>Topic1</strong> has five partitions (<strong>P0</strong> through <strong>P4</strong>) split across three brokers. Because there are more partitions than brokers, two brokers handle two partitions a piece, while the third handles only one (again, Pulsar handles this distribution of partitions automatically).</p>
-<p>Messages for this topic are broadcast to two consumers. The <a href="#routing-modes">routing mode</a> determines both which broker handles each partition, while the <a href="#subscription-modes">subscription mode</a> determines which messages go to which consumers.</p>
-<p>Decisions about routing and subscription modes can be made separately in most cases. In general, throughput concerns should guide partitioning/routing decisions while subscription decisions should be guided by application semantics.</p>
-<p>There is no difference between partitioned topics and normal topics in terms of how subscription modes work, as partitioning only determines what happens between when a message is published by a producer and processed and acknowledged by a consumer.</p>
+<p>Messages for this topic are broadcast to two consumers. The <a href="#routing-modes">routing mode</a> determines both which broker handles each partition, while the <a href="#subscription-types">subscription type</a> determines which messages go to which consumers.</p>
+<p>Decisions about routing and subscription types can be made separately in most cases. In general, throughput concerns should guide partitioning/routing decisions while subscription decisions should be guided by application semantics.</p>
+<p>There is no difference between partitioned topics and normal topics in terms of how subscription types work, as partitioning only determines what happens between when a message is published by a producer and processed and acknowledged by a consumer.</p>
 <p>Partitioned topics need to be explicitly created via the <a href="/docs/fr/2.4.2/admin-api-overview">admin API</a>. The number of partitions can be specified when creating the topic.</p>
 <h3><a class="anchor" aria-hidden="true" id="routing-modes"></a><a href="#routing-modes" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>When publishing to partitioned topics, you must specify a <em>routing mode</em>. The routing mode determines which partition---that is, which internal topic---each message should be published to.</p>
@@ -335,7 +335,7 @@ Consumer&lt;<span class="hljs-keyword">byte</span>[]&gt; someTopicsConsumer = pu
 <h3><a class="anchor" aria-hidden="true" id="performance"></a><a href="#performance" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>Non-persistent messaging is usually faster than persistent messaging because brokers don't persist messages and immediately send acks back to the producer as soon as that message is delivered to connected brokers. Producers thus see comparatively low publish latency with non-persistent topic.</p>
 <h3><a class="anchor" aria-hidden="true" id="client-api"></a><a href="#client-api" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>Producers and consumers can connect to non-persistent topics in the same way as persistent topics, with the crucial difference that the topic name must start with <code>non-persistent</code>. All three subscription modes---<a href="#exclusive">exclusive</a>, <a href="#shared">shared</a>, and <a href="#failover">failover</a>---are supported for non-persistent topics.</p>
+<p>Producers and consumers can connect to non-persistent topics in the same way as persistent topics, with the crucial difference that the topic name must start with <code>non-persistent</code>. All three subscription types---<a href="#exclusive">exclusive</a>, <a href="#shared">shared</a>, and <a href="#failover">failover</a>---are supported for non-persistent topics.</p>
 <p>Here's an example <a href="/docs/fr/2.4.2/client-libraries-java#consumers">Java consumer</a> for a non-persistent topic:</p>
 <pre><code class="hljs css language-java">PulsarClient client = PulsarClient.builder()
         .serviceUrl(<span class="hljs-string">"pulsar://localhost:6650"</span>)
@@ -387,7 +387,7 @@ Consumer&lt;<span class="hljs-keyword">byte</span>[]&gt; consumer = client.newCo
 <blockquote>
 <p>More in-depth information can be found in <a href="https://streaml.io/blog/pulsar-effectively-once/">this post</a> on the <a href="https://streaml.io/blog">Streamlio blog</a></p>
 </blockquote>
-</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/fr/2.4.2/concepts-overview"><span class="arrow-prev">← </span><span>Overview</span></a><a class="docs-next button" href="/docs/fr/2.4.2/concepts-architecture-overview"><span>Architecture</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#messages">Messages</a></li><li><a href="#producers">Producers</a><ul class="toc-headi [...]
+</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/fr/2.4.2/concepts-overview"><span class="arrow-prev">← </span><span>Overview</span></a><a class="docs-next button" href="/docs/fr/2.4.2/concepts-architecture-overview"><span>Architecture</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#messages">Messages</a></li><li><a href="#producers">Producers</a><ul class="toc-headi [...]
       const community = document.querySelector("a[href='#community']").parentNode;
       const communityMenu =
         '<li>' +
diff --git a/content/docs/fr/2.4.2/concepts-messaging/index.html b/content/docs/fr/2.4.2/concepts-messaging/index.html
index d40ad4c..a40ae8b 100644
--- a/content/docs/fr/2.4.2/concepts-messaging/index.html
+++ b/content/docs/fr/2.4.2/concepts-messaging/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>Messaging Concepts · Apache Pulsar</title><meta name="viewport" content="width=device-width, initial-scale=1.0"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar is built on the [publish-subscribe](https://en.wikipedia.org/wiki/Publish%E2%80%93subscribe_pattern) pattern, aka pub-sub. In this pattern, [producers](#producers) publish  [...]
+<!DOCTYPE html><html lang="fr"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Messaging Concepts · Apache Pulsar</title><meta name="viewport" content="width=device-width, initial-scale=1.0"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar is built on the [publish-subscribe](https://en.wikipedia.org/wiki/Publish%E2%80%93subscribe_pattern) pattern, aka pub-sub. In this pattern, [producers](#producers) publish  [...]
               (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,7 +74,7 @@
                 };
               }
             });
-        </script></nav></div><div class="container mainContainer docsContainer"><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 id="__docusaurus" class="postHeaderTitle">Messaging Concepts</h1></header><article><div><span><p>Pulsar is built on the <a href="https://en.wikipedia.org/wiki/Publish%E2%80%93subscribe_pattern">publish- [...]
+        </script></nav></div><div class="container mainContainer docsContainer"><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 id="__docusaurus" class="postHeaderTitle">Messaging Concepts</h1></header><article><div><span><p>Pulsar is built on the <a href="https://en.wikipedia.org/wiki/Publish%E2%80%93subscribe_pattern">publish- [...]
 <p>Once a subscription has been created, all messages will be <a href="/docs/fr/2.4.2/concepts-architecture-overview#persistent-storage">retained</a> by Pulsar, even if the consumer gets disconnected. Retained messages will be discarded only when a consumer acknowledges that they've been successfully processed.</p>
 <h2><a class="anchor" aria-hidden="true" id="messages"></a><a href="#messages" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
 <p>Messages are the basic &quot;unit&quot; of Pulsar. They're what producers publish to topics and what consumers then consume from topics (and acknowledge when the message has been processed). Messages are the analogue of letters in a postal service system.</p>
@@ -138,14 +138,14 @@
 <p>When a consumer has consumed a message successfully, the consumer sends an acknowledgement request to the broker, so that the broker will discard the message. Otherwise, it <a href="/docs/fr/2.4.2/concepts-architecture-overview#persistent-storage">stores</a> the message.</p>
 <p>Messages can be acknowledged either one by one or cumulatively. With cumulative acknowledgement, the consumer only needs to acknowledge the last message it received. All messages in the stream up to (and including) the provided message will not be re-delivered to that consumer.</p>
 <blockquote>
-<p>Cumulative acknowledgement cannot be used with <a href="#subscription-modes">shared subscription mode</a>, because shared mode involves multiple consumers having access to the same subscription.</p>
+<p>Cumulative acknowledgement cannot be used with <a href="#subscription-types">shared subscription type</a>, because shared mode involves multiple consumers having access to the same subscription.</p>
 </blockquote>
-<p>In the shared subscription mode, messages can be acknowledged individually.</p>
+<p>In Shared subscription type, messages can be acknowledged individually.</p>
 <h3><a class="anchor" aria-hidden="true" id="negative-acknowledgement"></a><a href="#negative-acknowledgement" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>When a consumer does not consume a message successfully at a time, and wants to consume the message again, the consumer can send a negative acknowledgement to the broker, and then the broker will redeliver the message.</p>
-<p>Messages can be negatively acknowledged one by one or cumulatively, which depends on the consumption subscription mode.</p>
-<p>In the exclusive and failover subscription modes, consumers only negatively acknowledge the last message they have received.</p>
-<p>In the shared and Key_Shared subscription modes, you can negatively acknowledge messages individually.</p>
+<p>Messages can be negatively acknowledged either individually or cumulatively, depending on the consumption subscription type.</p>
+<p>In the exclusive and failover subscription types, consumers only negatively acknowledge the last message they have received.</p>
+<p>In the shared and Key_Shared subscription types, you can negatively acknowledge messages individually.</p>
 <h3><a class="anchor" aria-hidden="true" id="acknowledgement-timeout"></a><a href="#acknowledgement-timeout" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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 a message is not consumed successfully, and you want to trigger the broker to redeliver the message automatically, you can adopt the unacknowledged message automatic re-delivery mechanism. Client will track the unacknowledged messages within the entire <code>acktimeout</code> time range, and send a <code>redeliver unacknowledged messages</code> request to the broker automatically when the acknowledgement timeout is specified.</p>
 <blockquote>
@@ -181,7 +181,7 @@
 </code></pre>
 <p>Dead letter topic depends on message re-delivery. Messages are redelivered either due to <a href="#acknowledgement-timeout">acknowledgement timeout</a> or <a href="#negative-acknowledgement">negative acknowledgement</a>. If you are going to use negative acknowledgement on a message, make sure it is negatively acknowledged before the acknowledgement timeout.</p>
 <blockquote>
-<p>Note Currently, dead letter topic is enabled only in the shared subscription mode.</p>
+<p><strong>Note</strong> Currently, dead letter topic is enabled only in Shared subscription type.</p>
 </blockquote>
 <h2><a class="anchor" aria-hidden="true" id="topics"></a><a href="#topics" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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. [...]
 <p>As in other pub-sub systems, topics in Pulsar are named channels for transmitting messages from <a href="/docs/fr/2.4.2/reference-terminology#producer">producers</a> to <a href="/docs/fr/2.4.2/reference-terminology#consumer">consumers</a>. Topic names are URLs that have a well-defined structure:</p>
@@ -204,18 +204,18 @@
 </blockquote>
 <h2><a class="anchor" aria-hidden="true" id="espaces-de-nommage"></a><a href="#espaces-de-nommage" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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- [...]
 <p>A namespace is a logical nomenclature within a tenant. A tenant can create multiple namespaces via the <a href="/docs/fr/2.4.2/admin-api-namespaces#create">admin API</a>. For instance, a tenant with different applications can create a separate namespace for each application. A namespace allows the application to create and manage a hierarchy of topics. The topic <code>my-tenant/app1</code> is a namespace for the application <code>app1</code> for <code>my-tenant</code>. You can create  [...]
-<h2><a class="anchor" aria-hidden="true" id="subscription-modes"></a><a href="#subscription-modes" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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- [...]
-<p>A subscription is a named configuration rule that determines how messages are delivered to consumers. There are three available subscription modes in Pulsar: <a href="#exclusive">exclusive</a>, <a href="#shared">shared</a>, and <a href="#failover">failover</a>. These modes are illustrated in the figure below.</p>
-<p><img src="/docs/assets/pulsar-subscription-modes.png" alt="Subscription modes"></p>
+<h2><a class="anchor" aria-hidden="true" id="subscription-types"></a><a href="#subscription-types" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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- [...]
+<p>A subscription is a named configuration rule that determines how messages are delivered to consumers. There are three available subscription types in Pulsar: <a href="#exclusive">exclusive</a>, <a href="#shared">shared</a>, and <a href="#failover">failover</a>. These types are illustrated in the figure below.</p>
+<p><img src="/docs/assets/pulsar-subscription-types.png" alt="Subscription types"></p>
 <h3><a class="anchor" aria-hidden="true" id="exclusive"></a><a href="#exclusive" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>In <em>exclusive</em> mode, only a single consumer is allowed to attach to the subscription. If more than one consumer attempts to subscribe to a topic using the same subscription, the consumer receives an error.</p>
+<p>In <em>exclusive</em> type, only a single consumer is allowed to attach to the subscription. If more than one consumer attempts to subscribe to a topic using the same subscription, the consumer receives an error.</p>
 <p>In the diagram below, only <strong>Consumer A-0</strong> is allowed to consume messages.</p>
 <blockquote>
-<p>Exclusive mode is the default subscription mode.</p>
+<p>Exclusive is the default subscription type.</p>
 </blockquote>
 <p><img src="/docs/assets/pulsar-exclusive-subscriptions.png" alt="Exclusive subscriptions"></p>
 <h3><a class="anchor" aria-hidden="true" id="failover"></a><a href="#failover" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
-<p>In <em>failover</em> mode, multiple consumers can attach to the same subscription. In failover mode, the broker selects the master consumer based on the priority level and the lexicographical sorting of a consumer name. If two consumers have an identical priority level, the broker selects the master consumer based on the lexicographical sorting. If these two consumers have different priority levels, the broker selects the consumer with a higher priority level as the master consumer. T [...]
+<p>In <em>Failover</em> type, multiple consumers can attach to the same subscription. In failover mode, the broker selects the master consumer based on the priority level and the lexicographical sorting of a consumer name. If two consumers have an identical priority level, the broker selects the master consumer based on the lexicographical sorting. If these two consumers have different priority levels, the broker selects the consumer with a higher priority level as the master consumer. T [...]
 <p>For partitioned topics, the broker assigns partitioned topics to the consumer with the highest priority level. If multiple consumers have the highest priority level, the broker evenly assigns topics to consumers with these consumers.</p>
 <p>In the diagram below, <strong>Consumer-B-0</strong> is the master consumer while <strong>Consumer-B-1</strong> would be the next consumer in line to receive messages if <strong>Consumer-B-0</strong> is disconnected.</p>
 <p><img src="/docs/assets/pulsar-failover-subscriptions.png" alt="Failover subscriptions"></p>
@@ -281,9 +281,9 @@ Consumer&lt;<span class="hljs-keyword">byte</span>[]&gt; someTopicsConsumer = pu
 <p>The diagram below illustrates this:</p>
 <p><img src="/docs/assets/partitioning.png" alt=""></p>
 <p>Here, the topic <strong>Topic1</strong> has five partitions (<strong>P0</strong> through <strong>P4</strong>) split across three brokers. Because there are more partitions than brokers, two brokers handle two partitions a piece, while the third handles only one (again, Pulsar handles this distribution of partitions automatically).</p>
-<p>Messages for this topic are broadcast to two consumers. The <a href="#routing-modes">routing mode</a> determines both which broker handles each partition, while the <a href="#subscription-modes">subscription mode</a> determines which messages go to which consumers.</p>
-<p>Decisions about routing and subscription modes can be made separately in most cases. In general, throughput concerns should guide partitioning/routing decisions while subscription decisions should be guided by application semantics.</p>
-<p>There is no difference between partitioned topics and normal topics in terms of how subscription modes work, as partitioning only determines what happens between when a message is published by a producer and processed and acknowledged by a consumer.</p>
+<p>Messages for this topic are broadcast to two consumers. The <a href="#routing-modes">routing mode</a> determines both which broker handles each partition, while the <a href="#subscription-types">subscription type</a> determines which messages go to which consumers.</p>
+<p>Decisions about routing and subscription types can be made separately in most cases. In general, throughput concerns should guide partitioning/routing decisions while subscription decisions should be guided by application semantics.</p>
+<p>There is no difference between partitioned topics and normal topics in terms of how subscription types work, as partitioning only determines what happens between when a message is published by a producer and processed and acknowledged by a consumer.</p>
 <p>Partitioned topics need to be explicitly created via the <a href="/docs/fr/2.4.2/admin-api-overview">admin API</a>. The number of partitions can be specified when creating the topic.</p>
 <h3><a class="anchor" aria-hidden="true" id="routing-modes"></a><a href="#routing-modes" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>When publishing to partitioned topics, you must specify a <em>routing mode</em>. The routing mode determines which partition---that is, which internal topic---each message should be published to.</p>
@@ -335,7 +335,7 @@ Consumer&lt;<span class="hljs-keyword">byte</span>[]&gt; someTopicsConsumer = pu
 <h3><a class="anchor" aria-hidden="true" id="performance"></a><a href="#performance" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>Non-persistent messaging is usually faster than persistent messaging because brokers don't persist messages and immediately send acks back to the producer as soon as that message is delivered to connected brokers. Producers thus see comparatively low publish latency with non-persistent topic.</p>
 <h3><a class="anchor" aria-hidden="true" id="client-api"></a><a href="#client-api" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>Producers and consumers can connect to non-persistent topics in the same way as persistent topics, with the crucial difference that the topic name must start with <code>non-persistent</code>. All three subscription modes---<a href="#exclusive">exclusive</a>, <a href="#shared">shared</a>, and <a href="#failover">failover</a>---are supported for non-persistent topics.</p>
+<p>Producers and consumers can connect to non-persistent topics in the same way as persistent topics, with the crucial difference that the topic name must start with <code>non-persistent</code>. All three subscription types---<a href="#exclusive">exclusive</a>, <a href="#shared">shared</a>, and <a href="#failover">failover</a>---are supported for non-persistent topics.</p>
 <p>Here's an example <a href="/docs/fr/2.4.2/client-libraries-java#consumers">Java consumer</a> for a non-persistent topic:</p>
 <pre><code class="hljs css language-java">PulsarClient client = PulsarClient.builder()
         .serviceUrl(<span class="hljs-string">"pulsar://localhost:6650"</span>)
@@ -387,7 +387,7 @@ Consumer&lt;<span class="hljs-keyword">byte</span>[]&gt; consumer = client.newCo
 <blockquote>
 <p>More in-depth information can be found in <a href="https://streaml.io/blog/pulsar-effectively-once/">this post</a> on the <a href="https://streaml.io/blog">Streamlio blog</a></p>
 </blockquote>
-</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/fr/2.4.2/concepts-overview"><span class="arrow-prev">← </span><span>Overview</span></a><a class="docs-next button" href="/docs/fr/2.4.2/concepts-architecture-overview"><span>Architecture</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#messages">Messages</a></li><li><a href="#producers">Producers</a><ul class="toc-headi [...]
+</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/fr/2.4.2/concepts-overview"><span class="arrow-prev">← </span><span>Overview</span></a><a class="docs-next button" href="/docs/fr/2.4.2/concepts-architecture-overview"><span>Architecture</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#messages">Messages</a></li><li><a href="#producers">Producers</a><ul class="toc-headi [...]
       const community = document.querySelector("a[href='#community']").parentNode;
       const communityMenu =
         '<li>' +
diff --git a/content/docs/fr/2.4.2/concepts-overview.html b/content/docs/fr/2.4.2/concepts-overview.html
index b245a13..bcb868e 100644
--- a/content/docs/fr/2.4.2/concepts-overview.html
+++ b/content/docs/fr/2.4.2/concepts-overview.html
@@ -81,7 +81,7 @@
 <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/fr/2.4.2/concepts-clients">client API</a> with bindings for <a href="/docs/fr/2.4.2/client-libraries-java">Java</a>, <a href="/docs/fr/2.4.2/client-libraries-go">Go</a>, <a href="/docs/fr/2.4.2/client-libraries-python">Python</a> and <a href="/docs/fr/2.4.2/client-libraries-cpp">C++</a>.</li>
-<li>Multiple <a href="/docs/fr/2.4.2/concepts-messaging#subscription-modes">subscription modes</a> (<a href="/docs/fr/2.4.2/concepts-messaging#exclusive">exclusive</a>, <a href="/docs/fr/2.4.2/concepts-messaging#shared">shared</a>, and <a href="/docs/fr/2.4.2/concepts-messaging#failover">failover</a>) for topics.</li>
+<li>Multiple <a href="/docs/fr/2.4.2/concepts-messaging#subscription-types">subscription types</a> (<a href="/docs/fr/2.4.2/concepts-messaging#exclusive">exclusive</a>, <a href="/docs/fr/2.4.2/concepts-messaging#shared">shared</a>, and <a href="/docs/fr/2.4.2/concepts-messaging#failover">failover</a>) for topics.</li>
 <li>Guaranteed message delivery with <a href="/docs/fr/2.4.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/fr/2.4.2/functions-overview">Pulsar Functions</a> offers the capability for stream-native data processing.</li>
 <li>A serverless connector framework <a href="/docs/fr/2.4.2/io-overview">Pulsar IO</a>, which is built on Pulsar Functions, makes it easier to move data in and out Apache Pulsar.</li>
diff --git a/content/docs/fr/2.4.2/concepts-overview/index.html b/content/docs/fr/2.4.2/concepts-overview/index.html
index b245a13..bcb868e 100644
--- a/content/docs/fr/2.4.2/concepts-overview/index.html
+++ b/content/docs/fr/2.4.2/concepts-overview/index.html
@@ -81,7 +81,7 @@
 <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/fr/2.4.2/concepts-clients">client API</a> with bindings for <a href="/docs/fr/2.4.2/client-libraries-java">Java</a>, <a href="/docs/fr/2.4.2/client-libraries-go">Go</a>, <a href="/docs/fr/2.4.2/client-libraries-python">Python</a> and <a href="/docs/fr/2.4.2/client-libraries-cpp">C++</a>.</li>
-<li>Multiple <a href="/docs/fr/2.4.2/concepts-messaging#subscription-modes">subscription modes</a> (<a href="/docs/fr/2.4.2/concepts-messaging#exclusive">exclusive</a>, <a href="/docs/fr/2.4.2/concepts-messaging#shared">shared</a>, and <a href="/docs/fr/2.4.2/concepts-messaging#failover">failover</a>) for topics.</li>
+<li>Multiple <a href="/docs/fr/2.4.2/concepts-messaging#subscription-types">subscription types</a> (<a href="/docs/fr/2.4.2/concepts-messaging#exclusive">exclusive</a>, <a href="/docs/fr/2.4.2/concepts-messaging#shared">shared</a>, and <a href="/docs/fr/2.4.2/concepts-messaging#failover">failover</a>) for topics.</li>
 <li>Guaranteed message delivery with <a href="/docs/fr/2.4.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/fr/2.4.2/functions-overview">Pulsar Functions</a> offers the capability for stream-native data processing.</li>
 <li>A serverless connector framework <a href="/docs/fr/2.4.2/io-overview">Pulsar IO</a>, which is built on Pulsar Functions, makes it easier to move data in and out Apache Pulsar.</li>
diff --git a/content/docs/fr/2.5.0/client-libraries-java.html b/content/docs/fr/2.5.0/client-libraries-java.html
index e30970b..87598ff 100644
--- a/content/docs/fr/2.5.0/client-libraries-java.html
+++ b/content/docs/fr/2.5.0/client-libraries-java.html
@@ -240,7 +240,7 @@ stringProducer.send(<span class="hljs-string">"My message"</span>);
 <h3><a class="anchor" aria-hidden="true" id="configure-consumer"></a><a href="#configure-consumer" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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- [...]
 <p>If you instantiate a <code>Consumer</code> object by specifying only a topic and subscription name as in the example above, the consumer uses the default configuration.</p>
 <p>When you create a consumer, you can use the <code>loadConf</code> configuration. The following parameters are available in <code>loadConf</code>.</p>
-<p>Type | Name| <div style="width:300px">Description</div>|  Default |---|---|---|--- Set&lt;String&gt;|  <code>topicNames</code>|   Topic name| Sets.newTreeSet() Pattern|   <code>topicsPattern</code>| Topic pattern   |None String| <code>subscriptionName</code>| Subscription name|  None SubscriptionType| <code>subscriptionType</code>|   Subscription type <br/><br/>Four subscription types are available:<li>Exclusive</li><li>Failover</li><li>Shared</li><li>Key_Shared</li>|SubscriptionType. [...]
+<p>Type | Name| <div style="width:300px">Description</div>|  Default |---|---|---|--- Set&lt;String&gt;|  <code>topicNames</code>|   Topic name| Sets.newTreeSet() Pattern|   <code>topicsPattern</code>| Topic pattern   |None String| <code>subscriptionName</code>| Subscription name|  None SubscriptionType| <code>subscriptionType</code>|   Subscription type <br/><br/>Four subscription types are available:<li>Exclusive</li><li>Failover</li><li>Shared</li><li>Key_Shared</li>|SubscriptionType. [...]
 SortedMap&lt;String, String&gt;|<code>properties</code>|A name or value property of this consumer.<br/><br/><code>properties</code> is application defined metadata attached to a consumer. <br/><br/>When getting a topic stats, associate this metadata with the consumer stats for easier identification.|new TreeMap&lt;&gt;() boolean|<code>readCompacted</code>|If enabling <code>readCompacted</code>, a consumer reads messages from a compacted topic rather than reading a full message backlog of [...]
 <p>You can configure parameters if you do not want to use the default configuration. For a full list, see the Javadoc for the <a href="https://pulsar.incubator.apache.org/api/client/2.8.0-SNAPSHOT/org/apache/pulsar/client/api/ConsumerBuilder">ConsumerBuilder</a>
  class.</p>
@@ -269,8 +269,7 @@ SortedMap&lt;String, String&gt;|<code>properties</code>|A name or value property
 consumer.acknowledge(messages)
 </code></pre>
 <blockquote>
-<p>Note:</p>
-<p>Batch receive policy limits the number and bytes of messages in a single batch. You can specify a timeout to wait for enough messages.</p>
+<p><strong>Note</strong> Batch receive policy limits the number and bytes of messages in a single batch. You can specify a timeout to wait for enough messages.</p>
 <p>The batch receive is completed if any of the following condition is met: enough number of messages, bytes of messages, wait timeout.</p>
 <p><code>java Consumer consumer = client.newConsumer() .topic(&quot;my-topic&quot;) .subscriptionName(&quot;my-subscription&quot;) .batchReceivePolicy(BatchReceivePolicy.builder() .maxNumMessages(100) .maxNumBytes(1024 * 1024) .timeout(200, TimeUnit.MILLISECONDS) .build()) .subscribe();</code> The default batch receive policy is: <code>java BatchReceivePolicy.builder() .maxNumMessage(-1) .maxNumBytes(10 * 1024 * 1024) .timeout(100, TimeUnit.MILLISECONDS) .build();</code></p>
 </blockquote>
@@ -333,10 +332,10 @@ consumerBuilder
             });
 }
 </code></pre>
-<h3><a class="anchor" aria-hidden="true" id="subscription-modes"></a><a href="#subscription-modes" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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- [...]
-<p>Pulsar has various <a href="concepts-messaging#subscription-modes">subscription modes</a> to match different scenarios. A topic can have multiple subscriptions with different subscription modes. However, a subscription can only have one subscription mode at a time.</p>
-<p>A subscription is identical with the subscription name which can specify only one subscription mode at a time. You cannot change the subscription mode unless all existing consumers of this subscription are offline.</p>
-<p>Different subscription modes have different message distribution modes. This section describes the differences of subscription modes and how to use them.</p>
+<h3><a class="anchor" aria-hidden="true" id="subscription-types"></a><a href="#subscription-types" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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- [...]
+<p>Pulsar has various <a href="concepts-messaging#subscription-types">subscription types</a> to match different scenarios. A topic can have multiple subscriptions with different subscription types. However, a subscription can only have one subscription type at a time.</p>
+<p>A subscription is identical with the subscription name; a subscription name can specify only one subscription type at a time. To change the subscription type, you should first stop all consumers of this subscription.</p>
+<p>Different subscription types have different message distribution modes. This section describes the differences of subscription types and how to use them.</p>
 <p>In order to better describe their differences, assuming you have a topic named &quot;my-topic&quot;, and the producer has published 10 messages.</p>
 <pre><code class="hljs css language-java">Producer&lt;String&gt; producer = client.newProducer(Schema.STRING)
         .topic(<span class="hljs-string">"my-topic"</span>)
@@ -355,7 +354,7 @@ producer.newMessage().key(<span class="hljs-string">"key-4"</span>).value(<span
 producer.newMessage().key(<span class="hljs-string">"key-4"</span>).value(<span class="hljs-string">"message-4-2"</span>).send();
 </code></pre>
 <h4><a class="anchor" aria-hidden="true" id="exclusive"></a><a href="#exclusive" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>Create a new consumer and subscribe with the <code>Exclusive</code> subscription mode.</p>
+<p>Create a new consumer and subscribe with the <code>Exclusive</code> subscription type.</p>
 <pre><code class="hljs css language-java">Consumer consumer = client.newConsumer()
         .topic(<span class="hljs-string">"my-topic"</span>)
         .subscriptionName(<span class="hljs-string">"my-subscription"</span>)
@@ -364,11 +363,10 @@ producer.newMessage().key(<span class="hljs-string">"key-4"</span>).value(<span
 </code></pre>
 <p>Only the first consumer is allowed to the subscription, other consumers receive an error. The first consumer receives all 10 messages, and the consuming order is the same as the producing order.</p>
 <blockquote>
-<p>Note:</p>
-<p>If topic is a partitioned topic, the first consumer subscribes to all partitioned topics, other consumers are not assigned with partitions and receive an error.</p>
+<p><strong>Note</strong> If topic is a partitioned topic, the first consumer subscribes to all partitioned topics, other consumers are not assigned with partitions and receive an error.</p>
 </blockquote>
 <h4><a class="anchor" aria-hidden="true" id="failover"></a><a href="#failover" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
-<p>Create new consumers and subscribe with the<code>Failover</code> subscription mode.</p>
+<p>Create new consumers and subscribe with the<code>Failover</code> subscription type.</p>
 <pre><code class="hljs css language-java">Consumer consumer1 = client.newConsumer()
         .topic(<span class="hljs-string">"my-topic"</span>)
         .subscriptionName(<span class="hljs-string">"my-subscription"</span>)
@@ -400,11 +398,10 @@ Consumer consumer2 = client.newConsumer()
 (<span class="hljs-string">"key-4"</span>, <span class="hljs-string">"message-4-2"</span>)
 </code></pre>
 <blockquote>
-<p>Note:</p>
-<p>If a topic is a partitioned topic, each partition has only one active consumer, messages of one partition are distributed to only one consumer, and messages of multiple partitions are distributed to multiple consumers.</p>
+<p><strong>Note</strong> If a topic is a partitioned topic, each partition has only one active consumer, messages of one partition are distributed to only one consumer, and messages of multiple partitions are distributed to multiple consumers.</p>
 </blockquote>
 <h4><a class="anchor" aria-hidden="true" id="shared"></a><a href="#shared" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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. [...]
-<p>Create new consumers and subscribe with <code>Shared</code> subscription mode:</p>
+<p>Create new consumers and subscribe with <code>Shared</code> subscription type.</p>
 <pre><code class="hljs css language-java">Consumer consumer1 = client.newConsumer()
         .topic(<span class="hljs-string">"my-topic"</span>)
         .subscriptionName(<span class="hljs-string">"my-subscription"</span>)
@@ -418,7 +415,7 @@ Consumer consumer2 = client.newConsumer()
         .subscribe()
 <span class="hljs-comment">//Both consumer1 and consumer 2 is active consumers.</span>
 </code></pre>
-<p>In shared subscription mode, multiple consumers can attach to the same subscription and messages are delivered in a round robin distribution across consumers.</p>
+<p>In shared subscription type, multiple consumers can attach to the same subscription and messages are delivered in a round robin distribution across consumers.</p>
 <p>If a broker dispatches only one message at a time, consumer1 receives the following information.</p>
 <pre><code class="hljs">(<span class="hljs-string">"key-1"</span>, <span class="hljs-string">"message-1-1"</span>)
 (<span class="hljs-string">"key-1"</span>, <span class="hljs-string">"message-1-3"</span>)
@@ -433,9 +430,9 @@ Consumer consumer2 = client.newConsumer()
 (<span class="hljs-string">"key-3"</span>, <span class="hljs-string">"message-3-2"</span>)
 (<span class="hljs-string">"key-4"</span>, <span class="hljs-string">"message-4-2"</span>)
 </code></pre>
-<p><code>Shared</code> subscription is different from <code>Exclusive</code> and <code>Failover</code> subscription modes. <code>Shared</code> subscription has better flexibility, but cannot provide order guarantee.</p>
+<p><code>Shared</code> subscription is different from <code>Exclusive</code> and <code>Failover</code> subscription types. <code>Shared</code> subscription has better flexibility, but cannot provide order guarantee.</p>
 <h4><a class="anchor" aria-hidden="true" id="key_shared"></a><a href="#key_shared" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>This is a new subscription mode since 2.4.0 release, create new consumers and subscribe with <code>Key_Shared</code> subscription mode.</p>
+<p>This is a new subscription type since 2.4.0 release. Create new consumers and subscribe with <code>Key_Shared</code> subscription type.</p>
 <pre><code class="hljs css language-java">Consumer consumer1 = client.newConsumer()
         .topic(<span class="hljs-string">"my-topic"</span>)
         .subscriptionName(<span class="hljs-string">"my-subscription"</span>)
@@ -465,8 +462,7 @@ Consumer consumer2 = client.newConsumer()
 (<span class="hljs-string">"key-4"</span>, <span class="hljs-string">"message-4-2"</span>)
 </code></pre>
 <blockquote>
-<p>Note:</p>
-<p>If the message key is not specified, messages without key are dispatched to one consumer in order by default.</p>
+<p><strong>Note</strong> If the message key is not specified, messages without key are dispatched to one consumer in order by default.</p>
 </blockquote>
 <h2><a class="anchor" aria-hidden="true" id="reader"></a><a href="#reader" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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. [...]
 <p>With the <a href="/docs/fr/2.5.0/concepts-clients#reader-interface">reader interface</a>, Pulsar clients can &quot;manually position&quot; themselves within a topic and reading all messages from a specified message onward. The Pulsar API for Java enables you to create <a href="https://pulsar.incubator.apache.org/api/client/2.8.0-SNAPSHOT/org/apache/pulsar/client/api/Reader">Reader</a>
@@ -625,7 +621,7 @@ PulsarClient client = PulsarClient.builder()
 <h4><a class="anchor" aria-hidden="true" id="formats-de-modèle-supportés"></a><a href="#formats-de-modèle-supportés" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 1 [...]
 <p>Le paramètre <code>privateKey</code> supporte les trois formats de schéma suivants : * <code>fichier:///chemin/vers/fichier</code>* * <code>fichier:/chemin/vers/fichier</code>* * <code>data:application/x-pem-file;base64,&lt;base64-encoded value&gt;</code></p>
 </blockquote>
-</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/fr/2.5.0/security-extending"><span class="arrow-prev">← </span><span>Extending</span></a><a class="docs-next button" href="/docs/fr/2.5.0/client-libraries-go"><span>Go</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#installation">Installation</a><ul class="toc-headings"><li><a href="#maven">Maven</a></li><li><a href="# [...]
+</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/fr/2.5.0/security-extending"><span class="arrow-prev">← </span><span>Extending</span></a><a class="docs-next button" href="/docs/fr/2.5.0/client-libraries-go"><span>Go</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#installation">Installation</a><ul class="toc-headings"><li><a href="#maven">Maven</a></li><li><a href="# [...]
       const community = document.querySelector("a[href='#community']").parentNode;
       const communityMenu =
         '<li>' +
diff --git a/content/docs/fr/2.5.0/client-libraries-java/index.html b/content/docs/fr/2.5.0/client-libraries-java/index.html
index e30970b..87598ff 100644
--- a/content/docs/fr/2.5.0/client-libraries-java/index.html
+++ b/content/docs/fr/2.5.0/client-libraries-java/index.html
@@ -240,7 +240,7 @@ stringProducer.send(<span class="hljs-string">"My message"</span>);
 <h3><a class="anchor" aria-hidden="true" id="configure-consumer"></a><a href="#configure-consumer" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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- [...]
 <p>If you instantiate a <code>Consumer</code> object by specifying only a topic and subscription name as in the example above, the consumer uses the default configuration.</p>
 <p>When you create a consumer, you can use the <code>loadConf</code> configuration. The following parameters are available in <code>loadConf</code>.</p>
-<p>Type | Name| <div style="width:300px">Description</div>|  Default |---|---|---|--- Set&lt;String&gt;|  <code>topicNames</code>|   Topic name| Sets.newTreeSet() Pattern|   <code>topicsPattern</code>| Topic pattern   |None String| <code>subscriptionName</code>| Subscription name|  None SubscriptionType| <code>subscriptionType</code>|   Subscription type <br/><br/>Four subscription types are available:<li>Exclusive</li><li>Failover</li><li>Shared</li><li>Key_Shared</li>|SubscriptionType. [...]
+<p>Type | Name| <div style="width:300px">Description</div>|  Default |---|---|---|--- Set&lt;String&gt;|  <code>topicNames</code>|   Topic name| Sets.newTreeSet() Pattern|   <code>topicsPattern</code>| Topic pattern   |None String| <code>subscriptionName</code>| Subscription name|  None SubscriptionType| <code>subscriptionType</code>|   Subscription type <br/><br/>Four subscription types are available:<li>Exclusive</li><li>Failover</li><li>Shared</li><li>Key_Shared</li>|SubscriptionType. [...]
 SortedMap&lt;String, String&gt;|<code>properties</code>|A name or value property of this consumer.<br/><br/><code>properties</code> is application defined metadata attached to a consumer. <br/><br/>When getting a topic stats, associate this metadata with the consumer stats for easier identification.|new TreeMap&lt;&gt;() boolean|<code>readCompacted</code>|If enabling <code>readCompacted</code>, a consumer reads messages from a compacted topic rather than reading a full message backlog of [...]
 <p>You can configure parameters if you do not want to use the default configuration. For a full list, see the Javadoc for the <a href="https://pulsar.incubator.apache.org/api/client/2.8.0-SNAPSHOT/org/apache/pulsar/client/api/ConsumerBuilder">ConsumerBuilder</a>
  class.</p>
@@ -269,8 +269,7 @@ SortedMap&lt;String, String&gt;|<code>properties</code>|A name or value property
 consumer.acknowledge(messages)
 </code></pre>
 <blockquote>
-<p>Note:</p>
-<p>Batch receive policy limits the number and bytes of messages in a single batch. You can specify a timeout to wait for enough messages.</p>
+<p><strong>Note</strong> Batch receive policy limits the number and bytes of messages in a single batch. You can specify a timeout to wait for enough messages.</p>
 <p>The batch receive is completed if any of the following condition is met: enough number of messages, bytes of messages, wait timeout.</p>
 <p><code>java Consumer consumer = client.newConsumer() .topic(&quot;my-topic&quot;) .subscriptionName(&quot;my-subscription&quot;) .batchReceivePolicy(BatchReceivePolicy.builder() .maxNumMessages(100) .maxNumBytes(1024 * 1024) .timeout(200, TimeUnit.MILLISECONDS) .build()) .subscribe();</code> The default batch receive policy is: <code>java BatchReceivePolicy.builder() .maxNumMessage(-1) .maxNumBytes(10 * 1024 * 1024) .timeout(100, TimeUnit.MILLISECONDS) .build();</code></p>
 </blockquote>
@@ -333,10 +332,10 @@ consumerBuilder
             });
 }
 </code></pre>
-<h3><a class="anchor" aria-hidden="true" id="subscription-modes"></a><a href="#subscription-modes" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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- [...]
-<p>Pulsar has various <a href="concepts-messaging#subscription-modes">subscription modes</a> to match different scenarios. A topic can have multiple subscriptions with different subscription modes. However, a subscription can only have one subscription mode at a time.</p>
-<p>A subscription is identical with the subscription name which can specify only one subscription mode at a time. You cannot change the subscription mode unless all existing consumers of this subscription are offline.</p>
-<p>Different subscription modes have different message distribution modes. This section describes the differences of subscription modes and how to use them.</p>
+<h3><a class="anchor" aria-hidden="true" id="subscription-types"></a><a href="#subscription-types" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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- [...]
+<p>Pulsar has various <a href="concepts-messaging#subscription-types">subscription types</a> to match different scenarios. A topic can have multiple subscriptions with different subscription types. However, a subscription can only have one subscription type at a time.</p>
+<p>A subscription is identical with the subscription name; a subscription name can specify only one subscription type at a time. To change the subscription type, you should first stop all consumers of this subscription.</p>
+<p>Different subscription types have different message distribution modes. This section describes the differences of subscription types and how to use them.</p>
 <p>In order to better describe their differences, assuming you have a topic named &quot;my-topic&quot;, and the producer has published 10 messages.</p>
 <pre><code class="hljs css language-java">Producer&lt;String&gt; producer = client.newProducer(Schema.STRING)
         .topic(<span class="hljs-string">"my-topic"</span>)
@@ -355,7 +354,7 @@ producer.newMessage().key(<span class="hljs-string">"key-4"</span>).value(<span
 producer.newMessage().key(<span class="hljs-string">"key-4"</span>).value(<span class="hljs-string">"message-4-2"</span>).send();
 </code></pre>
 <h4><a class="anchor" aria-hidden="true" id="exclusive"></a><a href="#exclusive" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>Create a new consumer and subscribe with the <code>Exclusive</code> subscription mode.</p>
+<p>Create a new consumer and subscribe with the <code>Exclusive</code> subscription type.</p>
 <pre><code class="hljs css language-java">Consumer consumer = client.newConsumer()
         .topic(<span class="hljs-string">"my-topic"</span>)
         .subscriptionName(<span class="hljs-string">"my-subscription"</span>)
@@ -364,11 +363,10 @@ producer.newMessage().key(<span class="hljs-string">"key-4"</span>).value(<span
 </code></pre>
 <p>Only the first consumer is allowed to the subscription, other consumers receive an error. The first consumer receives all 10 messages, and the consuming order is the same as the producing order.</p>
 <blockquote>
-<p>Note:</p>
-<p>If topic is a partitioned topic, the first consumer subscribes to all partitioned topics, other consumers are not assigned with partitions and receive an error.</p>
+<p><strong>Note</strong> If topic is a partitioned topic, the first consumer subscribes to all partitioned topics, other consumers are not assigned with partitions and receive an error.</p>
 </blockquote>
 <h4><a class="anchor" aria-hidden="true" id="failover"></a><a href="#failover" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
-<p>Create new consumers and subscribe with the<code>Failover</code> subscription mode.</p>
+<p>Create new consumers and subscribe with the<code>Failover</code> subscription type.</p>
 <pre><code class="hljs css language-java">Consumer consumer1 = client.newConsumer()
         .topic(<span class="hljs-string">"my-topic"</span>)
         .subscriptionName(<span class="hljs-string">"my-subscription"</span>)
@@ -400,11 +398,10 @@ Consumer consumer2 = client.newConsumer()
 (<span class="hljs-string">"key-4"</span>, <span class="hljs-string">"message-4-2"</span>)
 </code></pre>
 <blockquote>
-<p>Note:</p>
-<p>If a topic is a partitioned topic, each partition has only one active consumer, messages of one partition are distributed to only one consumer, and messages of multiple partitions are distributed to multiple consumers.</p>
+<p><strong>Note</strong> If a topic is a partitioned topic, each partition has only one active consumer, messages of one partition are distributed to only one consumer, and messages of multiple partitions are distributed to multiple consumers.</p>
 </blockquote>
 <h4><a class="anchor" aria-hidden="true" id="shared"></a><a href="#shared" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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. [...]
-<p>Create new consumers and subscribe with <code>Shared</code> subscription mode:</p>
+<p>Create new consumers and subscribe with <code>Shared</code> subscription type.</p>
 <pre><code class="hljs css language-java">Consumer consumer1 = client.newConsumer()
         .topic(<span class="hljs-string">"my-topic"</span>)
         .subscriptionName(<span class="hljs-string">"my-subscription"</span>)
@@ -418,7 +415,7 @@ Consumer consumer2 = client.newConsumer()
         .subscribe()
 <span class="hljs-comment">//Both consumer1 and consumer 2 is active consumers.</span>
 </code></pre>
-<p>In shared subscription mode, multiple consumers can attach to the same subscription and messages are delivered in a round robin distribution across consumers.</p>
+<p>In shared subscription type, multiple consumers can attach to the same subscription and messages are delivered in a round robin distribution across consumers.</p>
 <p>If a broker dispatches only one message at a time, consumer1 receives the following information.</p>
 <pre><code class="hljs">(<span class="hljs-string">"key-1"</span>, <span class="hljs-string">"message-1-1"</span>)
 (<span class="hljs-string">"key-1"</span>, <span class="hljs-string">"message-1-3"</span>)
@@ -433,9 +430,9 @@ Consumer consumer2 = client.newConsumer()
 (<span class="hljs-string">"key-3"</span>, <span class="hljs-string">"message-3-2"</span>)
 (<span class="hljs-string">"key-4"</span>, <span class="hljs-string">"message-4-2"</span>)
 </code></pre>
-<p><code>Shared</code> subscription is different from <code>Exclusive</code> and <code>Failover</code> subscription modes. <code>Shared</code> subscription has better flexibility, but cannot provide order guarantee.</p>
+<p><code>Shared</code> subscription is different from <code>Exclusive</code> and <code>Failover</code> subscription types. <code>Shared</code> subscription has better flexibility, but cannot provide order guarantee.</p>
 <h4><a class="anchor" aria-hidden="true" id="key_shared"></a><a href="#key_shared" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>This is a new subscription mode since 2.4.0 release, create new consumers and subscribe with <code>Key_Shared</code> subscription mode.</p>
+<p>This is a new subscription type since 2.4.0 release. Create new consumers and subscribe with <code>Key_Shared</code> subscription type.</p>
 <pre><code class="hljs css language-java">Consumer consumer1 = client.newConsumer()
         .topic(<span class="hljs-string">"my-topic"</span>)
         .subscriptionName(<span class="hljs-string">"my-subscription"</span>)
@@ -465,8 +462,7 @@ Consumer consumer2 = client.newConsumer()
 (<span class="hljs-string">"key-4"</span>, <span class="hljs-string">"message-4-2"</span>)
 </code></pre>
 <blockquote>
-<p>Note:</p>
-<p>If the message key is not specified, messages without key are dispatched to one consumer in order by default.</p>
+<p><strong>Note</strong> If the message key is not specified, messages without key are dispatched to one consumer in order by default.</p>
 </blockquote>
 <h2><a class="anchor" aria-hidden="true" id="reader"></a><a href="#reader" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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. [...]
 <p>With the <a href="/docs/fr/2.5.0/concepts-clients#reader-interface">reader interface</a>, Pulsar clients can &quot;manually position&quot; themselves within a topic and reading all messages from a specified message onward. The Pulsar API for Java enables you to create <a href="https://pulsar.incubator.apache.org/api/client/2.8.0-SNAPSHOT/org/apache/pulsar/client/api/Reader">Reader</a>
@@ -625,7 +621,7 @@ PulsarClient client = PulsarClient.builder()
 <h4><a class="anchor" aria-hidden="true" id="formats-de-modèle-supportés"></a><a href="#formats-de-modèle-supportés" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 1 [...]
 <p>Le paramètre <code>privateKey</code> supporte les trois formats de schéma suivants : * <code>fichier:///chemin/vers/fichier</code>* * <code>fichier:/chemin/vers/fichier</code>* * <code>data:application/x-pem-file;base64,&lt;base64-encoded value&gt;</code></p>
 </blockquote>
-</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/fr/2.5.0/security-extending"><span class="arrow-prev">← </span><span>Extending</span></a><a class="docs-next button" href="/docs/fr/2.5.0/client-libraries-go"><span>Go</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#installation">Installation</a><ul class="toc-headings"><li><a href="#maven">Maven</a></li><li><a href="# [...]
+</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/fr/2.5.0/security-extending"><span class="arrow-prev">← </span><span>Extending</span></a><a class="docs-next button" href="/docs/fr/2.5.0/client-libraries-go"><span>Go</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#installation">Installation</a><ul class="toc-headings"><li><a href="#maven">Maven</a></li><li><a href="# [...]
       const community = document.querySelector("a[href='#community']").parentNode;
       const communityMenu =
         '<li>' +
diff --git a/content/docs/fr/2.5.0/concepts-messaging.html b/content/docs/fr/2.5.0/concepts-messaging.html
index 68aede0..7ec0c72 100644
--- a/content/docs/fr/2.5.0/concepts-messaging.html
+++ b/content/docs/fr/2.5.0/concepts-messaging.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>Messaging Concepts · Apache Pulsar</title><meta name="viewport" content="width=device-width, initial-scale=1.0"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar is built on the [publish-subscribe](https://en.wikipedia.org/wiki/Publish%E2%80%93subscribe_pattern) pattern, aka pub-sub. In this pattern, [producers](#producers) publish  [...]
+<!DOCTYPE html><html lang="fr"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Messaging Concepts · Apache Pulsar</title><meta name="viewport" content="width=device-width, initial-scale=1.0"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar is built on the [publish-subscribe](https://en.wikipedia.org/wiki/Publish%E2%80%93subscribe_pattern) pattern, aka pub-sub. In this pattern, [producers](#producers) publish  [...]
               (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,7 +74,7 @@
                 };
               }
             });
-        </script></nav></div><div class="container mainContainer docsContainer"><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 id="__docusaurus" class="postHeaderTitle">Messaging Concepts</h1></header><article><div><span><p>Pulsar is built on the <a href="https://en.wikipedia.org/wiki/Publish%E2%80%93subscribe_pattern">publish- [...]
+        </script></nav></div><div class="container mainContainer docsContainer"><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 id="__docusaurus" class="postHeaderTitle">Messaging Concepts</h1></header><article><div><span><p>Pulsar is built on the <a href="https://en.wikipedia.org/wiki/Publish%E2%80%93subscribe_pattern">publish- [...]
 <p>Once a subscription has been created, all messages will be <a href="/docs/fr/2.5.0/concepts-architecture-overview#persistent-storage">retained</a> by Pulsar, even if the consumer gets disconnected. Retained messages will be discarded only when a consumer acknowledges that they've been successfully processed.</p>
 <h2><a class="anchor" aria-hidden="true" id="messages"></a><a href="#messages" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
 <p>Messages are the basic &quot;unit&quot; of Pulsar. They're what producers publish to topics and what consumers then consume from topics (and acknowledge when the message has been processed). Messages are the analogue of letters in a postal service system.</p>
@@ -138,14 +138,14 @@
 <p>When a consumer has consumed a message successfully, the consumer sends an acknowledgement request to the broker, so that the broker will discard the message. Otherwise, it <a href="/docs/fr/2.5.0/concepts-architecture-overview#persistent-storage">stores</a> the message.</p>
 <p>Messages can be acknowledged either one by one or cumulatively. With cumulative acknowledgement, the consumer only needs to acknowledge the last message it received. All messages in the stream up to (and including) the provided message will not be re-delivered to that consumer.</p>
 <blockquote>
-<p>Cumulative acknowledgement cannot be used with <a href="#subscription-modes">shared subscription mode</a>, because shared mode involves multiple consumers having access to the same subscription.</p>
+<p>Cumulative acknowledgement cannot be used with <a href="#subscription-types">shared subscription type</a>, because shared mode involves multiple consumers having access to the same subscription.</p>
 </blockquote>
-<p>In the shared subscription mode, messages can be acknowledged individually.</p>
+<p>In Shared subscription type, messages can be acknowledged individually.</p>
 <h3><a class="anchor" aria-hidden="true" id="negative-acknowledgement"></a><a href="#negative-acknowledgement" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>When a consumer does not consume a message successfully at a time, and wants to consume the message again, the consumer can send a negative acknowledgement to the broker, and then the broker will redeliver the message.</p>
-<p>Messages can be negatively acknowledged one by one or cumulatively, which depends on the consumption subscription mode.</p>
-<p>In the exclusive and failover subscription modes, consumers only negatively acknowledge the last message they have received.</p>
-<p>In the shared and Key_Shared subscription modes, you can negatively acknowledge messages individually.</p>
+<p>Messages can be negatively acknowledged either individually or cumulatively, depending on the consumption subscription type.</p>
+<p>In the exclusive and failover subscription types, consumers only negatively acknowledge the last message they have received.</p>
+<p>In the shared and Key_Shared subscription types, you can negatively acknowledge messages individually.</p>
 <p>Be aware that negative acknowledgment on ordered subscription types, such as Exclusive, Failover and Key_Shared, can cause failed messages to arrive consumers out of the original order.</p>
 <h3><a class="anchor" aria-hidden="true" id="acknowledgement-timeout"></a><a href="#acknowledgement-timeout" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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 a message is not consumed successfully, and you want to trigger the broker to redeliver the message automatically, you can adopt the unacknowledged message automatic re-delivery mechanism. Client will track the unacknowledged messages within the entire <code>acktimeout</code> time range, and send a <code>redeliver unacknowledged messages</code> request to the broker automatically when the acknowledgement timeout is specified.</p>
@@ -182,7 +182,7 @@
 </code></pre>
 <p>Dead letter topic depends on message re-delivery. Messages are redelivered either due to <a href="#acknowledgement-timeout">acknowledgement timeout</a> or <a href="#negative-acknowledgement">negative acknowledgement</a>. If you are going to use negative acknowledgement on a message, make sure it is negatively acknowledged before the acknowledgement timeout.</p>
 <blockquote>
-<p>Note Currently, dead letter topic is enabled only in the shared subscription mode.</p>
+<p><strong>Note</strong> Currently, dead letter topic is enabled only in Shared subscription type.</p>
 </blockquote>
 <h2><a class="anchor" aria-hidden="true" id="topics"></a><a href="#topics" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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. [...]
 <p>As in other pub-sub systems, topics in Pulsar are named channels for transmitting messages from <a href="/docs/fr/2.5.0/reference-terminology#producer">producers</a> to <a href="/docs/fr/2.5.0/reference-terminology#consumer">consumers</a>. Topic names are URLs that have a well-defined structure:</p>
@@ -205,18 +205,18 @@
 </blockquote>
 <h2><a class="anchor" aria-hidden="true" id="espaces-de-nommage"></a><a href="#espaces-de-nommage" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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- [...]
 <p>A namespace is a logical nomenclature within a tenant. A tenant can create multiple namespaces via the <a href="/docs/fr/2.5.0/admin-api-namespaces#create">admin API</a>. For instance, a tenant with different applications can create a separate namespace for each application. A namespace allows the application to create and manage a hierarchy of topics. The topic <code>my-tenant/app1</code> is a namespace for the application <code>app1</code> for <code>my-tenant</code>. You can create  [...]
-<h2><a class="anchor" aria-hidden="true" id="subscription-modes"></a><a href="#subscription-modes" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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- [...]
-<p>A subscription is a named configuration rule that determines how messages are delivered to consumers. There are three available subscription modes in Pulsar: <a href="#exclusive">exclusive</a>, <a href="#shared">shared</a>, and <a href="#failover">failover</a>. These modes are illustrated in the figure below.</p>
-<p><img src="/docs/assets/pulsar-subscription-modes.png" alt="Subscription modes"></p>
+<h2><a class="anchor" aria-hidden="true" id="subscription-types"></a><a href="#subscription-types" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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- [...]
+<p>A subscription is a named configuration rule that determines how messages are delivered to consumers. There are three available subscription types in Pulsar: <a href="#exclusive">exclusive</a>, <a href="#shared">shared</a>, and <a href="#failover">failover</a>. These types are illustrated in the figure below.</p>
+<p><img src="/docs/assets/pulsar-subscription-types.png" alt="Subscription types"></p>
 <h3><a class="anchor" aria-hidden="true" id="exclusive"></a><a href="#exclusive" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>In <em>exclusive</em> mode, only a single consumer is allowed to attach to the subscription. If more than one consumer attempts to subscribe to a topic using the same subscription, the consumer receives an error.</p>
+<p>In <em>exclusive</em> type, only a single consumer is allowed to attach to the subscription. If more than one consumer attempts to subscribe to a topic using the same subscription, the consumer receives an error.</p>
 <p>In the diagram below, only <strong>Consumer A-0</strong> is allowed to consume messages.</p>
 <blockquote>
-<p>Exclusive mode is the default subscription mode.</p>
+<p>Exclusive is the default subscription type.</p>
 </blockquote>
 <p><img src="/docs/assets/pulsar-exclusive-subscriptions.png" alt="Exclusive subscriptions"></p>
 <h3><a class="anchor" aria-hidden="true" id="failover"></a><a href="#failover" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
-<p>In <em>failover</em> mode, multiple consumers can attach to the same subscription. A master consumer is picked for non-partitioned topic or each partition of partitioned topic and receives messages. When the master consumer disconnects, all (non-acknowledged and subsequent) messages are delivered to the next consumer in line.</p>
+<p>In <em>Failover</em> type, multiple consumers can attach to the same subscription. A master consumer is picked for non-partitioned topic or each partition of partitioned topic and receives messages. When the master consumer disconnects, all (non-acknowledged and subsequent) messages are delivered to the next consumer in line.</p>
 <p>For partitioned topics, broker will sort consumers by priority level and lexicographical order of consumer name. Then broker will try to evenly assigns topics to consumers with the highest priority level.</p>
 <p>For non-partitioned topic, broker will pick consumer in the order they subscribe to the non partitioned topic.</p>
 <p>In the diagram below, <strong>Consumer-B-0</strong> is the master consumer while <strong>Consumer-B-1</strong> would be the next consumer in line to receive messages if <strong>Consumer-B-0</strong> is disconnected.</p>
@@ -283,9 +283,9 @@ Consumer&lt;<span class="hljs-keyword">byte</span>[]&gt; someTopicsConsumer = pu
 <p>The diagram below illustrates this:</p>
 <p><img src="/docs/assets/partitioning.png" alt=""></p>
 <p>Here, the topic <strong>Topic1</strong> has five partitions (<strong>P0</strong> through <strong>P4</strong>) split across three brokers. Because there are more partitions than brokers, two brokers handle two partitions a piece, while the third handles only one (again, Pulsar handles this distribution of partitions automatically).</p>
-<p>Messages for this topic are broadcast to two consumers. The <a href="#routing-modes">routing mode</a> determines both which broker handles each partition, while the <a href="#subscription-modes">subscription mode</a> determines which messages go to which consumers.</p>
-<p>Decisions about routing and subscription modes can be made separately in most cases. In general, throughput concerns should guide partitioning/routing decisions while subscription decisions should be guided by application semantics.</p>
-<p>There is no difference between partitioned topics and normal topics in terms of how subscription modes work, as partitioning only determines what happens between when a message is published by a producer and processed and acknowledged by a consumer.</p>
+<p>Messages for this topic are broadcast to two consumers. The <a href="#routing-modes">routing mode</a> determines both which broker handles each partition, while the <a href="#subscription-types">subscription type</a> determines which messages go to which consumers.</p>
+<p>Decisions about routing and subscription types can be made separately in most cases. In general, throughput concerns should guide partitioning/routing decisions while subscription decisions should be guided by application semantics.</p>
+<p>There is no difference between partitioned topics and normal topics in terms of how subscription types work, as partitioning only determines what happens between when a message is published by a producer and processed and acknowledged by a consumer.</p>
 <p>Partitioned topics need to be explicitly created via the <a href="/docs/fr/2.5.0/admin-api-overview">admin API</a>. The number of partitions can be specified when creating the topic.</p>
 <h3><a class="anchor" aria-hidden="true" id="routing-modes"></a><a href="#routing-modes" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>When publishing to partitioned topics, you must specify a <em>routing mode</em>. The routing mode determines which partition---that is, which internal topic---each message should be published to.</p>
@@ -337,7 +337,7 @@ Consumer&lt;<span class="hljs-keyword">byte</span>[]&gt; someTopicsConsumer = pu
 <h3><a class="anchor" aria-hidden="true" id="performance"></a><a href="#performance" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>Non-persistent messaging is usually faster than persistent messaging because brokers don't persist messages and immediately send acks back to the producer as soon as that message is delivered to connected brokers. Producers thus see comparatively low publish latency with non-persistent topic.</p>
 <h3><a class="anchor" aria-hidden="true" id="client-api"></a><a href="#client-api" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>Producers and consumers can connect to non-persistent topics in the same way as persistent topics, with the crucial difference that the topic name must start with <code>non-persistent</code>. All three subscription modes---<a href="#exclusive">exclusive</a>, <a href="#shared">shared</a>, and <a href="#failover">failover</a>---are supported for non-persistent topics.</p>
+<p>Producers and consumers can connect to non-persistent topics in the same way as persistent topics, with the crucial difference that the topic name must start with <code>non-persistent</code>. All three subscription types---<a href="#exclusive">exclusive</a>, <a href="#shared">shared</a>, and <a href="#failover">failover</a>---are supported for non-persistent topics.</p>
 <p>Here's an example <a href="/docs/fr/2.5.0/client-libraries-java#consumers">Java consumer</a> for a non-persistent topic:</p>
 <pre><code class="hljs css language-java">PulsarClient client = PulsarClient.builder()
         .serviceUrl(<span class="hljs-string">"pulsar://localhost:6650"</span>)
@@ -391,7 +391,7 @@ Consumer&lt;<span class="hljs-keyword">byte</span>[]&gt; consumer = client.newCo
 </blockquote>
 <h2><a class="anchor" aria-hidden="true" id="delayed-message-delivery"></a><a href="#delayed-message-delivery" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>Delayed message delivery enables you to consume a message later rather than immediately. In this mechanism, a message is stored in BookKeeper, <code>DelayedDeliveryTracker</code> maintains the time index(time -&gt; messageId) in memory after published to a broker, and it is delivered to a consumer once the specific delayed time is passed.</p>
-<p>Delayed message delivery only works well in Shared subscription mode. In Exclusive and Failover subscription mode, the delayed message is dispatched immediately.</p>
+<p>Delayed message delivery only works well In shared subscription type. In Exclusive and Failover subscription types, the delayed message is dispatched immediately.</p>
 <p>The diagram below illustrates the concept of delayed message delivery:</p>
 <p><img src="/docs/assets/message_delay.png" alt="Delayed Message Delivery"></p>
 <p>A broker saves a message without any check. When a consumer consumes a message, if the message is set to delay, then the message is added to <code>DelayedDeliveryTracker</code>. A subscription checks and gets timeout messages from <code>DelayedDeliveryTracker</code>.</p>
@@ -411,7 +411,7 @@ Consumer&lt;<span class="hljs-keyword">byte</span>[]&gt; consumer = client.newCo
 <pre><code class="hljs css language-java"><span class="hljs-comment">// message to be delivered at the configured delay interval</span>
 producer.newMessage().deliverAfter(<span class="hljs-number">3L</span>, TimeUnit.Minute).value(<span class="hljs-string">"Hello Pulsar!"</span>).send();
 </code></pre>
-</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/fr/2.5.0/concepts-overview"><span class="arrow-prev">← </span><span>Overview</span></a><a class="docs-next button" href="/docs/fr/2.5.0/concepts-architecture-overview"><span>Architecture</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#messages">Messages</a></li><li><a href="#producers">Producers</a><ul class="toc-headi [...]
+</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/fr/2.5.0/concepts-overview"><span class="arrow-prev">← </span><span>Overview</span></a><a class="docs-next button" href="/docs/fr/2.5.0/concepts-architecture-overview"><span>Architecture</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#messages">Messages</a></li><li><a href="#producers">Producers</a><ul class="toc-headi [...]
       const community = document.querySelector("a[href='#community']").parentNode;
       const communityMenu =
         '<li>' +
diff --git a/content/docs/fr/2.5.0/concepts-messaging/index.html b/content/docs/fr/2.5.0/concepts-messaging/index.html
index 68aede0..7ec0c72 100644
--- a/content/docs/fr/2.5.0/concepts-messaging/index.html
+++ b/content/docs/fr/2.5.0/concepts-messaging/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>Messaging Concepts · Apache Pulsar</title><meta name="viewport" content="width=device-width, initial-scale=1.0"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar is built on the [publish-subscribe](https://en.wikipedia.org/wiki/Publish%E2%80%93subscribe_pattern) pattern, aka pub-sub. In this pattern, [producers](#producers) publish  [...]
+<!DOCTYPE html><html lang="fr"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Messaging Concepts · Apache Pulsar</title><meta name="viewport" content="width=device-width, initial-scale=1.0"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar is built on the [publish-subscribe](https://en.wikipedia.org/wiki/Publish%E2%80%93subscribe_pattern) pattern, aka pub-sub. In this pattern, [producers](#producers) publish  [...]
               (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,7 +74,7 @@
                 };
               }
             });
-        </script></nav></div><div class="container mainContainer docsContainer"><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 id="__docusaurus" class="postHeaderTitle">Messaging Concepts</h1></header><article><div><span><p>Pulsar is built on the <a href="https://en.wikipedia.org/wiki/Publish%E2%80%93subscribe_pattern">publish- [...]
+        </script></nav></div><div class="container mainContainer docsContainer"><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 id="__docusaurus" class="postHeaderTitle">Messaging Concepts</h1></header><article><div><span><p>Pulsar is built on the <a href="https://en.wikipedia.org/wiki/Publish%E2%80%93subscribe_pattern">publish- [...]
 <p>Once a subscription has been created, all messages will be <a href="/docs/fr/2.5.0/concepts-architecture-overview#persistent-storage">retained</a> by Pulsar, even if the consumer gets disconnected. Retained messages will be discarded only when a consumer acknowledges that they've been successfully processed.</p>
 <h2><a class="anchor" aria-hidden="true" id="messages"></a><a href="#messages" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
 <p>Messages are the basic &quot;unit&quot; of Pulsar. They're what producers publish to topics and what consumers then consume from topics (and acknowledge when the message has been processed). Messages are the analogue of letters in a postal service system.</p>
@@ -138,14 +138,14 @@
 <p>When a consumer has consumed a message successfully, the consumer sends an acknowledgement request to the broker, so that the broker will discard the message. Otherwise, it <a href="/docs/fr/2.5.0/concepts-architecture-overview#persistent-storage">stores</a> the message.</p>
 <p>Messages can be acknowledged either one by one or cumulatively. With cumulative acknowledgement, the consumer only needs to acknowledge the last message it received. All messages in the stream up to (and including) the provided message will not be re-delivered to that consumer.</p>
 <blockquote>
-<p>Cumulative acknowledgement cannot be used with <a href="#subscription-modes">shared subscription mode</a>, because shared mode involves multiple consumers having access to the same subscription.</p>
+<p>Cumulative acknowledgement cannot be used with <a href="#subscription-types">shared subscription type</a>, because shared mode involves multiple consumers having access to the same subscription.</p>
 </blockquote>
-<p>In the shared subscription mode, messages can be acknowledged individually.</p>
+<p>In Shared subscription type, messages can be acknowledged individually.</p>
 <h3><a class="anchor" aria-hidden="true" id="negative-acknowledgement"></a><a href="#negative-acknowledgement" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>When a consumer does not consume a message successfully at a time, and wants to consume the message again, the consumer can send a negative acknowledgement to the broker, and then the broker will redeliver the message.</p>
-<p>Messages can be negatively acknowledged one by one or cumulatively, which depends on the consumption subscription mode.</p>
-<p>In the exclusive and failover subscription modes, consumers only negatively acknowledge the last message they have received.</p>
-<p>In the shared and Key_Shared subscription modes, you can negatively acknowledge messages individually.</p>
+<p>Messages can be negatively acknowledged either individually or cumulatively, depending on the consumption subscription type.</p>
+<p>In the exclusive and failover subscription types, consumers only negatively acknowledge the last message they have received.</p>
+<p>In the shared and Key_Shared subscription types, you can negatively acknowledge messages individually.</p>
 <p>Be aware that negative acknowledgment on ordered subscription types, such as Exclusive, Failover and Key_Shared, can cause failed messages to arrive consumers out of the original order.</p>
 <h3><a class="anchor" aria-hidden="true" id="acknowledgement-timeout"></a><a href="#acknowledgement-timeout" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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 a message is not consumed successfully, and you want to trigger the broker to redeliver the message automatically, you can adopt the unacknowledged message automatic re-delivery mechanism. Client will track the unacknowledged messages within the entire <code>acktimeout</code> time range, and send a <code>redeliver unacknowledged messages</code> request to the broker automatically when the acknowledgement timeout is specified.</p>
@@ -182,7 +182,7 @@
 </code></pre>
 <p>Dead letter topic depends on message re-delivery. Messages are redelivered either due to <a href="#acknowledgement-timeout">acknowledgement timeout</a> or <a href="#negative-acknowledgement">negative acknowledgement</a>. If you are going to use negative acknowledgement on a message, make sure it is negatively acknowledged before the acknowledgement timeout.</p>
 <blockquote>
-<p>Note Currently, dead letter topic is enabled only in the shared subscription mode.</p>
+<p><strong>Note</strong> Currently, dead letter topic is enabled only in Shared subscription type.</p>
 </blockquote>
 <h2><a class="anchor" aria-hidden="true" id="topics"></a><a href="#topics" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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. [...]
 <p>As in other pub-sub systems, topics in Pulsar are named channels for transmitting messages from <a href="/docs/fr/2.5.0/reference-terminology#producer">producers</a> to <a href="/docs/fr/2.5.0/reference-terminology#consumer">consumers</a>. Topic names are URLs that have a well-defined structure:</p>
@@ -205,18 +205,18 @@
 </blockquote>
 <h2><a class="anchor" aria-hidden="true" id="espaces-de-nommage"></a><a href="#espaces-de-nommage" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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- [...]
 <p>A namespace is a logical nomenclature within a tenant. A tenant can create multiple namespaces via the <a href="/docs/fr/2.5.0/admin-api-namespaces#create">admin API</a>. For instance, a tenant with different applications can create a separate namespace for each application. A namespace allows the application to create and manage a hierarchy of topics. The topic <code>my-tenant/app1</code> is a namespace for the application <code>app1</code> for <code>my-tenant</code>. You can create  [...]
-<h2><a class="anchor" aria-hidden="true" id="subscription-modes"></a><a href="#subscription-modes" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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- [...]
-<p>A subscription is a named configuration rule that determines how messages are delivered to consumers. There are three available subscription modes in Pulsar: <a href="#exclusive">exclusive</a>, <a href="#shared">shared</a>, and <a href="#failover">failover</a>. These modes are illustrated in the figure below.</p>
-<p><img src="/docs/assets/pulsar-subscription-modes.png" alt="Subscription modes"></p>
+<h2><a class="anchor" aria-hidden="true" id="subscription-types"></a><a href="#subscription-types" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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- [...]
+<p>A subscription is a named configuration rule that determines how messages are delivered to consumers. There are three available subscription types in Pulsar: <a href="#exclusive">exclusive</a>, <a href="#shared">shared</a>, and <a href="#failover">failover</a>. These types are illustrated in the figure below.</p>
+<p><img src="/docs/assets/pulsar-subscription-types.png" alt="Subscription types"></p>
 <h3><a class="anchor" aria-hidden="true" id="exclusive"></a><a href="#exclusive" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>In <em>exclusive</em> mode, only a single consumer is allowed to attach to the subscription. If more than one consumer attempts to subscribe to a topic using the same subscription, the consumer receives an error.</p>
+<p>In <em>exclusive</em> type, only a single consumer is allowed to attach to the subscription. If more than one consumer attempts to subscribe to a topic using the same subscription, the consumer receives an error.</p>
 <p>In the diagram below, only <strong>Consumer A-0</strong> is allowed to consume messages.</p>
 <blockquote>
-<p>Exclusive mode is the default subscription mode.</p>
+<p>Exclusive is the default subscription type.</p>
 </blockquote>
 <p><img src="/docs/assets/pulsar-exclusive-subscriptions.png" alt="Exclusive subscriptions"></p>
 <h3><a class="anchor" aria-hidden="true" id="failover"></a><a href="#failover" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
-<p>In <em>failover</em> mode, multiple consumers can attach to the same subscription. A master consumer is picked for non-partitioned topic or each partition of partitioned topic and receives messages. When the master consumer disconnects, all (non-acknowledged and subsequent) messages are delivered to the next consumer in line.</p>
+<p>In <em>Failover</em> type, multiple consumers can attach to the same subscription. A master consumer is picked for non-partitioned topic or each partition of partitioned topic and receives messages. When the master consumer disconnects, all (non-acknowledged and subsequent) messages are delivered to the next consumer in line.</p>
 <p>For partitioned topics, broker will sort consumers by priority level and lexicographical order of consumer name. Then broker will try to evenly assigns topics to consumers with the highest priority level.</p>
 <p>For non-partitioned topic, broker will pick consumer in the order they subscribe to the non partitioned topic.</p>
 <p>In the diagram below, <strong>Consumer-B-0</strong> is the master consumer while <strong>Consumer-B-1</strong> would be the next consumer in line to receive messages if <strong>Consumer-B-0</strong> is disconnected.</p>
@@ -283,9 +283,9 @@ Consumer&lt;<span class="hljs-keyword">byte</span>[]&gt; someTopicsConsumer = pu
 <p>The diagram below illustrates this:</p>
 <p><img src="/docs/assets/partitioning.png" alt=""></p>
 <p>Here, the topic <strong>Topic1</strong> has five partitions (<strong>P0</strong> through <strong>P4</strong>) split across three brokers. Because there are more partitions than brokers, two brokers handle two partitions a piece, while the third handles only one (again, Pulsar handles this distribution of partitions automatically).</p>
-<p>Messages for this topic are broadcast to two consumers. The <a href="#routing-modes">routing mode</a> determines both which broker handles each partition, while the <a href="#subscription-modes">subscription mode</a> determines which messages go to which consumers.</p>
-<p>Decisions about routing and subscription modes can be made separately in most cases. In general, throughput concerns should guide partitioning/routing decisions while subscription decisions should be guided by application semantics.</p>
-<p>There is no difference between partitioned topics and normal topics in terms of how subscription modes work, as partitioning only determines what happens between when a message is published by a producer and processed and acknowledged by a consumer.</p>
+<p>Messages for this topic are broadcast to two consumers. The <a href="#routing-modes">routing mode</a> determines both which broker handles each partition, while the <a href="#subscription-types">subscription type</a> determines which messages go to which consumers.</p>
+<p>Decisions about routing and subscription types can be made separately in most cases. In general, throughput concerns should guide partitioning/routing decisions while subscription decisions should be guided by application semantics.</p>
+<p>There is no difference between partitioned topics and normal topics in terms of how subscription types work, as partitioning only determines what happens between when a message is published by a producer and processed and acknowledged by a consumer.</p>
 <p>Partitioned topics need to be explicitly created via the <a href="/docs/fr/2.5.0/admin-api-overview">admin API</a>. The number of partitions can be specified when creating the topic.</p>
 <h3><a class="anchor" aria-hidden="true" id="routing-modes"></a><a href="#routing-modes" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>When publishing to partitioned topics, you must specify a <em>routing mode</em>. The routing mode determines which partition---that is, which internal topic---each message should be published to.</p>
@@ -337,7 +337,7 @@ Consumer&lt;<span class="hljs-keyword">byte</span>[]&gt; someTopicsConsumer = pu
 <h3><a class="anchor" aria-hidden="true" id="performance"></a><a href="#performance" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>Non-persistent messaging is usually faster than persistent messaging because brokers don't persist messages and immediately send acks back to the producer as soon as that message is delivered to connected brokers. Producers thus see comparatively low publish latency with non-persistent topic.</p>
 <h3><a class="anchor" aria-hidden="true" id="client-api"></a><a href="#client-api" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>Producers and consumers can connect to non-persistent topics in the same way as persistent topics, with the crucial difference that the topic name must start with <code>non-persistent</code>. All three subscription modes---<a href="#exclusive">exclusive</a>, <a href="#shared">shared</a>, and <a href="#failover">failover</a>---are supported for non-persistent topics.</p>
+<p>Producers and consumers can connect to non-persistent topics in the same way as persistent topics, with the crucial difference that the topic name must start with <code>non-persistent</code>. All three subscription types---<a href="#exclusive">exclusive</a>, <a href="#shared">shared</a>, and <a href="#failover">failover</a>---are supported for non-persistent topics.</p>
 <p>Here's an example <a href="/docs/fr/2.5.0/client-libraries-java#consumers">Java consumer</a> for a non-persistent topic:</p>
 <pre><code class="hljs css language-java">PulsarClient client = PulsarClient.builder()
         .serviceUrl(<span class="hljs-string">"pulsar://localhost:6650"</span>)
@@ -391,7 +391,7 @@ Consumer&lt;<span class="hljs-keyword">byte</span>[]&gt; consumer = client.newCo
 </blockquote>
 <h2><a class="anchor" aria-hidden="true" id="delayed-message-delivery"></a><a href="#delayed-message-delivery" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>Delayed message delivery enables you to consume a message later rather than immediately. In this mechanism, a message is stored in BookKeeper, <code>DelayedDeliveryTracker</code> maintains the time index(time -&gt; messageId) in memory after published to a broker, and it is delivered to a consumer once the specific delayed time is passed.</p>
-<p>Delayed message delivery only works well in Shared subscription mode. In Exclusive and Failover subscription mode, the delayed message is dispatched immediately.</p>
+<p>Delayed message delivery only works well In shared subscription type. In Exclusive and Failover subscription types, the delayed message is dispatched immediately.</p>
 <p>The diagram below illustrates the concept of delayed message delivery:</p>
 <p><img src="/docs/assets/message_delay.png" alt="Delayed Message Delivery"></p>
 <p>A broker saves a message without any check. When a consumer consumes a message, if the message is set to delay, then the message is added to <code>DelayedDeliveryTracker</code>. A subscription checks and gets timeout messages from <code>DelayedDeliveryTracker</code>.</p>
@@ -411,7 +411,7 @@ Consumer&lt;<span class="hljs-keyword">byte</span>[]&gt; consumer = client.newCo
 <pre><code class="hljs css language-java"><span class="hljs-comment">// message to be delivered at the configured delay interval</span>
 producer.newMessage().deliverAfter(<span class="hljs-number">3L</span>, TimeUnit.Minute).value(<span class="hljs-string">"Hello Pulsar!"</span>).send();
 </code></pre>
-</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/fr/2.5.0/concepts-overview"><span class="arrow-prev">← </span><span>Overview</span></a><a class="docs-next button" href="/docs/fr/2.5.0/concepts-architecture-overview"><span>Architecture</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#messages">Messages</a></li><li><a href="#producers">Producers</a><ul class="toc-headi [...]
+</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/fr/2.5.0/concepts-overview"><span class="arrow-prev">← </span><span>Overview</span></a><a class="docs-next button" href="/docs/fr/2.5.0/concepts-architecture-overview"><span>Architecture</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#messages">Messages</a></li><li><a href="#producers">Producers</a><ul class="toc-headi [...]
       const community = document.querySelector("a[href='#community']").parentNode;
       const communityMenu =
         '<li>' +
diff --git a/content/docs/fr/2.5.0/concepts-overview.html b/content/docs/fr/2.5.0/concepts-overview.html
index 9e6f11d..7164632 100644
--- a/content/docs/fr/2.5.0/concepts-overview.html
+++ b/content/docs/fr/2.5.0/concepts-overview.html
@@ -81,7 +81,7 @@
 <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/fr/2.5.0/concepts-clients">client API</a> with bindings for <a href="/docs/fr/2.5.0/client-libraries-java">Java</a>, <a href="/docs/fr/2.5.0/client-libraries-go">Go</a>, <a href="/docs/fr/2.5.0/client-libraries-python">Python</a> and <a href="/docs/fr/2.5.0/client-libraries-cpp">C++</a>.</li>
-<li>Multiple <a href="/docs/fr/2.5.0/concepts-messaging#subscription-modes">subscription modes</a> (<a href="/docs/fr/2.5.0/concepts-messaging#exclusive">exclusive</a>, <a href="/docs/fr/2.5.0/concepts-messaging#shared">shared</a>, and <a href="/docs/fr/2.5.0/concepts-messaging#failover">failover</a>) for topics.</li>
+<li>Multiple <a href="/docs/fr/2.5.0/concepts-messaging#subscription-types">subscription types</a> (<a href="/docs/fr/2.5.0/concepts-messaging#exclusive">exclusive</a>, <a href="/docs/fr/2.5.0/concepts-messaging#shared">shared</a>, and <a href="/docs/fr/2.5.0/concepts-messaging#failover">failover</a>) for topics.</li>
 <li>Guaranteed message delivery with <a href="/docs/fr/2.5.0/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/fr/2.5.0/functions-overview">Pulsar Functions</a> offers the capability for stream-native data processing.</li>
 <li>A serverless connector framework <a href="/docs/fr/2.5.0/io-overview">Pulsar IO</a>, which is built on Pulsar Functions, makes it easier to move data in and out Apache Pulsar.</li>
diff --git a/content/docs/fr/2.5.0/concepts-overview/index.html b/content/docs/fr/2.5.0/concepts-overview/index.html
index 9e6f11d..7164632 100644
--- a/content/docs/fr/2.5.0/concepts-overview/index.html
+++ b/content/docs/fr/2.5.0/concepts-overview/index.html
@@ -81,7 +81,7 @@
 <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/fr/2.5.0/concepts-clients">client API</a> with bindings for <a href="/docs/fr/2.5.0/client-libraries-java">Java</a>, <a href="/docs/fr/2.5.0/client-libraries-go">Go</a>, <a href="/docs/fr/2.5.0/client-libraries-python">Python</a> and <a href="/docs/fr/2.5.0/client-libraries-cpp">C++</a>.</li>
-<li>Multiple <a href="/docs/fr/2.5.0/concepts-messaging#subscription-modes">subscription modes</a> (<a href="/docs/fr/2.5.0/concepts-messaging#exclusive">exclusive</a>, <a href="/docs/fr/2.5.0/concepts-messaging#shared">shared</a>, and <a href="/docs/fr/2.5.0/concepts-messaging#failover">failover</a>) for topics.</li>
+<li>Multiple <a href="/docs/fr/2.5.0/concepts-messaging#subscription-types">subscription types</a> (<a href="/docs/fr/2.5.0/concepts-messaging#exclusive">exclusive</a>, <a href="/docs/fr/2.5.0/concepts-messaging#shared">shared</a>, and <a href="/docs/fr/2.5.0/concepts-messaging#failover">failover</a>) for topics.</li>
 <li>Guaranteed message delivery with <a href="/docs/fr/2.5.0/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/fr/2.5.0/functions-overview">Pulsar Functions</a> offers the capability for stream-native data processing.</li>
 <li>A serverless connector framework <a href="/docs/fr/2.5.0/io-overview">Pulsar IO</a>, which is built on Pulsar Functions, makes it easier to move data in and out Apache Pulsar.</li>
diff --git a/content/docs/fr/2.5.1/client-libraries-java.html b/content/docs/fr/2.5.1/client-libraries-java.html
index b6328f4..7ac9baa 100644
--- a/content/docs/fr/2.5.1/client-libraries-java.html
+++ b/content/docs/fr/2.5.1/client-libraries-java.html
@@ -241,7 +241,7 @@ stringProducer.send(<span class="hljs-string">"My message"</span>);
 <h3><a class="anchor" aria-hidden="true" id="configure-consumer"></a><a href="#configure-consumer" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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- [...]
 <p>If you instantiate a <code>Consumer</code> object by specifying only a topic and subscription name as in the example above, the consumer uses the default configuration.</p>
 <p>When you create a consumer, you can use the <code>loadConf</code> configuration. The following parameters are available in <code>loadConf</code>.</p>
-<p>Type | Name| <div style="width:300px">Description</div>|  Default |---|---|---|--- Set&lt;String&gt;|  <code>topicNames</code>|   Topic name| Sets.newTreeSet() Pattern|   <code>topicsPattern</code>| Topic pattern   |None String| <code>subscriptionName</code>| Subscription name|  None SubscriptionType| <code>subscriptionType</code>|   Subscription type <br/><br/>Four subscription types are available:<li>Exclusive</li><li>Failover</li><li>Shared</li><li>Key_Shared</li>|SubscriptionType. [...]
+<p>Type | Name| <div style="width:300px">Description</div>|  Default |---|---|---|--- Set&lt;String&gt;|  <code>topicNames</code>|   Topic name| Sets.newTreeSet() Pattern|   <code>topicsPattern</code>| Topic pattern   |None String| <code>subscriptionName</code>| Subscription name|  None SubscriptionType| <code>subscriptionType</code>|   Subscription type <br/><br/>Four subscription types are available:<li>Exclusive</li><li>Failover</li><li>Shared</li><li>Key_Shared</li>|SubscriptionType. [...]
 SortedMap&lt;String, String&gt;|<code>properties</code>|A name or value property of this consumer.<br/><br/><code>properties</code> is application defined metadata attached to a consumer. <br/><br/>When getting a topic stats, associate this metadata with the consumer stats for easier identification.|new TreeMap&lt;&gt;() boolean|<code>readCompacted</code>|If enabling <code>readCompacted</code>, a consumer reads messages from a compacted topic rather than reading a full message backlog of [...]
 <p>You can configure parameters if you do not want to use the default configuration. For a full list, see the Javadoc for the <a href="https://pulsar.incubator.apache.org/api/client/2.8.0-SNAPSHOT/org/apache/pulsar/client/api/ConsumerBuilder">ConsumerBuilder</a>
  class.</p>
@@ -270,8 +270,8 @@ SortedMap&lt;String, String&gt;|<code>properties</code>|A name or value property
 consumer.acknowledge(messages)
 </code></pre>
 <blockquote>
-<p>Note:</p>
-<p>Batch receive policy limits the number and bytes of messages in a single batch. You can specify a timeout to wait for enough messages.</p>
+<p><strong>Note</strong>  <br>
+Batch receive policy limits the number and bytes of messages in a single batch. You can specify a timeout to wait for enough messages.</p>
 <p>The batch receive is completed if any of the following condition is met: enough number of messages, bytes of messages, wait timeout.</p>
 <p><code>java Consumer consumer = client.newConsumer() .topic(&quot;my-topic&quot;) .subscriptionName(&quot;my-subscription&quot;) .batchReceivePolicy(BatchReceivePolicy.builder() .maxNumMessages(100) .maxNumBytes(1024 * 1024) .timeout(200, TimeUnit.MILLISECONDS) .build()) .subscribe();</code> The default batch receive policy is: <code>java BatchReceivePolicy.builder() .maxNumMessage(-1) .maxNumBytes(10 * 1024 * 1024) .timeout(100, TimeUnit.MILLISECONDS) .build();</code></p>
 </blockquote>
@@ -334,10 +334,10 @@ consumerBuilder
             });
 }
 </code></pre>
-<h3><a class="anchor" aria-hidden="true" id="subscription-modes"></a><a href="#subscription-modes" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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- [...]
-<p>Pulsar has various <a href="concepts-messaging#subscription-modes">subscription modes</a> to match different scenarios. A topic can have multiple subscriptions with different subscription modes. However, a subscription can only have one subscription mode at a time.</p>
-<p>A subscription is identical with the subscription name which can specify only one subscription mode at a time. You cannot change the subscription mode unless all existing consumers of this subscription are offline.</p>
-<p>Different subscription modes have different message distribution modes. This section describes the differences of subscription modes and how to use them.</p>
+<h3><a class="anchor" aria-hidden="true" id="subscription-types"></a><a href="#subscription-types" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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- [...]
+<p>Pulsar has various <a href="concepts-messaging#subscription-types">subscription types</a> to match different scenarios. A topic can have multiple subscriptions with different subscription types. However, a subscription can only have one subscription type at a time.</p>
+<p>A subscription is identical with the subscription name; a subscription name can specify only one subscription type at a time. To change the subscription type, you should first stop all consumers of this subscription.</p>
+<p>Different subscription types have different message distribution modes. This section describes the differences of subscription types and how to use them.</p>
 <p>In order to better describe their differences, assuming you have a topic named &quot;my-topic&quot;, and the producer has published 10 messages.</p>
 <pre><code class="hljs css language-java">Producer&lt;String&gt; producer = client.newProducer(Schema.STRING)
         .topic(<span class="hljs-string">"my-topic"</span>)
@@ -356,7 +356,7 @@ producer.newMessage().key(<span class="hljs-string">"key-4"</span>).value(<span
 producer.newMessage().key(<span class="hljs-string">"key-4"</span>).value(<span class="hljs-string">"message-4-2"</span>).send();
 </code></pre>
 <h4><a class="anchor" aria-hidden="true" id="exclusive"></a><a href="#exclusive" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>Create a new consumer and subscribe with the <code>Exclusive</code> subscription mode.</p>
+<p>Create a new consumer and subscribe with the <code>Exclusive</code> subscription type.</p>
 <pre><code class="hljs css language-java">Consumer consumer = client.newConsumer()
         .topic(<span class="hljs-string">"my-topic"</span>)
         .subscriptionName(<span class="hljs-string">"my-subscription"</span>)
@@ -365,11 +365,11 @@ producer.newMessage().key(<span class="hljs-string">"key-4"</span>).value(<span
 </code></pre>
 <p>Only the first consumer is allowed to the subscription, other consumers receive an error. The first consumer receives all 10 messages, and the consuming order is the same as the producing order.</p>
 <blockquote>
-<p>Note:</p>
-<p>If topic is a partitioned topic, the first consumer subscribes to all partitioned topics, other consumers are not assigned with partitions and receive an error.</p>
+<p><strong>Note</strong>  <br>
+If topic is a partitioned topic, the first consumer subscribes to all partitioned topics, other consumers are not assigned with partitions and receive an error.</p>
 </blockquote>
 <h4><a class="anchor" aria-hidden="true" id="failover"></a><a href="#failover" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
-<p>Create new consumers and subscribe with the<code>Failover</code> subscription mode.</p>
+<p>Create new consumers and subscribe with the<code>Failover</code> subscription type.</p>
 <pre><code class="hljs css language-java">Consumer consumer1 = client.newConsumer()
         .topic(<span class="hljs-string">"my-topic"</span>)
         .subscriptionName(<span class="hljs-string">"my-subscription"</span>)
@@ -401,11 +401,11 @@ Consumer consumer2 = client.newConsumer()
 (<span class="hljs-string">"key-4"</span>, <span class="hljs-string">"message-4-2"</span>)
 </code></pre>
 <blockquote>
-<p>Note:</p>
-<p>If a topic is a partitioned topic, each partition has only one active consumer, messages of one partition are distributed to only one consumer, and messages of multiple partitions are distributed to multiple consumers.</p>
+<p><strong>Note</strong>  <br>
+If a topic is a partitioned topic, each partition has only one active consumer, messages of one partition are distributed to only one consumer, and messages of multiple partitions are distributed to multiple consumers.</p>
 </blockquote>
 <h4><a class="anchor" aria-hidden="true" id="shared"></a><a href="#shared" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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. [...]
-<p>Create new consumers and subscribe with <code>Shared</code> subscription mode:</p>
+<p>Create new consumers and subscribe with <code>Shared</code> subscription type.</p>
 <pre><code class="hljs css language-java">Consumer consumer1 = client.newConsumer()
         .topic(<span class="hljs-string">"my-topic"</span>)
         .subscriptionName(<span class="hljs-string">"my-subscription"</span>)
@@ -419,7 +419,7 @@ Consumer consumer2 = client.newConsumer()
         .subscribe()
 <span class="hljs-comment">//Both consumer1 and consumer 2 is active consumers.</span>
 </code></pre>
-<p>In shared subscription mode, multiple consumers can attach to the same subscription and messages are delivered in a round robin distribution across consumers.</p>
+<p>In shared subscription type, multiple consumers can attach to the same subscription and messages are delivered in a round robin distribution across consumers.</p>
 <p>If a broker dispatches only one message at a time, consumer1 receives the following information.</p>
 <pre><code class="hljs">(<span class="hljs-string">"key-1"</span>, <span class="hljs-string">"message-1-1"</span>)
 (<span class="hljs-string">"key-1"</span>, <span class="hljs-string">"message-1-3"</span>)
@@ -434,9 +434,9 @@ Consumer consumer2 = client.newConsumer()
 (<span class="hljs-string">"key-3"</span>, <span class="hljs-string">"message-3-2"</span>)
 (<span class="hljs-string">"key-4"</span>, <span class="hljs-string">"message-4-2"</span>)
 </code></pre>
-<p><code>Shared</code> subscription is different from <code>Exclusive</code> and <code>Failover</code> subscription modes. <code>Shared</code> subscription has better flexibility, but cannot provide order guarantee.</p>
+<p><code>Shared</code> subscription is different from <code>Exclusive</code> and <code>Failover</code> subscription types. <code>Shared</code> subscription has better flexibility, but cannot provide order guarantee.</p>
 <h4><a class="anchor" aria-hidden="true" id="key_shared"></a><a href="#key_shared" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>This is a new subscription mode since 2.4.0 release, create new consumers and subscribe with <code>Key_Shared</code> subscription mode.</p>
+<p>This is a new subscription type since 2.4.0 release. Create new consumers and subscribe with <code>Key_Shared</code> subscription type.</p>
 <pre><code class="hljs css language-java">Consumer consumer1 = client.newConsumer()
         .topic(<span class="hljs-string">"my-topic"</span>)
         .subscriptionName(<span class="hljs-string">"my-subscription"</span>)
@@ -466,8 +466,8 @@ Consumer consumer2 = client.newConsumer()
 (<span class="hljs-string">"key-4"</span>, <span class="hljs-string">"message-4-2"</span>)
 </code></pre>
 <blockquote>
-<p>Note:</p>
-<p>If the message key is not specified, messages without key are dispatched to one consumer in order by default.</p>
+<p><strong>Note</strong>  <br>
+If the message key is not specified, messages without key are dispatched to one consumer in order by default.</p>
 </blockquote>
 <h2><a class="anchor" aria-hidden="true" id="reader"></a><a href="#reader" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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. [...]
 <p>With the <a href="/docs/fr/2.5.1/concepts-clients#reader-interface">reader interface</a>, Pulsar clients can &quot;manually position&quot; themselves within a topic and reading all messages from a specified message onward. The Pulsar API for Java enables you to create <a href="https://pulsar.incubator.apache.org/api/client/2.8.0-SNAPSHOT/org/apache/pulsar/client/api/Reader">Reader</a>
@@ -626,7 +626,7 @@ PulsarClient client = PulsarClient.builder()
 <h4><a class="anchor" aria-hidden="true" id="formats-de-modèle-supportés"></a><a href="#formats-de-modèle-supportés" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 1 [...]
 <p>Le paramètre <code>privateKey</code> supporte les trois formats de schéma suivants : * <code>fichier:///chemin/vers/fichier</code>* * <code>fichier:/chemin/vers/fichier</code>* * <code>data:application/x-pem-file;base64,&lt;base64-encoded value&gt;</code></p>
 </blockquote>
-</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/fr/2.5.1/security-bouncy-castle"><span class="arrow-prev">← </span><span>Bouncy Castle Providers</span></a><a class="docs-next button" href="/docs/fr/2.5.1/client-libraries-go"><span>Go</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#installation">Installation</a><ul class="toc-headings"><li><a href="#maven">Maven</a>< [...]
+</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/fr/2.5.1/security-bouncy-castle"><span class="arrow-prev">← </span><span>Bouncy Castle Providers</span></a><a class="docs-next button" href="/docs/fr/2.5.1/client-libraries-go"><span>Go</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#installation">Installation</a><ul class="toc-headings"><li><a href="#maven">Maven</a>< [...]
       const community = document.querySelector("a[href='#community']").parentNode;
       const communityMenu =
         '<li>' +
diff --git a/content/docs/fr/2.5.1/client-libraries-java/index.html b/content/docs/fr/2.5.1/client-libraries-java/index.html
index b6328f4..7ac9baa 100644
--- a/content/docs/fr/2.5.1/client-libraries-java/index.html
+++ b/content/docs/fr/2.5.1/client-libraries-java/index.html
@@ -241,7 +241,7 @@ stringProducer.send(<span class="hljs-string">"My message"</span>);
 <h3><a class="anchor" aria-hidden="true" id="configure-consumer"></a><a href="#configure-consumer" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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- [...]
 <p>If you instantiate a <code>Consumer</code> object by specifying only a topic and subscription name as in the example above, the consumer uses the default configuration.</p>
 <p>When you create a consumer, you can use the <code>loadConf</code> configuration. The following parameters are available in <code>loadConf</code>.</p>
-<p>Type | Name| <div style="width:300px">Description</div>|  Default |---|---|---|--- Set&lt;String&gt;|  <code>topicNames</code>|   Topic name| Sets.newTreeSet() Pattern|   <code>topicsPattern</code>| Topic pattern   |None String| <code>subscriptionName</code>| Subscription name|  None SubscriptionType| <code>subscriptionType</code>|   Subscription type <br/><br/>Four subscription types are available:<li>Exclusive</li><li>Failover</li><li>Shared</li><li>Key_Shared</li>|SubscriptionType. [...]
+<p>Type | Name| <div style="width:300px">Description</div>|  Default |---|---|---|--- Set&lt;String&gt;|  <code>topicNames</code>|   Topic name| Sets.newTreeSet() Pattern|   <code>topicsPattern</code>| Topic pattern   |None String| <code>subscriptionName</code>| Subscription name|  None SubscriptionType| <code>subscriptionType</code>|   Subscription type <br/><br/>Four subscription types are available:<li>Exclusive</li><li>Failover</li><li>Shared</li><li>Key_Shared</li>|SubscriptionType. [...]
 SortedMap&lt;String, String&gt;|<code>properties</code>|A name or value property of this consumer.<br/><br/><code>properties</code> is application defined metadata attached to a consumer. <br/><br/>When getting a topic stats, associate this metadata with the consumer stats for easier identification.|new TreeMap&lt;&gt;() boolean|<code>readCompacted</code>|If enabling <code>readCompacted</code>, a consumer reads messages from a compacted topic rather than reading a full message backlog of [...]
 <p>You can configure parameters if you do not want to use the default configuration. For a full list, see the Javadoc for the <a href="https://pulsar.incubator.apache.org/api/client/2.8.0-SNAPSHOT/org/apache/pulsar/client/api/ConsumerBuilder">ConsumerBuilder</a>
  class.</p>
@@ -270,8 +270,8 @@ SortedMap&lt;String, String&gt;|<code>properties</code>|A name or value property
 consumer.acknowledge(messages)
 </code></pre>
 <blockquote>
-<p>Note:</p>
-<p>Batch receive policy limits the number and bytes of messages in a single batch. You can specify a timeout to wait for enough messages.</p>
+<p><strong>Note</strong>  <br>
+Batch receive policy limits the number and bytes of messages in a single batch. You can specify a timeout to wait for enough messages.</p>
 <p>The batch receive is completed if any of the following condition is met: enough number of messages, bytes of messages, wait timeout.</p>
 <p><code>java Consumer consumer = client.newConsumer() .topic(&quot;my-topic&quot;) .subscriptionName(&quot;my-subscription&quot;) .batchReceivePolicy(BatchReceivePolicy.builder() .maxNumMessages(100) .maxNumBytes(1024 * 1024) .timeout(200, TimeUnit.MILLISECONDS) .build()) .subscribe();</code> The default batch receive policy is: <code>java BatchReceivePolicy.builder() .maxNumMessage(-1) .maxNumBytes(10 * 1024 * 1024) .timeout(100, TimeUnit.MILLISECONDS) .build();</code></p>
 </blockquote>
@@ -334,10 +334,10 @@ consumerBuilder
             });
 }
 </code></pre>
-<h3><a class="anchor" aria-hidden="true" id="subscription-modes"></a><a href="#subscription-modes" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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- [...]
-<p>Pulsar has various <a href="concepts-messaging#subscription-modes">subscription modes</a> to match different scenarios. A topic can have multiple subscriptions with different subscription modes. However, a subscription can only have one subscription mode at a time.</p>
-<p>A subscription is identical with the subscription name which can specify only one subscription mode at a time. You cannot change the subscription mode unless all existing consumers of this subscription are offline.</p>
-<p>Different subscription modes have different message distribution modes. This section describes the differences of subscription modes and how to use them.</p>
+<h3><a class="anchor" aria-hidden="true" id="subscription-types"></a><a href="#subscription-types" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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- [...]
+<p>Pulsar has various <a href="concepts-messaging#subscription-types">subscription types</a> to match different scenarios. A topic can have multiple subscriptions with different subscription types. However, a subscription can only have one subscription type at a time.</p>
+<p>A subscription is identical with the subscription name; a subscription name can specify only one subscription type at a time. To change the subscription type, you should first stop all consumers of this subscription.</p>
+<p>Different subscription types have different message distribution modes. This section describes the differences of subscription types and how to use them.</p>
 <p>In order to better describe their differences, assuming you have a topic named &quot;my-topic&quot;, and the producer has published 10 messages.</p>
 <pre><code class="hljs css language-java">Producer&lt;String&gt; producer = client.newProducer(Schema.STRING)
         .topic(<span class="hljs-string">"my-topic"</span>)
@@ -356,7 +356,7 @@ producer.newMessage().key(<span class="hljs-string">"key-4"</span>).value(<span
 producer.newMessage().key(<span class="hljs-string">"key-4"</span>).value(<span class="hljs-string">"message-4-2"</span>).send();
 </code></pre>
 <h4><a class="anchor" aria-hidden="true" id="exclusive"></a><a href="#exclusive" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>Create a new consumer and subscribe with the <code>Exclusive</code> subscription mode.</p>
+<p>Create a new consumer and subscribe with the <code>Exclusive</code> subscription type.</p>
 <pre><code class="hljs css language-java">Consumer consumer = client.newConsumer()
         .topic(<span class="hljs-string">"my-topic"</span>)
         .subscriptionName(<span class="hljs-string">"my-subscription"</span>)
@@ -365,11 +365,11 @@ producer.newMessage().key(<span class="hljs-string">"key-4"</span>).value(<span
 </code></pre>
 <p>Only the first consumer is allowed to the subscription, other consumers receive an error. The first consumer receives all 10 messages, and the consuming order is the same as the producing order.</p>
 <blockquote>
-<p>Note:</p>
-<p>If topic is a partitioned topic, the first consumer subscribes to all partitioned topics, other consumers are not assigned with partitions and receive an error.</p>
+<p><strong>Note</strong>  <br>
+If topic is a partitioned topic, the first consumer subscribes to all partitioned topics, other consumers are not assigned with partitions and receive an error.</p>
 </blockquote>
 <h4><a class="anchor" aria-hidden="true" id="failover"></a><a href="#failover" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
-<p>Create new consumers and subscribe with the<code>Failover</code> subscription mode.</p>
+<p>Create new consumers and subscribe with the<code>Failover</code> subscription type.</p>
 <pre><code class="hljs css language-java">Consumer consumer1 = client.newConsumer()
         .topic(<span class="hljs-string">"my-topic"</span>)
         .subscriptionName(<span class="hljs-string">"my-subscription"</span>)
@@ -401,11 +401,11 @@ Consumer consumer2 = client.newConsumer()
 (<span class="hljs-string">"key-4"</span>, <span class="hljs-string">"message-4-2"</span>)
 </code></pre>
 <blockquote>
-<p>Note:</p>
-<p>If a topic is a partitioned topic, each partition has only one active consumer, messages of one partition are distributed to only one consumer, and messages of multiple partitions are distributed to multiple consumers.</p>
+<p><strong>Note</strong>  <br>
+If a topic is a partitioned topic, each partition has only one active consumer, messages of one partition are distributed to only one consumer, and messages of multiple partitions are distributed to multiple consumers.</p>
 </blockquote>
 <h4><a class="anchor" aria-hidden="true" id="shared"></a><a href="#shared" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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. [...]
-<p>Create new consumers and subscribe with <code>Shared</code> subscription mode:</p>
+<p>Create new consumers and subscribe with <code>Shared</code> subscription type.</p>
 <pre><code class="hljs css language-java">Consumer consumer1 = client.newConsumer()
         .topic(<span class="hljs-string">"my-topic"</span>)
         .subscriptionName(<span class="hljs-string">"my-subscription"</span>)
@@ -419,7 +419,7 @@ Consumer consumer2 = client.newConsumer()
         .subscribe()
 <span class="hljs-comment">//Both consumer1 and consumer 2 is active consumers.</span>
 </code></pre>
-<p>In shared subscription mode, multiple consumers can attach to the same subscription and messages are delivered in a round robin distribution across consumers.</p>
+<p>In shared subscription type, multiple consumers can attach to the same subscription and messages are delivered in a round robin distribution across consumers.</p>
 <p>If a broker dispatches only one message at a time, consumer1 receives the following information.</p>
 <pre><code class="hljs">(<span class="hljs-string">"key-1"</span>, <span class="hljs-string">"message-1-1"</span>)
 (<span class="hljs-string">"key-1"</span>, <span class="hljs-string">"message-1-3"</span>)
@@ -434,9 +434,9 @@ Consumer consumer2 = client.newConsumer()
 (<span class="hljs-string">"key-3"</span>, <span class="hljs-string">"message-3-2"</span>)
 (<span class="hljs-string">"key-4"</span>, <span class="hljs-string">"message-4-2"</span>)
 </code></pre>
-<p><code>Shared</code> subscription is different from <code>Exclusive</code> and <code>Failover</code> subscription modes. <code>Shared</code> subscription has better flexibility, but cannot provide order guarantee.</p>
+<p><code>Shared</code> subscription is different from <code>Exclusive</code> and <code>Failover</code> subscription types. <code>Shared</code> subscription has better flexibility, but cannot provide order guarantee.</p>
 <h4><a class="anchor" aria-hidden="true" id="key_shared"></a><a href="#key_shared" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>This is a new subscription mode since 2.4.0 release, create new consumers and subscribe with <code>Key_Shared</code> subscription mode.</p>
+<p>This is a new subscription type since 2.4.0 release. Create new consumers and subscribe with <code>Key_Shared</code> subscription type.</p>
 <pre><code class="hljs css language-java">Consumer consumer1 = client.newConsumer()
         .topic(<span class="hljs-string">"my-topic"</span>)
         .subscriptionName(<span class="hljs-string">"my-subscription"</span>)
@@ -466,8 +466,8 @@ Consumer consumer2 = client.newConsumer()
 (<span class="hljs-string">"key-4"</span>, <span class="hljs-string">"message-4-2"</span>)
 </code></pre>
 <blockquote>
-<p>Note:</p>
-<p>If the message key is not specified, messages without key are dispatched to one consumer in order by default.</p>
+<p><strong>Note</strong>  <br>
+If the message key is not specified, messages without key are dispatched to one consumer in order by default.</p>
 </blockquote>
 <h2><a class="anchor" aria-hidden="true" id="reader"></a><a href="#reader" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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. [...]
 <p>With the <a href="/docs/fr/2.5.1/concepts-clients#reader-interface">reader interface</a>, Pulsar clients can &quot;manually position&quot; themselves within a topic and reading all messages from a specified message onward. The Pulsar API for Java enables you to create <a href="https://pulsar.incubator.apache.org/api/client/2.8.0-SNAPSHOT/org/apache/pulsar/client/api/Reader">Reader</a>
@@ -626,7 +626,7 @@ PulsarClient client = PulsarClient.builder()
 <h4><a class="anchor" aria-hidden="true" id="formats-de-modèle-supportés"></a><a href="#formats-de-modèle-supportés" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 1 [...]
 <p>Le paramètre <code>privateKey</code> supporte les trois formats de schéma suivants : * <code>fichier:///chemin/vers/fichier</code>* * <code>fichier:/chemin/vers/fichier</code>* * <code>data:application/x-pem-file;base64,&lt;base64-encoded value&gt;</code></p>
 </blockquote>
-</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/fr/2.5.1/security-bouncy-castle"><span class="arrow-prev">← </span><span>Bouncy Castle Providers</span></a><a class="docs-next button" href="/docs/fr/2.5.1/client-libraries-go"><span>Go</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#installation">Installation</a><ul class="toc-headings"><li><a href="#maven">Maven</a>< [...]
+</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/fr/2.5.1/security-bouncy-castle"><span class="arrow-prev">← </span><span>Bouncy Castle Providers</span></a><a class="docs-next button" href="/docs/fr/2.5.1/client-libraries-go"><span>Go</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#installation">Installation</a><ul class="toc-headings"><li><a href="#maven">Maven</a>< [...]
       const community = document.querySelector("a[href='#community']").parentNode;
       const communityMenu =
         '<li>' +
diff --git a/content/docs/fr/2.5.1/concepts-messaging.html b/content/docs/fr/2.5.1/concepts-messaging.html
index 9cd2aca..8f1036b 100644
--- a/content/docs/fr/2.5.1/concepts-messaging.html
+++ b/content/docs/fr/2.5.1/concepts-messaging.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>Messaging Concepts · Apache Pulsar</title><meta name="viewport" content="width=device-width, initial-scale=1.0"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar is built on the [publish-subscribe](https://en.wikipedia.org/wiki/Publish%E2%80%93subscribe_pattern) pattern (short for pub-sub). In this pattern, [producers](#producers) p [...]
+<!DOCTYPE html><html lang="fr"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Messaging Concepts · Apache Pulsar</title><meta name="viewport" content="width=device-width, initial-scale=1.0"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar is built on the [publish-subscribe](https://en.wikipedia.org/wiki/Publish%E2%80%93subscribe_pattern) pattern (short for pub-sub). In this pattern, [producers](#producers) p [...]
               (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,7 +74,7 @@
                 };
               }
             });
-        </script></nav></div><div class="container mainContainer docsContainer"><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 id="__docusaurus" class="postHeaderTitle">Messaging Concepts</h1></header><article><div><span><p>Pulsar is built on the <a href="https://en.wikipedia.org/wiki/Publish%E2%80%93subscribe_pattern">publish- [...]
+        </script></nav></div><div class="container mainContainer docsContainer"><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 id="__docusaurus" class="postHeaderTitle">Messaging Concepts</h1></header><article><div><span><p>Pulsar is built on the <a href="https://en.wikipedia.org/wiki/Publish%E2%80%93subscribe_pattern">publish- [...]
 <p>Once a subscription has been created, all messages are <a href="/docs/fr/2.5.1/concepts-architecture-overview#persistent-storage">retained</a> by Pulsar, even if the consumer gets disconnected. Retained messages are discarded only when a consumer acknowledges that those messages are processed successfully.</p>
 <h2><a class="anchor" aria-hidden="true" id="messages"></a><a href="#messages" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
 <p>Messages are the basic &quot;unit&quot; of Pulsar. Messages are what producers publish to topics and what consumers then consume from topics (and acknowledge when the message has been processed). Messages are the analogue of letters in a postal service system.</p>
@@ -145,14 +145,14 @@
 <p>When a consumer has consumed a message successfully, the consumer sends an acknowledgement request to the broker. This message is permanently <a href="/docs/fr/2.5.1/concepts-architecture-overview#persistent-storage">stored</a> and then it is deleted only after all the subscriptions have acknowledged it. If you want to store the message that has been acknowledged by a consumer, you need to configure the <a href="/docs/fr/2.5.1/concepts-messaging#message-retention-and-expiry">message r [...]
 <p>Messages can be acknowledged either one by one or cumulatively. With cumulative acknowledgement, the consumer only needs to acknowledge the last message it received. All messages in the stream up to (and including) the provided message will not be re-delivered to that consumer.</p>
 <blockquote>
-<p>Cumulative acknowledgement cannot be used with <a href="#subscription-modes">shared subscription mode</a>, because shared mode involves multiple consumers having access to the same subscription.</p>
+<p>Cumulative acknowledgement cannot be used with <a href="#subscription-types">shared subscription type</a>, because shared mode involves multiple consumers having access to the same subscription.</p>
 </blockquote>
-<p>In the shared subscription mode, messages can be acknowledged individually.</p>
+<p>In Shared subscription type, messages can be acknowledged individually.</p>
 <h3><a class="anchor" aria-hidden="true" id="negative-acknowledgement"></a><a href="#negative-acknowledgement" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>When a consumer does not consume a message successfully at a time, and wants to consume the message again, the consumer can send a negative acknowledgement to the broker, and then the broker will redeliver the message.</p>
-<p>Messages can be negatively acknowledged one by one or cumulatively, which depends on the consumption subscription mode.</p>
-<p>In the exclusive and failover subscription modes, consumers only negatively acknowledge the last message they have received.</p>
-<p>In the shared and Key_Shared subscription modes, you can negatively acknowledge messages individually.</p>
+<p>Messages can be negatively acknowledged either individually or cumulatively, depending on the consumption subscription type.</p>
+<p>In the exclusive and failover subscription types, consumers only negatively acknowledge the last message they have received.</p>
+<p>In the shared and Key_Shared subscription types, you can negatively acknowledge messages individually.</p>
 <p>Be aware that negative acknowledgment on ordered subscription types, such as Exclusive, Failover and Key_Shared, can cause failed messages to arrive consumers out of the original order.</p>
 <blockquote>
 <p>Note If batching is enabled, other messages in the same batch may be redelivered to the consumer as well as the negatively acknowledged messages.</p>
@@ -196,8 +196,8 @@ Prefer negative acknowledgements over acknowledgement timeout. Negative acknowle
 </code></pre>
 <p>Dead letter topic depends on message re-delivery. Messages are redelivered either due to <a href="#acknowledgement-timeout">acknowledgement timeout</a> or <a href="#negative-acknowledgement">negative acknowledgement</a>. If you are going to use negative acknowledgement on a message, make sure it is negatively acknowledged before the acknowledgement timeout.</p>
 <blockquote>
-<p>Note<br>
-Currently, dead letter topic is enabled only in the shared subscription mode.</p>
+<p><strong>Note</strong>    <br>
+Currently, dead letter topic is enabled only in Shared subscription type.</p>
 </blockquote>
 <h2><a class="anchor" aria-hidden="true" id="topics"></a><a href="#topics" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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. [...]
 <p>As in other pub-sub systems, topics in Pulsar are named channels for transmitting messages from <a href="/docs/fr/2.5.1/reference-terminology#producer">producers</a> to <a href="/docs/fr/2.5.1/reference-terminology#consumer">consumers</a>. Topic names are URLs that have a well-defined structure:</p>
@@ -221,21 +221,21 @@ Currently, dead letter topic is enabled only in the shared subscription mode.</p
 <h2><a class="anchor" aria-hidden="true" id="espaces-de-nommage"></a><a href="#espaces-de-nommage" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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- [...]
 <p>A namespace is a logical nomenclature within a tenant. A tenant can create multiple namespaces via the <a href="/docs/fr/2.5.1/admin-api-namespaces#create">admin API</a>. For instance, a tenant with different applications can create a separate namespace for each application. A namespace allows the application to create and manage a hierarchy of topics. The topic <code>my-tenant/app1</code> is a namespace for the application <code>app1</code> for <code>my-tenant</code>. You can create  [...]
 <h2><a class="anchor" aria-hidden="true" id="subscriptions"></a><a href="#subscriptions" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>A subscription is a named configuration rule that determines how messages are delivered to consumers. There are four available subscription modes in Pulsar: <a href="#exclusive">exclusive</a>, <a href="#shared">shared</a>, <a href="#failover">failover</a>, and <a href="#key_shared">key_shared</a>. These modes are illustrated in the figure below.</p>
-<p><img src="/docs/assets/pulsar-subscription-modes.png" alt="Subscription modes"></p>
+<p>A subscription is a named configuration rule that determines how messages are delivered to consumers. There are four available subscription types in Pulsar: <a href="#exclusive">exclusive</a>, <a href="#shared">shared</a>, <a href="#failover">failover</a>, and <a href="#key_shared">key_shared</a>. These types are illustrated in the figure below.</p>
+<p><img src="/docs/assets/pulsar-subscription-types.png" alt="Subscription types"></p>
 <blockquote>
 <h4><a class="anchor" aria-hidden="true" id="pub-sub-queuing-or-both"></a><a href="#pub-sub-queuing-or-both" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>There is a lot of flexibility in how to combine subscriptions: * If you want to achieve traditional &quot;fan-out pub-sub messaging&quot; among consumers, you can make each consumer have a unique subscription name (exclusive) * If you want to achieve &quot;message queuing&quot; among consumers, you can make multiple consumers have the same subscription name (shared, failover, key_shared) * If you want to do both simultaneously, you can have some consumers with exclusive subscriptions  [...]
 </blockquote>
 <h3><a class="anchor" aria-hidden="true" id="exclusive"></a><a href="#exclusive" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>In <em>exclusive</em> mode, only a single consumer is allowed to attach to the subscription. If more than one consumer attempts to subscribe to a topic using the same subscription, the consumer receives an error.</p>
+<p>In <em>exclusive</em> type, only a single consumer is allowed to attach to the subscription. If more than one consumer attempts to subscribe to a topic using the same subscription, the consumer receives an error.</p>
 <p>In the diagram below, only <strong>Consumer A-0</strong> is allowed to consume messages.</p>
 <blockquote>
-<p>Exclusive mode is the default subscription mode.</p>
+<p>Exclusive is the default subscription type.</p>
 </blockquote>
 <p><img src="/docs/assets/pulsar-exclusive-subscriptions.png" alt="Exclusive subscriptions"></p>
 <h3><a class="anchor" aria-hidden="true" id="failover"></a><a href="#failover" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
-<p>In <em>failover</em> mode, multiple consumers can attach to the same subscription. A master consumer is picked for non-partitioned topic or each partition of partitioned topic and receives messages. When the master consumer disconnects, all (non-acknowledged and subsequent) messages are delivered to the next consumer in line.</p>
+<p>In <em>Failover</em> type, multiple consumers can attach to the same subscription. A master consumer is picked for non-partitioned topic or each partition of partitioned topic and receives messages. When the master consumer disconnects, all (non-acknowledged and subsequent) messages are delivered to the next consumer in line.</p>
 <p>For partitioned topics, broker will sort consumers by priority level and lexicographical order of consumer name. Then broker will try to evenly assigns topics to consumers with the highest priority level.</p>
 <p>For non-partitioned topic, broker will pick consumer in the order they subscribe to the non partitioned topic.</p>
 <p>In the diagram below, <strong>Consumer-B-0</strong> is the master consumer while <strong>Consumer-B-1</strong> would be the next consumer in line to receive messages if <strong>Consumer-B-0</strong> is disconnected.</p>
@@ -302,9 +302,9 @@ Consumer&lt;<span class="hljs-keyword">byte</span>[]&gt; someTopicsConsumer = pu
 <p>The diagram below illustrates this:</p>
 <p><img src="/docs/assets/partitioning.png" alt=""></p>
 <p>Here, the topic <strong>Topic1</strong> has five partitions (<strong>P0</strong> through <strong>P4</strong>) split across three brokers. Because there are more partitions than brokers, two brokers handle two partitions a piece, while the third handles only one (again, Pulsar handles this distribution of partitions automatically).</p>
-<p>Messages for this topic are broadcast to two consumers. The <a href="#routing-modes">routing mode</a> determines each message should be published to which partition, while the <a href="#subscription-modes">subscription mode</a> determines which messages go to which consumers.</p>
-<p>Decisions about routing and subscription modes can be made separately in most cases. In general, throughput concerns should guide partitioning/routing decisions while subscription decisions should be guided by application semantics.</p>
-<p>There is no difference between partitioned topics and normal topics in terms of how subscription modes work, as partitioning only determines what happens between when a message is published by a producer and processed and acknowledged by a consumer.</p>
+<p>Messages for this topic are broadcast to two consumers. The <a href="#routing-modes">routing mode</a> determines each message should be published to which partition, while the <a href="#subscription-types">subscription type</a> determines which messages go to which consumers.</p>
+<p>Decisions about routing and subscription types can be made separately in most cases. In general, throughput concerns should guide partitioning/routing decisions while subscription decisions should be guided by application semantics.</p>
+<p>There is no difference between partitioned topics and normal topics in terms of how subscription types work, as partitioning only determines what happens between when a message is published by a producer and processed and acknowledged by a consumer.</p>
 <p>Partitioned topics need to be explicitly created via the <a href="/docs/fr/2.5.1/admin-api-overview">admin API</a>. The number of partitions can be specified when creating the topic.</p>
 <h3><a class="anchor" aria-hidden="true" id="routing-modes"></a><a href="#routing-modes" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>When publishing to partitioned topics, you must specify a <em>routing mode</em>. The routing mode determines which partition---that is, which internal topic---each message should be published to.</p>
@@ -356,7 +356,7 @@ Consumer&lt;<span class="hljs-keyword">byte</span>[]&gt; someTopicsConsumer = pu
 <h3><a class="anchor" aria-hidden="true" id="performance"></a><a href="#performance" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>Non-persistent messaging is usually faster than persistent messaging because brokers don't persist messages and immediately send acks back to the producer as soon as that message is delivered to connected brokers. Producers thus see comparatively low publish latency with non-persistent topic.</p>
 <h3><a class="anchor" aria-hidden="true" id="client-api"></a><a href="#client-api" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>Producers and consumers can connect to non-persistent topics in the same way as persistent topics, with the crucial difference that the topic name must start with <code>non-persistent</code>. All three subscription modes---<a href="#exclusive">exclusive</a>, <a href="#shared">shared</a>, and <a href="#failover">failover</a>---are supported for non-persistent topics.</p>
+<p>Producers and consumers can connect to non-persistent topics in the same way as persistent topics, with the crucial difference that the topic name must start with <code>non-persistent</code>. All three subscription types---<a href="#exclusive">exclusive</a>, <a href="#shared">shared</a>, and <a href="#failover">failover</a>---are supported for non-persistent topics.</p>
 <p>Here's an example <a href="/docs/fr/2.5.1/client-libraries-java#consumers">Java consumer</a> for a non-persistent topic:</p>
 <pre><code class="hljs css language-java">PulsarClient client = PulsarClient.builder()
         .serviceUrl(<span class="hljs-string">"pulsar://localhost:6650"</span>)
@@ -410,7 +410,7 @@ Consumer&lt;<span class="hljs-keyword">byte</span>[]&gt; consumer = client.newCo
 </blockquote>
 <h2><a class="anchor" aria-hidden="true" id="delayed-message-delivery"></a><a href="#delayed-message-delivery" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>Delayed message delivery enables you to consume a message later rather than immediately. In this mechanism, a message is stored in BookKeeper, <code>DelayedDeliveryTracker</code> maintains the time index(time -&gt; messageId) in memory after published to a broker, and it is delivered to a consumer once the specific delayed time is passed.</p>
-<p>Delayed message delivery only works well in Shared subscription mode. In Exclusive and Failover subscription mode, the delayed message is dispatched immediately.</p>
+<p>Delayed message delivery only works well In shared subscription type. In Exclusive and Failover subscription types, the delayed message is dispatched immediately.</p>
 <p>The diagram below illustrates the concept of delayed message delivery:</p>
 <p><img src="/docs/assets/message_delay.png" alt="Delayed Message Delivery"></p>
 <p>A broker saves a message without any check. When a consumer consumes a message, if the message is set to delay, then the message is added to <code>DelayedDeliveryTracker</code>. A subscription checks and gets timeout messages from <code>DelayedDeliveryTracker</code>.</p>
diff --git a/content/docs/fr/2.5.1/concepts-messaging/index.html b/content/docs/fr/2.5.1/concepts-messaging/index.html
index 9cd2aca..8f1036b 100644
--- a/content/docs/fr/2.5.1/concepts-messaging/index.html
+++ b/content/docs/fr/2.5.1/concepts-messaging/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>Messaging Concepts · Apache Pulsar</title><meta name="viewport" content="width=device-width, initial-scale=1.0"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar is built on the [publish-subscribe](https://en.wikipedia.org/wiki/Publish%E2%80%93subscribe_pattern) pattern (short for pub-sub). In this pattern, [producers](#producers) p [...]
+<!DOCTYPE html><html lang="fr"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Messaging Concepts · Apache Pulsar</title><meta name="viewport" content="width=device-width, initial-scale=1.0"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar is built on the [publish-subscribe](https://en.wikipedia.org/wiki/Publish%E2%80%93subscribe_pattern) pattern (short for pub-sub). In this pattern, [producers](#producers) p [...]
               (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,7 +74,7 @@
                 };
               }
             });
-        </script></nav></div><div class="container mainContainer docsContainer"><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 id="__docusaurus" class="postHeaderTitle">Messaging Concepts</h1></header><article><div><span><p>Pulsar is built on the <a href="https://en.wikipedia.org/wiki/Publish%E2%80%93subscribe_pattern">publish- [...]
+        </script></nav></div><div class="container mainContainer docsContainer"><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 id="__docusaurus" class="postHeaderTitle">Messaging Concepts</h1></header><article><div><span><p>Pulsar is built on the <a href="https://en.wikipedia.org/wiki/Publish%E2%80%93subscribe_pattern">publish- [...]
 <p>Once a subscription has been created, all messages are <a href="/docs/fr/2.5.1/concepts-architecture-overview#persistent-storage">retained</a> by Pulsar, even if the consumer gets disconnected. Retained messages are discarded only when a consumer acknowledges that those messages are processed successfully.</p>
 <h2><a class="anchor" aria-hidden="true" id="messages"></a><a href="#messages" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
 <p>Messages are the basic &quot;unit&quot; of Pulsar. Messages are what producers publish to topics and what consumers then consume from topics (and acknowledge when the message has been processed). Messages are the analogue of letters in a postal service system.</p>
@@ -145,14 +145,14 @@
 <p>When a consumer has consumed a message successfully, the consumer sends an acknowledgement request to the broker. This message is permanently <a href="/docs/fr/2.5.1/concepts-architecture-overview#persistent-storage">stored</a> and then it is deleted only after all the subscriptions have acknowledged it. If you want to store the message that has been acknowledged by a consumer, you need to configure the <a href="/docs/fr/2.5.1/concepts-messaging#message-retention-and-expiry">message r [...]
 <p>Messages can be acknowledged either one by one or cumulatively. With cumulative acknowledgement, the consumer only needs to acknowledge the last message it received. All messages in the stream up to (and including) the provided message will not be re-delivered to that consumer.</p>
 <blockquote>
-<p>Cumulative acknowledgement cannot be used with <a href="#subscription-modes">shared subscription mode</a>, because shared mode involves multiple consumers having access to the same subscription.</p>
+<p>Cumulative acknowledgement cannot be used with <a href="#subscription-types">shared subscription type</a>, because shared mode involves multiple consumers having access to the same subscription.</p>
 </blockquote>
-<p>In the shared subscription mode, messages can be acknowledged individually.</p>
+<p>In Shared subscription type, messages can be acknowledged individually.</p>
 <h3><a class="anchor" aria-hidden="true" id="negative-acknowledgement"></a><a href="#negative-acknowledgement" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>When a consumer does not consume a message successfully at a time, and wants to consume the message again, the consumer can send a negative acknowledgement to the broker, and then the broker will redeliver the message.</p>
-<p>Messages can be negatively acknowledged one by one or cumulatively, which depends on the consumption subscription mode.</p>
-<p>In the exclusive and failover subscription modes, consumers only negatively acknowledge the last message they have received.</p>
-<p>In the shared and Key_Shared subscription modes, you can negatively acknowledge messages individually.</p>
+<p>Messages can be negatively acknowledged either individually or cumulatively, depending on the consumption subscription type.</p>
+<p>In the exclusive and failover subscription types, consumers only negatively acknowledge the last message they have received.</p>
+<p>In the shared and Key_Shared subscription types, you can negatively acknowledge messages individually.</p>
 <p>Be aware that negative acknowledgment on ordered subscription types, such as Exclusive, Failover and Key_Shared, can cause failed messages to arrive consumers out of the original order.</p>
 <blockquote>
 <p>Note If batching is enabled, other messages in the same batch may be redelivered to the consumer as well as the negatively acknowledged messages.</p>
@@ -196,8 +196,8 @@ Prefer negative acknowledgements over acknowledgement timeout. Negative acknowle
 </code></pre>
 <p>Dead letter topic depends on message re-delivery. Messages are redelivered either due to <a href="#acknowledgement-timeout">acknowledgement timeout</a> or <a href="#negative-acknowledgement">negative acknowledgement</a>. If you are going to use negative acknowledgement on a message, make sure it is negatively acknowledged before the acknowledgement timeout.</p>
 <blockquote>
-<p>Note<br>
-Currently, dead letter topic is enabled only in the shared subscription mode.</p>
+<p><strong>Note</strong>    <br>
+Currently, dead letter topic is enabled only in Shared subscription type.</p>
 </blockquote>
 <h2><a class="anchor" aria-hidden="true" id="topics"></a><a href="#topics" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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. [...]
 <p>As in other pub-sub systems, topics in Pulsar are named channels for transmitting messages from <a href="/docs/fr/2.5.1/reference-terminology#producer">producers</a> to <a href="/docs/fr/2.5.1/reference-terminology#consumer">consumers</a>. Topic names are URLs that have a well-defined structure:</p>
@@ -221,21 +221,21 @@ Currently, dead letter topic is enabled only in the shared subscription mode.</p
 <h2><a class="anchor" aria-hidden="true" id="espaces-de-nommage"></a><a href="#espaces-de-nommage" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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- [...]
 <p>A namespace is a logical nomenclature within a tenant. A tenant can create multiple namespaces via the <a href="/docs/fr/2.5.1/admin-api-namespaces#create">admin API</a>. For instance, a tenant with different applications can create a separate namespace for each application. A namespace allows the application to create and manage a hierarchy of topics. The topic <code>my-tenant/app1</code> is a namespace for the application <code>app1</code> for <code>my-tenant</code>. You can create  [...]
 <h2><a class="anchor" aria-hidden="true" id="subscriptions"></a><a href="#subscriptions" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>A subscription is a named configuration rule that determines how messages are delivered to consumers. There are four available subscription modes in Pulsar: <a href="#exclusive">exclusive</a>, <a href="#shared">shared</a>, <a href="#failover">failover</a>, and <a href="#key_shared">key_shared</a>. These modes are illustrated in the figure below.</p>
-<p><img src="/docs/assets/pulsar-subscription-modes.png" alt="Subscription modes"></p>
+<p>A subscription is a named configuration rule that determines how messages are delivered to consumers. There are four available subscription types in Pulsar: <a href="#exclusive">exclusive</a>, <a href="#shared">shared</a>, <a href="#failover">failover</a>, and <a href="#key_shared">key_shared</a>. These types are illustrated in the figure below.</p>
+<p><img src="/docs/assets/pulsar-subscription-types.png" alt="Subscription types"></p>
 <blockquote>
 <h4><a class="anchor" aria-hidden="true" id="pub-sub-queuing-or-both"></a><a href="#pub-sub-queuing-or-both" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>There is a lot of flexibility in how to combine subscriptions: * If you want to achieve traditional &quot;fan-out pub-sub messaging&quot; among consumers, you can make each consumer have a unique subscription name (exclusive) * If you want to achieve &quot;message queuing&quot; among consumers, you can make multiple consumers have the same subscription name (shared, failover, key_shared) * If you want to do both simultaneously, you can have some consumers with exclusive subscriptions  [...]
 </blockquote>
 <h3><a class="anchor" aria-hidden="true" id="exclusive"></a><a href="#exclusive" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>In <em>exclusive</em> mode, only a single consumer is allowed to attach to the subscription. If more than one consumer attempts to subscribe to a topic using the same subscription, the consumer receives an error.</p>
+<p>In <em>exclusive</em> type, only a single consumer is allowed to attach to the subscription. If more than one consumer attempts to subscribe to a topic using the same subscription, the consumer receives an error.</p>
 <p>In the diagram below, only <strong>Consumer A-0</strong> is allowed to consume messages.</p>
 <blockquote>
-<p>Exclusive mode is the default subscription mode.</p>
+<p>Exclusive is the default subscription type.</p>
 </blockquote>
 <p><img src="/docs/assets/pulsar-exclusive-subscriptions.png" alt="Exclusive subscriptions"></p>
 <h3><a class="anchor" aria-hidden="true" id="failover"></a><a href="#failover" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
-<p>In <em>failover</em> mode, multiple consumers can attach to the same subscription. A master consumer is picked for non-partitioned topic or each partition of partitioned topic and receives messages. When the master consumer disconnects, all (non-acknowledged and subsequent) messages are delivered to the next consumer in line.</p>
+<p>In <em>Failover</em> type, multiple consumers can attach to the same subscription. A master consumer is picked for non-partitioned topic or each partition of partitioned topic and receives messages. When the master consumer disconnects, all (non-acknowledged and subsequent) messages are delivered to the next consumer in line.</p>
 <p>For partitioned topics, broker will sort consumers by priority level and lexicographical order of consumer name. Then broker will try to evenly assigns topics to consumers with the highest priority level.</p>
 <p>For non-partitioned topic, broker will pick consumer in the order they subscribe to the non partitioned topic.</p>
 <p>In the diagram below, <strong>Consumer-B-0</strong> is the master consumer while <strong>Consumer-B-1</strong> would be the next consumer in line to receive messages if <strong>Consumer-B-0</strong> is disconnected.</p>
@@ -302,9 +302,9 @@ Consumer&lt;<span class="hljs-keyword">byte</span>[]&gt; someTopicsConsumer = pu
 <p>The diagram below illustrates this:</p>
 <p><img src="/docs/assets/partitioning.png" alt=""></p>
 <p>Here, the topic <strong>Topic1</strong> has five partitions (<strong>P0</strong> through <strong>P4</strong>) split across three brokers. Because there are more partitions than brokers, two brokers handle two partitions a piece, while the third handles only one (again, Pulsar handles this distribution of partitions automatically).</p>
-<p>Messages for this topic are broadcast to two consumers. The <a href="#routing-modes">routing mode</a> determines each message should be published to which partition, while the <a href="#subscription-modes">subscription mode</a> determines which messages go to which consumers.</p>
-<p>Decisions about routing and subscription modes can be made separately in most cases. In general, throughput concerns should guide partitioning/routing decisions while subscription decisions should be guided by application semantics.</p>
-<p>There is no difference between partitioned topics and normal topics in terms of how subscription modes work, as partitioning only determines what happens between when a message is published by a producer and processed and acknowledged by a consumer.</p>
+<p>Messages for this topic are broadcast to two consumers. The <a href="#routing-modes">routing mode</a> determines each message should be published to which partition, while the <a href="#subscription-types">subscription type</a> determines which messages go to which consumers.</p>
+<p>Decisions about routing and subscription types can be made separately in most cases. In general, throughput concerns should guide partitioning/routing decisions while subscription decisions should be guided by application semantics.</p>
+<p>There is no difference between partitioned topics and normal topics in terms of how subscription types work, as partitioning only determines what happens between when a message is published by a producer and processed and acknowledged by a consumer.</p>
 <p>Partitioned topics need to be explicitly created via the <a href="/docs/fr/2.5.1/admin-api-overview">admin API</a>. The number of partitions can be specified when creating the topic.</p>
 <h3><a class="anchor" aria-hidden="true" id="routing-modes"></a><a href="#routing-modes" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>When publishing to partitioned topics, you must specify a <em>routing mode</em>. The routing mode determines which partition---that is, which internal topic---each message should be published to.</p>
@@ -356,7 +356,7 @@ Consumer&lt;<span class="hljs-keyword">byte</span>[]&gt; someTopicsConsumer = pu
 <h3><a class="anchor" aria-hidden="true" id="performance"></a><a href="#performance" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>Non-persistent messaging is usually faster than persistent messaging because brokers don't persist messages and immediately send acks back to the producer as soon as that message is delivered to connected brokers. Producers thus see comparatively low publish latency with non-persistent topic.</p>
 <h3><a class="anchor" aria-hidden="true" id="client-api"></a><a href="#client-api" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>Producers and consumers can connect to non-persistent topics in the same way as persistent topics, with the crucial difference that the topic name must start with <code>non-persistent</code>. All three subscription modes---<a href="#exclusive">exclusive</a>, <a href="#shared">shared</a>, and <a href="#failover">failover</a>---are supported for non-persistent topics.</p>
+<p>Producers and consumers can connect to non-persistent topics in the same way as persistent topics, with the crucial difference that the topic name must start with <code>non-persistent</code>. All three subscription types---<a href="#exclusive">exclusive</a>, <a href="#shared">shared</a>, and <a href="#failover">failover</a>---are supported for non-persistent topics.</p>
 <p>Here's an example <a href="/docs/fr/2.5.1/client-libraries-java#consumers">Java consumer</a> for a non-persistent topic:</p>
 <pre><code class="hljs css language-java">PulsarClient client = PulsarClient.builder()
         .serviceUrl(<span class="hljs-string">"pulsar://localhost:6650"</span>)
@@ -410,7 +410,7 @@ Consumer&lt;<span class="hljs-keyword">byte</span>[]&gt; consumer = client.newCo
 </blockquote>
 <h2><a class="anchor" aria-hidden="true" id="delayed-message-delivery"></a><a href="#delayed-message-delivery" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>Delayed message delivery enables you to consume a message later rather than immediately. In this mechanism, a message is stored in BookKeeper, <code>DelayedDeliveryTracker</code> maintains the time index(time -&gt; messageId) in memory after published to a broker, and it is delivered to a consumer once the specific delayed time is passed.</p>
-<p>Delayed message delivery only works well in Shared subscription mode. In Exclusive and Failover subscription mode, the delayed message is dispatched immediately.</p>
+<p>Delayed message delivery only works well In shared subscription type. In Exclusive and Failover subscription types, the delayed message is dispatched immediately.</p>
 <p>The diagram below illustrates the concept of delayed message delivery:</p>
 <p><img src="/docs/assets/message_delay.png" alt="Delayed Message Delivery"></p>
 <p>A broker saves a message without any check. When a consumer consumes a message, if the message is set to delay, then the message is added to <code>DelayedDeliveryTracker</code>. A subscription checks and gets timeout messages from <code>DelayedDeliveryTracker</code>.</p>
diff --git a/content/docs/fr/2.5.1/concepts-overview.html b/content/docs/fr/2.5.1/concepts-overview.html
index 3d3b5d3..29f9eb0 100644
--- a/content/docs/fr/2.5.1/concepts-overview.html
+++ b/content/docs/fr/2.5.1/concepts-overview.html
@@ -81,7 +81,7 @@
 <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/fr/2.5.1/concepts-clients">client API</a> with bindings for <a href="/docs/fr/2.5.1/client-libraries-java">Java</a>, <a href="/docs/fr/2.5.1/client-libraries-go">Go</a>, <a href="/docs/fr/2.5.1/client-libraries-python">Python</a> and <a href="/docs/fr/2.5.1/client-libraries-cpp">C++</a>.</li>
-<li>Multiple <a href="/docs/fr/2.5.1/concepts-messaging#subscription-modes">subscription modes</a> (<a href="/docs/fr/2.5.1/concepts-messaging#exclusive">exclusive</a>, <a href="/docs/fr/2.5.1/concepts-messaging#shared">shared</a>, and <a href="/docs/fr/2.5.1/concepts-messaging#failover">failover</a>) for topics.</li>
+<li>Multiple <a href="/docs/fr/2.5.1/concepts-messaging#subscription-types">subscription types</a> (<a href="/docs/fr/2.5.1/concepts-messaging#exclusive">exclusive</a>, <a href="/docs/fr/2.5.1/concepts-messaging#shared">shared</a>, and <a href="/docs/fr/2.5.1/concepts-messaging#failover">failover</a>) for topics.</li>
 <li>Guaranteed message delivery with <a href="/docs/fr/2.5.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/fr/2.5.1/functions-overview">Pulsar Functions</a> offers the capability for stream-native data processing.</li>
 <li>A serverless connector framework <a href="/docs/fr/2.5.1/io-overview">Pulsar IO</a>, which is built on Pulsar Functions, makes it easier to move data in and out of Apache Pulsar.</li>
diff --git a/content/docs/fr/2.5.1/concepts-overview/index.html b/content/docs/fr/2.5.1/concepts-overview/index.html
index 3d3b5d3..29f9eb0 100644
--- a/content/docs/fr/2.5.1/concepts-overview/index.html
+++ b/content/docs/fr/2.5.1/concepts-overview/index.html
@@ -81,7 +81,7 @@
 <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/fr/2.5.1/concepts-clients">client API</a> with bindings for <a href="/docs/fr/2.5.1/client-libraries-java">Java</a>, <a href="/docs/fr/2.5.1/client-libraries-go">Go</a>, <a href="/docs/fr/2.5.1/client-libraries-python">Python</a> and <a href="/docs/fr/2.5.1/client-libraries-cpp">C++</a>.</li>
-<li>Multiple <a href="/docs/fr/2.5.1/concepts-messaging#subscription-modes">subscription modes</a> (<a href="/docs/fr/2.5.1/concepts-messaging#exclusive">exclusive</a>, <a href="/docs/fr/2.5.1/concepts-messaging#shared">shared</a>, and <a href="/docs/fr/2.5.1/concepts-messaging#failover">failover</a>) for topics.</li>
+<li>Multiple <a href="/docs/fr/2.5.1/concepts-messaging#subscription-types">subscription types</a> (<a href="/docs/fr/2.5.1/concepts-messaging#exclusive">exclusive</a>, <a href="/docs/fr/2.5.1/concepts-messaging#shared">shared</a>, and <a href="/docs/fr/2.5.1/concepts-messaging#failover">failover</a>) for topics.</li>
 <li>Guaranteed message delivery with <a href="/docs/fr/2.5.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/fr/2.5.1/functions-overview">Pulsar Functions</a> offers the capability for stream-native data processing.</li>
 <li>A serverless connector framework <a href="/docs/fr/2.5.1/io-overview">Pulsar IO</a>, which is built on Pulsar Functions, makes it easier to move data in and out of Apache Pulsar.</li>
diff --git a/content/docs/fr/2.5.2/client-libraries-java.html b/content/docs/fr/2.5.2/client-libraries-java.html
index c45cc2a..d128601 100644
--- a/content/docs/fr/2.5.2/client-libraries-java.html
+++ b/content/docs/fr/2.5.2/client-libraries-java.html
@@ -252,7 +252,7 @@ client.close();
 <h3><a class="anchor" aria-hidden="true" id="configure-consumer"></a><a href="#configure-consumer" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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- [...]
 <p>If you instantiate a <code>Consumer</code> object by specifying only a topic and subscription name as in the example above, the consumer uses the default configuration.</p>
 <p>When you create a consumer, you can use the <code>loadConf</code> configuration. The following parameters are available in <code>loadConf</code>.</p>
-<p>Type | Name| <div style="width:300px">Description</div>|  Default |---|---|---|--- Set&lt;String&gt;|  <code>topicNames</code>|   Topic name| Sets.newTreeSet() Pattern|   <code>topicsPattern</code>| Topic pattern   |None String| <code>subscriptionName</code>| Subscription name|  None SubscriptionType| <code>subscriptionType</code>|   Subscription type <br/><br/>Four subscription types are available:<li>Exclusive</li><li>Failover</li><li>Shared</li><li>Key_Shared</li>|SubscriptionType. [...]
+<p>Type | Name| <div style="width:300px">Description</div>|  Default |---|---|---|--- Set&lt;String&gt;|  <code>topicNames</code>|   Topic name| Sets.newTreeSet() Pattern|   <code>topicsPattern</code>| Topic pattern   |None String| <code>subscriptionName</code>| Subscription name|  None SubscriptionType| <code>subscriptionType</code>|   Subscription type <br/><br/>Four subscription types are available:<li>Exclusive</li><li>Failover</li><li>Shared</li><li>Key_Shared</li>|SubscriptionType. [...]
 SortedMap&lt;String, String&gt;|<code>properties</code>|A name or value property of this consumer.<br/><br/><code>properties</code> is application defined metadata attached to a consumer. <br/><br/>When getting a topic stats, associate this metadata with the consumer stats for easier identification.|new TreeMap&lt;&gt;() boolean|<code>readCompacted</code>|If enabling <code>readCompacted</code>, a consumer reads messages from a compacted topic rather than reading a full message backlog of [...]
 <p>You can configure parameters if you do not want to use the default configuration. For a full list, see the Javadoc for the <a href="https://pulsar.incubator.apache.org/api/client/2.8.0-SNAPSHOT/org/apache/pulsar/client/api/ConsumerBuilder">ConsumerBuilder</a>
  class.</p>
@@ -281,8 +281,8 @@ SortedMap&lt;String, String&gt;|<code>properties</code>|A name or value property
 consumer.acknowledge(messages)
 </code></pre>
 <blockquote>
-<p>Note:</p>
-<p>Batch receive policy limits the number and bytes of messages in a single batch. You can specify a timeout to wait for enough messages.</p>
+<p><strong>Note</strong>  <br>
+Batch receive policy limits the number and bytes of messages in a single batch. You can specify a timeout to wait for enough messages.</p>
 <p>The batch receive is completed if any of the following condition is met: enough number of messages, bytes of messages, wait timeout.</p>
 <pre><code class="hljs css language-java">Consumer consumer = client.newConsumer()
         .topic(<span class="hljs-string">"my-topic"</span>)
@@ -361,10 +361,10 @@ consumerBuilder
             });
 }
 </code></pre>
-<h3><a class="anchor" aria-hidden="true" id="subscription-modes"></a><a href="#subscription-modes" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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- [...]
-<p>Pulsar has various <a href="concepts-messaging#subscription-modes">subscription modes</a> to match different scenarios. A topic can have multiple subscriptions with different subscription modes. However, a subscription can only have one subscription mode at a time.</p>
-<p>A subscription is identical with the subscription name which can specify only one subscription mode at a time. You cannot change the subscription mode unless all existing consumers of this subscription are offline.</p>
-<p>Different subscription modes have different message distribution modes. This section describes the differences of subscription modes and how to use them.</p>
+<h3><a class="anchor" aria-hidden="true" id="subscription-types"></a><a href="#subscription-types" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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- [...]
+<p>Pulsar has various <a href="concepts-messaging#subscription-types">subscription types</a> to match different scenarios. A topic can have multiple subscriptions with different subscription types. However, a subscription can only have one subscription type at a time.</p>
+<p>A subscription is identical with the subscription name; a subscription name can specify only one subscription type at a time. To change the subscription type, you should first stop all consumers of this subscription.</p>
+<p>Different subscription types have different message distribution modes. This section describes the differences of subscription types and how to use them.</p>
 <p>In order to better describe their differences, assuming you have a topic named &quot;my-topic&quot;, and the producer has published 10 messages.</p>
 <pre><code class="hljs css language-java">Producer&lt;String&gt; producer = client.newProducer(Schema.STRING)
         .topic(<span class="hljs-string">"my-topic"</span>)
@@ -383,7 +383,7 @@ producer.newMessage().key(<span class="hljs-string">"key-4"</span>).value(<span
 producer.newMessage().key(<span class="hljs-string">"key-4"</span>).value(<span class="hljs-string">"message-4-2"</span>).send();
 </code></pre>
 <h4><a class="anchor" aria-hidden="true" id="exclusive"></a><a href="#exclusive" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>Create a new consumer and subscribe with the <code>Exclusive</code> subscription mode.</p>
+<p>Create a new consumer and subscribe with the <code>Exclusive</code> subscription type.</p>
 <pre><code class="hljs css language-java">Consumer consumer = client.newConsumer()
         .topic(<span class="hljs-string">"my-topic"</span>)
         .subscriptionName(<span class="hljs-string">"my-subscription"</span>)
@@ -392,11 +392,11 @@ producer.newMessage().key(<span class="hljs-string">"key-4"</span>).value(<span
 </code></pre>
 <p>Only the first consumer is allowed to the subscription, other consumers receive an error. The first consumer receives all 10 messages, and the consuming order is the same as the producing order.</p>
 <blockquote>
-<p>Note:</p>
-<p>If topic is a partitioned topic, the first consumer subscribes to all partitioned topics, other consumers are not assigned with partitions and receive an error.</p>
+<p><strong>Note</strong>  <br>
+If topic is a partitioned topic, the first consumer subscribes to all partitioned topics, other consumers are not assigned with partitions and receive an error.</p>
 </blockquote>
 <h4><a class="anchor" aria-hidden="true" id="failover"></a><a href="#failover" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
-<p>Create new consumers and subscribe with the<code>Failover</code> subscription mode.</p>
+<p>Create new consumers and subscribe with the<code>Failover</code> subscription type.</p>
 <pre><code class="hljs css language-java">Consumer consumer1 = client.newConsumer()
         .topic(<span class="hljs-string">"my-topic"</span>)
         .subscriptionName(<span class="hljs-string">"my-subscription"</span>)
@@ -428,11 +428,11 @@ Consumer consumer2 = client.newConsumer()
 (<span class="hljs-string">"key-4"</span>, <span class="hljs-string">"message-4-2"</span>)
 </code></pre>
 <blockquote>
-<p>Note:</p>
-<p>If a topic is a partitioned topic, each partition has only one active consumer, messages of one partition are distributed to only one consumer, and messages of multiple partitions are distributed to multiple consumers.</p>
+<p><strong>Note</strong>  <br>
+If a topic is a partitioned topic, each partition has only one active consumer, messages of one partition are distributed to only one consumer, and messages of multiple partitions are distributed to multiple consumers.</p>
 </blockquote>
 <h4><a class="anchor" aria-hidden="true" id="shared"></a><a href="#shared" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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. [...]
-<p>Create new consumers and subscribe with <code>Shared</code> subscription mode:</p>
+<p>Create new consumers and subscribe with <code>Shared</code> subscription type.</p>
 <pre><code class="hljs css language-java">Consumer consumer1 = client.newConsumer()
         .topic(<span class="hljs-string">"my-topic"</span>)
         .subscriptionName(<span class="hljs-string">"my-subscription"</span>)
@@ -446,7 +446,7 @@ Consumer consumer2 = client.newConsumer()
         .subscribe()
 <span class="hljs-comment">//Both consumer1 and consumer 2 is active consumers.</span>
 </code></pre>
-<p>In shared subscription mode, multiple consumers can attach to the same subscription and messages are delivered in a round robin distribution across consumers.</p>
+<p>In shared subscription type, multiple consumers can attach to the same subscription and messages are delivered in a round robin distribution across consumers.</p>
 <p>If a broker dispatches only one message at a time, consumer1 receives the following information.</p>
 <pre><code class="hljs">(<span class="hljs-string">"key-1"</span>, <span class="hljs-string">"message-1-1"</span>)
 (<span class="hljs-string">"key-1"</span>, <span class="hljs-string">"message-1-3"</span>)
@@ -461,9 +461,9 @@ Consumer consumer2 = client.newConsumer()
 (<span class="hljs-string">"key-3"</span>, <span class="hljs-string">"message-3-2"</span>)
 (<span class="hljs-string">"key-4"</span>, <span class="hljs-string">"message-4-2"</span>)
 </code></pre>
-<p><code>Shared</code> subscription is different from <code>Exclusive</code> and <code>Failover</code> subscription modes. <code>Shared</code> subscription has better flexibility, but cannot provide order guarantee.</p>
+<p><code>Shared</code> subscription is different from <code>Exclusive</code> and <code>Failover</code> subscription types. <code>Shared</code> subscription has better flexibility, but cannot provide order guarantee.</p>
 <h4><a class="anchor" aria-hidden="true" id="key_shared"></a><a href="#key_shared" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>This is a new subscription mode since 2.4.0 release, create new consumers and subscribe with <code>Key_Shared</code> subscription mode.</p>
+<p>This is a new subscription type since 2.4.0 release. Create new consumers and subscribe with <code>Key_Shared</code> subscription type.</p>
 <pre><code class="hljs css language-java">Consumer consumer1 = client.newConsumer()
         .topic(<span class="hljs-string">"my-topic"</span>)
         .subscriptionName(<span class="hljs-string">"my-subscription"</span>)
@@ -493,8 +493,8 @@ Consumer consumer2 = client.newConsumer()
 (<span class="hljs-string">"key-4"</span>, <span class="hljs-string">"message-4-2"</span>)
 </code></pre>
 <blockquote>
-<p>Note:</p>
-<p>If the message key is not specified, messages without key are dispatched to one consumer in order by default.</p>
+<p><strong>Note</strong>  <br>
+If the message key is not specified, messages without key are dispatched to one consumer in order by default.</p>
 </blockquote>
 <h2><a class="anchor" aria-hidden="true" id="reader"></a><a href="#reader" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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. [...]
 <p>With the <a href="/docs/fr/2.5.2/concepts-clients#reader-interface">reader interface</a>, Pulsar clients can &quot;manually position&quot; themselves within a topic and reading all messages from a specified message onward. The Pulsar API for Java enables you to create <a href="https://pulsar.incubator.apache.org/api/client/2.8.0-SNAPSHOT/org/apache/pulsar/client/api/Reader">Reader</a>
@@ -653,7 +653,7 @@ PulsarClient client = PulsarClient.builder()
 <h4><a class="anchor" aria-hidden="true" id="formats-de-modèle-supportés"></a><a href="#formats-de-modèle-supportés" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 1 [...]
 <p>Le paramètre <code>privateKey</code> supporte les trois formats de schéma suivants : * <code>fichier:///chemin/vers/fichier</code>* * <code>fichier:/chemin/vers/fichier</code>* * <code>data:application/x-pem-file;base64,&lt;base64-encoded value&gt;</code></p>
 </blockquote>
-</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/fr/2.5.2/security-bouncy-castle"><span class="arrow-prev">← </span><span>Bouncy Castle Providers</span></a><a class="docs-next button" href="/docs/fr/2.5.2/client-libraries-go"><span>Go</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#installation">Installation</a><ul class="toc-headings"><li><a href="#maven">Maven</a>< [...]
+</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/fr/2.5.2/security-bouncy-castle"><span class="arrow-prev">← </span><span>Bouncy Castle Providers</span></a><a class="docs-next button" href="/docs/fr/2.5.2/client-libraries-go"><span>Go</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#installation">Installation</a><ul class="toc-headings"><li><a href="#maven">Maven</a>< [...]
       const community = document.querySelector("a[href='#community']").parentNode;
       const communityMenu =
         '<li>' +
diff --git a/content/docs/fr/2.5.2/client-libraries-java/index.html b/content/docs/fr/2.5.2/client-libraries-java/index.html
index c45cc2a..d128601 100644
--- a/content/docs/fr/2.5.2/client-libraries-java/index.html
+++ b/content/docs/fr/2.5.2/client-libraries-java/index.html
@@ -252,7 +252,7 @@ client.close();
 <h3><a class="anchor" aria-hidden="true" id="configure-consumer"></a><a href="#configure-consumer" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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- [...]
 <p>If you instantiate a <code>Consumer</code> object by specifying only a topic and subscription name as in the example above, the consumer uses the default configuration.</p>
 <p>When you create a consumer, you can use the <code>loadConf</code> configuration. The following parameters are available in <code>loadConf</code>.</p>
-<p>Type | Name| <div style="width:300px">Description</div>|  Default |---|---|---|--- Set&lt;String&gt;|  <code>topicNames</code>|   Topic name| Sets.newTreeSet() Pattern|   <code>topicsPattern</code>| Topic pattern   |None String| <code>subscriptionName</code>| Subscription name|  None SubscriptionType| <code>subscriptionType</code>|   Subscription type <br/><br/>Four subscription types are available:<li>Exclusive</li><li>Failover</li><li>Shared</li><li>Key_Shared</li>|SubscriptionType. [...]
+<p>Type | Name| <div style="width:300px">Description</div>|  Default |---|---|---|--- Set&lt;String&gt;|  <code>topicNames</code>|   Topic name| Sets.newTreeSet() Pattern|   <code>topicsPattern</code>| Topic pattern   |None String| <code>subscriptionName</code>| Subscription name|  None SubscriptionType| <code>subscriptionType</code>|   Subscription type <br/><br/>Four subscription types are available:<li>Exclusive</li><li>Failover</li><li>Shared</li><li>Key_Shared</li>|SubscriptionType. [...]
 SortedMap&lt;String, String&gt;|<code>properties</code>|A name or value property of this consumer.<br/><br/><code>properties</code> is application defined metadata attached to a consumer. <br/><br/>When getting a topic stats, associate this metadata with the consumer stats for easier identification.|new TreeMap&lt;&gt;() boolean|<code>readCompacted</code>|If enabling <code>readCompacted</code>, a consumer reads messages from a compacted topic rather than reading a full message backlog of [...]
 <p>You can configure parameters if you do not want to use the default configuration. For a full list, see the Javadoc for the <a href="https://pulsar.incubator.apache.org/api/client/2.8.0-SNAPSHOT/org/apache/pulsar/client/api/ConsumerBuilder">ConsumerBuilder</a>
  class.</p>
@@ -281,8 +281,8 @@ SortedMap&lt;String, String&gt;|<code>properties</code>|A name or value property
 consumer.acknowledge(messages)
 </code></pre>
 <blockquote>
-<p>Note:</p>
-<p>Batch receive policy limits the number and bytes of messages in a single batch. You can specify a timeout to wait for enough messages.</p>
+<p><strong>Note</strong>  <br>
+Batch receive policy limits the number and bytes of messages in a single batch. You can specify a timeout to wait for enough messages.</p>
 <p>The batch receive is completed if any of the following condition is met: enough number of messages, bytes of messages, wait timeout.</p>
 <pre><code class="hljs css language-java">Consumer consumer = client.newConsumer()
         .topic(<span class="hljs-string">"my-topic"</span>)
@@ -361,10 +361,10 @@ consumerBuilder
             });
 }
 </code></pre>
-<h3><a class="anchor" aria-hidden="true" id="subscription-modes"></a><a href="#subscription-modes" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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- [...]
-<p>Pulsar has various <a href="concepts-messaging#subscription-modes">subscription modes</a> to match different scenarios. A topic can have multiple subscriptions with different subscription modes. However, a subscription can only have one subscription mode at a time.</p>
-<p>A subscription is identical with the subscription name which can specify only one subscription mode at a time. You cannot change the subscription mode unless all existing consumers of this subscription are offline.</p>
-<p>Different subscription modes have different message distribution modes. This section describes the differences of subscription modes and how to use them.</p>
+<h3><a class="anchor" aria-hidden="true" id="subscription-types"></a><a href="#subscription-types" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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- [...]
+<p>Pulsar has various <a href="concepts-messaging#subscription-types">subscription types</a> to match different scenarios. A topic can have multiple subscriptions with different subscription types. However, a subscription can only have one subscription type at a time.</p>
+<p>A subscription is identical with the subscription name; a subscription name can specify only one subscription type at a time. To change the subscription type, you should first stop all consumers of this subscription.</p>
+<p>Different subscription types have different message distribution modes. This section describes the differences of subscription types and how to use them.</p>
 <p>In order to better describe their differences, assuming you have a topic named &quot;my-topic&quot;, and the producer has published 10 messages.</p>
 <pre><code class="hljs css language-java">Producer&lt;String&gt; producer = client.newProducer(Schema.STRING)
         .topic(<span class="hljs-string">"my-topic"</span>)
@@ -383,7 +383,7 @@ producer.newMessage().key(<span class="hljs-string">"key-4"</span>).value(<span
 producer.newMessage().key(<span class="hljs-string">"key-4"</span>).value(<span class="hljs-string">"message-4-2"</span>).send();
 </code></pre>
 <h4><a class="anchor" aria-hidden="true" id="exclusive"></a><a href="#exclusive" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>Create a new consumer and subscribe with the <code>Exclusive</code> subscription mode.</p>
+<p>Create a new consumer and subscribe with the <code>Exclusive</code> subscription type.</p>
 <pre><code class="hljs css language-java">Consumer consumer = client.newConsumer()
         .topic(<span class="hljs-string">"my-topic"</span>)
         .subscriptionName(<span class="hljs-string">"my-subscription"</span>)
@@ -392,11 +392,11 @@ producer.newMessage().key(<span class="hljs-string">"key-4"</span>).value(<span
 </code></pre>
 <p>Only the first consumer is allowed to the subscription, other consumers receive an error. The first consumer receives all 10 messages, and the consuming order is the same as the producing order.</p>
 <blockquote>
-<p>Note:</p>
-<p>If topic is a partitioned topic, the first consumer subscribes to all partitioned topics, other consumers are not assigned with partitions and receive an error.</p>
+<p><strong>Note</strong>  <br>
+If topic is a partitioned topic, the first consumer subscribes to all partitioned topics, other consumers are not assigned with partitions and receive an error.</p>
 </blockquote>
 <h4><a class="anchor" aria-hidden="true" id="failover"></a><a href="#failover" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
-<p>Create new consumers and subscribe with the<code>Failover</code> subscription mode.</p>
+<p>Create new consumers and subscribe with the<code>Failover</code> subscription type.</p>
 <pre><code class="hljs css language-java">Consumer consumer1 = client.newConsumer()
         .topic(<span class="hljs-string">"my-topic"</span>)
         .subscriptionName(<span class="hljs-string">"my-subscription"</span>)
@@ -428,11 +428,11 @@ Consumer consumer2 = client.newConsumer()
 (<span class="hljs-string">"key-4"</span>, <span class="hljs-string">"message-4-2"</span>)
 </code></pre>
 <blockquote>
-<p>Note:</p>
-<p>If a topic is a partitioned topic, each partition has only one active consumer, messages of one partition are distributed to only one consumer, and messages of multiple partitions are distributed to multiple consumers.</p>
+<p><strong>Note</strong>  <br>
+If a topic is a partitioned topic, each partition has only one active consumer, messages of one partition are distributed to only one consumer, and messages of multiple partitions are distributed to multiple consumers.</p>
 </blockquote>
 <h4><a class="anchor" aria-hidden="true" id="shared"></a><a href="#shared" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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. [...]
-<p>Create new consumers and subscribe with <code>Shared</code> subscription mode:</p>
+<p>Create new consumers and subscribe with <code>Shared</code> subscription type.</p>
 <pre><code class="hljs css language-java">Consumer consumer1 = client.newConsumer()
         .topic(<span class="hljs-string">"my-topic"</span>)
         .subscriptionName(<span class="hljs-string">"my-subscription"</span>)
@@ -446,7 +446,7 @@ Consumer consumer2 = client.newConsumer()
         .subscribe()
 <span class="hljs-comment">//Both consumer1 and consumer 2 is active consumers.</span>
 </code></pre>
-<p>In shared subscription mode, multiple consumers can attach to the same subscription and messages are delivered in a round robin distribution across consumers.</p>
+<p>In shared subscription type, multiple consumers can attach to the same subscription and messages are delivered in a round robin distribution across consumers.</p>
 <p>If a broker dispatches only one message at a time, consumer1 receives the following information.</p>
 <pre><code class="hljs">(<span class="hljs-string">"key-1"</span>, <span class="hljs-string">"message-1-1"</span>)
 (<span class="hljs-string">"key-1"</span>, <span class="hljs-string">"message-1-3"</span>)
@@ -461,9 +461,9 @@ Consumer consumer2 = client.newConsumer()
 (<span class="hljs-string">"key-3"</span>, <span class="hljs-string">"message-3-2"</span>)
 (<span class="hljs-string">"key-4"</span>, <span class="hljs-string">"message-4-2"</span>)
 </code></pre>
-<p><code>Shared</code> subscription is different from <code>Exclusive</code> and <code>Failover</code> subscription modes. <code>Shared</code> subscription has better flexibility, but cannot provide order guarantee.</p>
+<p><code>Shared</code> subscription is different from <code>Exclusive</code> and <code>Failover</code> subscription types. <code>Shared</code> subscription has better flexibility, but cannot provide order guarantee.</p>
 <h4><a class="anchor" aria-hidden="true" id="key_shared"></a><a href="#key_shared" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>This is a new subscription mode since 2.4.0 release, create new consumers and subscribe with <code>Key_Shared</code> subscription mode.</p>
+<p>This is a new subscription type since 2.4.0 release. Create new consumers and subscribe with <code>Key_Shared</code> subscription type.</p>
 <pre><code class="hljs css language-java">Consumer consumer1 = client.newConsumer()
         .topic(<span class="hljs-string">"my-topic"</span>)
         .subscriptionName(<span class="hljs-string">"my-subscription"</span>)
@@ -493,8 +493,8 @@ Consumer consumer2 = client.newConsumer()
 (<span class="hljs-string">"key-4"</span>, <span class="hljs-string">"message-4-2"</span>)
 </code></pre>
 <blockquote>
-<p>Note:</p>
-<p>If the message key is not specified, messages without key are dispatched to one consumer in order by default.</p>
+<p><strong>Note</strong>  <br>
+If the message key is not specified, messages without key are dispatched to one consumer in order by default.</p>
 </blockquote>
 <h2><a class="anchor" aria-hidden="true" id="reader"></a><a href="#reader" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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. [...]
 <p>With the <a href="/docs/fr/2.5.2/concepts-clients#reader-interface">reader interface</a>, Pulsar clients can &quot;manually position&quot; themselves within a topic and reading all messages from a specified message onward. The Pulsar API for Java enables you to create <a href="https://pulsar.incubator.apache.org/api/client/2.8.0-SNAPSHOT/org/apache/pulsar/client/api/Reader">Reader</a>
@@ -653,7 +653,7 @@ PulsarClient client = PulsarClient.builder()
 <h4><a class="anchor" aria-hidden="true" id="formats-de-modèle-supportés"></a><a href="#formats-de-modèle-supportés" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 1 [...]
 <p>Le paramètre <code>privateKey</code> supporte les trois formats de schéma suivants : * <code>fichier:///chemin/vers/fichier</code>* * <code>fichier:/chemin/vers/fichier</code>* * <code>data:application/x-pem-file;base64,&lt;base64-encoded value&gt;</code></p>
 </blockquote>
-</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/fr/2.5.2/security-bouncy-castle"><span class="arrow-prev">← </span><span>Bouncy Castle Providers</span></a><a class="docs-next button" href="/docs/fr/2.5.2/client-libraries-go"><span>Go</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#installation">Installation</a><ul class="toc-headings"><li><a href="#maven">Maven</a>< [...]
+</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/fr/2.5.2/security-bouncy-castle"><span class="arrow-prev">← </span><span>Bouncy Castle Providers</span></a><a class="docs-next button" href="/docs/fr/2.5.2/client-libraries-go"><span>Go</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#installation">Installation</a><ul class="toc-headings"><li><a href="#maven">Maven</a>< [...]
       const community = document.querySelector("a[href='#community']").parentNode;
       const communityMenu =
         '<li>' +
diff --git a/content/docs/fr/2.5.2/concepts-messaging.html b/content/docs/fr/2.5.2/concepts-messaging.html
index fbe5489..0855f53 100644
--- a/content/docs/fr/2.5.2/concepts-messaging.html
+++ b/content/docs/fr/2.5.2/concepts-messaging.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>Messaging Concepts · Apache Pulsar</title><meta name="viewport" content="width=device-width, initial-scale=1.0"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar is built on the [publish-subscribe](https://en.wikipedia.org/wiki/Publish%E2%80%93subscribe_pattern) pattern (short for pub-sub). In this pattern, [producers](#producers) p [...]
+<!DOCTYPE html><html lang="fr"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Messaging Concepts · Apache Pulsar</title><meta name="viewport" content="width=device-width, initial-scale=1.0"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar is built on the [publish-subscribe](https://en.wikipedia.org/wiki/Publish%E2%80%93subscribe_pattern) pattern (short for pub-sub). In this pattern, [producers](#producers) p [...]
               (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,7 +74,7 @@
                 };
               }
             });
-        </script></nav></div><div class="container mainContainer docsContainer"><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 id="__docusaurus" class="postHeaderTitle">Messaging Concepts</h1></header><article><div><span><p>Pulsar is built on the <a href="https://en.wikipedia.org/wiki/Publish%E2%80%93subscribe_pattern">publish- [...]
+        </script></nav></div><div class="container mainContainer docsContainer"><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 id="__docusaurus" class="postHeaderTitle">Messaging Concepts</h1></header><article><div><span><p>Pulsar is built on the <a href="https://en.wikipedia.org/wiki/Publish%E2%80%93subscribe_pattern">publish- [...]
 <p>Once a subscription has been created, all messages are <a href="/docs/fr/2.5.2/concepts-architecture-overview#persistent-storage">retained</a> by Pulsar, even if the consumer gets disconnected. Retained messages are discarded only when a consumer acknowledges that those messages are processed successfully.</p>
 <h2><a class="anchor" aria-hidden="true" id="messages"></a><a href="#messages" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
 <p>Messages are the basic &quot;unit&quot; of Pulsar. Messages are what producers publish to topics and what consumers then consume from topics (and acknowledge when the message has been processed). Messages are the analogue of letters in a postal service system.</p>
@@ -145,14 +145,14 @@
 <p>When a consumer has consumed a message successfully, the consumer sends an acknowledgement request to the broker. This message is permanently <a href="/docs/fr/2.5.2/concepts-architecture-overview#persistent-storage">stored</a> and then it is deleted only after all the subscriptions have acknowledged it. If you want to store the message that has been acknowledged by a consumer, you need to configure the <a href="/docs/fr/2.5.2/concepts-messaging#message-retention-and-expiry">message r [...]
 <p>Messages can be acknowledged either one by one or cumulatively. With cumulative acknowledgement, the consumer only needs to acknowledge the last message it received. All messages in the stream up to (and including) the provided message will not be re-delivered to that consumer.</p>
 <blockquote>
-<p>Cumulative acknowledgement cannot be used with <a href="#subscription-modes">shared subscription mode</a>, because shared mode involves multiple consumers having access to the same subscription.</p>
+<p>Cumulative acknowledgement cannot be used with <a href="#subscription-types">shared subscription type</a>, because shared mode involves multiple consumers having access to the same subscription.</p>
 </blockquote>
-<p>In the shared subscription mode, messages can be acknowledged individually.</p>
+<p>In Shared subscription type, messages can be acknowledged individually.</p>
 <h3><a class="anchor" aria-hidden="true" id="negative-acknowledgement"></a><a href="#negative-acknowledgement" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>When a consumer does not consume a message successfully at a time, and wants to consume the message again, the consumer can send a negative acknowledgement to the broker, and then the broker will redeliver the message.</p>
-<p>Messages can be negatively acknowledged one by one or cumulatively, which depends on the consumption subscription mode.</p>
-<p>In the exclusive and failover subscription modes, consumers only negatively acknowledge the last message they have received.</p>
-<p>In the shared and Key_Shared subscription modes, you can negatively acknowledge messages individually.</p>
+<p>Messages can be negatively acknowledged either individually or cumulatively, depending on the consumption subscription type.</p>
+<p>In the exclusive and failover subscription types, consumers only negatively acknowledge the last message they have received.</p>
+<p>In the shared and Key_Shared subscription types, you can negatively acknowledge messages individually.</p>
 <p>Be aware that negative acknowledgment on ordered subscription types, such as Exclusive, Failover and Key_Shared, can cause failed messages to arrive consumers out of the original order.</p>
 <blockquote>
 <p>Note If batching is enabled, other messages in the same batch may be redelivered to the consumer as well as the negatively acknowledged messages.</p>
@@ -196,8 +196,8 @@ Prefer negative acknowledgements over acknowledgement timeout. Negative acknowle
 </code></pre>
 <p>Dead letter topic depends on message re-delivery. Messages are redelivered either due to <a href="#acknowledgement-timeout">acknowledgement timeout</a> or <a href="#negative-acknowledgement">negative acknowledgement</a>. If you are going to use negative acknowledgement on a message, make sure it is negatively acknowledged before the acknowledgement timeout.</p>
 <blockquote>
-<p>Note<br>
-Currently, dead letter topic is enabled only in the shared subscription mode.</p>
+<p><strong>Note</strong>    <br>
+Currently, dead letter topic is enabled only in Shared subscription type.</p>
 </blockquote>
 <h2><a class="anchor" aria-hidden="true" id="topics"></a><a href="#topics" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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. [...]
 <p>As in other pub-sub systems, topics in Pulsar are named channels for transmitting messages from <a href="/docs/fr/2.5.2/reference-terminology#producer">producers</a> to <a href="/docs/fr/2.5.2/reference-terminology#consumer">consumers</a>. Topic names are URLs that have a well-defined structure:</p>
@@ -221,21 +221,21 @@ Currently, dead letter topic is enabled only in the shared subscription mode.</p
 <h2><a class="anchor" aria-hidden="true" id="espaces-de-nommage"></a><a href="#espaces-de-nommage" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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- [...]
 <p>A namespace is a logical nomenclature within a tenant. A tenant can create multiple namespaces via the <a href="/docs/fr/2.5.2/admin-api-namespaces#create">admin API</a>. For instance, a tenant with different applications can create a separate namespace for each application. A namespace allows the application to create and manage a hierarchy of topics. The topic <code>my-tenant/app1</code> is a namespace for the application <code>app1</code> for <code>my-tenant</code>. You can create  [...]
 <h2><a class="anchor" aria-hidden="true" id="subscriptions"></a><a href="#subscriptions" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>A subscription is a named configuration rule that determines how messages are delivered to consumers. There are four available subscription modes in Pulsar: <a href="#exclusive">exclusive</a>, <a href="#shared">shared</a>, <a href="#failover">failover</a>, and <a href="#key_shared">key_shared</a>. These modes are illustrated in the figure below.</p>
-<p><img src="/docs/assets/pulsar-subscription-modes.png" alt="Subscription modes"></p>
+<p>A subscription is a named configuration rule that determines how messages are delivered to consumers. There are four available subscription types in Pulsar: <a href="#exclusive">exclusive</a>, <a href="#shared">shared</a>, <a href="#failover">failover</a>, and <a href="#key_shared">key_shared</a>. These types are illustrated in the figure below.</p>
+<p><img src="/docs/assets/pulsar-subscription-types.png" alt="Subscription types"></p>
 <blockquote>
 <h4><a class="anchor" aria-hidden="true" id="pub-sub-queuing-or-both"></a><a href="#pub-sub-queuing-or-both" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>There is a lot of flexibility in how to combine subscriptions: * If you want to achieve traditional &quot;fan-out pub-sub messaging&quot; among consumers, you can make each consumer have a unique subscription name (exclusive) * If you want to achieve &quot;message queuing&quot; among consumers, you can make multiple consumers have the same subscription name (shared, failover, key_shared) * If you want to do both simultaneously, you can have some consumers with exclusive subscriptions  [...]
 </blockquote>
 <h3><a class="anchor" aria-hidden="true" id="exclusive"></a><a href="#exclusive" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>In <em>exclusive</em> mode, only a single consumer is allowed to attach to the subscription. If more than one consumer attempts to subscribe to a topic using the same subscription, the consumer receives an error.</p>
+<p>In <em>exclusive</em> type, only a single consumer is allowed to attach to the subscription. If more than one consumer attempts to subscribe to a topic using the same subscription, the consumer receives an error.</p>
 <p>In the diagram below, only <strong>Consumer A-0</strong> is allowed to consume messages.</p>
 <blockquote>
-<p>Exclusive mode is the default subscription mode.</p>
+<p>Exclusive is the default subscription type.</p>
 </blockquote>
 <p><img src="/docs/assets/pulsar-exclusive-subscriptions.png" alt="Exclusive subscriptions"></p>
 <h3><a class="anchor" aria-hidden="true" id="failover"></a><a href="#failover" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
-<p>In <em>failover</em> mode, multiple consumers can attach to the same subscription. A master consumer is picked for non-partitioned topic or each partition of partitioned topic and receives messages. When the master consumer disconnects, all (non-acknowledged and subsequent) messages are delivered to the next consumer in line.</p>
+<p>In <em>Failover</em> type, multiple consumers can attach to the same subscription. A master consumer is picked for non-partitioned topic or each partition of partitioned topic and receives messages. When the master consumer disconnects, all (non-acknowledged and subsequent) messages are delivered to the next consumer in line.</p>
 <p>For partitioned topics, broker will sort consumers by priority level and lexicographical order of consumer name. Then broker will try to evenly assigns topics to consumers with the highest priority level.</p>
 <p>For non-partitioned topic, broker will pick consumer in the order they subscribe to the non partitioned topic.</p>
 <p>In the diagram below, <strong>Consumer-B-0</strong> is the master consumer while <strong>Consumer-B-1</strong> would be the next consumer in line to receive messages if <strong>Consumer-B-0</strong> is disconnected.</p>
@@ -302,9 +302,9 @@ Consumer&lt;<span class="hljs-keyword">byte</span>[]&gt; someTopicsConsumer = pu
 <p>The diagram below illustrates this:</p>
 <p><img src="/docs/assets/partitioning.png" alt=""></p>
 <p>Here, the topic <strong>Topic1</strong> has five partitions (<strong>P0</strong> through <strong>P4</strong>) split across three brokers. Because there are more partitions than brokers, two brokers handle two partitions a piece, while the third handles only one (again, Pulsar handles this distribution of partitions automatically).</p>
-<p>Messages for this topic are broadcast to two consumers. The <a href="#routing-modes">routing mode</a> determines each message should be published to which partition, while the <a href="#subscription-modes">subscription mode</a> determines which messages go to which consumers.</p>
-<p>Decisions about routing and subscription modes can be made separately in most cases. In general, throughput concerns should guide partitioning/routing decisions while subscription decisions should be guided by application semantics.</p>
-<p>There is no difference between partitioned topics and normal topics in terms of how subscription modes work, as partitioning only determines what happens between when a message is published by a producer and processed and acknowledged by a consumer.</p>
+<p>Messages for this topic are broadcast to two consumers. The <a href="#routing-modes">routing mode</a> determines each message should be published to which partition, while the <a href="#subscription-types">subscription type</a> determines which messages go to which consumers.</p>
+<p>Decisions about routing and subscription types can be made separately in most cases. In general, throughput concerns should guide partitioning/routing decisions while subscription decisions should be guided by application semantics.</p>
+<p>There is no difference between partitioned topics and normal topics in terms of how subscription types work, as partitioning only determines what happens between when a message is published by a producer and processed and acknowledged by a consumer.</p>
 <p>Partitioned topics need to be explicitly created via the <a href="/docs/fr/2.5.2/admin-api-overview">admin API</a>. The number of partitions can be specified when creating the topic.</p>
 <h3><a class="anchor" aria-hidden="true" id="routing-modes"></a><a href="#routing-modes" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>When publishing to partitioned topics, you must specify a <em>routing mode</em>. The routing mode determines which partition---that is, which internal topic---each message should be published to.</p>
@@ -356,7 +356,7 @@ Consumer&lt;<span class="hljs-keyword">byte</span>[]&gt; someTopicsConsumer = pu
 <h3><a class="anchor" aria-hidden="true" id="performance"></a><a href="#performance" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>Non-persistent messaging is usually faster than persistent messaging because brokers don't persist messages and immediately send acks back to the producer as soon as that message is delivered to connected brokers. Producers thus see comparatively low publish latency with non-persistent topic.</p>
 <h3><a class="anchor" aria-hidden="true" id="client-api"></a><a href="#client-api" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>Producers and consumers can connect to non-persistent topics in the same way as persistent topics, with the crucial difference that the topic name must start with <code>non-persistent</code>. All three subscription modes---<a href="#exclusive">exclusive</a>, <a href="#shared">shared</a>, and <a href="#failover">failover</a>---are supported for non-persistent topics.</p>
+<p>Producers and consumers can connect to non-persistent topics in the same way as persistent topics, with the crucial difference that the topic name must start with <code>non-persistent</code>. All three subscription types---<a href="#exclusive">exclusive</a>, <a href="#shared">shared</a>, and <a href="#failover">failover</a>---are supported for non-persistent topics.</p>
 <p>Here's an example <a href="/docs/fr/2.5.2/client-libraries-java#consumers">Java consumer</a> for a non-persistent topic:</p>
 <pre><code class="hljs css language-java">PulsarClient client = PulsarClient.builder()
         .serviceUrl(<span class="hljs-string">"pulsar://localhost:6650"</span>)
@@ -410,7 +410,7 @@ Consumer&lt;<span class="hljs-keyword">byte</span>[]&gt; consumer = client.newCo
 </blockquote>
 <h2><a class="anchor" aria-hidden="true" id="delayed-message-delivery"></a><a href="#delayed-message-delivery" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>Delayed message delivery enables you to consume a message later rather than immediately. In this mechanism, a message is stored in BookKeeper, <code>DelayedDeliveryTracker</code> maintains the time index(time -&gt; messageId) in memory after published to a broker, and it is delivered to a consumer once the specific delayed time is passed.</p>
-<p>Delayed message delivery only works well in Shared subscription mode. In Exclusive and Failover subscription mode, the delayed message is dispatched immediately.</p>
+<p>Delayed message delivery only works well In shared subscription type. In Exclusive and Failover subscription types, the delayed message is dispatched immediately.</p>
 <p>The diagram below illustrates the concept of delayed message delivery:</p>
 <p><img src="/docs/assets/message_delay.png" alt="Delayed Message Delivery"></p>
 <p>A broker saves a message without any check. When a consumer consumes a message, if the message is set to delay, then the message is added to <code>DelayedDeliveryTracker</code>. A subscription checks and gets timeout messages from <code>DelayedDeliveryTracker</code>.</p>
diff --git a/content/docs/fr/2.5.2/concepts-messaging/index.html b/content/docs/fr/2.5.2/concepts-messaging/index.html
index fbe5489..0855f53 100644
--- a/content/docs/fr/2.5.2/concepts-messaging/index.html
+++ b/content/docs/fr/2.5.2/concepts-messaging/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>Messaging Concepts · Apache Pulsar</title><meta name="viewport" content="width=device-width, initial-scale=1.0"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar is built on the [publish-subscribe](https://en.wikipedia.org/wiki/Publish%E2%80%93subscribe_pattern) pattern (short for pub-sub). In this pattern, [producers](#producers) p [...]
+<!DOCTYPE html><html lang="fr"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Messaging Concepts · Apache Pulsar</title><meta name="viewport" content="width=device-width, initial-scale=1.0"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar is built on the [publish-subscribe](https://en.wikipedia.org/wiki/Publish%E2%80%93subscribe_pattern) pattern (short for pub-sub). In this pattern, [producers](#producers) p [...]
               (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,7 +74,7 @@
                 };
               }
             });
-        </script></nav></div><div class="container mainContainer docsContainer"><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 id="__docusaurus" class="postHeaderTitle">Messaging Concepts</h1></header><article><div><span><p>Pulsar is built on the <a href="https://en.wikipedia.org/wiki/Publish%E2%80%93subscribe_pattern">publish- [...]
+        </script></nav></div><div class="container mainContainer docsContainer"><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 id="__docusaurus" class="postHeaderTitle">Messaging Concepts</h1></header><article><div><span><p>Pulsar is built on the <a href="https://en.wikipedia.org/wiki/Publish%E2%80%93subscribe_pattern">publish- [...]
 <p>Once a subscription has been created, all messages are <a href="/docs/fr/2.5.2/concepts-architecture-overview#persistent-storage">retained</a> by Pulsar, even if the consumer gets disconnected. Retained messages are discarded only when a consumer acknowledges that those messages are processed successfully.</p>
 <h2><a class="anchor" aria-hidden="true" id="messages"></a><a href="#messages" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
 <p>Messages are the basic &quot;unit&quot; of Pulsar. Messages are what producers publish to topics and what consumers then consume from topics (and acknowledge when the message has been processed). Messages are the analogue of letters in a postal service system.</p>
@@ -145,14 +145,14 @@
 <p>When a consumer has consumed a message successfully, the consumer sends an acknowledgement request to the broker. This message is permanently <a href="/docs/fr/2.5.2/concepts-architecture-overview#persistent-storage">stored</a> and then it is deleted only after all the subscriptions have acknowledged it. If you want to store the message that has been acknowledged by a consumer, you need to configure the <a href="/docs/fr/2.5.2/concepts-messaging#message-retention-and-expiry">message r [...]
 <p>Messages can be acknowledged either one by one or cumulatively. With cumulative acknowledgement, the consumer only needs to acknowledge the last message it received. All messages in the stream up to (and including) the provided message will not be re-delivered to that consumer.</p>
 <blockquote>
-<p>Cumulative acknowledgement cannot be used with <a href="#subscription-modes">shared subscription mode</a>, because shared mode involves multiple consumers having access to the same subscription.</p>
+<p>Cumulative acknowledgement cannot be used with <a href="#subscription-types">shared subscription type</a>, because shared mode involves multiple consumers having access to the same subscription.</p>
 </blockquote>
-<p>In the shared subscription mode, messages can be acknowledged individually.</p>
+<p>In Shared subscription type, messages can be acknowledged individually.</p>
 <h3><a class="anchor" aria-hidden="true" id="negative-acknowledgement"></a><a href="#negative-acknowledgement" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>When a consumer does not consume a message successfully at a time, and wants to consume the message again, the consumer can send a negative acknowledgement to the broker, and then the broker will redeliver the message.</p>
-<p>Messages can be negatively acknowledged one by one or cumulatively, which depends on the consumption subscription mode.</p>
-<p>In the exclusive and failover subscription modes, consumers only negatively acknowledge the last message they have received.</p>
-<p>In the shared and Key_Shared subscription modes, you can negatively acknowledge messages individually.</p>
+<p>Messages can be negatively acknowledged either individually or cumulatively, depending on the consumption subscription type.</p>
+<p>In the exclusive and failover subscription types, consumers only negatively acknowledge the last message they have received.</p>
+<p>In the shared and Key_Shared subscription types, you can negatively acknowledge messages individually.</p>
 <p>Be aware that negative acknowledgment on ordered subscription types, such as Exclusive, Failover and Key_Shared, can cause failed messages to arrive consumers out of the original order.</p>
 <blockquote>
 <p>Note If batching is enabled, other messages in the same batch may be redelivered to the consumer as well as the negatively acknowledged messages.</p>
@@ -196,8 +196,8 @@ Prefer negative acknowledgements over acknowledgement timeout. Negative acknowle
 </code></pre>
 <p>Dead letter topic depends on message re-delivery. Messages are redelivered either due to <a href="#acknowledgement-timeout">acknowledgement timeout</a> or <a href="#negative-acknowledgement">negative acknowledgement</a>. If you are going to use negative acknowledgement on a message, make sure it is negatively acknowledged before the acknowledgement timeout.</p>
 <blockquote>
-<p>Note<br>
-Currently, dead letter topic is enabled only in the shared subscription mode.</p>
+<p><strong>Note</strong>    <br>
+Currently, dead letter topic is enabled only in Shared subscription type.</p>
 </blockquote>
 <h2><a class="anchor" aria-hidden="true" id="topics"></a><a href="#topics" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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. [...]
 <p>As in other pub-sub systems, topics in Pulsar are named channels for transmitting messages from <a href="/docs/fr/2.5.2/reference-terminology#producer">producers</a> to <a href="/docs/fr/2.5.2/reference-terminology#consumer">consumers</a>. Topic names are URLs that have a well-defined structure:</p>
@@ -221,21 +221,21 @@ Currently, dead letter topic is enabled only in the shared subscription mode.</p
 <h2><a class="anchor" aria-hidden="true" id="espaces-de-nommage"></a><a href="#espaces-de-nommage" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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- [...]
 <p>A namespace is a logical nomenclature within a tenant. A tenant can create multiple namespaces via the <a href="/docs/fr/2.5.2/admin-api-namespaces#create">admin API</a>. For instance, a tenant with different applications can create a separate namespace for each application. A namespace allows the application to create and manage a hierarchy of topics. The topic <code>my-tenant/app1</code> is a namespace for the application <code>app1</code> for <code>my-tenant</code>. You can create  [...]
 <h2><a class="anchor" aria-hidden="true" id="subscriptions"></a><a href="#subscriptions" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>A subscription is a named configuration rule that determines how messages are delivered to consumers. There are four available subscription modes in Pulsar: <a href="#exclusive">exclusive</a>, <a href="#shared">shared</a>, <a href="#failover">failover</a>, and <a href="#key_shared">key_shared</a>. These modes are illustrated in the figure below.</p>
-<p><img src="/docs/assets/pulsar-subscription-modes.png" alt="Subscription modes"></p>
+<p>A subscription is a named configuration rule that determines how messages are delivered to consumers. There are four available subscription types in Pulsar: <a href="#exclusive">exclusive</a>, <a href="#shared">shared</a>, <a href="#failover">failover</a>, and <a href="#key_shared">key_shared</a>. These types are illustrated in the figure below.</p>
+<p><img src="/docs/assets/pulsar-subscription-types.png" alt="Subscription types"></p>
 <blockquote>
 <h4><a class="anchor" aria-hidden="true" id="pub-sub-queuing-or-both"></a><a href="#pub-sub-queuing-or-both" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>There is a lot of flexibility in how to combine subscriptions: * If you want to achieve traditional &quot;fan-out pub-sub messaging&quot; among consumers, you can make each consumer have a unique subscription name (exclusive) * If you want to achieve &quot;message queuing&quot; among consumers, you can make multiple consumers have the same subscription name (shared, failover, key_shared) * If you want to do both simultaneously, you can have some consumers with exclusive subscriptions  [...]
 </blockquote>
 <h3><a class="anchor" aria-hidden="true" id="exclusive"></a><a href="#exclusive" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>In <em>exclusive</em> mode, only a single consumer is allowed to attach to the subscription. If more than one consumer attempts to subscribe to a topic using the same subscription, the consumer receives an error.</p>
+<p>In <em>exclusive</em> type, only a single consumer is allowed to attach to the subscription. If more than one consumer attempts to subscribe to a topic using the same subscription, the consumer receives an error.</p>
 <p>In the diagram below, only <strong>Consumer A-0</strong> is allowed to consume messages.</p>
 <blockquote>
-<p>Exclusive mode is the default subscription mode.</p>
+<p>Exclusive is the default subscription type.</p>
 </blockquote>
 <p><img src="/docs/assets/pulsar-exclusive-subscriptions.png" alt="Exclusive subscriptions"></p>
 <h3><a class="anchor" aria-hidden="true" id="failover"></a><a href="#failover" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
-<p>In <em>failover</em> mode, multiple consumers can attach to the same subscription. A master consumer is picked for non-partitioned topic or each partition of partitioned topic and receives messages. When the master consumer disconnects, all (non-acknowledged and subsequent) messages are delivered to the next consumer in line.</p>
+<p>In <em>Failover</em> type, multiple consumers can attach to the same subscription. A master consumer is picked for non-partitioned topic or each partition of partitioned topic and receives messages. When the master consumer disconnects, all (non-acknowledged and subsequent) messages are delivered to the next consumer in line.</p>
 <p>For partitioned topics, broker will sort consumers by priority level and lexicographical order of consumer name. Then broker will try to evenly assigns topics to consumers with the highest priority level.</p>
 <p>For non-partitioned topic, broker will pick consumer in the order they subscribe to the non partitioned topic.</p>
 <p>In the diagram below, <strong>Consumer-B-0</strong> is the master consumer while <strong>Consumer-B-1</strong> would be the next consumer in line to receive messages if <strong>Consumer-B-0</strong> is disconnected.</p>
@@ -302,9 +302,9 @@ Consumer&lt;<span class="hljs-keyword">byte</span>[]&gt; someTopicsConsumer = pu
 <p>The diagram below illustrates this:</p>
 <p><img src="/docs/assets/partitioning.png" alt=""></p>
 <p>Here, the topic <strong>Topic1</strong> has five partitions (<strong>P0</strong> through <strong>P4</strong>) split across three brokers. Because there are more partitions than brokers, two brokers handle two partitions a piece, while the third handles only one (again, Pulsar handles this distribution of partitions automatically).</p>
-<p>Messages for this topic are broadcast to two consumers. The <a href="#routing-modes">routing mode</a> determines each message should be published to which partition, while the <a href="#subscription-modes">subscription mode</a> determines which messages go to which consumers.</p>
-<p>Decisions about routing and subscription modes can be made separately in most cases. In general, throughput concerns should guide partitioning/routing decisions while subscription decisions should be guided by application semantics.</p>
-<p>There is no difference between partitioned topics and normal topics in terms of how subscription modes work, as partitioning only determines what happens between when a message is published by a producer and processed and acknowledged by a consumer.</p>
+<p>Messages for this topic are broadcast to two consumers. The <a href="#routing-modes">routing mode</a> determines each message should be published to which partition, while the <a href="#subscription-types">subscription type</a> determines which messages go to which consumers.</p>
+<p>Decisions about routing and subscription types can be made separately in most cases. In general, throughput concerns should guide partitioning/routing decisions while subscription decisions should be guided by application semantics.</p>
+<p>There is no difference between partitioned topics and normal topics in terms of how subscription types work, as partitioning only determines what happens between when a message is published by a producer and processed and acknowledged by a consumer.</p>
 <p>Partitioned topics need to be explicitly created via the <a href="/docs/fr/2.5.2/admin-api-overview">admin API</a>. The number of partitions can be specified when creating the topic.</p>
 <h3><a class="anchor" aria-hidden="true" id="routing-modes"></a><a href="#routing-modes" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>When publishing to partitioned topics, you must specify a <em>routing mode</em>. The routing mode determines which partition---that is, which internal topic---each message should be published to.</p>
@@ -356,7 +356,7 @@ Consumer&lt;<span class="hljs-keyword">byte</span>[]&gt; someTopicsConsumer = pu
 <h3><a class="anchor" aria-hidden="true" id="performance"></a><a href="#performance" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>Non-persistent messaging is usually faster than persistent messaging because brokers don't persist messages and immediately send acks back to the producer as soon as that message is delivered to connected brokers. Producers thus see comparatively low publish latency with non-persistent topic.</p>
 <h3><a class="anchor" aria-hidden="true" id="client-api"></a><a href="#client-api" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>Producers and consumers can connect to non-persistent topics in the same way as persistent topics, with the crucial difference that the topic name must start with <code>non-persistent</code>. All three subscription modes---<a href="#exclusive">exclusive</a>, <a href="#shared">shared</a>, and <a href="#failover">failover</a>---are supported for non-persistent topics.</p>
+<p>Producers and consumers can connect to non-persistent topics in the same way as persistent topics, with the crucial difference that the topic name must start with <code>non-persistent</code>. All three subscription types---<a href="#exclusive">exclusive</a>, <a href="#shared">shared</a>, and <a href="#failover">failover</a>---are supported for non-persistent topics.</p>
 <p>Here's an example <a href="/docs/fr/2.5.2/client-libraries-java#consumers">Java consumer</a> for a non-persistent topic:</p>
 <pre><code class="hljs css language-java">PulsarClient client = PulsarClient.builder()
         .serviceUrl(<span class="hljs-string">"pulsar://localhost:6650"</span>)
@@ -410,7 +410,7 @@ Consumer&lt;<span class="hljs-keyword">byte</span>[]&gt; consumer = client.newCo
 </blockquote>
 <h2><a class="anchor" aria-hidden="true" id="delayed-message-delivery"></a><a href="#delayed-message-delivery" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>Delayed message delivery enables you to consume a message later rather than immediately. In this mechanism, a message is stored in BookKeeper, <code>DelayedDeliveryTracker</code> maintains the time index(time -&gt; messageId) in memory after published to a broker, and it is delivered to a consumer once the specific delayed time is passed.</p>
-<p>Delayed message delivery only works well in Shared subscription mode. In Exclusive and Failover subscription mode, the delayed message is dispatched immediately.</p>
+<p>Delayed message delivery only works well In shared subscription type. In Exclusive and Failover subscription types, the delayed message is dispatched immediately.</p>
 <p>The diagram below illustrates the concept of delayed message delivery:</p>
 <p><img src="/docs/assets/message_delay.png" alt="Delayed Message Delivery"></p>
 <p>A broker saves a message without any check. When a consumer consumes a message, if the message is set to delay, then the message is added to <code>DelayedDeliveryTracker</code>. A subscription checks and gets timeout messages from <code>DelayedDeliveryTracker</code>.</p>
diff --git a/content/docs/fr/2.5.2/concepts-overview.html b/content/docs/fr/2.5.2/concepts-overview.html
index 124403b..1865c57 100644
--- a/content/docs/fr/2.5.2/concepts-overview.html
+++ b/content/docs/fr/2.5.2/concepts-overview.html
@@ -81,7 +81,7 @@
 <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/fr/2.5.2/concepts-clients">client API</a> with bindings for <a href="/docs/fr/2.5.2/client-libraries-java">Java</a>, <a href="/docs/fr/2.5.2/client-libraries-go">Go</a>, <a href="/docs/fr/2.5.2/client-libraries-python">Python</a> and <a href="/docs/fr/2.5.2/client-libraries-cpp">C++</a>.</li>
-<li>Multiple <a href="/docs/fr/2.5.2/concepts-messaging#subscription-modes">subscription modes</a> (<a href="/docs/fr/2.5.2/concepts-messaging#exclusive">exclusive</a>, <a href="/docs/fr/2.5.2/concepts-messaging#shared">shared</a>, and <a href="/docs/fr/2.5.2/concepts-messaging#failover">failover</a>) for topics.</li>
+<li>Multiple <a href="/docs/fr/2.5.2/concepts-messaging#subscription-types">subscription types</a> (<a href="/docs/fr/2.5.2/concepts-messaging#exclusive">exclusive</a>, <a href="/docs/fr/2.5.2/concepts-messaging#shared">shared</a>, and <a href="/docs/fr/2.5.2/concepts-messaging#failover">failover</a>) for topics.</li>
 <li>Guaranteed message delivery with <a href="/docs/fr/2.5.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/fr/2.5.2/functions-overview">Pulsar Functions</a> offers the capability for stream-native data processing.</li>
 <li>A serverless connector framework <a href="/docs/fr/2.5.2/io-overview">Pulsar IO</a>, which is built on Pulsar Functions, makes it easier to move data in and out of Apache Pulsar.</li>
diff --git a/content/docs/fr/2.5.2/concepts-overview/index.html b/content/docs/fr/2.5.2/concepts-overview/index.html
index 124403b..1865c57 100644
--- a/content/docs/fr/2.5.2/concepts-overview/index.html
+++ b/content/docs/fr/2.5.2/concepts-overview/index.html
@@ -81,7 +81,7 @@
 <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/fr/2.5.2/concepts-clients">client API</a> with bindings for <a href="/docs/fr/2.5.2/client-libraries-java">Java</a>, <a href="/docs/fr/2.5.2/client-libraries-go">Go</a>, <a href="/docs/fr/2.5.2/client-libraries-python">Python</a> and <a href="/docs/fr/2.5.2/client-libraries-cpp">C++</a>.</li>
-<li>Multiple <a href="/docs/fr/2.5.2/concepts-messaging#subscription-modes">subscription modes</a> (<a href="/docs/fr/2.5.2/concepts-messaging#exclusive">exclusive</a>, <a href="/docs/fr/2.5.2/concepts-messaging#shared">shared</a>, and <a href="/docs/fr/2.5.2/concepts-messaging#failover">failover</a>) for topics.</li>
+<li>Multiple <a href="/docs/fr/2.5.2/concepts-messaging#subscription-types">subscription types</a> (<a href="/docs/fr/2.5.2/concepts-messaging#exclusive">exclusive</a>, <a href="/docs/fr/2.5.2/concepts-messaging#shared">shared</a>, and <a href="/docs/fr/2.5.2/concepts-messaging#failover">failover</a>) for topics.</li>
 <li>Guaranteed message delivery with <a href="/docs/fr/2.5.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/fr/2.5.2/functions-overview">Pulsar Functions</a> offers the capability for stream-native data processing.</li>
 <li>A serverless connector framework <a href="/docs/fr/2.5.2/io-overview">Pulsar IO</a>, which is built on Pulsar Functions, makes it easier to move data in and out of Apache Pulsar.</li>
diff --git a/content/docs/fr/2.6.0/client-libraries-java.html b/content/docs/fr/2.6.0/client-libraries-java.html
index d7192a8..b782582 100644
--- a/content/docs/fr/2.6.0/client-libraries-java.html
+++ b/content/docs/fr/2.6.0/client-libraries-java.html
@@ -253,7 +253,7 @@ client.close();
 <h3><a class="anchor" aria-hidden="true" id="configure-consumer"></a><a href="#configure-consumer" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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- [...]
 <p>If you instantiate a <code>Consumer</code> object by specifying only a topic and subscription name as in the example above, the consumer uses the default configuration.</p>
 <p>When you create a consumer, you can use the <code>loadConf</code> configuration. The following parameters are available in <code>loadConf</code>.</p>
-<p>Type | Name| <div style="width:300px">Description</div>|  Default |---|---|---|--- Set&lt;String&gt;|  <code>topicNames</code>|   Topic name| Sets.newTreeSet() Pattern|   <code>topicsPattern</code>| Topic pattern   |None String| <code>subscriptionName</code>| Subscription name|  None SubscriptionType| <code>subscriptionType</code>|   Subscription type <br/><br/>Four subscription types are available:<li>Exclusive</li><li>Failover</li><li>Shared</li><li>Key_Shared</li>|SubscriptionType. [...]
+<p>Type | Name| <div style="width:300px">Description</div>|  Default |---|---|---|--- Set&lt;String&gt;|  <code>topicNames</code>|   Topic name| Sets.newTreeSet() Pattern|   <code>topicsPattern</code>| Topic pattern   |None String| <code>subscriptionName</code>| Subscription name|  None SubscriptionType| <code>subscriptionType</code>|   Subscription type <br/><br/>Four subscription types are available:<li>Exclusive</li><li>Failover</li><li>Shared</li><li>Key_Shared</li>|SubscriptionType. [...]
 SortedMap&lt;String, String&gt;|<code>properties</code>|A name or value property of this consumer.<br/><br/><code>properties</code> is application defined metadata attached to a consumer. <br/><br/>When getting a topic stats, associate this metadata with the consumer stats for easier identification.|new TreeMap&lt;&gt;() boolean|<code>readCompacted</code>|If enabling <code>readCompacted</code>, a consumer reads messages from a compacted topic rather than reading a full message backlog of [...]
 <p>You can configure parameters if you do not want to use the default configuration. For a full list, see the Javadoc for the <a href="https://pulsar.incubator.apache.org/api/client/2.8.0-SNAPSHOT/org/apache/pulsar/client/api/ConsumerBuilder">ConsumerBuilder</a>
  class.</p>
@@ -282,8 +282,8 @@ SortedMap&lt;String, String&gt;|<code>properties</code>|A name or value property
 consumer.acknowledge(messages)
 </code></pre>
 <blockquote>
-<p>Note:</p>
-<p>Batch receive policy limits the number and bytes of messages in a single batch. You can specify a timeout to wait for enough messages.</p>
+<p><strong>Note</strong>  <br>
+Batch receive policy limits the number and bytes of messages in a single batch. You can specify a timeout to wait for enough messages.</p>
 <p>The batch receive is completed if any of the following condition is met: enough number of messages, bytes of messages, wait timeout.</p>
 <pre><code class="hljs css language-java">Consumer consumer = client.newConsumer()
         .topic(<span class="hljs-string">"my-topic"</span>)
@@ -374,10 +374,10 @@ consumerBuilder
             });
 }
 </code></pre>
-<h3><a class="anchor" aria-hidden="true" id="subscription-modes"></a><a href="#subscription-modes" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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- [...]
-<p>Pulsar has various <a href="concepts-messaging#subscription-modes">subscription modes</a> to match different scenarios. A topic can have multiple subscriptions with different subscription modes. However, a subscription can only have one subscription mode at a time.</p>
-<p>A subscription is identical with the subscription name which can specify only one subscription mode at a time. You cannot change the subscription mode unless all existing consumers of this subscription are offline.</p>
-<p>Different subscription modes have different message distribution modes. This section describes the differences of subscription modes and how to use them.</p>
+<h3><a class="anchor" aria-hidden="true" id="subscription-types"></a><a href="#subscription-types" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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- [...]
+<p>Pulsar has various <a href="concepts-messaging#subscription-types">subscription types</a> to match different scenarios. A topic can have multiple subscriptions with different subscription types. However, a subscription can only have one subscription type at a time.</p>
+<p>A subscription is identical with the subscription name; a subscription name can specify only one subscription type at a time. To change the subscription type, you should first stop all consumers of this subscription.</p>
+<p>Different subscription types have different message distribution modes. This section describes the differences of subscription types and how to use them.</p>
 <p>In order to better describe their differences, assuming you have a topic named &quot;my-topic&quot;, and the producer has published 10 messages.</p>
 <pre><code class="hljs css language-java">Producer&lt;String&gt; producer = client.newProducer(Schema.STRING)
         .topic(<span class="hljs-string">"my-topic"</span>)
@@ -396,7 +396,7 @@ producer.newMessage().key(<span class="hljs-string">"key-4"</span>).value(<span
 producer.newMessage().key(<span class="hljs-string">"key-4"</span>).value(<span class="hljs-string">"message-4-2"</span>).send();
 </code></pre>
 <h4><a class="anchor" aria-hidden="true" id="exclusive"></a><a href="#exclusive" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>Create a new consumer and subscribe with the <code>Exclusive</code> subscription mode.</p>
+<p>Create a new consumer and subscribe with the <code>Exclusive</code> subscription type.</p>
 <pre><code class="hljs css language-java">Consumer consumer = client.newConsumer()
         .topic(<span class="hljs-string">"my-topic"</span>)
         .subscriptionName(<span class="hljs-string">"my-subscription"</span>)
@@ -405,11 +405,11 @@ producer.newMessage().key(<span class="hljs-string">"key-4"</span>).value(<span
 </code></pre>
 <p>Only the first consumer is allowed to the subscription, other consumers receive an error. The first consumer receives all 10 messages, and the consuming order is the same as the producing order.</p>
 <blockquote>
-<p>Note:</p>
-<p>If topic is a partitioned topic, the first consumer subscribes to all partitioned topics, other consumers are not assigned with partitions and receive an error.</p>
+<p><strong>Note</strong>  <br>
+If topic is a partitioned topic, the first consumer subscribes to all partitioned topics, other consumers are not assigned with partitions and receive an error.</p>
 </blockquote>
 <h4><a class="anchor" aria-hidden="true" id="failover"></a><a href="#failover" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
-<p>Create new consumers and subscribe with the<code>Failover</code> subscription mode.</p>
+<p>Create new consumers and subscribe with the<code>Failover</code> subscription type.</p>
 <pre><code class="hljs css language-java">Consumer consumer1 = client.newConsumer()
         .topic(<span class="hljs-string">"my-topic"</span>)
         .subscriptionName(<span class="hljs-string">"my-subscription"</span>)
@@ -441,11 +441,11 @@ Consumer consumer2 = client.newConsumer()
 (<span class="hljs-string">"key-4"</span>, <span class="hljs-string">"message-4-2"</span>)
 </code></pre>
 <blockquote>
-<p>Note:</p>
-<p>If a topic is a partitioned topic, each partition has only one active consumer, messages of one partition are distributed to only one consumer, and messages of multiple partitions are distributed to multiple consumers.</p>
+<p><strong>Note</strong>  <br>
+If a topic is a partitioned topic, each partition has only one active consumer, messages of one partition are distributed to only one consumer, and messages of multiple partitions are distributed to multiple consumers.</p>
 </blockquote>
 <h4><a class="anchor" aria-hidden="true" id="shared"></a><a href="#shared" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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. [...]
-<p>Create new consumers and subscribe with <code>Shared</code> subscription mode:</p>
+<p>Create new consumers and subscribe with <code>Shared</code> subscription type.</p>
 <pre><code class="hljs css language-java">Consumer consumer1 = client.newConsumer()
         .topic(<span class="hljs-string">"my-topic"</span>)
         .subscriptionName(<span class="hljs-string">"my-subscription"</span>)
@@ -459,7 +459,7 @@ Consumer consumer2 = client.newConsumer()
         .subscribe()
 <span class="hljs-comment">//Both consumer1 and consumer 2 is active consumers.</span>
 </code></pre>
-<p>In shared subscription mode, multiple consumers can attach to the same subscription and messages are delivered in a round robin distribution across consumers.</p>
+<p>In shared subscription type, multiple consumers can attach to the same subscription and messages are delivered in a round robin distribution across consumers.</p>
 <p>If a broker dispatches only one message at a time, consumer1 receives the following information.</p>
 <pre><code class="hljs">(<span class="hljs-string">"key-1"</span>, <span class="hljs-string">"message-1-1"</span>)
 (<span class="hljs-string">"key-1"</span>, <span class="hljs-string">"message-1-3"</span>)
@@ -474,9 +474,9 @@ Consumer consumer2 = client.newConsumer()
 (<span class="hljs-string">"key-3"</span>, <span class="hljs-string">"message-3-2"</span>)
 (<span class="hljs-string">"key-4"</span>, <span class="hljs-string">"message-4-2"</span>)
 </code></pre>
-<p><code>Shared</code> subscription is different from <code>Exclusive</code> and <code>Failover</code> subscription modes. <code>Shared</code> subscription has better flexibility, but cannot provide order guarantee.</p>
+<p><code>Shared</code> subscription is different from <code>Exclusive</code> and <code>Failover</code> subscription types. <code>Shared</code> subscription has better flexibility, but cannot provide order guarantee.</p>
 <h4><a class="anchor" aria-hidden="true" id="key_shared"></a><a href="#key_shared" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>This is a new subscription mode since 2.4.0 release, create new consumers and subscribe with <code>Key_Shared</code> subscription mode.</p>
+<p>This is a new subscription type since 2.4.0 release. Create new consumers and subscribe with <code>Key_Shared</code> subscription type.</p>
 <pre><code class="hljs css language-java">Consumer consumer1 = client.newConsumer()
         .topic(<span class="hljs-string">"my-topic"</span>)
         .subscriptionName(<span class="hljs-string">"my-subscription"</span>)
@@ -518,8 +518,8 @@ Consumer consumer2 = client.newConsumer()
         .create();
 </code></pre>
 <blockquote>
-<p>Note:</p>
-<p>If the message key is not specified, messages without key are dispatched to one consumer in order by default.</p>
+<p><strong>Note</strong>  <br>
+If the message key is not specified, messages without key are dispatched to one consumer in order by default.</p>
 </blockquote>
 <h2><a class="anchor" aria-hidden="true" id="reader"></a><a href="#reader" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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. [...]
 <p>With the <a href="/docs/fr/2.6.0/concepts-clients#reader-interface">reader interface</a>, Pulsar clients can &quot;manually position&quot; themselves within a topic and reading all messages from a specified message onward. The Pulsar API for Java enables you to create <a href="https://pulsar.incubator.apache.org/api/client/2.8.0-SNAPSHOT/org/apache/pulsar/client/api/Reader">Reader</a>
@@ -678,7 +678,7 @@ PulsarClient client = PulsarClient.builder()
 <h4><a class="anchor" aria-hidden="true" id="formats-de-modèle-supportés"></a><a href="#formats-de-modèle-supportés" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 1 [...]
 <p>Le paramètre <code>privateKey</code> supporte les trois formats de schéma suivants : * <code>fichier:///chemin/vers/fichier</code>* * <code>fichier:/chemin/vers/fichier</code>* * <code>data:application/x-pem-file;base64,&lt;base64-encoded value&gt;</code></p>
 </blockquote>
-</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/fr/2.6.0/performance-pulsar-perf"><span class="arrow-prev">← </span><span>Pulsar Perf</span></a><a class="docs-next button" href="/docs/fr/2.6.0/client-libraries-go"><span>Go</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#installation">Installation</a><ul class="toc-headings"><li><a href="#maven">Maven</a></li><li><a  [...]
+</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/fr/2.6.0/performance-pulsar-perf"><span class="arrow-prev">← </span><span>Pulsar Perf</span></a><a class="docs-next button" href="/docs/fr/2.6.0/client-libraries-go"><span>Go</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#installation">Installation</a><ul class="toc-headings"><li><a href="#maven">Maven</a></li><li><a  [...]
       const community = document.querySelector("a[href='#community']").parentNode;
       const communityMenu =
         '<li>' +
diff --git a/content/docs/fr/2.6.0/client-libraries-java/index.html b/content/docs/fr/2.6.0/client-libraries-java/index.html
index d7192a8..b782582 100644
--- a/content/docs/fr/2.6.0/client-libraries-java/index.html
+++ b/content/docs/fr/2.6.0/client-libraries-java/index.html
@@ -253,7 +253,7 @@ client.close();
 <h3><a class="anchor" aria-hidden="true" id="configure-consumer"></a><a href="#configure-consumer" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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- [...]
 <p>If you instantiate a <code>Consumer</code> object by specifying only a topic and subscription name as in the example above, the consumer uses the default configuration.</p>
 <p>When you create a consumer, you can use the <code>loadConf</code> configuration. The following parameters are available in <code>loadConf</code>.</p>
-<p>Type | Name| <div style="width:300px">Description</div>|  Default |---|---|---|--- Set&lt;String&gt;|  <code>topicNames</code>|   Topic name| Sets.newTreeSet() Pattern|   <code>topicsPattern</code>| Topic pattern   |None String| <code>subscriptionName</code>| Subscription name|  None SubscriptionType| <code>subscriptionType</code>|   Subscription type <br/><br/>Four subscription types are available:<li>Exclusive</li><li>Failover</li><li>Shared</li><li>Key_Shared</li>|SubscriptionType. [...]
+<p>Type | Name| <div style="width:300px">Description</div>|  Default |---|---|---|--- Set&lt;String&gt;|  <code>topicNames</code>|   Topic name| Sets.newTreeSet() Pattern|   <code>topicsPattern</code>| Topic pattern   |None String| <code>subscriptionName</code>| Subscription name|  None SubscriptionType| <code>subscriptionType</code>|   Subscription type <br/><br/>Four subscription types are available:<li>Exclusive</li><li>Failover</li><li>Shared</li><li>Key_Shared</li>|SubscriptionType. [...]
 SortedMap&lt;String, String&gt;|<code>properties</code>|A name or value property of this consumer.<br/><br/><code>properties</code> is application defined metadata attached to a consumer. <br/><br/>When getting a topic stats, associate this metadata with the consumer stats for easier identification.|new TreeMap&lt;&gt;() boolean|<code>readCompacted</code>|If enabling <code>readCompacted</code>, a consumer reads messages from a compacted topic rather than reading a full message backlog of [...]
 <p>You can configure parameters if you do not want to use the default configuration. For a full list, see the Javadoc for the <a href="https://pulsar.incubator.apache.org/api/client/2.8.0-SNAPSHOT/org/apache/pulsar/client/api/ConsumerBuilder">ConsumerBuilder</a>
  class.</p>
@@ -282,8 +282,8 @@ SortedMap&lt;String, String&gt;|<code>properties</code>|A name or value property
 consumer.acknowledge(messages)
 </code></pre>
 <blockquote>
-<p>Note:</p>
-<p>Batch receive policy limits the number and bytes of messages in a single batch. You can specify a timeout to wait for enough messages.</p>
+<p><strong>Note</strong>  <br>
+Batch receive policy limits the number and bytes of messages in a single batch. You can specify a timeout to wait for enough messages.</p>
 <p>The batch receive is completed if any of the following condition is met: enough number of messages, bytes of messages, wait timeout.</p>
 <pre><code class="hljs css language-java">Consumer consumer = client.newConsumer()
         .topic(<span class="hljs-string">"my-topic"</span>)
@@ -374,10 +374,10 @@ consumerBuilder
             });
 }
 </code></pre>
-<h3><a class="anchor" aria-hidden="true" id="subscription-modes"></a><a href="#subscription-modes" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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- [...]
-<p>Pulsar has various <a href="concepts-messaging#subscription-modes">subscription modes</a> to match different scenarios. A topic can have multiple subscriptions with different subscription modes. However, a subscription can only have one subscription mode at a time.</p>
-<p>A subscription is identical with the subscription name which can specify only one subscription mode at a time. You cannot change the subscription mode unless all existing consumers of this subscription are offline.</p>
-<p>Different subscription modes have different message distribution modes. This section describes the differences of subscription modes and how to use them.</p>
+<h3><a class="anchor" aria-hidden="true" id="subscription-types"></a><a href="#subscription-types" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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- [...]
+<p>Pulsar has various <a href="concepts-messaging#subscription-types">subscription types</a> to match different scenarios. A topic can have multiple subscriptions with different subscription types. However, a subscription can only have one subscription type at a time.</p>
+<p>A subscription is identical with the subscription name; a subscription name can specify only one subscription type at a time. To change the subscription type, you should first stop all consumers of this subscription.</p>
+<p>Different subscription types have different message distribution modes. This section describes the differences of subscription types and how to use them.</p>
 <p>In order to better describe their differences, assuming you have a topic named &quot;my-topic&quot;, and the producer has published 10 messages.</p>
 <pre><code class="hljs css language-java">Producer&lt;String&gt; producer = client.newProducer(Schema.STRING)
         .topic(<span class="hljs-string">"my-topic"</span>)
@@ -396,7 +396,7 @@ producer.newMessage().key(<span class="hljs-string">"key-4"</span>).value(<span
 producer.newMessage().key(<span class="hljs-string">"key-4"</span>).value(<span class="hljs-string">"message-4-2"</span>).send();
 </code></pre>
 <h4><a class="anchor" aria-hidden="true" id="exclusive"></a><a href="#exclusive" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>Create a new consumer and subscribe with the <code>Exclusive</code> subscription mode.</p>
+<p>Create a new consumer and subscribe with the <code>Exclusive</code> subscription type.</p>
 <pre><code class="hljs css language-java">Consumer consumer = client.newConsumer()
         .topic(<span class="hljs-string">"my-topic"</span>)
         .subscriptionName(<span class="hljs-string">"my-subscription"</span>)
@@ -405,11 +405,11 @@ producer.newMessage().key(<span class="hljs-string">"key-4"</span>).value(<span
 </code></pre>
 <p>Only the first consumer is allowed to the subscription, other consumers receive an error. The first consumer receives all 10 messages, and the consuming order is the same as the producing order.</p>
 <blockquote>
-<p>Note:</p>
-<p>If topic is a partitioned topic, the first consumer subscribes to all partitioned topics, other consumers are not assigned with partitions and receive an error.</p>
+<p><strong>Note</strong>  <br>
+If topic is a partitioned topic, the first consumer subscribes to all partitioned topics, other consumers are not assigned with partitions and receive an error.</p>
 </blockquote>
 <h4><a class="anchor" aria-hidden="true" id="failover"></a><a href="#failover" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
-<p>Create new consumers and subscribe with the<code>Failover</code> subscription mode.</p>
+<p>Create new consumers and subscribe with the<code>Failover</code> subscription type.</p>
 <pre><code class="hljs css language-java">Consumer consumer1 = client.newConsumer()
         .topic(<span class="hljs-string">"my-topic"</span>)
         .subscriptionName(<span class="hljs-string">"my-subscription"</span>)
@@ -441,11 +441,11 @@ Consumer consumer2 = client.newConsumer()
 (<span class="hljs-string">"key-4"</span>, <span class="hljs-string">"message-4-2"</span>)
 </code></pre>
 <blockquote>
-<p>Note:</p>
-<p>If a topic is a partitioned topic, each partition has only one active consumer, messages of one partition are distributed to only one consumer, and messages of multiple partitions are distributed to multiple consumers.</p>
+<p><strong>Note</strong>  <br>
+If a topic is a partitioned topic, each partition has only one active consumer, messages of one partition are distributed to only one consumer, and messages of multiple partitions are distributed to multiple consumers.</p>
 </blockquote>
 <h4><a class="anchor" aria-hidden="true" id="shared"></a><a href="#shared" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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. [...]
-<p>Create new consumers and subscribe with <code>Shared</code> subscription mode:</p>
+<p>Create new consumers and subscribe with <code>Shared</code> subscription type.</p>
 <pre><code class="hljs css language-java">Consumer consumer1 = client.newConsumer()
         .topic(<span class="hljs-string">"my-topic"</span>)
         .subscriptionName(<span class="hljs-string">"my-subscription"</span>)
@@ -459,7 +459,7 @@ Consumer consumer2 = client.newConsumer()
         .subscribe()
 <span class="hljs-comment">//Both consumer1 and consumer 2 is active consumers.</span>
 </code></pre>
-<p>In shared subscription mode, multiple consumers can attach to the same subscription and messages are delivered in a round robin distribution across consumers.</p>
+<p>In shared subscription type, multiple consumers can attach to the same subscription and messages are delivered in a round robin distribution across consumers.</p>
 <p>If a broker dispatches only one message at a time, consumer1 receives the following information.</p>
 <pre><code class="hljs">(<span class="hljs-string">"key-1"</span>, <span class="hljs-string">"message-1-1"</span>)
 (<span class="hljs-string">"key-1"</span>, <span class="hljs-string">"message-1-3"</span>)
@@ -474,9 +474,9 @@ Consumer consumer2 = client.newConsumer()
 (<span class="hljs-string">"key-3"</span>, <span class="hljs-string">"message-3-2"</span>)
 (<span class="hljs-string">"key-4"</span>, <span class="hljs-string">"message-4-2"</span>)
 </code></pre>
-<p><code>Shared</code> subscription is different from <code>Exclusive</code> and <code>Failover</code> subscription modes. <code>Shared</code> subscription has better flexibility, but cannot provide order guarantee.</p>
+<p><code>Shared</code> subscription is different from <code>Exclusive</code> and <code>Failover</code> subscription types. <code>Shared</code> subscription has better flexibility, but cannot provide order guarantee.</p>
 <h4><a class="anchor" aria-hidden="true" id="key_shared"></a><a href="#key_shared" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>This is a new subscription mode since 2.4.0 release, create new consumers and subscribe with <code>Key_Shared</code> subscription mode.</p>
+<p>This is a new subscription type since 2.4.0 release. Create new consumers and subscribe with <code>Key_Shared</code> subscription type.</p>
 <pre><code class="hljs css language-java">Consumer consumer1 = client.newConsumer()
         .topic(<span class="hljs-string">"my-topic"</span>)
         .subscriptionName(<span class="hljs-string">"my-subscription"</span>)
@@ -518,8 +518,8 @@ Consumer consumer2 = client.newConsumer()
         .create();
 </code></pre>
 <blockquote>
-<p>Note:</p>
-<p>If the message key is not specified, messages without key are dispatched to one consumer in order by default.</p>
+<p><strong>Note</strong>  <br>
+If the message key is not specified, messages without key are dispatched to one consumer in order by default.</p>
 </blockquote>
 <h2><a class="anchor" aria-hidden="true" id="reader"></a><a href="#reader" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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. [...]
 <p>With the <a href="/docs/fr/2.6.0/concepts-clients#reader-interface">reader interface</a>, Pulsar clients can &quot;manually position&quot; themselves within a topic and reading all messages from a specified message onward. The Pulsar API for Java enables you to create <a href="https://pulsar.incubator.apache.org/api/client/2.8.0-SNAPSHOT/org/apache/pulsar/client/api/Reader">Reader</a>
@@ -678,7 +678,7 @@ PulsarClient client = PulsarClient.builder()
 <h4><a class="anchor" aria-hidden="true" id="formats-de-modèle-supportés"></a><a href="#formats-de-modèle-supportés" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 1 [...]
 <p>Le paramètre <code>privateKey</code> supporte les trois formats de schéma suivants : * <code>fichier:///chemin/vers/fichier</code>* * <code>fichier:/chemin/vers/fichier</code>* * <code>data:application/x-pem-file;base64,&lt;base64-encoded value&gt;</code></p>
 </blockquote>
-</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/fr/2.6.0/performance-pulsar-perf"><span class="arrow-prev">← </span><span>Pulsar Perf</span></a><a class="docs-next button" href="/docs/fr/2.6.0/client-libraries-go"><span>Go</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#installation">Installation</a><ul class="toc-headings"><li><a href="#maven">Maven</a></li><li><a  [...]
+</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/fr/2.6.0/performance-pulsar-perf"><span class="arrow-prev">← </span><span>Pulsar Perf</span></a><a class="docs-next button" href="/docs/fr/2.6.0/client-libraries-go"><span>Go</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#installation">Installation</a><ul class="toc-headings"><li><a href="#maven">Maven</a></li><li><a  [...]
       const community = document.querySelector("a[href='#community']").parentNode;
       const communityMenu =
         '<li>' +
diff --git a/content/docs/fr/2.6.0/concepts-messaging.html b/content/docs/fr/2.6.0/concepts-messaging.html
index 1de888d..92a657e 100644
--- a/content/docs/fr/2.6.0/concepts-messaging.html
+++ b/content/docs/fr/2.6.0/concepts-messaging.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>Messaging Concepts · Apache Pulsar</title><meta name="viewport" content="width=device-width, initial-scale=1.0"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar is built on the [publish-subscribe](https://en.wikipedia.org/wiki/Publish%E2%80%93subscribe_pattern) pattern (short for pub-sub). In this pattern, [producers](#producers) p [...]
+<!DOCTYPE html><html lang="fr"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Messaging Concepts · Apache Pulsar</title><meta name="viewport" content="width=device-width, initial-scale=1.0"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar is built on the [publish-subscribe](https://en.wikipedia.org/wiki/Publish%E2%80%93subscribe_pattern) pattern (short for pub-sub). In this pattern, [producers](#producers) p [...]
               (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,7 +74,7 @@
                 };
               }
             });
-        </script></nav></div><div class="container mainContainer docsContainer"><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 id="__docusaurus" class="postHeaderTitle">Messaging Concepts</h1></header><article><div><span><p>Pulsar is built on the <a href="https://en.wikipedia.org/wiki/Publish%E2%80%93subscribe_pattern">publish- [...]
+        </script></nav></div><div class="container mainContainer docsContainer"><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 id="__docusaurus" class="postHeaderTitle">Messaging Concepts</h1></header><article><div><span><p>Pulsar is built on the <a href="https://en.wikipedia.org/wiki/Publish%E2%80%93subscribe_pattern">publish- [...]
 <p>Once a subscription has been created, all messages are <a href="/docs/fr/2.6.0/concepts-architecture-overview#persistent-storage">retained</a> by Pulsar, even if the consumer gets disconnected. Retained messages are discarded only when a consumer acknowledges that those messages are processed successfully.</p>
 <h2><a class="anchor" aria-hidden="true" id="messages"></a><a href="#messages" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
 <p>Messages are the basic &quot;unit&quot; of Pulsar. Messages are what producers publish to topics and what consumers then consume from topics (and acknowledge when the message has been processed). Messages are the analogue of letters in a postal service system.</p>
@@ -150,13 +150,13 @@
 <li>Messages are acknowledged cumulatively. With cumulative acknowledgement, the consumer only needs to acknowledge the last message it received. All messages in the stream up to (and including) the provided message are not re-delivered to that consumer.</li>
 </ul>
 <blockquote>
-<p><strong>Note</strong> Cumulative acknowledgement cannot be used in the <a href="#subscription-modes">shared subscription mode</a>, because the shared subscription mode involves multiple consumers having access to the same subscription. In the shared subscription mode, messages can be acknowledged individually.</p>
+<p><strong>Note</strong> Cumulative acknowledgement cannot be used in <a href="#subscription-types">Shared subscription type</a>, because this subscription type involves multiple consumers which have access to the same subscription. In Shared subscription type, messages can be acknowledged individually.</p>
 </blockquote>
 <h3><a class="anchor" aria-hidden="true" id="negative-acknowledgement"></a><a href="#negative-acknowledgement" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>When a consumer does not consume a message successfully at a time, and wants to consume the message again, the consumer can send a negative acknowledgement to the broker, and then the broker will redeliver the message.</p>
-<p>Messages can be negatively acknowledged one by one or cumulatively, which depends on the consumption subscription mode.</p>
-<p>In the exclusive and failover subscription modes, consumers only negatively acknowledge the last message they have received.</p>
-<p>In the shared and Key_Shared subscription modes, you can negatively acknowledge messages individually.</p>
+<p>Messages can be negatively acknowledged either individually or cumulatively, depending on the consumption subscription type.</p>
+<p>In the exclusive and failover subscription types, consumers only negatively acknowledge the last message they have received.</p>
+<p>In the shared and Key_Shared subscription types, you can negatively acknowledge messages individually.</p>
 <p>Be aware that negative acknowledgment on ordered subscription types, such as Exclusive, Failover and Key_Shared, can cause failed messages to arrive consumers out of the original order.</p>
 <blockquote>
 <p><strong>Note</strong> If batching is enabled, other messages in the same batch may be redelivered to the consumer as well as the negatively acknowledged messages.</p>
@@ -201,7 +201,7 @@ Prefer negative acknowledgements over acknowledgement timeout. Negative acknowle
 <p>Dead letter topic depends on message re-delivery. Messages are redelivered either due to <a href="#acknowledgement-timeout">acknowledgement timeout</a> or <a href="#negative-acknowledgement">negative acknowledgement</a>. If you are going to use negative acknowledgement on a message, make sure it is negatively acknowledged before the acknowledgement timeout.</p>
 <blockquote>
 <p><strong>Note</strong>    <br>
-Currently, dead letter topic is enabled only in the shared subscription mode.</p>
+Currently, dead letter topic is enabled only in Shared subscription type.</p>
 </blockquote>
 <h3><a class="anchor" aria-hidden="true" id="retry-letter-topic"></a><a href="#retry-letter-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- [...]
 <p>For many online business systems, a message needs to be re-consumed because any exception occurs in the business logic processing. Generally, users hope that they can flexibly configure the delay time for re-consuming the failed messages. In this case, you can configure the producer to send messages to both the business topic and the retry letter topic and you can enable automatic retry on the consumer. When automatic retry is enabled on the consumer, a message is stored in the retry  [...]
@@ -241,20 +241,20 @@ Currently, dead letter topic is enabled only in the shared subscription mode.</p
 <h2><a class="anchor" aria-hidden="true" id="espaces-de-nommage"></a><a href="#espaces-de-nommage" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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- [...]
 <p>A namespace is a logical nomenclature within a tenant. A tenant can create multiple namespaces via the <a href="/docs/fr/2.6.0/admin-api-namespaces#create">admin API</a>. For instance, a tenant with different applications can create a separate namespace for each application. A namespace allows the application to create and manage a hierarchy of topics. The topic <code>my-tenant/app1</code> is a namespace for the application <code>app1</code> for <code>my-tenant</code>. You can create  [...]
 <h2><a class="anchor" aria-hidden="true" id="subscriptions"></a><a href="#subscriptions" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>A subscription is a named configuration rule that determines how messages are delivered to consumers. There are four available subscription modes in Pulsar: <a href="#exclusive">exclusive</a>, <a href="#shared">shared</a>, <a href="#failover">failover</a>, and <a href="#key_shared">key_shared</a>. These modes are illustrated in the figure below.</p>
-<p><img src="/docs/assets/pulsar-subscription-modes.png" alt="Subscription modes"></p>
+<p>A subscription is a named configuration rule that determines how messages are delivered to consumers. There are four available subscription types in Pulsar: <a href="#exclusive">exclusive</a>, <a href="#shared">shared</a>, <a href="#failover">failover</a>, and <a href="#key_shared">key_shared</a>. These types are illustrated in the figure below.</p>
+<p><img src="/docs/assets/pulsar-subscription-types.png" alt="Subscription types"></p>
 <blockquote>
 <p><strong>Pub-Sub, Queuing, or Both</strong> There is a lot of flexibility in how to combine subscriptions: * If you want to achieve traditional &quot;fan-out pub-sub messaging&quot; among consumers, you can make each consumer have a unique subscription name (exclusive) * If you want to achieve &quot;message queuing&quot; among consumers, you can make multiple consumers have the same subscription name (shared, failover, key_shared) * If you want to do both simultaneously, you can have s [...]
 </blockquote>
 <h3><a class="anchor" aria-hidden="true" id="exclusive"></a><a href="#exclusive" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>In <em>exclusive</em> mode, only a single consumer is allowed to attach to the subscription. If more than one consumer attempts to subscribe to a topic using the same subscription, the consumer receives an error.</p>
+<p>In <em>exclusive</em> type, only a single consumer is allowed to attach to the subscription. If more than one consumer attempts to subscribe to a topic using the same subscription, the consumer receives an error.</p>
 <p>In the diagram below, only <strong>Consumer A-0</strong> is allowed to consume messages.</p>
 <blockquote>
-<p>Exclusive mode is the default subscription mode.</p>
+<p>Exclusive is the default subscription type.</p>
 </blockquote>
 <p><img src="/docs/assets/pulsar-exclusive-subscriptions.png" alt="Exclusive subscriptions"></p>
 <h3><a class="anchor" aria-hidden="true" id="failover"></a><a href="#failover" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
-<p>In <em>failover</em> mode, multiple consumers can attach to the same subscription. A master consumer is picked for non-partitioned topic or each partition of partitioned topic and receives messages. When the master consumer disconnects, all (non-acknowledged and subsequent) messages are delivered to the next consumer in line.</p>
+<p>In <em>Failover</em> type, multiple consumers can attach to the same subscription. A master consumer is picked for non-partitioned topic or each partition of partitioned topic and receives messages. When the master consumer disconnects, all (non-acknowledged and subsequent) messages are delivered to the next consumer in line.</p>
 <p>For partitioned topics, broker will sort consumers by priority level and lexicographical order of consumer name. Then broker will try to evenly assigns topics to consumers with the highest priority level.</p>
 <p>For non-partitioned topic, broker will pick consumer in the order they subscribe to the non partitioned topic.</p>
 <p>In the diagram below, <strong>Consumer-B-0</strong> is the master consumer while <strong>Consumer-B-1</strong> would be the next consumer in line to receive messages if <strong>Consumer-B-0</strong> is disconnected.</p>
@@ -318,9 +318,9 @@ Consumer&lt;<span class="hljs-keyword">byte</span>[]&gt; someTopicsConsumer = pu
 <p>The diagram below illustrates this:</p>
 <p><img src="/docs/assets/partitioning.png" alt=""></p>
 <p>Here, the topic <strong>Topic1</strong> has five partitions (<strong>P0</strong> through <strong>P4</strong>) split across three brokers. Because there are more partitions than brokers, two brokers handle two partitions a piece, while the third handles only one (again, Pulsar handles this distribution of partitions automatically).</p>
-<p>Messages for this topic are broadcast to two consumers. The <a href="#routing-modes">routing mode</a> determines each message should be published to which partition, while the <a href="#subscription-modes">subscription mode</a> determines which messages go to which consumers.</p>
-<p>Decisions about routing and subscription modes can be made separately in most cases. In general, throughput concerns should guide partitioning/routing decisions while subscription decisions should be guided by application semantics.</p>
-<p>There is no difference between partitioned topics and normal topics in terms of how subscription modes work, as partitioning only determines what happens between when a message is published by a producer and processed and acknowledged by a consumer.</p>
+<p>Messages for this topic are broadcast to two consumers. The <a href="#routing-modes">routing mode</a> determines each message should be published to which partition, while the <a href="#subscription-types">subscription type</a> determines which messages go to which consumers.</p>
+<p>Decisions about routing and subscription types can be made separately in most cases. In general, throughput concerns should guide partitioning/routing decisions while subscription decisions should be guided by application semantics.</p>
+<p>There is no difference between partitioned topics and normal topics in terms of how subscription types work, as partitioning only determines what happens between when a message is published by a producer and processed and acknowledged by a consumer.</p>
 <p>Partitioned topics need to be explicitly created via the <a href="/docs/fr/2.6.0/admin-api-overview">admin API</a>. The number of partitions can be specified when creating the topic.</p>
 <h3><a class="anchor" aria-hidden="true" id="routing-modes"></a><a href="#routing-modes" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>When publishing to partitioned topics, you must specify a <em>routing mode</em>. The routing mode determines which partition---that is, which internal topic---each message should be published to.</p>
@@ -372,7 +372,7 @@ Consumer&lt;<span class="hljs-keyword">byte</span>[]&gt; someTopicsConsumer = pu
 <h3><a class="anchor" aria-hidden="true" id="performance"></a><a href="#performance" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>Non-persistent messaging is usually faster than persistent messaging because brokers don't persist messages and immediately send acks back to the producer as soon as that message is delivered to connected brokers. Producers thus see comparatively low publish latency with non-persistent topic.</p>
 <h3><a class="anchor" aria-hidden="true" id="client-api"></a><a href="#client-api" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>Producers and consumers can connect to non-persistent topics in the same way as persistent topics, with the crucial difference that the topic name must start with <code>non-persistent</code>. All three subscription modes---<a href="#exclusive">exclusive</a>, <a href="#shared">shared</a>, and <a href="#failover">failover</a>---are supported for non-persistent topics.</p>
+<p>Producers and consumers can connect to non-persistent topics in the same way as persistent topics, with the crucial difference that the topic name must start with <code>non-persistent</code>. All three subscription types---<a href="#exclusive">exclusive</a>, <a href="#shared">shared</a>, and <a href="#failover">failover</a>---are supported for non-persistent topics.</p>
 <p>Here's an example <a href="/docs/fr/2.6.0/client-libraries-java#consumers">Java consumer</a> for a non-persistent topic:</p>
 <pre><code class="hljs css language-java">PulsarClient client = PulsarClient.builder()
         .serviceUrl(<span class="hljs-string">"pulsar://localhost:6650"</span>)
@@ -426,7 +426,7 @@ Consumer&lt;<span class="hljs-keyword">byte</span>[]&gt; consumer = client.newCo
 </blockquote>
 <h2><a class="anchor" aria-hidden="true" id="delayed-message-delivery"></a><a href="#delayed-message-delivery" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>Delayed message delivery enables you to consume a message later rather than immediately. In this mechanism, a message is stored in BookKeeper, <code>DelayedDeliveryTracker</code> maintains the time index(time -&gt; messageId) in memory after published to a broker, and it is delivered to a consumer once the specific delayed time is passed.</p>
-<p>Delayed message delivery only works well in Shared subscription mode. In Exclusive and Failover subscription mode, the delayed message is dispatched immediately.</p>
+<p>Delayed message delivery only works well In shared subscription type. In Exclusive and Failover subscription types, the delayed message is dispatched immediately.</p>
 <p>The diagram below illustrates the concept of delayed message delivery:</p>
 <p><img src="/docs/assets/message_delay.png" alt="Delayed Message Delivery"></p>
 <p>A broker saves a message without any check. When a consumer consumes a message, if the message is set to delay, then the message is added to <code>DelayedDeliveryTracker</code>. A subscription checks and gets timeout messages from <code>DelayedDeliveryTracker</code>.</p>
diff --git a/content/docs/fr/2.6.0/concepts-messaging/index.html b/content/docs/fr/2.6.0/concepts-messaging/index.html
index 1de888d..92a657e 100644
--- a/content/docs/fr/2.6.0/concepts-messaging/index.html
+++ b/content/docs/fr/2.6.0/concepts-messaging/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>Messaging Concepts · Apache Pulsar</title><meta name="viewport" content="width=device-width, initial-scale=1.0"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar is built on the [publish-subscribe](https://en.wikipedia.org/wiki/Publish%E2%80%93subscribe_pattern) pattern (short for pub-sub). In this pattern, [producers](#producers) p [...]
+<!DOCTYPE html><html lang="fr"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Messaging Concepts · Apache Pulsar</title><meta name="viewport" content="width=device-width, initial-scale=1.0"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar is built on the [publish-subscribe](https://en.wikipedia.org/wiki/Publish%E2%80%93subscribe_pattern) pattern (short for pub-sub). In this pattern, [producers](#producers) p [...]
               (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,7 +74,7 @@
                 };
               }
             });
-        </script></nav></div><div class="container mainContainer docsContainer"><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 id="__docusaurus" class="postHeaderTitle">Messaging Concepts</h1></header><article><div><span><p>Pulsar is built on the <a href="https://en.wikipedia.org/wiki/Publish%E2%80%93subscribe_pattern">publish- [...]
+        </script></nav></div><div class="container mainContainer docsContainer"><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 id="__docusaurus" class="postHeaderTitle">Messaging Concepts</h1></header><article><div><span><p>Pulsar is built on the <a href="https://en.wikipedia.org/wiki/Publish%E2%80%93subscribe_pattern">publish- [...]
 <p>Once a subscription has been created, all messages are <a href="/docs/fr/2.6.0/concepts-architecture-overview#persistent-storage">retained</a> by Pulsar, even if the consumer gets disconnected. Retained messages are discarded only when a consumer acknowledges that those messages are processed successfully.</p>
 <h2><a class="anchor" aria-hidden="true" id="messages"></a><a href="#messages" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
 <p>Messages are the basic &quot;unit&quot; of Pulsar. Messages are what producers publish to topics and what consumers then consume from topics (and acknowledge when the message has been processed). Messages are the analogue of letters in a postal service system.</p>
@@ -150,13 +150,13 @@
 <li>Messages are acknowledged cumulatively. With cumulative acknowledgement, the consumer only needs to acknowledge the last message it received. All messages in the stream up to (and including) the provided message are not re-delivered to that consumer.</li>
 </ul>
 <blockquote>
-<p><strong>Note</strong> Cumulative acknowledgement cannot be used in the <a href="#subscription-modes">shared subscription mode</a>, because the shared subscription mode involves multiple consumers having access to the same subscription. In the shared subscription mode, messages can be acknowledged individually.</p>
+<p><strong>Note</strong> Cumulative acknowledgement cannot be used in <a href="#subscription-types">Shared subscription type</a>, because this subscription type involves multiple consumers which have access to the same subscription. In Shared subscription type, messages can be acknowledged individually.</p>
 </blockquote>
 <h3><a class="anchor" aria-hidden="true" id="negative-acknowledgement"></a><a href="#negative-acknowledgement" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>When a consumer does not consume a message successfully at a time, and wants to consume the message again, the consumer can send a negative acknowledgement to the broker, and then the broker will redeliver the message.</p>
-<p>Messages can be negatively acknowledged one by one or cumulatively, which depends on the consumption subscription mode.</p>
-<p>In the exclusive and failover subscription modes, consumers only negatively acknowledge the last message they have received.</p>
-<p>In the shared and Key_Shared subscription modes, you can negatively acknowledge messages individually.</p>
+<p>Messages can be negatively acknowledged either individually or cumulatively, depending on the consumption subscription type.</p>
+<p>In the exclusive and failover subscription types, consumers only negatively acknowledge the last message they have received.</p>
+<p>In the shared and Key_Shared subscription types, you can negatively acknowledge messages individually.</p>
 <p>Be aware that negative acknowledgment on ordered subscription types, such as Exclusive, Failover and Key_Shared, can cause failed messages to arrive consumers out of the original order.</p>
 <blockquote>
 <p><strong>Note</strong> If batching is enabled, other messages in the same batch may be redelivered to the consumer as well as the negatively acknowledged messages.</p>
@@ -201,7 +201,7 @@ Prefer negative acknowledgements over acknowledgement timeout. Negative acknowle
 <p>Dead letter topic depends on message re-delivery. Messages are redelivered either due to <a href="#acknowledgement-timeout">acknowledgement timeout</a> or <a href="#negative-acknowledgement">negative acknowledgement</a>. If you are going to use negative acknowledgement on a message, make sure it is negatively acknowledged before the acknowledgement timeout.</p>
 <blockquote>
 <p><strong>Note</strong>    <br>
-Currently, dead letter topic is enabled only in the shared subscription mode.</p>
+Currently, dead letter topic is enabled only in Shared subscription type.</p>
 </blockquote>
 <h3><a class="anchor" aria-hidden="true" id="retry-letter-topic"></a><a href="#retry-letter-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- [...]
 <p>For many online business systems, a message needs to be re-consumed because any exception occurs in the business logic processing. Generally, users hope that they can flexibly configure the delay time for re-consuming the failed messages. In this case, you can configure the producer to send messages to both the business topic and the retry letter topic and you can enable automatic retry on the consumer. When automatic retry is enabled on the consumer, a message is stored in the retry  [...]
@@ -241,20 +241,20 @@ Currently, dead letter topic is enabled only in the shared subscription mode.</p
 <h2><a class="anchor" aria-hidden="true" id="espaces-de-nommage"></a><a href="#espaces-de-nommage" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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- [...]
 <p>A namespace is a logical nomenclature within a tenant. A tenant can create multiple namespaces via the <a href="/docs/fr/2.6.0/admin-api-namespaces#create">admin API</a>. For instance, a tenant with different applications can create a separate namespace for each application. A namespace allows the application to create and manage a hierarchy of topics. The topic <code>my-tenant/app1</code> is a namespace for the application <code>app1</code> for <code>my-tenant</code>. You can create  [...]
 <h2><a class="anchor" aria-hidden="true" id="subscriptions"></a><a href="#subscriptions" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>A subscription is a named configuration rule that determines how messages are delivered to consumers. There are four available subscription modes in Pulsar: <a href="#exclusive">exclusive</a>, <a href="#shared">shared</a>, <a href="#failover">failover</a>, and <a href="#key_shared">key_shared</a>. These modes are illustrated in the figure below.</p>
-<p><img src="/docs/assets/pulsar-subscription-modes.png" alt="Subscription modes"></p>
+<p>A subscription is a named configuration rule that determines how messages are delivered to consumers. There are four available subscription types in Pulsar: <a href="#exclusive">exclusive</a>, <a href="#shared">shared</a>, <a href="#failover">failover</a>, and <a href="#key_shared">key_shared</a>. These types are illustrated in the figure below.</p>
+<p><img src="/docs/assets/pulsar-subscription-types.png" alt="Subscription types"></p>
 <blockquote>
 <p><strong>Pub-Sub, Queuing, or Both</strong> There is a lot of flexibility in how to combine subscriptions: * If you want to achieve traditional &quot;fan-out pub-sub messaging&quot; among consumers, you can make each consumer have a unique subscription name (exclusive) * If you want to achieve &quot;message queuing&quot; among consumers, you can make multiple consumers have the same subscription name (shared, failover, key_shared) * If you want to do both simultaneously, you can have s [...]
 </blockquote>
 <h3><a class="anchor" aria-hidden="true" id="exclusive"></a><a href="#exclusive" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>In <em>exclusive</em> mode, only a single consumer is allowed to attach to the subscription. If more than one consumer attempts to subscribe to a topic using the same subscription, the consumer receives an error.</p>
+<p>In <em>exclusive</em> type, only a single consumer is allowed to attach to the subscription. If more than one consumer attempts to subscribe to a topic using the same subscription, the consumer receives an error.</p>
 <p>In the diagram below, only <strong>Consumer A-0</strong> is allowed to consume messages.</p>
 <blockquote>
-<p>Exclusive mode is the default subscription mode.</p>
+<p>Exclusive is the default subscription type.</p>
 </blockquote>
 <p><img src="/docs/assets/pulsar-exclusive-subscriptions.png" alt="Exclusive subscriptions"></p>
 <h3><a class="anchor" aria-hidden="true" id="failover"></a><a href="#failover" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
-<p>In <em>failover</em> mode, multiple consumers can attach to the same subscription. A master consumer is picked for non-partitioned topic or each partition of partitioned topic and receives messages. When the master consumer disconnects, all (non-acknowledged and subsequent) messages are delivered to the next consumer in line.</p>
+<p>In <em>Failover</em> type, multiple consumers can attach to the same subscription. A master consumer is picked for non-partitioned topic or each partition of partitioned topic and receives messages. When the master consumer disconnects, all (non-acknowledged and subsequent) messages are delivered to the next consumer in line.</p>
 <p>For partitioned topics, broker will sort consumers by priority level and lexicographical order of consumer name. Then broker will try to evenly assigns topics to consumers with the highest priority level.</p>
 <p>For non-partitioned topic, broker will pick consumer in the order they subscribe to the non partitioned topic.</p>
 <p>In the diagram below, <strong>Consumer-B-0</strong> is the master consumer while <strong>Consumer-B-1</strong> would be the next consumer in line to receive messages if <strong>Consumer-B-0</strong> is disconnected.</p>
@@ -318,9 +318,9 @@ Consumer&lt;<span class="hljs-keyword">byte</span>[]&gt; someTopicsConsumer = pu
 <p>The diagram below illustrates this:</p>
 <p><img src="/docs/assets/partitioning.png" alt=""></p>
 <p>Here, the topic <strong>Topic1</strong> has five partitions (<strong>P0</strong> through <strong>P4</strong>) split across three brokers. Because there are more partitions than brokers, two brokers handle two partitions a piece, while the third handles only one (again, Pulsar handles this distribution of partitions automatically).</p>
-<p>Messages for this topic are broadcast to two consumers. The <a href="#routing-modes">routing mode</a> determines each message should be published to which partition, while the <a href="#subscription-modes">subscription mode</a> determines which messages go to which consumers.</p>
-<p>Decisions about routing and subscription modes can be made separately in most cases. In general, throughput concerns should guide partitioning/routing decisions while subscription decisions should be guided by application semantics.</p>
-<p>There is no difference between partitioned topics and normal topics in terms of how subscription modes work, as partitioning only determines what happens between when a message is published by a producer and processed and acknowledged by a consumer.</p>
+<p>Messages for this topic are broadcast to two consumers. The <a href="#routing-modes">routing mode</a> determines each message should be published to which partition, while the <a href="#subscription-types">subscription type</a> determines which messages go to which consumers.</p>
+<p>Decisions about routing and subscription types can be made separately in most cases. In general, throughput concerns should guide partitioning/routing decisions while subscription decisions should be guided by application semantics.</p>
+<p>There is no difference between partitioned topics and normal topics in terms of how subscription types work, as partitioning only determines what happens between when a message is published by a producer and processed and acknowledged by a consumer.</p>
 <p>Partitioned topics need to be explicitly created via the <a href="/docs/fr/2.6.0/admin-api-overview">admin API</a>. The number of partitions can be specified when creating the topic.</p>
 <h3><a class="anchor" aria-hidden="true" id="routing-modes"></a><a href="#routing-modes" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>When publishing to partitioned topics, you must specify a <em>routing mode</em>. The routing mode determines which partition---that is, which internal topic---each message should be published to.</p>
@@ -372,7 +372,7 @@ Consumer&lt;<span class="hljs-keyword">byte</span>[]&gt; someTopicsConsumer = pu
 <h3><a class="anchor" aria-hidden="true" id="performance"></a><a href="#performance" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>Non-persistent messaging is usually faster than persistent messaging because brokers don't persist messages and immediately send acks back to the producer as soon as that message is delivered to connected brokers. Producers thus see comparatively low publish latency with non-persistent topic.</p>
 <h3><a class="anchor" aria-hidden="true" id="client-api"></a><a href="#client-api" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>Producers and consumers can connect to non-persistent topics in the same way as persistent topics, with the crucial difference that the topic name must start with <code>non-persistent</code>. All three subscription modes---<a href="#exclusive">exclusive</a>, <a href="#shared">shared</a>, and <a href="#failover">failover</a>---are supported for non-persistent topics.</p>
+<p>Producers and consumers can connect to non-persistent topics in the same way as persistent topics, with the crucial difference that the topic name must start with <code>non-persistent</code>. All three subscription types---<a href="#exclusive">exclusive</a>, <a href="#shared">shared</a>, and <a href="#failover">failover</a>---are supported for non-persistent topics.</p>
 <p>Here's an example <a href="/docs/fr/2.6.0/client-libraries-java#consumers">Java consumer</a> for a non-persistent topic:</p>
 <pre><code class="hljs css language-java">PulsarClient client = PulsarClient.builder()
         .serviceUrl(<span class="hljs-string">"pulsar://localhost:6650"</span>)
@@ -426,7 +426,7 @@ Consumer&lt;<span class="hljs-keyword">byte</span>[]&gt; consumer = client.newCo
 </blockquote>
 <h2><a class="anchor" aria-hidden="true" id="delayed-message-delivery"></a><a href="#delayed-message-delivery" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>Delayed message delivery enables you to consume a message later rather than immediately. In this mechanism, a message is stored in BookKeeper, <code>DelayedDeliveryTracker</code> maintains the time index(time -&gt; messageId) in memory after published to a broker, and it is delivered to a consumer once the specific delayed time is passed.</p>
-<p>Delayed message delivery only works well in Shared subscription mode. In Exclusive and Failover subscription mode, the delayed message is dispatched immediately.</p>
+<p>Delayed message delivery only works well In shared subscription type. In Exclusive and Failover subscription types, the delayed message is dispatched immediately.</p>
 <p>The diagram below illustrates the concept of delayed message delivery:</p>
 <p><img src="/docs/assets/message_delay.png" alt="Delayed Message Delivery"></p>
 <p>A broker saves a message without any check. When a consumer consumes a message, if the message is set to delay, then the message is added to <code>DelayedDeliveryTracker</code>. A subscription checks and gets timeout messages from <code>DelayedDeliveryTracker</code>.</p>
diff --git a/content/docs/fr/2.6.0/concepts-overview.html b/content/docs/fr/2.6.0/concepts-overview.html
index 9afd696..403824f3 100644
--- a/content/docs/fr/2.6.0/concepts-overview.html
+++ b/content/docs/fr/2.6.0/concepts-overview.html
@@ -81,7 +81,7 @@
 <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/fr/2.6.0/concepts-clients">client API</a> with bindings for <a href="/docs/fr/2.6.0/client-libraries-java">Java</a>, <a href="/docs/fr/2.6.0/client-libraries-go">Go</a>, <a href="/docs/fr/2.6.0/client-libraries-python">Python</a> and <a href="/docs/fr/2.6.0/client-libraries-cpp">C++</a>.</li>
-<li>Multiple <a href="/docs/fr/2.6.0/concepts-messaging#subscription-modes">subscription modes</a> (<a href="/docs/fr/2.6.0/concepts-messaging#exclusive">exclusive</a>, <a href="/docs/fr/2.6.0/concepts-messaging#shared">shared</a>, and <a href="/docs/fr/2.6.0/concepts-messaging#failover">failover</a>) for topics.</li>
+<li>Multiple <a href="/docs/fr/2.6.0/concepts-messaging#subscription-types">subscription types</a> (<a href="/docs/fr/2.6.0/concepts-messaging#exclusive">exclusive</a>, <a href="/docs/fr/2.6.0/concepts-messaging#shared">shared</a>, and <a href="/docs/fr/2.6.0/concepts-messaging#failover">failover</a>) for topics.</li>
 <li>Guaranteed message delivery with <a href="/docs/fr/2.6.0/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/fr/2.6.0/functions-overview">Pulsar Functions</a> offers the capability for stream-native data processing.</li>
 <li>A serverless connector framework <a href="/docs/fr/2.6.0/io-overview">Pulsar IO</a>, which is built on Pulsar Functions, makes it easier to move data in and out of Apache Pulsar.</li>
diff --git a/content/docs/fr/2.6.0/concepts-overview/index.html b/content/docs/fr/2.6.0/concepts-overview/index.html
index 9afd696..403824f3 100644
--- a/content/docs/fr/2.6.0/concepts-overview/index.html
+++ b/content/docs/fr/2.6.0/concepts-overview/index.html
@@ -81,7 +81,7 @@
 <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/fr/2.6.0/concepts-clients">client API</a> with bindings for <a href="/docs/fr/2.6.0/client-libraries-java">Java</a>, <a href="/docs/fr/2.6.0/client-libraries-go">Go</a>, <a href="/docs/fr/2.6.0/client-libraries-python">Python</a> and <a href="/docs/fr/2.6.0/client-libraries-cpp">C++</a>.</li>
-<li>Multiple <a href="/docs/fr/2.6.0/concepts-messaging#subscription-modes">subscription modes</a> (<a href="/docs/fr/2.6.0/concepts-messaging#exclusive">exclusive</a>, <a href="/docs/fr/2.6.0/concepts-messaging#shared">shared</a>, and <a href="/docs/fr/2.6.0/concepts-messaging#failover">failover</a>) for topics.</li>
+<li>Multiple <a href="/docs/fr/2.6.0/concepts-messaging#subscription-types">subscription types</a> (<a href="/docs/fr/2.6.0/concepts-messaging#exclusive">exclusive</a>, <a href="/docs/fr/2.6.0/concepts-messaging#shared">shared</a>, and <a href="/docs/fr/2.6.0/concepts-messaging#failover">failover</a>) for topics.</li>
 <li>Guaranteed message delivery with <a href="/docs/fr/2.6.0/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/fr/2.6.0/functions-overview">Pulsar Functions</a> offers the capability for stream-native data processing.</li>
 <li>A serverless connector framework <a href="/docs/fr/2.6.0/io-overview">Pulsar IO</a>, which is built on Pulsar Functions, makes it easier to move data in and out of Apache Pulsar.</li>
diff --git a/content/docs/fr/2.6.1/client-libraries-java.html b/content/docs/fr/2.6.1/client-libraries-java.html
index 2629fa5..494c54d 100644
--- a/content/docs/fr/2.6.1/client-libraries-java.html
+++ b/content/docs/fr/2.6.1/client-libraries-java.html
@@ -253,7 +253,7 @@ client.close();
 <h3><a class="anchor" aria-hidden="true" id="configure-consumer"></a><a href="#configure-consumer" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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- [...]
 <p>If you instantiate a <code>Consumer</code> object by specifying only a topic and subscription name as in the example above, the consumer uses the default configuration.</p>
 <p>When you create a consumer, you can use the <code>loadConf</code> configuration. The following parameters are available in <code>loadConf</code>.</p>
-<p>Type | Name| <div style="width:300px">Description</div>|  Default |---|---|---|--- Set&lt;String&gt;|  <code>topicNames</code>|   Topic name| Sets.newTreeSet() Pattern|   <code>topicsPattern</code>| Topic pattern   |None String| <code>subscriptionName</code>| Subscription name|  None SubscriptionType| <code>subscriptionType</code>|   Subscription type <br/><br/>Four subscription types are available:<li>Exclusive</li><li>Failover</li><li>Shared</li><li>Key_Shared</li>|SubscriptionType. [...]
+<p>Type | Name| <div style="width:300px">Description</div>|  Default |---|---|---|--- Set&lt;String&gt;|  <code>topicNames</code>|   Topic name| Sets.newTreeSet() Pattern|   <code>topicsPattern</code>| Topic pattern   |None String| <code>subscriptionName</code>| Subscription name|  None SubscriptionType| <code>subscriptionType</code>|   Subscription type <br/><br/>Four subscription types are available:<li>Exclusive</li><li>Failover</li><li>Shared</li><li>Key_Shared</li>|SubscriptionType. [...]
 SortedMap&lt;String, String&gt;|<code>properties</code>|A name or value property of this consumer.<br/><br/><code>properties</code> is application defined metadata attached to a consumer. <br/><br/>When getting a topic stats, associate this metadata with the consumer stats for easier identification.|new TreeMap&lt;&gt;() boolean|<code>readCompacted</code>|If enabling <code>readCompacted</code>, a consumer reads messages from a compacted topic rather than reading a full message backlog of [...]
 <p>You can configure parameters if you do not want to use the default configuration. For a full list, see the Javadoc for the <a href="https://pulsar.incubator.apache.org/api/client/2.8.0-SNAPSHOT/org/apache/pulsar/client/api/ConsumerBuilder">ConsumerBuilder</a>
  class.</p>
@@ -282,8 +282,8 @@ SortedMap&lt;String, String&gt;|<code>properties</code>|A name or value property
 consumer.acknowledge(messages)
 </code></pre>
 <blockquote>
-<p>Note:</p>
-<p>Batch receive policy limits the number and bytes of messages in a single batch. You can specify a timeout to wait for enough messages.</p>
+<p><strong>Note</strong>  <br>
+Batch receive policy limits the number and bytes of messages in a single batch. You can specify a timeout to wait for enough messages.</p>
 <p>The batch receive is completed if any of the following condition is met: enough number of messages, bytes of messages, wait timeout.</p>
 <pre><code class="hljs css language-java">Consumer consumer = client.newConsumer()
         .topic(<span class="hljs-string">"my-topic"</span>)
@@ -362,10 +362,10 @@ consumerBuilder
             });
 }
 </code></pre>
-<h3><a class="anchor" aria-hidden="true" id="subscription-modes"></a><a href="#subscription-modes" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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- [...]
-<p>Pulsar has various <a href="concepts-messaging#subscription-modes">subscription modes</a> to match different scenarios. A topic can have multiple subscriptions with different subscription modes. However, a subscription can only have one subscription mode at a time.</p>
-<p>A subscription is identical with the subscription name which can specify only one subscription mode at a time. You cannot change the subscription mode unless all existing consumers of this subscription are offline.</p>
-<p>Different subscription modes have different message distribution modes. This section describes the differences of subscription modes and how to use them.</p>
+<h3><a class="anchor" aria-hidden="true" id="subscription-types"></a><a href="#subscription-types" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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- [...]
+<p>Pulsar has various <a href="concepts-messaging#subscription-types">subscription types</a> to match different scenarios. A topic can have multiple subscriptions with different subscription types. However, a subscription can only have one subscription type at a time.</p>
+<p>A subscription is identical with the subscription name; a subscription name can specify only one subscription type at a time. To change the subscription type, you should first stop all consumers of this subscription.</p>
+<p>Different subscription types have different message distribution modes. This section describes the differences of subscription types and how to use them.</p>
 <p>In order to better describe their differences, assuming you have a topic named &quot;my-topic&quot;, and the producer has published 10 messages.</p>
 <pre><code class="hljs css language-java">Producer&lt;String&gt; producer = client.newProducer(Schema.STRING)
         .topic(<span class="hljs-string">"my-topic"</span>)
@@ -384,7 +384,7 @@ producer.newMessage().key(<span class="hljs-string">"key-4"</span>).value(<span
 producer.newMessage().key(<span class="hljs-string">"key-4"</span>).value(<span class="hljs-string">"message-4-2"</span>).send();
 </code></pre>
 <h4><a class="anchor" aria-hidden="true" id="exclusive"></a><a href="#exclusive" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>Create a new consumer and subscribe with the <code>Exclusive</code> subscription mode.</p>
+<p>Create a new consumer and subscribe with the <code>Exclusive</code> subscription type.</p>
 <pre><code class="hljs css language-java">Consumer consumer = client.newConsumer()
         .topic(<span class="hljs-string">"my-topic"</span>)
         .subscriptionName(<span class="hljs-string">"my-subscription"</span>)
@@ -393,11 +393,11 @@ producer.newMessage().key(<span class="hljs-string">"key-4"</span>).value(<span
 </code></pre>
 <p>Only the first consumer is allowed to the subscription, other consumers receive an error. The first consumer receives all 10 messages, and the consuming order is the same as the producing order.</p>
 <blockquote>
-<p>Note:</p>
-<p>If topic is a partitioned topic, the first consumer subscribes to all partitioned topics, other consumers are not assigned with partitions and receive an error.</p>
+<p><strong>Note</strong>  <br>
+If topic is a partitioned topic, the first consumer subscribes to all partitioned topics, other consumers are not assigned with partitions and receive an error.</p>
 </blockquote>
 <h4><a class="anchor" aria-hidden="true" id="failover"></a><a href="#failover" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
-<p>Create new consumers and subscribe with the<code>Failover</code> subscription mode.</p>
+<p>Create new consumers and subscribe with the<code>Failover</code> subscription type.</p>
 <pre><code class="hljs css language-java">Consumer consumer1 = client.newConsumer()
         .topic(<span class="hljs-string">"my-topic"</span>)
         .subscriptionName(<span class="hljs-string">"my-subscription"</span>)
@@ -429,11 +429,11 @@ Consumer consumer2 = client.newConsumer()
 (<span class="hljs-string">"key-4"</span>, <span class="hljs-string">"message-4-2"</span>)
 </code></pre>
 <blockquote>
-<p>Note:</p>
-<p>If a topic is a partitioned topic, each partition has only one active consumer, messages of one partition are distributed to only one consumer, and messages of multiple partitions are distributed to multiple consumers.</p>
+<p><strong>Note</strong>  <br>
+If a topic is a partitioned topic, each partition has only one active consumer, messages of one partition are distributed to only one consumer, and messages of multiple partitions are distributed to multiple consumers.</p>
 </blockquote>
 <h4><a class="anchor" aria-hidden="true" id="shared"></a><a href="#shared" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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. [...]
-<p>Create new consumers and subscribe with <code>Shared</code> subscription mode:</p>
+<p>Create new consumers and subscribe with <code>Shared</code> subscription type.</p>
 <pre><code class="hljs css language-java">Consumer consumer1 = client.newConsumer()
         .topic(<span class="hljs-string">"my-topic"</span>)
         .subscriptionName(<span class="hljs-string">"my-subscription"</span>)
@@ -447,7 +447,7 @@ Consumer consumer2 = client.newConsumer()
         .subscribe()
 <span class="hljs-comment">//Both consumer1 and consumer 2 is active consumers.</span>
 </code></pre>
-<p>In shared subscription mode, multiple consumers can attach to the same subscription and messages are delivered in a round robin distribution across consumers.</p>
+<p>In shared subscription type, multiple consumers can attach to the same subscription and messages are delivered in a round robin distribution across consumers.</p>
 <p>If a broker dispatches only one message at a time, consumer1 receives the following information.</p>
 <pre><code class="hljs">(<span class="hljs-string">"key-1"</span>, <span class="hljs-string">"message-1-1"</span>)
 (<span class="hljs-string">"key-1"</span>, <span class="hljs-string">"message-1-3"</span>)
@@ -462,9 +462,9 @@ Consumer consumer2 = client.newConsumer()
 (<span class="hljs-string">"key-3"</span>, <span class="hljs-string">"message-3-2"</span>)
 (<span class="hljs-string">"key-4"</span>, <span class="hljs-string">"message-4-2"</span>)
 </code></pre>
-<p><code>Shared</code> subscription is different from <code>Exclusive</code> and <code>Failover</code> subscription modes. <code>Shared</code> subscription has better flexibility, but cannot provide order guarantee.</p>
+<p><code>Shared</code> subscription is different from <code>Exclusive</code> and <code>Failover</code> subscription types. <code>Shared</code> subscription has better flexibility, but cannot provide order guarantee.</p>
 <h4><a class="anchor" aria-hidden="true" id="key_shared"></a><a href="#key_shared" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>This is a new subscription mode since 2.4.0 release, create new consumers and subscribe with <code>Key_Shared</code> subscription mode.</p>
+<p>This is a new subscription type since 2.4.0 release. Create new consumers and subscribe with <code>Key_Shared</code> subscription type.</p>
 <pre><code class="hljs css language-java">Consumer consumer1 = client.newConsumer()
         .topic(<span class="hljs-string">"my-topic"</span>)
         .subscriptionName(<span class="hljs-string">"my-subscription"</span>)
@@ -506,8 +506,8 @@ Consumer consumer2 = client.newConsumer()
         .create();
 </code></pre>
 <blockquote>
-<p>Note:</p>
-<p>If the message key is not specified, messages without key are dispatched to one consumer in order by default.</p>
+<p><strong>Note</strong>  <br>
+If the message key is not specified, messages without key are dispatched to one consumer in order by default.</p>
 </blockquote>
 <h2><a class="anchor" aria-hidden="true" id="reader"></a><a href="#reader" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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. [...]
 <p>With the <a href="/docs/fr/2.6.1/concepts-clients#reader-interface">reader interface</a>, Pulsar clients can &quot;manually position&quot; themselves within a topic and reading all messages from a specified message onward. The Pulsar API for Java enables you to create <a href="https://pulsar.incubator.apache.org/api/client/2.8.0-SNAPSHOT/org/apache/pulsar/client/api/Reader">Reader</a>
@@ -684,7 +684,7 @@ PulsarClient client = PulsarClient.builder()
     .authentication(auth)
     .build();
 </code></pre>
-</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/fr/2.6.1/performance-pulsar-perf"><span class="arrow-prev">← </span><span>Pulsar Perf</span></a><a class="docs-next button" href="/docs/fr/2.6.1/client-libraries-go"><span>Go</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#installation">Installation</a><ul class="toc-headings"><li><a href="#maven">Maven</a></li><li><a  [...]
+</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/fr/2.6.1/performance-pulsar-perf"><span class="arrow-prev">← </span><span>Pulsar Perf</span></a><a class="docs-next button" href="/docs/fr/2.6.1/client-libraries-go"><span>Go</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#installation">Installation</a><ul class="toc-headings"><li><a href="#maven">Maven</a></li><li><a  [...]
       const community = document.querySelector("a[href='#community']").parentNode;
       const communityMenu =
         '<li>' +
diff --git a/content/docs/fr/2.6.1/client-libraries-java/index.html b/content/docs/fr/2.6.1/client-libraries-java/index.html
index 2629fa5..494c54d 100644
--- a/content/docs/fr/2.6.1/client-libraries-java/index.html
+++ b/content/docs/fr/2.6.1/client-libraries-java/index.html
@@ -253,7 +253,7 @@ client.close();
 <h3><a class="anchor" aria-hidden="true" id="configure-consumer"></a><a href="#configure-consumer" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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- [...]
 <p>If you instantiate a <code>Consumer</code> object by specifying only a topic and subscription name as in the example above, the consumer uses the default configuration.</p>
 <p>When you create a consumer, you can use the <code>loadConf</code> configuration. The following parameters are available in <code>loadConf</code>.</p>
-<p>Type | Name| <div style="width:300px">Description</div>|  Default |---|---|---|--- Set&lt;String&gt;|  <code>topicNames</code>|   Topic name| Sets.newTreeSet() Pattern|   <code>topicsPattern</code>| Topic pattern   |None String| <code>subscriptionName</code>| Subscription name|  None SubscriptionType| <code>subscriptionType</code>|   Subscription type <br/><br/>Four subscription types are available:<li>Exclusive</li><li>Failover</li><li>Shared</li><li>Key_Shared</li>|SubscriptionType. [...]
+<p>Type | Name| <div style="width:300px">Description</div>|  Default |---|---|---|--- Set&lt;String&gt;|  <code>topicNames</code>|   Topic name| Sets.newTreeSet() Pattern|   <code>topicsPattern</code>| Topic pattern   |None String| <code>subscriptionName</code>| Subscription name|  None SubscriptionType| <code>subscriptionType</code>|   Subscription type <br/><br/>Four subscription types are available:<li>Exclusive</li><li>Failover</li><li>Shared</li><li>Key_Shared</li>|SubscriptionType. [...]
 SortedMap&lt;String, String&gt;|<code>properties</code>|A name or value property of this consumer.<br/><br/><code>properties</code> is application defined metadata attached to a consumer. <br/><br/>When getting a topic stats, associate this metadata with the consumer stats for easier identification.|new TreeMap&lt;&gt;() boolean|<code>readCompacted</code>|If enabling <code>readCompacted</code>, a consumer reads messages from a compacted topic rather than reading a full message backlog of [...]
 <p>You can configure parameters if you do not want to use the default configuration. For a full list, see the Javadoc for the <a href="https://pulsar.incubator.apache.org/api/client/2.8.0-SNAPSHOT/org/apache/pulsar/client/api/ConsumerBuilder">ConsumerBuilder</a>
  class.</p>
@@ -282,8 +282,8 @@ SortedMap&lt;String, String&gt;|<code>properties</code>|A name or value property
 consumer.acknowledge(messages)
 </code></pre>
 <blockquote>
-<p>Note:</p>
-<p>Batch receive policy limits the number and bytes of messages in a single batch. You can specify a timeout to wait for enough messages.</p>
+<p><strong>Note</strong>  <br>
+Batch receive policy limits the number and bytes of messages in a single batch. You can specify a timeout to wait for enough messages.</p>
 <p>The batch receive is completed if any of the following condition is met: enough number of messages, bytes of messages, wait timeout.</p>
 <pre><code class="hljs css language-java">Consumer consumer = client.newConsumer()
         .topic(<span class="hljs-string">"my-topic"</span>)
@@ -362,10 +362,10 @@ consumerBuilder
             });
 }
 </code></pre>
-<h3><a class="anchor" aria-hidden="true" id="subscription-modes"></a><a href="#subscription-modes" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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- [...]
-<p>Pulsar has various <a href="concepts-messaging#subscription-modes">subscription modes</a> to match different scenarios. A topic can have multiple subscriptions with different subscription modes. However, a subscription can only have one subscription mode at a time.</p>
-<p>A subscription is identical with the subscription name which can specify only one subscription mode at a time. You cannot change the subscription mode unless all existing consumers of this subscription are offline.</p>
-<p>Different subscription modes have different message distribution modes. This section describes the differences of subscription modes and how to use them.</p>
+<h3><a class="anchor" aria-hidden="true" id="subscription-types"></a><a href="#subscription-types" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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- [...]
+<p>Pulsar has various <a href="concepts-messaging#subscription-types">subscription types</a> to match different scenarios. A topic can have multiple subscriptions with different subscription types. However, a subscription can only have one subscription type at a time.</p>
+<p>A subscription is identical with the subscription name; a subscription name can specify only one subscription type at a time. To change the subscription type, you should first stop all consumers of this subscription.</p>
+<p>Different subscription types have different message distribution modes. This section describes the differences of subscription types and how to use them.</p>
 <p>In order to better describe their differences, assuming you have a topic named &quot;my-topic&quot;, and the producer has published 10 messages.</p>
 <pre><code class="hljs css language-java">Producer&lt;String&gt; producer = client.newProducer(Schema.STRING)
         .topic(<span class="hljs-string">"my-topic"</span>)
@@ -384,7 +384,7 @@ producer.newMessage().key(<span class="hljs-string">"key-4"</span>).value(<span
 producer.newMessage().key(<span class="hljs-string">"key-4"</span>).value(<span class="hljs-string">"message-4-2"</span>).send();
 </code></pre>
 <h4><a class="anchor" aria-hidden="true" id="exclusive"></a><a href="#exclusive" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>Create a new consumer and subscribe with the <code>Exclusive</code> subscription mode.</p>
+<p>Create a new consumer and subscribe with the <code>Exclusive</code> subscription type.</p>
 <pre><code class="hljs css language-java">Consumer consumer = client.newConsumer()
         .topic(<span class="hljs-string">"my-topic"</span>)
         .subscriptionName(<span class="hljs-string">"my-subscription"</span>)
@@ -393,11 +393,11 @@ producer.newMessage().key(<span class="hljs-string">"key-4"</span>).value(<span
 </code></pre>
 <p>Only the first consumer is allowed to the subscription, other consumers receive an error. The first consumer receives all 10 messages, and the consuming order is the same as the producing order.</p>
 <blockquote>
-<p>Note:</p>
-<p>If topic is a partitioned topic, the first consumer subscribes to all partitioned topics, other consumers are not assigned with partitions and receive an error.</p>
+<p><strong>Note</strong>  <br>
+If topic is a partitioned topic, the first consumer subscribes to all partitioned topics, other consumers are not assigned with partitions and receive an error.</p>
 </blockquote>
 <h4><a class="anchor" aria-hidden="true" id="failover"></a><a href="#failover" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
-<p>Create new consumers and subscribe with the<code>Failover</code> subscription mode.</p>
+<p>Create new consumers and subscribe with the<code>Failover</code> subscription type.</p>
 <pre><code class="hljs css language-java">Consumer consumer1 = client.newConsumer()
         .topic(<span class="hljs-string">"my-topic"</span>)
         .subscriptionName(<span class="hljs-string">"my-subscription"</span>)
@@ -429,11 +429,11 @@ Consumer consumer2 = client.newConsumer()
 (<span class="hljs-string">"key-4"</span>, <span class="hljs-string">"message-4-2"</span>)
 </code></pre>
 <blockquote>
-<p>Note:</p>
-<p>If a topic is a partitioned topic, each partition has only one active consumer, messages of one partition are distributed to only one consumer, and messages of multiple partitions are distributed to multiple consumers.</p>
+<p><strong>Note</strong>  <br>
+If a topic is a partitioned topic, each partition has only one active consumer, messages of one partition are distributed to only one consumer, and messages of multiple partitions are distributed to multiple consumers.</p>
 </blockquote>
 <h4><a class="anchor" aria-hidden="true" id="shared"></a><a href="#shared" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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. [...]
-<p>Create new consumers and subscribe with <code>Shared</code> subscription mode:</p>
+<p>Create new consumers and subscribe with <code>Shared</code> subscription type.</p>
 <pre><code class="hljs css language-java">Consumer consumer1 = client.newConsumer()
         .topic(<span class="hljs-string">"my-topic"</span>)
         .subscriptionName(<span class="hljs-string">"my-subscription"</span>)
@@ -447,7 +447,7 @@ Consumer consumer2 = client.newConsumer()
         .subscribe()
 <span class="hljs-comment">//Both consumer1 and consumer 2 is active consumers.</span>
 </code></pre>
-<p>In shared subscription mode, multiple consumers can attach to the same subscription and messages are delivered in a round robin distribution across consumers.</p>
+<p>In shared subscription type, multiple consumers can attach to the same subscription and messages are delivered in a round robin distribution across consumers.</p>
 <p>If a broker dispatches only one message at a time, consumer1 receives the following information.</p>
 <pre><code class="hljs">(<span class="hljs-string">"key-1"</span>, <span class="hljs-string">"message-1-1"</span>)
 (<span class="hljs-string">"key-1"</span>, <span class="hljs-string">"message-1-3"</span>)
@@ -462,9 +462,9 @@ Consumer consumer2 = client.newConsumer()
 (<span class="hljs-string">"key-3"</span>, <span class="hljs-string">"message-3-2"</span>)
 (<span class="hljs-string">"key-4"</span>, <span class="hljs-string">"message-4-2"</span>)
 </code></pre>
-<p><code>Shared</code> subscription is different from <code>Exclusive</code> and <code>Failover</code> subscription modes. <code>Shared</code> subscription has better flexibility, but cannot provide order guarantee.</p>
+<p><code>Shared</code> subscription is different from <code>Exclusive</code> and <code>Failover</code> subscription types. <code>Shared</code> subscription has better flexibility, but cannot provide order guarantee.</p>
 <h4><a class="anchor" aria-hidden="true" id="key_shared"></a><a href="#key_shared" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>This is a new subscription mode since 2.4.0 release, create new consumers and subscribe with <code>Key_Shared</code> subscription mode.</p>
+<p>This is a new subscription type since 2.4.0 release. Create new consumers and subscribe with <code>Key_Shared</code> subscription type.</p>
 <pre><code class="hljs css language-java">Consumer consumer1 = client.newConsumer()
         .topic(<span class="hljs-string">"my-topic"</span>)
         .subscriptionName(<span class="hljs-string">"my-subscription"</span>)
@@ -506,8 +506,8 @@ Consumer consumer2 = client.newConsumer()
         .create();
 </code></pre>
 <blockquote>
-<p>Note:</p>
-<p>If the message key is not specified, messages without key are dispatched to one consumer in order by default.</p>
+<p><strong>Note</strong>  <br>
+If the message key is not specified, messages without key are dispatched to one consumer in order by default.</p>
 </blockquote>
 <h2><a class="anchor" aria-hidden="true" id="reader"></a><a href="#reader" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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. [...]
 <p>With the <a href="/docs/fr/2.6.1/concepts-clients#reader-interface">reader interface</a>, Pulsar clients can &quot;manually position&quot; themselves within a topic and reading all messages from a specified message onward. The Pulsar API for Java enables you to create <a href="https://pulsar.incubator.apache.org/api/client/2.8.0-SNAPSHOT/org/apache/pulsar/client/api/Reader">Reader</a>
@@ -684,7 +684,7 @@ PulsarClient client = PulsarClient.builder()
     .authentication(auth)
     .build();
 </code></pre>
-</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/fr/2.6.1/performance-pulsar-perf"><span class="arrow-prev">← </span><span>Pulsar Perf</span></a><a class="docs-next button" href="/docs/fr/2.6.1/client-libraries-go"><span>Go</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#installation">Installation</a><ul class="toc-headings"><li><a href="#maven">Maven</a></li><li><a  [...]
+</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/fr/2.6.1/performance-pulsar-perf"><span class="arrow-prev">← </span><span>Pulsar Perf</span></a><a class="docs-next button" href="/docs/fr/2.6.1/client-libraries-go"><span>Go</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#installation">Installation</a><ul class="toc-headings"><li><a href="#maven">Maven</a></li><li><a  [...]
       const community = document.querySelector("a[href='#community']").parentNode;
       const communityMenu =
         '<li>' +
diff --git a/content/docs/fr/2.6.1/concepts-messaging.html b/content/docs/fr/2.6.1/concepts-messaging.html
index f167fde..f5b49de 100644
--- a/content/docs/fr/2.6.1/concepts-messaging.html
+++ b/content/docs/fr/2.6.1/concepts-messaging.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>Messaging · Apache Pulsar</title><meta name="viewport" content="width=device-width, initial-scale=1.0"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar is built on the [publish-subscribe](https://en.wikipedia.org/wiki/Publish%E2%80%93subscribe_pattern) pattern (short for pub-sub). In this pattern, [producers](#producers) publish me [...]
+<!DOCTYPE html><html lang="fr"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Messaging · Apache Pulsar</title><meta name="viewport" content="width=device-width, initial-scale=1.0"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar is built on the [publish-subscribe](https://en.wikipedia.org/wiki/Publish%E2%80%93subscribe_pattern) pattern (short for pub-sub). In this pattern, [producers](#producers) publish me [...]
               (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,7 +74,7 @@
                 };
               }
             });
-        </script></nav></div><div class="container mainContainer docsContainer"><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 id="__docusaurus" class="postHeaderTitle">Messaging</h1></header><article><div><span><p>Pulsar is built on the <a href="https://en.wikipedia.org/wiki/Publish%E2%80%93subscribe_pattern">publish-subscribe [...]
+        </script></nav></div><div class="container mainContainer docsContainer"><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 id="__docusaurus" class="postHeaderTitle">Messaging</h1></header><article><div><span><p>Pulsar is built on the <a href="https://en.wikipedia.org/wiki/Publish%E2%80%93subscribe_pattern">publish-subscribe [...]
 <p>When a subscription is created, Pulsar <a href="/docs/fr/2.6.1/concepts-architecture-overview#persistent-storage">retains</a> all messages, even if the consumer is disconnected. Retained messages are discarded only when a consumer acknowledges that those messages are processed successfully.</p>
 <h2><a class="anchor" aria-hidden="true" id="messages"></a><a href="#messages" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
 <p>Messages are the basic &quot;unit&quot; of Pulsar. The following table lists the components of messages.</p>
@@ -128,7 +128,7 @@
 <ul>
 <li>Batching and chunking cannot be enabled simultaneously. To enable chunking, you must disable batching in advance.</li>
 <li>Chunking is only supported for persisted topics.</li>
-<li>Chunking is only supported for the exclusive and failover subscription modes.</li>
+<li>Chunking is only supported for the exclusive and failover subscription types.</li>
 </ul>
 <p>When chunking is enabled (<code>chunkingEnabled=true</code>), if the message size is greater than the allowed maximum publish-payload size, the producer splits the original message into chunked messages and publishes them with chunked metadata to the broker separately and in order. At the broker side, the chunked messages are stored in the managed-ledger in the same way as that of ordinary messages. The only difference is that the consumer needs to buffer the chunked messages and comb [...]
 <p>The consumer consumes the chunked messages and buffers them until the consumer receives all the chunks of a message. And then the consumer stitches chunked messages together and places them into the receiver-queue. Clients consume messages from the receiver-queue. Once the consumer consumes the entire large message and acknowledges it, the consumer internally sends acknowledgement of all the chunk messages associated to that large message. You can set the <code>maxPendingChuckedMessag [...]
@@ -165,13 +165,13 @@
 <li>Messages are acknowledged cumulatively. With cumulative acknowledgement, the consumer only needs to acknowledge the last message it received. All messages in the stream up to (and including) the provided message are not re-delivered to that consumer.</li>
 </ul>
 <blockquote>
-<p><strong>Note</strong> Cumulative acknowledgement cannot be used in the <a href="#subscription-modes">shared subscription mode</a>, because the shared subscription mode involves multiple consumers who have access to the same subscription. In the shared subscription mode, messages are acknowledged individually.</p>
+<p><strong>Note</strong> Cumulative acknowledgement cannot be used in <a href="#subscription-types">Shared subscription type</a>, because this subscription type involves multiple consumers which have access to the same subscription. In Shared subscription type, messages are acknowledged individually.</p>
 </blockquote>
 <h3><a class="anchor" aria-hidden="true" id="negative-acknowledgement"></a><a href="#negative-acknowledgement" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>When a consumer does not consume a message successfully at a time, and wants to consume the message again, the consumer sends a negative acknowledgement to the broker, and then the broker redelivers the message.</p>
-<p>Messages are negatively acknowledged one by one or cumulatively, which depends on the consumption subscription mode.</p>
-<p>In the exclusive and failover subscription modes, consumers only negatively acknowledge the last message they receive.</p>
-<p>In the shared and Key_Shared subscription modes, you can negatively acknowledge messages individually.</p>
+<p>Messages are negatively acknowledged either individually or cumulatively, depending on the consumption subscription type.</p>
+<p>In the exclusive and failover subscription types, consumers only negatively acknowledge the last message they receive.</p>
+<p>In the shared and Key_Shared subscription types, you can negatively acknowledge messages individually.</p>
 <p>Be aware that negative acknowledgment on ordered subscription types, such as Exclusive, Failover and Key_Shared, can cause failed messages to arrive consumers out of the original order.</p>
 <blockquote>
 <p><strong>Note</strong> If batching is enabled, other messages and the negatively acknowledged messages in the same batch are redelivered to the consumer.</p>
@@ -216,7 +216,7 @@ Prefer negative acknowledgements over acknowledgement timeout. Negative acknowle
 <p>Dead letter topic depends on message re-delivery. Messages are redelivered either due to <a href="#acknowledgement-timeout">acknowledgement timeout</a> or <a href="#negative-acknowledgement">negative acknowledgement</a>. If you are going to use negative acknowledgement on a message, make sure it is negatively acknowledged before the acknowledgement timeout.</p>
 <blockquote>
 <p><strong>Note</strong>    <br>
-Currently, dead letter topic is enabled only in the shared subscription mode.</p>
+Currently, dead letter topic is enabled only in Shared subscription type.</p>
 </blockquote>
 <h3><a class="anchor" aria-hidden="true" id="retry-letter-topic"></a><a href="#retry-letter-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- [...]
 <p>For many online business systems, a message is re-consumed due to exception occurs in the business logic processing. To configure the delay time for re-consuming the failed messages, you can configure the producer to send messages to both the business topic and the retry letter topic, and enable automatic retry on the consumer. When automatic retry is enabled on the consumer, a message is stored in the retry letter topic if the messages are not consumed, and therefore the consumer aut [...]
@@ -256,20 +256,20 @@ Currently, dead letter topic is enabled only in the shared subscription mode.</p
 <h2><a class="anchor" aria-hidden="true" id="espaces-de-nommage"></a><a href="#espaces-de-nommage" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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- [...]
 <p>A namespace is a logical nomenclature within a tenant. A tenant creates multiple namespaces via the <a href="/docs/fr/2.6.1/admin-api-namespaces#create">admin API</a>. For instance, a tenant with different applications can create a separate namespace for each application. A namespace allows the application to create and manage a hierarchy of topics. The topic <code>my-tenant/app1</code> is a namespace for the application <code>app1</code> for <code>my-tenant</code>. You can create any [...]
 <h2><a class="anchor" aria-hidden="true" id="subscriptions"></a><a href="#subscriptions" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>A subscription is a named configuration rule that determines how messages are delivered to consumers. Four subscription modes are available in Pulsar: <a href="#exclusive">exclusive</a>, <a href="#shared">shared</a>, <a href="#failover">failover</a>, and <a href="#key_shared">key_shared</a>. These modes are illustrated in the figure below.</p>
-<p><img src="/docs/assets/pulsar-subscription-modes.png" alt="Subscription modes"></p>
+<p>A subscription is a named configuration rule that determines how messages are delivered to consumers. Four subscription types are available in Pulsar: <a href="#exclusive">exclusive</a>, <a href="#shared">shared</a>, <a href="#failover">failover</a>, and <a href="#key_shared">key_shared</a>. These types are illustrated in the figure below.</p>
+<p><img src="/docs/assets/pulsar-subscription-types.png" alt="Subscription types"></p>
 <blockquote>
-<p><strong>Pub-Sub or Queuing</strong> In Pulsar, you can use different subscriptions flexibly. * If you want to achieve traditional &quot;fan-out pub-sub messaging&quot; among consumers, specify a unique subscription name for each consumer. It is exclusive subscription mode. * If you want to achieve &quot;message queuing&quot; among consumers, share the same subscription name among multiple consumers(shared, failover, key_shared). * If you want to achieve both effects simultaneously, co [...]
+<p><strong>Pub-Sub or Queuing</strong> In Pulsar, you can use different subscriptions flexibly. * If you want to achieve traditional &quot;fan-out pub-sub messaging&quot; among consumers, specify a unique subscription name for each consumer. It is exclusive subscription type. * If you want to achieve &quot;message queuing&quot; among consumers, share the same subscription name among multiple consumers(shared, failover, key_shared). * If you want to achieve both effects simultaneously, co [...]
 </blockquote>
 <h3><a class="anchor" aria-hidden="true" id="exclusive"></a><a href="#exclusive" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>In <em>exclusive</em> mode, only a single consumer is allowed to attach to the subscription. If multiple consumers subscribe to a topic using the same subscription, an error occurs.</p>
+<p>In <em>exclusive</em> type, only a single consumer is allowed to attach to the subscription. If multiple consumers subscribe to a topic using the same subscription, an error occurs.</p>
 <p>In the diagram below, only <strong>Consumer A-0</strong> is allowed to consume messages.</p>
 <blockquote>
-<p>Exclusive mode is the default subscription mode.</p>
+<p>Exclusive is the default subscription type.</p>
 </blockquote>
 <p><img src="/docs/assets/pulsar-exclusive-subscriptions.png" alt="Exclusive subscriptions"></p>
 <h3><a class="anchor" aria-hidden="true" id="failover"></a><a href="#failover" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
-<p>In <em>failover</em> mode, multiple consumers can attach to the same subscription. A master consumer is picked for non-partitioned topic or each partition of partitioned topic and receives messages. When the master consumer disconnects, all (non-acknowledged and subsequent) messages are delivered to the next consumer in line.</p>
+<p>In <em>Failover</em> type, multiple consumers can attach to the same subscription. A master consumer is picked for non-partitioned topic or each partition of partitioned topic and receives messages. When the master consumer disconnects, all (non-acknowledged and subsequent) messages are delivered to the next consumer in line.</p>
 <p>For partitioned topics, broker will sort consumers by priority level and lexicographical order of consumer name. Then broker will try to evenly assigns topics to consumers with the highest priority level.</p>
 <p>For non-partitioned topic, broker will pick consumer in the order they subscribe to the non partitioned topic.</p>
 <p>In the diagram below, <strong>Consumer-B-0</strong> is the master consumer while <strong>Consumer-B-1</strong> would be the next consumer in line to receive messages if <strong>Consumer-B-0</strong> is disconnected.</p>
@@ -330,9 +330,9 @@ Consumer&lt;<span class="hljs-keyword">byte</span>[]&gt; someTopicsConsumer = pu
 <p>The diagram below illustrates this:</p>
 <p><img src="/docs/assets/partitioning.png" alt=""></p>
 <p>The <strong>Topic1</strong> topic has five partitions (<strong>P0</strong> through <strong>P4</strong>) split across three brokers. Because there are more partitions than brokers, two brokers handle two partitions a piece, while the third handles only one (again, Pulsar handles this distribution of partitions automatically).</p>
-<p>Messages for this topic are broadcast to two consumers. The <a href="#routing-modes">routing mode</a> determines each message should be published to which partition, while the <a href="#subscription-modes">subscription mode</a> determines which messages go to which consumers.</p>
-<p>Decisions about routing and subscription modes can be made separately in most cases. In general, throughput concerns should guide partitioning/routing decisions while subscription decisions should be guided by application semantics.</p>
-<p>There is no difference between partitioned topics and normal topics in terms of how subscription modes work, as partitioning only determines what happens between when a message is published by a producer and processed and acknowledged by a consumer.</p>
+<p>Messages for this topic are broadcast to two consumers. The <a href="#routing-modes">routing mode</a> determines each message should be published to which partition, while the <a href="#subscription-types">subscription type</a> determines which messages go to which consumers.</p>
+<p>Decisions about routing and subscription types can be made separately in most cases. In general, throughput concerns should guide partitioning/routing decisions while subscription decisions should be guided by application semantics.</p>
+<p>There is no difference between partitioned topics and normal topics in terms of how subscription types work, as partitioning only determines what happens between when a message is published by a producer and processed and acknowledged by a consumer.</p>
 <p>Partitioned topics need to be explicitly created via the <a href="/docs/fr/2.6.1/admin-api-overview">admin API</a>. The number of partitions can be specified when creating the topic.</p>
 <h3><a class="anchor" aria-hidden="true" id="routing-modes"></a><a href="#routing-modes" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>When publishing to partitioned topics, you must specify a <em>routing mode</em>. The routing mode determines which partition---that is, which internal topic---each message should be published to.</p>
@@ -384,7 +384,7 @@ Consumer&lt;<span class="hljs-keyword">byte</span>[]&gt; someTopicsConsumer = pu
 <h3><a class="anchor" aria-hidden="true" id="performance"></a><a href="#performance" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>Non-persistent messaging is usually faster than persistent messaging because brokers don't persist messages and immediately send acks back to the producer as soon as that message is delivered to connected brokers. Producers thus see comparatively low publish latency with non-persistent topic.</p>
 <h3><a class="anchor" aria-hidden="true" id="client-api"></a><a href="#client-api" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>Producers and consumers can connect to non-persistent topics in the same way as persistent topics, with the crucial difference that the topic name must start with <code>non-persistent</code>. All three subscription modes---<a href="#exclusive">exclusive</a>, <a href="#shared">shared</a>, and <a href="#failover">failover</a>---are supported for non-persistent topics.</p>
+<p>Producers and consumers can connect to non-persistent topics in the same way as persistent topics, with the crucial difference that the topic name must start with <code>non-persistent</code>. All three subscription types---<a href="#exclusive">exclusive</a>, <a href="#shared">shared</a>, and <a href="#failover">failover</a>---are supported for non-persistent topics.</p>
 <p>Here's an example <a href="/docs/fr/2.6.1/client-libraries-java#consumers">Java consumer</a> for a non-persistent topic:</p>
 <pre><code class="hljs css language-java">PulsarClient client = PulsarClient.builder()
         .serviceUrl(<span class="hljs-string">"pulsar://localhost:6650"</span>)
@@ -438,7 +438,7 @@ Consumer&lt;<span class="hljs-keyword">byte</span>[]&gt; consumer = client.newCo
 </blockquote>
 <h2><a class="anchor" aria-hidden="true" id="delayed-message-delivery"></a><a href="#delayed-message-delivery" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>Delayed message delivery enables you to consume a message later rather than immediately. In this mechanism, a message is stored in BookKeeper, <code>DelayedDeliveryTracker</code> maintains the time index(time -&gt; messageId) in memory after published to a broker, and it is delivered to a consumer once the specific delayed time is passed.</p>
-<p>Delayed message delivery only works in Shared subscription mode. In Exclusive and Failover subscription modes, the delayed message is dispatched immediately.</p>
+<p>Delayed message delivery only works in Shared subscription type. In Exclusive and Failover subscription types, the delayed message is dispatched immediately.</p>
 <p>The diagram below illustrates the concept of delayed message delivery:</p>
 <p><img src="/docs/assets/message_delay.png" alt="Delayed Message Delivery"></p>
 <p>A broker saves a message without any check. When a consumer consumes a message, if the message is set to delay, then the message is added to <code>DelayedDeliveryTracker</code>. A subscription checks and gets timeout messages from <code>DelayedDeliveryTracker</code>.</p>
diff --git a/content/docs/fr/2.6.1/concepts-messaging/index.html b/content/docs/fr/2.6.1/concepts-messaging/index.html
index f167fde..f5b49de 100644
--- a/content/docs/fr/2.6.1/concepts-messaging/index.html
+++ b/content/docs/fr/2.6.1/concepts-messaging/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>Messaging · Apache Pulsar</title><meta name="viewport" content="width=device-width, initial-scale=1.0"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar is built on the [publish-subscribe](https://en.wikipedia.org/wiki/Publish%E2%80%93subscribe_pattern) pattern (short for pub-sub). In this pattern, [producers](#producers) publish me [...]
+<!DOCTYPE html><html lang="fr"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Messaging · Apache Pulsar</title><meta name="viewport" content="width=device-width, initial-scale=1.0"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar is built on the [publish-subscribe](https://en.wikipedia.org/wiki/Publish%E2%80%93subscribe_pattern) pattern (short for pub-sub). In this pattern, [producers](#producers) publish me [...]
               (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,7 +74,7 @@
                 };
               }
             });
-        </script></nav></div><div class="container mainContainer docsContainer"><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 id="__docusaurus" class="postHeaderTitle">Messaging</h1></header><article><div><span><p>Pulsar is built on the <a href="https://en.wikipedia.org/wiki/Publish%E2%80%93subscribe_pattern">publish-subscribe [...]
+        </script></nav></div><div class="container mainContainer docsContainer"><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 id="__docusaurus" class="postHeaderTitle">Messaging</h1></header><article><div><span><p>Pulsar is built on the <a href="https://en.wikipedia.org/wiki/Publish%E2%80%93subscribe_pattern">publish-subscribe [...]
 <p>When a subscription is created, Pulsar <a href="/docs/fr/2.6.1/concepts-architecture-overview#persistent-storage">retains</a> all messages, even if the consumer is disconnected. Retained messages are discarded only when a consumer acknowledges that those messages are processed successfully.</p>
 <h2><a class="anchor" aria-hidden="true" id="messages"></a><a href="#messages" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
 <p>Messages are the basic &quot;unit&quot; of Pulsar. The following table lists the components of messages.</p>
@@ -128,7 +128,7 @@
 <ul>
 <li>Batching and chunking cannot be enabled simultaneously. To enable chunking, you must disable batching in advance.</li>
 <li>Chunking is only supported for persisted topics.</li>
-<li>Chunking is only supported for the exclusive and failover subscription modes.</li>
+<li>Chunking is only supported for the exclusive and failover subscription types.</li>
 </ul>
 <p>When chunking is enabled (<code>chunkingEnabled=true</code>), if the message size is greater than the allowed maximum publish-payload size, the producer splits the original message into chunked messages and publishes them with chunked metadata to the broker separately and in order. At the broker side, the chunked messages are stored in the managed-ledger in the same way as that of ordinary messages. The only difference is that the consumer needs to buffer the chunked messages and comb [...]
 <p>The consumer consumes the chunked messages and buffers them until the consumer receives all the chunks of a message. And then the consumer stitches chunked messages together and places them into the receiver-queue. Clients consume messages from the receiver-queue. Once the consumer consumes the entire large message and acknowledges it, the consumer internally sends acknowledgement of all the chunk messages associated to that large message. You can set the <code>maxPendingChuckedMessag [...]
@@ -165,13 +165,13 @@
 <li>Messages are acknowledged cumulatively. With cumulative acknowledgement, the consumer only needs to acknowledge the last message it received. All messages in the stream up to (and including) the provided message are not re-delivered to that consumer.</li>
 </ul>
 <blockquote>
-<p><strong>Note</strong> Cumulative acknowledgement cannot be used in the <a href="#subscription-modes">shared subscription mode</a>, because the shared subscription mode involves multiple consumers who have access to the same subscription. In the shared subscription mode, messages are acknowledged individually.</p>
+<p><strong>Note</strong> Cumulative acknowledgement cannot be used in <a href="#subscription-types">Shared subscription type</a>, because this subscription type involves multiple consumers which have access to the same subscription. In Shared subscription type, messages are acknowledged individually.</p>
 </blockquote>
 <h3><a class="anchor" aria-hidden="true" id="negative-acknowledgement"></a><a href="#negative-acknowledgement" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>When a consumer does not consume a message successfully at a time, and wants to consume the message again, the consumer sends a negative acknowledgement to the broker, and then the broker redelivers the message.</p>
-<p>Messages are negatively acknowledged one by one or cumulatively, which depends on the consumption subscription mode.</p>
-<p>In the exclusive and failover subscription modes, consumers only negatively acknowledge the last message they receive.</p>
-<p>In the shared and Key_Shared subscription modes, you can negatively acknowledge messages individually.</p>
+<p>Messages are negatively acknowledged either individually or cumulatively, depending on the consumption subscription type.</p>
+<p>In the exclusive and failover subscription types, consumers only negatively acknowledge the last message they receive.</p>
+<p>In the shared and Key_Shared subscription types, you can negatively acknowledge messages individually.</p>
 <p>Be aware that negative acknowledgment on ordered subscription types, such as Exclusive, Failover and Key_Shared, can cause failed messages to arrive consumers out of the original order.</p>
 <blockquote>
 <p><strong>Note</strong> If batching is enabled, other messages and the negatively acknowledged messages in the same batch are redelivered to the consumer.</p>
@@ -216,7 +216,7 @@ Prefer negative acknowledgements over acknowledgement timeout. Negative acknowle
 <p>Dead letter topic depends on message re-delivery. Messages are redelivered either due to <a href="#acknowledgement-timeout">acknowledgement timeout</a> or <a href="#negative-acknowledgement">negative acknowledgement</a>. If you are going to use negative acknowledgement on a message, make sure it is negatively acknowledged before the acknowledgement timeout.</p>
 <blockquote>
 <p><strong>Note</strong>    <br>
-Currently, dead letter topic is enabled only in the shared subscription mode.</p>
+Currently, dead letter topic is enabled only in Shared subscription type.</p>
 </blockquote>
 <h3><a class="anchor" aria-hidden="true" id="retry-letter-topic"></a><a href="#retry-letter-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- [...]
 <p>For many online business systems, a message is re-consumed due to exception occurs in the business logic processing. To configure the delay time for re-consuming the failed messages, you can configure the producer to send messages to both the business topic and the retry letter topic, and enable automatic retry on the consumer. When automatic retry is enabled on the consumer, a message is stored in the retry letter topic if the messages are not consumed, and therefore the consumer aut [...]
@@ -256,20 +256,20 @@ Currently, dead letter topic is enabled only in the shared subscription mode.</p
 <h2><a class="anchor" aria-hidden="true" id="espaces-de-nommage"></a><a href="#espaces-de-nommage" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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- [...]
 <p>A namespace is a logical nomenclature within a tenant. A tenant creates multiple namespaces via the <a href="/docs/fr/2.6.1/admin-api-namespaces#create">admin API</a>. For instance, a tenant with different applications can create a separate namespace for each application. A namespace allows the application to create and manage a hierarchy of topics. The topic <code>my-tenant/app1</code> is a namespace for the application <code>app1</code> for <code>my-tenant</code>. You can create any [...]
 <h2><a class="anchor" aria-hidden="true" id="subscriptions"></a><a href="#subscriptions" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>A subscription is a named configuration rule that determines how messages are delivered to consumers. Four subscription modes are available in Pulsar: <a href="#exclusive">exclusive</a>, <a href="#shared">shared</a>, <a href="#failover">failover</a>, and <a href="#key_shared">key_shared</a>. These modes are illustrated in the figure below.</p>
-<p><img src="/docs/assets/pulsar-subscription-modes.png" alt="Subscription modes"></p>
+<p>A subscription is a named configuration rule that determines how messages are delivered to consumers. Four subscription types are available in Pulsar: <a href="#exclusive">exclusive</a>, <a href="#shared">shared</a>, <a href="#failover">failover</a>, and <a href="#key_shared">key_shared</a>. These types are illustrated in the figure below.</p>
+<p><img src="/docs/assets/pulsar-subscription-types.png" alt="Subscription types"></p>
 <blockquote>
-<p><strong>Pub-Sub or Queuing</strong> In Pulsar, you can use different subscriptions flexibly. * If you want to achieve traditional &quot;fan-out pub-sub messaging&quot; among consumers, specify a unique subscription name for each consumer. It is exclusive subscription mode. * If you want to achieve &quot;message queuing&quot; among consumers, share the same subscription name among multiple consumers(shared, failover, key_shared). * If you want to achieve both effects simultaneously, co [...]
+<p><strong>Pub-Sub or Queuing</strong> In Pulsar, you can use different subscriptions flexibly. * If you want to achieve traditional &quot;fan-out pub-sub messaging&quot; among consumers, specify a unique subscription name for each consumer. It is exclusive subscription type. * If you want to achieve &quot;message queuing&quot; among consumers, share the same subscription name among multiple consumers(shared, failover, key_shared). * If you want to achieve both effects simultaneously, co [...]
 </blockquote>
 <h3><a class="anchor" aria-hidden="true" id="exclusive"></a><a href="#exclusive" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>In <em>exclusive</em> mode, only a single consumer is allowed to attach to the subscription. If multiple consumers subscribe to a topic using the same subscription, an error occurs.</p>
+<p>In <em>exclusive</em> type, only a single consumer is allowed to attach to the subscription. If multiple consumers subscribe to a topic using the same subscription, an error occurs.</p>
 <p>In the diagram below, only <strong>Consumer A-0</strong> is allowed to consume messages.</p>
 <blockquote>
-<p>Exclusive mode is the default subscription mode.</p>
+<p>Exclusive is the default subscription type.</p>
 </blockquote>
 <p><img src="/docs/assets/pulsar-exclusive-subscriptions.png" alt="Exclusive subscriptions"></p>
 <h3><a class="anchor" aria-hidden="true" id="failover"></a><a href="#failover" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
-<p>In <em>failover</em> mode, multiple consumers can attach to the same subscription. A master consumer is picked for non-partitioned topic or each partition of partitioned topic and receives messages. When the master consumer disconnects, all (non-acknowledged and subsequent) messages are delivered to the next consumer in line.</p>
+<p>In <em>Failover</em> type, multiple consumers can attach to the same subscription. A master consumer is picked for non-partitioned topic or each partition of partitioned topic and receives messages. When the master consumer disconnects, all (non-acknowledged and subsequent) messages are delivered to the next consumer in line.</p>
 <p>For partitioned topics, broker will sort consumers by priority level and lexicographical order of consumer name. Then broker will try to evenly assigns topics to consumers with the highest priority level.</p>
 <p>For non-partitioned topic, broker will pick consumer in the order they subscribe to the non partitioned topic.</p>
 <p>In the diagram below, <strong>Consumer-B-0</strong> is the master consumer while <strong>Consumer-B-1</strong> would be the next consumer in line to receive messages if <strong>Consumer-B-0</strong> is disconnected.</p>
@@ -330,9 +330,9 @@ Consumer&lt;<span class="hljs-keyword">byte</span>[]&gt; someTopicsConsumer = pu
 <p>The diagram below illustrates this:</p>
 <p><img src="/docs/assets/partitioning.png" alt=""></p>
 <p>The <strong>Topic1</strong> topic has five partitions (<strong>P0</strong> through <strong>P4</strong>) split across three brokers. Because there are more partitions than brokers, two brokers handle two partitions a piece, while the third handles only one (again, Pulsar handles this distribution of partitions automatically).</p>
-<p>Messages for this topic are broadcast to two consumers. The <a href="#routing-modes">routing mode</a> determines each message should be published to which partition, while the <a href="#subscription-modes">subscription mode</a> determines which messages go to which consumers.</p>
-<p>Decisions about routing and subscription modes can be made separately in most cases. In general, throughput concerns should guide partitioning/routing decisions while subscription decisions should be guided by application semantics.</p>
-<p>There is no difference between partitioned topics and normal topics in terms of how subscription modes work, as partitioning only determines what happens between when a message is published by a producer and processed and acknowledged by a consumer.</p>
+<p>Messages for this topic are broadcast to two consumers. The <a href="#routing-modes">routing mode</a> determines each message should be published to which partition, while the <a href="#subscription-types">subscription type</a> determines which messages go to which consumers.</p>
+<p>Decisions about routing and subscription types can be made separately in most cases. In general, throughput concerns should guide partitioning/routing decisions while subscription decisions should be guided by application semantics.</p>
+<p>There is no difference between partitioned topics and normal topics in terms of how subscription types work, as partitioning only determines what happens between when a message is published by a producer and processed and acknowledged by a consumer.</p>
 <p>Partitioned topics need to be explicitly created via the <a href="/docs/fr/2.6.1/admin-api-overview">admin API</a>. The number of partitions can be specified when creating the topic.</p>
 <h3><a class="anchor" aria-hidden="true" id="routing-modes"></a><a href="#routing-modes" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>When publishing to partitioned topics, you must specify a <em>routing mode</em>. The routing mode determines which partition---that is, which internal topic---each message should be published to.</p>
@@ -384,7 +384,7 @@ Consumer&lt;<span class="hljs-keyword">byte</span>[]&gt; someTopicsConsumer = pu
 <h3><a class="anchor" aria-hidden="true" id="performance"></a><a href="#performance" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>Non-persistent messaging is usually faster than persistent messaging because brokers don't persist messages and immediately send acks back to the producer as soon as that message is delivered to connected brokers. Producers thus see comparatively low publish latency with non-persistent topic.</p>
 <h3><a class="anchor" aria-hidden="true" id="client-api"></a><a href="#client-api" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>Producers and consumers can connect to non-persistent topics in the same way as persistent topics, with the crucial difference that the topic name must start with <code>non-persistent</code>. All three subscription modes---<a href="#exclusive">exclusive</a>, <a href="#shared">shared</a>, and <a href="#failover">failover</a>---are supported for non-persistent topics.</p>
+<p>Producers and consumers can connect to non-persistent topics in the same way as persistent topics, with the crucial difference that the topic name must start with <code>non-persistent</code>. All three subscription types---<a href="#exclusive">exclusive</a>, <a href="#shared">shared</a>, and <a href="#failover">failover</a>---are supported for non-persistent topics.</p>
 <p>Here's an example <a href="/docs/fr/2.6.1/client-libraries-java#consumers">Java consumer</a> for a non-persistent topic:</p>
 <pre><code class="hljs css language-java">PulsarClient client = PulsarClient.builder()
         .serviceUrl(<span class="hljs-string">"pulsar://localhost:6650"</span>)
@@ -438,7 +438,7 @@ Consumer&lt;<span class="hljs-keyword">byte</span>[]&gt; consumer = client.newCo
 </blockquote>
 <h2><a class="anchor" aria-hidden="true" id="delayed-message-delivery"></a><a href="#delayed-message-delivery" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>Delayed message delivery enables you to consume a message later rather than immediately. In this mechanism, a message is stored in BookKeeper, <code>DelayedDeliveryTracker</code> maintains the time index(time -&gt; messageId) in memory after published to a broker, and it is delivered to a consumer once the specific delayed time is passed.</p>
-<p>Delayed message delivery only works in Shared subscription mode. In Exclusive and Failover subscription modes, the delayed message is dispatched immediately.</p>
+<p>Delayed message delivery only works in Shared subscription type. In Exclusive and Failover subscription types, the delayed message is dispatched immediately.</p>
 <p>The diagram below illustrates the concept of delayed message delivery:</p>
 <p><img src="/docs/assets/message_delay.png" alt="Delayed Message Delivery"></p>
 <p>A broker saves a message without any check. When a consumer consumes a message, if the message is set to delay, then the message is added to <code>DelayedDeliveryTracker</code>. A subscription checks and gets timeout messages from <code>DelayedDeliveryTracker</code>.</p>
diff --git a/content/docs/fr/2.6.1/concepts-overview.html b/content/docs/fr/2.6.1/concepts-overview.html
index 0a169d7..3562f2f 100644
--- a/content/docs/fr/2.6.1/concepts-overview.html
+++ b/content/docs/fr/2.6.1/concepts-overview.html
@@ -81,7 +81,7 @@
 <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/fr/2.6.1/concepts-clients">client API</a> with bindings for <a href="/docs/fr/2.6.1/client-libraries-java">Java</a>, <a href="/docs/fr/2.6.1/client-libraries-go">Go</a>, <a href="/docs/fr/2.6.1/client-libraries-python">Python</a> and <a href="/docs/fr/2.6.1/client-libraries-cpp">C++</a>.</li>
-<li>Multiple <a href="/docs/fr/2.6.1/concepts-messaging#subscription-modes">subscription modes</a> (<a href="/docs/fr/2.6.1/concepts-messaging#exclusive">exclusive</a>, <a href="/docs/fr/2.6.1/concepts-messaging#shared">shared</a>, and <a href="/docs/fr/2.6.1/concepts-messaging#failover">failover</a>) for topics.</li>
+<li>Multiple <a href="/docs/fr/2.6.1/concepts-messaging#subscription-types">subscription types</a> (<a href="/docs/fr/2.6.1/concepts-messaging#exclusive">exclusive</a>, <a href="/docs/fr/2.6.1/concepts-messaging#shared">shared</a>, and <a href="/docs/fr/2.6.1/concepts-messaging#failover">failover</a>) for topics.</li>
 <li>Guaranteed message delivery with <a href="/docs/fr/2.6.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/fr/2.6.1/functions-overview">Pulsar Functions</a> offers the capability for stream-native data processing.</li>
 <li>A serverless connector framework <a href="/docs/fr/2.6.1/io-overview">Pulsar IO</a>, which is built on Pulsar Functions, makes it easier to move data in and out of Apache Pulsar.</li>
diff --git a/content/docs/fr/2.6.1/concepts-overview/index.html b/content/docs/fr/2.6.1/concepts-overview/index.html
index 0a169d7..3562f2f 100644
--- a/content/docs/fr/2.6.1/concepts-overview/index.html
+++ b/content/docs/fr/2.6.1/concepts-overview/index.html
@@ -81,7 +81,7 @@
 <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/fr/2.6.1/concepts-clients">client API</a> with bindings for <a href="/docs/fr/2.6.1/client-libraries-java">Java</a>, <a href="/docs/fr/2.6.1/client-libraries-go">Go</a>, <a href="/docs/fr/2.6.1/client-libraries-python">Python</a> and <a href="/docs/fr/2.6.1/client-libraries-cpp">C++</a>.</li>
-<li>Multiple <a href="/docs/fr/2.6.1/concepts-messaging#subscription-modes">subscription modes</a> (<a href="/docs/fr/2.6.1/concepts-messaging#exclusive">exclusive</a>, <a href="/docs/fr/2.6.1/concepts-messaging#shared">shared</a>, and <a href="/docs/fr/2.6.1/concepts-messaging#failover">failover</a>) for topics.</li>
+<li>Multiple <a href="/docs/fr/2.6.1/concepts-messaging#subscription-types">subscription types</a> (<a href="/docs/fr/2.6.1/concepts-messaging#exclusive">exclusive</a>, <a href="/docs/fr/2.6.1/concepts-messaging#shared">shared</a>, and <a href="/docs/fr/2.6.1/concepts-messaging#failover">failover</a>) for topics.</li>
 <li>Guaranteed message delivery with <a href="/docs/fr/2.6.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/fr/2.6.1/functions-overview">Pulsar Functions</a> offers the capability for stream-native data processing.</li>
 <li>A serverless connector framework <a href="/docs/fr/2.6.1/io-overview">Pulsar IO</a>, which is built on Pulsar Functions, makes it easier to move data in and out of Apache Pulsar.</li>
diff --git a/content/docs/fr/2.6.2/client-libraries-java.html b/content/docs/fr/2.6.2/client-libraries-java.html
index 19ef8c8..75a5c2c 100644
--- a/content/docs/fr/2.6.2/client-libraries-java.html
+++ b/content/docs/fr/2.6.2/client-libraries-java.html
@@ -253,7 +253,7 @@ client.close();
 <h3><a class="anchor" aria-hidden="true" id="configure-consumer"></a><a href="#configure-consumer" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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- [...]
 <p>If you instantiate a <code>Consumer</code> object by specifying only a topic and subscription name as in the example above, the consumer uses the default configuration.</p>
 <p>When you create a consumer, you can use the <code>loadConf</code> configuration. The following parameters are available in <code>loadConf</code>.</p>
-<p>Type | Name| <div style="width:300px">Description</div>|  Default |---|---|---|--- Set&lt;String&gt;|  <code>topicNames</code>|   Topic name| Sets.newTreeSet() Pattern|   <code>topicsPattern</code>| Topic pattern   |None String| <code>subscriptionName</code>| Subscription name|  None SubscriptionType| <code>subscriptionType</code>|   Subscription type <br/><br/>Four subscription types are available:<li>Exclusive</li><li>Failover</li><li>Shared</li><li>Key_Shared</li>|SubscriptionType. [...]
+<p>Type | Name| <div style="width:300px">Description</div>|  Default |---|---|---|--- Set&lt;String&gt;|  <code>topicNames</code>|   Topic name| Sets.newTreeSet() Pattern|   <code>topicsPattern</code>| Topic pattern   |None String| <code>subscriptionName</code>| Subscription name|  None SubscriptionType| <code>subscriptionType</code>|   Subscription type <br/><br/>Four subscription types are available:<li>Exclusive</li><li>Failover</li><li>Shared</li><li>Key_Shared</li>|SubscriptionType. [...]
 SortedMap&lt;String, String&gt;|<code>properties</code>|A name or value property of this consumer.<br/><br/><code>properties</code> is application defined metadata attached to a consumer. <br/><br/>When getting a topic stats, associate this metadata with the consumer stats for easier identification.|new TreeMap&lt;&gt;() boolean|<code>readCompacted</code>|If enabling <code>readCompacted</code>, a consumer reads messages from a compacted topic rather than reading a full message backlog of [...]
 <p>You can configure parameters if you do not want to use the default configuration. For a full list, see the Javadoc for the <a href="https://pulsar.incubator.apache.org/api/client/2.8.0-SNAPSHOT/org/apache/pulsar/client/api/ConsumerBuilder">ConsumerBuilder</a>
  class.</p>
@@ -282,8 +282,8 @@ SortedMap&lt;String, String&gt;|<code>properties</code>|A name or value property
 consumer.acknowledge(messages)
 </code></pre>
 <blockquote>
-<p>Note:</p>
-<p>Batch receive policy limits the number and bytes of messages in a single batch. You can specify a timeout to wait for enough messages.</p>
+<p><strong>Note</strong>  <br>
+Batch receive policy limits the number and bytes of messages in a single batch. You can specify a timeout to wait for enough messages.</p>
 <p>The batch receive is completed if any of the following condition is met: enough number of messages, bytes of messages, wait timeout.</p>
 <pre><code class="hljs css language-java">Consumer consumer = client.newConsumer()
         .topic(<span class="hljs-string">"my-topic"</span>)
@@ -362,10 +362,10 @@ consumerBuilder
             });
 }
 </code></pre>
-<h3><a class="anchor" aria-hidden="true" id="subscription-modes"></a><a href="#subscription-modes" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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- [...]
-<p>Pulsar has various <a href="concepts-messaging#subscription-modes">subscription modes</a> to match different scenarios. A topic can have multiple subscriptions with different subscription modes. However, a subscription can only have one subscription mode at a time.</p>
-<p>A subscription is identical with the subscription name which can specify only one subscription mode at a time. You cannot change the subscription mode unless all existing consumers of this subscription are offline.</p>
-<p>Different subscription modes have different message distribution modes. This section describes the differences of subscription modes and how to use them.</p>
+<h3><a class="anchor" aria-hidden="true" id="subscription-types"></a><a href="#subscription-types" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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- [...]
+<p>Pulsar has various <a href="concepts-messaging#subscription-types">subscription types</a> to match different scenarios. A topic can have multiple subscriptions with different subscription types. However, a subscription can only have one subscription type at a time.</p>
+<p>A subscription is identical with the subscription name; a subscription name can specify only one subscription type at a time. To change the subscription type, you should first stop all consumers of this subscription.</p>
+<p>Different subscription types have different message distribution modes. This section describes the differences of subscription types and how to use them.</p>
 <p>In order to better describe their differences, assuming you have a topic named &quot;my-topic&quot;, and the producer has published 10 messages.</p>
 <pre><code class="hljs css language-java">Producer&lt;String&gt; producer = client.newProducer(Schema.STRING)
         .topic(<span class="hljs-string">"my-topic"</span>)
@@ -384,7 +384,7 @@ producer.newMessage().key(<span class="hljs-string">"key-4"</span>).value(<span
 producer.newMessage().key(<span class="hljs-string">"key-4"</span>).value(<span class="hljs-string">"message-4-2"</span>).send();
 </code></pre>
 <h4><a class="anchor" aria-hidden="true" id="exclusive"></a><a href="#exclusive" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>Create a new consumer and subscribe with the <code>Exclusive</code> subscription mode.</p>
+<p>Create a new consumer and subscribe with the <code>Exclusive</code> subscription type.</p>
 <pre><code class="hljs css language-java">Consumer consumer = client.newConsumer()
         .topic(<span class="hljs-string">"my-topic"</span>)
         .subscriptionName(<span class="hljs-string">"my-subscription"</span>)
@@ -393,11 +393,11 @@ producer.newMessage().key(<span class="hljs-string">"key-4"</span>).value(<span
 </code></pre>
 <p>Only the first consumer is allowed to the subscription, other consumers receive an error. The first consumer receives all 10 messages, and the consuming order is the same as the producing order.</p>
 <blockquote>
-<p>Note:</p>
-<p>If topic is a partitioned topic, the first consumer subscribes to all partitioned topics, other consumers are not assigned with partitions and receive an error.</p>
+<p><strong>Note</strong>  <br>
+If topic is a partitioned topic, the first consumer subscribes to all partitioned topics, other consumers are not assigned with partitions and receive an error.</p>
 </blockquote>
 <h4><a class="anchor" aria-hidden="true" id="failover"></a><a href="#failover" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
-<p>Create new consumers and subscribe with the<code>Failover</code> subscription mode.</p>
+<p>Create new consumers and subscribe with the<code>Failover</code> subscription type.</p>
 <pre><code class="hljs css language-java">Consumer consumer1 = client.newConsumer()
         .topic(<span class="hljs-string">"my-topic"</span>)
         .subscriptionName(<span class="hljs-string">"my-subscription"</span>)
@@ -429,11 +429,11 @@ Consumer consumer2 = client.newConsumer()
 (<span class="hljs-string">"key-4"</span>, <span class="hljs-string">"message-4-2"</span>)
 </code></pre>
 <blockquote>
-<p>Note:</p>
-<p>If a topic is a partitioned topic, each partition has only one active consumer, messages of one partition are distributed to only one consumer, and messages of multiple partitions are distributed to multiple consumers.</p>
+<p><strong>Note</strong>  <br>
+If a topic is a partitioned topic, each partition has only one active consumer, messages of one partition are distributed to only one consumer, and messages of multiple partitions are distributed to multiple consumers.</p>
 </blockquote>
 <h4><a class="anchor" aria-hidden="true" id="shared"></a><a href="#shared" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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. [...]
-<p>Create new consumers and subscribe with <code>Shared</code> subscription mode:</p>
+<p>Create new consumers and subscribe with <code>Shared</code> subscription type.</p>
 <pre><code class="hljs css language-java">Consumer consumer1 = client.newConsumer()
         .topic(<span class="hljs-string">"my-topic"</span>)
         .subscriptionName(<span class="hljs-string">"my-subscription"</span>)
@@ -447,7 +447,7 @@ Consumer consumer2 = client.newConsumer()
         .subscribe()
 <span class="hljs-comment">//Both consumer1 and consumer 2 is active consumers.</span>
 </code></pre>
-<p>In shared subscription mode, multiple consumers can attach to the same subscription and messages are delivered in a round robin distribution across consumers.</p>
+<p>In shared subscription type, multiple consumers can attach to the same subscription and messages are delivered in a round robin distribution across consumers.</p>
 <p>If a broker dispatches only one message at a time, consumer1 receives the following information.</p>
 <pre><code class="hljs">(<span class="hljs-string">"key-1"</span>, <span class="hljs-string">"message-1-1"</span>)
 (<span class="hljs-string">"key-1"</span>, <span class="hljs-string">"message-1-3"</span>)
@@ -462,9 +462,9 @@ Consumer consumer2 = client.newConsumer()
 (<span class="hljs-string">"key-3"</span>, <span class="hljs-string">"message-3-2"</span>)
 (<span class="hljs-string">"key-4"</span>, <span class="hljs-string">"message-4-2"</span>)
 </code></pre>
-<p><code>Shared</code> subscription is different from <code>Exclusive</code> and <code>Failover</code> subscription modes. <code>Shared</code> subscription has better flexibility, but cannot provide order guarantee.</p>
+<p><code>Shared</code> subscription is different from <code>Exclusive</code> and <code>Failover</code> subscription types. <code>Shared</code> subscription has better flexibility, but cannot provide order guarantee.</p>
 <h4><a class="anchor" aria-hidden="true" id="key_shared"></a><a href="#key_shared" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>This is a new subscription mode since 2.4.0 release, create new consumers and subscribe with <code>Key_Shared</code> subscription mode.</p>
+<p>This is a new subscription type since 2.4.0 release. Create new consumers and subscribe with <code>Key_Shared</code> subscription type.</p>
 <pre><code class="hljs css language-java">Consumer consumer1 = client.newConsumer()
         .topic(<span class="hljs-string">"my-topic"</span>)
         .subscriptionName(<span class="hljs-string">"my-subscription"</span>)
@@ -506,8 +506,8 @@ Consumer consumer2 = client.newConsumer()
         .create();
 </code></pre>
 <blockquote>
-<p>Note:</p>
-<p>If the message key is not specified, messages without key are dispatched to one consumer in order by default.</p>
+<p><strong>Note</strong>  <br>
+If the message key is not specified, messages without key are dispatched to one consumer in order by default.</p>
 </blockquote>
 <h2><a class="anchor" aria-hidden="true" id="reader"></a><a href="#reader" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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. [...]
 <p>With the <a href="/docs/fr/2.6.2/concepts-clients#reader-interface">reader interface</a>, Pulsar clients can &quot;manually position&quot; themselves within a topic and reading all messages from a specified message onward. The Pulsar API for Java enables you to create <a href="https://pulsar.incubator.apache.org/api/client/2.8.0-SNAPSHOT/org/apache/pulsar/client/api/Reader">Reader</a>
@@ -684,7 +684,7 @@ PulsarClient client = PulsarClient.builder()
     .authentication(auth)
     .build();
 </code></pre>
-</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/fr/2.6.2/performance-pulsar-perf"><span class="arrow-prev">← </span><span>Pulsar Perf</span></a><a class="docs-next button" href="/docs/fr/2.6.2/client-libraries-go"><span>Go</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#installation">Installation</a><ul class="toc-headings"><li><a href="#maven">Maven</a></li><li><a  [...]
+</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/fr/2.6.2/performance-pulsar-perf"><span class="arrow-prev">← </span><span>Pulsar Perf</span></a><a class="docs-next button" href="/docs/fr/2.6.2/client-libraries-go"><span>Go</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#installation">Installation</a><ul class="toc-headings"><li><a href="#maven">Maven</a></li><li><a  [...]
       const community = document.querySelector("a[href='#community']").parentNode;
       const communityMenu =
         '<li>' +
diff --git a/content/docs/fr/2.6.2/client-libraries-java/index.html b/content/docs/fr/2.6.2/client-libraries-java/index.html
index 19ef8c8..75a5c2c 100644
--- a/content/docs/fr/2.6.2/client-libraries-java/index.html
+++ b/content/docs/fr/2.6.2/client-libraries-java/index.html
@@ -253,7 +253,7 @@ client.close();
 <h3><a class="anchor" aria-hidden="true" id="configure-consumer"></a><a href="#configure-consumer" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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- [...]
 <p>If you instantiate a <code>Consumer</code> object by specifying only a topic and subscription name as in the example above, the consumer uses the default configuration.</p>
 <p>When you create a consumer, you can use the <code>loadConf</code> configuration. The following parameters are available in <code>loadConf</code>.</p>
-<p>Type | Name| <div style="width:300px">Description</div>|  Default |---|---|---|--- Set&lt;String&gt;|  <code>topicNames</code>|   Topic name| Sets.newTreeSet() Pattern|   <code>topicsPattern</code>| Topic pattern   |None String| <code>subscriptionName</code>| Subscription name|  None SubscriptionType| <code>subscriptionType</code>|   Subscription type <br/><br/>Four subscription types are available:<li>Exclusive</li><li>Failover</li><li>Shared</li><li>Key_Shared</li>|SubscriptionType. [...]
+<p>Type | Name| <div style="width:300px">Description</div>|  Default |---|---|---|--- Set&lt;String&gt;|  <code>topicNames</code>|   Topic name| Sets.newTreeSet() Pattern|   <code>topicsPattern</code>| Topic pattern   |None String| <code>subscriptionName</code>| Subscription name|  None SubscriptionType| <code>subscriptionType</code>|   Subscription type <br/><br/>Four subscription types are available:<li>Exclusive</li><li>Failover</li><li>Shared</li><li>Key_Shared</li>|SubscriptionType. [...]
 SortedMap&lt;String, String&gt;|<code>properties</code>|A name or value property of this consumer.<br/><br/><code>properties</code> is application defined metadata attached to a consumer. <br/><br/>When getting a topic stats, associate this metadata with the consumer stats for easier identification.|new TreeMap&lt;&gt;() boolean|<code>readCompacted</code>|If enabling <code>readCompacted</code>, a consumer reads messages from a compacted topic rather than reading a full message backlog of [...]
 <p>You can configure parameters if you do not want to use the default configuration. For a full list, see the Javadoc for the <a href="https://pulsar.incubator.apache.org/api/client/2.8.0-SNAPSHOT/org/apache/pulsar/client/api/ConsumerBuilder">ConsumerBuilder</a>
  class.</p>
@@ -282,8 +282,8 @@ SortedMap&lt;String, String&gt;|<code>properties</code>|A name or value property
 consumer.acknowledge(messages)
 </code></pre>
 <blockquote>
-<p>Note:</p>
-<p>Batch receive policy limits the number and bytes of messages in a single batch. You can specify a timeout to wait for enough messages.</p>
+<p><strong>Note</strong>  <br>
+Batch receive policy limits the number and bytes of messages in a single batch. You can specify a timeout to wait for enough messages.</p>
 <p>The batch receive is completed if any of the following condition is met: enough number of messages, bytes of messages, wait timeout.</p>
 <pre><code class="hljs css language-java">Consumer consumer = client.newConsumer()
         .topic(<span class="hljs-string">"my-topic"</span>)
@@ -362,10 +362,10 @@ consumerBuilder
             });
 }
 </code></pre>
-<h3><a class="anchor" aria-hidden="true" id="subscription-modes"></a><a href="#subscription-modes" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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- [...]
-<p>Pulsar has various <a href="concepts-messaging#subscription-modes">subscription modes</a> to match different scenarios. A topic can have multiple subscriptions with different subscription modes. However, a subscription can only have one subscription mode at a time.</p>
-<p>A subscription is identical with the subscription name which can specify only one subscription mode at a time. You cannot change the subscription mode unless all existing consumers of this subscription are offline.</p>
-<p>Different subscription modes have different message distribution modes. This section describes the differences of subscription modes and how to use them.</p>
+<h3><a class="anchor" aria-hidden="true" id="subscription-types"></a><a href="#subscription-types" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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- [...]
+<p>Pulsar has various <a href="concepts-messaging#subscription-types">subscription types</a> to match different scenarios. A topic can have multiple subscriptions with different subscription types. However, a subscription can only have one subscription type at a time.</p>
+<p>A subscription is identical with the subscription name; a subscription name can specify only one subscription type at a time. To change the subscription type, you should first stop all consumers of this subscription.</p>
+<p>Different subscription types have different message distribution modes. This section describes the differences of subscription types and how to use them.</p>
 <p>In order to better describe their differences, assuming you have a topic named &quot;my-topic&quot;, and the producer has published 10 messages.</p>
 <pre><code class="hljs css language-java">Producer&lt;String&gt; producer = client.newProducer(Schema.STRING)
         .topic(<span class="hljs-string">"my-topic"</span>)
@@ -384,7 +384,7 @@ producer.newMessage().key(<span class="hljs-string">"key-4"</span>).value(<span
 producer.newMessage().key(<span class="hljs-string">"key-4"</span>).value(<span class="hljs-string">"message-4-2"</span>).send();
 </code></pre>
 <h4><a class="anchor" aria-hidden="true" id="exclusive"></a><a href="#exclusive" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>Create a new consumer and subscribe with the <code>Exclusive</code> subscription mode.</p>
+<p>Create a new consumer and subscribe with the <code>Exclusive</code> subscription type.</p>
 <pre><code class="hljs css language-java">Consumer consumer = client.newConsumer()
         .topic(<span class="hljs-string">"my-topic"</span>)
         .subscriptionName(<span class="hljs-string">"my-subscription"</span>)
@@ -393,11 +393,11 @@ producer.newMessage().key(<span class="hljs-string">"key-4"</span>).value(<span
 </code></pre>
 <p>Only the first consumer is allowed to the subscription, other consumers receive an error. The first consumer receives all 10 messages, and the consuming order is the same as the producing order.</p>
 <blockquote>
-<p>Note:</p>
-<p>If topic is a partitioned topic, the first consumer subscribes to all partitioned topics, other consumers are not assigned with partitions and receive an error.</p>
+<p><strong>Note</strong>  <br>
+If topic is a partitioned topic, the first consumer subscribes to all partitioned topics, other consumers are not assigned with partitions and receive an error.</p>
 </blockquote>
 <h4><a class="anchor" aria-hidden="true" id="failover"></a><a href="#failover" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
-<p>Create new consumers and subscribe with the<code>Failover</code> subscription mode.</p>
+<p>Create new consumers and subscribe with the<code>Failover</code> subscription type.</p>
 <pre><code class="hljs css language-java">Consumer consumer1 = client.newConsumer()
         .topic(<span class="hljs-string">"my-topic"</span>)
         .subscriptionName(<span class="hljs-string">"my-subscription"</span>)
@@ -429,11 +429,11 @@ Consumer consumer2 = client.newConsumer()
 (<span class="hljs-string">"key-4"</span>, <span class="hljs-string">"message-4-2"</span>)
 </code></pre>
 <blockquote>
-<p>Note:</p>
-<p>If a topic is a partitioned topic, each partition has only one active consumer, messages of one partition are distributed to only one consumer, and messages of multiple partitions are distributed to multiple consumers.</p>
+<p><strong>Note</strong>  <br>
+If a topic is a partitioned topic, each partition has only one active consumer, messages of one partition are distributed to only one consumer, and messages of multiple partitions are distributed to multiple consumers.</p>
 </blockquote>
 <h4><a class="anchor" aria-hidden="true" id="shared"></a><a href="#shared" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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. [...]
-<p>Create new consumers and subscribe with <code>Shared</code> subscription mode:</p>
+<p>Create new consumers and subscribe with <code>Shared</code> subscription type.</p>
 <pre><code class="hljs css language-java">Consumer consumer1 = client.newConsumer()
         .topic(<span class="hljs-string">"my-topic"</span>)
         .subscriptionName(<span class="hljs-string">"my-subscription"</span>)
@@ -447,7 +447,7 @@ Consumer consumer2 = client.newConsumer()
         .subscribe()
 <span class="hljs-comment">//Both consumer1 and consumer 2 is active consumers.</span>
 </code></pre>
-<p>In shared subscription mode, multiple consumers can attach to the same subscription and messages are delivered in a round robin distribution across consumers.</p>
+<p>In shared subscription type, multiple consumers can attach to the same subscription and messages are delivered in a round robin distribution across consumers.</p>
 <p>If a broker dispatches only one message at a time, consumer1 receives the following information.</p>
 <pre><code class="hljs">(<span class="hljs-string">"key-1"</span>, <span class="hljs-string">"message-1-1"</span>)
 (<span class="hljs-string">"key-1"</span>, <span class="hljs-string">"message-1-3"</span>)
@@ -462,9 +462,9 @@ Consumer consumer2 = client.newConsumer()
 (<span class="hljs-string">"key-3"</span>, <span class="hljs-string">"message-3-2"</span>)
 (<span class="hljs-string">"key-4"</span>, <span class="hljs-string">"message-4-2"</span>)
 </code></pre>
-<p><code>Shared</code> subscription is different from <code>Exclusive</code> and <code>Failover</code> subscription modes. <code>Shared</code> subscription has better flexibility, but cannot provide order guarantee.</p>
+<p><code>Shared</code> subscription is different from <code>Exclusive</code> and <code>Failover</code> subscription types. <code>Shared</code> subscription has better flexibility, but cannot provide order guarantee.</p>
 <h4><a class="anchor" aria-hidden="true" id="key_shared"></a><a href="#key_shared" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>This is a new subscription mode since 2.4.0 release, create new consumers and subscribe with <code>Key_Shared</code> subscription mode.</p>
+<p>This is a new subscription type since 2.4.0 release. Create new consumers and subscribe with <code>Key_Shared</code> subscription type.</p>
 <pre><code class="hljs css language-java">Consumer consumer1 = client.newConsumer()
         .topic(<span class="hljs-string">"my-topic"</span>)
         .subscriptionName(<span class="hljs-string">"my-subscription"</span>)
@@ -506,8 +506,8 @@ Consumer consumer2 = client.newConsumer()
         .create();
 </code></pre>
 <blockquote>
-<p>Note:</p>
-<p>If the message key is not specified, messages without key are dispatched to one consumer in order by default.</p>
+<p><strong>Note</strong>  <br>
+If the message key is not specified, messages without key are dispatched to one consumer in order by default.</p>
 </blockquote>
 <h2><a class="anchor" aria-hidden="true" id="reader"></a><a href="#reader" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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. [...]
 <p>With the <a href="/docs/fr/2.6.2/concepts-clients#reader-interface">reader interface</a>, Pulsar clients can &quot;manually position&quot; themselves within a topic and reading all messages from a specified message onward. The Pulsar API for Java enables you to create <a href="https://pulsar.incubator.apache.org/api/client/2.8.0-SNAPSHOT/org/apache/pulsar/client/api/Reader">Reader</a>
@@ -684,7 +684,7 @@ PulsarClient client = PulsarClient.builder()
     .authentication(auth)
     .build();
 </code></pre>
-</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/fr/2.6.2/performance-pulsar-perf"><span class="arrow-prev">← </span><span>Pulsar Perf</span></a><a class="docs-next button" href="/docs/fr/2.6.2/client-libraries-go"><span>Go</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#installation">Installation</a><ul class="toc-headings"><li><a href="#maven">Maven</a></li><li><a  [...]
+</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/fr/2.6.2/performance-pulsar-perf"><span class="arrow-prev">← </span><span>Pulsar Perf</span></a><a class="docs-next button" href="/docs/fr/2.6.2/client-libraries-go"><span>Go</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#installation">Installation</a><ul class="toc-headings"><li><a href="#maven">Maven</a></li><li><a  [...]
       const community = document.querySelector("a[href='#community']").parentNode;
       const communityMenu =
         '<li>' +
diff --git a/content/docs/fr/2.6.2/concepts-messaging.html b/content/docs/fr/2.6.2/concepts-messaging.html
index 8d91867..5e72148 100644
--- a/content/docs/fr/2.6.2/concepts-messaging.html
+++ b/content/docs/fr/2.6.2/concepts-messaging.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>Messaging · Apache Pulsar</title><meta name="viewport" content="width=device-width, initial-scale=1.0"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar is built on the [publish-subscribe](https://en.wikipedia.org/wiki/Publish%E2%80%93subscribe_pattern) pattern (short for pub-sub). In this pattern, [producers](#producers) publish me [...]
+<!DOCTYPE html><html lang="fr"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Messaging · Apache Pulsar</title><meta name="viewport" content="width=device-width, initial-scale=1.0"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar is built on the [publish-subscribe](https://en.wikipedia.org/wiki/Publish%E2%80%93subscribe_pattern) pattern (short for pub-sub). In this pattern, [producers](#producers) publish me [...]
               (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,7 +74,7 @@
                 };
               }
             });
-        </script></nav></div><div class="container mainContainer docsContainer"><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 id="__docusaurus" class="postHeaderTitle">Messaging</h1></header><article><div><span><p>Pulsar is built on the <a href="https://en.wikipedia.org/wiki/Publish%E2%80%93subscribe_pattern">publish-subscribe [...]
+        </script></nav></div><div class="container mainContainer docsContainer"><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 id="__docusaurus" class="postHeaderTitle">Messaging</h1></header><article><div><span><p>Pulsar is built on the <a href="https://en.wikipedia.org/wiki/Publish%E2%80%93subscribe_pattern">publish-subscribe [...]
 <p>When a subscription is created, Pulsar <a href="/docs/fr/2.6.2/concepts-architecture-overview#persistent-storage">retains</a> all messages, even if the consumer is disconnected. Retained messages are discarded only when a consumer acknowledges that those messages are processed successfully.</p>
 <h2><a class="anchor" aria-hidden="true" id="messages"></a><a href="#messages" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
 <p>Messages are the basic &quot;unit&quot; of Pulsar. The following table lists the components of messages.</p>
@@ -128,7 +128,7 @@
 <ul>
 <li>Batching and chunking cannot be enabled simultaneously. To enable chunking, you must disable batching in advance.</li>
 <li>Chunking is only supported for persisted topics.</li>
-<li>Chunking is only supported for the exclusive and failover subscription modes.</li>
+<li>Chunking is only supported for the exclusive and failover subscription types.</li>
 </ul>
 <p>When chunking is enabled (<code>chunkingEnabled=true</code>), if the message size is greater than the allowed maximum publish-payload size, the producer splits the original message into chunked messages and publishes them with chunked metadata to the broker separately and in order. At the broker side, the chunked messages are stored in the managed-ledger in the same way as that of ordinary messages. The only difference is that the consumer needs to buffer the chunked messages and comb [...]
 <p>The consumer consumes the chunked messages and buffers them until the consumer receives all the chunks of a message. And then the consumer stitches chunked messages together and places them into the receiver-queue. Clients consume messages from the receiver-queue. Once the consumer consumes the entire large message and acknowledges it, the consumer internally sends acknowledgement of all the chunk messages associated to that large message. You can set the <code>maxPendingChuckedMessag [...]
@@ -165,13 +165,13 @@
 <li>Messages are acknowledged cumulatively. With cumulative acknowledgement, the consumer only needs to acknowledge the last message it received. All messages in the stream up to (and including) the provided message are not re-delivered to that consumer.</li>
 </ul>
 <blockquote>
-<p><strong>Note</strong> Cumulative acknowledgement cannot be used in the <a href="#subscription-modes">shared subscription mode</a>, because the shared subscription mode involves multiple consumers who have access to the same subscription. In the shared subscription mode, messages are acknowledged individually.</p>
+<p><strong>Note</strong> Cumulative acknowledgement cannot be used in <a href="#subscription-types">Shared subscription type</a>, because this subscription type involves multiple consumers which have access to the same subscription. In Shared subscription type, messages are acknowledged individually.</p>
 </blockquote>
 <h3><a class="anchor" aria-hidden="true" id="negative-acknowledgement"></a><a href="#negative-acknowledgement" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>When a consumer does not consume a message successfully at a time, and wants to consume the message again, the consumer sends a negative acknowledgement to the broker, and then the broker redelivers the message.</p>
-<p>Messages are negatively acknowledged one by one or cumulatively, which depends on the consumption subscription mode.</p>
-<p>In the exclusive and failover subscription modes, consumers only negatively acknowledge the last message they receive.</p>
-<p>In the shared and Key_Shared subscription modes, you can negatively acknowledge messages individually.</p>
+<p>Messages are negatively acknowledged either individually or cumulatively, depending on the consumption subscription type.</p>
+<p>In the exclusive and failover subscription types, consumers only negatively acknowledge the last message they receive.</p>
+<p>In the shared and Key_Shared subscription types, you can negatively acknowledge messages individually.</p>
 <p>Be aware that negative acknowledgment on ordered subscription types, such as Exclusive, Failover and Key_Shared, can cause failed messages to arrive consumers out of the original order.</p>
 <blockquote>
 <p><strong>Note</strong> If batching is enabled, other messages and the negatively acknowledged messages in the same batch are redelivered to the consumer.</p>
@@ -216,7 +216,7 @@ Prefer negative acknowledgements over acknowledgement timeout. Negative acknowle
 <p>Dead letter topic depends on message re-delivery. Messages are redelivered either due to <a href="#acknowledgement-timeout">acknowledgement timeout</a> or <a href="#negative-acknowledgement">negative acknowledgement</a>. If you are going to use negative acknowledgement on a message, make sure it is negatively acknowledged before the acknowledgement timeout.</p>
 <blockquote>
 <p><strong>Note</strong>    <br>
-Currently, dead letter topic is enabled only in the shared subscription mode.</p>
+Currently, dead letter topic is enabled only in Shared subscription type.</p>
 </blockquote>
 <h3><a class="anchor" aria-hidden="true" id="retry-letter-topic"></a><a href="#retry-letter-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- [...]
 <p>For many online business systems, a message is re-consumed due to exception occurs in the business logic processing. To configure the delay time for re-consuming the failed messages, you can configure the producer to send messages to both the business topic and the retry letter topic, and enable automatic retry on the consumer. When automatic retry is enabled on the consumer, a message is stored in the retry letter topic if the messages are not consumed, and therefore the consumer aut [...]
@@ -256,20 +256,20 @@ Currently, dead letter topic is enabled only in the shared subscription mode.</p
 <h2><a class="anchor" aria-hidden="true" id="espaces-de-nommage"></a><a href="#espaces-de-nommage" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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- [...]
 <p>A namespace is a logical nomenclature within a tenant. A tenant creates multiple namespaces via the <a href="/docs/fr/2.6.2/admin-api-namespaces#create">admin API</a>. For instance, a tenant with different applications can create a separate namespace for each application. A namespace allows the application to create and manage a hierarchy of topics. The topic <code>my-tenant/app1</code> is a namespace for the application <code>app1</code> for <code>my-tenant</code>. You can create any [...]
 <h2><a class="anchor" aria-hidden="true" id="subscriptions"></a><a href="#subscriptions" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>A subscription is a named configuration rule that determines how messages are delivered to consumers. Four subscription modes are available in Pulsar: <a href="#exclusive">exclusive</a>, <a href="#shared">shared</a>, <a href="#failover">failover</a>, and <a href="#key_shared">key_shared</a>. These modes are illustrated in the figure below.</p>
-<p><img src="/docs/assets/pulsar-subscription-modes.png" alt="Subscription modes"></p>
+<p>A subscription is a named configuration rule that determines how messages are delivered to consumers. Four subscription types are available in Pulsar: <a href="#exclusive">exclusive</a>, <a href="#shared">shared</a>, <a href="#failover">failover</a>, and <a href="#key_shared">key_shared</a>. These types are illustrated in the figure below.</p>
+<p><img src="/docs/assets/pulsar-subscription-types.png" alt="Subscription types"></p>
 <blockquote>
-<p><strong>Pub-Sub or Queuing</strong> In Pulsar, you can use different subscriptions flexibly. * If you want to achieve traditional &quot;fan-out pub-sub messaging&quot; among consumers, specify a unique subscription name for each consumer. It is exclusive subscription mode. * If you want to achieve &quot;message queuing&quot; among consumers, share the same subscription name among multiple consumers(shared, failover, key_shared). * If you want to achieve both effects simultaneously, co [...]
+<p><strong>Pub-Sub or Queuing</strong> In Pulsar, you can use different subscriptions flexibly. * If you want to achieve traditional &quot;fan-out pub-sub messaging&quot; among consumers, specify a unique subscription name for each consumer. It is exclusive subscription type. * If you want to achieve &quot;message queuing&quot; among consumers, share the same subscription name among multiple consumers(shared, failover, key_shared). * If you want to achieve both effects simultaneously, co [...]
 </blockquote>
 <h3><a class="anchor" aria-hidden="true" id="exclusive"></a><a href="#exclusive" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>In <em>exclusive</em> mode, only a single consumer is allowed to attach to the subscription. If multiple consumers subscribe to a topic using the same subscription, an error occurs.</p>
+<p>In <em>exclusive</em> type, only a single consumer is allowed to attach to the subscription. If multiple consumers subscribe to a topic using the same subscription, an error occurs.</p>
 <p>In the diagram below, only <strong>Consumer A-0</strong> is allowed to consume messages.</p>
 <blockquote>
-<p>Exclusive mode is the default subscription mode.</p>
+<p>Exclusive is the default subscription type.</p>
 </blockquote>
 <p><img src="/docs/assets/pulsar-exclusive-subscriptions.png" alt="Exclusive subscriptions"></p>
 <h3><a class="anchor" aria-hidden="true" id="failover"></a><a href="#failover" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
-<p>In <em>failover</em> mode, multiple consumers can attach to the same subscription. A master consumer is picked for non-partitioned topic or each partition of partitioned topic and receives messages. When the master consumer disconnects, all (non-acknowledged and subsequent) messages are delivered to the next consumer in line.</p>
+<p>In <em>Failover</em> type, multiple consumers can attach to the same subscription. A master consumer is picked for non-partitioned topic or each partition of partitioned topic and receives messages. When the master consumer disconnects, all (non-acknowledged and subsequent) messages are delivered to the next consumer in line.</p>
 <p>For partitioned topics, broker will sort consumers by priority level and lexicographical order of consumer name. Then broker will try to evenly assigns topics to consumers with the highest priority level.</p>
 <p>For non-partitioned topic, broker will pick consumer in the order they subscribe to the non partitioned topic.</p>
 <p>In the diagram below, <strong>Consumer-B-0</strong> is the master consumer while <strong>Consumer-B-1</strong> would be the next consumer in line to receive messages if <strong>Consumer-B-0</strong> is disconnected.</p>
@@ -330,9 +330,9 @@ Consumer&lt;<span class="hljs-keyword">byte</span>[]&gt; someTopicsConsumer = pu
 <p>The diagram below illustrates this:</p>
 <p><img src="/docs/assets/partitioning.png" alt=""></p>
 <p>The <strong>Topic1</strong> topic has five partitions (<strong>P0</strong> through <strong>P4</strong>) split across three brokers. Because there are more partitions than brokers, two brokers handle two partitions a piece, while the third handles only one (again, Pulsar handles this distribution of partitions automatically).</p>
-<p>Messages for this topic are broadcast to two consumers. The <a href="#routing-modes">routing mode</a> determines each message should be published to which partition, while the <a href="#subscription-modes">subscription mode</a> determines which messages go to which consumers.</p>
-<p>Decisions about routing and subscription modes can be made separately in most cases. In general, throughput concerns should guide partitioning/routing decisions while subscription decisions should be guided by application semantics.</p>
-<p>There is no difference between partitioned topics and normal topics in terms of how subscription modes work, as partitioning only determines what happens between when a message is published by a producer and processed and acknowledged by a consumer.</p>
+<p>Messages for this topic are broadcast to two consumers. The <a href="#routing-modes">routing mode</a> determines each message should be published to which partition, while the <a href="#subscription-types">subscription type</a> determines which messages go to which consumers.</p>
+<p>Decisions about routing and subscription types can be made separately in most cases. In general, throughput concerns should guide partitioning/routing decisions while subscription decisions should be guided by application semantics.</p>
+<p>There is no difference between partitioned topics and normal topics in terms of how subscription types work, as partitioning only determines what happens between when a message is published by a producer and processed and acknowledged by a consumer.</p>
 <p>Partitioned topics need to be explicitly created via the <a href="/docs/fr/2.6.2/admin-api-overview">admin API</a>. The number of partitions can be specified when creating the topic.</p>
 <h3><a class="anchor" aria-hidden="true" id="routing-modes"></a><a href="#routing-modes" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>When publishing to partitioned topics, you must specify a <em>routing mode</em>. The routing mode determines which partition---that is, which internal topic---each message should be published to.</p>
@@ -384,7 +384,7 @@ Consumer&lt;<span class="hljs-keyword">byte</span>[]&gt; someTopicsConsumer = pu
 <h3><a class="anchor" aria-hidden="true" id="performance"></a><a href="#performance" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>Non-persistent messaging is usually faster than persistent messaging because brokers don't persist messages and immediately send acks back to the producer as soon as that message is delivered to connected brokers. Producers thus see comparatively low publish latency with non-persistent topic.</p>
 <h3><a class="anchor" aria-hidden="true" id="client-api"></a><a href="#client-api" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>Producers and consumers can connect to non-persistent topics in the same way as persistent topics, with the crucial difference that the topic name must start with <code>non-persistent</code>. All three subscription modes---<a href="#exclusive">exclusive</a>, <a href="#shared">shared</a>, and <a href="#failover">failover</a>---are supported for non-persistent topics.</p>
+<p>Producers and consumers can connect to non-persistent topics in the same way as persistent topics, with the crucial difference that the topic name must start with <code>non-persistent</code>. All three subscription types---<a href="#exclusive">exclusive</a>, <a href="#shared">shared</a>, and <a href="#failover">failover</a>---are supported for non-persistent topics.</p>
 <p>Here's an example <a href="/docs/fr/2.6.2/client-libraries-java#consumers">Java consumer</a> for a non-persistent topic:</p>
 <pre><code class="hljs css language-java">PulsarClient client = PulsarClient.builder()
         .serviceUrl(<span class="hljs-string">"pulsar://localhost:6650"</span>)
@@ -438,7 +438,7 @@ Consumer&lt;<span class="hljs-keyword">byte</span>[]&gt; consumer = client.newCo
 </blockquote>
 <h2><a class="anchor" aria-hidden="true" id="delayed-message-delivery"></a><a href="#delayed-message-delivery" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>Delayed message delivery enables you to consume a message later rather than immediately. In this mechanism, a message is stored in BookKeeper, <code>DelayedDeliveryTracker</code> maintains the time index(time -&gt; messageId) in memory after published to a broker, and it is delivered to a consumer once the specific delayed time is passed.</p>
-<p>Delayed message delivery only works in Shared subscription mode. In Exclusive and Failover subscription modes, the delayed message is dispatched immediately.</p>
+<p>Delayed message delivery only works in Shared subscription type. In Exclusive and Failover subscription types, the delayed message is dispatched immediately.</p>
 <p>The diagram below illustrates the concept of delayed message delivery:</p>
 <p><img src="/docs/assets/message_delay.png" alt="Delayed Message Delivery"></p>
 <p>A broker saves a message without any check. When a consumer consumes a message, if the message is set to delay, then the message is added to <code>DelayedDeliveryTracker</code>. A subscription checks and gets timeout messages from <code>DelayedDeliveryTracker</code>.</p>
diff --git a/content/docs/fr/2.6.2/concepts-messaging/index.html b/content/docs/fr/2.6.2/concepts-messaging/index.html
index 8d91867..5e72148 100644
--- a/content/docs/fr/2.6.2/concepts-messaging/index.html
+++ b/content/docs/fr/2.6.2/concepts-messaging/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>Messaging · Apache Pulsar</title><meta name="viewport" content="width=device-width, initial-scale=1.0"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar is built on the [publish-subscribe](https://en.wikipedia.org/wiki/Publish%E2%80%93subscribe_pattern) pattern (short for pub-sub). In this pattern, [producers](#producers) publish me [...]
+<!DOCTYPE html><html lang="fr"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Messaging · Apache Pulsar</title><meta name="viewport" content="width=device-width, initial-scale=1.0"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar is built on the [publish-subscribe](https://en.wikipedia.org/wiki/Publish%E2%80%93subscribe_pattern) pattern (short for pub-sub). In this pattern, [producers](#producers) publish me [...]
               (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,7 +74,7 @@
                 };
               }
             });
-        </script></nav></div><div class="container mainContainer docsContainer"><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 id="__docusaurus" class="postHeaderTitle">Messaging</h1></header><article><div><span><p>Pulsar is built on the <a href="https://en.wikipedia.org/wiki/Publish%E2%80%93subscribe_pattern">publish-subscribe [...]
+        </script></nav></div><div class="container mainContainer docsContainer"><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 id="__docusaurus" class="postHeaderTitle">Messaging</h1></header><article><div><span><p>Pulsar is built on the <a href="https://en.wikipedia.org/wiki/Publish%E2%80%93subscribe_pattern">publish-subscribe [...]
 <p>When a subscription is created, Pulsar <a href="/docs/fr/2.6.2/concepts-architecture-overview#persistent-storage">retains</a> all messages, even if the consumer is disconnected. Retained messages are discarded only when a consumer acknowledges that those messages are processed successfully.</p>
 <h2><a class="anchor" aria-hidden="true" id="messages"></a><a href="#messages" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
 <p>Messages are the basic &quot;unit&quot; of Pulsar. The following table lists the components of messages.</p>
@@ -128,7 +128,7 @@
 <ul>
 <li>Batching and chunking cannot be enabled simultaneously. To enable chunking, you must disable batching in advance.</li>
 <li>Chunking is only supported for persisted topics.</li>
-<li>Chunking is only supported for the exclusive and failover subscription modes.</li>
+<li>Chunking is only supported for the exclusive and failover subscription types.</li>
 </ul>
 <p>When chunking is enabled (<code>chunkingEnabled=true</code>), if the message size is greater than the allowed maximum publish-payload size, the producer splits the original message into chunked messages and publishes them with chunked metadata to the broker separately and in order. At the broker side, the chunked messages are stored in the managed-ledger in the same way as that of ordinary messages. The only difference is that the consumer needs to buffer the chunked messages and comb [...]
 <p>The consumer consumes the chunked messages and buffers them until the consumer receives all the chunks of a message. And then the consumer stitches chunked messages together and places them into the receiver-queue. Clients consume messages from the receiver-queue. Once the consumer consumes the entire large message and acknowledges it, the consumer internally sends acknowledgement of all the chunk messages associated to that large message. You can set the <code>maxPendingChuckedMessag [...]
@@ -165,13 +165,13 @@
 <li>Messages are acknowledged cumulatively. With cumulative acknowledgement, the consumer only needs to acknowledge the last message it received. All messages in the stream up to (and including) the provided message are not re-delivered to that consumer.</li>
 </ul>
 <blockquote>
-<p><strong>Note</strong> Cumulative acknowledgement cannot be used in the <a href="#subscription-modes">shared subscription mode</a>, because the shared subscription mode involves multiple consumers who have access to the same subscription. In the shared subscription mode, messages are acknowledged individually.</p>
+<p><strong>Note</strong> Cumulative acknowledgement cannot be used in <a href="#subscription-types">Shared subscription type</a>, because this subscription type involves multiple consumers which have access to the same subscription. In Shared subscription type, messages are acknowledged individually.</p>
 </blockquote>
 <h3><a class="anchor" aria-hidden="true" id="negative-acknowledgement"></a><a href="#negative-acknowledgement" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>When a consumer does not consume a message successfully at a time, and wants to consume the message again, the consumer sends a negative acknowledgement to the broker, and then the broker redelivers the message.</p>
-<p>Messages are negatively acknowledged one by one or cumulatively, which depends on the consumption subscription mode.</p>
-<p>In the exclusive and failover subscription modes, consumers only negatively acknowledge the last message they receive.</p>
-<p>In the shared and Key_Shared subscription modes, you can negatively acknowledge messages individually.</p>
+<p>Messages are negatively acknowledged either individually or cumulatively, depending on the consumption subscription type.</p>
+<p>In the exclusive and failover subscription types, consumers only negatively acknowledge the last message they receive.</p>
+<p>In the shared and Key_Shared subscription types, you can negatively acknowledge messages individually.</p>
 <p>Be aware that negative acknowledgment on ordered subscription types, such as Exclusive, Failover and Key_Shared, can cause failed messages to arrive consumers out of the original order.</p>
 <blockquote>
 <p><strong>Note</strong> If batching is enabled, other messages and the negatively acknowledged messages in the same batch are redelivered to the consumer.</p>
@@ -216,7 +216,7 @@ Prefer negative acknowledgements over acknowledgement timeout. Negative acknowle
 <p>Dead letter topic depends on message re-delivery. Messages are redelivered either due to <a href="#acknowledgement-timeout">acknowledgement timeout</a> or <a href="#negative-acknowledgement">negative acknowledgement</a>. If you are going to use negative acknowledgement on a message, make sure it is negatively acknowledged before the acknowledgement timeout.</p>
 <blockquote>
 <p><strong>Note</strong>    <br>
-Currently, dead letter topic is enabled only in the shared subscription mode.</p>
+Currently, dead letter topic is enabled only in Shared subscription type.</p>
 </blockquote>
 <h3><a class="anchor" aria-hidden="true" id="retry-letter-topic"></a><a href="#retry-letter-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- [...]
 <p>For many online business systems, a message is re-consumed due to exception occurs in the business logic processing. To configure the delay time for re-consuming the failed messages, you can configure the producer to send messages to both the business topic and the retry letter topic, and enable automatic retry on the consumer. When automatic retry is enabled on the consumer, a message is stored in the retry letter topic if the messages are not consumed, and therefore the consumer aut [...]
@@ -256,20 +256,20 @@ Currently, dead letter topic is enabled only in the shared subscription mode.</p
 <h2><a class="anchor" aria-hidden="true" id="espaces-de-nommage"></a><a href="#espaces-de-nommage" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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- [...]
 <p>A namespace is a logical nomenclature within a tenant. A tenant creates multiple namespaces via the <a href="/docs/fr/2.6.2/admin-api-namespaces#create">admin API</a>. For instance, a tenant with different applications can create a separate namespace for each application. A namespace allows the application to create and manage a hierarchy of topics. The topic <code>my-tenant/app1</code> is a namespace for the application <code>app1</code> for <code>my-tenant</code>. You can create any [...]
 <h2><a class="anchor" aria-hidden="true" id="subscriptions"></a><a href="#subscriptions" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>A subscription is a named configuration rule that determines how messages are delivered to consumers. Four subscription modes are available in Pulsar: <a href="#exclusive">exclusive</a>, <a href="#shared">shared</a>, <a href="#failover">failover</a>, and <a href="#key_shared">key_shared</a>. These modes are illustrated in the figure below.</p>
-<p><img src="/docs/assets/pulsar-subscription-modes.png" alt="Subscription modes"></p>
+<p>A subscription is a named configuration rule that determines how messages are delivered to consumers. Four subscription types are available in Pulsar: <a href="#exclusive">exclusive</a>, <a href="#shared">shared</a>, <a href="#failover">failover</a>, and <a href="#key_shared">key_shared</a>. These types are illustrated in the figure below.</p>
+<p><img src="/docs/assets/pulsar-subscription-types.png" alt="Subscription types"></p>
 <blockquote>
-<p><strong>Pub-Sub or Queuing</strong> In Pulsar, you can use different subscriptions flexibly. * If you want to achieve traditional &quot;fan-out pub-sub messaging&quot; among consumers, specify a unique subscription name for each consumer. It is exclusive subscription mode. * If you want to achieve &quot;message queuing&quot; among consumers, share the same subscription name among multiple consumers(shared, failover, key_shared). * If you want to achieve both effects simultaneously, co [...]
+<p><strong>Pub-Sub or Queuing</strong> In Pulsar, you can use different subscriptions flexibly. * If you want to achieve traditional &quot;fan-out pub-sub messaging&quot; among consumers, specify a unique subscription name for each consumer. It is exclusive subscription type. * If you want to achieve &quot;message queuing&quot; among consumers, share the same subscription name among multiple consumers(shared, failover, key_shared). * If you want to achieve both effects simultaneously, co [...]
 </blockquote>
 <h3><a class="anchor" aria-hidden="true" id="exclusive"></a><a href="#exclusive" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>In <em>exclusive</em> mode, only a single consumer is allowed to attach to the subscription. If multiple consumers subscribe to a topic using the same subscription, an error occurs.</p>
+<p>In <em>exclusive</em> type, only a single consumer is allowed to attach to the subscription. If multiple consumers subscribe to a topic using the same subscription, an error occurs.</p>
 <p>In the diagram below, only <strong>Consumer A-0</strong> is allowed to consume messages.</p>
 <blockquote>
-<p>Exclusive mode is the default subscription mode.</p>
+<p>Exclusive is the default subscription type.</p>
 </blockquote>
 <p><img src="/docs/assets/pulsar-exclusive-subscriptions.png" alt="Exclusive subscriptions"></p>
 <h3><a class="anchor" aria-hidden="true" id="failover"></a><a href="#failover" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
-<p>In <em>failover</em> mode, multiple consumers can attach to the same subscription. A master consumer is picked for non-partitioned topic or each partition of partitioned topic and receives messages. When the master consumer disconnects, all (non-acknowledged and subsequent) messages are delivered to the next consumer in line.</p>
+<p>In <em>Failover</em> type, multiple consumers can attach to the same subscription. A master consumer is picked for non-partitioned topic or each partition of partitioned topic and receives messages. When the master consumer disconnects, all (non-acknowledged and subsequent) messages are delivered to the next consumer in line.</p>
 <p>For partitioned topics, broker will sort consumers by priority level and lexicographical order of consumer name. Then broker will try to evenly assigns topics to consumers with the highest priority level.</p>
 <p>For non-partitioned topic, broker will pick consumer in the order they subscribe to the non partitioned topic.</p>
 <p>In the diagram below, <strong>Consumer-B-0</strong> is the master consumer while <strong>Consumer-B-1</strong> would be the next consumer in line to receive messages if <strong>Consumer-B-0</strong> is disconnected.</p>
@@ -330,9 +330,9 @@ Consumer&lt;<span class="hljs-keyword">byte</span>[]&gt; someTopicsConsumer = pu
 <p>The diagram below illustrates this:</p>
 <p><img src="/docs/assets/partitioning.png" alt=""></p>
 <p>The <strong>Topic1</strong> topic has five partitions (<strong>P0</strong> through <strong>P4</strong>) split across three brokers. Because there are more partitions than brokers, two brokers handle two partitions a piece, while the third handles only one (again, Pulsar handles this distribution of partitions automatically).</p>
-<p>Messages for this topic are broadcast to two consumers. The <a href="#routing-modes">routing mode</a> determines each message should be published to which partition, while the <a href="#subscription-modes">subscription mode</a> determines which messages go to which consumers.</p>
-<p>Decisions about routing and subscription modes can be made separately in most cases. In general, throughput concerns should guide partitioning/routing decisions while subscription decisions should be guided by application semantics.</p>
-<p>There is no difference between partitioned topics and normal topics in terms of how subscription modes work, as partitioning only determines what happens between when a message is published by a producer and processed and acknowledged by a consumer.</p>
+<p>Messages for this topic are broadcast to two consumers. The <a href="#routing-modes">routing mode</a> determines each message should be published to which partition, while the <a href="#subscription-types">subscription type</a> determines which messages go to which consumers.</p>
+<p>Decisions about routing and subscription types can be made separately in most cases. In general, throughput concerns should guide partitioning/routing decisions while subscription decisions should be guided by application semantics.</p>
+<p>There is no difference between partitioned topics and normal topics in terms of how subscription types work, as partitioning only determines what happens between when a message is published by a producer and processed and acknowledged by a consumer.</p>
 <p>Partitioned topics need to be explicitly created via the <a href="/docs/fr/2.6.2/admin-api-overview">admin API</a>. The number of partitions can be specified when creating the topic.</p>
 <h3><a class="anchor" aria-hidden="true" id="routing-modes"></a><a href="#routing-modes" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>When publishing to partitioned topics, you must specify a <em>routing mode</em>. The routing mode determines which partition---that is, which internal topic---each message should be published to.</p>
@@ -384,7 +384,7 @@ Consumer&lt;<span class="hljs-keyword">byte</span>[]&gt; someTopicsConsumer = pu
 <h3><a class="anchor" aria-hidden="true" id="performance"></a><a href="#performance" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>Non-persistent messaging is usually faster than persistent messaging because brokers don't persist messages and immediately send acks back to the producer as soon as that message is delivered to connected brokers. Producers thus see comparatively low publish latency with non-persistent topic.</p>
 <h3><a class="anchor" aria-hidden="true" id="client-api"></a><a href="#client-api" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>Producers and consumers can connect to non-persistent topics in the same way as persistent topics, with the crucial difference that the topic name must start with <code>non-persistent</code>. All three subscription modes---<a href="#exclusive">exclusive</a>, <a href="#shared">shared</a>, and <a href="#failover">failover</a>---are supported for non-persistent topics.</p>
+<p>Producers and consumers can connect to non-persistent topics in the same way as persistent topics, with the crucial difference that the topic name must start with <code>non-persistent</code>. All three subscription types---<a href="#exclusive">exclusive</a>, <a href="#shared">shared</a>, and <a href="#failover">failover</a>---are supported for non-persistent topics.</p>
 <p>Here's an example <a href="/docs/fr/2.6.2/client-libraries-java#consumers">Java consumer</a> for a non-persistent topic:</p>
 <pre><code class="hljs css language-java">PulsarClient client = PulsarClient.builder()
         .serviceUrl(<span class="hljs-string">"pulsar://localhost:6650"</span>)
@@ -438,7 +438,7 @@ Consumer&lt;<span class="hljs-keyword">byte</span>[]&gt; consumer = client.newCo
 </blockquote>
 <h2><a class="anchor" aria-hidden="true" id="delayed-message-delivery"></a><a href="#delayed-message-delivery" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>Delayed message delivery enables you to consume a message later rather than immediately. In this mechanism, a message is stored in BookKeeper, <code>DelayedDeliveryTracker</code> maintains the time index(time -&gt; messageId) in memory after published to a broker, and it is delivered to a consumer once the specific delayed time is passed.</p>
-<p>Delayed message delivery only works in Shared subscription mode. In Exclusive and Failover subscription modes, the delayed message is dispatched immediately.</p>
+<p>Delayed message delivery only works in Shared subscription type. In Exclusive and Failover subscription types, the delayed message is dispatched immediately.</p>
 <p>The diagram below illustrates the concept of delayed message delivery:</p>
 <p><img src="/docs/assets/message_delay.png" alt="Delayed Message Delivery"></p>
 <p>A broker saves a message without any check. When a consumer consumes a message, if the message is set to delay, then the message is added to <code>DelayedDeliveryTracker</code>. A subscription checks and gets timeout messages from <code>DelayedDeliveryTracker</code>.</p>
diff --git a/content/docs/fr/2.6.2/concepts-overview.html b/content/docs/fr/2.6.2/concepts-overview.html
index d7b7692..db772d3 100644
--- a/content/docs/fr/2.6.2/concepts-overview.html
+++ b/content/docs/fr/2.6.2/concepts-overview.html
@@ -81,7 +81,7 @@
 <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/fr/2.6.2/concepts-clients">client API</a> with bindings for <a href="/docs/fr/2.6.2/client-libraries-java">Java</a>, <a href="/docs/fr/2.6.2/client-libraries-go">Go</a>, <a href="/docs/fr/2.6.2/client-libraries-python">Python</a> and <a href="/docs/fr/2.6.2/client-libraries-cpp">C++</a>.</li>
-<li>Multiple <a href="/docs/fr/2.6.2/concepts-messaging#subscription-modes">subscription modes</a> (<a href="/docs/fr/2.6.2/concepts-messaging#exclusive">exclusive</a>, <a href="/docs/fr/2.6.2/concepts-messaging#shared">shared</a>, and <a href="/docs/fr/2.6.2/concepts-messaging#failover">failover</a>) for topics.</li>
+<li>Multiple <a href="/docs/fr/2.6.2/concepts-messaging#subscription-types">subscription types</a> (<a href="/docs/fr/2.6.2/concepts-messaging#exclusive">exclusive</a>, <a href="/docs/fr/2.6.2/concepts-messaging#shared">shared</a>, and <a href="/docs/fr/2.6.2/concepts-messaging#failover">failover</a>) for topics.</li>
 <li>Guaranteed message delivery with <a href="/docs/fr/2.6.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/fr/2.6.2/functions-overview">Pulsar Functions</a> offers the capability for stream-native data processing.</li>
 <li>A serverless connector framework <a href="/docs/fr/2.6.2/io-overview">Pulsar IO</a>, which is built on Pulsar Functions, makes it easier to move data in and out of Apache Pulsar.</li>
diff --git a/content/docs/fr/2.6.2/concepts-overview/index.html b/content/docs/fr/2.6.2/concepts-overview/index.html
index d7b7692..db772d3 100644
--- a/content/docs/fr/2.6.2/concepts-overview/index.html
+++ b/content/docs/fr/2.6.2/concepts-overview/index.html
@@ -81,7 +81,7 @@
 <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/fr/2.6.2/concepts-clients">client API</a> with bindings for <a href="/docs/fr/2.6.2/client-libraries-java">Java</a>, <a href="/docs/fr/2.6.2/client-libraries-go">Go</a>, <a href="/docs/fr/2.6.2/client-libraries-python">Python</a> and <a href="/docs/fr/2.6.2/client-libraries-cpp">C++</a>.</li>
-<li>Multiple <a href="/docs/fr/2.6.2/concepts-messaging#subscription-modes">subscription modes</a> (<a href="/docs/fr/2.6.2/concepts-messaging#exclusive">exclusive</a>, <a href="/docs/fr/2.6.2/concepts-messaging#shared">shared</a>, and <a href="/docs/fr/2.6.2/concepts-messaging#failover">failover</a>) for topics.</li>
+<li>Multiple <a href="/docs/fr/2.6.2/concepts-messaging#subscription-types">subscription types</a> (<a href="/docs/fr/2.6.2/concepts-messaging#exclusive">exclusive</a>, <a href="/docs/fr/2.6.2/concepts-messaging#shared">shared</a>, and <a href="/docs/fr/2.6.2/concepts-messaging#failover">failover</a>) for topics.</li>
 <li>Guaranteed message delivery with <a href="/docs/fr/2.6.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/fr/2.6.2/functions-overview">Pulsar Functions</a> offers the capability for stream-native data processing.</li>
 <li>A serverless connector framework <a href="/docs/fr/2.6.2/io-overview">Pulsar IO</a>, which is built on Pulsar Functions, makes it easier to move data in and out of Apache Pulsar.</li>
diff --git a/content/docs/fr/2.6.3/client-libraries-java.html b/content/docs/fr/2.6.3/client-libraries-java.html
index 63d7f87..9759cea 100644
--- a/content/docs/fr/2.6.3/client-libraries-java.html
+++ b/content/docs/fr/2.6.3/client-libraries-java.html
@@ -253,7 +253,7 @@ client.close();
 <h3><a class="anchor" aria-hidden="true" id="configure-consumer"></a><a href="#configure-consumer" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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- [...]
 <p>If you instantiate a <code>Consumer</code> object by specifying only a topic and subscription name as in the example above, the consumer uses the default configuration.</p>
 <p>When you create a consumer, you can use the <code>loadConf</code> configuration. The following parameters are available in <code>loadConf</code>.</p>
-<p>Type | Name| <div style="width:300px">Description</div>|  Default |---|---|---|--- Set&lt;String&gt;|  <code>topicNames</code>|   Topic name| Sets.newTreeSet() Pattern|   <code>topicsPattern</code>| Topic pattern   |None String| <code>subscriptionName</code>| Subscription name|  None SubscriptionType| <code>subscriptionType</code>|   Subscription type <br/><br/>Four subscription types are available:<li>Exclusive</li><li>Failover</li><li>Shared</li><li>Key_Shared</li>|SubscriptionType. [...]
+<p>Type | Name| <div style="width:300px">Description</div>|  Default |---|---|---|--- Set&lt;String&gt;|  <code>topicNames</code>|   Topic name| Sets.newTreeSet() Pattern|   <code>topicsPattern</code>| Topic pattern   |None String| <code>subscriptionName</code>| Subscription name|  None SubscriptionType| <code>subscriptionType</code>|   Subscription type <br/><br/>Four subscription types are available:<li>Exclusive</li><li>Failover</li><li>Shared</li><li>Key_Shared</li>|SubscriptionType. [...]
 SortedMap&lt;String, String&gt;|<code>properties</code>|A name or value property of this consumer.<br/><br/><code>properties</code> is application defined metadata attached to a consumer. <br/><br/>When getting a topic stats, associate this metadata with the consumer stats for easier identification.|new TreeMap&lt;&gt;() boolean|<code>readCompacted</code>|If enabling <code>readCompacted</code>, a consumer reads messages from a compacted topic rather than reading a full message backlog of [...]
 <p>You can configure parameters if you do not want to use the default configuration. For a full list, see the Javadoc for the <a href="https://pulsar.incubator.apache.org/api/client/2.8.0-SNAPSHOT/org/apache/pulsar/client/api/ConsumerBuilder">ConsumerBuilder</a>
  class.</p>
@@ -282,8 +282,8 @@ SortedMap&lt;String, String&gt;|<code>properties</code>|A name or value property
 consumer.acknowledge(messages)
 </code></pre>
 <blockquote>
-<p>Note:</p>
-<p>Batch receive policy limits the number and bytes of messages in a single batch. You can specify a timeout to wait for enough messages.</p>
+<p><strong>Note</strong>  <br>
+Batch receive policy limits the number and bytes of messages in a single batch. You can specify a timeout to wait for enough messages.</p>
 <p>The batch receive is completed if any of the following condition is met: enough number of messages, bytes of messages, wait timeout.</p>
 <pre><code class="hljs css language-java">Consumer consumer = client.newConsumer()
         .topic(<span class="hljs-string">"my-topic"</span>)
@@ -362,10 +362,10 @@ consumerBuilder
             });
 }
 </code></pre>
-<h3><a class="anchor" aria-hidden="true" id="subscription-modes"></a><a href="#subscription-modes" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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- [...]
-<p>Pulsar has various <a href="concepts-messaging#subscription-modes">subscription modes</a> to match different scenarios. A topic can have multiple subscriptions with different subscription modes. However, a subscription can only have one subscription mode at a time.</p>
-<p>A subscription is identical with the subscription name which can specify only one subscription mode at a time. You cannot change the subscription mode unless all existing consumers of this subscription are offline.</p>
-<p>Different subscription modes have different message distribution modes. This section describes the differences of subscription modes and how to use them.</p>
+<h3><a class="anchor" aria-hidden="true" id="subscription-types"></a><a href="#subscription-types" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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- [...]
+<p>Pulsar has various <a href="concepts-messaging#subscription-types">subscription types</a> to match different scenarios. A topic can have multiple subscriptions with different subscription types. However, a subscription can only have one subscription type at a time.</p>
+<p>A subscription is identical with the subscription name; a subscription name can specify only one subscription type at a time. To change the subscription type, you should first stop all consumers of this subscription.</p>
+<p>Different subscription types have different message distribution modes. This section describes the differences of subscription types and how to use them.</p>
 <p>In order to better describe their differences, assuming you have a topic named &quot;my-topic&quot;, and the producer has published 10 messages.</p>
 <pre><code class="hljs css language-java">Producer&lt;String&gt; producer = client.newProducer(Schema.STRING)
         .topic(<span class="hljs-string">"my-topic"</span>)
@@ -384,7 +384,7 @@ producer.newMessage().key(<span class="hljs-string">"key-4"</span>).value(<span
 producer.newMessage().key(<span class="hljs-string">"key-4"</span>).value(<span class="hljs-string">"message-4-2"</span>).send();
 </code></pre>
 <h4><a class="anchor" aria-hidden="true" id="exclusive"></a><a href="#exclusive" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>Create a new consumer and subscribe with the <code>Exclusive</code> subscription mode.</p>
+<p>Create a new consumer and subscribe with the <code>Exclusive</code> subscription type.</p>
 <pre><code class="hljs css language-java">Consumer consumer = client.newConsumer()
         .topic(<span class="hljs-string">"my-topic"</span>)
         .subscriptionName(<span class="hljs-string">"my-subscription"</span>)
@@ -393,11 +393,11 @@ producer.newMessage().key(<span class="hljs-string">"key-4"</span>).value(<span
 </code></pre>
 <p>Only the first consumer is allowed to the subscription, other consumers receive an error. The first consumer receives all 10 messages, and the consuming order is the same as the producing order.</p>
 <blockquote>
-<p>Note:</p>
-<p>If topic is a partitioned topic, the first consumer subscribes to all partitioned topics, other consumers are not assigned with partitions and receive an error.</p>
+<p><strong>Note</strong>  <br>
+If topic is a partitioned topic, the first consumer subscribes to all partitioned topics, other consumers are not assigned with partitions and receive an error.</p>
 </blockquote>
 <h4><a class="anchor" aria-hidden="true" id="failover"></a><a href="#failover" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
-<p>Create new consumers and subscribe with the<code>Failover</code> subscription mode.</p>
+<p>Create new consumers and subscribe with the<code>Failover</code> subscription type.</p>
 <pre><code class="hljs css language-java">Consumer consumer1 = client.newConsumer()
         .topic(<span class="hljs-string">"my-topic"</span>)
         .subscriptionName(<span class="hljs-string">"my-subscription"</span>)
@@ -429,11 +429,11 @@ Consumer consumer2 = client.newConsumer()
 (<span class="hljs-string">"key-4"</span>, <span class="hljs-string">"message-4-2"</span>)
 </code></pre>
 <blockquote>
-<p>Note:</p>
-<p>If a topic is a partitioned topic, each partition has only one active consumer, messages of one partition are distributed to only one consumer, and messages of multiple partitions are distributed to multiple consumers.</p>
+<p><strong>Note</strong>  <br>
+If a topic is a partitioned topic, each partition has only one active consumer, messages of one partition are distributed to only one consumer, and messages of multiple partitions are distributed to multiple consumers.</p>
 </blockquote>
 <h4><a class="anchor" aria-hidden="true" id="shared"></a><a href="#shared" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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. [...]
-<p>Create new consumers and subscribe with <code>Shared</code> subscription mode:</p>
+<p>Create new consumers and subscribe with <code>Shared</code> subscription type.</p>
 <pre><code class="hljs css language-java">Consumer consumer1 = client.newConsumer()
         .topic(<span class="hljs-string">"my-topic"</span>)
         .subscriptionName(<span class="hljs-string">"my-subscription"</span>)
@@ -447,7 +447,7 @@ Consumer consumer2 = client.newConsumer()
         .subscribe()
 <span class="hljs-comment">//Both consumer1 and consumer 2 is active consumers.</span>
 </code></pre>
-<p>In shared subscription mode, multiple consumers can attach to the same subscription and messages are delivered in a round robin distribution across consumers.</p>
+<p>In shared subscription type, multiple consumers can attach to the same subscription and messages are delivered in a round robin distribution across consumers.</p>
 <p>If a broker dispatches only one message at a time, consumer1 receives the following information.</p>
 <pre><code class="hljs">(<span class="hljs-string">"key-1"</span>, <span class="hljs-string">"message-1-1"</span>)
 (<span class="hljs-string">"key-1"</span>, <span class="hljs-string">"message-1-3"</span>)
@@ -462,9 +462,9 @@ Consumer consumer2 = client.newConsumer()
 (<span class="hljs-string">"key-3"</span>, <span class="hljs-string">"message-3-2"</span>)
 (<span class="hljs-string">"key-4"</span>, <span class="hljs-string">"message-4-2"</span>)
 </code></pre>
-<p><code>Shared</code> subscription is different from <code>Exclusive</code> and <code>Failover</code> subscription modes. <code>Shared</code> subscription has better flexibility, but cannot provide order guarantee.</p>
+<p><code>Shared</code> subscription is different from <code>Exclusive</code> and <code>Failover</code> subscription types. <code>Shared</code> subscription has better flexibility, but cannot provide order guarantee.</p>
 <h4><a class="anchor" aria-hidden="true" id="key_shared"></a><a href="#key_shared" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>This is a new subscription mode since 2.4.0 release, create new consumers and subscribe with <code>Key_Shared</code> subscription mode.</p>
+<p>This is a new subscription type since 2.4.0 release. Create new consumers and subscribe with <code>Key_Shared</code> subscription type.</p>
 <pre><code class="hljs css language-java">Consumer consumer1 = client.newConsumer()
         .topic(<span class="hljs-string">"my-topic"</span>)
         .subscriptionName(<span class="hljs-string">"my-subscription"</span>)
@@ -506,8 +506,8 @@ Consumer consumer2 = client.newConsumer()
         .create();
 </code></pre>
 <blockquote>
-<p>Note:</p>
-<p>If the message key is not specified, messages without key are dispatched to one consumer in order by default.</p>
+<p><strong>Note</strong>  <br>
+If the message key is not specified, messages without key are dispatched to one consumer in order by default.</p>
 </blockquote>
 <h2><a class="anchor" aria-hidden="true" id="reader"></a><a href="#reader" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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. [...]
 <p>With the <a href="/docs/fr/2.6.3/concepts-clients#reader-interface">reader interface</a>, Pulsar clients can &quot;manually position&quot; themselves within a topic and reading all messages from a specified message onward. The Pulsar API for Java enables you to create <a href="https://pulsar.incubator.apache.org/api/client/2.8.0-SNAPSHOT/org/apache/pulsar/client/api/Reader">Reader</a>
@@ -684,7 +684,7 @@ PulsarClient client = PulsarClient.builder()
     .authentication(auth)
     .build();
 </code></pre>
-</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/fr/2.6.3/performance-pulsar-perf"><span class="arrow-prev">← </span><span>Pulsar Perf</span></a><a class="docs-next button" href="/docs/fr/2.6.3/client-libraries-go"><span>Go</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#installation">Installation</a><ul class="toc-headings"><li><a href="#maven">Maven</a></li><li><a  [...]
+</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/fr/2.6.3/performance-pulsar-perf"><span class="arrow-prev">← </span><span>Pulsar Perf</span></a><a class="docs-next button" href="/docs/fr/2.6.3/client-libraries-go"><span>Go</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#installation">Installation</a><ul class="toc-headings"><li><a href="#maven">Maven</a></li><li><a  [...]
       const community = document.querySelector("a[href='#community']").parentNode;
       const communityMenu =
         '<li>' +
diff --git a/content/docs/fr/2.6.3/client-libraries-java/index.html b/content/docs/fr/2.6.3/client-libraries-java/index.html
index 63d7f87..9759cea 100644
--- a/content/docs/fr/2.6.3/client-libraries-java/index.html
+++ b/content/docs/fr/2.6.3/client-libraries-java/index.html
@@ -253,7 +253,7 @@ client.close();
 <h3><a class="anchor" aria-hidden="true" id="configure-consumer"></a><a href="#configure-consumer" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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- [...]
 <p>If you instantiate a <code>Consumer</code> object by specifying only a topic and subscription name as in the example above, the consumer uses the default configuration.</p>
 <p>When you create a consumer, you can use the <code>loadConf</code> configuration. The following parameters are available in <code>loadConf</code>.</p>
-<p>Type | Name| <div style="width:300px">Description</div>|  Default |---|---|---|--- Set&lt;String&gt;|  <code>topicNames</code>|   Topic name| Sets.newTreeSet() Pattern|   <code>topicsPattern</code>| Topic pattern   |None String| <code>subscriptionName</code>| Subscription name|  None SubscriptionType| <code>subscriptionType</code>|   Subscription type <br/><br/>Four subscription types are available:<li>Exclusive</li><li>Failover</li><li>Shared</li><li>Key_Shared</li>|SubscriptionType. [...]
+<p>Type | Name| <div style="width:300px">Description</div>|  Default |---|---|---|--- Set&lt;String&gt;|  <code>topicNames</code>|   Topic name| Sets.newTreeSet() Pattern|   <code>topicsPattern</code>| Topic pattern   |None String| <code>subscriptionName</code>| Subscription name|  None SubscriptionType| <code>subscriptionType</code>|   Subscription type <br/><br/>Four subscription types are available:<li>Exclusive</li><li>Failover</li><li>Shared</li><li>Key_Shared</li>|SubscriptionType. [...]
 SortedMap&lt;String, String&gt;|<code>properties</code>|A name or value property of this consumer.<br/><br/><code>properties</code> is application defined metadata attached to a consumer. <br/><br/>When getting a topic stats, associate this metadata with the consumer stats for easier identification.|new TreeMap&lt;&gt;() boolean|<code>readCompacted</code>|If enabling <code>readCompacted</code>, a consumer reads messages from a compacted topic rather than reading a full message backlog of [...]
 <p>You can configure parameters if you do not want to use the default configuration. For a full list, see the Javadoc for the <a href="https://pulsar.incubator.apache.org/api/client/2.8.0-SNAPSHOT/org/apache/pulsar/client/api/ConsumerBuilder">ConsumerBuilder</a>
  class.</p>
@@ -282,8 +282,8 @@ SortedMap&lt;String, String&gt;|<code>properties</code>|A name or value property
 consumer.acknowledge(messages)
 </code></pre>
 <blockquote>
-<p>Note:</p>
-<p>Batch receive policy limits the number and bytes of messages in a single batch. You can specify a timeout to wait for enough messages.</p>
+<p><strong>Note</strong>  <br>
+Batch receive policy limits the number and bytes of messages in a single batch. You can specify a timeout to wait for enough messages.</p>
 <p>The batch receive is completed if any of the following condition is met: enough number of messages, bytes of messages, wait timeout.</p>
 <pre><code class="hljs css language-java">Consumer consumer = client.newConsumer()
         .topic(<span class="hljs-string">"my-topic"</span>)
@@ -362,10 +362,10 @@ consumerBuilder
             });
 }
 </code></pre>
-<h3><a class="anchor" aria-hidden="true" id="subscription-modes"></a><a href="#subscription-modes" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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- [...]
-<p>Pulsar has various <a href="concepts-messaging#subscription-modes">subscription modes</a> to match different scenarios. A topic can have multiple subscriptions with different subscription modes. However, a subscription can only have one subscription mode at a time.</p>
-<p>A subscription is identical with the subscription name which can specify only one subscription mode at a time. You cannot change the subscription mode unless all existing consumers of this subscription are offline.</p>
-<p>Different subscription modes have different message distribution modes. This section describes the differences of subscription modes and how to use them.</p>
+<h3><a class="anchor" aria-hidden="true" id="subscription-types"></a><a href="#subscription-types" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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- [...]
+<p>Pulsar has various <a href="concepts-messaging#subscription-types">subscription types</a> to match different scenarios. A topic can have multiple subscriptions with different subscription types. However, a subscription can only have one subscription type at a time.</p>
+<p>A subscription is identical with the subscription name; a subscription name can specify only one subscription type at a time. To change the subscription type, you should first stop all consumers of this subscription.</p>
+<p>Different subscription types have different message distribution modes. This section describes the differences of subscription types and how to use them.</p>
 <p>In order to better describe their differences, assuming you have a topic named &quot;my-topic&quot;, and the producer has published 10 messages.</p>
 <pre><code class="hljs css language-java">Producer&lt;String&gt; producer = client.newProducer(Schema.STRING)
         .topic(<span class="hljs-string">"my-topic"</span>)
@@ -384,7 +384,7 @@ producer.newMessage().key(<span class="hljs-string">"key-4"</span>).value(<span
 producer.newMessage().key(<span class="hljs-string">"key-4"</span>).value(<span class="hljs-string">"message-4-2"</span>).send();
 </code></pre>
 <h4><a class="anchor" aria-hidden="true" id="exclusive"></a><a href="#exclusive" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>Create a new consumer and subscribe with the <code>Exclusive</code> subscription mode.</p>
+<p>Create a new consumer and subscribe with the <code>Exclusive</code> subscription type.</p>
 <pre><code class="hljs css language-java">Consumer consumer = client.newConsumer()
         .topic(<span class="hljs-string">"my-topic"</span>)
         .subscriptionName(<span class="hljs-string">"my-subscription"</span>)
@@ -393,11 +393,11 @@ producer.newMessage().key(<span class="hljs-string">"key-4"</span>).value(<span
 </code></pre>
 <p>Only the first consumer is allowed to the subscription, other consumers receive an error. The first consumer receives all 10 messages, and the consuming order is the same as the producing order.</p>
 <blockquote>
-<p>Note:</p>
-<p>If topic is a partitioned topic, the first consumer subscribes to all partitioned topics, other consumers are not assigned with partitions and receive an error.</p>
+<p><strong>Note</strong>  <br>
+If topic is a partitioned topic, the first consumer subscribes to all partitioned topics, other consumers are not assigned with partitions and receive an error.</p>
 </blockquote>
 <h4><a class="anchor" aria-hidden="true" id="failover"></a><a href="#failover" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
-<p>Create new consumers and subscribe with the<code>Failover</code> subscription mode.</p>
+<p>Create new consumers and subscribe with the<code>Failover</code> subscription type.</p>
 <pre><code class="hljs css language-java">Consumer consumer1 = client.newConsumer()
         .topic(<span class="hljs-string">"my-topic"</span>)
         .subscriptionName(<span class="hljs-string">"my-subscription"</span>)
@@ -429,11 +429,11 @@ Consumer consumer2 = client.newConsumer()
 (<span class="hljs-string">"key-4"</span>, <span class="hljs-string">"message-4-2"</span>)
 </code></pre>
 <blockquote>
-<p>Note:</p>
-<p>If a topic is a partitioned topic, each partition has only one active consumer, messages of one partition are distributed to only one consumer, and messages of multiple partitions are distributed to multiple consumers.</p>
+<p><strong>Note</strong>  <br>
+If a topic is a partitioned topic, each partition has only one active consumer, messages of one partition are distributed to only one consumer, and messages of multiple partitions are distributed to multiple consumers.</p>
 </blockquote>
 <h4><a class="anchor" aria-hidden="true" id="shared"></a><a href="#shared" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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. [...]
-<p>Create new consumers and subscribe with <code>Shared</code> subscription mode:</p>
+<p>Create new consumers and subscribe with <code>Shared</code> subscription type.</p>
 <pre><code class="hljs css language-java">Consumer consumer1 = client.newConsumer()
         .topic(<span class="hljs-string">"my-topic"</span>)
         .subscriptionName(<span class="hljs-string">"my-subscription"</span>)
@@ -447,7 +447,7 @@ Consumer consumer2 = client.newConsumer()
         .subscribe()
 <span class="hljs-comment">//Both consumer1 and consumer 2 is active consumers.</span>
 </code></pre>
-<p>In shared subscription mode, multiple consumers can attach to the same subscription and messages are delivered in a round robin distribution across consumers.</p>
+<p>In shared subscription type, multiple consumers can attach to the same subscription and messages are delivered in a round robin distribution across consumers.</p>
 <p>If a broker dispatches only one message at a time, consumer1 receives the following information.</p>
 <pre><code class="hljs">(<span class="hljs-string">"key-1"</span>, <span class="hljs-string">"message-1-1"</span>)
 (<span class="hljs-string">"key-1"</span>, <span class="hljs-string">"message-1-3"</span>)
@@ -462,9 +462,9 @@ Consumer consumer2 = client.newConsumer()
 (<span class="hljs-string">"key-3"</span>, <span class="hljs-string">"message-3-2"</span>)
 (<span class="hljs-string">"key-4"</span>, <span class="hljs-string">"message-4-2"</span>)
 </code></pre>
-<p><code>Shared</code> subscription is different from <code>Exclusive</code> and <code>Failover</code> subscription modes. <code>Shared</code> subscription has better flexibility, but cannot provide order guarantee.</p>
+<p><code>Shared</code> subscription is different from <code>Exclusive</code> and <code>Failover</code> subscription types. <code>Shared</code> subscription has better flexibility, but cannot provide order guarantee.</p>
 <h4><a class="anchor" aria-hidden="true" id="key_shared"></a><a href="#key_shared" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>This is a new subscription mode since 2.4.0 release, create new consumers and subscribe with <code>Key_Shared</code> subscription mode.</p>
+<p>This is a new subscription type since 2.4.0 release. Create new consumers and subscribe with <code>Key_Shared</code> subscription type.</p>
 <pre><code class="hljs css language-java">Consumer consumer1 = client.newConsumer()
         .topic(<span class="hljs-string">"my-topic"</span>)
         .subscriptionName(<span class="hljs-string">"my-subscription"</span>)
@@ -506,8 +506,8 @@ Consumer consumer2 = client.newConsumer()
         .create();
 </code></pre>
 <blockquote>
-<p>Note:</p>
-<p>If the message key is not specified, messages without key are dispatched to one consumer in order by default.</p>
+<p><strong>Note</strong>  <br>
+If the message key is not specified, messages without key are dispatched to one consumer in order by default.</p>
 </blockquote>
 <h2><a class="anchor" aria-hidden="true" id="reader"></a><a href="#reader" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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. [...]
 <p>With the <a href="/docs/fr/2.6.3/concepts-clients#reader-interface">reader interface</a>, Pulsar clients can &quot;manually position&quot; themselves within a topic and reading all messages from a specified message onward. The Pulsar API for Java enables you to create <a href="https://pulsar.incubator.apache.org/api/client/2.8.0-SNAPSHOT/org/apache/pulsar/client/api/Reader">Reader</a>
@@ -684,7 +684,7 @@ PulsarClient client = PulsarClient.builder()
     .authentication(auth)
     .build();
 </code></pre>
-</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/fr/2.6.3/performance-pulsar-perf"><span class="arrow-prev">← </span><span>Pulsar Perf</span></a><a class="docs-next button" href="/docs/fr/2.6.3/client-libraries-go"><span>Go</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#installation">Installation</a><ul class="toc-headings"><li><a href="#maven">Maven</a></li><li><a  [...]
+</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/fr/2.6.3/performance-pulsar-perf"><span class="arrow-prev">← </span><span>Pulsar Perf</span></a><a class="docs-next button" href="/docs/fr/2.6.3/client-libraries-go"><span>Go</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#installation">Installation</a><ul class="toc-headings"><li><a href="#maven">Maven</a></li><li><a  [...]
       const community = document.querySelector("a[href='#community']").parentNode;
       const communityMenu =
         '<li>' +
diff --git a/content/docs/fr/2.6.3/concepts-messaging.html b/content/docs/fr/2.6.3/concepts-messaging.html
index 06a3cda..cc6ba1c 100644
--- a/content/docs/fr/2.6.3/concepts-messaging.html
+++ b/content/docs/fr/2.6.3/concepts-messaging.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>Messaging · Apache Pulsar</title><meta name="viewport" content="width=device-width, initial-scale=1.0"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar is built on the [publish-subscribe](https://en.wikipedia.org/wiki/Publish%E2%80%93subscribe_pattern) pattern (short for pub-sub). In this pattern, [producers](#producers) publish me [...]
+<!DOCTYPE html><html lang="fr"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Messaging · Apache Pulsar</title><meta name="viewport" content="width=device-width, initial-scale=1.0"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar is built on the [publish-subscribe](https://en.wikipedia.org/wiki/Publish%E2%80%93subscribe_pattern) pattern (short for pub-sub). In this pattern, [producers](#producers) publish me [...]
               (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,7 +74,7 @@
                 };
               }
             });
-        </script></nav></div><div class="container mainContainer docsContainer"><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 id="__docusaurus" class="postHeaderTitle">Messaging</h1></header><article><div><span><p>Pulsar is built on the <a href="https://en.wikipedia.org/wiki/Publish%E2%80%93subscribe_pattern">publish-subscribe [...]
+        </script></nav></div><div class="container mainContainer docsContainer"><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 id="__docusaurus" class="postHeaderTitle">Messaging</h1></header><article><div><span><p>Pulsar is built on the <a href="https://en.wikipedia.org/wiki/Publish%E2%80%93subscribe_pattern">publish-subscribe [...]
 <p>When a subscription is created, Pulsar <a href="/docs/fr/2.6.3/concepts-architecture-overview#persistent-storage">retains</a> all messages, even if the consumer is disconnected. Retained messages are discarded only when a consumer acknowledges that those messages are processed successfully.</p>
 <h2><a class="anchor" aria-hidden="true" id="messages"></a><a href="#messages" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
 <p>Messages are the basic &quot;unit&quot; of Pulsar. The following table lists the components of messages.</p>
@@ -128,7 +128,7 @@
 <ul>
 <li>Batching and chunking cannot be enabled simultaneously. To enable chunking, you must disable batching in advance.</li>
 <li>Chunking is only supported for persisted topics.</li>
-<li>Chunking is only supported for the exclusive and failover subscription modes.</li>
+<li>Chunking is only supported for the exclusive and failover subscription types.</li>
 </ul>
 <p>When chunking is enabled (<code>chunkingEnabled=true</code>), if the message size is greater than the allowed maximum publish-payload size, the producer splits the original message into chunked messages and publishes them with chunked metadata to the broker separately and in order. At the broker side, the chunked messages are stored in the managed-ledger in the same way as that of ordinary messages. The only difference is that the consumer needs to buffer the chunked messages and comb [...]
 <p>The consumer consumes the chunked messages and buffers them until the consumer receives all the chunks of a message. And then the consumer stitches chunked messages together and places them into the receiver-queue. Clients consume messages from the receiver-queue. Once the consumer consumes the entire large message and acknowledges it, the consumer internally sends acknowledgement of all the chunk messages associated to that large message. You can set the <code>maxPendingChuckedMessag [...]
@@ -165,13 +165,13 @@
 <li>Messages are acknowledged cumulatively. With cumulative acknowledgement, the consumer only needs to acknowledge the last message it received. All messages in the stream up to (and including) the provided message are not re-delivered to that consumer.</li>
 </ul>
 <blockquote>
-<p><strong>Note</strong> Cumulative acknowledgement cannot be used in the <a href="#subscription-modes">shared subscription mode</a>, because the shared subscription mode involves multiple consumers who have access to the same subscription. In the shared subscription mode, messages are acknowledged individually.</p>
+<p><strong>Note</strong> Cumulative acknowledgement cannot be used in <a href="#subscription-types">Shared subscription type</a>, because this subscription type involves multiple consumers which have access to the same subscription. In Shared subscription type, messages are acknowledged individually.</p>
 </blockquote>
 <h3><a class="anchor" aria-hidden="true" id="negative-acknowledgement"></a><a href="#negative-acknowledgement" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>When a consumer does not consume a message successfully at a time, and wants to consume the message again, the consumer sends a negative acknowledgement to the broker, and then the broker redelivers the message.</p>
-<p>Messages are negatively acknowledged one by one or cumulatively, which depends on the consumption subscription mode.</p>
-<p>In the exclusive and failover subscription modes, consumers only negatively acknowledge the last message they receive.</p>
-<p>In the shared and Key_Shared subscription modes, you can negatively acknowledge messages individually.</p>
+<p>Messages are negatively acknowledged either individually or cumulatively, depending on the consumption subscription type.</p>
+<p>In the exclusive and failover subscription types, consumers only negatively acknowledge the last message they receive.</p>
+<p>In the shared and Key_Shared subscription types, you can negatively acknowledge messages individually.</p>
 <p>Be aware that negative acknowledgment on ordered subscription types, such as Exclusive, Failover and Key_Shared, can cause failed messages to arrive consumers out of the original order.</p>
 <blockquote>
 <p><strong>Note</strong> If batching is enabled, other messages and the negatively acknowledged messages in the same batch are redelivered to the consumer.</p>
@@ -216,7 +216,7 @@ Prefer negative acknowledgements over acknowledgement timeout. Negative acknowle
 <p>Dead letter topic depends on message re-delivery. Messages are redelivered either due to <a href="#acknowledgement-timeout">acknowledgement timeout</a> or <a href="#negative-acknowledgement">negative acknowledgement</a>. If you are going to use negative acknowledgement on a message, make sure it is negatively acknowledged before the acknowledgement timeout.</p>
 <blockquote>
 <p><strong>Note</strong>    <br>
-Currently, dead letter topic is enabled only in the shared subscription mode.</p>
+Currently, dead letter topic is enabled only in Shared subscription type.</p>
 </blockquote>
 <h3><a class="anchor" aria-hidden="true" id="retry-letter-topic"></a><a href="#retry-letter-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- [...]
 <p>For many online business systems, a message is re-consumed due to exception occurs in the business logic processing. To configure the delay time for re-consuming the failed messages, you can configure the producer to send messages to both the business topic and the retry letter topic, and enable automatic retry on the consumer. When automatic retry is enabled on the consumer, a message is stored in the retry letter topic if the messages are not consumed, and therefore the consumer aut [...]
@@ -256,20 +256,20 @@ Currently, dead letter topic is enabled only in the shared subscription mode.</p
 <h2><a class="anchor" aria-hidden="true" id="espaces-de-nommage"></a><a href="#espaces-de-nommage" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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- [...]
 <p>A namespace is a logical nomenclature within a tenant. A tenant creates multiple namespaces via the <a href="/docs/fr/2.6.3/admin-api-namespaces#create">admin API</a>. For instance, a tenant with different applications can create a separate namespace for each application. A namespace allows the application to create and manage a hierarchy of topics. The topic <code>my-tenant/app1</code> is a namespace for the application <code>app1</code> for <code>my-tenant</code>. You can create any [...]
 <h2><a class="anchor" aria-hidden="true" id="subscriptions"></a><a href="#subscriptions" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>A subscription is a named configuration rule that determines how messages are delivered to consumers. Four subscription modes are available in Pulsar: <a href="#exclusive">exclusive</a>, <a href="#shared">shared</a>, <a href="#failover">failover</a>, and <a href="#key_shared">key_shared</a>. These modes are illustrated in the figure below.</p>
-<p><img src="/docs/assets/pulsar-subscription-modes.png" alt="Subscription modes"></p>
+<p>A subscription is a named configuration rule that determines how messages are delivered to consumers. Four subscription types are available in Pulsar: <a href="#exclusive">exclusive</a>, <a href="#shared">shared</a>, <a href="#failover">failover</a>, and <a href="#key_shared">key_shared</a>. These types are illustrated in the figure below.</p>
+<p><img src="/docs/assets/pulsar-subscription-types.png" alt="Subscription types"></p>
 <blockquote>
-<p><strong>Pub-Sub or Queuing</strong> In Pulsar, you can use different subscriptions flexibly. * If you want to achieve traditional &quot;fan-out pub-sub messaging&quot; among consumers, specify a unique subscription name for each consumer. It is exclusive subscription mode. * If you want to achieve &quot;message queuing&quot; among consumers, share the same subscription name among multiple consumers(shared, failover, key_shared). * If you want to achieve both effects simultaneously, co [...]
+<p><strong>Pub-Sub or Queuing</strong> In Pulsar, you can use different subscriptions flexibly. * If you want to achieve traditional &quot;fan-out pub-sub messaging&quot; among consumers, specify a unique subscription name for each consumer. It is exclusive subscription type. * If you want to achieve &quot;message queuing&quot; among consumers, share the same subscription name among multiple consumers(shared, failover, key_shared). * If you want to achieve both effects simultaneously, co [...]
 </blockquote>
 <h3><a class="anchor" aria-hidden="true" id="exclusive"></a><a href="#exclusive" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>In <em>exclusive</em> mode, only a single consumer is allowed to attach to the subscription. If multiple consumers subscribe to a topic using the same subscription, an error occurs.</p>
+<p>In <em>exclusive</em> type, only a single consumer is allowed to attach to the subscription. If multiple consumers subscribe to a topic using the same subscription, an error occurs.</p>
 <p>In the diagram below, only <strong>Consumer A-0</strong> is allowed to consume messages.</p>
 <blockquote>
-<p>Exclusive mode is the default subscription mode.</p>
+<p>Exclusive is the default subscription type.</p>
 </blockquote>
 <p><img src="/docs/assets/pulsar-exclusive-subscriptions.png" alt="Exclusive subscriptions"></p>
 <h3><a class="anchor" aria-hidden="true" id="failover"></a><a href="#failover" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
-<p>In <em>failover</em> mode, multiple consumers can attach to the same subscription. A master consumer is picked for non-partitioned topic or each partition of partitioned topic and receives messages. When the master consumer disconnects, all (non-acknowledged and subsequent) messages are delivered to the next consumer in line.</p>
+<p>In <em>Failover</em> type, multiple consumers can attach to the same subscription. A master consumer is picked for non-partitioned topic or each partition of partitioned topic and receives messages. When the master consumer disconnects, all (non-acknowledged and subsequent) messages are delivered to the next consumer in line.</p>
 <p>For partitioned topics, broker will sort consumers by priority level and lexicographical order of consumer name. Then broker will try to evenly assigns topics to consumers with the highest priority level.</p>
 <p>For non-partitioned topic, broker will pick consumer in the order they subscribe to the non partitioned topic.</p>
 <p>In the diagram below, <strong>Consumer-B-0</strong> is the master consumer while <strong>Consumer-B-1</strong> would be the next consumer in line to receive messages if <strong>Consumer-B-0</strong> is disconnected.</p>
@@ -330,9 +330,9 @@ Consumer&lt;<span class="hljs-keyword">byte</span>[]&gt; someTopicsConsumer = pu
 <p>The diagram below illustrates this:</p>
 <p><img src="/docs/assets/partitioning.png" alt=""></p>
 <p>The <strong>Topic1</strong> topic has five partitions (<strong>P0</strong> through <strong>P4</strong>) split across three brokers. Because there are more partitions than brokers, two brokers handle two partitions a piece, while the third handles only one (again, Pulsar handles this distribution of partitions automatically).</p>
-<p>Messages for this topic are broadcast to two consumers. The <a href="#routing-modes">routing mode</a> determines each message should be published to which partition, while the <a href="#subscription-modes">subscription mode</a> determines which messages go to which consumers.</p>
-<p>Decisions about routing and subscription modes can be made separately in most cases. In general, throughput concerns should guide partitioning/routing decisions while subscription decisions should be guided by application semantics.</p>
-<p>There is no difference between partitioned topics and normal topics in terms of how subscription modes work, as partitioning only determines what happens between when a message is published by a producer and processed and acknowledged by a consumer.</p>
+<p>Messages for this topic are broadcast to two consumers. The <a href="#routing-modes">routing mode</a> determines each message should be published to which partition, while the <a href="#subscription-types">subscription type</a> determines which messages go to which consumers.</p>
+<p>Decisions about routing and subscription types can be made separately in most cases. In general, throughput concerns should guide partitioning/routing decisions while subscription decisions should be guided by application semantics.</p>
+<p>There is no difference between partitioned topics and normal topics in terms of how subscription types work, as partitioning only determines what happens between when a message is published by a producer and processed and acknowledged by a consumer.</p>
 <p>Partitioned topics need to be explicitly created via the <a href="/docs/fr/2.6.3/admin-api-overview">admin API</a>. The number of partitions can be specified when creating the topic.</p>
 <h3><a class="anchor" aria-hidden="true" id="routing-modes"></a><a href="#routing-modes" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>When publishing to partitioned topics, you must specify a <em>routing mode</em>. The routing mode determines which partition---that is, which internal topic---each message should be published to.</p>
@@ -384,7 +384,7 @@ Consumer&lt;<span class="hljs-keyword">byte</span>[]&gt; someTopicsConsumer = pu
 <h3><a class="anchor" aria-hidden="true" id="performance"></a><a href="#performance" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>Non-persistent messaging is usually faster than persistent messaging because brokers don't persist messages and immediately send acks back to the producer as soon as that message is delivered to connected brokers. Producers thus see comparatively low publish latency with non-persistent topic.</p>
 <h3><a class="anchor" aria-hidden="true" id="client-api"></a><a href="#client-api" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>Producers and consumers can connect to non-persistent topics in the same way as persistent topics, with the crucial difference that the topic name must start with <code>non-persistent</code>. All three subscription modes---<a href="#exclusive">exclusive</a>, <a href="#shared">shared</a>, and <a href="#failover">failover</a>---are supported for non-persistent topics.</p>
+<p>Producers and consumers can connect to non-persistent topics in the same way as persistent topics, with the crucial difference that the topic name must start with <code>non-persistent</code>. All three subscription types---<a href="#exclusive">exclusive</a>, <a href="#shared">shared</a>, and <a href="#failover">failover</a>---are supported for non-persistent topics.</p>
 <p>Here's an example <a href="/docs/fr/2.6.3/client-libraries-java#consumers">Java consumer</a> for a non-persistent topic:</p>
 <pre><code class="hljs css language-java">PulsarClient client = PulsarClient.builder()
         .serviceUrl(<span class="hljs-string">"pulsar://localhost:6650"</span>)
@@ -438,7 +438,7 @@ Consumer&lt;<span class="hljs-keyword">byte</span>[]&gt; consumer = client.newCo
 </blockquote>
 <h2><a class="anchor" aria-hidden="true" id="delayed-message-delivery"></a><a href="#delayed-message-delivery" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>Delayed message delivery enables you to consume a message later rather than immediately. In this mechanism, a message is stored in BookKeeper, <code>DelayedDeliveryTracker</code> maintains the time index(time -&gt; messageId) in memory after published to a broker, and it is delivered to a consumer once the specific delayed time is passed.</p>
-<p>Delayed message delivery only works in Shared subscription mode. In Exclusive and Failover subscription modes, the delayed message is dispatched immediately.</p>
+<p>Delayed message delivery only works in Shared subscription type. In Exclusive and Failover subscription types, the delayed message is dispatched immediately.</p>
 <p>The diagram below illustrates the concept of delayed message delivery:</p>
 <p><img src="/docs/assets/message_delay.png" alt="Delayed Message Delivery"></p>
 <p>A broker saves a message without any check. When a consumer consumes a message, if the message is set to delay, then the message is added to <code>DelayedDeliveryTracker</code>. A subscription checks and gets timeout messages from <code>DelayedDeliveryTracker</code>.</p>
diff --git a/content/docs/fr/2.6.3/concepts-messaging/index.html b/content/docs/fr/2.6.3/concepts-messaging/index.html
index 06a3cda..cc6ba1c 100644
--- a/content/docs/fr/2.6.3/concepts-messaging/index.html
+++ b/content/docs/fr/2.6.3/concepts-messaging/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>Messaging · Apache Pulsar</title><meta name="viewport" content="width=device-width, initial-scale=1.0"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar is built on the [publish-subscribe](https://en.wikipedia.org/wiki/Publish%E2%80%93subscribe_pattern) pattern (short for pub-sub). In this pattern, [producers](#producers) publish me [...]
+<!DOCTYPE html><html lang="fr"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Messaging · Apache Pulsar</title><meta name="viewport" content="width=device-width, initial-scale=1.0"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar is built on the [publish-subscribe](https://en.wikipedia.org/wiki/Publish%E2%80%93subscribe_pattern) pattern (short for pub-sub). In this pattern, [producers](#producers) publish me [...]
               (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,7 +74,7 @@
                 };
               }
             });
-        </script></nav></div><div class="container mainContainer docsContainer"><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 id="__docusaurus" class="postHeaderTitle">Messaging</h1></header><article><div><span><p>Pulsar is built on the <a href="https://en.wikipedia.org/wiki/Publish%E2%80%93subscribe_pattern">publish-subscribe [...]
+        </script></nav></div><div class="container mainContainer docsContainer"><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 id="__docusaurus" class="postHeaderTitle">Messaging</h1></header><article><div><span><p>Pulsar is built on the <a href="https://en.wikipedia.org/wiki/Publish%E2%80%93subscribe_pattern">publish-subscribe [...]
 <p>When a subscription is created, Pulsar <a href="/docs/fr/2.6.3/concepts-architecture-overview#persistent-storage">retains</a> all messages, even if the consumer is disconnected. Retained messages are discarded only when a consumer acknowledges that those messages are processed successfully.</p>
 <h2><a class="anchor" aria-hidden="true" id="messages"></a><a href="#messages" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
 <p>Messages are the basic &quot;unit&quot; of Pulsar. The following table lists the components of messages.</p>
@@ -128,7 +128,7 @@
 <ul>
 <li>Batching and chunking cannot be enabled simultaneously. To enable chunking, you must disable batching in advance.</li>
 <li>Chunking is only supported for persisted topics.</li>
-<li>Chunking is only supported for the exclusive and failover subscription modes.</li>
+<li>Chunking is only supported for the exclusive and failover subscription types.</li>
 </ul>
 <p>When chunking is enabled (<code>chunkingEnabled=true</code>), if the message size is greater than the allowed maximum publish-payload size, the producer splits the original message into chunked messages and publishes them with chunked metadata to the broker separately and in order. At the broker side, the chunked messages are stored in the managed-ledger in the same way as that of ordinary messages. The only difference is that the consumer needs to buffer the chunked messages and comb [...]
 <p>The consumer consumes the chunked messages and buffers them until the consumer receives all the chunks of a message. And then the consumer stitches chunked messages together and places them into the receiver-queue. Clients consume messages from the receiver-queue. Once the consumer consumes the entire large message and acknowledges it, the consumer internally sends acknowledgement of all the chunk messages associated to that large message. You can set the <code>maxPendingChuckedMessag [...]
@@ -165,13 +165,13 @@
 <li>Messages are acknowledged cumulatively. With cumulative acknowledgement, the consumer only needs to acknowledge the last message it received. All messages in the stream up to (and including) the provided message are not re-delivered to that consumer.</li>
 </ul>
 <blockquote>
-<p><strong>Note</strong> Cumulative acknowledgement cannot be used in the <a href="#subscription-modes">shared subscription mode</a>, because the shared subscription mode involves multiple consumers who have access to the same subscription. In the shared subscription mode, messages are acknowledged individually.</p>
+<p><strong>Note</strong> Cumulative acknowledgement cannot be used in <a href="#subscription-types">Shared subscription type</a>, because this subscription type involves multiple consumers which have access to the same subscription. In Shared subscription type, messages are acknowledged individually.</p>
 </blockquote>
 <h3><a class="anchor" aria-hidden="true" id="negative-acknowledgement"></a><a href="#negative-acknowledgement" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>When a consumer does not consume a message successfully at a time, and wants to consume the message again, the consumer sends a negative acknowledgement to the broker, and then the broker redelivers the message.</p>
-<p>Messages are negatively acknowledged one by one or cumulatively, which depends on the consumption subscription mode.</p>
-<p>In the exclusive and failover subscription modes, consumers only negatively acknowledge the last message they receive.</p>
-<p>In the shared and Key_Shared subscription modes, you can negatively acknowledge messages individually.</p>
+<p>Messages are negatively acknowledged either individually or cumulatively, depending on the consumption subscription type.</p>
+<p>In the exclusive and failover subscription types, consumers only negatively acknowledge the last message they receive.</p>
+<p>In the shared and Key_Shared subscription types, you can negatively acknowledge messages individually.</p>
 <p>Be aware that negative acknowledgment on ordered subscription types, such as Exclusive, Failover and Key_Shared, can cause failed messages to arrive consumers out of the original order.</p>
 <blockquote>
 <p><strong>Note</strong> If batching is enabled, other messages and the negatively acknowledged messages in the same batch are redelivered to the consumer.</p>
@@ -216,7 +216,7 @@ Prefer negative acknowledgements over acknowledgement timeout. Negative acknowle
 <p>Dead letter topic depends on message re-delivery. Messages are redelivered either due to <a href="#acknowledgement-timeout">acknowledgement timeout</a> or <a href="#negative-acknowledgement">negative acknowledgement</a>. If you are going to use negative acknowledgement on a message, make sure it is negatively acknowledged before the acknowledgement timeout.</p>
 <blockquote>
 <p><strong>Note</strong>    <br>
-Currently, dead letter topic is enabled only in the shared subscription mode.</p>
+Currently, dead letter topic is enabled only in Shared subscription type.</p>
 </blockquote>
 <h3><a class="anchor" aria-hidden="true" id="retry-letter-topic"></a><a href="#retry-letter-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- [...]
 <p>For many online business systems, a message is re-consumed due to exception occurs in the business logic processing. To configure the delay time for re-consuming the failed messages, you can configure the producer to send messages to both the business topic and the retry letter topic, and enable automatic retry on the consumer. When automatic retry is enabled on the consumer, a message is stored in the retry letter topic if the messages are not consumed, and therefore the consumer aut [...]
@@ -256,20 +256,20 @@ Currently, dead letter topic is enabled only in the shared subscription mode.</p
 <h2><a class="anchor" aria-hidden="true" id="espaces-de-nommage"></a><a href="#espaces-de-nommage" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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- [...]
 <p>A namespace is a logical nomenclature within a tenant. A tenant creates multiple namespaces via the <a href="/docs/fr/2.6.3/admin-api-namespaces#create">admin API</a>. For instance, a tenant with different applications can create a separate namespace for each application. A namespace allows the application to create and manage a hierarchy of topics. The topic <code>my-tenant/app1</code> is a namespace for the application <code>app1</code> for <code>my-tenant</code>. You can create any [...]
 <h2><a class="anchor" aria-hidden="true" id="subscriptions"></a><a href="#subscriptions" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>A subscription is a named configuration rule that determines how messages are delivered to consumers. Four subscription modes are available in Pulsar: <a href="#exclusive">exclusive</a>, <a href="#shared">shared</a>, <a href="#failover">failover</a>, and <a href="#key_shared">key_shared</a>. These modes are illustrated in the figure below.</p>
-<p><img src="/docs/assets/pulsar-subscription-modes.png" alt="Subscription modes"></p>
+<p>A subscription is a named configuration rule that determines how messages are delivered to consumers. Four subscription types are available in Pulsar: <a href="#exclusive">exclusive</a>, <a href="#shared">shared</a>, <a href="#failover">failover</a>, and <a href="#key_shared">key_shared</a>. These types are illustrated in the figure below.</p>
+<p><img src="/docs/assets/pulsar-subscription-types.png" alt="Subscription types"></p>
 <blockquote>
-<p><strong>Pub-Sub or Queuing</strong> In Pulsar, you can use different subscriptions flexibly. * If you want to achieve traditional &quot;fan-out pub-sub messaging&quot; among consumers, specify a unique subscription name for each consumer. It is exclusive subscription mode. * If you want to achieve &quot;message queuing&quot; among consumers, share the same subscription name among multiple consumers(shared, failover, key_shared). * If you want to achieve both effects simultaneously, co [...]
+<p><strong>Pub-Sub or Queuing</strong> In Pulsar, you can use different subscriptions flexibly. * If you want to achieve traditional &quot;fan-out pub-sub messaging&quot; among consumers, specify a unique subscription name for each consumer. It is exclusive subscription type. * If you want to achieve &quot;message queuing&quot; among consumers, share the same subscription name among multiple consumers(shared, failover, key_shared). * If you want to achieve both effects simultaneously, co [...]
 </blockquote>
 <h3><a class="anchor" aria-hidden="true" id="exclusive"></a><a href="#exclusive" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>In <em>exclusive</em> mode, only a single consumer is allowed to attach to the subscription. If multiple consumers subscribe to a topic using the same subscription, an error occurs.</p>
+<p>In <em>exclusive</em> type, only a single consumer is allowed to attach to the subscription. If multiple consumers subscribe to a topic using the same subscription, an error occurs.</p>
 <p>In the diagram below, only <strong>Consumer A-0</strong> is allowed to consume messages.</p>
 <blockquote>
-<p>Exclusive mode is the default subscription mode.</p>
+<p>Exclusive is the default subscription type.</p>
 </blockquote>
 <p><img src="/docs/assets/pulsar-exclusive-subscriptions.png" alt="Exclusive subscriptions"></p>
 <h3><a class="anchor" aria-hidden="true" id="failover"></a><a href="#failover" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
-<p>In <em>failover</em> mode, multiple consumers can attach to the same subscription. A master consumer is picked for non-partitioned topic or each partition of partitioned topic and receives messages. When the master consumer disconnects, all (non-acknowledged and subsequent) messages are delivered to the next consumer in line.</p>
+<p>In <em>Failover</em> type, multiple consumers can attach to the same subscription. A master consumer is picked for non-partitioned topic or each partition of partitioned topic and receives messages. When the master consumer disconnects, all (non-acknowledged and subsequent) messages are delivered to the next consumer in line.</p>
 <p>For partitioned topics, broker will sort consumers by priority level and lexicographical order of consumer name. Then broker will try to evenly assigns topics to consumers with the highest priority level.</p>
 <p>For non-partitioned topic, broker will pick consumer in the order they subscribe to the non partitioned topic.</p>
 <p>In the diagram below, <strong>Consumer-B-0</strong> is the master consumer while <strong>Consumer-B-1</strong> would be the next consumer in line to receive messages if <strong>Consumer-B-0</strong> is disconnected.</p>
@@ -330,9 +330,9 @@ Consumer&lt;<span class="hljs-keyword">byte</span>[]&gt; someTopicsConsumer = pu
 <p>The diagram below illustrates this:</p>
 <p><img src="/docs/assets/partitioning.png" alt=""></p>
 <p>The <strong>Topic1</strong> topic has five partitions (<strong>P0</strong> through <strong>P4</strong>) split across three brokers. Because there are more partitions than brokers, two brokers handle two partitions a piece, while the third handles only one (again, Pulsar handles this distribution of partitions automatically).</p>
-<p>Messages for this topic are broadcast to two consumers. The <a href="#routing-modes">routing mode</a> determines each message should be published to which partition, while the <a href="#subscription-modes">subscription mode</a> determines which messages go to which consumers.</p>
-<p>Decisions about routing and subscription modes can be made separately in most cases. In general, throughput concerns should guide partitioning/routing decisions while subscription decisions should be guided by application semantics.</p>
-<p>There is no difference between partitioned topics and normal topics in terms of how subscription modes work, as partitioning only determines what happens between when a message is published by a producer and processed and acknowledged by a consumer.</p>
+<p>Messages for this topic are broadcast to two consumers. The <a href="#routing-modes">routing mode</a> determines each message should be published to which partition, while the <a href="#subscription-types">subscription type</a> determines which messages go to which consumers.</p>
+<p>Decisions about routing and subscription types can be made separately in most cases. In general, throughput concerns should guide partitioning/routing decisions while subscription decisions should be guided by application semantics.</p>
+<p>There is no difference between partitioned topics and normal topics in terms of how subscription types work, as partitioning only determines what happens between when a message is published by a producer and processed and acknowledged by a consumer.</p>
 <p>Partitioned topics need to be explicitly created via the <a href="/docs/fr/2.6.3/admin-api-overview">admin API</a>. The number of partitions can be specified when creating the topic.</p>
 <h3><a class="anchor" aria-hidden="true" id="routing-modes"></a><a href="#routing-modes" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>When publishing to partitioned topics, you must specify a <em>routing mode</em>. The routing mode determines which partition---that is, which internal topic---each message should be published to.</p>
@@ -384,7 +384,7 @@ Consumer&lt;<span class="hljs-keyword">byte</span>[]&gt; someTopicsConsumer = pu
 <h3><a class="anchor" aria-hidden="true" id="performance"></a><a href="#performance" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>Non-persistent messaging is usually faster than persistent messaging because brokers don't persist messages and immediately send acks back to the producer as soon as that message is delivered to connected brokers. Producers thus see comparatively low publish latency with non-persistent topic.</p>
 <h3><a class="anchor" aria-hidden="true" id="client-api"></a><a href="#client-api" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>Producers and consumers can connect to non-persistent topics in the same way as persistent topics, with the crucial difference that the topic name must start with <code>non-persistent</code>. All three subscription modes---<a href="#exclusive">exclusive</a>, <a href="#shared">shared</a>, and <a href="#failover">failover</a>---are supported for non-persistent topics.</p>
+<p>Producers and consumers can connect to non-persistent topics in the same way as persistent topics, with the crucial difference that the topic name must start with <code>non-persistent</code>. All three subscription types---<a href="#exclusive">exclusive</a>, <a href="#shared">shared</a>, and <a href="#failover">failover</a>---are supported for non-persistent topics.</p>
 <p>Here's an example <a href="/docs/fr/2.6.3/client-libraries-java#consumers">Java consumer</a> for a non-persistent topic:</p>
 <pre><code class="hljs css language-java">PulsarClient client = PulsarClient.builder()
         .serviceUrl(<span class="hljs-string">"pulsar://localhost:6650"</span>)
@@ -438,7 +438,7 @@ Consumer&lt;<span class="hljs-keyword">byte</span>[]&gt; consumer = client.newCo
 </blockquote>
 <h2><a class="anchor" aria-hidden="true" id="delayed-message-delivery"></a><a href="#delayed-message-delivery" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>Delayed message delivery enables you to consume a message later rather than immediately. In this mechanism, a message is stored in BookKeeper, <code>DelayedDeliveryTracker</code> maintains the time index(time -&gt; messageId) in memory after published to a broker, and it is delivered to a consumer once the specific delayed time is passed.</p>
-<p>Delayed message delivery only works in Shared subscription mode. In Exclusive and Failover subscription modes, the delayed message is dispatched immediately.</p>
+<p>Delayed message delivery only works in Shared subscription type. In Exclusive and Failover subscription types, the delayed message is dispatched immediately.</p>
 <p>The diagram below illustrates the concept of delayed message delivery:</p>
 <p><img src="/docs/assets/message_delay.png" alt="Delayed Message Delivery"></p>
 <p>A broker saves a message without any check. When a consumer consumes a message, if the message is set to delay, then the message is added to <code>DelayedDeliveryTracker</code>. A subscription checks and gets timeout messages from <code>DelayedDeliveryTracker</code>.</p>
diff --git a/content/docs/fr/2.6.3/concepts-overview.html b/content/docs/fr/2.6.3/concepts-overview.html
index 1550e03..96c30e9 100644
--- a/content/docs/fr/2.6.3/concepts-overview.html
+++ b/content/docs/fr/2.6.3/concepts-overview.html
@@ -81,7 +81,7 @@
 <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/fr/2.6.3/concepts-clients">client API</a> with bindings for <a href="/docs/fr/2.6.3/client-libraries-java">Java</a>, <a href="/docs/fr/2.6.3/client-libraries-go">Go</a>, <a href="/docs/fr/2.6.3/client-libraries-python">Python</a> and <a href="/docs/fr/2.6.3/client-libraries-cpp">C++</a>.</li>
-<li>Multiple <a href="/docs/fr/2.6.3/concepts-messaging#subscription-modes">subscription modes</a> (<a href="/docs/fr/2.6.3/concepts-messaging#exclusive">exclusive</a>, <a href="/docs/fr/2.6.3/concepts-messaging#shared">shared</a>, and <a href="/docs/fr/2.6.3/concepts-messaging#failover">failover</a>) for topics.</li>
+<li>Multiple <a href="/docs/fr/2.6.3/concepts-messaging#subscription-types">subscription types</a> (<a href="/docs/fr/2.6.3/concepts-messaging#exclusive">exclusive</a>, <a href="/docs/fr/2.6.3/concepts-messaging#shared">shared</a>, and <a href="/docs/fr/2.6.3/concepts-messaging#failover">failover</a>) for topics.</li>
 <li>Guaranteed message delivery with <a href="/docs/fr/2.6.3/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/fr/2.6.3/functions-overview">Pulsar Functions</a> offers the capability for stream-native data processing.</li>
 <li>A serverless connector framework <a href="/docs/fr/2.6.3/io-overview">Pulsar IO</a>, which is built on Pulsar Functions, makes it easier to move data in and out of Apache Pulsar.</li>
diff --git a/content/docs/fr/2.6.3/concepts-overview/index.html b/content/docs/fr/2.6.3/concepts-overview/index.html
index 1550e03..96c30e9 100644
--- a/content/docs/fr/2.6.3/concepts-overview/index.html
+++ b/content/docs/fr/2.6.3/concepts-overview/index.html
@@ -81,7 +81,7 @@
 <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/fr/2.6.3/concepts-clients">client API</a> with bindings for <a href="/docs/fr/2.6.3/client-libraries-java">Java</a>, <a href="/docs/fr/2.6.3/client-libraries-go">Go</a>, <a href="/docs/fr/2.6.3/client-libraries-python">Python</a> and <a href="/docs/fr/2.6.3/client-libraries-cpp">C++</a>.</li>
-<li>Multiple <a href="/docs/fr/2.6.3/concepts-messaging#subscription-modes">subscription modes</a> (<a href="/docs/fr/2.6.3/concepts-messaging#exclusive">exclusive</a>, <a href="/docs/fr/2.6.3/concepts-messaging#shared">shared</a>, and <a href="/docs/fr/2.6.3/concepts-messaging#failover">failover</a>) for topics.</li>
+<li>Multiple <a href="/docs/fr/2.6.3/concepts-messaging#subscription-types">subscription types</a> (<a href="/docs/fr/2.6.3/concepts-messaging#exclusive">exclusive</a>, <a href="/docs/fr/2.6.3/concepts-messaging#shared">shared</a>, and <a href="/docs/fr/2.6.3/concepts-messaging#failover">failover</a>) for topics.</li>
 <li>Guaranteed message delivery with <a href="/docs/fr/2.6.3/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/fr/2.6.3/functions-overview">Pulsar Functions</a> offers the capability for stream-native data processing.</li>
 <li>A serverless connector framework <a href="/docs/fr/2.6.3/io-overview">Pulsar IO</a>, which is built on Pulsar Functions, makes it easier to move data in and out of Apache Pulsar.</li>
diff --git a/content/docs/fr/2.6.4/client-libraries-java.html b/content/docs/fr/2.6.4/client-libraries-java.html
index dbeb445..85dcf72 100644
--- a/content/docs/fr/2.6.4/client-libraries-java.html
+++ b/content/docs/fr/2.6.4/client-libraries-java.html
@@ -253,7 +253,7 @@ client.close();
 <h3><a class="anchor" aria-hidden="true" id="configure-consumer"></a><a href="#configure-consumer" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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- [...]
 <p>If you instantiate a <code>Consumer</code> object by specifying only a topic and subscription name as in the example above, the consumer uses the default configuration.</p>
 <p>When you create a consumer, you can use the <code>loadConf</code> configuration. The following parameters are available in <code>loadConf</code>.</p>
-<p>Type | Name| <div style="width:300px">Description</div>|  Default |---|---|---|--- Set&lt;String&gt;|  <code>topicNames</code>|   Topic name| Sets.newTreeSet() Pattern|   <code>topicsPattern</code>| Topic pattern   |None String| <code>subscriptionName</code>| Subscription name|  None SubscriptionType| <code>subscriptionType</code>|   Subscription type <br/><br/>Three subscription types are available:<li>Exclusive</li><li>Failover</li><li>Shared</li>|SubscriptionType.Exclusive int | <c [...]
+<p>Type | Name| <div style="width:300px">Description</div>|  Default |---|---|---|--- Set&lt;String&gt;|  <code>topicNames</code>|   Topic name| Sets.newTreeSet() Pattern|   <code>topicsPattern</code>| Topic pattern   |None String| <code>subscriptionName</code>| Subscription name|  None SubscriptionType| <code>subscriptionType</code>|   Subscription type <br/><br/>Three subscription types are available:<li>Exclusive</li><li>Failover</li><li>Shared</li>|SubscriptionType.Exclusive int | <c [...]
 SortedMap&lt;String, String&gt;|<code>properties</code>|A name or value property of this consumer.<br/><br/><code>properties</code> is application defined metadata attached to a consumer. <br/><br/>When getting a topic stats, associate this metadata with the consumer stats for easier identification.|new TreeMap&lt;&gt;() boolean|<code>readCompacted</code>|If enabling <code>readCompacted</code>, a consumer reads messages from a compacted topic rather than reading a full message backlog of [...]
 <p>You can configure parameters if you do not want to use the default configuration. For a full list, see the Javadoc for the <a href="https://pulsar.incubator.apache.org/api/client/2.8.0-SNAPSHOT/org/apache/pulsar/client/api/ConsumerBuilder">ConsumerBuilder</a>
  class.</p>
@@ -282,8 +282,8 @@ SortedMap&lt;String, String&gt;|<code>properties</code>|A name or value property
 consumer.acknowledge(messages)
 </code></pre>
 <blockquote>
-<p>Note:</p>
-<p>Batch receive policy limits the number and bytes of messages in a single batch. You can specify a timeout to wait for enough messages.</p>
+<p><strong>Note</strong>  <br>
+Batch receive policy limits the number and bytes of messages in a single batch. You can specify a timeout to wait for enough messages.</p>
 <p>The batch receive is completed if any of the following condition is met: enough number of messages, bytes of messages, wait timeout.</p>
 <pre><code class="hljs css language-java">Consumer consumer = client.newConsumer()
         .topic(<span class="hljs-string">"my-topic"</span>)
@@ -362,10 +362,10 @@ consumerBuilder
             });
 }
 </code></pre>
-<h3><a class="anchor" aria-hidden="true" id="subscription-modes"></a><a href="#subscription-modes" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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- [...]
-<p>Pulsar has various <a href="concepts-messaging#subscription-modes">subscription modes</a> to match different scenarios. A topic can have multiple subscriptions with different subscription modes. However, a subscription can only have one subscription mode at a time.</p>
-<p>A subscription is identical with the subscription name which can specify only one subscription mode at a time. You cannot change the subscription mode unless all existing consumers of this subscription are offline.</p>
-<p>Different subscription modes have different message distribution modes. This section describes the differences of subscription modes and how to use them.</p>
+<h3><a class="anchor" aria-hidden="true" id="subscription-types"></a><a href="#subscription-types" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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- [...]
+<p>Pulsar has various <a href="concepts-messaging#subscription-types">subscription types</a> to match different scenarios. A topic can have multiple subscriptions with different subscription types. However, a subscription can only have one subscription type at a time.</p>
+<p>A subscription is identical with the subscription name; a subscription name can specify only one subscription type at a time. To change the subscription type, you should first stop all consumers of this subscription.</p>
+<p>Different subscription types have different message distribution modes. This section describes the differences of subscription types and how to use them.</p>
 <p>In order to better describe their differences, assuming you have a topic named &quot;my-topic&quot;, and the producer has published 10 messages.</p>
 <pre><code class="hljs css language-java">Producer&lt;String&gt; producer = client.newProducer(Schema.STRING)
         .topic(<span class="hljs-string">"my-topic"</span>)
@@ -384,7 +384,7 @@ producer.newMessage().key(<span class="hljs-string">"key-4"</span>).value(<span
 producer.newMessage().key(<span class="hljs-string">"key-4"</span>).value(<span class="hljs-string">"message-4-2"</span>).send();
 </code></pre>
 <h4><a class="anchor" aria-hidden="true" id="exclusive"></a><a href="#exclusive" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>Create a new consumer and subscribe with the <code>Exclusive</code> subscription mode.</p>
+<p>Create a new consumer and subscribe with the <code>Exclusive</code> subscription type.</p>
 <pre><code class="hljs css language-java">Consumer consumer = client.newConsumer()
         .topic(<span class="hljs-string">"my-topic"</span>)
         .subscriptionName(<span class="hljs-string">"my-subscription"</span>)
@@ -393,11 +393,11 @@ producer.newMessage().key(<span class="hljs-string">"key-4"</span>).value(<span
 </code></pre>
 <p>Only the first consumer is allowed to the subscription, other consumers receive an error. The first consumer receives all 10 messages, and the consuming order is the same as the producing order.</p>
 <blockquote>
-<p>Note:</p>
-<p>If topic is a partitioned topic, the first consumer subscribes to all partitioned topics, other consumers are not assigned with partitions and receive an error.</p>
+<p><strong>Note</strong>  <br>
+If topic is a partitioned topic, the first consumer subscribes to all partitioned topics, other consumers are not assigned with partitions and receive an error.</p>
 </blockquote>
 <h4><a class="anchor" aria-hidden="true" id="failover"></a><a href="#failover" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
-<p>Create new consumers and subscribe with the<code>Failover</code> subscription mode.</p>
+<p>Create new consumers and subscribe with the<code>Failover</code> subscription type.</p>
 <pre><code class="hljs css language-java">Consumer consumer1 = client.newConsumer()
         .topic(<span class="hljs-string">"my-topic"</span>)
         .subscriptionName(<span class="hljs-string">"my-subscription"</span>)
@@ -429,11 +429,11 @@ Consumer consumer2 = client.newConsumer()
 (<span class="hljs-string">"key-4"</span>, <span class="hljs-string">"message-4-2"</span>)
 </code></pre>
 <blockquote>
-<p>Note:</p>
-<p>If a topic is a partitioned topic, each partition has only one active consumer, messages of one partition are distributed to only one consumer, and messages of multiple partitions are distributed to multiple consumers.</p>
+<p><strong>Note</strong>  <br>
+If a topic is a partitioned topic, each partition has only one active consumer, messages of one partition are distributed to only one consumer, and messages of multiple partitions are distributed to multiple consumers.</p>
 </blockquote>
 <h4><a class="anchor" aria-hidden="true" id="shared"></a><a href="#shared" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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. [...]
-<p>Create new consumers and subscribe with <code>Shared</code> subscription mode:</p>
+<p>Create new consumers and subscribe with <code>Shared</code> subscription type.</p>
 <pre><code class="hljs css language-java">Consumer consumer1 = client.newConsumer()
         .topic(<span class="hljs-string">"my-topic"</span>)
         .subscriptionName(<span class="hljs-string">"my-subscription"</span>)
@@ -447,7 +447,7 @@ Consumer consumer2 = client.newConsumer()
         .subscribe()
 <span class="hljs-comment">//Both consumer1 and consumer 2 is active consumers.</span>
 </code></pre>
-<p>In shared subscription mode, multiple consumers can attach to the same subscription and messages are delivered in a round robin distribution across consumers.</p>
+<p>In shared subscription type, multiple consumers can attach to the same subscription and messages are delivered in a round robin distribution across consumers.</p>
 <p>If a broker dispatches only one message at a time, consumer1 receives the following information.</p>
 <pre><code class="hljs">(<span class="hljs-string">"key-1"</span>, <span class="hljs-string">"message-1-1"</span>)
 (<span class="hljs-string">"key-1"</span>, <span class="hljs-string">"message-1-3"</span>)
@@ -462,9 +462,9 @@ Consumer consumer2 = client.newConsumer()
 (<span class="hljs-string">"key-3"</span>, <span class="hljs-string">"message-3-2"</span>)
 (<span class="hljs-string">"key-4"</span>, <span class="hljs-string">"message-4-2"</span>)
 </code></pre>
-<p><code>Shared</code> subscription is different from <code>Exclusive</code> and <code>Failover</code> subscription modes. <code>Shared</code> subscription has better flexibility, but cannot provide order guarantee.</p>
+<p><code>Shared</code> subscription is different from <code>Exclusive</code> and <code>Failover</code> subscription types. <code>Shared</code> subscription has better flexibility, but cannot provide order guarantee.</p>
 <h4><a class="anchor" aria-hidden="true" id="key_shared"></a><a href="#key_shared" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>This is a new subscription mode since 2.4.0 release, create new consumers and subscribe with <code>Key_Shared</code> subscription mode.</p>
+<p>This is a new subscription type since 2.4.0 release. Create new consumers and subscribe with <code>Key_Shared</code> subscription type.</p>
 <pre><code class="hljs css language-java">Consumer consumer1 = client.newConsumer()
         .topic(<span class="hljs-string">"my-topic"</span>)
         .subscriptionName(<span class="hljs-string">"my-subscription"</span>)
@@ -506,8 +506,8 @@ Consumer consumer2 = client.newConsumer()
         .create();
 </code></pre>
 <blockquote>
-<p>Note:</p>
-<p>If the message key is not specified, messages without key are dispatched to one consumer in order by default.</p>
+<p><strong>Note</strong>  <br>
+If the message key is not specified, messages without key are dispatched to one consumer in order by default.</p>
 </blockquote>
 <h2><a class="anchor" aria-hidden="true" id="reader"></a><a href="#reader" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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. [...]
 <p>With the <a href="/docs/fr/2.6.4/concepts-clients#reader-interface">reader interface</a>, Pulsar clients can &quot;manually position&quot; themselves within a topic and reading all messages from a specified message onward. The Pulsar API for Java enables you to create <a href="https://pulsar.incubator.apache.org/api/client/2.8.0-SNAPSHOT/org/apache/pulsar/client/api/Reader">Reader</a>
@@ -685,7 +685,7 @@ PulsarClient client = PulsarClient.builder()
     .authentication(auth)
     .build();
 </code></pre>
-</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/fr/2.6.4/performance-pulsar-perf"><span class="arrow-prev">← </span><span>Pulsar Perf</span></a><a class="docs-next button" href="/docs/fr/2.6.4/client-libraries-go"><span>Go</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#installation">Installation</a><ul class="toc-headings"><li><a href="#maven">Maven</a></li><li><a  [...]
+</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/fr/2.6.4/performance-pulsar-perf"><span class="arrow-prev">← </span><span>Pulsar Perf</span></a><a class="docs-next button" href="/docs/fr/2.6.4/client-libraries-go"><span>Go</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#installation">Installation</a><ul class="toc-headings"><li><a href="#maven">Maven</a></li><li><a  [...]
       const community = document.querySelector("a[href='#community']").parentNode;
       const communityMenu =
         '<li>' +
diff --git a/content/docs/fr/2.6.4/client-libraries-java/index.html b/content/docs/fr/2.6.4/client-libraries-java/index.html
index dbeb445..85dcf72 100644
--- a/content/docs/fr/2.6.4/client-libraries-java/index.html
+++ b/content/docs/fr/2.6.4/client-libraries-java/index.html
@@ -253,7 +253,7 @@ client.close();
 <h3><a class="anchor" aria-hidden="true" id="configure-consumer"></a><a href="#configure-consumer" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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- [...]
 <p>If you instantiate a <code>Consumer</code> object by specifying only a topic and subscription name as in the example above, the consumer uses the default configuration.</p>
 <p>When you create a consumer, you can use the <code>loadConf</code> configuration. The following parameters are available in <code>loadConf</code>.</p>
-<p>Type | Name| <div style="width:300px">Description</div>|  Default |---|---|---|--- Set&lt;String&gt;|  <code>topicNames</code>|   Topic name| Sets.newTreeSet() Pattern|   <code>topicsPattern</code>| Topic pattern   |None String| <code>subscriptionName</code>| Subscription name|  None SubscriptionType| <code>subscriptionType</code>|   Subscription type <br/><br/>Three subscription types are available:<li>Exclusive</li><li>Failover</li><li>Shared</li>|SubscriptionType.Exclusive int | <c [...]
+<p>Type | Name| <div style="width:300px">Description</div>|  Default |---|---|---|--- Set&lt;String&gt;|  <code>topicNames</code>|   Topic name| Sets.newTreeSet() Pattern|   <code>topicsPattern</code>| Topic pattern   |None String| <code>subscriptionName</code>| Subscription name|  None SubscriptionType| <code>subscriptionType</code>|   Subscription type <br/><br/>Three subscription types are available:<li>Exclusive</li><li>Failover</li><li>Shared</li>|SubscriptionType.Exclusive int | <c [...]
 SortedMap&lt;String, String&gt;|<code>properties</code>|A name or value property of this consumer.<br/><br/><code>properties</code> is application defined metadata attached to a consumer. <br/><br/>When getting a topic stats, associate this metadata with the consumer stats for easier identification.|new TreeMap&lt;&gt;() boolean|<code>readCompacted</code>|If enabling <code>readCompacted</code>, a consumer reads messages from a compacted topic rather than reading a full message backlog of [...]
 <p>You can configure parameters if you do not want to use the default configuration. For a full list, see the Javadoc for the <a href="https://pulsar.incubator.apache.org/api/client/2.8.0-SNAPSHOT/org/apache/pulsar/client/api/ConsumerBuilder">ConsumerBuilder</a>
  class.</p>
@@ -282,8 +282,8 @@ SortedMap&lt;String, String&gt;|<code>properties</code>|A name or value property
 consumer.acknowledge(messages)
 </code></pre>
 <blockquote>
-<p>Note:</p>
-<p>Batch receive policy limits the number and bytes of messages in a single batch. You can specify a timeout to wait for enough messages.</p>
+<p><strong>Note</strong>  <br>
+Batch receive policy limits the number and bytes of messages in a single batch. You can specify a timeout to wait for enough messages.</p>
 <p>The batch receive is completed if any of the following condition is met: enough number of messages, bytes of messages, wait timeout.</p>
 <pre><code class="hljs css language-java">Consumer consumer = client.newConsumer()
         .topic(<span class="hljs-string">"my-topic"</span>)
@@ -362,10 +362,10 @@ consumerBuilder
             });
 }
 </code></pre>
-<h3><a class="anchor" aria-hidden="true" id="subscription-modes"></a><a href="#subscription-modes" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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- [...]
-<p>Pulsar has various <a href="concepts-messaging#subscription-modes">subscription modes</a> to match different scenarios. A topic can have multiple subscriptions with different subscription modes. However, a subscription can only have one subscription mode at a time.</p>
-<p>A subscription is identical with the subscription name which can specify only one subscription mode at a time. You cannot change the subscription mode unless all existing consumers of this subscription are offline.</p>
-<p>Different subscription modes have different message distribution modes. This section describes the differences of subscription modes and how to use them.</p>
+<h3><a class="anchor" aria-hidden="true" id="subscription-types"></a><a href="#subscription-types" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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- [...]
+<p>Pulsar has various <a href="concepts-messaging#subscription-types">subscription types</a> to match different scenarios. A topic can have multiple subscriptions with different subscription types. However, a subscription can only have one subscription type at a time.</p>
+<p>A subscription is identical with the subscription name; a subscription name can specify only one subscription type at a time. To change the subscription type, you should first stop all consumers of this subscription.</p>
+<p>Different subscription types have different message distribution modes. This section describes the differences of subscription types and how to use them.</p>
 <p>In order to better describe their differences, assuming you have a topic named &quot;my-topic&quot;, and the producer has published 10 messages.</p>
 <pre><code class="hljs css language-java">Producer&lt;String&gt; producer = client.newProducer(Schema.STRING)
         .topic(<span class="hljs-string">"my-topic"</span>)
@@ -384,7 +384,7 @@ producer.newMessage().key(<span class="hljs-string">"key-4"</span>).value(<span
 producer.newMessage().key(<span class="hljs-string">"key-4"</span>).value(<span class="hljs-string">"message-4-2"</span>).send();
 </code></pre>
 <h4><a class="anchor" aria-hidden="true" id="exclusive"></a><a href="#exclusive" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>Create a new consumer and subscribe with the <code>Exclusive</code> subscription mode.</p>
+<p>Create a new consumer and subscribe with the <code>Exclusive</code> subscription type.</p>
 <pre><code class="hljs css language-java">Consumer consumer = client.newConsumer()
         .topic(<span class="hljs-string">"my-topic"</span>)
         .subscriptionName(<span class="hljs-string">"my-subscription"</span>)
@@ -393,11 +393,11 @@ producer.newMessage().key(<span class="hljs-string">"key-4"</span>).value(<span
 </code></pre>
 <p>Only the first consumer is allowed to the subscription, other consumers receive an error. The first consumer receives all 10 messages, and the consuming order is the same as the producing order.</p>
 <blockquote>
-<p>Note:</p>
-<p>If topic is a partitioned topic, the first consumer subscribes to all partitioned topics, other consumers are not assigned with partitions and receive an error.</p>
+<p><strong>Note</strong>  <br>
+If topic is a partitioned topic, the first consumer subscribes to all partitioned topics, other consumers are not assigned with partitions and receive an error.</p>
 </blockquote>
 <h4><a class="anchor" aria-hidden="true" id="failover"></a><a href="#failover" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
-<p>Create new consumers and subscribe with the<code>Failover</code> subscription mode.</p>
+<p>Create new consumers and subscribe with the<code>Failover</code> subscription type.</p>
 <pre><code class="hljs css language-java">Consumer consumer1 = client.newConsumer()
         .topic(<span class="hljs-string">"my-topic"</span>)
         .subscriptionName(<span class="hljs-string">"my-subscription"</span>)
@@ -429,11 +429,11 @@ Consumer consumer2 = client.newConsumer()
 (<span class="hljs-string">"key-4"</span>, <span class="hljs-string">"message-4-2"</span>)
 </code></pre>
 <blockquote>
-<p>Note:</p>
-<p>If a topic is a partitioned topic, each partition has only one active consumer, messages of one partition are distributed to only one consumer, and messages of multiple partitions are distributed to multiple consumers.</p>
+<p><strong>Note</strong>  <br>
+If a topic is a partitioned topic, each partition has only one active consumer, messages of one partition are distributed to only one consumer, and messages of multiple partitions are distributed to multiple consumers.</p>
 </blockquote>
 <h4><a class="anchor" aria-hidden="true" id="shared"></a><a href="#shared" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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. [...]
-<p>Create new consumers and subscribe with <code>Shared</code> subscription mode:</p>
+<p>Create new consumers and subscribe with <code>Shared</code> subscription type.</p>
 <pre><code class="hljs css language-java">Consumer consumer1 = client.newConsumer()
         .topic(<span class="hljs-string">"my-topic"</span>)
         .subscriptionName(<span class="hljs-string">"my-subscription"</span>)
@@ -447,7 +447,7 @@ Consumer consumer2 = client.newConsumer()
         .subscribe()
 <span class="hljs-comment">//Both consumer1 and consumer 2 is active consumers.</span>
 </code></pre>
-<p>In shared subscription mode, multiple consumers can attach to the same subscription and messages are delivered in a round robin distribution across consumers.</p>
+<p>In shared subscription type, multiple consumers can attach to the same subscription and messages are delivered in a round robin distribution across consumers.</p>
 <p>If a broker dispatches only one message at a time, consumer1 receives the following information.</p>
 <pre><code class="hljs">(<span class="hljs-string">"key-1"</span>, <span class="hljs-string">"message-1-1"</span>)
 (<span class="hljs-string">"key-1"</span>, <span class="hljs-string">"message-1-3"</span>)
@@ -462,9 +462,9 @@ Consumer consumer2 = client.newConsumer()
 (<span class="hljs-string">"key-3"</span>, <span class="hljs-string">"message-3-2"</span>)
 (<span class="hljs-string">"key-4"</span>, <span class="hljs-string">"message-4-2"</span>)
 </code></pre>
-<p><code>Shared</code> subscription is different from <code>Exclusive</code> and <code>Failover</code> subscription modes. <code>Shared</code> subscription has better flexibility, but cannot provide order guarantee.</p>
+<p><code>Shared</code> subscription is different from <code>Exclusive</code> and <code>Failover</code> subscription types. <code>Shared</code> subscription has better flexibility, but cannot provide order guarantee.</p>
 <h4><a class="anchor" aria-hidden="true" id="key_shared"></a><a href="#key_shared" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>This is a new subscription mode since 2.4.0 release, create new consumers and subscribe with <code>Key_Shared</code> subscription mode.</p>
+<p>This is a new subscription type since 2.4.0 release. Create new consumers and subscribe with <code>Key_Shared</code> subscription type.</p>
 <pre><code class="hljs css language-java">Consumer consumer1 = client.newConsumer()
         .topic(<span class="hljs-string">"my-topic"</span>)
         .subscriptionName(<span class="hljs-string">"my-subscription"</span>)
@@ -506,8 +506,8 @@ Consumer consumer2 = client.newConsumer()
         .create();
 </code></pre>
 <blockquote>
-<p>Note:</p>
-<p>If the message key is not specified, messages without key are dispatched to one consumer in order by default.</p>
+<p><strong>Note</strong>  <br>
+If the message key is not specified, messages without key are dispatched to one consumer in order by default.</p>
 </blockquote>
 <h2><a class="anchor" aria-hidden="true" id="reader"></a><a href="#reader" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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. [...]
 <p>With the <a href="/docs/fr/2.6.4/concepts-clients#reader-interface">reader interface</a>, Pulsar clients can &quot;manually position&quot; themselves within a topic and reading all messages from a specified message onward. The Pulsar API for Java enables you to create <a href="https://pulsar.incubator.apache.org/api/client/2.8.0-SNAPSHOT/org/apache/pulsar/client/api/Reader">Reader</a>
@@ -685,7 +685,7 @@ PulsarClient client = PulsarClient.builder()
     .authentication(auth)
     .build();
 </code></pre>
-</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/fr/2.6.4/performance-pulsar-perf"><span class="arrow-prev">← </span><span>Pulsar Perf</span></a><a class="docs-next button" href="/docs/fr/2.6.4/client-libraries-go"><span>Go</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#installation">Installation</a><ul class="toc-headings"><li><a href="#maven">Maven</a></li><li><a  [...]
+</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/fr/2.6.4/performance-pulsar-perf"><span class="arrow-prev">← </span><span>Pulsar Perf</span></a><a class="docs-next button" href="/docs/fr/2.6.4/client-libraries-go"><span>Go</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#installation">Installation</a><ul class="toc-headings"><li><a href="#maven">Maven</a></li><li><a  [...]
       const community = document.querySelector("a[href='#community']").parentNode;
       const communityMenu =
         '<li>' +
diff --git a/content/docs/fr/2.6.4/concepts-messaging.html b/content/docs/fr/2.6.4/concepts-messaging.html
index 808f6ca..fa71bee 100644
--- a/content/docs/fr/2.6.4/concepts-messaging.html
+++ b/content/docs/fr/2.6.4/concepts-messaging.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>Messaging · Apache Pulsar</title><meta name="viewport" content="width=device-width, initial-scale=1.0"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar is built on the [publish-subscribe](https://en.wikipedia.org/wiki/Publish%E2%80%93subscribe_pattern) pattern (short for pub-sub). In this pattern, [producers](#producers) publish me [...]
+<!DOCTYPE html><html lang="fr"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Messaging · Apache Pulsar</title><meta name="viewport" content="width=device-width, initial-scale=1.0"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar is built on the [publish-subscribe](https://en.wikipedia.org/wiki/Publish%E2%80%93subscribe_pattern) pattern (short for pub-sub). In this pattern, [producers](#producers) publish me [...]
               (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,7 +74,7 @@
                 };
               }
             });
-        </script></nav></div><div class="container mainContainer docsContainer"><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 id="__docusaurus" class="postHeaderTitle">Messaging</h1></header><article><div><span><p>Pulsar is built on the <a href="https://en.wikipedia.org/wiki/Publish%E2%80%93subscribe_pattern">publish-subscribe [...]
+        </script></nav></div><div class="container mainContainer docsContainer"><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 id="__docusaurus" class="postHeaderTitle">Messaging</h1></header><article><div><span><p>Pulsar is built on the <a href="https://en.wikipedia.org/wiki/Publish%E2%80%93subscribe_pattern">publish-subscribe [...]
 <p>When a subscription is created, Pulsar <a href="/docs/fr/2.6.4/concepts-architecture-overview#persistent-storage">retains</a> all messages, even if the consumer is disconnected. Retained messages are discarded only when a consumer acknowledges that those messages are processed successfully.</p>
 <h2><a class="anchor" aria-hidden="true" id="messages"></a><a href="#messages" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
 <p>Messages are the basic &quot;unit&quot; of Pulsar. The following table lists the components of messages.</p>
@@ -128,7 +128,7 @@
 <ul>
 <li>Batching and chunking cannot be enabled simultaneously. To enable chunking, you must disable batching in advance.</li>
 <li>Chunking is only supported for persisted topics.</li>
-<li>Chunking is only supported for the exclusive and failover subscription modes.</li>
+<li>Chunking is only supported for the exclusive and failover subscription types.</li>
 </ul>
 <p>When chunking is enabled (<code>chunkingEnabled=true</code>), if the message size is greater than the allowed maximum publish-payload size, the producer splits the original message into chunked messages and publishes them with chunked metadata to the broker separately and in order. At the broker side, the chunked messages are stored in the managed-ledger in the same way as that of ordinary messages. The only difference is that the consumer needs to buffer the chunked messages and comb [...]
 <p>The consumer consumes the chunked messages and buffers them until the consumer receives all the chunks of a message. And then the consumer stitches chunked messages together and places them into the receiver-queue. Clients consume messages from the receiver-queue. Once the consumer consumes the entire large message and acknowledges it, the consumer internally sends acknowledgement of all the chunk messages associated to that large message. You can set the <code>maxPendingChuckedMessag [...]
@@ -166,13 +166,13 @@
 </ul>
 <blockquote>
 <p>Note</p>
-<p>Cumulative acknowledgement cannot be used in the <a href="#subscription-modes">shared subscription mode</a>, because the shared subscription mode involves multiple consumers who have access to the same subscription. In the shared subscription mode, messages are acknowledged individually.</p>
+<p>Cumulative acknowledgement cannot be used in <a href="#subscription-types">Shared subscription type</a>, because this subscription type involves multiple consumers which have access to the same subscription. In Shared subscription type, messages are acknowledged individually.</p>
 </blockquote>
 <h3><a class="anchor" aria-hidden="true" id="negative-acknowledgement"></a><a href="#negative-acknowledgement" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>When a consumer does not consume a message successfully at a time, and wants to consume the message again, the consumer sends a negative acknowledgement to the broker, and then the broker redelivers the message.</p>
-<p>Messages are negatively acknowledged one by one or cumulatively, which depends on the consumption subscription mode.</p>
-<p>In the exclusive and failover subscription modes, consumers only negatively acknowledge the last message they receive.</p>
-<p>In the shared and Key_Shared subscription modes, you can negatively acknowledge messages individually.</p>
+<p>Messages are negatively acknowledged either individually or cumulatively, depending on the consumption subscription type.</p>
+<p>In the exclusive and failover subscription types, consumers only negatively acknowledge the last message they receive.</p>
+<p>In the shared and Key_Shared subscription types, you can negatively acknowledge messages individually.</p>
 <blockquote>
 <p>Note If batching is enabled, other messages and the negatively acknowledged messages in the same batch are redelivered to the consumer.</p>
 </blockquote>
@@ -215,8 +215,8 @@ Prefer negative acknowledgements over acknowledgement timeout. Negative acknowle
 </code></pre>
 <p>Dead letter topic depends on message re-delivery. Messages are redelivered either due to <a href="#acknowledgement-timeout">acknowledgement timeout</a> or <a href="#negative-acknowledgement">negative acknowledgement</a>. If you are going to use negative acknowledgement on a message, make sure it is negatively acknowledged before the acknowledgement timeout.</p>
 <blockquote>
-<p>Note<br>
-Currently, dead letter topic is enabled only in the shared subscription mode.</p>
+<p><strong>Note</strong>    <br>
+Currently, dead letter topic is enabled only in Shared subscription type.</p>
 </blockquote>
 <h3><a class="anchor" aria-hidden="true" id="retry-letter-topic"></a><a href="#retry-letter-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- [...]
 <p>For many online business systems, a message is re-consumed due to exception occurs in the business logic processing. To configure the delay time for re-consuming the failed messages, you can configure the producer to send messages to both the business topic and the retry letter topic, and enable automatic retry on the consumer. When automatic retry is enabled on the consumer, a message is stored in the retry letter topic if the messages are not consumed, and therefore the consumer aut [...]
@@ -257,21 +257,21 @@ Currently, dead letter topic is enabled only in the shared subscription mode.</p
 <h2><a class="anchor" aria-hidden="true" id="espaces-de-nommage"></a><a href="#espaces-de-nommage" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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- [...]
 <p>A namespace is a logical nomenclature within a tenant. A tenant creates multiple namespaces via the <a href="/docs/fr/2.6.4/admin-api-namespaces#create">admin API</a>. For instance, a tenant with different applications can create a separate namespace for each application. A namespace allows the application to create and manage a hierarchy of topics. The topic <code>my-tenant/app1</code> is a namespace for the application <code>app1</code> for <code>my-tenant</code>. You can create any [...]
 <h2><a class="anchor" aria-hidden="true" id="subscriptions"></a><a href="#subscriptions" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>A subscription is a named configuration rule that determines how messages are delivered to consumers. Four subscription modes are available in Pulsar: <a href="#exclusive">exclusive</a>, <a href="#shared">shared</a>, <a href="#failover">failover</a>, and <a href="#key_shared">key_shared</a>. These modes are illustrated in the figure below.</p>
-<p><img src="/docs/assets/pulsar-subscription-modes.png" alt="Subscription modes"></p>
+<p>A subscription is a named configuration rule that determines how messages are delivered to consumers. Four subscription types are available in Pulsar: <a href="#exclusive">exclusive</a>, <a href="#shared">shared</a>, <a href="#failover">failover</a>, and <a href="#key_shared">key_shared</a>. These types are illustrated in the figure below.</p>
+<p><img src="/docs/assets/pulsar-subscription-types.png" alt="Subscription types"></p>
 <blockquote>
 <h3><a class="anchor" aria-hidden="true" id="pub-sub-or-queuing"></a><a href="#pub-sub-or-queuing" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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- [...]
-<p>In Pulsar, you can use different subscriptions flexibly. * If you want to achieve traditional &quot;fan-out pub-sub messaging&quot; among consumers, specify a unique subscription name for each consumer. It is exclusive subscription mode. * If you want to achieve &quot;message queuing&quot; among consumers, share the same subscription name among multiple consumers(shared, failover, key_shared). * If you want to achieve both effects simultaneously, combine exclusive subscription mode wi [...]
+<p>In Pulsar, you can use different subscriptions flexibly. * If you want to achieve traditional &quot;fan-out pub-sub messaging&quot; among consumers, specify a unique subscription name for each consumer. It is exclusive subscription type. * If you want to achieve &quot;message queuing&quot; among consumers, share the same subscription name among multiple consumers(shared, failover, key_shared). * If you want to achieve both effects simultaneously, combine exclusive subscription type wi [...]
 </blockquote>
 <h3><a class="anchor" aria-hidden="true" id="exclusive"></a><a href="#exclusive" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>In <em>exclusive</em> mode, only a single consumer is allowed to attach to the subscription. If multiple consumers subscribe to a topic using the same subscription, an error occurs.</p>
+<p>In <em>exclusive</em> type, only a single consumer is allowed to attach to the subscription. If multiple consumers subscribe to a topic using the same subscription, an error occurs.</p>
 <p>In the diagram below, only <strong>Consumer A-0</strong> is allowed to consume messages.</p>
 <blockquote>
-<p>Exclusive mode is the default subscription mode.</p>
+<p>Exclusive is the default subscription type.</p>
 </blockquote>
 <p><img src="/docs/assets/pulsar-exclusive-subscriptions.png" alt="Exclusive subscriptions"></p>
 <h3><a class="anchor" aria-hidden="true" id="failover"></a><a href="#failover" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
-<p>In <em>failover</em> mode, multiple consumers can attach to the same subscription. A master consumer is picked for non-partitioned topic or each partition of partitioned topic and receives messages. When the master consumer disconnects, all (non-acknowledged and subsequent) messages are delivered to the next consumer in line.</p>
+<p>In <em>Failover</em> type, multiple consumers can attach to the same subscription. A master consumer is picked for non-partitioned topic or each partition of partitioned topic and receives messages. When the master consumer disconnects, all (non-acknowledged and subsequent) messages are delivered to the next consumer in line.</p>
 <p>For partitioned topics, broker will sort consumers by priority level and lexicographical order of consumer name. Then broker will try to evenly assigns topics to consumers with the highest priority level.</p>
 <p>For non-partitioned topic, broker will pick consumer in the order they subscribe to the non partitioned topic.</p>
 <p>In the diagram below, <strong>Consumer-B-0</strong> is the master consumer while <strong>Consumer-B-1</strong> would be the next consumer in line to receive messages if <strong>Consumer-B-0</strong> is disconnected.</p>
@@ -335,9 +335,9 @@ Consumer&lt;<span class="hljs-keyword">byte</span>[]&gt; someTopicsConsumer = pu
 <p>The diagram below illustrates this:</p>
 <p><img src="/docs/assets/partitioning.png" alt=""></p>
 <p>The <strong>Topic1</strong> topic has five partitions (<strong>P0</strong> through <strong>P4</strong>) split across three brokers. Because there are more partitions than brokers, two brokers handle two partitions a piece, while the third handles only one (again, Pulsar handles this distribution of partitions automatically).</p>
-<p>Messages for this topic are broadcast to two consumers. The <a href="#routing-modes">routing mode</a> determines each message should be published to which partition, while the <a href="#subscription-modes">subscription mode</a> determines which messages go to which consumers.</p>
-<p>Decisions about routing and subscription modes can be made separately in most cases. In general, throughput concerns should guide partitioning/routing decisions while subscription decisions should be guided by application semantics.</p>
-<p>There is no difference between partitioned topics and normal topics in terms of how subscription modes work, as partitioning only determines what happens between when a message is published by a producer and processed and acknowledged by a consumer.</p>
+<p>Messages for this topic are broadcast to two consumers. The <a href="#routing-modes">routing mode</a> determines each message should be published to which partition, while the <a href="#subscription-types">subscription type</a> determines which messages go to which consumers.</p>
+<p>Decisions about routing and subscription types can be made separately in most cases. In general, throughput concerns should guide partitioning/routing decisions while subscription decisions should be guided by application semantics.</p>
+<p>There is no difference between partitioned topics and normal topics in terms of how subscription types work, as partitioning only determines what happens between when a message is published by a producer and processed and acknowledged by a consumer.</p>
 <p>Partitioned topics need to be explicitly created via the <a href="/docs/fr/2.6.4/admin-api-overview">admin API</a>. The number of partitions can be specified when creating the topic.</p>
 <h3><a class="anchor" aria-hidden="true" id="routing-modes"></a><a href="#routing-modes" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>When publishing to partitioned topics, you must specify a <em>routing mode</em>. The routing mode determines which partition---that is, which internal topic---each message should be published to.</p>
@@ -389,7 +389,7 @@ Consumer&lt;<span class="hljs-keyword">byte</span>[]&gt; someTopicsConsumer = pu
 <h3><a class="anchor" aria-hidden="true" id="performance"></a><a href="#performance" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>Non-persistent messaging is usually faster than persistent messaging because brokers don't persist messages and immediately send acks back to the producer as soon as that message is delivered to connected brokers. Producers thus see comparatively low publish latency with non-persistent topic.</p>
 <h3><a class="anchor" aria-hidden="true" id="client-api"></a><a href="#client-api" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>Producers and consumers can connect to non-persistent topics in the same way as persistent topics, with the crucial difference that the topic name must start with <code>non-persistent</code>. All three subscription modes---<a href="#exclusive">exclusive</a>, <a href="#shared">shared</a>, and <a href="#failover">failover</a>---are supported for non-persistent topics.</p>
+<p>Producers and consumers can connect to non-persistent topics in the same way as persistent topics, with the crucial difference that the topic name must start with <code>non-persistent</code>. All three subscription types---<a href="#exclusive">exclusive</a>, <a href="#shared">shared</a>, and <a href="#failover">failover</a>---are supported for non-persistent topics.</p>
 <p>Here's an example <a href="/docs/fr/2.6.4/client-libraries-java#consumers">Java consumer</a> for a non-persistent topic:</p>
 <pre><code class="hljs css language-java">PulsarClient client = PulsarClient.builder()
         .serviceUrl(<span class="hljs-string">"pulsar://localhost:6650"</span>)
@@ -443,7 +443,7 @@ Consumer&lt;<span class="hljs-keyword">byte</span>[]&gt; consumer = client.newCo
 </blockquote>
 <h2><a class="anchor" aria-hidden="true" id="delayed-message-delivery"></a><a href="#delayed-message-delivery" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>Delayed message delivery enables you to consume a message later rather than immediately. In this mechanism, a message is stored in BookKeeper, <code>DelayedDeliveryTracker</code> maintains the time index(time -&gt; messageId) in memory after published to a broker, and it is delivered to a consumer once the specific delayed time is passed.</p>
-<p>Delayed message delivery only works in Shared subscription mode. In Exclusive and Failover subscription modes, the delayed message is dispatched immediately.</p>
+<p>Delayed message delivery only works in Shared subscription type. In Exclusive and Failover subscription types, the delayed message is dispatched immediately.</p>
 <p>The diagram below illustrates the concept of delayed message delivery:</p>
 <p><img src="/docs/assets/message_delay.png" alt="Delayed Message Delivery"></p>
 <p>A broker saves a message without any check. When a consumer consumes a message, if the message is set to delay, then the message is added to <code>DelayedDeliveryTracker</code>. A subscription checks and gets timeout messages from <code>DelayedDeliveryTracker</code>.</p>
diff --git a/content/docs/fr/2.6.4/concepts-messaging/index.html b/content/docs/fr/2.6.4/concepts-messaging/index.html
index 808f6ca..fa71bee 100644
--- a/content/docs/fr/2.6.4/concepts-messaging/index.html
+++ b/content/docs/fr/2.6.4/concepts-messaging/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>Messaging · Apache Pulsar</title><meta name="viewport" content="width=device-width, initial-scale=1.0"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar is built on the [publish-subscribe](https://en.wikipedia.org/wiki/Publish%E2%80%93subscribe_pattern) pattern (short for pub-sub). In this pattern, [producers](#producers) publish me [...]
+<!DOCTYPE html><html lang="fr"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Messaging · Apache Pulsar</title><meta name="viewport" content="width=device-width, initial-scale=1.0"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar is built on the [publish-subscribe](https://en.wikipedia.org/wiki/Publish%E2%80%93subscribe_pattern) pattern (short for pub-sub). In this pattern, [producers](#producers) publish me [...]
               (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,7 +74,7 @@
                 };
               }
             });
-        </script></nav></div><div class="container mainContainer docsContainer"><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 id="__docusaurus" class="postHeaderTitle">Messaging</h1></header><article><div><span><p>Pulsar is built on the <a href="https://en.wikipedia.org/wiki/Publish%E2%80%93subscribe_pattern">publish-subscribe [...]
+        </script></nav></div><div class="container mainContainer docsContainer"><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 id="__docusaurus" class="postHeaderTitle">Messaging</h1></header><article><div><span><p>Pulsar is built on the <a href="https://en.wikipedia.org/wiki/Publish%E2%80%93subscribe_pattern">publish-subscribe [...]
 <p>When a subscription is created, Pulsar <a href="/docs/fr/2.6.4/concepts-architecture-overview#persistent-storage">retains</a> all messages, even if the consumer is disconnected. Retained messages are discarded only when a consumer acknowledges that those messages are processed successfully.</p>
 <h2><a class="anchor" aria-hidden="true" id="messages"></a><a href="#messages" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
 <p>Messages are the basic &quot;unit&quot; of Pulsar. The following table lists the components of messages.</p>
@@ -128,7 +128,7 @@
 <ul>
 <li>Batching and chunking cannot be enabled simultaneously. To enable chunking, you must disable batching in advance.</li>
 <li>Chunking is only supported for persisted topics.</li>
-<li>Chunking is only supported for the exclusive and failover subscription modes.</li>
+<li>Chunking is only supported for the exclusive and failover subscription types.</li>
 </ul>
 <p>When chunking is enabled (<code>chunkingEnabled=true</code>), if the message size is greater than the allowed maximum publish-payload size, the producer splits the original message into chunked messages and publishes them with chunked metadata to the broker separately and in order. At the broker side, the chunked messages are stored in the managed-ledger in the same way as that of ordinary messages. The only difference is that the consumer needs to buffer the chunked messages and comb [...]
 <p>The consumer consumes the chunked messages and buffers them until the consumer receives all the chunks of a message. And then the consumer stitches chunked messages together and places them into the receiver-queue. Clients consume messages from the receiver-queue. Once the consumer consumes the entire large message and acknowledges it, the consumer internally sends acknowledgement of all the chunk messages associated to that large message. You can set the <code>maxPendingChuckedMessag [...]
@@ -166,13 +166,13 @@
 </ul>
 <blockquote>
 <p>Note</p>
-<p>Cumulative acknowledgement cannot be used in the <a href="#subscription-modes">shared subscription mode</a>, because the shared subscription mode involves multiple consumers who have access to the same subscription. In the shared subscription mode, messages are acknowledged individually.</p>
+<p>Cumulative acknowledgement cannot be used in <a href="#subscription-types">Shared subscription type</a>, because this subscription type involves multiple consumers which have access to the same subscription. In Shared subscription type, messages are acknowledged individually.</p>
 </blockquote>
 <h3><a class="anchor" aria-hidden="true" id="negative-acknowledgement"></a><a href="#negative-acknowledgement" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>When a consumer does not consume a message successfully at a time, and wants to consume the message again, the consumer sends a negative acknowledgement to the broker, and then the broker redelivers the message.</p>
-<p>Messages are negatively acknowledged one by one or cumulatively, which depends on the consumption subscription mode.</p>
-<p>In the exclusive and failover subscription modes, consumers only negatively acknowledge the last message they receive.</p>
-<p>In the shared and Key_Shared subscription modes, you can negatively acknowledge messages individually.</p>
+<p>Messages are negatively acknowledged either individually or cumulatively, depending on the consumption subscription type.</p>
+<p>In the exclusive and failover subscription types, consumers only negatively acknowledge the last message they receive.</p>
+<p>In the shared and Key_Shared subscription types, you can negatively acknowledge messages individually.</p>
 <blockquote>
 <p>Note If batching is enabled, other messages and the negatively acknowledged messages in the same batch are redelivered to the consumer.</p>
 </blockquote>
@@ -215,8 +215,8 @@ Prefer negative acknowledgements over acknowledgement timeout. Negative acknowle
 </code></pre>
 <p>Dead letter topic depends on message re-delivery. Messages are redelivered either due to <a href="#acknowledgement-timeout">acknowledgement timeout</a> or <a href="#negative-acknowledgement">negative acknowledgement</a>. If you are going to use negative acknowledgement on a message, make sure it is negatively acknowledged before the acknowledgement timeout.</p>
 <blockquote>
-<p>Note<br>
-Currently, dead letter topic is enabled only in the shared subscription mode.</p>
+<p><strong>Note</strong>    <br>
+Currently, dead letter topic is enabled only in Shared subscription type.</p>
 </blockquote>
 <h3><a class="anchor" aria-hidden="true" id="retry-letter-topic"></a><a href="#retry-letter-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- [...]
 <p>For many online business systems, a message is re-consumed due to exception occurs in the business logic processing. To configure the delay time for re-consuming the failed messages, you can configure the producer to send messages to both the business topic and the retry letter topic, and enable automatic retry on the consumer. When automatic retry is enabled on the consumer, a message is stored in the retry letter topic if the messages are not consumed, and therefore the consumer aut [...]
@@ -257,21 +257,21 @@ Currently, dead letter topic is enabled only in the shared subscription mode.</p
 <h2><a class="anchor" aria-hidden="true" id="espaces-de-nommage"></a><a href="#espaces-de-nommage" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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- [...]
 <p>A namespace is a logical nomenclature within a tenant. A tenant creates multiple namespaces via the <a href="/docs/fr/2.6.4/admin-api-namespaces#create">admin API</a>. For instance, a tenant with different applications can create a separate namespace for each application. A namespace allows the application to create and manage a hierarchy of topics. The topic <code>my-tenant/app1</code> is a namespace for the application <code>app1</code> for <code>my-tenant</code>. You can create any [...]
 <h2><a class="anchor" aria-hidden="true" id="subscriptions"></a><a href="#subscriptions" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>A subscription is a named configuration rule that determines how messages are delivered to consumers. Four subscription modes are available in Pulsar: <a href="#exclusive">exclusive</a>, <a href="#shared">shared</a>, <a href="#failover">failover</a>, and <a href="#key_shared">key_shared</a>. These modes are illustrated in the figure below.</p>
-<p><img src="/docs/assets/pulsar-subscription-modes.png" alt="Subscription modes"></p>
+<p>A subscription is a named configuration rule that determines how messages are delivered to consumers. Four subscription types are available in Pulsar: <a href="#exclusive">exclusive</a>, <a href="#shared">shared</a>, <a href="#failover">failover</a>, and <a href="#key_shared">key_shared</a>. These types are illustrated in the figure below.</p>
+<p><img src="/docs/assets/pulsar-subscription-types.png" alt="Subscription types"></p>
 <blockquote>
 <h3><a class="anchor" aria-hidden="true" id="pub-sub-or-queuing"></a><a href="#pub-sub-or-queuing" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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- [...]
-<p>In Pulsar, you can use different subscriptions flexibly. * If you want to achieve traditional &quot;fan-out pub-sub messaging&quot; among consumers, specify a unique subscription name for each consumer. It is exclusive subscription mode. * If you want to achieve &quot;message queuing&quot; among consumers, share the same subscription name among multiple consumers(shared, failover, key_shared). * If you want to achieve both effects simultaneously, combine exclusive subscription mode wi [...]
+<p>In Pulsar, you can use different subscriptions flexibly. * If you want to achieve traditional &quot;fan-out pub-sub messaging&quot; among consumers, specify a unique subscription name for each consumer. It is exclusive subscription type. * If you want to achieve &quot;message queuing&quot; among consumers, share the same subscription name among multiple consumers(shared, failover, key_shared). * If you want to achieve both effects simultaneously, combine exclusive subscription type wi [...]
 </blockquote>
 <h3><a class="anchor" aria-hidden="true" id="exclusive"></a><a href="#exclusive" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>In <em>exclusive</em> mode, only a single consumer is allowed to attach to the subscription. If multiple consumers subscribe to a topic using the same subscription, an error occurs.</p>
+<p>In <em>exclusive</em> type, only a single consumer is allowed to attach to the subscription. If multiple consumers subscribe to a topic using the same subscription, an error occurs.</p>
 <p>In the diagram below, only <strong>Consumer A-0</strong> is allowed to consume messages.</p>
 <blockquote>
-<p>Exclusive mode is the default subscription mode.</p>
+<p>Exclusive is the default subscription type.</p>
 </blockquote>
 <p><img src="/docs/assets/pulsar-exclusive-subscriptions.png" alt="Exclusive subscriptions"></p>
 <h3><a class="anchor" aria-hidden="true" id="failover"></a><a href="#failover" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
-<p>In <em>failover</em> mode, multiple consumers can attach to the same subscription. A master consumer is picked for non-partitioned topic or each partition of partitioned topic and receives messages. When the master consumer disconnects, all (non-acknowledged and subsequent) messages are delivered to the next consumer in line.</p>
+<p>In <em>Failover</em> type, multiple consumers can attach to the same subscription. A master consumer is picked for non-partitioned topic or each partition of partitioned topic and receives messages. When the master consumer disconnects, all (non-acknowledged and subsequent) messages are delivered to the next consumer in line.</p>
 <p>For partitioned topics, broker will sort consumers by priority level and lexicographical order of consumer name. Then broker will try to evenly assigns topics to consumers with the highest priority level.</p>
 <p>For non-partitioned topic, broker will pick consumer in the order they subscribe to the non partitioned topic.</p>
 <p>In the diagram below, <strong>Consumer-B-0</strong> is the master consumer while <strong>Consumer-B-1</strong> would be the next consumer in line to receive messages if <strong>Consumer-B-0</strong> is disconnected.</p>
@@ -335,9 +335,9 @@ Consumer&lt;<span class="hljs-keyword">byte</span>[]&gt; someTopicsConsumer = pu
 <p>The diagram below illustrates this:</p>
 <p><img src="/docs/assets/partitioning.png" alt=""></p>
 <p>The <strong>Topic1</strong> topic has five partitions (<strong>P0</strong> through <strong>P4</strong>) split across three brokers. Because there are more partitions than brokers, two brokers handle two partitions a piece, while the third handles only one (again, Pulsar handles this distribution of partitions automatically).</p>
-<p>Messages for this topic are broadcast to two consumers. The <a href="#routing-modes">routing mode</a> determines each message should be published to which partition, while the <a href="#subscription-modes">subscription mode</a> determines which messages go to which consumers.</p>
-<p>Decisions about routing and subscription modes can be made separately in most cases. In general, throughput concerns should guide partitioning/routing decisions while subscription decisions should be guided by application semantics.</p>
-<p>There is no difference between partitioned topics and normal topics in terms of how subscription modes work, as partitioning only determines what happens between when a message is published by a producer and processed and acknowledged by a consumer.</p>
+<p>Messages for this topic are broadcast to two consumers. The <a href="#routing-modes">routing mode</a> determines each message should be published to which partition, while the <a href="#subscription-types">subscription type</a> determines which messages go to which consumers.</p>
+<p>Decisions about routing and subscription types can be made separately in most cases. In general, throughput concerns should guide partitioning/routing decisions while subscription decisions should be guided by application semantics.</p>
+<p>There is no difference between partitioned topics and normal topics in terms of how subscription types work, as partitioning only determines what happens between when a message is published by a producer and processed and acknowledged by a consumer.</p>
 <p>Partitioned topics need to be explicitly created via the <a href="/docs/fr/2.6.4/admin-api-overview">admin API</a>. The number of partitions can be specified when creating the topic.</p>
 <h3><a class="anchor" aria-hidden="true" id="routing-modes"></a><a href="#routing-modes" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>When publishing to partitioned topics, you must specify a <em>routing mode</em>. The routing mode determines which partition---that is, which internal topic---each message should be published to.</p>
@@ -389,7 +389,7 @@ Consumer&lt;<span class="hljs-keyword">byte</span>[]&gt; someTopicsConsumer = pu
 <h3><a class="anchor" aria-hidden="true" id="performance"></a><a href="#performance" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>Non-persistent messaging is usually faster than persistent messaging because brokers don't persist messages and immediately send acks back to the producer as soon as that message is delivered to connected brokers. Producers thus see comparatively low publish latency with non-persistent topic.</p>
 <h3><a class="anchor" aria-hidden="true" id="client-api"></a><a href="#client-api" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>Producers and consumers can connect to non-persistent topics in the same way as persistent topics, with the crucial difference that the topic name must start with <code>non-persistent</code>. All three subscription modes---<a href="#exclusive">exclusive</a>, <a href="#shared">shared</a>, and <a href="#failover">failover</a>---are supported for non-persistent topics.</p>
+<p>Producers and consumers can connect to non-persistent topics in the same way as persistent topics, with the crucial difference that the topic name must start with <code>non-persistent</code>. All three subscription types---<a href="#exclusive">exclusive</a>, <a href="#shared">shared</a>, and <a href="#failover">failover</a>---are supported for non-persistent topics.</p>
 <p>Here's an example <a href="/docs/fr/2.6.4/client-libraries-java#consumers">Java consumer</a> for a non-persistent topic:</p>
 <pre><code class="hljs css language-java">PulsarClient client = PulsarClient.builder()
         .serviceUrl(<span class="hljs-string">"pulsar://localhost:6650"</span>)
@@ -443,7 +443,7 @@ Consumer&lt;<span class="hljs-keyword">byte</span>[]&gt; consumer = client.newCo
 </blockquote>
 <h2><a class="anchor" aria-hidden="true" id="delayed-message-delivery"></a><a href="#delayed-message-delivery" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>Delayed message delivery enables you to consume a message later rather than immediately. In this mechanism, a message is stored in BookKeeper, <code>DelayedDeliveryTracker</code> maintains the time index(time -&gt; messageId) in memory after published to a broker, and it is delivered to a consumer once the specific delayed time is passed.</p>
-<p>Delayed message delivery only works in Shared subscription mode. In Exclusive and Failover subscription modes, the delayed message is dispatched immediately.</p>
+<p>Delayed message delivery only works in Shared subscription type. In Exclusive and Failover subscription types, the delayed message is dispatched immediately.</p>
 <p>The diagram below illustrates the concept of delayed message delivery:</p>
 <p><img src="/docs/assets/message_delay.png" alt="Delayed Message Delivery"></p>
 <p>A broker saves a message without any check. When a consumer consumes a message, if the message is set to delay, then the message is added to <code>DelayedDeliveryTracker</code>. A subscription checks and gets timeout messages from <code>DelayedDeliveryTracker</code>.</p>
diff --git a/content/docs/fr/2.6.4/concepts-overview.html b/content/docs/fr/2.6.4/concepts-overview.html
index b819875..4bba70a 100644
--- a/content/docs/fr/2.6.4/concepts-overview.html
+++ b/content/docs/fr/2.6.4/concepts-overview.html
@@ -81,7 +81,7 @@
 <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/fr/2.6.4/concepts-clients">client API</a> with bindings for <a href="/docs/fr/2.6.4/client-libraries-java">Java</a>, <a href="/docs/fr/2.6.4/client-libraries-go">Go</a>, <a href="/docs/fr/2.6.4/client-libraries-python">Python</a> and <a href="/docs/fr/2.6.4/client-libraries-cpp">C++</a>.</li>
-<li>Multiple <a href="/docs/fr/2.6.4/concepts-messaging#subscription-modes">subscription modes</a> (<a href="/docs/fr/2.6.4/concepts-messaging#exclusive">exclusive</a>, <a href="/docs/fr/2.6.4/concepts-messaging#shared">shared</a>, and <a href="/docs/fr/2.6.4/concepts-messaging#failover">failover</a>) for topics.</li>
+<li>Multiple <a href="/docs/fr/2.6.4/concepts-messaging#subscription-types">subscription types</a> (<a href="/docs/fr/2.6.4/concepts-messaging#exclusive">exclusive</a>, <a href="/docs/fr/2.6.4/concepts-messaging#shared">shared</a>, and <a href="/docs/fr/2.6.4/concepts-messaging#failover">failover</a>) for topics.</li>
 <li>Guaranteed message delivery with <a href="/docs/fr/2.6.4/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/fr/2.6.4/functions-overview">Pulsar Functions</a> offers the capability for stream-native data processing.</li>
 <li>A serverless connector framework <a href="/docs/fr/2.6.4/io-overview">Pulsar IO</a>, which is built on Pulsar Functions, makes it easier to move data in and out of Apache Pulsar.</li>
diff --git a/content/docs/fr/2.6.4/concepts-overview/index.html b/content/docs/fr/2.6.4/concepts-overview/index.html
index b819875..4bba70a 100644
--- a/content/docs/fr/2.6.4/concepts-overview/index.html
+++ b/content/docs/fr/2.6.4/concepts-overview/index.html
@@ -81,7 +81,7 @@
 <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/fr/2.6.4/concepts-clients">client API</a> with bindings for <a href="/docs/fr/2.6.4/client-libraries-java">Java</a>, <a href="/docs/fr/2.6.4/client-libraries-go">Go</a>, <a href="/docs/fr/2.6.4/client-libraries-python">Python</a> and <a href="/docs/fr/2.6.4/client-libraries-cpp">C++</a>.</li>
-<li>Multiple <a href="/docs/fr/2.6.4/concepts-messaging#subscription-modes">subscription modes</a> (<a href="/docs/fr/2.6.4/concepts-messaging#exclusive">exclusive</a>, <a href="/docs/fr/2.6.4/concepts-messaging#shared">shared</a>, and <a href="/docs/fr/2.6.4/concepts-messaging#failover">failover</a>) for topics.</li>
+<li>Multiple <a href="/docs/fr/2.6.4/concepts-messaging#subscription-types">subscription types</a> (<a href="/docs/fr/2.6.4/concepts-messaging#exclusive">exclusive</a>, <a href="/docs/fr/2.6.4/concepts-messaging#shared">shared</a>, and <a href="/docs/fr/2.6.4/concepts-messaging#failover">failover</a>) for topics.</li>
 <li>Guaranteed message delivery with <a href="/docs/fr/2.6.4/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/fr/2.6.4/functions-overview">Pulsar Functions</a> offers the capability for stream-native data processing.</li>
 <li>A serverless connector framework <a href="/docs/fr/2.6.4/io-overview">Pulsar IO</a>, which is built on Pulsar Functions, makes it easier to move data in and out of Apache Pulsar.</li>
diff --git a/content/docs/fr/2.7.0/client-libraries-java.html b/content/docs/fr/2.7.0/client-libraries-java.html
index 13622fd..5e06305 100644
--- a/content/docs/fr/2.7.0/client-libraries-java.html
+++ b/content/docs/fr/2.7.0/client-libraries-java.html
@@ -269,7 +269,7 @@ Consumer consumer = client.newConsumer()
 <h3><a class="anchor" aria-hidden="true" id="configure-consumer"></a><a href="#configure-consumer" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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- [...]
 <p>If you instantiate a <code>Consumer</code> object by specifying only a topic and subscription name as in the example above, the consumer uses the default configuration.</p>
 <p>When you create a consumer, you can use the <code>loadConf</code> configuration. The following parameters are available in <code>loadConf</code>.</p>
-<p>Type | Name| <div style="width:300px">Description</div>|  Default |---|---|---|--- Set&lt;String&gt;|  <code>topicNames</code>|   Topic name| Sets.newTreeSet() Pattern|   <code>topicsPattern</code>| Topic pattern   |None String| <code>subscriptionName</code>| Subscription name|  None SubscriptionType| <code>subscriptionType</code>|   Subscription type <br/><br/>Four subscription types are available:<li>Exclusive</li><li>Failover</li><li>Shared</li><li>Key_Shared</li>|SubscriptionType. [...]
+<p>Type | Name| <div style="width:300px">Description</div>|  Default |---|---|---|--- Set&lt;String&gt;|  <code>topicNames</code>|   Topic name| Sets.newTreeSet() Pattern|   <code>topicsPattern</code>| Topic pattern   |None String| <code>subscriptionName</code>| Subscription name|  None SubscriptionType| <code>subscriptionType</code>|   Subscription type <br/><br/>Four subscription types are available:<li>Exclusive</li><li>Failover</li><li>Shared</li><li>Key_Shared</li>|SubscriptionType. [...]
 SortedMap&lt;String, String&gt;|<code>properties</code>|A name or value property of this consumer.<br/><br/><code>properties</code> is application defined metadata attached to a consumer. <br/><br/>When getting a topic stats, associate this metadata with the consumer stats for easier identification.|new TreeMap&lt;&gt;() boolean|<code>readCompacted</code>|If enabling <code>readCompacted</code>, a consumer reads messages from a compacted topic rather than reading a full message backlog of [...]
 <p>You can configure parameters if you do not want to use the default configuration. For a full list, see the Javadoc for the <a href="https://pulsar.incubator.apache.org/api/client/2.8.0-SNAPSHOT/org/apache/pulsar/client/api/ConsumerBuilder">ConsumerBuilder</a>
  class.</p>
@@ -298,8 +298,8 @@ SortedMap&lt;String, String&gt;|<code>properties</code>|A name or value property
 consumer.acknowledge(messages)
 </code></pre>
 <blockquote>
-<p>Note:</p>
-<p>Batch receive policy limits the number and bytes of messages in a single batch. You can specify a timeout to wait for enough messages.</p>
+<p><strong>Note</strong>  <br>
+Batch receive policy limits the number and bytes of messages in a single batch. You can specify a timeout to wait for enough messages.</p>
 <p>The batch receive is completed if any of the following condition is met: enough number of messages, bytes of messages, wait timeout.</p>
 <pre><code class="hljs css language-java">Consumer consumer = client.newConsumer()
         .topic(<span class="hljs-string">"my-topic"</span>)
@@ -390,10 +390,10 @@ consumerBuilder
             });
 }
 </code></pre>
-<h3><a class="anchor" aria-hidden="true" id="subscription-modes"></a><a href="#subscription-modes" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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- [...]
-<p>Pulsar has various <a href="concepts-messaging#subscription-modes">subscription modes</a> to match different scenarios. A topic can have multiple subscriptions with different subscription modes. However, a subscription can only have one subscription mode at a time.</p>
-<p>A subscription is identical with the subscription name which can specify only one subscription mode at a time. You cannot change the subscription mode unless all existing consumers of this subscription are offline.</p>
-<p>Different subscription modes have different message distribution modes. This section describes the differences of subscription modes and how to use them.</p>
+<h3><a class="anchor" aria-hidden="true" id="subscription-types"></a><a href="#subscription-types" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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- [...]
+<p>Pulsar has various <a href="concepts-messaging#subscription-types">subscription types</a> to match different scenarios. A topic can have multiple subscriptions with different subscription types. However, a subscription can only have one subscription type at a time.</p>
+<p>A subscription is identical with the subscription name; a subscription name can specify only one subscription type at a time. To change the subscription type, you should first stop all consumers of this subscription.</p>
+<p>Different subscription types have different message distribution modes. This section describes the differences of subscription types and how to use them.</p>
 <p>In order to better describe their differences, assuming you have a topic named &quot;my-topic&quot;, and the producer has published 10 messages.</p>
 <pre><code class="hljs css language-java">Producer&lt;String&gt; producer = client.newProducer(Schema.STRING)
         .topic(<span class="hljs-string">"my-topic"</span>)
@@ -412,7 +412,7 @@ producer.newMessage().key(<span class="hljs-string">"key-4"</span>).value(<span
 producer.newMessage().key(<span class="hljs-string">"key-4"</span>).value(<span class="hljs-string">"message-4-2"</span>).send();
 </code></pre>
 <h4><a class="anchor" aria-hidden="true" id="exclusive"></a><a href="#exclusive" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>Create a new consumer and subscribe with the <code>Exclusive</code> subscription mode.</p>
+<p>Create a new consumer and subscribe with the <code>Exclusive</code> subscription type.</p>
 <pre><code class="hljs css language-java">Consumer consumer = client.newConsumer()
         .topic(<span class="hljs-string">"my-topic"</span>)
         .subscriptionName(<span class="hljs-string">"my-subscription"</span>)
@@ -421,11 +421,11 @@ producer.newMessage().key(<span class="hljs-string">"key-4"</span>).value(<span
 </code></pre>
 <p>Only the first consumer is allowed to the subscription, other consumers receive an error. The first consumer receives all 10 messages, and the consuming order is the same as the producing order.</p>
 <blockquote>
-<p>Note:</p>
-<p>If topic is a partitioned topic, the first consumer subscribes to all partitioned topics, other consumers are not assigned with partitions and receive an error.</p>
+<p><strong>Note</strong>  <br>
+If topic is a partitioned topic, the first consumer subscribes to all partitioned topics, other consumers are not assigned with partitions and receive an error.</p>
 </blockquote>
 <h4><a class="anchor" aria-hidden="true" id="failover"></a><a href="#failover" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
-<p>Create new consumers and subscribe with the<code>Failover</code> subscription mode.</p>
+<p>Create new consumers and subscribe with the<code>Failover</code> subscription type.</p>
 <pre><code class="hljs css language-java">Consumer consumer1 = client.newConsumer()
         .topic(<span class="hljs-string">"my-topic"</span>)
         .subscriptionName(<span class="hljs-string">"my-subscription"</span>)
@@ -457,11 +457,11 @@ Consumer consumer2 = client.newConsumer()
 (<span class="hljs-string">"key-4"</span>, <span class="hljs-string">"message-4-2"</span>)
 </code></pre>
 <blockquote>
-<p>Note:</p>
-<p>If a topic is a partitioned topic, each partition has only one active consumer, messages of one partition are distributed to only one consumer, and messages of multiple partitions are distributed to multiple consumers.</p>
+<p><strong>Note</strong>  <br>
+If a topic is a partitioned topic, each partition has only one active consumer, messages of one partition are distributed to only one consumer, and messages of multiple partitions are distributed to multiple consumers.</p>
 </blockquote>
 <h4><a class="anchor" aria-hidden="true" id="shared"></a><a href="#shared" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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. [...]
-<p>Create new consumers and subscribe with <code>Shared</code> subscription mode:</p>
+<p>Create new consumers and subscribe with <code>Shared</code> subscription type.</p>
 <pre><code class="hljs css language-java">Consumer consumer1 = client.newConsumer()
         .topic(<span class="hljs-string">"my-topic"</span>)
         .subscriptionName(<span class="hljs-string">"my-subscription"</span>)
@@ -475,7 +475,7 @@ Consumer consumer2 = client.newConsumer()
         .subscribe()
 <span class="hljs-comment">//Both consumer1 and consumer 2 is active consumers.</span>
 </code></pre>
-<p>In shared subscription mode, multiple consumers can attach to the same subscription and messages are delivered in a round robin distribution across consumers.</p>
+<p>In shared subscription type, multiple consumers can attach to the same subscription and messages are delivered in a round robin distribution across consumers.</p>
 <p>If a broker dispatches only one message at a time, consumer1 receives the following information.</p>
 <pre><code class="hljs">(<span class="hljs-string">"key-1"</span>, <span class="hljs-string">"message-1-1"</span>)
 (<span class="hljs-string">"key-1"</span>, <span class="hljs-string">"message-1-3"</span>)
@@ -490,9 +490,9 @@ Consumer consumer2 = client.newConsumer()
 (<span class="hljs-string">"key-3"</span>, <span class="hljs-string">"message-3-2"</span>)
 (<span class="hljs-string">"key-4"</span>, <span class="hljs-string">"message-4-2"</span>)
 </code></pre>
-<p><code>Shared</code> subscription is different from <code>Exclusive</code> and <code>Failover</code> subscription modes. <code>Shared</code> subscription has better flexibility, but cannot provide order guarantee.</p>
+<p><code>Shared</code> subscription is different from <code>Exclusive</code> and <code>Failover</code> subscription types. <code>Shared</code> subscription has better flexibility, but cannot provide order guarantee.</p>
 <h4><a class="anchor" aria-hidden="true" id="key_shared"></a><a href="#key_shared" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>This is a new subscription mode since 2.4.0 release, create new consumers and subscribe with <code>Key_Shared</code> subscription mode.</p>
+<p>This is a new subscription type since 2.4.0 release. Create new consumers and subscribe with <code>Key_Shared</code> subscription type.</p>
 <pre><code class="hljs css language-java">Consumer consumer1 = client.newConsumer()
         .topic(<span class="hljs-string">"my-topic"</span>)
         .subscriptionName(<span class="hljs-string">"my-subscription"</span>)
@@ -534,8 +534,8 @@ Consumer consumer2 = client.newConsumer()
         .create();
 </code></pre>
 <blockquote>
-<p>Note:</p>
-<p>If the message key is not specified, messages without key are dispatched to one consumer in order by default.</p>
+<p><strong>Note</strong>  <br>
+If the message key is not specified, messages without key are dispatched to one consumer in order by default.</p>
 </blockquote>
 <h2><a class="anchor" aria-hidden="true" id="reader"></a><a href="#reader" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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. [...]
 <p>With the <a href="/docs/fr/2.7.0/concepts-clients#reader-interface">reader interface</a>, Pulsar clients can &quot;manually position&quot; themselves within a topic and reading all messages from a specified message onward. The Pulsar API for Java enables you to create <a href="https://pulsar.incubator.apache.org/api/client/2.8.0-SNAPSHOT/org/apache/pulsar/client/api/Reader">Reader</a>
@@ -711,7 +711,7 @@ PulsarClient client = PulsarClient.builder()
     .authentication(auth)
     .build();
 </code></pre>
-</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/fr/2.7.0/client-libraries"><span class="arrow-prev">← </span><span>Overview</span></a><a class="docs-next button" href="/docs/fr/2.7.0/client-libraries-go"><span>Go</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#installation">Installation</a><ul class="toc-headings"><li><a href="#maven">Maven</a></li><li><a href="#gra [...]
+</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/fr/2.7.0/client-libraries"><span class="arrow-prev">← </span><span>Overview</span></a><a class="docs-next button" href="/docs/fr/2.7.0/client-libraries-go"><span>Go</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#installation">Installation</a><ul class="toc-headings"><li><a href="#maven">Maven</a></li><li><a href="#gra [...]
       const community = document.querySelector("a[href='#community']").parentNode;
       const communityMenu =
         '<li>' +
diff --git a/content/docs/fr/2.7.0/client-libraries-java/index.html b/content/docs/fr/2.7.0/client-libraries-java/index.html
index 13622fd..5e06305 100644
--- a/content/docs/fr/2.7.0/client-libraries-java/index.html
+++ b/content/docs/fr/2.7.0/client-libraries-java/index.html
@@ -269,7 +269,7 @@ Consumer consumer = client.newConsumer()
 <h3><a class="anchor" aria-hidden="true" id="configure-consumer"></a><a href="#configure-consumer" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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- [...]
 <p>If you instantiate a <code>Consumer</code> object by specifying only a topic and subscription name as in the example above, the consumer uses the default configuration.</p>
 <p>When you create a consumer, you can use the <code>loadConf</code> configuration. The following parameters are available in <code>loadConf</code>.</p>
-<p>Type | Name| <div style="width:300px">Description</div>|  Default |---|---|---|--- Set&lt;String&gt;|  <code>topicNames</code>|   Topic name| Sets.newTreeSet() Pattern|   <code>topicsPattern</code>| Topic pattern   |None String| <code>subscriptionName</code>| Subscription name|  None SubscriptionType| <code>subscriptionType</code>|   Subscription type <br/><br/>Four subscription types are available:<li>Exclusive</li><li>Failover</li><li>Shared</li><li>Key_Shared</li>|SubscriptionType. [...]
+<p>Type | Name| <div style="width:300px">Description</div>|  Default |---|---|---|--- Set&lt;String&gt;|  <code>topicNames</code>|   Topic name| Sets.newTreeSet() Pattern|   <code>topicsPattern</code>| Topic pattern   |None String| <code>subscriptionName</code>| Subscription name|  None SubscriptionType| <code>subscriptionType</code>|   Subscription type <br/><br/>Four subscription types are available:<li>Exclusive</li><li>Failover</li><li>Shared</li><li>Key_Shared</li>|SubscriptionType. [...]
 SortedMap&lt;String, String&gt;|<code>properties</code>|A name or value property of this consumer.<br/><br/><code>properties</code> is application defined metadata attached to a consumer. <br/><br/>When getting a topic stats, associate this metadata with the consumer stats for easier identification.|new TreeMap&lt;&gt;() boolean|<code>readCompacted</code>|If enabling <code>readCompacted</code>, a consumer reads messages from a compacted topic rather than reading a full message backlog of [...]
 <p>You can configure parameters if you do not want to use the default configuration. For a full list, see the Javadoc for the <a href="https://pulsar.incubator.apache.org/api/client/2.8.0-SNAPSHOT/org/apache/pulsar/client/api/ConsumerBuilder">ConsumerBuilder</a>
  class.</p>
@@ -298,8 +298,8 @@ SortedMap&lt;String, String&gt;|<code>properties</code>|A name or value property
 consumer.acknowledge(messages)
 </code></pre>
 <blockquote>
-<p>Note:</p>
-<p>Batch receive policy limits the number and bytes of messages in a single batch. You can specify a timeout to wait for enough messages.</p>
+<p><strong>Note</strong>  <br>
+Batch receive policy limits the number and bytes of messages in a single batch. You can specify a timeout to wait for enough messages.</p>
 <p>The batch receive is completed if any of the following condition is met: enough number of messages, bytes of messages, wait timeout.</p>
 <pre><code class="hljs css language-java">Consumer consumer = client.newConsumer()
         .topic(<span class="hljs-string">"my-topic"</span>)
@@ -390,10 +390,10 @@ consumerBuilder
             });
 }
 </code></pre>
-<h3><a class="anchor" aria-hidden="true" id="subscription-modes"></a><a href="#subscription-modes" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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- [...]
-<p>Pulsar has various <a href="concepts-messaging#subscription-modes">subscription modes</a> to match different scenarios. A topic can have multiple subscriptions with different subscription modes. However, a subscription can only have one subscription mode at a time.</p>
-<p>A subscription is identical with the subscription name which can specify only one subscription mode at a time. You cannot change the subscription mode unless all existing consumers of this subscription are offline.</p>
-<p>Different subscription modes have different message distribution modes. This section describes the differences of subscription modes and how to use them.</p>
+<h3><a class="anchor" aria-hidden="true" id="subscription-types"></a><a href="#subscription-types" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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- [...]
+<p>Pulsar has various <a href="concepts-messaging#subscription-types">subscription types</a> to match different scenarios. A topic can have multiple subscriptions with different subscription types. However, a subscription can only have one subscription type at a time.</p>
+<p>A subscription is identical with the subscription name; a subscription name can specify only one subscription type at a time. To change the subscription type, you should first stop all consumers of this subscription.</p>
+<p>Different subscription types have different message distribution modes. This section describes the differences of subscription types and how to use them.</p>
 <p>In order to better describe their differences, assuming you have a topic named &quot;my-topic&quot;, and the producer has published 10 messages.</p>
 <pre><code class="hljs css language-java">Producer&lt;String&gt; producer = client.newProducer(Schema.STRING)
         .topic(<span class="hljs-string">"my-topic"</span>)
@@ -412,7 +412,7 @@ producer.newMessage().key(<span class="hljs-string">"key-4"</span>).value(<span
 producer.newMessage().key(<span class="hljs-string">"key-4"</span>).value(<span class="hljs-string">"message-4-2"</span>).send();
 </code></pre>
 <h4><a class="anchor" aria-hidden="true" id="exclusive"></a><a href="#exclusive" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>Create a new consumer and subscribe with the <code>Exclusive</code> subscription mode.</p>
+<p>Create a new consumer and subscribe with the <code>Exclusive</code> subscription type.</p>
 <pre><code class="hljs css language-java">Consumer consumer = client.newConsumer()
         .topic(<span class="hljs-string">"my-topic"</span>)
         .subscriptionName(<span class="hljs-string">"my-subscription"</span>)
@@ -421,11 +421,11 @@ producer.newMessage().key(<span class="hljs-string">"key-4"</span>).value(<span
 </code></pre>
 <p>Only the first consumer is allowed to the subscription, other consumers receive an error. The first consumer receives all 10 messages, and the consuming order is the same as the producing order.</p>
 <blockquote>
-<p>Note:</p>
-<p>If topic is a partitioned topic, the first consumer subscribes to all partitioned topics, other consumers are not assigned with partitions and receive an error.</p>
+<p><strong>Note</strong>  <br>
+If topic is a partitioned topic, the first consumer subscribes to all partitioned topics, other consumers are not assigned with partitions and receive an error.</p>
 </blockquote>
 <h4><a class="anchor" aria-hidden="true" id="failover"></a><a href="#failover" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
-<p>Create new consumers and subscribe with the<code>Failover</code> subscription mode.</p>
+<p>Create new consumers and subscribe with the<code>Failover</code> subscription type.</p>
 <pre><code class="hljs css language-java">Consumer consumer1 = client.newConsumer()
         .topic(<span class="hljs-string">"my-topic"</span>)
         .subscriptionName(<span class="hljs-string">"my-subscription"</span>)
@@ -457,11 +457,11 @@ Consumer consumer2 = client.newConsumer()
 (<span class="hljs-string">"key-4"</span>, <span class="hljs-string">"message-4-2"</span>)
 </code></pre>
 <blockquote>
-<p>Note:</p>
-<p>If a topic is a partitioned topic, each partition has only one active consumer, messages of one partition are distributed to only one consumer, and messages of multiple partitions are distributed to multiple consumers.</p>
+<p><strong>Note</strong>  <br>
+If a topic is a partitioned topic, each partition has only one active consumer, messages of one partition are distributed to only one consumer, and messages of multiple partitions are distributed to multiple consumers.</p>
 </blockquote>
 <h4><a class="anchor" aria-hidden="true" id="shared"></a><a href="#shared" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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. [...]
-<p>Create new consumers and subscribe with <code>Shared</code> subscription mode:</p>
+<p>Create new consumers and subscribe with <code>Shared</code> subscription type.</p>
 <pre><code class="hljs css language-java">Consumer consumer1 = client.newConsumer()
         .topic(<span class="hljs-string">"my-topic"</span>)
         .subscriptionName(<span class="hljs-string">"my-subscription"</span>)
@@ -475,7 +475,7 @@ Consumer consumer2 = client.newConsumer()
         .subscribe()
 <span class="hljs-comment">//Both consumer1 and consumer 2 is active consumers.</span>
 </code></pre>
-<p>In shared subscription mode, multiple consumers can attach to the same subscription and messages are delivered in a round robin distribution across consumers.</p>
+<p>In shared subscription type, multiple consumers can attach to the same subscription and messages are delivered in a round robin distribution across consumers.</p>
 <p>If a broker dispatches only one message at a time, consumer1 receives the following information.</p>
 <pre><code class="hljs">(<span class="hljs-string">"key-1"</span>, <span class="hljs-string">"message-1-1"</span>)
 (<span class="hljs-string">"key-1"</span>, <span class="hljs-string">"message-1-3"</span>)
@@ -490,9 +490,9 @@ Consumer consumer2 = client.newConsumer()
 (<span class="hljs-string">"key-3"</span>, <span class="hljs-string">"message-3-2"</span>)
 (<span class="hljs-string">"key-4"</span>, <span class="hljs-string">"message-4-2"</span>)
 </code></pre>
-<p><code>Shared</code> subscription is different from <code>Exclusive</code> and <code>Failover</code> subscription modes. <code>Shared</code> subscription has better flexibility, but cannot provide order guarantee.</p>
+<p><code>Shared</code> subscription is different from <code>Exclusive</code> and <code>Failover</code> subscription types. <code>Shared</code> subscription has better flexibility, but cannot provide order guarantee.</p>
 <h4><a class="anchor" aria-hidden="true" id="key_shared"></a><a href="#key_shared" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>This is a new subscription mode since 2.4.0 release, create new consumers and subscribe with <code>Key_Shared</code> subscription mode.</p>
+<p>This is a new subscription type since 2.4.0 release. Create new consumers and subscribe with <code>Key_Shared</code> subscription type.</p>
 <pre><code class="hljs css language-java">Consumer consumer1 = client.newConsumer()
         .topic(<span class="hljs-string">"my-topic"</span>)
         .subscriptionName(<span class="hljs-string">"my-subscription"</span>)
@@ -534,8 +534,8 @@ Consumer consumer2 = client.newConsumer()
         .create();
 </code></pre>
 <blockquote>
-<p>Note:</p>
-<p>If the message key is not specified, messages without key are dispatched to one consumer in order by default.</p>
+<p><strong>Note</strong>  <br>
+If the message key is not specified, messages without key are dispatched to one consumer in order by default.</p>
 </blockquote>
 <h2><a class="anchor" aria-hidden="true" id="reader"></a><a href="#reader" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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. [...]
 <p>With the <a href="/docs/fr/2.7.0/concepts-clients#reader-interface">reader interface</a>, Pulsar clients can &quot;manually position&quot; themselves within a topic and reading all messages from a specified message onward. The Pulsar API for Java enables you to create <a href="https://pulsar.incubator.apache.org/api/client/2.8.0-SNAPSHOT/org/apache/pulsar/client/api/Reader">Reader</a>
@@ -711,7 +711,7 @@ PulsarClient client = PulsarClient.builder()
     .authentication(auth)
     .build();
 </code></pre>
-</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/fr/2.7.0/client-libraries"><span class="arrow-prev">← </span><span>Overview</span></a><a class="docs-next button" href="/docs/fr/2.7.0/client-libraries-go"><span>Go</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#installation">Installation</a><ul class="toc-headings"><li><a href="#maven">Maven</a></li><li><a href="#gra [...]
+</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/fr/2.7.0/client-libraries"><span class="arrow-prev">← </span><span>Overview</span></a><a class="docs-next button" href="/docs/fr/2.7.0/client-libraries-go"><span>Go</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#installation">Installation</a><ul class="toc-headings"><li><a href="#maven">Maven</a></li><li><a href="#gra [...]
       const community = document.querySelector("a[href='#community']").parentNode;
       const communityMenu =
         '<li>' +
diff --git a/content/docs/fr/2.7.0/concepts-messaging.html b/content/docs/fr/2.7.0/concepts-messaging.html
index fdb9be1cc..9f2c168 100644
--- a/content/docs/fr/2.7.0/concepts-messaging.html
+++ b/content/docs/fr/2.7.0/concepts-messaging.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>Messaging · Apache Pulsar</title><meta name="viewport" content="width=device-width, initial-scale=1.0"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar is built on the [publish-subscribe](https://en.wikipedia.org/wiki/Publish%E2%80%93subscribe_pattern) pattern (often abbreviated to pub-sub). In this pattern, [producers](#producers) [...]
+<!DOCTYPE html><html lang="fr"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Messaging · Apache Pulsar</title><meta name="viewport" content="width=device-width, initial-scale=1.0"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar is built on the [publish-subscribe](https://en.wikipedia.org/wiki/Publish%E2%80%93subscribe_pattern) pattern (often abbreviated to pub-sub). In this pattern, [producers](#producers) [...]
               (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,7 +74,7 @@
                 };
               }
             });
-        </script></nav></div><div class="container mainContainer docsContainer"><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 id="__docusaurus" class="postHeaderTitle">Messaging</h1></header><article><div><span><p>Pulsar is built on the <a href="https://en.wikipedia.org/wiki/Publish%E2%80%93subscribe_pattern">publish-subscribe [...]
+        </script></nav></div><div class="container mainContainer docsContainer"><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 id="__docusaurus" class="postHeaderTitle">Messaging</h1></header><article><div><span><p>Pulsar is built on the <a href="https://en.wikipedia.org/wiki/Publish%E2%80%93subscribe_pattern">publish-subscribe [...]
 <p>When a subscription is created, Pulsar <a href="/docs/fr/2.7.0/concepts-architecture-overview#persistent-storage">retains</a> all messages, even if the consumer is disconnected. Retained messages are discarded only when a consumer acknowledges that those messages are processed successfully.</p>
 <h2><a class="anchor" aria-hidden="true" id="messages"></a><a href="#messages" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
 <p>Messages are the basic &quot;unit&quot; of Pulsar. The following table lists the components of messages.</p>
@@ -128,7 +128,7 @@
 <ul>
 <li>Batching and chunking cannot be enabled simultaneously. To enable chunking, you must disable batching in advance.</li>
 <li>Chunking is only supported for persisted topics.</li>
-<li>Chunking is only supported for the exclusive and failover subscription modes.</li>
+<li>Chunking is only supported for the exclusive and failover subscription types.</li>
 </ul>
 <p>When chunking is enabled (<code>chunkingEnabled=true</code>), if the message size is greater than the allowed maximum publish-payload size, the producer splits the original message into chunked messages and publishes them with chunked metadata to the broker separately and in order. At the broker side, the chunked messages are stored in the managed-ledger in the same way as that of ordinary messages. The only difference is that the consumer needs to buffer the chunked messages and comb [...]
 <p>The consumer consumes the chunked messages and buffers them until the consumer receives all the chunks of a message. And then the consumer stitches chunked messages together and places them into the receiver-queue. Clients consume messages from the receiver-queue. Once the consumer consumes the entire large message and acknowledges it, the consumer internally sends acknowledgement of all the chunk messages associated to that large message. You can set the <code>maxPendingChuckedMessag [...]
@@ -165,13 +165,13 @@
 <li>Messages are acknowledged cumulatively. With cumulative acknowledgement, the consumer only needs to acknowledge the last message it received. All messages in the stream up to (and including) the provided message are not re-delivered to that consumer.</li>
 </ul>
 <blockquote>
-<p><strong>Note</strong> Cumulative acknowledgement cannot be used in the <a href="#subscription-modes">shared subscription mode</a>, because the shared subscription mode involves multiple consumers who have access to the same subscription. In the shared subscription mode, messages are acknowledged individually.</p>
+<p><strong>Note</strong> Cumulative acknowledgement cannot be used in <a href="#subscription-types">Shared subscription type</a>, because this subscription type involves multiple consumers which have access to the same subscription. In Shared subscription type, messages are acknowledged individually.</p>
 </blockquote>
 <h3><a class="anchor" aria-hidden="true" id="negative-acknowledgement"></a><a href="#negative-acknowledgement" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>When a consumer does not consume a message successfully at a time, and wants to consume the message again, the consumer sends a negative acknowledgement to the broker, and then the broker redelivers the message.</p>
-<p>Messages are negatively acknowledged one by one or cumulatively, which depends on the consumption subscription mode.</p>
-<p>In the exclusive and failover subscription modes, consumers only negatively acknowledge the last message they receive.</p>
-<p>In the shared and Key_Shared subscription modes, you can negatively acknowledge messages individually.</p>
+<p>Messages are negatively acknowledged either individually or cumulatively, depending on the consumption subscription type.</p>
+<p>In the exclusive and failover subscription types, consumers only negatively acknowledge the last message they receive.</p>
+<p>In the shared and Key_Shared subscription types, you can negatively acknowledge messages individually.</p>
 <p>Be aware that negative acknowledgment on ordered subscription types, such as Exclusive, Failover and Key_Shared, can cause failed messages to arrive consumers out of the original order.</p>
 <blockquote>
 <p><strong>Note</strong> If batching is enabled, other messages and the negatively acknowledged messages in the same batch are redelivered to the consumer.</p>
@@ -216,7 +216,7 @@ Prefer negative acknowledgements over acknowledgement timeout. Negative acknowle
 <p>Dead letter topic depends on message re-delivery. Messages are redelivered either due to <a href="#acknowledgement-timeout">acknowledgement timeout</a> or <a href="#negative-acknowledgement">negative acknowledgement</a>. If you are going to use negative acknowledgement on a message, make sure it is negatively acknowledged before the acknowledgement timeout.</p>
 <blockquote>
 <p><strong>Note</strong>   <br>
-Currently, dead letter topic is enabled only in the shared subscription mode.</p>
+Currently, dead letter topic is enabled only in Shared subscription type.</p>
 </blockquote>
 <h3><a class="anchor" aria-hidden="true" id="retry-letter-topic"></a><a href="#retry-letter-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- [...]
 <p>For many online business systems, a message is re-consumed due to exception occurs in the business logic processing. To configure the delay time for re-consuming the failed messages, you can configure the producer to send messages to both the business topic and the retry letter topic, and enable automatic retry on the consumer. When automatic retry is enabled on the consumer, a message is stored in the retry letter topic if the messages are not consumed, and therefore the consumer aut [...]
@@ -256,22 +256,22 @@ Currently, dead letter topic is enabled only in the shared subscription mode.</p
 <h2><a class="anchor" aria-hidden="true" id="espaces-de-nommage"></a><a href="#espaces-de-nommage" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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- [...]
 <p>A namespace is a logical nomenclature within a tenant. A tenant creates multiple namespaces via the <a href="/docs/fr/2.7.0/admin-api-namespaces#create">admin API</a>. For instance, a tenant with different applications can create a separate namespace for each application. A namespace allows the application to create and manage a hierarchy of topics. The topic <code>my-tenant/app1</code> is a namespace for the application <code>app1</code> for <code>my-tenant</code>. You can create any [...]
 <h2><a class="anchor" aria-hidden="true" id="subscriptions"></a><a href="#subscriptions" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>A subscription is a named configuration rule that determines how messages are delivered to consumers. Four subscription modes are available in Pulsar: <a href="#exclusive">exclusive</a>, <a href="#shared">shared</a>, <a href="#failover">failover</a>, and <a href="#key_shared">key_shared</a>. These modes are illustrated in the figure below.</p>
-<p><img src="/docs/assets/pulsar-subscription-modes.png" alt="Subscription modes"></p>
+<p>A subscription is a named configuration rule that determines how messages are delivered to consumers. Four subscription types are available in Pulsar: <a href="#exclusive">exclusive</a>, <a href="#shared">shared</a>, <a href="#failover">failover</a>, and <a href="#key_shared">key_shared</a>. These types are illustrated in the figure below.</p>
+<p><img src="/docs/assets/pulsar-subscription-types.png" alt="Subscription types"></p>
 <blockquote>
-<p><strong>Pub-Sub or Queuing</strong> In Pulsar, you can use different subscriptions flexibly. * If you want to achieve traditional &quot;fan-out pub-sub messaging&quot; among consumers, specify a unique subscription name for each consumer. It is exclusive subscription mode. * If you want to achieve &quot;message queuing&quot; among consumers, share the same subscription name among multiple consumers(shared, failover, key_shared). * If you want to achieve both effects simultaneously, co [...]
+<p><strong>Pub-Sub or Queuing</strong> In Pulsar, you can use different subscriptions flexibly. * If you want to achieve traditional &quot;fan-out pub-sub messaging&quot; among consumers, specify a unique subscription name for each consumer. It is exclusive subscription type. * If you want to achieve &quot;message queuing&quot; among consumers, share the same subscription name among multiple consumers(shared, failover, key_shared). * If you want to achieve both effects simultaneously, co [...]
 </blockquote>
-<h3><a class="anchor" aria-hidden="true" id="consumerless-subscriptions-and-their-corresponding-modes"></a><a href="#consumerless-subscriptions-and-their-corresponding-modes" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.2 [...]
-<p>When a subscription has no consumers, its subscription mode is undefined. A subscription's mode is defined when a consumer connects to the subscription, and the mode can be changed by restarting all consumers with a different configuration.</p>
+<h3><a class="anchor" aria-hidden="true" id="consumerless-subscriptions-and-their-corresponding-types"></a><a href="#consumerless-subscriptions-and-their-corresponding-types" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.2 [...]
+<p>When a subscription has no consumers, its subscription type is undefined. The type of a subscription is defined when a consumer connects to it, and the type can be changed by restarting all consumers with a different configuration.</p>
 <h3><a class="anchor" aria-hidden="true" id="exclusive"></a><a href="#exclusive" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>In <em>exclusive</em> mode, only a single consumer is allowed to attach to the subscription. If multiple consumers subscribe to a topic using the same subscription, an error occurs.</p>
+<p>In <em>exclusive</em> type, only a single consumer is allowed to attach to the subscription. If multiple consumers subscribe to a topic using the same subscription, an error occurs.</p>
 <p>In the diagram below, only <strong>Consumer A-0</strong> is allowed to consume messages.</p>
 <blockquote>
-<p>Exclusive mode is the default subscription mode.</p>
+<p>Exclusive is the default subscription type.</p>
 </blockquote>
 <p><img src="/docs/assets/pulsar-exclusive-subscriptions.png" alt="Exclusive subscriptions"></p>
 <h3><a class="anchor" aria-hidden="true" id="failover"></a><a href="#failover" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
-<p>In <em>failover</em> mode, multiple consumers can attach to the same subscription. A master consumer is picked for non-partitioned topic or each partition of partitioned topic and receives messages. When the master consumer disconnects, all (non-acknowledged and subsequent) messages are delivered to the next consumer in line.</p>
+<p>In <em>Failover</em> type, multiple consumers can attach to the same subscription. A master consumer is picked for non-partitioned topic or each partition of partitioned topic and receives messages. When the master consumer disconnects, all (non-acknowledged and subsequent) messages are delivered to the next consumer in line.</p>
 <p>For partitioned topics, broker will sort consumers by priority level and lexicographical order of consumer name. Then broker will try to evenly assigns topics to consumers with the highest priority level.</p>
 <p>For non-partitioned topic, broker will pick consumer in the order they subscribe to the non partitioned topic.</p>
 <p>In the diagram below, <strong>Consumer-B-0</strong> is the master consumer while <strong>Consumer-B-1</strong> would be the next consumer in line to receive messages if <strong>Consumer-B-0</strong> is disconnected.</p>
@@ -332,9 +332,9 @@ Consumer&lt;<span class="hljs-keyword">byte</span>[]&gt; someTopicsConsumer = pu
 <p>The diagram below illustrates this:</p>
 <p><img src="/docs/assets/partitioning.png" alt=""></p>
 <p>The <strong>Topic1</strong> topic has five partitions (<strong>P0</strong> through <strong>P4</strong>) split across three brokers. Because there are more partitions than brokers, two brokers handle two partitions a piece, while the third handles only one (again, Pulsar handles this distribution of partitions automatically).</p>
-<p>Messages for this topic are broadcast to two consumers. The <a href="#routing-modes">routing mode</a> determines each message should be published to which partition, while the <a href="#subscription-modes">subscription mode</a> determines which messages go to which consumers.</p>
-<p>Decisions about routing and subscription modes can be made separately in most cases. In general, throughput concerns should guide partitioning/routing decisions while subscription decisions should be guided by application semantics.</p>
-<p>There is no difference between partitioned topics and normal topics in terms of how subscription modes work, as partitioning only determines what happens between when a message is published by a producer and processed and acknowledged by a consumer.</p>
+<p>Messages for this topic are broadcast to two consumers. The <a href="#routing-modes">routing mode</a> determines each message should be published to which partition, while the <a href="#subscription-types">subscription type</a> determines which messages go to which consumers.</p>
+<p>Decisions about routing and subscription types can be made separately in most cases. In general, throughput concerns should guide partitioning/routing decisions while subscription decisions should be guided by application semantics.</p>
+<p>There is no difference between partitioned topics and normal topics in terms of how subscription types work, as partitioning only determines what happens between when a message is published by a producer and processed and acknowledged by a consumer.</p>
 <p>Partitioned topics need to be explicitly created via the <a href="/docs/fr/2.7.0/admin-api-overview">admin API</a>. The number of partitions can be specified when creating the topic.</p>
 <h3><a class="anchor" aria-hidden="true" id="routing-modes"></a><a href="#routing-modes" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>When publishing to partitioned topics, you must specify a <em>routing mode</em>. The routing mode determines which partition---that is, which internal topic---each message should be published to.</p>
@@ -386,7 +386,7 @@ Consumer&lt;<span class="hljs-keyword">byte</span>[]&gt; someTopicsConsumer = pu
 <h3><a class="anchor" aria-hidden="true" id="performance"></a><a href="#performance" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>Non-persistent messaging is usually faster than persistent messaging because brokers don't persist messages and immediately send acks back to the producer as soon as that message is delivered to connected brokers. Producers thus see comparatively low publish latency with non-persistent topic.</p>
 <h3><a class="anchor" aria-hidden="true" id="client-api"></a><a href="#client-api" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>Producers and consumers can connect to non-persistent topics in the same way as persistent topics, with the crucial difference that the topic name must start with <code>non-persistent</code>. All three subscription modes---<a href="#exclusive">exclusive</a>, <a href="#shared">shared</a>, and <a href="#failover">failover</a>---are supported for non-persistent topics.</p>
+<p>Producers and consumers can connect to non-persistent topics in the same way as persistent topics, with the crucial difference that the topic name must start with <code>non-persistent</code>. All three subscription types---<a href="#exclusive">exclusive</a>, <a href="#shared">shared</a>, and <a href="#failover">failover</a>---are supported for non-persistent topics.</p>
 <p>Here's an example <a href="/docs/fr/2.7.0/client-libraries-java#consumers">Java consumer</a> for a non-persistent topic:</p>
 <pre><code class="hljs css language-java">PulsarClient client = PulsarClient.builder()
         .serviceUrl(<span class="hljs-string">"pulsar://localhost:6650"</span>)
@@ -440,7 +440,7 @@ Consumer&lt;<span class="hljs-keyword">byte</span>[]&gt; consumer = client.newCo
 </blockquote>
 <h2><a class="anchor" aria-hidden="true" id="delayed-message-delivery"></a><a href="#delayed-message-delivery" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>Delayed message delivery enables you to consume a message later rather than immediately. In this mechanism, a message is stored in BookKeeper, <code>DelayedDeliveryTracker</code> maintains the time index(time -&gt; messageId) in memory after published to a broker, and it is delivered to a consumer once the specific delayed time is passed.</p>
-<p>Delayed message delivery only works in Shared subscription mode. In Exclusive and Failover subscription modes, the delayed message is dispatched immediately.</p>
+<p>Delayed message delivery only works in Shared subscription type. In Exclusive and Failover subscription types, the delayed message is dispatched immediately.</p>
 <p>The diagram below illustrates the concept of delayed message delivery:</p>
 <p><img src="/docs/assets/message_delay.png" alt="Delayed Message Delivery"></p>
 <p>A broker saves a message without any check. When a consumer consumes a message, if the message is set to delay, then the message is added to <code>DelayedDeliveryTracker</code>. A subscription checks and gets timeout messages from <code>DelayedDeliveryTracker</code>.</p>
@@ -460,7 +460,7 @@ Consumer&lt;<span class="hljs-keyword">byte</span>[]&gt; consumer = client.newCo
 <pre><code class="hljs css language-java"><span class="hljs-comment">// message to be delivered at the configured delay interval</span>
 producer.newMessage().deliverAfter(<span class="hljs-number">3L</span>, TimeUnit.Minute).value(<span class="hljs-string">"Hello Pulsar!"</span>).send();
 </code></pre>
-</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/fr/2.7.0/concepts-overview"><span class="arrow-prev">← </span><span>Overview</span></a><a class="docs-next button" href="/docs/fr/2.7.0/concepts-architecture-overview"><span>Architecture</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#messages">Messages</a></li><li><a href="#producers">Producers</a><ul class="toc-headi [...]
+</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/fr/2.7.0/concepts-overview"><span class="arrow-prev">← </span><span>Overview</span></a><a class="docs-next button" href="/docs/fr/2.7.0/concepts-architecture-overview"><span>Architecture</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#messages">Messages</a></li><li><a href="#producers">Producers</a><ul class="toc-headi [...]
       const community = document.querySelector("a[href='#community']").parentNode;
       const communityMenu =
         '<li>' +
diff --git a/content/docs/fr/2.7.0/concepts-messaging/index.html b/content/docs/fr/2.7.0/concepts-messaging/index.html
index fdb9be1cc..9f2c168 100644
--- a/content/docs/fr/2.7.0/concepts-messaging/index.html
+++ b/content/docs/fr/2.7.0/concepts-messaging/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>Messaging · Apache Pulsar</title><meta name="viewport" content="width=device-width, initial-scale=1.0"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar is built on the [publish-subscribe](https://en.wikipedia.org/wiki/Publish%E2%80%93subscribe_pattern) pattern (often abbreviated to pub-sub). In this pattern, [producers](#producers) [...]
+<!DOCTYPE html><html lang="fr"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Messaging · Apache Pulsar</title><meta name="viewport" content="width=device-width, initial-scale=1.0"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar is built on the [publish-subscribe](https://en.wikipedia.org/wiki/Publish%E2%80%93subscribe_pattern) pattern (often abbreviated to pub-sub). In this pattern, [producers](#producers) [...]
               (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,7 +74,7 @@
                 };
               }
             });
-        </script></nav></div><div class="container mainContainer docsContainer"><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 id="__docusaurus" class="postHeaderTitle">Messaging</h1></header><article><div><span><p>Pulsar is built on the <a href="https://en.wikipedia.org/wiki/Publish%E2%80%93subscribe_pattern">publish-subscribe [...]
+        </script></nav></div><div class="container mainContainer docsContainer"><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 id="__docusaurus" class="postHeaderTitle">Messaging</h1></header><article><div><span><p>Pulsar is built on the <a href="https://en.wikipedia.org/wiki/Publish%E2%80%93subscribe_pattern">publish-subscribe [...]
 <p>When a subscription is created, Pulsar <a href="/docs/fr/2.7.0/concepts-architecture-overview#persistent-storage">retains</a> all messages, even if the consumer is disconnected. Retained messages are discarded only when a consumer acknowledges that those messages are processed successfully.</p>
 <h2><a class="anchor" aria-hidden="true" id="messages"></a><a href="#messages" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
 <p>Messages are the basic &quot;unit&quot; of Pulsar. The following table lists the components of messages.</p>
@@ -128,7 +128,7 @@
 <ul>
 <li>Batching and chunking cannot be enabled simultaneously. To enable chunking, you must disable batching in advance.</li>
 <li>Chunking is only supported for persisted topics.</li>
-<li>Chunking is only supported for the exclusive and failover subscription modes.</li>
+<li>Chunking is only supported for the exclusive and failover subscription types.</li>
 </ul>
 <p>When chunking is enabled (<code>chunkingEnabled=true</code>), if the message size is greater than the allowed maximum publish-payload size, the producer splits the original message into chunked messages and publishes them with chunked metadata to the broker separately and in order. At the broker side, the chunked messages are stored in the managed-ledger in the same way as that of ordinary messages. The only difference is that the consumer needs to buffer the chunked messages and comb [...]
 <p>The consumer consumes the chunked messages and buffers them until the consumer receives all the chunks of a message. And then the consumer stitches chunked messages together and places them into the receiver-queue. Clients consume messages from the receiver-queue. Once the consumer consumes the entire large message and acknowledges it, the consumer internally sends acknowledgement of all the chunk messages associated to that large message. You can set the <code>maxPendingChuckedMessag [...]
@@ -165,13 +165,13 @@
 <li>Messages are acknowledged cumulatively. With cumulative acknowledgement, the consumer only needs to acknowledge the last message it received. All messages in the stream up to (and including) the provided message are not re-delivered to that consumer.</li>
 </ul>
 <blockquote>
-<p><strong>Note</strong> Cumulative acknowledgement cannot be used in the <a href="#subscription-modes">shared subscription mode</a>, because the shared subscription mode involves multiple consumers who have access to the same subscription. In the shared subscription mode, messages are acknowledged individually.</p>
+<p><strong>Note</strong> Cumulative acknowledgement cannot be used in <a href="#subscription-types">Shared subscription type</a>, because this subscription type involves multiple consumers which have access to the same subscription. In Shared subscription type, messages are acknowledged individually.</p>
 </blockquote>
 <h3><a class="anchor" aria-hidden="true" id="negative-acknowledgement"></a><a href="#negative-acknowledgement" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>When a consumer does not consume a message successfully at a time, and wants to consume the message again, the consumer sends a negative acknowledgement to the broker, and then the broker redelivers the message.</p>
-<p>Messages are negatively acknowledged one by one or cumulatively, which depends on the consumption subscription mode.</p>
-<p>In the exclusive and failover subscription modes, consumers only negatively acknowledge the last message they receive.</p>
-<p>In the shared and Key_Shared subscription modes, you can negatively acknowledge messages individually.</p>
+<p>Messages are negatively acknowledged either individually or cumulatively, depending on the consumption subscription type.</p>
+<p>In the exclusive and failover subscription types, consumers only negatively acknowledge the last message they receive.</p>
+<p>In the shared and Key_Shared subscription types, you can negatively acknowledge messages individually.</p>
 <p>Be aware that negative acknowledgment on ordered subscription types, such as Exclusive, Failover and Key_Shared, can cause failed messages to arrive consumers out of the original order.</p>
 <blockquote>
 <p><strong>Note</strong> If batching is enabled, other messages and the negatively acknowledged messages in the same batch are redelivered to the consumer.</p>
@@ -216,7 +216,7 @@ Prefer negative acknowledgements over acknowledgement timeout. Negative acknowle
 <p>Dead letter topic depends on message re-delivery. Messages are redelivered either due to <a href="#acknowledgement-timeout">acknowledgement timeout</a> or <a href="#negative-acknowledgement">negative acknowledgement</a>. If you are going to use negative acknowledgement on a message, make sure it is negatively acknowledged before the acknowledgement timeout.</p>
 <blockquote>
 <p><strong>Note</strong>   <br>
-Currently, dead letter topic is enabled only in the shared subscription mode.</p>
+Currently, dead letter topic is enabled only in Shared subscription type.</p>
 </blockquote>
 <h3><a class="anchor" aria-hidden="true" id="retry-letter-topic"></a><a href="#retry-letter-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- [...]
 <p>For many online business systems, a message is re-consumed due to exception occurs in the business logic processing. To configure the delay time for re-consuming the failed messages, you can configure the producer to send messages to both the business topic and the retry letter topic, and enable automatic retry on the consumer. When automatic retry is enabled on the consumer, a message is stored in the retry letter topic if the messages are not consumed, and therefore the consumer aut [...]
@@ -256,22 +256,22 @@ Currently, dead letter topic is enabled only in the shared subscription mode.</p
 <h2><a class="anchor" aria-hidden="true" id="espaces-de-nommage"></a><a href="#espaces-de-nommage" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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- [...]
 <p>A namespace is a logical nomenclature within a tenant. A tenant creates multiple namespaces via the <a href="/docs/fr/2.7.0/admin-api-namespaces#create">admin API</a>. For instance, a tenant with different applications can create a separate namespace for each application. A namespace allows the application to create and manage a hierarchy of topics. The topic <code>my-tenant/app1</code> is a namespace for the application <code>app1</code> for <code>my-tenant</code>. You can create any [...]
 <h2><a class="anchor" aria-hidden="true" id="subscriptions"></a><a href="#subscriptions" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>A subscription is a named configuration rule that determines how messages are delivered to consumers. Four subscription modes are available in Pulsar: <a href="#exclusive">exclusive</a>, <a href="#shared">shared</a>, <a href="#failover">failover</a>, and <a href="#key_shared">key_shared</a>. These modes are illustrated in the figure below.</p>
-<p><img src="/docs/assets/pulsar-subscription-modes.png" alt="Subscription modes"></p>
+<p>A subscription is a named configuration rule that determines how messages are delivered to consumers. Four subscription types are available in Pulsar: <a href="#exclusive">exclusive</a>, <a href="#shared">shared</a>, <a href="#failover">failover</a>, and <a href="#key_shared">key_shared</a>. These types are illustrated in the figure below.</p>
+<p><img src="/docs/assets/pulsar-subscription-types.png" alt="Subscription types"></p>
 <blockquote>
-<p><strong>Pub-Sub or Queuing</strong> In Pulsar, you can use different subscriptions flexibly. * If you want to achieve traditional &quot;fan-out pub-sub messaging&quot; among consumers, specify a unique subscription name for each consumer. It is exclusive subscription mode. * If you want to achieve &quot;message queuing&quot; among consumers, share the same subscription name among multiple consumers(shared, failover, key_shared). * If you want to achieve both effects simultaneously, co [...]
+<p><strong>Pub-Sub or Queuing</strong> In Pulsar, you can use different subscriptions flexibly. * If you want to achieve traditional &quot;fan-out pub-sub messaging&quot; among consumers, specify a unique subscription name for each consumer. It is exclusive subscription type. * If you want to achieve &quot;message queuing&quot; among consumers, share the same subscription name among multiple consumers(shared, failover, key_shared). * If you want to achieve both effects simultaneously, co [...]
 </blockquote>
-<h3><a class="anchor" aria-hidden="true" id="consumerless-subscriptions-and-their-corresponding-modes"></a><a href="#consumerless-subscriptions-and-their-corresponding-modes" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.2 [...]
-<p>When a subscription has no consumers, its subscription mode is undefined. A subscription's mode is defined when a consumer connects to the subscription, and the mode can be changed by restarting all consumers with a different configuration.</p>
+<h3><a class="anchor" aria-hidden="true" id="consumerless-subscriptions-and-their-corresponding-types"></a><a href="#consumerless-subscriptions-and-their-corresponding-types" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.2 [...]
+<p>When a subscription has no consumers, its subscription type is undefined. The type of a subscription is defined when a consumer connects to it, and the type can be changed by restarting all consumers with a different configuration.</p>
 <h3><a class="anchor" aria-hidden="true" id="exclusive"></a><a href="#exclusive" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>In <em>exclusive</em> mode, only a single consumer is allowed to attach to the subscription. If multiple consumers subscribe to a topic using the same subscription, an error occurs.</p>
+<p>In <em>exclusive</em> type, only a single consumer is allowed to attach to the subscription. If multiple consumers subscribe to a topic using the same subscription, an error occurs.</p>
 <p>In the diagram below, only <strong>Consumer A-0</strong> is allowed to consume messages.</p>
 <blockquote>
-<p>Exclusive mode is the default subscription mode.</p>
+<p>Exclusive is the default subscription type.</p>
 </blockquote>
 <p><img src="/docs/assets/pulsar-exclusive-subscriptions.png" alt="Exclusive subscriptions"></p>
 <h3><a class="anchor" aria-hidden="true" id="failover"></a><a href="#failover" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
-<p>In <em>failover</em> mode, multiple consumers can attach to the same subscription. A master consumer is picked for non-partitioned topic or each partition of partitioned topic and receives messages. When the master consumer disconnects, all (non-acknowledged and subsequent) messages are delivered to the next consumer in line.</p>
+<p>In <em>Failover</em> type, multiple consumers can attach to the same subscription. A master consumer is picked for non-partitioned topic or each partition of partitioned topic and receives messages. When the master consumer disconnects, all (non-acknowledged and subsequent) messages are delivered to the next consumer in line.</p>
 <p>For partitioned topics, broker will sort consumers by priority level and lexicographical order of consumer name. Then broker will try to evenly assigns topics to consumers with the highest priority level.</p>
 <p>For non-partitioned topic, broker will pick consumer in the order they subscribe to the non partitioned topic.</p>
 <p>In the diagram below, <strong>Consumer-B-0</strong> is the master consumer while <strong>Consumer-B-1</strong> would be the next consumer in line to receive messages if <strong>Consumer-B-0</strong> is disconnected.</p>
@@ -332,9 +332,9 @@ Consumer&lt;<span class="hljs-keyword">byte</span>[]&gt; someTopicsConsumer = pu
 <p>The diagram below illustrates this:</p>
 <p><img src="/docs/assets/partitioning.png" alt=""></p>
 <p>The <strong>Topic1</strong> topic has five partitions (<strong>P0</strong> through <strong>P4</strong>) split across three brokers. Because there are more partitions than brokers, two brokers handle two partitions a piece, while the third handles only one (again, Pulsar handles this distribution of partitions automatically).</p>
-<p>Messages for this topic are broadcast to two consumers. The <a href="#routing-modes">routing mode</a> determines each message should be published to which partition, while the <a href="#subscription-modes">subscription mode</a> determines which messages go to which consumers.</p>
-<p>Decisions about routing and subscription modes can be made separately in most cases. In general, throughput concerns should guide partitioning/routing decisions while subscription decisions should be guided by application semantics.</p>
-<p>There is no difference between partitioned topics and normal topics in terms of how subscription modes work, as partitioning only determines what happens between when a message is published by a producer and processed and acknowledged by a consumer.</p>
+<p>Messages for this topic are broadcast to two consumers. The <a href="#routing-modes">routing mode</a> determines each message should be published to which partition, while the <a href="#subscription-types">subscription type</a> determines which messages go to which consumers.</p>
+<p>Decisions about routing and subscription types can be made separately in most cases. In general, throughput concerns should guide partitioning/routing decisions while subscription decisions should be guided by application semantics.</p>
+<p>There is no difference between partitioned topics and normal topics in terms of how subscription types work, as partitioning only determines what happens between when a message is published by a producer and processed and acknowledged by a consumer.</p>
 <p>Partitioned topics need to be explicitly created via the <a href="/docs/fr/2.7.0/admin-api-overview">admin API</a>. The number of partitions can be specified when creating the topic.</p>
 <h3><a class="anchor" aria-hidden="true" id="routing-modes"></a><a href="#routing-modes" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>When publishing to partitioned topics, you must specify a <em>routing mode</em>. The routing mode determines which partition---that is, which internal topic---each message should be published to.</p>
@@ -386,7 +386,7 @@ Consumer&lt;<span class="hljs-keyword">byte</span>[]&gt; someTopicsConsumer = pu
 <h3><a class="anchor" aria-hidden="true" id="performance"></a><a href="#performance" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>Non-persistent messaging is usually faster than persistent messaging because brokers don't persist messages and immediately send acks back to the producer as soon as that message is delivered to connected brokers. Producers thus see comparatively low publish latency with non-persistent topic.</p>
 <h3><a class="anchor" aria-hidden="true" id="client-api"></a><a href="#client-api" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>Producers and consumers can connect to non-persistent topics in the same way as persistent topics, with the crucial difference that the topic name must start with <code>non-persistent</code>. All three subscription modes---<a href="#exclusive">exclusive</a>, <a href="#shared">shared</a>, and <a href="#failover">failover</a>---are supported for non-persistent topics.</p>
+<p>Producers and consumers can connect to non-persistent topics in the same way as persistent topics, with the crucial difference that the topic name must start with <code>non-persistent</code>. All three subscription types---<a href="#exclusive">exclusive</a>, <a href="#shared">shared</a>, and <a href="#failover">failover</a>---are supported for non-persistent topics.</p>
 <p>Here's an example <a href="/docs/fr/2.7.0/client-libraries-java#consumers">Java consumer</a> for a non-persistent topic:</p>
 <pre><code class="hljs css language-java">PulsarClient client = PulsarClient.builder()
         .serviceUrl(<span class="hljs-string">"pulsar://localhost:6650"</span>)
@@ -440,7 +440,7 @@ Consumer&lt;<span class="hljs-keyword">byte</span>[]&gt; consumer = client.newCo
 </blockquote>
 <h2><a class="anchor" aria-hidden="true" id="delayed-message-delivery"></a><a href="#delayed-message-delivery" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>Delayed message delivery enables you to consume a message later rather than immediately. In this mechanism, a message is stored in BookKeeper, <code>DelayedDeliveryTracker</code> maintains the time index(time -&gt; messageId) in memory after published to a broker, and it is delivered to a consumer once the specific delayed time is passed.</p>
-<p>Delayed message delivery only works in Shared subscription mode. In Exclusive and Failover subscription modes, the delayed message is dispatched immediately.</p>
+<p>Delayed message delivery only works in Shared subscription type. In Exclusive and Failover subscription types, the delayed message is dispatched immediately.</p>
 <p>The diagram below illustrates the concept of delayed message delivery:</p>
 <p><img src="/docs/assets/message_delay.png" alt="Delayed Message Delivery"></p>
 <p>A broker saves a message without any check. When a consumer consumes a message, if the message is set to delay, then the message is added to <code>DelayedDeliveryTracker</code>. A subscription checks and gets timeout messages from <code>DelayedDeliveryTracker</code>.</p>
@@ -460,7 +460,7 @@ Consumer&lt;<span class="hljs-keyword">byte</span>[]&gt; consumer = client.newCo
 <pre><code class="hljs css language-java"><span class="hljs-comment">// message to be delivered at the configured delay interval</span>
 producer.newMessage().deliverAfter(<span class="hljs-number">3L</span>, TimeUnit.Minute).value(<span class="hljs-string">"Hello Pulsar!"</span>).send();
 </code></pre>
-</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/fr/2.7.0/concepts-overview"><span class="arrow-prev">← </span><span>Overview</span></a><a class="docs-next button" href="/docs/fr/2.7.0/concepts-architecture-overview"><span>Architecture</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#messages">Messages</a></li><li><a href="#producers">Producers</a><ul class="toc-headi [...]
+</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/fr/2.7.0/concepts-overview"><span class="arrow-prev">← </span><span>Overview</span></a><a class="docs-next button" href="/docs/fr/2.7.0/concepts-architecture-overview"><span>Architecture</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#messages">Messages</a></li><li><a href="#producers">Producers</a><ul class="toc-headi [...]
       const community = document.querySelector("a[href='#community']").parentNode;
       const communityMenu =
         '<li>' +
diff --git a/content/docs/fr/2.7.0/concepts-overview.html b/content/docs/fr/2.7.0/concepts-overview.html
index 84e2f44..ac06b0e 100644
--- a/content/docs/fr/2.7.0/concepts-overview.html
+++ b/content/docs/fr/2.7.0/concepts-overview.html
@@ -81,7 +81,7 @@
 <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/fr/2.7.0/concepts-clients">client API</a> with bindings for <a href="/docs/fr/2.7.0/client-libraries-java">Java</a>, <a href="/docs/fr/2.7.0/client-libraries-go">Go</a>, <a href="/docs/fr/2.7.0/client-libraries-python">Python</a> and <a href="/docs/fr/2.7.0/client-libraries-cpp">C++</a>.</li>
-<li>Multiple <a href="/docs/fr/2.7.0/concepts-messaging#subscription-modes">subscription modes</a> (<a href="/docs/fr/2.7.0/concepts-messaging#exclusive">exclusive</a>, <a href="/docs/fr/2.7.0/concepts-messaging#shared">shared</a>, and <a href="/docs/fr/2.7.0/concepts-messaging#failover">failover</a>) for topics.</li>
+<li>Multiple <a href="/docs/fr/2.7.0/concepts-messaging#subscription-types">subscription types</a> (<a href="/docs/fr/2.7.0/concepts-messaging#exclusive">exclusive</a>, <a href="/docs/fr/2.7.0/concepts-messaging#shared">shared</a>, and <a href="/docs/fr/2.7.0/concepts-messaging#failover">failover</a>) for topics.</li>
 <li>Guaranteed message delivery with <a href="/docs/fr/2.7.0/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/fr/2.7.0/functions-overview">Pulsar Functions</a> offers the capability for stream-native data processing.</li>
 <li>A serverless connector framework <a href="/docs/fr/2.7.0/io-overview">Pulsar IO</a>, which is built on Pulsar Functions, makes it easier to move data in and out of Apache Pulsar.</li>
diff --git a/content/docs/fr/2.7.0/concepts-overview/index.html b/content/docs/fr/2.7.0/concepts-overview/index.html
index 84e2f44..ac06b0e 100644
--- a/content/docs/fr/2.7.0/concepts-overview/index.html
+++ b/content/docs/fr/2.7.0/concepts-overview/index.html
@@ -81,7 +81,7 @@
 <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/fr/2.7.0/concepts-clients">client API</a> with bindings for <a href="/docs/fr/2.7.0/client-libraries-java">Java</a>, <a href="/docs/fr/2.7.0/client-libraries-go">Go</a>, <a href="/docs/fr/2.7.0/client-libraries-python">Python</a> and <a href="/docs/fr/2.7.0/client-libraries-cpp">C++</a>.</li>
-<li>Multiple <a href="/docs/fr/2.7.0/concepts-messaging#subscription-modes">subscription modes</a> (<a href="/docs/fr/2.7.0/concepts-messaging#exclusive">exclusive</a>, <a href="/docs/fr/2.7.0/concepts-messaging#shared">shared</a>, and <a href="/docs/fr/2.7.0/concepts-messaging#failover">failover</a>) for topics.</li>
+<li>Multiple <a href="/docs/fr/2.7.0/concepts-messaging#subscription-types">subscription types</a> (<a href="/docs/fr/2.7.0/concepts-messaging#exclusive">exclusive</a>, <a href="/docs/fr/2.7.0/concepts-messaging#shared">shared</a>, and <a href="/docs/fr/2.7.0/concepts-messaging#failover">failover</a>) for topics.</li>
 <li>Guaranteed message delivery with <a href="/docs/fr/2.7.0/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/fr/2.7.0/functions-overview">Pulsar Functions</a> offers the capability for stream-native data processing.</li>
 <li>A serverless connector framework <a href="/docs/fr/2.7.0/io-overview">Pulsar IO</a>, which is built on Pulsar Functions, makes it easier to move data in and out of Apache Pulsar.</li>
diff --git a/content/docs/fr/2.7.0/reference-cli-tools.html b/content/docs/fr/2.7.0/reference-cli-tools.html
index 39e04a2..7474d94 100644
--- a/content/docs/fr/2.7.0/reference-cli-tools.html
+++ b/content/docs/fr/2.7.0/reference-cli-tools.html
@@ -369,7 +369,7 @@
 <tr><td><code>-s</code>, <code>--subscription-name</code></td><td>Subscription name</td><td></td></tr>
 <tr><td><code>-t</code>, <code>--subscription-type</code></td><td>The type of the subscription. Possible values: Exclusive, Shared, Failover, Key_Shared.</td><td>Exclusive</td></tr>
 <tr><td><code>-p</code>, <code>--subscription-position</code></td><td>The position of the subscription. Possible values: Latest, Earliest.</td><td>Latest</td></tr>
-<tr><td><code>-m</code>, <code>--subscription-mode</code></td><td>Subscription mode.</td><td>Durable</td></tr>
+<tr><td><code>-m</code>, <code>--subscription-mode</code></td><td>Subscription mode. Possible values: Durable, NonDurable.</td><td>Durable</td></tr>
 <tr><td><code>-q</code>, <code>--queue-size</code></td><td>The size of consumer's receiver queue.</td><td>0</td></tr>
 <tr><td><code>-mc</code>, <code>--max_chunked_msg</code></td><td>Max pending chunk messages.</td><td>0</td></tr>
 <tr><td><code>-ac</code>, <code>--auto_ack_chunk_q_full</code></td><td>Auto ack for the oldest message in consumer's receiver queue is the queue full.</td><td>false</td></tr>
diff --git a/content/docs/fr/2.7.0/reference-cli-tools/index.html b/content/docs/fr/2.7.0/reference-cli-tools/index.html
index 39e04a2..7474d94 100644
--- a/content/docs/fr/2.7.0/reference-cli-tools/index.html
+++ b/content/docs/fr/2.7.0/reference-cli-tools/index.html
@@ -369,7 +369,7 @@
 <tr><td><code>-s</code>, <code>--subscription-name</code></td><td>Subscription name</td><td></td></tr>
 <tr><td><code>-t</code>, <code>--subscription-type</code></td><td>The type of the subscription. Possible values: Exclusive, Shared, Failover, Key_Shared.</td><td>Exclusive</td></tr>
 <tr><td><code>-p</code>, <code>--subscription-position</code></td><td>The position of the subscription. Possible values: Latest, Earliest.</td><td>Latest</td></tr>
-<tr><td><code>-m</code>, <code>--subscription-mode</code></td><td>Subscription mode.</td><td>Durable</td></tr>
+<tr><td><code>-m</code>, <code>--subscription-mode</code></td><td>Subscription mode. Possible values: Durable, NonDurable.</td><td>Durable</td></tr>
 <tr><td><code>-q</code>, <code>--queue-size</code></td><td>The size of consumer's receiver queue.</td><td>0</td></tr>
 <tr><td><code>-mc</code>, <code>--max_chunked_msg</code></td><td>Max pending chunk messages.</td><td>0</td></tr>
 <tr><td><code>-ac</code>, <code>--auto_ack_chunk_q_full</code></td><td>Auto ack for the oldest message in consumer's receiver queue is the queue full.</td><td>false</td></tr>
diff --git a/content/docs/fr/2.7.0/reference-configuration.html b/content/docs/fr/2.7.0/reference-configuration.html
index 71851b7..8f9804a 100644
--- a/content/docs/fr/2.7.0/reference-configuration.html
+++ b/content/docs/fr/2.7.0/reference-configuration.html
@@ -542,8 +542,8 @@
 <tr><td>subscriptionExpirationTimeMinutes</td><td>How long to delete inactive subscriptions from last consumption. When it is set to 0, inactive subscriptions are not deleted automatically</td><td>0</td></tr>
 <tr><td>subscriptionRedeliveryTrackerEnabled</td><td>Enable subscription message redelivery tracker to send redelivery count to consumer.</td><td>true</td></tr>
 <tr><td>subscriptionKeySharedEnable</td><td>Whether to enable the Key_Shared subscription.</td><td>true</td></tr>
-<tr><td>subscriptionKeySharedUseConsistentHashing</td><td>In the Key_Shared subscription mode, with default AUTO_SPLIT mode, use splitting ranges or consistent hashing to reassign keys to new consumers.</td><td>false</td></tr>
-<tr><td>subscriptionKeySharedConsistentHashingReplicaPoints</td><td>In the Key_Shared subscription mode, the number of points in the consistent-hashing ring. The greater the number, the more equal the assignment of keys to consumers.</td><td>100</td></tr>
+<tr><td>subscriptionKeySharedUseConsistentHashing</td><td>In Key_Shared subscription type, with default AUTO_SPLIT mode, use splitting ranges or consistent hashing to reassign keys to new consumers.</td><td>false</td></tr>
+<tr><td>subscriptionKeySharedConsistentHashingReplicaPoints</td><td>In Key_Shared subscription type, the number of points in the consistent-hashing ring. The greater the number, the more equal the assignment of keys to consumers.</td><td>100</td></tr>
 <tr><td>subscriptionExpiryCheckIntervalInMinutes</td><td>How frequently to proactively check and purge expired subscription</td><td>5</td></tr>
 <tr><td>brokerDeduplicationEnabled</td><td>Set the default behavior for message deduplication in the broker. This can be overridden per-namespace. If it is enabled, the broker rejects messages that are already stored in the topic.</td><td>false</td></tr>
 <tr><td>brokerDeduplicationMaxNumberOfProducers</td><td>Maximum number of producer information that it's going to be persisted for deduplication purposes</td><td>10000</td></tr>
diff --git a/content/docs/fr/2.7.0/reference-configuration/index.html b/content/docs/fr/2.7.0/reference-configuration/index.html
index 71851b7..8f9804a 100644
--- a/content/docs/fr/2.7.0/reference-configuration/index.html
+++ b/content/docs/fr/2.7.0/reference-configuration/index.html
@@ -542,8 +542,8 @@
 <tr><td>subscriptionExpirationTimeMinutes</td><td>How long to delete inactive subscriptions from last consumption. When it is set to 0, inactive subscriptions are not deleted automatically</td><td>0</td></tr>
 <tr><td>subscriptionRedeliveryTrackerEnabled</td><td>Enable subscription message redelivery tracker to send redelivery count to consumer.</td><td>true</td></tr>
 <tr><td>subscriptionKeySharedEnable</td><td>Whether to enable the Key_Shared subscription.</td><td>true</td></tr>
-<tr><td>subscriptionKeySharedUseConsistentHashing</td><td>In the Key_Shared subscription mode, with default AUTO_SPLIT mode, use splitting ranges or consistent hashing to reassign keys to new consumers.</td><td>false</td></tr>
-<tr><td>subscriptionKeySharedConsistentHashingReplicaPoints</td><td>In the Key_Shared subscription mode, the number of points in the consistent-hashing ring. The greater the number, the more equal the assignment of keys to consumers.</td><td>100</td></tr>
+<tr><td>subscriptionKeySharedUseConsistentHashing</td><td>In Key_Shared subscription type, with default AUTO_SPLIT mode, use splitting ranges or consistent hashing to reassign keys to new consumers.</td><td>false</td></tr>
+<tr><td>subscriptionKeySharedConsistentHashingReplicaPoints</td><td>In Key_Shared subscription type, the number of points in the consistent-hashing ring. The greater the number, the more equal the assignment of keys to consumers.</td><td>100</td></tr>
 <tr><td>subscriptionExpiryCheckIntervalInMinutes</td><td>How frequently to proactively check and purge expired subscription</td><td>5</td></tr>
 <tr><td>brokerDeduplicationEnabled</td><td>Set the default behavior for message deduplication in the broker. This can be overridden per-namespace. If it is enabled, the broker rejects messages that are already stored in the topic.</td><td>false</td></tr>
 <tr><td>brokerDeduplicationMaxNumberOfProducers</td><td>Maximum number of producer information that it's going to be persisted for deduplication purposes</td><td>10000</td></tr>
diff --git a/content/docs/fr/2.7.1/client-libraries-java.html b/content/docs/fr/2.7.1/client-libraries-java.html
index fa98788..2086d3b 100644
--- a/content/docs/fr/2.7.1/client-libraries-java.html
+++ b/content/docs/fr/2.7.1/client-libraries-java.html
@@ -269,7 +269,7 @@ Consumer consumer = client.newConsumer()
 <h3><a class="anchor" aria-hidden="true" id="configure-consumer"></a><a href="#configure-consumer" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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- [...]
 <p>If you instantiate a <code>Consumer</code> object by specifying only a topic and subscription name as in the example above, the consumer uses the default configuration.</p>
 <p>When you create a consumer, you can use the <code>loadConf</code> configuration. The following parameters are available in <code>loadConf</code>.</p>
-<p>Type | Name| <div style="width:300px">Description</div>|  Default |---|---|---|--- Set&lt;String&gt;|  <code>topicNames</code>|   Topic name| Sets.newTreeSet() Pattern|   <code>topicsPattern</code>| Topic pattern   |None String| <code>subscriptionName</code>| Subscription name|  None SubscriptionType| <code>subscriptionType</code>|   Subscription type <br/><br/>Four subscription types are available:<li>Exclusive</li><li>Failover</li><li>Shared</li><li>Key_Shared</li>|SubscriptionType. [...]
+<p>Type | Name| <div style="width:300px">Description</div>|  Default |---|---|---|--- Set&lt;String&gt;|  <code>topicNames</code>|   Topic name| Sets.newTreeSet() Pattern|   <code>topicsPattern</code>| Topic pattern   |None String| <code>subscriptionName</code>| Subscription name|  None SubscriptionType| <code>subscriptionType</code>|   Subscription type <br/><br/>Four subscription types are available:<li>Exclusive</li><li>Failover</li><li>Shared</li><li>Key_Shared</li>|SubscriptionType. [...]
 SortedMap&lt;String, String&gt;|<code>properties</code>|A name or value property of this consumer.<br/><br/><code>properties</code> is application defined metadata attached to a consumer. <br/><br/>When getting a topic stats, associate this metadata with the consumer stats for easier identification.|new TreeMap&lt;&gt;() boolean|<code>readCompacted</code>|If enabling <code>readCompacted</code>, a consumer reads messages from a compacted topic rather than reading a full message backlog of [...]
 <p>You can configure parameters if you do not want to use the default configuration. For a full list, see the Javadoc for the <a href="https://pulsar.incubator.apache.org/api/client/2.8.0-SNAPSHOT/org/apache/pulsar/client/api/ConsumerBuilder">ConsumerBuilder</a>
  class.</p>
@@ -298,8 +298,8 @@ SortedMap&lt;String, String&gt;|<code>properties</code>|A name or value property
 consumer.acknowledge(messages)
 </code></pre>
 <blockquote>
-<p>Note:</p>
-<p>Batch receive policy limits the number and bytes of messages in a single batch. You can specify a timeout to wait for enough messages.</p>
+<p><strong>Note</strong>  <br>
+Batch receive policy limits the number and bytes of messages in a single batch. You can specify a timeout to wait for enough messages.</p>
 <p>The batch receive is completed if any of the following condition is met: enough number of messages, bytes of messages, wait timeout.</p>
 <pre><code class="hljs css language-java">Consumer consumer = client.newConsumer()
         .topic(<span class="hljs-string">"my-topic"</span>)
@@ -390,10 +390,10 @@ consumerBuilder
             });
 }
 </code></pre>
-<h3><a class="anchor" aria-hidden="true" id="subscription-modes"></a><a href="#subscription-modes" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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- [...]
-<p>Pulsar has various <a href="concepts-messaging#subscription-modes">subscription modes</a> to match different scenarios. A topic can have multiple subscriptions with different subscription modes. However, a subscription can only have one subscription mode at a time.</p>
-<p>A subscription is identical with the subscription name which can specify only one subscription mode at a time. You cannot change the subscription mode unless all existing consumers of this subscription are offline.</p>
-<p>Different subscription modes have different message distribution modes. This section describes the differences of subscription modes and how to use them.</p>
+<h3><a class="anchor" aria-hidden="true" id="subscription-types"></a><a href="#subscription-types" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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- [...]
+<p>Pulsar has various <a href="concepts-messaging#subscription-types">subscription types</a> to match different scenarios. A topic can have multiple subscriptions with different subscription types. However, a subscription can only have one subscription type at a time.</p>
+<p>A subscription is identical with the subscription name; a subscription name can specify only one subscription type at a time. To change the subscription type, you should first stop all consumers of this subscription.</p>
+<p>Different subscription types have different message distribution modes. This section describes the differences of subscription types and how to use them.</p>
 <p>In order to better describe their differences, assuming you have a topic named &quot;my-topic&quot;, and the producer has published 10 messages.</p>
 <pre><code class="hljs css language-java">Producer&lt;String&gt; producer = client.newProducer(Schema.STRING)
         .topic(<span class="hljs-string">"my-topic"</span>)
@@ -412,7 +412,7 @@ producer.newMessage().key(<span class="hljs-string">"key-4"</span>).value(<span
 producer.newMessage().key(<span class="hljs-string">"key-4"</span>).value(<span class="hljs-string">"message-4-2"</span>).send();
 </code></pre>
 <h4><a class="anchor" aria-hidden="true" id="exclusive"></a><a href="#exclusive" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>Create a new consumer and subscribe with the <code>Exclusive</code> subscription mode.</p>
+<p>Create a new consumer and subscribe with the <code>Exclusive</code> subscription type.</p>
 <pre><code class="hljs css language-java">Consumer consumer = client.newConsumer()
         .topic(<span class="hljs-string">"my-topic"</span>)
         .subscriptionName(<span class="hljs-string">"my-subscription"</span>)
@@ -421,11 +421,11 @@ producer.newMessage().key(<span class="hljs-string">"key-4"</span>).value(<span
 </code></pre>
 <p>Only the first consumer is allowed to the subscription, other consumers receive an error. The first consumer receives all 10 messages, and the consuming order is the same as the producing order.</p>
 <blockquote>
-<p>Note:</p>
-<p>If topic is a partitioned topic, the first consumer subscribes to all partitioned topics, other consumers are not assigned with partitions and receive an error.</p>
+<p><strong>Note</strong>  <br>
+If topic is a partitioned topic, the first consumer subscribes to all partitioned topics, other consumers are not assigned with partitions and receive an error.</p>
 </blockquote>
 <h4><a class="anchor" aria-hidden="true" id="failover"></a><a href="#failover" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
-<p>Create new consumers and subscribe with the<code>Failover</code> subscription mode.</p>
+<p>Create new consumers and subscribe with the<code>Failover</code> subscription type.</p>
 <pre><code class="hljs css language-java">Consumer consumer1 = client.newConsumer()
         .topic(<span class="hljs-string">"my-topic"</span>)
         .subscriptionName(<span class="hljs-string">"my-subscription"</span>)
@@ -457,11 +457,11 @@ Consumer consumer2 = client.newConsumer()
 (<span class="hljs-string">"key-4"</span>, <span class="hljs-string">"message-4-2"</span>)
 </code></pre>
 <blockquote>
-<p>Note:</p>
-<p>If a topic is a partitioned topic, each partition has only one active consumer, messages of one partition are distributed to only one consumer, and messages of multiple partitions are distributed to multiple consumers.</p>
+<p><strong>Note</strong>  <br>
+If a topic is a partitioned topic, each partition has only one active consumer, messages of one partition are distributed to only one consumer, and messages of multiple partitions are distributed to multiple consumers.</p>
 </blockquote>
 <h4><a class="anchor" aria-hidden="true" id="shared"></a><a href="#shared" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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. [...]
-<p>Create new consumers and subscribe with <code>Shared</code> subscription mode:</p>
+<p>Create new consumers and subscribe with <code>Shared</code> subscription type.</p>
 <pre><code class="hljs css language-java">Consumer consumer1 = client.newConsumer()
         .topic(<span class="hljs-string">"my-topic"</span>)
         .subscriptionName(<span class="hljs-string">"my-subscription"</span>)
@@ -475,7 +475,7 @@ Consumer consumer2 = client.newConsumer()
         .subscribe()
 <span class="hljs-comment">//Both consumer1 and consumer 2 is active consumers.</span>
 </code></pre>
-<p>In shared subscription mode, multiple consumers can attach to the same subscription and messages are delivered in a round robin distribution across consumers.</p>
+<p>In shared subscription type, multiple consumers can attach to the same subscription and messages are delivered in a round robin distribution across consumers.</p>
 <p>If a broker dispatches only one message at a time, consumer1 receives the following information.</p>
 <pre><code class="hljs">(<span class="hljs-string">"key-1"</span>, <span class="hljs-string">"message-1-1"</span>)
 (<span class="hljs-string">"key-1"</span>, <span class="hljs-string">"message-1-3"</span>)
@@ -490,9 +490,9 @@ Consumer consumer2 = client.newConsumer()
 (<span class="hljs-string">"key-3"</span>, <span class="hljs-string">"message-3-2"</span>)
 (<span class="hljs-string">"key-4"</span>, <span class="hljs-string">"message-4-2"</span>)
 </code></pre>
-<p><code>Shared</code> subscription is different from <code>Exclusive</code> and <code>Failover</code> subscription modes. <code>Shared</code> subscription has better flexibility, but cannot provide order guarantee.</p>
+<p><code>Shared</code> subscription is different from <code>Exclusive</code> and <code>Failover</code> subscription types. <code>Shared</code> subscription has better flexibility, but cannot provide order guarantee.</p>
 <h4><a class="anchor" aria-hidden="true" id="key_shared"></a><a href="#key_shared" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>This is a new subscription mode since 2.4.0 release, create new consumers and subscribe with <code>Key_Shared</code> subscription mode.</p>
+<p>This is a new subscription type since 2.4.0 release. Create new consumers and subscribe with <code>Key_Shared</code> subscription type.</p>
 <pre><code class="hljs css language-java">Consumer consumer1 = client.newConsumer()
         .topic(<span class="hljs-string">"my-topic"</span>)
         .subscriptionName(<span class="hljs-string">"my-subscription"</span>)
@@ -534,8 +534,8 @@ Consumer consumer2 = client.newConsumer()
         .create();
 </code></pre>
 <blockquote>
-<p>Note:</p>
-<p>If the message key is not specified, messages without key are dispatched to one consumer in order by default.</p>
+<p><strong>Note</strong>  <br>
+If the message key is not specified, messages without key are dispatched to one consumer in order by default.</p>
 </blockquote>
 <h2><a class="anchor" aria-hidden="true" id="reader"></a><a href="#reader" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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. [...]
 <p>With the <a href="/docs/fr/2.7.1/concepts-clients#reader-interface">reader interface</a>, Pulsar clients can &quot;manually position&quot; themselves within a topic and reading all messages from a specified message onward. The Pulsar API for Java enables you to create <a href="https://pulsar.incubator.apache.org/api/client/2.8.0-SNAPSHOT/org/apache/pulsar/client/api/Reader">Reader</a>
@@ -711,7 +711,7 @@ PulsarClient client = PulsarClient.builder()
     .authentication(auth)
     .build();
 </code></pre>
-</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/fr/2.7.1/client-libraries"><span class="arrow-prev">← </span><span>Overview</span></a><a class="docs-next button" href="/docs/fr/2.7.1/client-libraries-go"><span>Go</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#installation">Installation</a><ul class="toc-headings"><li><a href="#maven">Maven</a></li><li><a href="#gra [...]
+</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/fr/2.7.1/client-libraries"><span class="arrow-prev">← </span><span>Overview</span></a><a class="docs-next button" href="/docs/fr/2.7.1/client-libraries-go"><span>Go</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#installation">Installation</a><ul class="toc-headings"><li><a href="#maven">Maven</a></li><li><a href="#gra [...]
       const community = document.querySelector("a[href='#community']").parentNode;
       const communityMenu =
         '<li>' +
diff --git a/content/docs/fr/2.7.1/client-libraries-java/index.html b/content/docs/fr/2.7.1/client-libraries-java/index.html
index fa98788..2086d3b 100644
--- a/content/docs/fr/2.7.1/client-libraries-java/index.html
+++ b/content/docs/fr/2.7.1/client-libraries-java/index.html
@@ -269,7 +269,7 @@ Consumer consumer = client.newConsumer()
 <h3><a class="anchor" aria-hidden="true" id="configure-consumer"></a><a href="#configure-consumer" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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- [...]
 <p>If you instantiate a <code>Consumer</code> object by specifying only a topic and subscription name as in the example above, the consumer uses the default configuration.</p>
 <p>When you create a consumer, you can use the <code>loadConf</code> configuration. The following parameters are available in <code>loadConf</code>.</p>
-<p>Type | Name| <div style="width:300px">Description</div>|  Default |---|---|---|--- Set&lt;String&gt;|  <code>topicNames</code>|   Topic name| Sets.newTreeSet() Pattern|   <code>topicsPattern</code>| Topic pattern   |None String| <code>subscriptionName</code>| Subscription name|  None SubscriptionType| <code>subscriptionType</code>|   Subscription type <br/><br/>Four subscription types are available:<li>Exclusive</li><li>Failover</li><li>Shared</li><li>Key_Shared</li>|SubscriptionType. [...]
+<p>Type | Name| <div style="width:300px">Description</div>|  Default |---|---|---|--- Set&lt;String&gt;|  <code>topicNames</code>|   Topic name| Sets.newTreeSet() Pattern|   <code>topicsPattern</code>| Topic pattern   |None String| <code>subscriptionName</code>| Subscription name|  None SubscriptionType| <code>subscriptionType</code>|   Subscription type <br/><br/>Four subscription types are available:<li>Exclusive</li><li>Failover</li><li>Shared</li><li>Key_Shared</li>|SubscriptionType. [...]
 SortedMap&lt;String, String&gt;|<code>properties</code>|A name or value property of this consumer.<br/><br/><code>properties</code> is application defined metadata attached to a consumer. <br/><br/>When getting a topic stats, associate this metadata with the consumer stats for easier identification.|new TreeMap&lt;&gt;() boolean|<code>readCompacted</code>|If enabling <code>readCompacted</code>, a consumer reads messages from a compacted topic rather than reading a full message backlog of [...]
 <p>You can configure parameters if you do not want to use the default configuration. For a full list, see the Javadoc for the <a href="https://pulsar.incubator.apache.org/api/client/2.8.0-SNAPSHOT/org/apache/pulsar/client/api/ConsumerBuilder">ConsumerBuilder</a>
  class.</p>
@@ -298,8 +298,8 @@ SortedMap&lt;String, String&gt;|<code>properties</code>|A name or value property
 consumer.acknowledge(messages)
 </code></pre>
 <blockquote>
-<p>Note:</p>
-<p>Batch receive policy limits the number and bytes of messages in a single batch. You can specify a timeout to wait for enough messages.</p>
+<p><strong>Note</strong>  <br>
+Batch receive policy limits the number and bytes of messages in a single batch. You can specify a timeout to wait for enough messages.</p>
 <p>The batch receive is completed if any of the following condition is met: enough number of messages, bytes of messages, wait timeout.</p>
 <pre><code class="hljs css language-java">Consumer consumer = client.newConsumer()
         .topic(<span class="hljs-string">"my-topic"</span>)
@@ -390,10 +390,10 @@ consumerBuilder
             });
 }
 </code></pre>
-<h3><a class="anchor" aria-hidden="true" id="subscription-modes"></a><a href="#subscription-modes" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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- [...]
-<p>Pulsar has various <a href="concepts-messaging#subscription-modes">subscription modes</a> to match different scenarios. A topic can have multiple subscriptions with different subscription modes. However, a subscription can only have one subscription mode at a time.</p>
-<p>A subscription is identical with the subscription name which can specify only one subscription mode at a time. You cannot change the subscription mode unless all existing consumers of this subscription are offline.</p>
-<p>Different subscription modes have different message distribution modes. This section describes the differences of subscription modes and how to use them.</p>
+<h3><a class="anchor" aria-hidden="true" id="subscription-types"></a><a href="#subscription-types" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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- [...]
+<p>Pulsar has various <a href="concepts-messaging#subscription-types">subscription types</a> to match different scenarios. A topic can have multiple subscriptions with different subscription types. However, a subscription can only have one subscription type at a time.</p>
+<p>A subscription is identical with the subscription name; a subscription name can specify only one subscription type at a time. To change the subscription type, you should first stop all consumers of this subscription.</p>
+<p>Different subscription types have different message distribution modes. This section describes the differences of subscription types and how to use them.</p>
 <p>In order to better describe their differences, assuming you have a topic named &quot;my-topic&quot;, and the producer has published 10 messages.</p>
 <pre><code class="hljs css language-java">Producer&lt;String&gt; producer = client.newProducer(Schema.STRING)
         .topic(<span class="hljs-string">"my-topic"</span>)
@@ -412,7 +412,7 @@ producer.newMessage().key(<span class="hljs-string">"key-4"</span>).value(<span
 producer.newMessage().key(<span class="hljs-string">"key-4"</span>).value(<span class="hljs-string">"message-4-2"</span>).send();
 </code></pre>
 <h4><a class="anchor" aria-hidden="true" id="exclusive"></a><a href="#exclusive" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>Create a new consumer and subscribe with the <code>Exclusive</code> subscription mode.</p>
+<p>Create a new consumer and subscribe with the <code>Exclusive</code> subscription type.</p>
 <pre><code class="hljs css language-java">Consumer consumer = client.newConsumer()
         .topic(<span class="hljs-string">"my-topic"</span>)
         .subscriptionName(<span class="hljs-string">"my-subscription"</span>)
@@ -421,11 +421,11 @@ producer.newMessage().key(<span class="hljs-string">"key-4"</span>).value(<span
 </code></pre>
 <p>Only the first consumer is allowed to the subscription, other consumers receive an error. The first consumer receives all 10 messages, and the consuming order is the same as the producing order.</p>
 <blockquote>
-<p>Note:</p>
-<p>If topic is a partitioned topic, the first consumer subscribes to all partitioned topics, other consumers are not assigned with partitions and receive an error.</p>
+<p><strong>Note</strong>  <br>
+If topic is a partitioned topic, the first consumer subscribes to all partitioned topics, other consumers are not assigned with partitions and receive an error.</p>
 </blockquote>
 <h4><a class="anchor" aria-hidden="true" id="failover"></a><a href="#failover" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
-<p>Create new consumers and subscribe with the<code>Failover</code> subscription mode.</p>
+<p>Create new consumers and subscribe with the<code>Failover</code> subscription type.</p>
 <pre><code class="hljs css language-java">Consumer consumer1 = client.newConsumer()
         .topic(<span class="hljs-string">"my-topic"</span>)
         .subscriptionName(<span class="hljs-string">"my-subscription"</span>)
@@ -457,11 +457,11 @@ Consumer consumer2 = client.newConsumer()
 (<span class="hljs-string">"key-4"</span>, <span class="hljs-string">"message-4-2"</span>)
 </code></pre>
 <blockquote>
-<p>Note:</p>
-<p>If a topic is a partitioned topic, each partition has only one active consumer, messages of one partition are distributed to only one consumer, and messages of multiple partitions are distributed to multiple consumers.</p>
+<p><strong>Note</strong>  <br>
+If a topic is a partitioned topic, each partition has only one active consumer, messages of one partition are distributed to only one consumer, and messages of multiple partitions are distributed to multiple consumers.</p>
 </blockquote>
 <h4><a class="anchor" aria-hidden="true" id="shared"></a><a href="#shared" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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. [...]
-<p>Create new consumers and subscribe with <code>Shared</code> subscription mode:</p>
+<p>Create new consumers and subscribe with <code>Shared</code> subscription type.</p>
 <pre><code class="hljs css language-java">Consumer consumer1 = client.newConsumer()
         .topic(<span class="hljs-string">"my-topic"</span>)
         .subscriptionName(<span class="hljs-string">"my-subscription"</span>)
@@ -475,7 +475,7 @@ Consumer consumer2 = client.newConsumer()
         .subscribe()
 <span class="hljs-comment">//Both consumer1 and consumer 2 is active consumers.</span>
 </code></pre>
-<p>In shared subscription mode, multiple consumers can attach to the same subscription and messages are delivered in a round robin distribution across consumers.</p>
+<p>In shared subscription type, multiple consumers can attach to the same subscription and messages are delivered in a round robin distribution across consumers.</p>
 <p>If a broker dispatches only one message at a time, consumer1 receives the following information.</p>
 <pre><code class="hljs">(<span class="hljs-string">"key-1"</span>, <span class="hljs-string">"message-1-1"</span>)
 (<span class="hljs-string">"key-1"</span>, <span class="hljs-string">"message-1-3"</span>)
@@ -490,9 +490,9 @@ Consumer consumer2 = client.newConsumer()
 (<span class="hljs-string">"key-3"</span>, <span class="hljs-string">"message-3-2"</span>)
 (<span class="hljs-string">"key-4"</span>, <span class="hljs-string">"message-4-2"</span>)
 </code></pre>
-<p><code>Shared</code> subscription is different from <code>Exclusive</code> and <code>Failover</code> subscription modes. <code>Shared</code> subscription has better flexibility, but cannot provide order guarantee.</p>
+<p><code>Shared</code> subscription is different from <code>Exclusive</code> and <code>Failover</code> subscription types. <code>Shared</code> subscription has better flexibility, but cannot provide order guarantee.</p>
 <h4><a class="anchor" aria-hidden="true" id="key_shared"></a><a href="#key_shared" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>This is a new subscription mode since 2.4.0 release, create new consumers and subscribe with <code>Key_Shared</code> subscription mode.</p>
+<p>This is a new subscription type since 2.4.0 release. Create new consumers and subscribe with <code>Key_Shared</code> subscription type.</p>
 <pre><code class="hljs css language-java">Consumer consumer1 = client.newConsumer()
         .topic(<span class="hljs-string">"my-topic"</span>)
         .subscriptionName(<span class="hljs-string">"my-subscription"</span>)
@@ -534,8 +534,8 @@ Consumer consumer2 = client.newConsumer()
         .create();
 </code></pre>
 <blockquote>
-<p>Note:</p>
-<p>If the message key is not specified, messages without key are dispatched to one consumer in order by default.</p>
+<p><strong>Note</strong>  <br>
+If the message key is not specified, messages without key are dispatched to one consumer in order by default.</p>
 </blockquote>
 <h2><a class="anchor" aria-hidden="true" id="reader"></a><a href="#reader" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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. [...]
 <p>With the <a href="/docs/fr/2.7.1/concepts-clients#reader-interface">reader interface</a>, Pulsar clients can &quot;manually position&quot; themselves within a topic and reading all messages from a specified message onward. The Pulsar API for Java enables you to create <a href="https://pulsar.incubator.apache.org/api/client/2.8.0-SNAPSHOT/org/apache/pulsar/client/api/Reader">Reader</a>
@@ -711,7 +711,7 @@ PulsarClient client = PulsarClient.builder()
     .authentication(auth)
     .build();
 </code></pre>
-</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/fr/2.7.1/client-libraries"><span class="arrow-prev">← </span><span>Overview</span></a><a class="docs-next button" href="/docs/fr/2.7.1/client-libraries-go"><span>Go</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#installation">Installation</a><ul class="toc-headings"><li><a href="#maven">Maven</a></li><li><a href="#gra [...]
+</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/fr/2.7.1/client-libraries"><span class="arrow-prev">← </span><span>Overview</span></a><a class="docs-next button" href="/docs/fr/2.7.1/client-libraries-go"><span>Go</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#installation">Installation</a><ul class="toc-headings"><li><a href="#maven">Maven</a></li><li><a href="#gra [...]
       const community = document.querySelector("a[href='#community']").parentNode;
       const communityMenu =
         '<li>' +
diff --git a/content/docs/fr/2.7.1/concepts-messaging.html b/content/docs/fr/2.7.1/concepts-messaging.html
index 7c2db8b..cf6e961 100644
--- a/content/docs/fr/2.7.1/concepts-messaging.html
+++ b/content/docs/fr/2.7.1/concepts-messaging.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>Messaging · Apache Pulsar</title><meta name="viewport" content="width=device-width, initial-scale=1.0"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar is built on the [publish-subscribe](https://en.wikipedia.org/wiki/Publish%E2%80%93subscribe_pattern) pattern (often abbreviated to pub-sub). In this pattern, [producers](#producers) [...]
+<!DOCTYPE html><html lang="fr"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Messaging · Apache Pulsar</title><meta name="viewport" content="width=device-width, initial-scale=1.0"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar is built on the [publish-subscribe](https://en.wikipedia.org/wiki/Publish%E2%80%93subscribe_pattern) pattern (often abbreviated to pub-sub). In this pattern, [producers](#producers) [...]
               (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,7 +74,7 @@
                 };
               }
             });
-        </script></nav></div><div class="container mainContainer docsContainer"><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 id="__docusaurus" class="postHeaderTitle">Messaging</h1></header><article><div><span><p>Pulsar is built on the <a href="https://en.wikipedia.org/wiki/Publish%E2%80%93subscribe_pattern">publish-subscribe [...]
+        </script></nav></div><div class="container mainContainer docsContainer"><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 id="__docusaurus" class="postHeaderTitle">Messaging</h1></header><article><div><span><p>Pulsar is built on the <a href="https://en.wikipedia.org/wiki/Publish%E2%80%93subscribe_pattern">publish-subscribe [...]
 <p>When a subscription is created, Pulsar <a href="/docs/fr/2.7.1/concepts-architecture-overview#persistent-storage">retains</a> all messages, even if the consumer is disconnected. Retained messages are discarded only when a consumer acknowledges that those messages are processed successfully.</p>
 <h2><a class="anchor" aria-hidden="true" id="messages"></a><a href="#messages" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
 <p>Messages are the basic &quot;unit&quot; of Pulsar. The following table lists the components of messages.</p>
@@ -128,7 +128,7 @@
 <ul>
 <li>Batching and chunking cannot be enabled simultaneously. To enable chunking, you must disable batching in advance.</li>
 <li>Chunking is only supported for persisted topics.</li>
-<li>Chunking is only supported for the exclusive and failover subscription modes.</li>
+<li>Chunking is only supported for the exclusive and failover subscription types.</li>
 </ul>
 <p>When chunking is enabled (<code>chunkingEnabled=true</code>), if the message size is greater than the allowed maximum publish-payload size, the producer splits the original message into chunked messages and publishes them with chunked metadata to the broker separately and in order. At the broker side, the chunked messages are stored in the managed-ledger in the same way as that of ordinary messages. The only difference is that the consumer needs to buffer the chunked messages and comb [...]
 <p>The consumer consumes the chunked messages and buffers them until the consumer receives all the chunks of a message. And then the consumer stitches chunked messages together and places them into the receiver-queue. Clients consume messages from the receiver-queue. Once the consumer consumes the entire large message and acknowledges it, the consumer internally sends acknowledgement of all the chunk messages associated to that large message. You can set the <code>maxPendingChuckedMessag [...]
@@ -165,13 +165,13 @@
 <li>Messages are acknowledged cumulatively. With cumulative acknowledgement, the consumer only needs to acknowledge the last message it received. All messages in the stream up to (and including) the provided message are not re-delivered to that consumer.</li>
 </ul>
 <blockquote>
-<p><strong>Note</strong> Cumulative acknowledgement cannot be used in the <a href="#subscription-modes">shared subscription mode</a>, because the shared subscription mode involves multiple consumers who have access to the same subscription. In the shared subscription mode, messages are acknowledged individually.</p>
+<p><strong>Note</strong> Cumulative acknowledgement cannot be used in <a href="#subscription-types">Shared subscription type</a>, because this subscription type involves multiple consumers which have access to the same subscription. In Shared subscription type, messages are acknowledged individually.</p>
 </blockquote>
 <h3><a class="anchor" aria-hidden="true" id="negative-acknowledgement"></a><a href="#negative-acknowledgement" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>When a consumer does not consume a message successfully at a time, and wants to consume the message again, the consumer sends a negative acknowledgement to the broker, and then the broker redelivers the message.</p>
-<p>Messages are negatively acknowledged one by one or cumulatively, which depends on the consumption subscription mode.</p>
-<p>In the exclusive and failover subscription modes, consumers only negatively acknowledge the last message they receive.</p>
-<p>In the shared and Key_Shared subscription modes, you can negatively acknowledge messages individually.</p>
+<p>Messages are negatively acknowledged either individually or cumulatively, depending on the consumption subscription type.</p>
+<p>In the exclusive and failover subscription types, consumers only negatively acknowledge the last message they receive.</p>
+<p>In the shared and Key_Shared subscription types, you can negatively acknowledge messages individually.</p>
 <p>Be aware that negative acknowledgment on ordered subscription types, such as Exclusive, Failover and Key_Shared, can cause failed messages to arrive consumers out of the original order.</p>
 <blockquote>
 <p><strong>Note</strong> If batching is enabled, other messages and the negatively acknowledged messages in the same batch are redelivered to the consumer.</p>
@@ -216,7 +216,7 @@ Prefer negative acknowledgements over acknowledgement timeout. Negative acknowle
 <p>Dead letter topic depends on message re-delivery. Messages are redelivered either due to <a href="#acknowledgement-timeout">acknowledgement timeout</a> or <a href="#negative-acknowledgement">negative acknowledgement</a>. If you are going to use negative acknowledgement on a message, make sure it is negatively acknowledged before the acknowledgement timeout.</p>
 <blockquote>
 <p><strong>Note</strong>    <br>
-Currently, dead letter topic is enabled only in the shared subscription mode.</p>
+Currently, dead letter topic is enabled only in Shared subscription type.</p>
 </blockquote>
 <h3><a class="anchor" aria-hidden="true" id="retry-letter-topic"></a><a href="#retry-letter-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- [...]
 <p>For many online business systems, a message is re-consumed due to exception occurs in the business logic processing. To configure the delay time for re-consuming the failed messages, you can configure the producer to send messages to both the business topic and the retry letter topic, and enable automatic retry on the consumer. When automatic retry is enabled on the consumer, a message is stored in the retry letter topic if the messages are not consumed, and therefore the consumer aut [...]
@@ -256,22 +256,22 @@ Currently, dead letter topic is enabled only in the shared subscription mode.</p
 <h2><a class="anchor" aria-hidden="true" id="espaces-de-nommage"></a><a href="#espaces-de-nommage" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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- [...]
 <p>A namespace is a logical nomenclature within a tenant. A tenant creates multiple namespaces via the <a href="/docs/fr/2.7.1/admin-api-namespaces#create">admin API</a>. For instance, a tenant with different applications can create a separate namespace for each application. A namespace allows the application to create and manage a hierarchy of topics. The topic <code>my-tenant/app1</code> is a namespace for the application <code>app1</code> for <code>my-tenant</code>. You can create any [...]
 <h2><a class="anchor" aria-hidden="true" id="subscriptions"></a><a href="#subscriptions" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>A subscription is a named configuration rule that determines how messages are delivered to consumers. Four subscription modes are available in Pulsar: <a href="#exclusive">exclusive</a>, <a href="#shared">shared</a>, <a href="#failover">failover</a>, and <a href="#key_shared">key_shared</a>. These modes are illustrated in the figure below.</p>
-<p><img src="/docs/assets/pulsar-subscription-modes.png" alt="Subscription modes"></p>
+<p>A subscription is a named configuration rule that determines how messages are delivered to consumers. Four subscription types are available in Pulsar: <a href="#exclusive">exclusive</a>, <a href="#shared">shared</a>, <a href="#failover">failover</a>, and <a href="#key_shared">key_shared</a>. These types are illustrated in the figure below.</p>
+<p><img src="/docs/assets/pulsar-subscription-types.png" alt="Subscription types"></p>
 <blockquote>
-<p><strong>Pub-Sub or Queuing</strong> In Pulsar, you can use different subscriptions flexibly. * If you want to achieve traditional &quot;fan-out pub-sub messaging&quot; among consumers, specify a unique subscription name for each consumer. It is exclusive subscription mode. * If you want to achieve &quot;message queuing&quot; among consumers, share the same subscription name among multiple consumers(shared, failover, key_shared). * If you want to achieve both effects simultaneously, co [...]
+<p><strong>Pub-Sub or Queuing</strong> In Pulsar, you can use different subscriptions flexibly. * If you want to achieve traditional &quot;fan-out pub-sub messaging&quot; among consumers, specify a unique subscription name for each consumer. It is exclusive subscription type. * If you want to achieve &quot;message queuing&quot; among consumers, share the same subscription name among multiple consumers(shared, failover, key_shared). * If you want to achieve both effects simultaneously, co [...]
 </blockquote>
-<h3><a class="anchor" aria-hidden="true" id="consumerless-subscriptions-and-their-corresponding-modes"></a><a href="#consumerless-subscriptions-and-their-corresponding-modes" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.2 [...]
-<p>When a subscription has no consumers, its subscription mode is undefined. A subscription's mode is defined when a consumer connects to the subscription, and the mode can be changed by restarting all consumers with a different configuration.</p>
+<h3><a class="anchor" aria-hidden="true" id="consumerless-subscriptions-and-their-corresponding-types"></a><a href="#consumerless-subscriptions-and-their-corresponding-types" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.2 [...]
+<p>When a subscription has no consumers, its subscription type is undefined. The type of a subscription is defined when a consumer connects to it, and the type can be changed by restarting all consumers with a different configuration.</p>
 <h3><a class="anchor" aria-hidden="true" id="exclusive"></a><a href="#exclusive" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>In <em>exclusive</em> mode, only a single consumer is allowed to attach to the subscription. If multiple consumers subscribe to a topic using the same subscription, an error occurs.</p>
+<p>In <em>exclusive</em> type, only a single consumer is allowed to attach to the subscription. If multiple consumers subscribe to a topic using the same subscription, an error occurs.</p>
 <p>In the diagram below, only <strong>Consumer A-0</strong> is allowed to consume messages.</p>
 <blockquote>
-<p>Exclusive mode is the default subscription mode.</p>
+<p>Exclusive is the default subscription type.</p>
 </blockquote>
 <p><img src="/docs/assets/pulsar-exclusive-subscriptions.png" alt="Exclusive subscriptions"></p>
 <h3><a class="anchor" aria-hidden="true" id="failover"></a><a href="#failover" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
-<p>In <em>failover</em> mode, multiple consumers can attach to the same subscription. A master consumer is picked for non-partitioned topic or each partition of partitioned topic and receives messages. When the master consumer disconnects, all (non-acknowledged and subsequent) messages are delivered to the next consumer in line.</p>
+<p>In <em>Failover</em> type, multiple consumers can attach to the same subscription. A master consumer is picked for non-partitioned topic or each partition of partitioned topic and receives messages. When the master consumer disconnects, all (non-acknowledged and subsequent) messages are delivered to the next consumer in line.</p>
 <p>For partitioned topics, broker will sort consumers by priority level and lexicographical order of consumer name. Then broker will try to evenly assigns topics to consumers with the highest priority level.</p>
 <p>For non-partitioned topic, broker will pick consumer in the order they subscribe to the non partitioned topic.</p>
 <p>In the diagram below, <strong>Consumer-B-0</strong> is the master consumer while <strong>Consumer-B-1</strong> would be the next consumer in line to receive messages if <strong>Consumer-B-0</strong> is disconnected.</p>
@@ -332,9 +332,9 @@ Consumer&lt;<span class="hljs-keyword">byte</span>[]&gt; someTopicsConsumer = pu
 <p>The diagram below illustrates this:</p>
 <p><img src="/docs/assets/partitioning.png" alt=""></p>
 <p>The <strong>Topic1</strong> topic has five partitions (<strong>P0</strong> through <strong>P4</strong>) split across three brokers. Because there are more partitions than brokers, two brokers handle two partitions a piece, while the third handles only one (again, Pulsar handles this distribution of partitions automatically).</p>
-<p>Messages for this topic are broadcast to two consumers. The <a href="#routing-modes">routing mode</a> determines each message should be published to which partition, while the <a href="#subscription-modes">subscription mode</a> determines which messages go to which consumers.</p>
-<p>Decisions about routing and subscription modes can be made separately in most cases. In general, throughput concerns should guide partitioning/routing decisions while subscription decisions should be guided by application semantics.</p>
-<p>There is no difference between partitioned topics and normal topics in terms of how subscription modes work, as partitioning only determines what happens between when a message is published by a producer and processed and acknowledged by a consumer.</p>
+<p>Messages for this topic are broadcast to two consumers. The <a href="#routing-modes">routing mode</a> determines each message should be published to which partition, while the <a href="#subscription-types">subscription type</a> determines which messages go to which consumers.</p>
+<p>Decisions about routing and subscription types can be made separately in most cases. In general, throughput concerns should guide partitioning/routing decisions while subscription decisions should be guided by application semantics.</p>
+<p>There is no difference between partitioned topics and normal topics in terms of how subscription types work, as partitioning only determines what happens between when a message is published by a producer and processed and acknowledged by a consumer.</p>
 <p>Partitioned topics need to be explicitly created via the <a href="/docs/fr/2.7.1/admin-api-overview">admin API</a>. The number of partitions can be specified when creating the topic.</p>
 <h3><a class="anchor" aria-hidden="true" id="routing-modes"></a><a href="#routing-modes" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>When publishing to partitioned topics, you must specify a <em>routing mode</em>. The routing mode determines which partition---that is, which internal topic---each message should be published to.</p>
@@ -386,7 +386,7 @@ Consumer&lt;<span class="hljs-keyword">byte</span>[]&gt; someTopicsConsumer = pu
 <h3><a class="anchor" aria-hidden="true" id="performance"></a><a href="#performance" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>Non-persistent messaging is usually faster than persistent messaging because brokers don't persist messages and immediately send acks back to the producer as soon as that message is delivered to connected brokers. Producers thus see comparatively low publish latency with non-persistent topic.</p>
 <h3><a class="anchor" aria-hidden="true" id="client-api"></a><a href="#client-api" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>Producers and consumers can connect to non-persistent topics in the same way as persistent topics, with the crucial difference that the topic name must start with <code>non-persistent</code>. All three subscription modes---<a href="#exclusive">exclusive</a>, <a href="#shared">shared</a>, and <a href="#failover">failover</a>---are supported for non-persistent topics.</p>
+<p>Producers and consumers can connect to non-persistent topics in the same way as persistent topics, with the crucial difference that the topic name must start with <code>non-persistent</code>. All three subscription types---<a href="#exclusive">exclusive</a>, <a href="#shared">shared</a>, and <a href="#failover">failover</a>---are supported for non-persistent topics.</p>
 <p>Here's an example <a href="/docs/fr/2.7.1/client-libraries-java#consumers">Java consumer</a> for a non-persistent topic:</p>
 <pre><code class="hljs css language-java">PulsarClient client = PulsarClient.builder()
         .serviceUrl(<span class="hljs-string">"pulsar://localhost:6650"</span>)
@@ -440,7 +440,7 @@ Consumer&lt;<span class="hljs-keyword">byte</span>[]&gt; consumer = client.newCo
 </blockquote>
 <h2><a class="anchor" aria-hidden="true" id="delayed-message-delivery"></a><a href="#delayed-message-delivery" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>Delayed message delivery enables you to consume a message later rather than immediately. In this mechanism, a message is stored in BookKeeper, <code>DelayedDeliveryTracker</code> maintains the time index(time -&gt; messageId) in memory after published to a broker, and it is delivered to a consumer once the specific delayed time is passed.</p>
-<p>Delayed message delivery only works in Shared subscription mode. In Exclusive and Failover subscription modes, the delayed message is dispatched immediately.</p>
+<p>Delayed message delivery only works in Shared subscription type. In Exclusive and Failover subscription types, the delayed message is dispatched immediately.</p>
 <p>The diagram below illustrates the concept of delayed message delivery:</p>
 <p><img src="/docs/assets/message_delay.png" alt="Delayed Message Delivery"></p>
 <p>A broker saves a message without any check. When a consumer consumes a message, if the message is set to delay, then the message is added to <code>DelayedDeliveryTracker</code>. A subscription checks and gets timeout messages from <code>DelayedDeliveryTracker</code>.</p>
@@ -460,7 +460,7 @@ Consumer&lt;<span class="hljs-keyword">byte</span>[]&gt; consumer = client.newCo
 <pre><code class="hljs css language-java"><span class="hljs-comment">// message to be delivered at the configured delay interval</span>
 producer.newMessage().deliverAfter(<span class="hljs-number">3L</span>, TimeUnit.Minute).value(<span class="hljs-string">"Hello Pulsar!"</span>).send();
 </code></pre>
-</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/fr/2.7.1/concepts-overview"><span class="arrow-prev">← </span><span>Overview</span></a><a class="docs-next button" href="/docs/fr/2.7.1/concepts-architecture-overview"><span>Architecture</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#messages">Messages</a></li><li><a href="#producers">Producers</a><ul class="toc-headi [...]
+</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/fr/2.7.1/concepts-overview"><span class="arrow-prev">← </span><span>Overview</span></a><a class="docs-next button" href="/docs/fr/2.7.1/concepts-architecture-overview"><span>Architecture</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#messages">Messages</a></li><li><a href="#producers">Producers</a><ul class="toc-headi [...]
       const community = document.querySelector("a[href='#community']").parentNode;
       const communityMenu =
         '<li>' +
diff --git a/content/docs/fr/2.7.1/concepts-messaging/index.html b/content/docs/fr/2.7.1/concepts-messaging/index.html
index 7c2db8b..cf6e961 100644
--- a/content/docs/fr/2.7.1/concepts-messaging/index.html
+++ b/content/docs/fr/2.7.1/concepts-messaging/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>Messaging · Apache Pulsar</title><meta name="viewport" content="width=device-width, initial-scale=1.0"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar is built on the [publish-subscribe](https://en.wikipedia.org/wiki/Publish%E2%80%93subscribe_pattern) pattern (often abbreviated to pub-sub). In this pattern, [producers](#producers) [...]
+<!DOCTYPE html><html lang="fr"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Messaging · Apache Pulsar</title><meta name="viewport" content="width=device-width, initial-scale=1.0"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar is built on the [publish-subscribe](https://en.wikipedia.org/wiki/Publish%E2%80%93subscribe_pattern) pattern (often abbreviated to pub-sub). In this pattern, [producers](#producers) [...]
               (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,7 +74,7 @@
                 };
               }
             });
-        </script></nav></div><div class="container mainContainer docsContainer"><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 id="__docusaurus" class="postHeaderTitle">Messaging</h1></header><article><div><span><p>Pulsar is built on the <a href="https://en.wikipedia.org/wiki/Publish%E2%80%93subscribe_pattern">publish-subscribe [...]
+        </script></nav></div><div class="container mainContainer docsContainer"><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 id="__docusaurus" class="postHeaderTitle">Messaging</h1></header><article><div><span><p>Pulsar is built on the <a href="https://en.wikipedia.org/wiki/Publish%E2%80%93subscribe_pattern">publish-subscribe [...]
 <p>When a subscription is created, Pulsar <a href="/docs/fr/2.7.1/concepts-architecture-overview#persistent-storage">retains</a> all messages, even if the consumer is disconnected. Retained messages are discarded only when a consumer acknowledges that those messages are processed successfully.</p>
 <h2><a class="anchor" aria-hidden="true" id="messages"></a><a href="#messages" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
 <p>Messages are the basic &quot;unit&quot; of Pulsar. The following table lists the components of messages.</p>
@@ -128,7 +128,7 @@
 <ul>
 <li>Batching and chunking cannot be enabled simultaneously. To enable chunking, you must disable batching in advance.</li>
 <li>Chunking is only supported for persisted topics.</li>
-<li>Chunking is only supported for the exclusive and failover subscription modes.</li>
+<li>Chunking is only supported for the exclusive and failover subscription types.</li>
 </ul>
 <p>When chunking is enabled (<code>chunkingEnabled=true</code>), if the message size is greater than the allowed maximum publish-payload size, the producer splits the original message into chunked messages and publishes them with chunked metadata to the broker separately and in order. At the broker side, the chunked messages are stored in the managed-ledger in the same way as that of ordinary messages. The only difference is that the consumer needs to buffer the chunked messages and comb [...]
 <p>The consumer consumes the chunked messages and buffers them until the consumer receives all the chunks of a message. And then the consumer stitches chunked messages together and places them into the receiver-queue. Clients consume messages from the receiver-queue. Once the consumer consumes the entire large message and acknowledges it, the consumer internally sends acknowledgement of all the chunk messages associated to that large message. You can set the <code>maxPendingChuckedMessag [...]
@@ -165,13 +165,13 @@
 <li>Messages are acknowledged cumulatively. With cumulative acknowledgement, the consumer only needs to acknowledge the last message it received. All messages in the stream up to (and including) the provided message are not re-delivered to that consumer.</li>
 </ul>
 <blockquote>
-<p><strong>Note</strong> Cumulative acknowledgement cannot be used in the <a href="#subscription-modes">shared subscription mode</a>, because the shared subscription mode involves multiple consumers who have access to the same subscription. In the shared subscription mode, messages are acknowledged individually.</p>
+<p><strong>Note</strong> Cumulative acknowledgement cannot be used in <a href="#subscription-types">Shared subscription type</a>, because this subscription type involves multiple consumers which have access to the same subscription. In Shared subscription type, messages are acknowledged individually.</p>
 </blockquote>
 <h3><a class="anchor" aria-hidden="true" id="negative-acknowledgement"></a><a href="#negative-acknowledgement" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>When a consumer does not consume a message successfully at a time, and wants to consume the message again, the consumer sends a negative acknowledgement to the broker, and then the broker redelivers the message.</p>
-<p>Messages are negatively acknowledged one by one or cumulatively, which depends on the consumption subscription mode.</p>
-<p>In the exclusive and failover subscription modes, consumers only negatively acknowledge the last message they receive.</p>
-<p>In the shared and Key_Shared subscription modes, you can negatively acknowledge messages individually.</p>
+<p>Messages are negatively acknowledged either individually or cumulatively, depending on the consumption subscription type.</p>
+<p>In the exclusive and failover subscription types, consumers only negatively acknowledge the last message they receive.</p>
+<p>In the shared and Key_Shared subscription types, you can negatively acknowledge messages individually.</p>
 <p>Be aware that negative acknowledgment on ordered subscription types, such as Exclusive, Failover and Key_Shared, can cause failed messages to arrive consumers out of the original order.</p>
 <blockquote>
 <p><strong>Note</strong> If batching is enabled, other messages and the negatively acknowledged messages in the same batch are redelivered to the consumer.</p>
@@ -216,7 +216,7 @@ Prefer negative acknowledgements over acknowledgement timeout. Negative acknowle
 <p>Dead letter topic depends on message re-delivery. Messages are redelivered either due to <a href="#acknowledgement-timeout">acknowledgement timeout</a> or <a href="#negative-acknowledgement">negative acknowledgement</a>. If you are going to use negative acknowledgement on a message, make sure it is negatively acknowledged before the acknowledgement timeout.</p>
 <blockquote>
 <p><strong>Note</strong>    <br>
-Currently, dead letter topic is enabled only in the shared subscription mode.</p>
+Currently, dead letter topic is enabled only in Shared subscription type.</p>
 </blockquote>
 <h3><a class="anchor" aria-hidden="true" id="retry-letter-topic"></a><a href="#retry-letter-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- [...]
 <p>For many online business systems, a message is re-consumed due to exception occurs in the business logic processing. To configure the delay time for re-consuming the failed messages, you can configure the producer to send messages to both the business topic and the retry letter topic, and enable automatic retry on the consumer. When automatic retry is enabled on the consumer, a message is stored in the retry letter topic if the messages are not consumed, and therefore the consumer aut [...]
@@ -256,22 +256,22 @@ Currently, dead letter topic is enabled only in the shared subscription mode.</p
 <h2><a class="anchor" aria-hidden="true" id="espaces-de-nommage"></a><a href="#espaces-de-nommage" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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- [...]
 <p>A namespace is a logical nomenclature within a tenant. A tenant creates multiple namespaces via the <a href="/docs/fr/2.7.1/admin-api-namespaces#create">admin API</a>. For instance, a tenant with different applications can create a separate namespace for each application. A namespace allows the application to create and manage a hierarchy of topics. The topic <code>my-tenant/app1</code> is a namespace for the application <code>app1</code> for <code>my-tenant</code>. You can create any [...]
 <h2><a class="anchor" aria-hidden="true" id="subscriptions"></a><a href="#subscriptions" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>A subscription is a named configuration rule that determines how messages are delivered to consumers. Four subscription modes are available in Pulsar: <a href="#exclusive">exclusive</a>, <a href="#shared">shared</a>, <a href="#failover">failover</a>, and <a href="#key_shared">key_shared</a>. These modes are illustrated in the figure below.</p>
-<p><img src="/docs/assets/pulsar-subscription-modes.png" alt="Subscription modes"></p>
+<p>A subscription is a named configuration rule that determines how messages are delivered to consumers. Four subscription types are available in Pulsar: <a href="#exclusive">exclusive</a>, <a href="#shared">shared</a>, <a href="#failover">failover</a>, and <a href="#key_shared">key_shared</a>. These types are illustrated in the figure below.</p>
+<p><img src="/docs/assets/pulsar-subscription-types.png" alt="Subscription types"></p>
 <blockquote>
-<p><strong>Pub-Sub or Queuing</strong> In Pulsar, you can use different subscriptions flexibly. * If you want to achieve traditional &quot;fan-out pub-sub messaging&quot; among consumers, specify a unique subscription name for each consumer. It is exclusive subscription mode. * If you want to achieve &quot;message queuing&quot; among consumers, share the same subscription name among multiple consumers(shared, failover, key_shared). * If you want to achieve both effects simultaneously, co [...]
+<p><strong>Pub-Sub or Queuing</strong> In Pulsar, you can use different subscriptions flexibly. * If you want to achieve traditional &quot;fan-out pub-sub messaging&quot; among consumers, specify a unique subscription name for each consumer. It is exclusive subscription type. * If you want to achieve &quot;message queuing&quot; among consumers, share the same subscription name among multiple consumers(shared, failover, key_shared). * If you want to achieve both effects simultaneously, co [...]
 </blockquote>
-<h3><a class="anchor" aria-hidden="true" id="consumerless-subscriptions-and-their-corresponding-modes"></a><a href="#consumerless-subscriptions-and-their-corresponding-modes" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.2 [...]
-<p>When a subscription has no consumers, its subscription mode is undefined. A subscription's mode is defined when a consumer connects to the subscription, and the mode can be changed by restarting all consumers with a different configuration.</p>
+<h3><a class="anchor" aria-hidden="true" id="consumerless-subscriptions-and-their-corresponding-types"></a><a href="#consumerless-subscriptions-and-their-corresponding-types" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.2 [...]
+<p>When a subscription has no consumers, its subscription type is undefined. The type of a subscription is defined when a consumer connects to it, and the type can be changed by restarting all consumers with a different configuration.</p>
 <h3><a class="anchor" aria-hidden="true" id="exclusive"></a><a href="#exclusive" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>In <em>exclusive</em> mode, only a single consumer is allowed to attach to the subscription. If multiple consumers subscribe to a topic using the same subscription, an error occurs.</p>
+<p>In <em>exclusive</em> type, only a single consumer is allowed to attach to the subscription. If multiple consumers subscribe to a topic using the same subscription, an error occurs.</p>
 <p>In the diagram below, only <strong>Consumer A-0</strong> is allowed to consume messages.</p>
 <blockquote>
-<p>Exclusive mode is the default subscription mode.</p>
+<p>Exclusive is the default subscription type.</p>
 </blockquote>
 <p><img src="/docs/assets/pulsar-exclusive-subscriptions.png" alt="Exclusive subscriptions"></p>
 <h3><a class="anchor" aria-hidden="true" id="failover"></a><a href="#failover" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
-<p>In <em>failover</em> mode, multiple consumers can attach to the same subscription. A master consumer is picked for non-partitioned topic or each partition of partitioned topic and receives messages. When the master consumer disconnects, all (non-acknowledged and subsequent) messages are delivered to the next consumer in line.</p>
+<p>In <em>Failover</em> type, multiple consumers can attach to the same subscription. A master consumer is picked for non-partitioned topic or each partition of partitioned topic and receives messages. When the master consumer disconnects, all (non-acknowledged and subsequent) messages are delivered to the next consumer in line.</p>
 <p>For partitioned topics, broker will sort consumers by priority level and lexicographical order of consumer name. Then broker will try to evenly assigns topics to consumers with the highest priority level.</p>
 <p>For non-partitioned topic, broker will pick consumer in the order they subscribe to the non partitioned topic.</p>
 <p>In the diagram below, <strong>Consumer-B-0</strong> is the master consumer while <strong>Consumer-B-1</strong> would be the next consumer in line to receive messages if <strong>Consumer-B-0</strong> is disconnected.</p>
@@ -332,9 +332,9 @@ Consumer&lt;<span class="hljs-keyword">byte</span>[]&gt; someTopicsConsumer = pu
 <p>The diagram below illustrates this:</p>
 <p><img src="/docs/assets/partitioning.png" alt=""></p>
 <p>The <strong>Topic1</strong> topic has five partitions (<strong>P0</strong> through <strong>P4</strong>) split across three brokers. Because there are more partitions than brokers, two brokers handle two partitions a piece, while the third handles only one (again, Pulsar handles this distribution of partitions automatically).</p>
-<p>Messages for this topic are broadcast to two consumers. The <a href="#routing-modes">routing mode</a> determines each message should be published to which partition, while the <a href="#subscription-modes">subscription mode</a> determines which messages go to which consumers.</p>
-<p>Decisions about routing and subscription modes can be made separately in most cases. In general, throughput concerns should guide partitioning/routing decisions while subscription decisions should be guided by application semantics.</p>
-<p>There is no difference between partitioned topics and normal topics in terms of how subscription modes work, as partitioning only determines what happens between when a message is published by a producer and processed and acknowledged by a consumer.</p>
+<p>Messages for this topic are broadcast to two consumers. The <a href="#routing-modes">routing mode</a> determines each message should be published to which partition, while the <a href="#subscription-types">subscription type</a> determines which messages go to which consumers.</p>
+<p>Decisions about routing and subscription types can be made separately in most cases. In general, throughput concerns should guide partitioning/routing decisions while subscription decisions should be guided by application semantics.</p>
+<p>There is no difference between partitioned topics and normal topics in terms of how subscription types work, as partitioning only determines what happens between when a message is published by a producer and processed and acknowledged by a consumer.</p>
 <p>Partitioned topics need to be explicitly created via the <a href="/docs/fr/2.7.1/admin-api-overview">admin API</a>. The number of partitions can be specified when creating the topic.</p>
 <h3><a class="anchor" aria-hidden="true" id="routing-modes"></a><a href="#routing-modes" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>When publishing to partitioned topics, you must specify a <em>routing mode</em>. The routing mode determines which partition---that is, which internal topic---each message should be published to.</p>
@@ -386,7 +386,7 @@ Consumer&lt;<span class="hljs-keyword">byte</span>[]&gt; someTopicsConsumer = pu
 <h3><a class="anchor" aria-hidden="true" id="performance"></a><a href="#performance" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>Non-persistent messaging is usually faster than persistent messaging because brokers don't persist messages and immediately send acks back to the producer as soon as that message is delivered to connected brokers. Producers thus see comparatively low publish latency with non-persistent topic.</p>
 <h3><a class="anchor" aria-hidden="true" id="client-api"></a><a href="#client-api" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>Producers and consumers can connect to non-persistent topics in the same way as persistent topics, with the crucial difference that the topic name must start with <code>non-persistent</code>. All three subscription modes---<a href="#exclusive">exclusive</a>, <a href="#shared">shared</a>, and <a href="#failover">failover</a>---are supported for non-persistent topics.</p>
+<p>Producers and consumers can connect to non-persistent topics in the same way as persistent topics, with the crucial difference that the topic name must start with <code>non-persistent</code>. All three subscription types---<a href="#exclusive">exclusive</a>, <a href="#shared">shared</a>, and <a href="#failover">failover</a>---are supported for non-persistent topics.</p>
 <p>Here's an example <a href="/docs/fr/2.7.1/client-libraries-java#consumers">Java consumer</a> for a non-persistent topic:</p>
 <pre><code class="hljs css language-java">PulsarClient client = PulsarClient.builder()
         .serviceUrl(<span class="hljs-string">"pulsar://localhost:6650"</span>)
@@ -440,7 +440,7 @@ Consumer&lt;<span class="hljs-keyword">byte</span>[]&gt; consumer = client.newCo
 </blockquote>
 <h2><a class="anchor" aria-hidden="true" id="delayed-message-delivery"></a><a href="#delayed-message-delivery" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>Delayed message delivery enables you to consume a message later rather than immediately. In this mechanism, a message is stored in BookKeeper, <code>DelayedDeliveryTracker</code> maintains the time index(time -&gt; messageId) in memory after published to a broker, and it is delivered to a consumer once the specific delayed time is passed.</p>
-<p>Delayed message delivery only works in Shared subscription mode. In Exclusive and Failover subscription modes, the delayed message is dispatched immediately.</p>
+<p>Delayed message delivery only works in Shared subscription type. In Exclusive and Failover subscription types, the delayed message is dispatched immediately.</p>
 <p>The diagram below illustrates the concept of delayed message delivery:</p>
 <p><img src="/docs/assets/message_delay.png" alt="Delayed Message Delivery"></p>
 <p>A broker saves a message without any check. When a consumer consumes a message, if the message is set to delay, then the message is added to <code>DelayedDeliveryTracker</code>. A subscription checks and gets timeout messages from <code>DelayedDeliveryTracker</code>.</p>
@@ -460,7 +460,7 @@ Consumer&lt;<span class="hljs-keyword">byte</span>[]&gt; consumer = client.newCo
 <pre><code class="hljs css language-java"><span class="hljs-comment">// message to be delivered at the configured delay interval</span>
 producer.newMessage().deliverAfter(<span class="hljs-number">3L</span>, TimeUnit.Minute).value(<span class="hljs-string">"Hello Pulsar!"</span>).send();
 </code></pre>
-</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/fr/2.7.1/concepts-overview"><span class="arrow-prev">← </span><span>Overview</span></a><a class="docs-next button" href="/docs/fr/2.7.1/concepts-architecture-overview"><span>Architecture</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#messages">Messages</a></li><li><a href="#producers">Producers</a><ul class="toc-headi [...]
+</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/fr/2.7.1/concepts-overview"><span class="arrow-prev">← </span><span>Overview</span></a><a class="docs-next button" href="/docs/fr/2.7.1/concepts-architecture-overview"><span>Architecture</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#messages">Messages</a></li><li><a href="#producers">Producers</a><ul class="toc-headi [...]
       const community = document.querySelector("a[href='#community']").parentNode;
       const communityMenu =
         '<li>' +
diff --git a/content/docs/fr/2.7.1/concepts-overview.html b/content/docs/fr/2.7.1/concepts-overview.html
index 4209a20..b4ec566 100644
--- a/content/docs/fr/2.7.1/concepts-overview.html
+++ b/content/docs/fr/2.7.1/concepts-overview.html
@@ -81,7 +81,7 @@
 <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/fr/2.7.1/concepts-clients">client API</a> with bindings for <a href="/docs/fr/2.7.1/client-libraries-java">Java</a>, <a href="/docs/fr/2.7.1/client-libraries-go">Go</a>, <a href="/docs/fr/2.7.1/client-libraries-python">Python</a> and <a href="/docs/fr/2.7.1/client-libraries-cpp">C++</a>.</li>
-<li>Multiple <a href="/docs/fr/2.7.1/concepts-messaging#subscription-modes">subscription modes</a> (<a href="/docs/fr/2.7.1/concepts-messaging#exclusive">exclusive</a>, <a href="/docs/fr/2.7.1/concepts-messaging#shared">shared</a>, and <a href="/docs/fr/2.7.1/concepts-messaging#failover">failover</a>) for topics.</li>
+<li>Multiple <a href="/docs/fr/2.7.1/concepts-messaging#subscription-types">subscription types</a> (<a href="/docs/fr/2.7.1/concepts-messaging#exclusive">exclusive</a>, <a href="/docs/fr/2.7.1/concepts-messaging#shared">shared</a>, and <a href="/docs/fr/2.7.1/concepts-messaging#failover">failover</a>) for topics.</li>
 <li>Guaranteed message delivery with <a href="/docs/fr/2.7.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/fr/2.7.1/functions-overview">Pulsar Functions</a> offers the capability for stream-native data processing.</li>
 <li>A serverless connector framework <a href="/docs/fr/2.7.1/io-overview">Pulsar IO</a>, which is built on Pulsar Functions, makes it easier to move data in and out of Apache Pulsar.</li>
diff --git a/content/docs/fr/2.7.1/concepts-overview/index.html b/content/docs/fr/2.7.1/concepts-overview/index.html
index 4209a20..b4ec566 100644
--- a/content/docs/fr/2.7.1/concepts-overview/index.html
+++ b/content/docs/fr/2.7.1/concepts-overview/index.html
@@ -81,7 +81,7 @@
 <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/fr/2.7.1/concepts-clients">client API</a> with bindings for <a href="/docs/fr/2.7.1/client-libraries-java">Java</a>, <a href="/docs/fr/2.7.1/client-libraries-go">Go</a>, <a href="/docs/fr/2.7.1/client-libraries-python">Python</a> and <a href="/docs/fr/2.7.1/client-libraries-cpp">C++</a>.</li>
-<li>Multiple <a href="/docs/fr/2.7.1/concepts-messaging#subscription-modes">subscription modes</a> (<a href="/docs/fr/2.7.1/concepts-messaging#exclusive">exclusive</a>, <a href="/docs/fr/2.7.1/concepts-messaging#shared">shared</a>, and <a href="/docs/fr/2.7.1/concepts-messaging#failover">failover</a>) for topics.</li>
+<li>Multiple <a href="/docs/fr/2.7.1/concepts-messaging#subscription-types">subscription types</a> (<a href="/docs/fr/2.7.1/concepts-messaging#exclusive">exclusive</a>, <a href="/docs/fr/2.7.1/concepts-messaging#shared">shared</a>, and <a href="/docs/fr/2.7.1/concepts-messaging#failover">failover</a>) for topics.</li>
 <li>Guaranteed message delivery with <a href="/docs/fr/2.7.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/fr/2.7.1/functions-overview">Pulsar Functions</a> offers the capability for stream-native data processing.</li>
 <li>A serverless connector framework <a href="/docs/fr/2.7.1/io-overview">Pulsar IO</a>, which is built on Pulsar Functions, makes it easier to move data in and out of Apache Pulsar.</li>
diff --git a/content/docs/fr/2.7.1/reference-cli-tools.html b/content/docs/fr/2.7.1/reference-cli-tools.html
index 74a908f..a6913b6 100644
--- a/content/docs/fr/2.7.1/reference-cli-tools.html
+++ b/content/docs/fr/2.7.1/reference-cli-tools.html
@@ -369,7 +369,7 @@
 <tr><td><code>-s</code>, <code>--subscription-name</code></td><td>Subscription name</td><td></td></tr>
 <tr><td><code>-t</code>, <code>--subscription-type</code></td><td>The type of the subscription. Possible values: Exclusive, Shared, Failover, Key_Shared.</td><td>Exclusive</td></tr>
 <tr><td><code>-p</code>, <code>--subscription-position</code></td><td>The position of the subscription. Possible values: Latest, Earliest.</td><td>Latest</td></tr>
-<tr><td><code>-m</code>, <code>--subscription-mode</code></td><td>Subscription mode.</td><td>Durable</td></tr>
+<tr><td><code>-m</code>, <code>--subscription-mode</code></td><td>Subscription mode. Possible values: Durable, NonDurable.</td><td>Durable</td></tr>
 <tr><td><code>-q</code>, <code>--queue-size</code></td><td>The size of consumer's receiver queue.</td><td>0</td></tr>
 <tr><td><code>-mc</code>, <code>--max_chunked_msg</code></td><td>Max pending chunk messages.</td><td>0</td></tr>
 <tr><td><code>-ac</code>, <code>--auto_ack_chunk_q_full</code></td><td>Auto ack for the oldest message in consumer's receiver queue is the queue full.</td><td>false</td></tr>
diff --git a/content/docs/fr/2.7.1/reference-cli-tools/index.html b/content/docs/fr/2.7.1/reference-cli-tools/index.html
index 74a908f..a6913b6 100644
--- a/content/docs/fr/2.7.1/reference-cli-tools/index.html
+++ b/content/docs/fr/2.7.1/reference-cli-tools/index.html
@@ -369,7 +369,7 @@
 <tr><td><code>-s</code>, <code>--subscription-name</code></td><td>Subscription name</td><td></td></tr>
 <tr><td><code>-t</code>, <code>--subscription-type</code></td><td>The type of the subscription. Possible values: Exclusive, Shared, Failover, Key_Shared.</td><td>Exclusive</td></tr>
 <tr><td><code>-p</code>, <code>--subscription-position</code></td><td>The position of the subscription. Possible values: Latest, Earliest.</td><td>Latest</td></tr>
-<tr><td><code>-m</code>, <code>--subscription-mode</code></td><td>Subscription mode.</td><td>Durable</td></tr>
+<tr><td><code>-m</code>, <code>--subscription-mode</code></td><td>Subscription mode. Possible values: Durable, NonDurable.</td><td>Durable</td></tr>
 <tr><td><code>-q</code>, <code>--queue-size</code></td><td>The size of consumer's receiver queue.</td><td>0</td></tr>
 <tr><td><code>-mc</code>, <code>--max_chunked_msg</code></td><td>Max pending chunk messages.</td><td>0</td></tr>
 <tr><td><code>-ac</code>, <code>--auto_ack_chunk_q_full</code></td><td>Auto ack for the oldest message in consumer's receiver queue is the queue full.</td><td>false</td></tr>
diff --git a/content/docs/fr/2.7.1/reference-configuration.html b/content/docs/fr/2.7.1/reference-configuration.html
index 694a4c5..2528f09 100644
--- a/content/docs/fr/2.7.1/reference-configuration.html
+++ b/content/docs/fr/2.7.1/reference-configuration.html
@@ -542,8 +542,8 @@
 <tr><td>subscriptionExpirationTimeMinutes</td><td>How long to delete inactive subscriptions from last consumption. When it is set to 0, inactive subscriptions are not deleted automatically</td><td>0</td></tr>
 <tr><td>subscriptionRedeliveryTrackerEnabled</td><td>Enable subscription message redelivery tracker to send redelivery count to consumer.</td><td>true</td></tr>
 <tr><td>subscriptionKeySharedEnable</td><td>Whether to enable the Key_Shared subscription.</td><td>true</td></tr>
-<tr><td>subscriptionKeySharedUseConsistentHashing</td><td>In the Key_Shared subscription mode, with default AUTO_SPLIT mode, use splitting ranges or consistent hashing to reassign keys to new consumers.</td><td>false</td></tr>
-<tr><td>subscriptionKeySharedConsistentHashingReplicaPoints</td><td>In the Key_Shared subscription mode, the number of points in the consistent-hashing ring. The greater the number, the more equal the assignment of keys to consumers.</td><td>100</td></tr>
+<tr><td>subscriptionKeySharedUseConsistentHashing</td><td>In Key_Shared subscription type, with default AUTO_SPLIT mode, use splitting ranges or consistent hashing to reassign keys to new consumers.</td><td>false</td></tr>
+<tr><td>subscriptionKeySharedConsistentHashingReplicaPoints</td><td>In Key_Shared subscription type, the number of points in the consistent-hashing ring. The greater the number, the more equal the assignment of keys to consumers.</td><td>100</td></tr>
 <tr><td>subscriptionExpiryCheckIntervalInMinutes</td><td>How frequently to proactively check and purge expired subscription</td><td>5</td></tr>
 <tr><td>brokerDeduplicationEnabled</td><td>Set the default behavior for message deduplication in the broker. This can be overridden per-namespace. If it is enabled, the broker rejects messages that are already stored in the topic.</td><td>false</td></tr>
 <tr><td>brokerDeduplicationMaxNumberOfProducers</td><td>Maximum number of producer information that it's going to be persisted for deduplication purposes</td><td>10000</td></tr>
diff --git a/content/docs/fr/2.7.1/reference-configuration/index.html b/content/docs/fr/2.7.1/reference-configuration/index.html
index 694a4c5..2528f09 100644
--- a/content/docs/fr/2.7.1/reference-configuration/index.html
+++ b/content/docs/fr/2.7.1/reference-configuration/index.html
@@ -542,8 +542,8 @@
 <tr><td>subscriptionExpirationTimeMinutes</td><td>How long to delete inactive subscriptions from last consumption. When it is set to 0, inactive subscriptions are not deleted automatically</td><td>0</td></tr>
 <tr><td>subscriptionRedeliveryTrackerEnabled</td><td>Enable subscription message redelivery tracker to send redelivery count to consumer.</td><td>true</td></tr>
 <tr><td>subscriptionKeySharedEnable</td><td>Whether to enable the Key_Shared subscription.</td><td>true</td></tr>
-<tr><td>subscriptionKeySharedUseConsistentHashing</td><td>In the Key_Shared subscription mode, with default AUTO_SPLIT mode, use splitting ranges or consistent hashing to reassign keys to new consumers.</td><td>false</td></tr>
-<tr><td>subscriptionKeySharedConsistentHashingReplicaPoints</td><td>In the Key_Shared subscription mode, the number of points in the consistent-hashing ring. The greater the number, the more equal the assignment of keys to consumers.</td><td>100</td></tr>
+<tr><td>subscriptionKeySharedUseConsistentHashing</td><td>In Key_Shared subscription type, with default AUTO_SPLIT mode, use splitting ranges or consistent hashing to reassign keys to new consumers.</td><td>false</td></tr>
+<tr><td>subscriptionKeySharedConsistentHashingReplicaPoints</td><td>In Key_Shared subscription type, the number of points in the consistent-hashing ring. The greater the number, the more equal the assignment of keys to consumers.</td><td>100</td></tr>
 <tr><td>subscriptionExpiryCheckIntervalInMinutes</td><td>How frequently to proactively check and purge expired subscription</td><td>5</td></tr>
 <tr><td>brokerDeduplicationEnabled</td><td>Set the default behavior for message deduplication in the broker. This can be overridden per-namespace. If it is enabled, the broker rejects messages that are already stored in the topic.</td><td>false</td></tr>
 <tr><td>brokerDeduplicationMaxNumberOfProducers</td><td>Maximum number of producer information that it's going to be persisted for deduplication purposes</td><td>10000</td></tr>
diff --git a/content/docs/fr/2.7.2/client-libraries-java.html b/content/docs/fr/2.7.2/client-libraries-java.html
index a0cb87f..1727111 100644
--- a/content/docs/fr/2.7.2/client-libraries-java.html
+++ b/content/docs/fr/2.7.2/client-libraries-java.html
@@ -269,7 +269,7 @@ Consumer consumer = client.newConsumer()
 <h3><a class="anchor" aria-hidden="true" id="configure-consumer"></a><a href="#configure-consumer" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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- [...]
 <p>If you instantiate a <code>Consumer</code> object by specifying only a topic and subscription name as in the example above, the consumer uses the default configuration.</p>
 <p>When you create a consumer, you can use the <code>loadConf</code> configuration. The following parameters are available in <code>loadConf</code>.</p>
-<p>Type | Name| <div style="width:300px">Description</div>|  Default |---|---|---|--- Set&lt;String&gt;|  <code>topicNames</code>|   Topic name| Sets.newTreeSet() Pattern|   <code>topicsPattern</code>| Topic pattern   |None String| <code>subscriptionName</code>| Subscription name|  None SubscriptionType| <code>subscriptionType</code>|   Subscription type <br/><br/>Four subscription types are available:<li>Exclusive</li><li>Failover</li><li>Shared</li><li>Key_Shared</li>|SubscriptionType. [...]
+<p>Type | Name| <div style="width:300px">Description</div>|  Default |---|---|---|--- Set&lt;String&gt;|  <code>topicNames</code>|   Topic name| Sets.newTreeSet() Pattern|   <code>topicsPattern</code>| Topic pattern   |None String| <code>subscriptionName</code>| Subscription name|  None SubscriptionType| <code>subscriptionType</code>|   Subscription type <br/><br/>Four subscription types are available:<li>Exclusive</li><li>Failover</li><li>Shared</li><li>Key_Shared</li>|SubscriptionType. [...]
 SortedMap&lt;String, String&gt;|<code>properties</code>|A name or value property of this consumer.<br/><br/><code>properties</code> is application defined metadata attached to a consumer. <br/><br/>When getting a topic stats, associate this metadata with the consumer stats for easier identification.|new TreeMap&lt;&gt;() boolean|<code>readCompacted</code>|If enabling <code>readCompacted</code>, a consumer reads messages from a compacted topic rather than reading a full message backlog of [...]
 <p>You can configure parameters if you do not want to use the default configuration. For a full list, see the Javadoc for the <a href="https://pulsar.incubator.apache.org/api/client/2.8.0-SNAPSHOT/org/apache/pulsar/client/api/ConsumerBuilder">ConsumerBuilder</a>
  class.</p>
@@ -298,8 +298,8 @@ SortedMap&lt;String, String&gt;|<code>properties</code>|A name or value property
 consumer.acknowledge(messages)
 </code></pre>
 <blockquote>
-<p>Note:</p>
-<p>Batch receive policy limits the number and bytes of messages in a single batch. You can specify a timeout to wait for enough messages.</p>
+<p><strong>Note</strong>  <br>
+Batch receive policy limits the number and bytes of messages in a single batch. You can specify a timeout to wait for enough messages.</p>
 <p>The batch receive is completed if any of the following condition is met: enough number of messages, bytes of messages, wait timeout.</p>
 <pre><code class="hljs css language-java">Consumer consumer = client.newConsumer()
         .topic(<span class="hljs-string">"my-topic"</span>)
@@ -390,10 +390,10 @@ consumerBuilder
             });
 }
 </code></pre>
-<h3><a class="anchor" aria-hidden="true" id="subscription-modes"></a><a href="#subscription-modes" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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- [...]
-<p>Pulsar has various <a href="concepts-messaging#subscription-modes">subscription modes</a> to match different scenarios. A topic can have multiple subscriptions with different subscription modes. However, a subscription can only have one subscription mode at a time.</p>
-<p>A subscription is identical with the subscription name which can specify only one subscription mode at a time. You cannot change the subscription mode unless all existing consumers of this subscription are offline.</p>
-<p>Different subscription modes have different message distribution modes. This section describes the differences of subscription modes and how to use them.</p>
+<h3><a class="anchor" aria-hidden="true" id="subscription-types"></a><a href="#subscription-types" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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- [...]
+<p>Pulsar has various <a href="concepts-messaging#subscription-types">subscription types</a> to match different scenarios. A topic can have multiple subscriptions with different subscription types. However, a subscription can only have one subscription type at a time.</p>
+<p>A subscription is identical with the subscription name; a subscription name can specify only one subscription type at a time. To change the subscription type, you should first stop all consumers of this subscription.</p>
+<p>Different subscription types have different message distribution modes. This section describes the differences of subscription types and how to use them.</p>
 <p>In order to better describe their differences, assuming you have a topic named &quot;my-topic&quot;, and the producer has published 10 messages.</p>
 <pre><code class="hljs css language-java">Producer&lt;String&gt; producer = client.newProducer(Schema.STRING)
         .topic(<span class="hljs-string">"my-topic"</span>)
@@ -412,7 +412,7 @@ producer.newMessage().key(<span class="hljs-string">"key-4"</span>).value(<span
 producer.newMessage().key(<span class="hljs-string">"key-4"</span>).value(<span class="hljs-string">"message-4-2"</span>).send();
 </code></pre>
 <h4><a class="anchor" aria-hidden="true" id="exclusive"></a><a href="#exclusive" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>Create a new consumer and subscribe with the <code>Exclusive</code> subscription mode.</p>
+<p>Create a new consumer and subscribe with the <code>Exclusive</code> subscription type.</p>
 <pre><code class="hljs css language-java">Consumer consumer = client.newConsumer()
         .topic(<span class="hljs-string">"my-topic"</span>)
         .subscriptionName(<span class="hljs-string">"my-subscription"</span>)
@@ -421,11 +421,11 @@ producer.newMessage().key(<span class="hljs-string">"key-4"</span>).value(<span
 </code></pre>
 <p>Only the first consumer is allowed to the subscription, other consumers receive an error. The first consumer receives all 10 messages, and the consuming order is the same as the producing order.</p>
 <blockquote>
-<p>Note:</p>
-<p>If topic is a partitioned topic, the first consumer subscribes to all partitioned topics, other consumers are not assigned with partitions and receive an error.</p>
+<p><strong>Note</strong>  <br>
+If topic is a partitioned topic, the first consumer subscribes to all partitioned topics, other consumers are not assigned with partitions and receive an error.</p>
 </blockquote>
 <h4><a class="anchor" aria-hidden="true" id="failover"></a><a href="#failover" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
-<p>Create new consumers and subscribe with the<code>Failover</code> subscription mode.</p>
+<p>Create new consumers and subscribe with the<code>Failover</code> subscription type.</p>
 <pre><code class="hljs css language-java">Consumer consumer1 = client.newConsumer()
         .topic(<span class="hljs-string">"my-topic"</span>)
         .subscriptionName(<span class="hljs-string">"my-subscription"</span>)
@@ -457,11 +457,11 @@ Consumer consumer2 = client.newConsumer()
 (<span class="hljs-string">"key-4"</span>, <span class="hljs-string">"message-4-2"</span>)
 </code></pre>
 <blockquote>
-<p>Note:</p>
-<p>If a topic is a partitioned topic, each partition has only one active consumer, messages of one partition are distributed to only one consumer, and messages of multiple partitions are distributed to multiple consumers.</p>
+<p><strong>Note</strong>  <br>
+If a topic is a partitioned topic, each partition has only one active consumer, messages of one partition are distributed to only one consumer, and messages of multiple partitions are distributed to multiple consumers.</p>
 </blockquote>
 <h4><a class="anchor" aria-hidden="true" id="shared"></a><a href="#shared" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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. [...]
-<p>Create new consumers and subscribe with <code>Shared</code> subscription mode:</p>
+<p>Create new consumers and subscribe with <code>Shared</code> subscription type.</p>
 <pre><code class="hljs css language-java">Consumer consumer1 = client.newConsumer()
         .topic(<span class="hljs-string">"my-topic"</span>)
         .subscriptionName(<span class="hljs-string">"my-subscription"</span>)
@@ -475,7 +475,7 @@ Consumer consumer2 = client.newConsumer()
         .subscribe()
 <span class="hljs-comment">//Both consumer1 and consumer 2 is active consumers.</span>
 </code></pre>
-<p>In shared subscription mode, multiple consumers can attach to the same subscription and messages are delivered in a round robin distribution across consumers.</p>
+<p>In shared subscription type, multiple consumers can attach to the same subscription and messages are delivered in a round robin distribution across consumers.</p>
 <p>If a broker dispatches only one message at a time, consumer1 receives the following information.</p>
 <pre><code class="hljs">(<span class="hljs-string">"key-1"</span>, <span class="hljs-string">"message-1-1"</span>)
 (<span class="hljs-string">"key-1"</span>, <span class="hljs-string">"message-1-3"</span>)
@@ -490,9 +490,9 @@ Consumer consumer2 = client.newConsumer()
 (<span class="hljs-string">"key-3"</span>, <span class="hljs-string">"message-3-2"</span>)
 (<span class="hljs-string">"key-4"</span>, <span class="hljs-string">"message-4-2"</span>)
 </code></pre>
-<p><code>Shared</code> subscription is different from <code>Exclusive</code> and <code>Failover</code> subscription modes. <code>Shared</code> subscription has better flexibility, but cannot provide order guarantee.</p>
+<p><code>Shared</code> subscription is different from <code>Exclusive</code> and <code>Failover</code> subscription types. <code>Shared</code> subscription has better flexibility, but cannot provide order guarantee.</p>
 <h4><a class="anchor" aria-hidden="true" id="key_shared"></a><a href="#key_shared" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>This is a new subscription mode since 2.4.0 release, create new consumers and subscribe with <code>Key_Shared</code> subscription mode.</p>
+<p>This is a new subscription type since 2.4.0 release. Create new consumers and subscribe with <code>Key_Shared</code> subscription type.</p>
 <pre><code class="hljs css language-java">Consumer consumer1 = client.newConsumer()
         .topic(<span class="hljs-string">"my-topic"</span>)
         .subscriptionName(<span class="hljs-string">"my-subscription"</span>)
@@ -534,8 +534,8 @@ Consumer consumer2 = client.newConsumer()
         .create();
 </code></pre>
 <blockquote>
-<p>Note:</p>
-<p>If the message key is not specified, messages without key are dispatched to one consumer in order by default.</p>
+<p><strong>Note</strong>  <br>
+If the message key is not specified, messages without key are dispatched to one consumer in order by default.</p>
 </blockquote>
 <h2><a class="anchor" aria-hidden="true" id="reader"></a><a href="#reader" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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. [...]
 <p>With the <a href="/docs/fr/2.7.2/concepts-clients#reader-interface">reader interface</a>, Pulsar clients can &quot;manually position&quot; themselves within a topic and reading all messages from a specified message onward. The Pulsar API for Java enables you to create <a href="https://pulsar.incubator.apache.org/api/client/2.8.0-SNAPSHOT/org/apache/pulsar/client/api/Reader">Reader</a>
@@ -711,7 +711,7 @@ PulsarClient client = PulsarClient.builder()
     .authentication(auth)
     .build();
 </code></pre>
-</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/fr/2.7.2/client-libraries"><span class="arrow-prev">← </span><span>Overview</span></a><a class="docs-next button" href="/docs/fr/2.7.2/client-libraries-go"><span>Go</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#installation">Installation</a><ul class="toc-headings"><li><a href="#maven">Maven</a></li><li><a href="#gra [...]
+</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/fr/2.7.2/client-libraries"><span class="arrow-prev">← </span><span>Overview</span></a><a class="docs-next button" href="/docs/fr/2.7.2/client-libraries-go"><span>Go</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#installation">Installation</a><ul class="toc-headings"><li><a href="#maven">Maven</a></li><li><a href="#gra [...]
       const community = document.querySelector("a[href='#community']").parentNode;
       const communityMenu =
         '<li>' +
diff --git a/content/docs/fr/2.7.2/client-libraries-java/index.html b/content/docs/fr/2.7.2/client-libraries-java/index.html
index a0cb87f..1727111 100644
--- a/content/docs/fr/2.7.2/client-libraries-java/index.html
+++ b/content/docs/fr/2.7.2/client-libraries-java/index.html
@@ -269,7 +269,7 @@ Consumer consumer = client.newConsumer()
 <h3><a class="anchor" aria-hidden="true" id="configure-consumer"></a><a href="#configure-consumer" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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- [...]
 <p>If you instantiate a <code>Consumer</code> object by specifying only a topic and subscription name as in the example above, the consumer uses the default configuration.</p>
 <p>When you create a consumer, you can use the <code>loadConf</code> configuration. The following parameters are available in <code>loadConf</code>.</p>
-<p>Type | Name| <div style="width:300px">Description</div>|  Default |---|---|---|--- Set&lt;String&gt;|  <code>topicNames</code>|   Topic name| Sets.newTreeSet() Pattern|   <code>topicsPattern</code>| Topic pattern   |None String| <code>subscriptionName</code>| Subscription name|  None SubscriptionType| <code>subscriptionType</code>|   Subscription type <br/><br/>Four subscription types are available:<li>Exclusive</li><li>Failover</li><li>Shared</li><li>Key_Shared</li>|SubscriptionType. [...]
+<p>Type | Name| <div style="width:300px">Description</div>|  Default |---|---|---|--- Set&lt;String&gt;|  <code>topicNames</code>|   Topic name| Sets.newTreeSet() Pattern|   <code>topicsPattern</code>| Topic pattern   |None String| <code>subscriptionName</code>| Subscription name|  None SubscriptionType| <code>subscriptionType</code>|   Subscription type <br/><br/>Four subscription types are available:<li>Exclusive</li><li>Failover</li><li>Shared</li><li>Key_Shared</li>|SubscriptionType. [...]
 SortedMap&lt;String, String&gt;|<code>properties</code>|A name or value property of this consumer.<br/><br/><code>properties</code> is application defined metadata attached to a consumer. <br/><br/>When getting a topic stats, associate this metadata with the consumer stats for easier identification.|new TreeMap&lt;&gt;() boolean|<code>readCompacted</code>|If enabling <code>readCompacted</code>, a consumer reads messages from a compacted topic rather than reading a full message backlog of [...]
 <p>You can configure parameters if you do not want to use the default configuration. For a full list, see the Javadoc for the <a href="https://pulsar.incubator.apache.org/api/client/2.8.0-SNAPSHOT/org/apache/pulsar/client/api/ConsumerBuilder">ConsumerBuilder</a>
  class.</p>
@@ -298,8 +298,8 @@ SortedMap&lt;String, String&gt;|<code>properties</code>|A name or value property
 consumer.acknowledge(messages)
 </code></pre>
 <blockquote>
-<p>Note:</p>
-<p>Batch receive policy limits the number and bytes of messages in a single batch. You can specify a timeout to wait for enough messages.</p>
+<p><strong>Note</strong>  <br>
+Batch receive policy limits the number and bytes of messages in a single batch. You can specify a timeout to wait for enough messages.</p>
 <p>The batch receive is completed if any of the following condition is met: enough number of messages, bytes of messages, wait timeout.</p>
 <pre><code class="hljs css language-java">Consumer consumer = client.newConsumer()
         .topic(<span class="hljs-string">"my-topic"</span>)
@@ -390,10 +390,10 @@ consumerBuilder
             });
 }
 </code></pre>
-<h3><a class="anchor" aria-hidden="true" id="subscription-modes"></a><a href="#subscription-modes" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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- [...]
-<p>Pulsar has various <a href="concepts-messaging#subscription-modes">subscription modes</a> to match different scenarios. A topic can have multiple subscriptions with different subscription modes. However, a subscription can only have one subscription mode at a time.</p>
-<p>A subscription is identical with the subscription name which can specify only one subscription mode at a time. You cannot change the subscription mode unless all existing consumers of this subscription are offline.</p>
-<p>Different subscription modes have different message distribution modes. This section describes the differences of subscription modes and how to use them.</p>
+<h3><a class="anchor" aria-hidden="true" id="subscription-types"></a><a href="#subscription-types" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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- [...]
+<p>Pulsar has various <a href="concepts-messaging#subscription-types">subscription types</a> to match different scenarios. A topic can have multiple subscriptions with different subscription types. However, a subscription can only have one subscription type at a time.</p>
+<p>A subscription is identical with the subscription name; a subscription name can specify only one subscription type at a time. To change the subscription type, you should first stop all consumers of this subscription.</p>
+<p>Different subscription types have different message distribution modes. This section describes the differences of subscription types and how to use them.</p>
 <p>In order to better describe their differences, assuming you have a topic named &quot;my-topic&quot;, and the producer has published 10 messages.</p>
 <pre><code class="hljs css language-java">Producer&lt;String&gt; producer = client.newProducer(Schema.STRING)
         .topic(<span class="hljs-string">"my-topic"</span>)
@@ -412,7 +412,7 @@ producer.newMessage().key(<span class="hljs-string">"key-4"</span>).value(<span
 producer.newMessage().key(<span class="hljs-string">"key-4"</span>).value(<span class="hljs-string">"message-4-2"</span>).send();
 </code></pre>
 <h4><a class="anchor" aria-hidden="true" id="exclusive"></a><a href="#exclusive" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>Create a new consumer and subscribe with the <code>Exclusive</code> subscription mode.</p>
+<p>Create a new consumer and subscribe with the <code>Exclusive</code> subscription type.</p>
 <pre><code class="hljs css language-java">Consumer consumer = client.newConsumer()
         .topic(<span class="hljs-string">"my-topic"</span>)
         .subscriptionName(<span class="hljs-string">"my-subscription"</span>)
@@ -421,11 +421,11 @@ producer.newMessage().key(<span class="hljs-string">"key-4"</span>).value(<span
 </code></pre>
 <p>Only the first consumer is allowed to the subscription, other consumers receive an error. The first consumer receives all 10 messages, and the consuming order is the same as the producing order.</p>
 <blockquote>
-<p>Note:</p>
-<p>If topic is a partitioned topic, the first consumer subscribes to all partitioned topics, other consumers are not assigned with partitions and receive an error.</p>
+<p><strong>Note</strong>  <br>
+If topic is a partitioned topic, the first consumer subscribes to all partitioned topics, other consumers are not assigned with partitions and receive an error.</p>
 </blockquote>
 <h4><a class="anchor" aria-hidden="true" id="failover"></a><a href="#failover" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
-<p>Create new consumers and subscribe with the<code>Failover</code> subscription mode.</p>
+<p>Create new consumers and subscribe with the<code>Failover</code> subscription type.</p>
 <pre><code class="hljs css language-java">Consumer consumer1 = client.newConsumer()
         .topic(<span class="hljs-string">"my-topic"</span>)
         .subscriptionName(<span class="hljs-string">"my-subscription"</span>)
@@ -457,11 +457,11 @@ Consumer consumer2 = client.newConsumer()
 (<span class="hljs-string">"key-4"</span>, <span class="hljs-string">"message-4-2"</span>)
 </code></pre>
 <blockquote>
-<p>Note:</p>
-<p>If a topic is a partitioned topic, each partition has only one active consumer, messages of one partition are distributed to only one consumer, and messages of multiple partitions are distributed to multiple consumers.</p>
+<p><strong>Note</strong>  <br>
+If a topic is a partitioned topic, each partition has only one active consumer, messages of one partition are distributed to only one consumer, and messages of multiple partitions are distributed to multiple consumers.</p>
 </blockquote>
 <h4><a class="anchor" aria-hidden="true" id="shared"></a><a href="#shared" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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. [...]
-<p>Create new consumers and subscribe with <code>Shared</code> subscription mode:</p>
+<p>Create new consumers and subscribe with <code>Shared</code> subscription type.</p>
 <pre><code class="hljs css language-java">Consumer consumer1 = client.newConsumer()
         .topic(<span class="hljs-string">"my-topic"</span>)
         .subscriptionName(<span class="hljs-string">"my-subscription"</span>)
@@ -475,7 +475,7 @@ Consumer consumer2 = client.newConsumer()
         .subscribe()
 <span class="hljs-comment">//Both consumer1 and consumer 2 is active consumers.</span>
 </code></pre>
-<p>In shared subscription mode, multiple consumers can attach to the same subscription and messages are delivered in a round robin distribution across consumers.</p>
+<p>In shared subscription type, multiple consumers can attach to the same subscription and messages are delivered in a round robin distribution across consumers.</p>
 <p>If a broker dispatches only one message at a time, consumer1 receives the following information.</p>
 <pre><code class="hljs">(<span class="hljs-string">"key-1"</span>, <span class="hljs-string">"message-1-1"</span>)
 (<span class="hljs-string">"key-1"</span>, <span class="hljs-string">"message-1-3"</span>)
@@ -490,9 +490,9 @@ Consumer consumer2 = client.newConsumer()
 (<span class="hljs-string">"key-3"</span>, <span class="hljs-string">"message-3-2"</span>)
 (<span class="hljs-string">"key-4"</span>, <span class="hljs-string">"message-4-2"</span>)
 </code></pre>
-<p><code>Shared</code> subscription is different from <code>Exclusive</code> and <code>Failover</code> subscription modes. <code>Shared</code> subscription has better flexibility, but cannot provide order guarantee.</p>
+<p><code>Shared</code> subscription is different from <code>Exclusive</code> and <code>Failover</code> subscription types. <code>Shared</code> subscription has better flexibility, but cannot provide order guarantee.</p>
 <h4><a class="anchor" aria-hidden="true" id="key_shared"></a><a href="#key_shared" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>This is a new subscription mode since 2.4.0 release, create new consumers and subscribe with <code>Key_Shared</code> subscription mode.</p>
+<p>This is a new subscription type since 2.4.0 release. Create new consumers and subscribe with <code>Key_Shared</code> subscription type.</p>
 <pre><code class="hljs css language-java">Consumer consumer1 = client.newConsumer()
         .topic(<span class="hljs-string">"my-topic"</span>)
         .subscriptionName(<span class="hljs-string">"my-subscription"</span>)
@@ -534,8 +534,8 @@ Consumer consumer2 = client.newConsumer()
         .create();
 </code></pre>
 <blockquote>
-<p>Note:</p>
-<p>If the message key is not specified, messages without key are dispatched to one consumer in order by default.</p>
+<p><strong>Note</strong>  <br>
+If the message key is not specified, messages without key are dispatched to one consumer in order by default.</p>
 </blockquote>
 <h2><a class="anchor" aria-hidden="true" id="reader"></a><a href="#reader" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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. [...]
 <p>With the <a href="/docs/fr/2.7.2/concepts-clients#reader-interface">reader interface</a>, Pulsar clients can &quot;manually position&quot; themselves within a topic and reading all messages from a specified message onward. The Pulsar API for Java enables you to create <a href="https://pulsar.incubator.apache.org/api/client/2.8.0-SNAPSHOT/org/apache/pulsar/client/api/Reader">Reader</a>
@@ -711,7 +711,7 @@ PulsarClient client = PulsarClient.builder()
     .authentication(auth)
     .build();
 </code></pre>
-</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/fr/2.7.2/client-libraries"><span class="arrow-prev">← </span><span>Overview</span></a><a class="docs-next button" href="/docs/fr/2.7.2/client-libraries-go"><span>Go</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#installation">Installation</a><ul class="toc-headings"><li><a href="#maven">Maven</a></li><li><a href="#gra [...]
+</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/fr/2.7.2/client-libraries"><span class="arrow-prev">← </span><span>Overview</span></a><a class="docs-next button" href="/docs/fr/2.7.2/client-libraries-go"><span>Go</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#installation">Installation</a><ul class="toc-headings"><li><a href="#maven">Maven</a></li><li><a href="#gra [...]
       const community = document.querySelector("a[href='#community']").parentNode;
       const communityMenu =
         '<li>' +
diff --git a/content/docs/fr/2.7.2/concepts-messaging.html b/content/docs/fr/2.7.2/concepts-messaging.html
index 43f29cdd6..f9b1eeb 100644
--- a/content/docs/fr/2.7.2/concepts-messaging.html
+++ b/content/docs/fr/2.7.2/concepts-messaging.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>Messaging · Apache Pulsar</title><meta name="viewport" content="width=device-width, initial-scale=1.0"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar is built on the [publish-subscribe](https://en.wikipedia.org/wiki/Publish%E2%80%93subscribe_pattern) pattern (often abbreviated to pub-sub). In this pattern, [producers](#producers) [...]
+<!DOCTYPE html><html lang="fr"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Messaging · Apache Pulsar</title><meta name="viewport" content="width=device-width, initial-scale=1.0"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar is built on the [publish-subscribe](https://en.wikipedia.org/wiki/Publish%E2%80%93subscribe_pattern) pattern (often abbreviated to pub-sub). In this pattern, [producers](#producers) [...]
               (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,7 +74,7 @@
                 };
               }
             });
-        </script></nav></div><div class="container mainContainer docsContainer"><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 id="__docusaurus" class="postHeaderTitle">Messaging</h1></header><article><div><span><p>Pulsar is built on the <a href="https://en.wikipedia.org/wiki/Publish%E2%80%93subscribe_pattern">publish-subscribe [...]
+        </script></nav></div><div class="container mainContainer docsContainer"><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 id="__docusaurus" class="postHeaderTitle">Messaging</h1></header><article><div><span><p>Pulsar is built on the <a href="https://en.wikipedia.org/wiki/Publish%E2%80%93subscribe_pattern">publish-subscribe [...]
 <p>When a subscription is created, Pulsar <a href="/docs/fr/2.7.2/concepts-architecture-overview#persistent-storage">retains</a> all messages, even if the consumer is disconnected. Retained messages are discarded only when a consumer acknowledges that those messages are processed successfully.</p>
 <h2><a class="anchor" aria-hidden="true" id="messages"></a><a href="#messages" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
 <p>Messages are the basic &quot;unit&quot; of Pulsar. The following table lists the components of messages.</p>
@@ -128,7 +128,7 @@
 <ul>
 <li>Batching and chunking cannot be enabled simultaneously. To enable chunking, you must disable batching in advance.</li>
 <li>Chunking is only supported for persisted topics.</li>
-<li>Chunking is only supported for the exclusive and failover subscription modes.</li>
+<li>Chunking is only supported for the exclusive and failover subscription types.</li>
 </ul>
 <p>When chunking is enabled (<code>chunkingEnabled=true</code>), if the message size is greater than the allowed maximum publish-payload size, the producer splits the original message into chunked messages and publishes them with chunked metadata to the broker separately and in order. At the broker side, the chunked messages are stored in the managed-ledger in the same way as that of ordinary messages. The only difference is that the consumer needs to buffer the chunked messages and comb [...]
 <p>The consumer consumes the chunked messages and buffers them until the consumer receives all the chunks of a message. And then the consumer stitches chunked messages together and places them into the receiver-queue. Clients consume messages from the receiver-queue. Once the consumer consumes the entire large message and acknowledges it, the consumer internally sends acknowledgement of all the chunk messages associated to that large message. You can set the <code>maxPendingChuckedMessag [...]
@@ -165,13 +165,13 @@
 <li>Messages are acknowledged cumulatively. With cumulative acknowledgement, the consumer only needs to acknowledge the last message it received. All messages in the stream up to (and including) the provided message are not re-delivered to that consumer.</li>
 </ul>
 <blockquote>
-<p><strong>Note</strong> Cumulative acknowledgement cannot be used in the <a href="#subscription-modes">shared subscription mode</a>, because the shared subscription mode involves multiple consumers who have access to the same subscription. In the shared subscription mode, messages are acknowledged individually.</p>
+<p><strong>Note</strong> Cumulative acknowledgement cannot be used in <a href="#subscription-types">Shared subscription type</a>, because this subscription type involves multiple consumers which have access to the same subscription. In Shared subscription type, messages are acknowledged individually.</p>
 </blockquote>
 <h3><a class="anchor" aria-hidden="true" id="negative-acknowledgement"></a><a href="#negative-acknowledgement" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>When a consumer does not consume a message successfully at a time, and wants to consume the message again, the consumer sends a negative acknowledgement to the broker, and then the broker redelivers the message.</p>
-<p>Messages are negatively acknowledged one by one or cumulatively, which depends on the consumption subscription mode.</p>
-<p>In the exclusive and failover subscription modes, consumers only negatively acknowledge the last message they receive.</p>
-<p>In the shared and Key_Shared subscription modes, you can negatively acknowledge messages individually.</p>
+<p>Messages are negatively acknowledged either individually or cumulatively, depending on the consumption subscription type.</p>
+<p>In the exclusive and failover subscription types, consumers only negatively acknowledge the last message they receive.</p>
+<p>In the shared and Key_Shared subscription types, you can negatively acknowledge messages individually.</p>
 <p>Be aware that negative acknowledgment on ordered subscription types, such as Exclusive, Failover and Key_Shared, can cause failed messages to arrive consumers out of the original order.</p>
 <blockquote>
 <p><strong>Note</strong> If batching is enabled, other messages and the negatively acknowledged messages in the same batch are redelivered to the consumer.</p>
@@ -216,7 +216,7 @@ Prefer negative acknowledgements over acknowledgement timeout. Negative acknowle
 <p>Dead letter topic depends on message re-delivery. Messages are redelivered either due to <a href="#acknowledgement-timeout">acknowledgement timeout</a> or <a href="#negative-acknowledgement">negative acknowledgement</a>. If you are going to use negative acknowledgement on a message, make sure it is negatively acknowledged before the acknowledgement timeout.</p>
 <blockquote>
 <p><strong>Note</strong>    <br>
-Currently, dead letter topic is enabled only in the shared subscription mode.</p>
+Currently, dead letter topic is enabled only in Shared subscription type.</p>
 </blockquote>
 <h3><a class="anchor" aria-hidden="true" id="retry-letter-topic"></a><a href="#retry-letter-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- [...]
 <p>For many online business systems, a message is re-consumed due to exception occurs in the business logic processing. To configure the delay time for re-consuming the failed messages, you can configure the producer to send messages to both the business topic and the retry letter topic, and enable automatic retry on the consumer. When automatic retry is enabled on the consumer, a message is stored in the retry letter topic if the messages are not consumed, and therefore the consumer aut [...]
@@ -256,22 +256,22 @@ Currently, dead letter topic is enabled only in the shared subscription mode.</p
 <h2><a class="anchor" aria-hidden="true" id="espaces-de-nommage"></a><a href="#espaces-de-nommage" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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- [...]
 <p>A namespace is a logical nomenclature within a tenant. A tenant creates multiple namespaces via the <a href="/docs/fr/2.7.2/admin-api-namespaces#create">admin API</a>. For instance, a tenant with different applications can create a separate namespace for each application. A namespace allows the application to create and manage a hierarchy of topics. The topic <code>my-tenant/app1</code> is a namespace for the application <code>app1</code> for <code>my-tenant</code>. You can create any [...]
 <h2><a class="anchor" aria-hidden="true" id="subscriptions"></a><a href="#subscriptions" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>A subscription is a named configuration rule that determines how messages are delivered to consumers. Four subscription modes are available in Pulsar: <a href="#exclusive">exclusive</a>, <a href="#shared">shared</a>, <a href="#failover">failover</a>, and <a href="#key_shared">key_shared</a>. These modes are illustrated in the figure below.</p>
-<p><img src="/docs/assets/pulsar-subscription-modes.png" alt="Subscription modes"></p>
+<p>A subscription is a named configuration rule that determines how messages are delivered to consumers. Four subscription types are available in Pulsar: <a href="#exclusive">exclusive</a>, <a href="#shared">shared</a>, <a href="#failover">failover</a>, and <a href="#key_shared">key_shared</a>. These types are illustrated in the figure below.</p>
+<p><img src="/docs/assets/pulsar-subscription-types.png" alt="Subscription types"></p>
 <blockquote>
-<p><strong>Pub-Sub or Queuing</strong> In Pulsar, you can use different subscriptions flexibly. * If you want to achieve traditional &quot;fan-out pub-sub messaging&quot; among consumers, specify a unique subscription name for each consumer. It is exclusive subscription mode. * If you want to achieve &quot;message queuing&quot; among consumers, share the same subscription name among multiple consumers(shared, failover, key_shared). * If you want to achieve both effects simultaneously, co [...]
+<p><strong>Pub-Sub or Queuing</strong> In Pulsar, you can use different subscriptions flexibly. * If you want to achieve traditional &quot;fan-out pub-sub messaging&quot; among consumers, specify a unique subscription name for each consumer. It is exclusive subscription type. * If you want to achieve &quot;message queuing&quot; among consumers, share the same subscription name among multiple consumers(shared, failover, key_shared). * If you want to achieve both effects simultaneously, co [...]
 </blockquote>
-<h3><a class="anchor" aria-hidden="true" id="consumerless-subscriptions-and-their-corresponding-modes"></a><a href="#consumerless-subscriptions-and-their-corresponding-modes" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.2 [...]
-<p>When a subscription has no consumers, its subscription mode is undefined. A subscription's mode is defined when a consumer connects to the subscription, and the mode can be changed by restarting all consumers with a different configuration.</p>
+<h3><a class="anchor" aria-hidden="true" id="consumerless-subscriptions-and-their-corresponding-types"></a><a href="#consumerless-subscriptions-and-their-corresponding-types" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.2 [...]
+<p>When a subscription has no consumers, its subscription type is undefined. The type of a subscription is defined when a consumer connects to it, and the type can be changed by restarting all consumers with a different configuration.</p>
 <h3><a class="anchor" aria-hidden="true" id="exclusive"></a><a href="#exclusive" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>In <em>exclusive</em> mode, only a single consumer is allowed to attach to the subscription. If multiple consumers subscribe to a topic using the same subscription, an error occurs.</p>
+<p>In <em>exclusive</em> type, only a single consumer is allowed to attach to the subscription. If multiple consumers subscribe to a topic using the same subscription, an error occurs.</p>
 <p>In the diagram below, only <strong>Consumer A-0</strong> is allowed to consume messages.</p>
 <blockquote>
-<p>Exclusive mode is the default subscription mode.</p>
+<p>Exclusive is the default subscription type.</p>
 </blockquote>
 <p><img src="/docs/assets/pulsar-exclusive-subscriptions.png" alt="Exclusive subscriptions"></p>
 <h3><a class="anchor" aria-hidden="true" id="failover"></a><a href="#failover" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
-<p>In <em>failover</em> mode, multiple consumers can attach to the same subscription. A master consumer is picked for non-partitioned topic or each partition of partitioned topic and receives messages. When the master consumer disconnects, all (non-acknowledged and subsequent) messages are delivered to the next consumer in line.</p>
+<p>In <em>Failover</em> type, multiple consumers can attach to the same subscription. A master consumer is picked for non-partitioned topic or each partition of partitioned topic and receives messages. When the master consumer disconnects, all (non-acknowledged and subsequent) messages are delivered to the next consumer in line.</p>
 <p>For partitioned topics, broker will sort consumers by priority level and lexicographical order of consumer name. Then broker will try to evenly assigns topics to consumers with the highest priority level.</p>
 <p>For non-partitioned topic, broker will pick consumer in the order they subscribe to the non partitioned topic.</p>
 <p>In the diagram below, <strong>Consumer-B-0</strong> is the master consumer while <strong>Consumer-B-1</strong> would be the next consumer in line to receive messages if <strong>Consumer-B-0</strong> is disconnected.</p>
@@ -332,9 +332,9 @@ Consumer&lt;<span class="hljs-keyword">byte</span>[]&gt; someTopicsConsumer = pu
 <p>The diagram below illustrates this:</p>
 <p><img src="/docs/assets/partitioning.png" alt=""></p>
 <p>The <strong>Topic1</strong> topic has five partitions (<strong>P0</strong> through <strong>P4</strong>) split across three brokers. Because there are more partitions than brokers, two brokers handle two partitions a piece, while the third handles only one (again, Pulsar handles this distribution of partitions automatically).</p>
-<p>Messages for this topic are broadcast to two consumers. The <a href="#routing-modes">routing mode</a> determines each message should be published to which partition, while the <a href="#subscription-modes">subscription mode</a> determines which messages go to which consumers.</p>
-<p>Decisions about routing and subscription modes can be made separately in most cases. In general, throughput concerns should guide partitioning/routing decisions while subscription decisions should be guided by application semantics.</p>
-<p>There is no difference between partitioned topics and normal topics in terms of how subscription modes work, as partitioning only determines what happens between when a message is published by a producer and processed and acknowledged by a consumer.</p>
+<p>Messages for this topic are broadcast to two consumers. The <a href="#routing-modes">routing mode</a> determines each message should be published to which partition, while the <a href="#subscription-types">subscription type</a> determines which messages go to which consumers.</p>
+<p>Decisions about routing and subscription types can be made separately in most cases. In general, throughput concerns should guide partitioning/routing decisions while subscription decisions should be guided by application semantics.</p>
+<p>There is no difference between partitioned topics and normal topics in terms of how subscription types work, as partitioning only determines what happens between when a message is published by a producer and processed and acknowledged by a consumer.</p>
 <p>Partitioned topics need to be explicitly created via the <a href="/docs/fr/2.7.2/admin-api-overview">admin API</a>. The number of partitions can be specified when creating the topic.</p>
 <h3><a class="anchor" aria-hidden="true" id="routing-modes"></a><a href="#routing-modes" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>When publishing to partitioned topics, you must specify a <em>routing mode</em>. The routing mode determines which partition---that is, which internal topic---each message should be published to.</p>
@@ -386,7 +386,7 @@ Consumer&lt;<span class="hljs-keyword">byte</span>[]&gt; someTopicsConsumer = pu
 <h3><a class="anchor" aria-hidden="true" id="performance"></a><a href="#performance" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>Non-persistent messaging is usually faster than persistent messaging because brokers don't persist messages and immediately send acks back to the producer as soon as that message is delivered to connected brokers. Producers thus see comparatively low publish latency with non-persistent topic.</p>
 <h3><a class="anchor" aria-hidden="true" id="client-api"></a><a href="#client-api" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>Producers and consumers can connect to non-persistent topics in the same way as persistent topics, with the crucial difference that the topic name must start with <code>non-persistent</code>. All three subscription modes---<a href="#exclusive">exclusive</a>, <a href="#shared">shared</a>, and <a href="#failover">failover</a>---are supported for non-persistent topics.</p>
+<p>Producers and consumers can connect to non-persistent topics in the same way as persistent topics, with the crucial difference that the topic name must start with <code>non-persistent</code>. All three subscription types---<a href="#exclusive">exclusive</a>, <a href="#shared">shared</a>, and <a href="#failover">failover</a>---are supported for non-persistent topics.</p>
 <p>Here's an example <a href="/docs/fr/2.7.2/client-libraries-java#consumers">Java consumer</a> for a non-persistent topic:</p>
 <pre><code class="hljs css language-java">PulsarClient client = PulsarClient.builder()
         .serviceUrl(<span class="hljs-string">"pulsar://localhost:6650"</span>)
@@ -440,7 +440,7 @@ Consumer&lt;<span class="hljs-keyword">byte</span>[]&gt; consumer = client.newCo
 </blockquote>
 <h2><a class="anchor" aria-hidden="true" id="delayed-message-delivery"></a><a href="#delayed-message-delivery" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>Delayed message delivery enables you to consume a message later rather than immediately. In this mechanism, a message is stored in BookKeeper, <code>DelayedDeliveryTracker</code> maintains the time index(time -&gt; messageId) in memory after published to a broker, and it is delivered to a consumer once the specific delayed time is passed.</p>
-<p>Delayed message delivery only works in Shared subscription mode. In Exclusive and Failover subscription modes, the delayed message is dispatched immediately.</p>
+<p>Delayed message delivery only works in Shared subscription type. In Exclusive and Failover subscription types, the delayed message is dispatched immediately.</p>
 <p>The diagram below illustrates the concept of delayed message delivery:</p>
 <p><img src="/docs/assets/message_delay.png" alt="Delayed Message Delivery"></p>
 <p>A broker saves a message without any check. When a consumer consumes a message, if the message is set to delay, then the message is added to <code>DelayedDeliveryTracker</code>. A subscription checks and gets timeout messages from <code>DelayedDeliveryTracker</code>.</p>
@@ -460,7 +460,7 @@ Consumer&lt;<span class="hljs-keyword">byte</span>[]&gt; consumer = client.newCo
 <pre><code class="hljs css language-java"><span class="hljs-comment">// message to be delivered at the configured delay interval</span>
 producer.newMessage().deliverAfter(<span class="hljs-number">3L</span>, TimeUnit.Minute).value(<span class="hljs-string">"Hello Pulsar!"</span>).send();
 </code></pre>
-</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/fr/2.7.2/concepts-overview"><span class="arrow-prev">← </span><span>Overview</span></a><a class="docs-next button" href="/docs/fr/2.7.2/concepts-architecture-overview"><span>Architecture</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#messages">Messages</a></li><li><a href="#producers">Producers</a><ul class="toc-headi [...]
+</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/fr/2.7.2/concepts-overview"><span class="arrow-prev">← </span><span>Overview</span></a><a class="docs-next button" href="/docs/fr/2.7.2/concepts-architecture-overview"><span>Architecture</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#messages">Messages</a></li><li><a href="#producers">Producers</a><ul class="toc-headi [...]
       const community = document.querySelector("a[href='#community']").parentNode;
       const communityMenu =
         '<li>' +
diff --git a/content/docs/fr/2.7.2/concepts-messaging/index.html b/content/docs/fr/2.7.2/concepts-messaging/index.html
index 43f29cdd6..f9b1eeb 100644
--- a/content/docs/fr/2.7.2/concepts-messaging/index.html
+++ b/content/docs/fr/2.7.2/concepts-messaging/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>Messaging · Apache Pulsar</title><meta name="viewport" content="width=device-width, initial-scale=1.0"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar is built on the [publish-subscribe](https://en.wikipedia.org/wiki/Publish%E2%80%93subscribe_pattern) pattern (often abbreviated to pub-sub). In this pattern, [producers](#producers) [...]
+<!DOCTYPE html><html lang="fr"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Messaging · Apache Pulsar</title><meta name="viewport" content="width=device-width, initial-scale=1.0"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar is built on the [publish-subscribe](https://en.wikipedia.org/wiki/Publish%E2%80%93subscribe_pattern) pattern (often abbreviated to pub-sub). In this pattern, [producers](#producers) [...]
               (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,7 +74,7 @@
                 };
               }
             });
-        </script></nav></div><div class="container mainContainer docsContainer"><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 id="__docusaurus" class="postHeaderTitle">Messaging</h1></header><article><div><span><p>Pulsar is built on the <a href="https://en.wikipedia.org/wiki/Publish%E2%80%93subscribe_pattern">publish-subscribe [...]
+        </script></nav></div><div class="container mainContainer docsContainer"><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 id="__docusaurus" class="postHeaderTitle">Messaging</h1></header><article><div><span><p>Pulsar is built on the <a href="https://en.wikipedia.org/wiki/Publish%E2%80%93subscribe_pattern">publish-subscribe [...]
 <p>When a subscription is created, Pulsar <a href="/docs/fr/2.7.2/concepts-architecture-overview#persistent-storage">retains</a> all messages, even if the consumer is disconnected. Retained messages are discarded only when a consumer acknowledges that those messages are processed successfully.</p>
 <h2><a class="anchor" aria-hidden="true" id="messages"></a><a href="#messages" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
 <p>Messages are the basic &quot;unit&quot; of Pulsar. The following table lists the components of messages.</p>
@@ -128,7 +128,7 @@
 <ul>
 <li>Batching and chunking cannot be enabled simultaneously. To enable chunking, you must disable batching in advance.</li>
 <li>Chunking is only supported for persisted topics.</li>
-<li>Chunking is only supported for the exclusive and failover subscription modes.</li>
+<li>Chunking is only supported for the exclusive and failover subscription types.</li>
 </ul>
 <p>When chunking is enabled (<code>chunkingEnabled=true</code>), if the message size is greater than the allowed maximum publish-payload size, the producer splits the original message into chunked messages and publishes them with chunked metadata to the broker separately and in order. At the broker side, the chunked messages are stored in the managed-ledger in the same way as that of ordinary messages. The only difference is that the consumer needs to buffer the chunked messages and comb [...]
 <p>The consumer consumes the chunked messages and buffers them until the consumer receives all the chunks of a message. And then the consumer stitches chunked messages together and places them into the receiver-queue. Clients consume messages from the receiver-queue. Once the consumer consumes the entire large message and acknowledges it, the consumer internally sends acknowledgement of all the chunk messages associated to that large message. You can set the <code>maxPendingChuckedMessag [...]
@@ -165,13 +165,13 @@
 <li>Messages are acknowledged cumulatively. With cumulative acknowledgement, the consumer only needs to acknowledge the last message it received. All messages in the stream up to (and including) the provided message are not re-delivered to that consumer.</li>
 </ul>
 <blockquote>
-<p><strong>Note</strong> Cumulative acknowledgement cannot be used in the <a href="#subscription-modes">shared subscription mode</a>, because the shared subscription mode involves multiple consumers who have access to the same subscription. In the shared subscription mode, messages are acknowledged individually.</p>
+<p><strong>Note</strong> Cumulative acknowledgement cannot be used in <a href="#subscription-types">Shared subscription type</a>, because this subscription type involves multiple consumers which have access to the same subscription. In Shared subscription type, messages are acknowledged individually.</p>
 </blockquote>
 <h3><a class="anchor" aria-hidden="true" id="negative-acknowledgement"></a><a href="#negative-acknowledgement" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>When a consumer does not consume a message successfully at a time, and wants to consume the message again, the consumer sends a negative acknowledgement to the broker, and then the broker redelivers the message.</p>
-<p>Messages are negatively acknowledged one by one or cumulatively, which depends on the consumption subscription mode.</p>
-<p>In the exclusive and failover subscription modes, consumers only negatively acknowledge the last message they receive.</p>
-<p>In the shared and Key_Shared subscription modes, you can negatively acknowledge messages individually.</p>
+<p>Messages are negatively acknowledged either individually or cumulatively, depending on the consumption subscription type.</p>
+<p>In the exclusive and failover subscription types, consumers only negatively acknowledge the last message they receive.</p>
+<p>In the shared and Key_Shared subscription types, you can negatively acknowledge messages individually.</p>
 <p>Be aware that negative acknowledgment on ordered subscription types, such as Exclusive, Failover and Key_Shared, can cause failed messages to arrive consumers out of the original order.</p>
 <blockquote>
 <p><strong>Note</strong> If batching is enabled, other messages and the negatively acknowledged messages in the same batch are redelivered to the consumer.</p>
@@ -216,7 +216,7 @@ Prefer negative acknowledgements over acknowledgement timeout. Negative acknowle
 <p>Dead letter topic depends on message re-delivery. Messages are redelivered either due to <a href="#acknowledgement-timeout">acknowledgement timeout</a> or <a href="#negative-acknowledgement">negative acknowledgement</a>. If you are going to use negative acknowledgement on a message, make sure it is negatively acknowledged before the acknowledgement timeout.</p>
 <blockquote>
 <p><strong>Note</strong>    <br>
-Currently, dead letter topic is enabled only in the shared subscription mode.</p>
+Currently, dead letter topic is enabled only in Shared subscription type.</p>
 </blockquote>
 <h3><a class="anchor" aria-hidden="true" id="retry-letter-topic"></a><a href="#retry-letter-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- [...]
 <p>For many online business systems, a message is re-consumed due to exception occurs in the business logic processing. To configure the delay time for re-consuming the failed messages, you can configure the producer to send messages to both the business topic and the retry letter topic, and enable automatic retry on the consumer. When automatic retry is enabled on the consumer, a message is stored in the retry letter topic if the messages are not consumed, and therefore the consumer aut [...]
@@ -256,22 +256,22 @@ Currently, dead letter topic is enabled only in the shared subscription mode.</p
 <h2><a class="anchor" aria-hidden="true" id="espaces-de-nommage"></a><a href="#espaces-de-nommage" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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- [...]
 <p>A namespace is a logical nomenclature within a tenant. A tenant creates multiple namespaces via the <a href="/docs/fr/2.7.2/admin-api-namespaces#create">admin API</a>. For instance, a tenant with different applications can create a separate namespace for each application. A namespace allows the application to create and manage a hierarchy of topics. The topic <code>my-tenant/app1</code> is a namespace for the application <code>app1</code> for <code>my-tenant</code>. You can create any [...]
 <h2><a class="anchor" aria-hidden="true" id="subscriptions"></a><a href="#subscriptions" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>A subscription is a named configuration rule that determines how messages are delivered to consumers. Four subscription modes are available in Pulsar: <a href="#exclusive">exclusive</a>, <a href="#shared">shared</a>, <a href="#failover">failover</a>, and <a href="#key_shared">key_shared</a>. These modes are illustrated in the figure below.</p>
-<p><img src="/docs/assets/pulsar-subscription-modes.png" alt="Subscription modes"></p>
+<p>A subscription is a named configuration rule that determines how messages are delivered to consumers. Four subscription types are available in Pulsar: <a href="#exclusive">exclusive</a>, <a href="#shared">shared</a>, <a href="#failover">failover</a>, and <a href="#key_shared">key_shared</a>. These types are illustrated in the figure below.</p>
+<p><img src="/docs/assets/pulsar-subscription-types.png" alt="Subscription types"></p>
 <blockquote>
-<p><strong>Pub-Sub or Queuing</strong> In Pulsar, you can use different subscriptions flexibly. * If you want to achieve traditional &quot;fan-out pub-sub messaging&quot; among consumers, specify a unique subscription name for each consumer. It is exclusive subscription mode. * If you want to achieve &quot;message queuing&quot; among consumers, share the same subscription name among multiple consumers(shared, failover, key_shared). * If you want to achieve both effects simultaneously, co [...]
+<p><strong>Pub-Sub or Queuing</strong> In Pulsar, you can use different subscriptions flexibly. * If you want to achieve traditional &quot;fan-out pub-sub messaging&quot; among consumers, specify a unique subscription name for each consumer. It is exclusive subscription type. * If you want to achieve &quot;message queuing&quot; among consumers, share the same subscription name among multiple consumers(shared, failover, key_shared). * If you want to achieve both effects simultaneously, co [...]
 </blockquote>
-<h3><a class="anchor" aria-hidden="true" id="consumerless-subscriptions-and-their-corresponding-modes"></a><a href="#consumerless-subscriptions-and-their-corresponding-modes" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.2 [...]
-<p>When a subscription has no consumers, its subscription mode is undefined. A subscription's mode is defined when a consumer connects to the subscription, and the mode can be changed by restarting all consumers with a different configuration.</p>
+<h3><a class="anchor" aria-hidden="true" id="consumerless-subscriptions-and-their-corresponding-types"></a><a href="#consumerless-subscriptions-and-their-corresponding-types" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.2 [...]
+<p>When a subscription has no consumers, its subscription type is undefined. The type of a subscription is defined when a consumer connects to it, and the type can be changed by restarting all consumers with a different configuration.</p>
 <h3><a class="anchor" aria-hidden="true" id="exclusive"></a><a href="#exclusive" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>In <em>exclusive</em> mode, only a single consumer is allowed to attach to the subscription. If multiple consumers subscribe to a topic using the same subscription, an error occurs.</p>
+<p>In <em>exclusive</em> type, only a single consumer is allowed to attach to the subscription. If multiple consumers subscribe to a topic using the same subscription, an error occurs.</p>
 <p>In the diagram below, only <strong>Consumer A-0</strong> is allowed to consume messages.</p>
 <blockquote>
-<p>Exclusive mode is the default subscription mode.</p>
+<p>Exclusive is the default subscription type.</p>
 </blockquote>
 <p><img src="/docs/assets/pulsar-exclusive-subscriptions.png" alt="Exclusive subscriptions"></p>
 <h3><a class="anchor" aria-hidden="true" id="failover"></a><a href="#failover" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
-<p>In <em>failover</em> mode, multiple consumers can attach to the same subscription. A master consumer is picked for non-partitioned topic or each partition of partitioned topic and receives messages. When the master consumer disconnects, all (non-acknowledged and subsequent) messages are delivered to the next consumer in line.</p>
+<p>In <em>Failover</em> type, multiple consumers can attach to the same subscription. A master consumer is picked for non-partitioned topic or each partition of partitioned topic and receives messages. When the master consumer disconnects, all (non-acknowledged and subsequent) messages are delivered to the next consumer in line.</p>
 <p>For partitioned topics, broker will sort consumers by priority level and lexicographical order of consumer name. Then broker will try to evenly assigns topics to consumers with the highest priority level.</p>
 <p>For non-partitioned topic, broker will pick consumer in the order they subscribe to the non partitioned topic.</p>
 <p>In the diagram below, <strong>Consumer-B-0</strong> is the master consumer while <strong>Consumer-B-1</strong> would be the next consumer in line to receive messages if <strong>Consumer-B-0</strong> is disconnected.</p>
@@ -332,9 +332,9 @@ Consumer&lt;<span class="hljs-keyword">byte</span>[]&gt; someTopicsConsumer = pu
 <p>The diagram below illustrates this:</p>
 <p><img src="/docs/assets/partitioning.png" alt=""></p>
 <p>The <strong>Topic1</strong> topic has five partitions (<strong>P0</strong> through <strong>P4</strong>) split across three brokers. Because there are more partitions than brokers, two brokers handle two partitions a piece, while the third handles only one (again, Pulsar handles this distribution of partitions automatically).</p>
-<p>Messages for this topic are broadcast to two consumers. The <a href="#routing-modes">routing mode</a> determines each message should be published to which partition, while the <a href="#subscription-modes">subscription mode</a> determines which messages go to which consumers.</p>
-<p>Decisions about routing and subscription modes can be made separately in most cases. In general, throughput concerns should guide partitioning/routing decisions while subscription decisions should be guided by application semantics.</p>
-<p>There is no difference between partitioned topics and normal topics in terms of how subscription modes work, as partitioning only determines what happens between when a message is published by a producer and processed and acknowledged by a consumer.</p>
+<p>Messages for this topic are broadcast to two consumers. The <a href="#routing-modes">routing mode</a> determines each message should be published to which partition, while the <a href="#subscription-types">subscription type</a> determines which messages go to which consumers.</p>
+<p>Decisions about routing and subscription types can be made separately in most cases. In general, throughput concerns should guide partitioning/routing decisions while subscription decisions should be guided by application semantics.</p>
+<p>There is no difference between partitioned topics and normal topics in terms of how subscription types work, as partitioning only determines what happens between when a message is published by a producer and processed and acknowledged by a consumer.</p>
 <p>Partitioned topics need to be explicitly created via the <a href="/docs/fr/2.7.2/admin-api-overview">admin API</a>. The number of partitions can be specified when creating the topic.</p>
 <h3><a class="anchor" aria-hidden="true" id="routing-modes"></a><a href="#routing-modes" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>When publishing to partitioned topics, you must specify a <em>routing mode</em>. The routing mode determines which partition---that is, which internal topic---each message should be published to.</p>
@@ -386,7 +386,7 @@ Consumer&lt;<span class="hljs-keyword">byte</span>[]&gt; someTopicsConsumer = pu
 <h3><a class="anchor" aria-hidden="true" id="performance"></a><a href="#performance" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>Non-persistent messaging is usually faster than persistent messaging because brokers don't persist messages and immediately send acks back to the producer as soon as that message is delivered to connected brokers. Producers thus see comparatively low publish latency with non-persistent topic.</p>
 <h3><a class="anchor" aria-hidden="true" id="client-api"></a><a href="#client-api" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>Producers and consumers can connect to non-persistent topics in the same way as persistent topics, with the crucial difference that the topic name must start with <code>non-persistent</code>. All three subscription modes---<a href="#exclusive">exclusive</a>, <a href="#shared">shared</a>, and <a href="#failover">failover</a>---are supported for non-persistent topics.</p>
+<p>Producers and consumers can connect to non-persistent topics in the same way as persistent topics, with the crucial difference that the topic name must start with <code>non-persistent</code>. All three subscription types---<a href="#exclusive">exclusive</a>, <a href="#shared">shared</a>, and <a href="#failover">failover</a>---are supported for non-persistent topics.</p>
 <p>Here's an example <a href="/docs/fr/2.7.2/client-libraries-java#consumers">Java consumer</a> for a non-persistent topic:</p>
 <pre><code class="hljs css language-java">PulsarClient client = PulsarClient.builder()
         .serviceUrl(<span class="hljs-string">"pulsar://localhost:6650"</span>)
@@ -440,7 +440,7 @@ Consumer&lt;<span class="hljs-keyword">byte</span>[]&gt; consumer = client.newCo
 </blockquote>
 <h2><a class="anchor" aria-hidden="true" id="delayed-message-delivery"></a><a href="#delayed-message-delivery" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>Delayed message delivery enables you to consume a message later rather than immediately. In this mechanism, a message is stored in BookKeeper, <code>DelayedDeliveryTracker</code> maintains the time index(time -&gt; messageId) in memory after published to a broker, and it is delivered to a consumer once the specific delayed time is passed.</p>
-<p>Delayed message delivery only works in Shared subscription mode. In Exclusive and Failover subscription modes, the delayed message is dispatched immediately.</p>
+<p>Delayed message delivery only works in Shared subscription type. In Exclusive and Failover subscription types, the delayed message is dispatched immediately.</p>
 <p>The diagram below illustrates the concept of delayed message delivery:</p>
 <p><img src="/docs/assets/message_delay.png" alt="Delayed Message Delivery"></p>
 <p>A broker saves a message without any check. When a consumer consumes a message, if the message is set to delay, then the message is added to <code>DelayedDeliveryTracker</code>. A subscription checks and gets timeout messages from <code>DelayedDeliveryTracker</code>.</p>
@@ -460,7 +460,7 @@ Consumer&lt;<span class="hljs-keyword">byte</span>[]&gt; consumer = client.newCo
 <pre><code class="hljs css language-java"><span class="hljs-comment">// message to be delivered at the configured delay interval</span>
 producer.newMessage().deliverAfter(<span class="hljs-number">3L</span>, TimeUnit.Minute).value(<span class="hljs-string">"Hello Pulsar!"</span>).send();
 </code></pre>
-</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/fr/2.7.2/concepts-overview"><span class="arrow-prev">← </span><span>Overview</span></a><a class="docs-next button" href="/docs/fr/2.7.2/concepts-architecture-overview"><span>Architecture</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#messages">Messages</a></li><li><a href="#producers">Producers</a><ul class="toc-headi [...]
+</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/fr/2.7.2/concepts-overview"><span class="arrow-prev">← </span><span>Overview</span></a><a class="docs-next button" href="/docs/fr/2.7.2/concepts-architecture-overview"><span>Architecture</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#messages">Messages</a></li><li><a href="#producers">Producers</a><ul class="toc-headi [...]
       const community = document.querySelector("a[href='#community']").parentNode;
       const communityMenu =
         '<li>' +
diff --git a/content/docs/fr/2.7.2/concepts-overview.html b/content/docs/fr/2.7.2/concepts-overview.html
index e3c8a05..9e19f40 100644
--- a/content/docs/fr/2.7.2/concepts-overview.html
+++ b/content/docs/fr/2.7.2/concepts-overview.html
@@ -81,7 +81,7 @@
 <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/fr/2.7.2/concepts-clients">client API</a> with bindings for <a href="/docs/fr/2.7.2/client-libraries-java">Java</a>, <a href="/docs/fr/2.7.2/client-libraries-go">Go</a>, <a href="/docs/fr/2.7.2/client-libraries-python">Python</a> and <a href="/docs/fr/2.7.2/client-libraries-cpp">C++</a>.</li>
-<li>Multiple <a href="/docs/fr/2.7.2/concepts-messaging#subscription-modes">subscription modes</a> (<a href="/docs/fr/2.7.2/concepts-messaging#exclusive">exclusive</a>, <a href="/docs/fr/2.7.2/concepts-messaging#shared">shared</a>, and <a href="/docs/fr/2.7.2/concepts-messaging#failover">failover</a>) for topics.</li>
+<li>Multiple <a href="/docs/fr/2.7.2/concepts-messaging#subscription-types">subscription types</a> (<a href="/docs/fr/2.7.2/concepts-messaging#exclusive">exclusive</a>, <a href="/docs/fr/2.7.2/concepts-messaging#shared">shared</a>, and <a href="/docs/fr/2.7.2/concepts-messaging#failover">failover</a>) for topics.</li>
 <li>Guaranteed message delivery with <a href="/docs/fr/2.7.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/fr/2.7.2/functions-overview">Pulsar Functions</a> offers the capability for stream-native data processing.</li>
 <li>A serverless connector framework <a href="/docs/fr/2.7.2/io-overview">Pulsar IO</a>, which is built on Pulsar Functions, makes it easier to move data in and out of Apache Pulsar.</li>
diff --git a/content/docs/fr/2.7.2/concepts-overview/index.html b/content/docs/fr/2.7.2/concepts-overview/index.html
index e3c8a05..9e19f40 100644
--- a/content/docs/fr/2.7.2/concepts-overview/index.html
+++ b/content/docs/fr/2.7.2/concepts-overview/index.html
@@ -81,7 +81,7 @@
 <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/fr/2.7.2/concepts-clients">client API</a> with bindings for <a href="/docs/fr/2.7.2/client-libraries-java">Java</a>, <a href="/docs/fr/2.7.2/client-libraries-go">Go</a>, <a href="/docs/fr/2.7.2/client-libraries-python">Python</a> and <a href="/docs/fr/2.7.2/client-libraries-cpp">C++</a>.</li>
-<li>Multiple <a href="/docs/fr/2.7.2/concepts-messaging#subscription-modes">subscription modes</a> (<a href="/docs/fr/2.7.2/concepts-messaging#exclusive">exclusive</a>, <a href="/docs/fr/2.7.2/concepts-messaging#shared">shared</a>, and <a href="/docs/fr/2.7.2/concepts-messaging#failover">failover</a>) for topics.</li>
+<li>Multiple <a href="/docs/fr/2.7.2/concepts-messaging#subscription-types">subscription types</a> (<a href="/docs/fr/2.7.2/concepts-messaging#exclusive">exclusive</a>, <a href="/docs/fr/2.7.2/concepts-messaging#shared">shared</a>, and <a href="/docs/fr/2.7.2/concepts-messaging#failover">failover</a>) for topics.</li>
 <li>Guaranteed message delivery with <a href="/docs/fr/2.7.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/fr/2.7.2/functions-overview">Pulsar Functions</a> offers the capability for stream-native data processing.</li>
 <li>A serverless connector framework <a href="/docs/fr/2.7.2/io-overview">Pulsar IO</a>, which is built on Pulsar Functions, makes it easier to move data in and out of Apache Pulsar.</li>
diff --git a/content/docs/fr/2.7.2/reference-cli-tools.html b/content/docs/fr/2.7.2/reference-cli-tools.html
index 04fa04c..4f29780 100644
--- a/content/docs/fr/2.7.2/reference-cli-tools.html
+++ b/content/docs/fr/2.7.2/reference-cli-tools.html
@@ -369,7 +369,7 @@
 <tr><td><code>-s</code>, <code>--subscription-name</code></td><td>Subscription name</td><td></td></tr>
 <tr><td><code>-t</code>, <code>--subscription-type</code></td><td>The type of the subscription. Possible values: Exclusive, Shared, Failover, Key_Shared.</td><td>Exclusive</td></tr>
 <tr><td><code>-p</code>, <code>--subscription-position</code></td><td>The position of the subscription. Possible values: Latest, Earliest.</td><td>Latest</td></tr>
-<tr><td><code>-m</code>, <code>--subscription-mode</code></td><td>Subscription mode.</td><td>Durable</td></tr>
+<tr><td><code>-m</code>, <code>--subscription-mode</code></td><td>Subscription mode. Possible values: Durable, NonDurable.</td><td>Durable</td></tr>
 <tr><td><code>-q</code>, <code>--queue-size</code></td><td>The size of consumer's receiver queue.</td><td>0</td></tr>
 <tr><td><code>-mc</code>, <code>--max_chunked_msg</code></td><td>Max pending chunk messages.</td><td>0</td></tr>
 <tr><td><code>-ac</code>, <code>--auto_ack_chunk_q_full</code></td><td>Auto ack for the oldest message in consumer's receiver queue is the queue full.</td><td>false</td></tr>
diff --git a/content/docs/fr/2.7.2/reference-cli-tools/index.html b/content/docs/fr/2.7.2/reference-cli-tools/index.html
index 04fa04c..4f29780 100644
--- a/content/docs/fr/2.7.2/reference-cli-tools/index.html
+++ b/content/docs/fr/2.7.2/reference-cli-tools/index.html
@@ -369,7 +369,7 @@
 <tr><td><code>-s</code>, <code>--subscription-name</code></td><td>Subscription name</td><td></td></tr>
 <tr><td><code>-t</code>, <code>--subscription-type</code></td><td>The type of the subscription. Possible values: Exclusive, Shared, Failover, Key_Shared.</td><td>Exclusive</td></tr>
 <tr><td><code>-p</code>, <code>--subscription-position</code></td><td>The position of the subscription. Possible values: Latest, Earliest.</td><td>Latest</td></tr>
-<tr><td><code>-m</code>, <code>--subscription-mode</code></td><td>Subscription mode.</td><td>Durable</td></tr>
+<tr><td><code>-m</code>, <code>--subscription-mode</code></td><td>Subscription mode. Possible values: Durable, NonDurable.</td><td>Durable</td></tr>
 <tr><td><code>-q</code>, <code>--queue-size</code></td><td>The size of consumer's receiver queue.</td><td>0</td></tr>
 <tr><td><code>-mc</code>, <code>--max_chunked_msg</code></td><td>Max pending chunk messages.</td><td>0</td></tr>
 <tr><td><code>-ac</code>, <code>--auto_ack_chunk_q_full</code></td><td>Auto ack for the oldest message in consumer's receiver queue is the queue full.</td><td>false</td></tr>
diff --git a/content/docs/fr/2.7.2/reference-configuration.html b/content/docs/fr/2.7.2/reference-configuration.html
index ba3e2b8..207a300 100644
--- a/content/docs/fr/2.7.2/reference-configuration.html
+++ b/content/docs/fr/2.7.2/reference-configuration.html
@@ -542,8 +542,8 @@
 <tr><td>subscriptionExpirationTimeMinutes</td><td>How long to delete inactive subscriptions from last consumption. When it is set to 0, inactive subscriptions are not deleted automatically</td><td>0</td></tr>
 <tr><td>subscriptionRedeliveryTrackerEnabled</td><td>Enable subscription message redelivery tracker to send redelivery count to consumer.</td><td>true</td></tr>
 <tr><td>subscriptionKeySharedEnable</td><td>Whether to enable the Key_Shared subscription.</td><td>true</td></tr>
-<tr><td>subscriptionKeySharedUseConsistentHashing</td><td>In the Key_Shared subscription mode, with default AUTO_SPLIT mode, use splitting ranges or consistent hashing to reassign keys to new consumers.</td><td>false</td></tr>
-<tr><td>subscriptionKeySharedConsistentHashingReplicaPoints</td><td>In the Key_Shared subscription mode, the number of points in the consistent-hashing ring. The greater the number, the more equal the assignment of keys to consumers.</td><td>100</td></tr>
+<tr><td>subscriptionKeySharedUseConsistentHashing</td><td>In Key_Shared subscription type, with default AUTO_SPLIT mode, use splitting ranges or consistent hashing to reassign keys to new consumers.</td><td>false</td></tr>
+<tr><td>subscriptionKeySharedConsistentHashingReplicaPoints</td><td>In Key_Shared subscription type, the number of points in the consistent-hashing ring. The greater the number, the more equal the assignment of keys to consumers.</td><td>100</td></tr>
 <tr><td>subscriptionExpiryCheckIntervalInMinutes</td><td>How frequently to proactively check and purge expired subscription</td><td>5</td></tr>
 <tr><td>brokerDeduplicationEnabled</td><td>Set the default behavior for message deduplication in the broker. This can be overridden per-namespace. If it is enabled, the broker rejects messages that are already stored in the topic.</td><td>false</td></tr>
 <tr><td>brokerDeduplicationMaxNumberOfProducers</td><td>Maximum number of producer information that it's going to be persisted for deduplication purposes</td><td>10000</td></tr>
diff --git a/content/docs/fr/2.7.2/reference-configuration/index.html b/content/docs/fr/2.7.2/reference-configuration/index.html
index ba3e2b8..207a300 100644
--- a/content/docs/fr/2.7.2/reference-configuration/index.html
+++ b/content/docs/fr/2.7.2/reference-configuration/index.html
@@ -542,8 +542,8 @@
 <tr><td>subscriptionExpirationTimeMinutes</td><td>How long to delete inactive subscriptions from last consumption. When it is set to 0, inactive subscriptions are not deleted automatically</td><td>0</td></tr>
 <tr><td>subscriptionRedeliveryTrackerEnabled</td><td>Enable subscription message redelivery tracker to send redelivery count to consumer.</td><td>true</td></tr>
 <tr><td>subscriptionKeySharedEnable</td><td>Whether to enable the Key_Shared subscription.</td><td>true</td></tr>
-<tr><td>subscriptionKeySharedUseConsistentHashing</td><td>In the Key_Shared subscription mode, with default AUTO_SPLIT mode, use splitting ranges or consistent hashing to reassign keys to new consumers.</td><td>false</td></tr>
-<tr><td>subscriptionKeySharedConsistentHashingReplicaPoints</td><td>In the Key_Shared subscription mode, the number of points in the consistent-hashing ring. The greater the number, the more equal the assignment of keys to consumers.</td><td>100</td></tr>
+<tr><td>subscriptionKeySharedUseConsistentHashing</td><td>In Key_Shared subscription type, with default AUTO_SPLIT mode, use splitting ranges or consistent hashing to reassign keys to new consumers.</td><td>false</td></tr>
+<tr><td>subscriptionKeySharedConsistentHashingReplicaPoints</td><td>In Key_Shared subscription type, the number of points in the consistent-hashing ring. The greater the number, the more equal the assignment of keys to consumers.</td><td>100</td></tr>
 <tr><td>subscriptionExpiryCheckIntervalInMinutes</td><td>How frequently to proactively check and purge expired subscription</td><td>5</td></tr>
 <tr><td>brokerDeduplicationEnabled</td><td>Set the default behavior for message deduplication in the broker. This can be overridden per-namespace. If it is enabled, the broker rejects messages that are already stored in the topic.</td><td>false</td></tr>
 <tr><td>brokerDeduplicationMaxNumberOfProducers</td><td>Maximum number of producer information that it's going to be persisted for deduplication purposes</td><td>10000</td></tr>
diff --git a/content/docs/fr/2.7.3/client-libraries-java.html b/content/docs/fr/2.7.3/client-libraries-java.html
index ec98482..11ea326 100644
--- a/content/docs/fr/2.7.3/client-libraries-java.html
+++ b/content/docs/fr/2.7.3/client-libraries-java.html
@@ -269,7 +269,7 @@ Consumer consumer = client.newConsumer()
 <h3><a class="anchor" aria-hidden="true" id="configure-consumer"></a><a href="#configure-consumer" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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- [...]
 <p>If you instantiate a <code>Consumer</code> object by specifying only a topic and subscription name as in the example above, the consumer uses the default configuration.</p>
 <p>When you create a consumer, you can use the <code>loadConf</code> configuration. The following parameters are available in <code>loadConf</code>.</p>
-<p>Type | Name| <div style="width:300px">Description</div>|  Default |---|---|---|--- Set&lt;String&gt;|  <code>topicNames</code>|   Topic name| Sets.newTreeSet() Pattern|   <code>topicsPattern</code>| Topic pattern   |None String| <code>subscriptionName</code>| Subscription name|  None SubscriptionType| <code>subscriptionType</code>|   Subscription type <br/><br/>Four subscription types are available:<li>Exclusive</li><li>Failover</li><li>Shared</li><li>Key_Shared</li>|SubscriptionType. [...]
+<p>Type | Name| <div style="width:300px">Description</div>|  Default |---|---|---|--- Set&lt;String&gt;|  <code>topicNames</code>|   Topic name| Sets.newTreeSet() Pattern|   <code>topicsPattern</code>| Topic pattern   |None String| <code>subscriptionName</code>| Subscription name|  None SubscriptionType| <code>subscriptionType</code>|   Subscription type <br/><br/>Four subscription types are available:<li>Exclusive</li><li>Failover</li><li>Shared</li><li>Key_Shared</li>|SubscriptionType. [...]
 SortedMap&lt;String, String&gt;|<code>properties</code>|A name or value property of this consumer.<br/><br/><code>properties</code> is application defined metadata attached to a consumer. <br/><br/>When getting a topic stats, associate this metadata with the consumer stats for easier identification.|new TreeMap&lt;&gt;() boolean|<code>readCompacted</code>|If enabling <code>readCompacted</code>, a consumer reads messages from a compacted topic rather than reading a full message backlog of [...]
 <p>You can configure parameters if you do not want to use the default configuration. For a full list, see the Javadoc for the <a href="https://pulsar.incubator.apache.org/api/client/2.8.0-SNAPSHOT/org/apache/pulsar/client/api/ConsumerBuilder">ConsumerBuilder</a>
  class.</p>
@@ -298,8 +298,8 @@ SortedMap&lt;String, String&gt;|<code>properties</code>|A name or value property
 consumer.acknowledge(messages)
 </code></pre>
 <blockquote>
-<p>Note:</p>
-<p>Batch receive policy limits the number and bytes of messages in a single batch. You can specify a timeout to wait for enough messages.</p>
+<p><strong>Note</strong>  <br>
+Batch receive policy limits the number and bytes of messages in a single batch. You can specify a timeout to wait for enough messages.</p>
 <p>The batch receive is completed if any of the following condition is met: enough number of messages, bytes of messages, wait timeout.</p>
 <pre><code class="hljs css language-java">Consumer consumer = client.newConsumer()
         .topic(<span class="hljs-string">"my-topic"</span>)
@@ -390,10 +390,10 @@ consumerBuilder
             });
 }
 </code></pre>
-<h3><a class="anchor" aria-hidden="true" id="subscription-modes"></a><a href="#subscription-modes" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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- [...]
-<p>Pulsar has various <a href="concepts-messaging#subscription-modes">subscription modes</a> to match different scenarios. A topic can have multiple subscriptions with different subscription modes. However, a subscription can only have one subscription mode at a time.</p>
-<p>A subscription is identical with the subscription name which can specify only one subscription mode at a time. You cannot change the subscription mode unless all existing consumers of this subscription are offline.</p>
-<p>Different subscription modes have different message distribution modes. This section describes the differences of subscription modes and how to use them.</p>
+<h3><a class="anchor" aria-hidden="true" id="subscription-types"></a><a href="#subscription-types" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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- [...]
+<p>Pulsar has various <a href="concepts-messaging#subscription-types">subscription types</a> to match different scenarios. A topic can have multiple subscriptions with different subscription types. However, a subscription can only have one subscription type at a time.</p>
+<p>A subscription is identical with the subscription name; a subscription name can specify only one subscription type at a time. To change the subscription type, you should first stop all consumers of this subscription.</p>
+<p>Different subscription types have different message distribution modes. This section describes the differences of subscription types and how to use them.</p>
 <p>In order to better describe their differences, assuming you have a topic named &quot;my-topic&quot;, and the producer has published 10 messages.</p>
 <pre><code class="hljs css language-java">Producer&lt;String&gt; producer = client.newProducer(Schema.STRING)
         .topic(<span class="hljs-string">"my-topic"</span>)
@@ -412,7 +412,7 @@ producer.newMessage().key(<span class="hljs-string">"key-4"</span>).value(<span
 producer.newMessage().key(<span class="hljs-string">"key-4"</span>).value(<span class="hljs-string">"message-4-2"</span>).send();
 </code></pre>
 <h4><a class="anchor" aria-hidden="true" id="exclusive"></a><a href="#exclusive" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>Create a new consumer and subscribe with the <code>Exclusive</code> subscription mode.</p>
+<p>Create a new consumer and subscribe with the <code>Exclusive</code> subscription type.</p>
 <pre><code class="hljs css language-java">Consumer consumer = client.newConsumer()
         .topic(<span class="hljs-string">"my-topic"</span>)
         .subscriptionName(<span class="hljs-string">"my-subscription"</span>)
@@ -421,11 +421,11 @@ producer.newMessage().key(<span class="hljs-string">"key-4"</span>).value(<span
 </code></pre>
 <p>Only the first consumer is allowed to the subscription, other consumers receive an error. The first consumer receives all 10 messages, and the consuming order is the same as the producing order.</p>
 <blockquote>
-<p>Note:</p>
-<p>If topic is a partitioned topic, the first consumer subscribes to all partitioned topics, other consumers are not assigned with partitions and receive an error.</p>
+<p><strong>Note</strong>  <br>
+If topic is a partitioned topic, the first consumer subscribes to all partitioned topics, other consumers are not assigned with partitions and receive an error.</p>
 </blockquote>
 <h4><a class="anchor" aria-hidden="true" id="failover"></a><a href="#failover" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
-<p>Create new consumers and subscribe with the<code>Failover</code> subscription mode.</p>
+<p>Create new consumers and subscribe with the<code>Failover</code> subscription type.</p>
 <pre><code class="hljs css language-java">Consumer consumer1 = client.newConsumer()
         .topic(<span class="hljs-string">"my-topic"</span>)
         .subscriptionName(<span class="hljs-string">"my-subscription"</span>)
@@ -457,11 +457,11 @@ Consumer consumer2 = client.newConsumer()
 (<span class="hljs-string">"key-4"</span>, <span class="hljs-string">"message-4-2"</span>)
 </code></pre>
 <blockquote>
-<p>Note:</p>
-<p>If a topic is a partitioned topic, each partition has only one active consumer, messages of one partition are distributed to only one consumer, and messages of multiple partitions are distributed to multiple consumers.</p>
+<p><strong>Note</strong>  <br>
+If a topic is a partitioned topic, each partition has only one active consumer, messages of one partition are distributed to only one consumer, and messages of multiple partitions are distributed to multiple consumers.</p>
 </blockquote>
 <h4><a class="anchor" aria-hidden="true" id="shared"></a><a href="#shared" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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. [...]
-<p>Create new consumers and subscribe with <code>Shared</code> subscription mode:</p>
+<p>Create new consumers and subscribe with <code>Shared</code> subscription type.</p>
 <pre><code class="hljs css language-java">Consumer consumer1 = client.newConsumer()
         .topic(<span class="hljs-string">"my-topic"</span>)
         .subscriptionName(<span class="hljs-string">"my-subscription"</span>)
@@ -475,7 +475,7 @@ Consumer consumer2 = client.newConsumer()
         .subscribe()
 <span class="hljs-comment">//Both consumer1 and consumer 2 is active consumers.</span>
 </code></pre>
-<p>In shared subscription mode, multiple consumers can attach to the same subscription and messages are delivered in a round robin distribution across consumers.</p>
+<p>In shared subscription type, multiple consumers can attach to the same subscription and messages are delivered in a round robin distribution across consumers.</p>
 <p>If a broker dispatches only one message at a time, consumer1 receives the following information.</p>
 <pre><code class="hljs">(<span class="hljs-string">"key-1"</span>, <span class="hljs-string">"message-1-1"</span>)
 (<span class="hljs-string">"key-1"</span>, <span class="hljs-string">"message-1-3"</span>)
@@ -490,9 +490,9 @@ Consumer consumer2 = client.newConsumer()
 (<span class="hljs-string">"key-3"</span>, <span class="hljs-string">"message-3-2"</span>)
 (<span class="hljs-string">"key-4"</span>, <span class="hljs-string">"message-4-2"</span>)
 </code></pre>
-<p><code>Shared</code> subscription is different from <code>Exclusive</code> and <code>Failover</code> subscription modes. <code>Shared</code> subscription has better flexibility, but cannot provide order guarantee.</p>
+<p><code>Shared</code> subscription is different from <code>Exclusive</code> and <code>Failover</code> subscription types. <code>Shared</code> subscription has better flexibility, but cannot provide order guarantee.</p>
 <h4><a class="anchor" aria-hidden="true" id="key_shared"></a><a href="#key_shared" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>This is a new subscription mode since 2.4.0 release, create new consumers and subscribe with <code>Key_Shared</code> subscription mode.</p>
+<p>This is a new subscription type since 2.4.0 release. Create new consumers and subscribe with <code>Key_Shared</code> subscription type.</p>
 <pre><code class="hljs css language-java">Consumer consumer1 = client.newConsumer()
         .topic(<span class="hljs-string">"my-topic"</span>)
         .subscriptionName(<span class="hljs-string">"my-subscription"</span>)
@@ -534,8 +534,8 @@ Consumer consumer2 = client.newConsumer()
         .create();
 </code></pre>
 <blockquote>
-<p>Note:</p>
-<p>If the message key is not specified, messages without key are dispatched to one consumer in order by default.</p>
+<p><strong>Note</strong>  <br>
+If the message key is not specified, messages without key are dispatched to one consumer in order by default.</p>
 </blockquote>
 <h2><a class="anchor" aria-hidden="true" id="reader"></a><a href="#reader" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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. [...]
 <p>With the <a href="/docs/fr/2.7.3/concepts-clients#reader-interface">reader interface</a>, Pulsar clients can &quot;manually position&quot; themselves within a topic and reading all messages from a specified message onward. The Pulsar API for Java enables you to create <a href="https://pulsar.incubator.apache.org/api/client/2.8.0-SNAPSHOT/org/apache/pulsar/client/api/Reader">Reader</a>
@@ -711,7 +711,7 @@ PulsarClient client = PulsarClient.builder()
     .authentication(auth)
     .build();
 </code></pre>
-</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/fr/2.7.3/client-libraries"><span class="arrow-prev">← </span><span>Overview</span></a><a class="docs-next button" href="/docs/fr/2.7.3/client-libraries-go"><span>Go</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#installation">Installation</a><ul class="toc-headings"><li><a href="#maven">Maven</a></li><li><a href="#gra [...]
+</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/fr/2.7.3/client-libraries"><span class="arrow-prev">← </span><span>Overview</span></a><a class="docs-next button" href="/docs/fr/2.7.3/client-libraries-go"><span>Go</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#installation">Installation</a><ul class="toc-headings"><li><a href="#maven">Maven</a></li><li><a href="#gra [...]
       const community = document.querySelector("a[href='#community']").parentNode;
       const communityMenu =
         '<li>' +
diff --git a/content/docs/fr/2.7.3/client-libraries-java/index.html b/content/docs/fr/2.7.3/client-libraries-java/index.html
index ec98482..11ea326 100644
--- a/content/docs/fr/2.7.3/client-libraries-java/index.html
+++ b/content/docs/fr/2.7.3/client-libraries-java/index.html
@@ -269,7 +269,7 @@ Consumer consumer = client.newConsumer()
 <h3><a class="anchor" aria-hidden="true" id="configure-consumer"></a><a href="#configure-consumer" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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- [...]
 <p>If you instantiate a <code>Consumer</code> object by specifying only a topic and subscription name as in the example above, the consumer uses the default configuration.</p>
 <p>When you create a consumer, you can use the <code>loadConf</code> configuration. The following parameters are available in <code>loadConf</code>.</p>
-<p>Type | Name| <div style="width:300px">Description</div>|  Default |---|---|---|--- Set&lt;String&gt;|  <code>topicNames</code>|   Topic name| Sets.newTreeSet() Pattern|   <code>topicsPattern</code>| Topic pattern   |None String| <code>subscriptionName</code>| Subscription name|  None SubscriptionType| <code>subscriptionType</code>|   Subscription type <br/><br/>Four subscription types are available:<li>Exclusive</li><li>Failover</li><li>Shared</li><li>Key_Shared</li>|SubscriptionType. [...]
+<p>Type | Name| <div style="width:300px">Description</div>|  Default |---|---|---|--- Set&lt;String&gt;|  <code>topicNames</code>|   Topic name| Sets.newTreeSet() Pattern|   <code>topicsPattern</code>| Topic pattern   |None String| <code>subscriptionName</code>| Subscription name|  None SubscriptionType| <code>subscriptionType</code>|   Subscription type <br/><br/>Four subscription types are available:<li>Exclusive</li><li>Failover</li><li>Shared</li><li>Key_Shared</li>|SubscriptionType. [...]
 SortedMap&lt;String, String&gt;|<code>properties</code>|A name or value property of this consumer.<br/><br/><code>properties</code> is application defined metadata attached to a consumer. <br/><br/>When getting a topic stats, associate this metadata with the consumer stats for easier identification.|new TreeMap&lt;&gt;() boolean|<code>readCompacted</code>|If enabling <code>readCompacted</code>, a consumer reads messages from a compacted topic rather than reading a full message backlog of [...]
 <p>You can configure parameters if you do not want to use the default configuration. For a full list, see the Javadoc for the <a href="https://pulsar.incubator.apache.org/api/client/2.8.0-SNAPSHOT/org/apache/pulsar/client/api/ConsumerBuilder">ConsumerBuilder</a>
  class.</p>
@@ -298,8 +298,8 @@ SortedMap&lt;String, String&gt;|<code>properties</code>|A name or value property
 consumer.acknowledge(messages)
 </code></pre>
 <blockquote>
-<p>Note:</p>
-<p>Batch receive policy limits the number and bytes of messages in a single batch. You can specify a timeout to wait for enough messages.</p>
+<p><strong>Note</strong>  <br>
+Batch receive policy limits the number and bytes of messages in a single batch. You can specify a timeout to wait for enough messages.</p>
 <p>The batch receive is completed if any of the following condition is met: enough number of messages, bytes of messages, wait timeout.</p>
 <pre><code class="hljs css language-java">Consumer consumer = client.newConsumer()
         .topic(<span class="hljs-string">"my-topic"</span>)
@@ -390,10 +390,10 @@ consumerBuilder
             });
 }
 </code></pre>
-<h3><a class="anchor" aria-hidden="true" id="subscription-modes"></a><a href="#subscription-modes" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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- [...]
-<p>Pulsar has various <a href="concepts-messaging#subscription-modes">subscription modes</a> to match different scenarios. A topic can have multiple subscriptions with different subscription modes. However, a subscription can only have one subscription mode at a time.</p>
-<p>A subscription is identical with the subscription name which can specify only one subscription mode at a time. You cannot change the subscription mode unless all existing consumers of this subscription are offline.</p>
-<p>Different subscription modes have different message distribution modes. This section describes the differences of subscription modes and how to use them.</p>
+<h3><a class="anchor" aria-hidden="true" id="subscription-types"></a><a href="#subscription-types" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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- [...]
+<p>Pulsar has various <a href="concepts-messaging#subscription-types">subscription types</a> to match different scenarios. A topic can have multiple subscriptions with different subscription types. However, a subscription can only have one subscription type at a time.</p>
+<p>A subscription is identical with the subscription name; a subscription name can specify only one subscription type at a time. To change the subscription type, you should first stop all consumers of this subscription.</p>
+<p>Different subscription types have different message distribution modes. This section describes the differences of subscription types and how to use them.</p>
 <p>In order to better describe their differences, assuming you have a topic named &quot;my-topic&quot;, and the producer has published 10 messages.</p>
 <pre><code class="hljs css language-java">Producer&lt;String&gt; producer = client.newProducer(Schema.STRING)
         .topic(<span class="hljs-string">"my-topic"</span>)
@@ -412,7 +412,7 @@ producer.newMessage().key(<span class="hljs-string">"key-4"</span>).value(<span
 producer.newMessage().key(<span class="hljs-string">"key-4"</span>).value(<span class="hljs-string">"message-4-2"</span>).send();
 </code></pre>
 <h4><a class="anchor" aria-hidden="true" id="exclusive"></a><a href="#exclusive" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>Create a new consumer and subscribe with the <code>Exclusive</code> subscription mode.</p>
+<p>Create a new consumer and subscribe with the <code>Exclusive</code> subscription type.</p>
 <pre><code class="hljs css language-java">Consumer consumer = client.newConsumer()
         .topic(<span class="hljs-string">"my-topic"</span>)
         .subscriptionName(<span class="hljs-string">"my-subscription"</span>)
@@ -421,11 +421,11 @@ producer.newMessage().key(<span class="hljs-string">"key-4"</span>).value(<span
 </code></pre>
 <p>Only the first consumer is allowed to the subscription, other consumers receive an error. The first consumer receives all 10 messages, and the consuming order is the same as the producing order.</p>
 <blockquote>
-<p>Note:</p>
-<p>If topic is a partitioned topic, the first consumer subscribes to all partitioned topics, other consumers are not assigned with partitions and receive an error.</p>
+<p><strong>Note</strong>  <br>
+If topic is a partitioned topic, the first consumer subscribes to all partitioned topics, other consumers are not assigned with partitions and receive an error.</p>
 </blockquote>
 <h4><a class="anchor" aria-hidden="true" id="failover"></a><a href="#failover" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
-<p>Create new consumers and subscribe with the<code>Failover</code> subscription mode.</p>
+<p>Create new consumers and subscribe with the<code>Failover</code> subscription type.</p>
 <pre><code class="hljs css language-java">Consumer consumer1 = client.newConsumer()
         .topic(<span class="hljs-string">"my-topic"</span>)
         .subscriptionName(<span class="hljs-string">"my-subscription"</span>)
@@ -457,11 +457,11 @@ Consumer consumer2 = client.newConsumer()
 (<span class="hljs-string">"key-4"</span>, <span class="hljs-string">"message-4-2"</span>)
 </code></pre>
 <blockquote>
-<p>Note:</p>
-<p>If a topic is a partitioned topic, each partition has only one active consumer, messages of one partition are distributed to only one consumer, and messages of multiple partitions are distributed to multiple consumers.</p>
+<p><strong>Note</strong>  <br>
+If a topic is a partitioned topic, each partition has only one active consumer, messages of one partition are distributed to only one consumer, and messages of multiple partitions are distributed to multiple consumers.</p>
 </blockquote>
 <h4><a class="anchor" aria-hidden="true" id="shared"></a><a href="#shared" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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. [...]
-<p>Create new consumers and subscribe with <code>Shared</code> subscription mode:</p>
+<p>Create new consumers and subscribe with <code>Shared</code> subscription type.</p>
 <pre><code class="hljs css language-java">Consumer consumer1 = client.newConsumer()
         .topic(<span class="hljs-string">"my-topic"</span>)
         .subscriptionName(<span class="hljs-string">"my-subscription"</span>)
@@ -475,7 +475,7 @@ Consumer consumer2 = client.newConsumer()
         .subscribe()
 <span class="hljs-comment">//Both consumer1 and consumer 2 is active consumers.</span>
 </code></pre>
-<p>In shared subscription mode, multiple consumers can attach to the same subscription and messages are delivered in a round robin distribution across consumers.</p>
+<p>In shared subscription type, multiple consumers can attach to the same subscription and messages are delivered in a round robin distribution across consumers.</p>
 <p>If a broker dispatches only one message at a time, consumer1 receives the following information.</p>
 <pre><code class="hljs">(<span class="hljs-string">"key-1"</span>, <span class="hljs-string">"message-1-1"</span>)
 (<span class="hljs-string">"key-1"</span>, <span class="hljs-string">"message-1-3"</span>)
@@ -490,9 +490,9 @@ Consumer consumer2 = client.newConsumer()
 (<span class="hljs-string">"key-3"</span>, <span class="hljs-string">"message-3-2"</span>)
 (<span class="hljs-string">"key-4"</span>, <span class="hljs-string">"message-4-2"</span>)
 </code></pre>
-<p><code>Shared</code> subscription is different from <code>Exclusive</code> and <code>Failover</code> subscription modes. <code>Shared</code> subscription has better flexibility, but cannot provide order guarantee.</p>
+<p><code>Shared</code> subscription is different from <code>Exclusive</code> and <code>Failover</code> subscription types. <code>Shared</code> subscription has better flexibility, but cannot provide order guarantee.</p>
 <h4><a class="anchor" aria-hidden="true" id="key_shared"></a><a href="#key_shared" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>This is a new subscription mode since 2.4.0 release, create new consumers and subscribe with <code>Key_Shared</code> subscription mode.</p>
+<p>This is a new subscription type since 2.4.0 release. Create new consumers and subscribe with <code>Key_Shared</code> subscription type.</p>
 <pre><code class="hljs css language-java">Consumer consumer1 = client.newConsumer()
         .topic(<span class="hljs-string">"my-topic"</span>)
         .subscriptionName(<span class="hljs-string">"my-subscription"</span>)
@@ -534,8 +534,8 @@ Consumer consumer2 = client.newConsumer()
         .create();
 </code></pre>
 <blockquote>
-<p>Note:</p>
-<p>If the message key is not specified, messages without key are dispatched to one consumer in order by default.</p>
+<p><strong>Note</strong>  <br>
+If the message key is not specified, messages without key are dispatched to one consumer in order by default.</p>
 </blockquote>
 <h2><a class="anchor" aria-hidden="true" id="reader"></a><a href="#reader" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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. [...]
 <p>With the <a href="/docs/fr/2.7.3/concepts-clients#reader-interface">reader interface</a>, Pulsar clients can &quot;manually position&quot; themselves within a topic and reading all messages from a specified message onward. The Pulsar API for Java enables you to create <a href="https://pulsar.incubator.apache.org/api/client/2.8.0-SNAPSHOT/org/apache/pulsar/client/api/Reader">Reader</a>
@@ -711,7 +711,7 @@ PulsarClient client = PulsarClient.builder()
     .authentication(auth)
     .build();
 </code></pre>
-</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/fr/2.7.3/client-libraries"><span class="arrow-prev">← </span><span>Overview</span></a><a class="docs-next button" href="/docs/fr/2.7.3/client-libraries-go"><span>Go</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#installation">Installation</a><ul class="toc-headings"><li><a href="#maven">Maven</a></li><li><a href="#gra [...]
+</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/fr/2.7.3/client-libraries"><span class="arrow-prev">← </span><span>Overview</span></a><a class="docs-next button" href="/docs/fr/2.7.3/client-libraries-go"><span>Go</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#installation">Installation</a><ul class="toc-headings"><li><a href="#maven">Maven</a></li><li><a href="#gra [...]
       const community = document.querySelector("a[href='#community']").parentNode;
       const communityMenu =
         '<li>' +
diff --git a/content/docs/fr/2.7.3/concepts-messaging.html b/content/docs/fr/2.7.3/concepts-messaging.html
index 4965710..f0937ce 100644
--- a/content/docs/fr/2.7.3/concepts-messaging.html
+++ b/content/docs/fr/2.7.3/concepts-messaging.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>Messaging · Apache Pulsar</title><meta name="viewport" content="width=device-width, initial-scale=1.0"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar is built on the [publish-subscribe](https://en.wikipedia.org/wiki/Publish%E2%80%93subscribe_pattern) pattern (often abbreviated to pub-sub). In this pattern, [producers](#producers) [...]
+<!DOCTYPE html><html lang="fr"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Messaging · Apache Pulsar</title><meta name="viewport" content="width=device-width, initial-scale=1.0"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar is built on the [publish-subscribe](https://en.wikipedia.org/wiki/Publish%E2%80%93subscribe_pattern) pattern (often abbreviated to pub-sub). In this pattern, [producers](#producers) [...]
               (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,7 +74,7 @@
                 };
               }
             });
-        </script></nav></div><div class="container mainContainer docsContainer"><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 id="__docusaurus" class="postHeaderTitle">Messaging</h1></header><article><div><span><p>Pulsar is built on the <a href="https://en.wikipedia.org/wiki/Publish%E2%80%93subscribe_pattern">publish-subscribe [...]
+        </script></nav></div><div class="container mainContainer docsContainer"><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 id="__docusaurus" class="postHeaderTitle">Messaging</h1></header><article><div><span><p>Pulsar is built on the <a href="https://en.wikipedia.org/wiki/Publish%E2%80%93subscribe_pattern">publish-subscribe [...]
 <p>When a subscription is created, Pulsar <a href="/docs/fr/2.7.3/concepts-architecture-overview#persistent-storage">retains</a> all messages, even if the consumer is disconnected. Retained messages are discarded only when a consumer acknowledges that those messages are processed successfully.</p>
 <h2><a class="anchor" aria-hidden="true" id="messages"></a><a href="#messages" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
 <p>Messages are the basic &quot;unit&quot; of Pulsar. The following table lists the components of messages.</p>
@@ -128,7 +128,7 @@
 <ul>
 <li>Batching and chunking cannot be enabled simultaneously. To enable chunking, you must disable batching in advance.</li>
 <li>Chunking is only supported for persisted topics.</li>
-<li>Chunking is only supported for the exclusive and failover subscription modes.</li>
+<li>Chunking is only supported for the exclusive and failover subscription types.</li>
 </ul>
 <p>When chunking is enabled (<code>chunkingEnabled=true</code>), if the message size is greater than the allowed maximum publish-payload size, the producer splits the original message into chunked messages and publishes them with chunked metadata to the broker separately and in order. At the broker side, the chunked messages are stored in the managed-ledger in the same way as that of ordinary messages. The only difference is that the consumer needs to buffer the chunked messages and comb [...]
 <p>The consumer consumes the chunked messages and buffers them until the consumer receives all the chunks of a message. And then the consumer stitches chunked messages together and places them into the receiver-queue. Clients consume messages from the receiver-queue. Once the consumer consumes the entire large message and acknowledges it, the consumer internally sends acknowledgement of all the chunk messages associated to that large message. You can set the <code>maxPendingChuckedMessag [...]
@@ -165,13 +165,13 @@
 <li>Messages are acknowledged cumulatively. With cumulative acknowledgement, the consumer only needs to acknowledge the last message it received. All messages in the stream up to (and including) the provided message are not re-delivered to that consumer.</li>
 </ul>
 <blockquote>
-<p><strong>Note</strong> Cumulative acknowledgement cannot be used in the <a href="#subscription-modes">shared subscription mode</a>, because the shared subscription mode involves multiple consumers who have access to the same subscription. In the shared subscription mode, messages are acknowledged individually.</p>
+<p><strong>Note</strong> Cumulative acknowledgement cannot be used in <a href="#subscription-types">Shared subscription type</a>, because this subscription type involves multiple consumers which have access to the same subscription. In Shared subscription type, messages are acknowledged individually.</p>
 </blockquote>
 <h3><a class="anchor" aria-hidden="true" id="negative-acknowledgement"></a><a href="#negative-acknowledgement" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>When a consumer does not consume a message successfully at a time, and wants to consume the message again, the consumer sends a negative acknowledgement to the broker, and then the broker redelivers the message.</p>
-<p>Messages are negatively acknowledged one by one or cumulatively, which depends on the consumption subscription mode.</p>
-<p>In the exclusive and failover subscription modes, consumers only negatively acknowledge the last message they receive.</p>
-<p>In the shared and Key_Shared subscription modes, you can negatively acknowledge messages individually.</p>
+<p>Messages are negatively acknowledged either individually or cumulatively, depending on the consumption subscription type.</p>
+<p>In the exclusive and failover subscription types, consumers only negatively acknowledge the last message they receive.</p>
+<p>In the shared and Key_Shared subscription types, you can negatively acknowledge messages individually.</p>
 <p>Be aware that negative acknowledgment on ordered subscription types, such as Exclusive, Failover and Key_Shared, can cause failed messages to arrive consumers out of the original order.</p>
 <blockquote>
 <p><strong>Note</strong> If batching is enabled, other messages and the negatively acknowledged messages in the same batch are redelivered to the consumer.</p>
@@ -216,7 +216,7 @@ Prefer negative acknowledgements over acknowledgement timeout. Negative acknowle
 <p>Dead letter topic depends on message re-delivery. Messages are redelivered either due to <a href="#acknowledgement-timeout">acknowledgement timeout</a> or <a href="#negative-acknowledgement">negative acknowledgement</a>. If you are going to use negative acknowledgement on a message, make sure it is negatively acknowledged before the acknowledgement timeout.</p>
 <blockquote>
 <p><strong>Note</strong>    <br>
-Currently, dead letter topic is enabled only in the shared subscription mode.</p>
+Currently, dead letter topic is enabled only in Shared subscription type.</p>
 </blockquote>
 <h3><a class="anchor" aria-hidden="true" id="retry-letter-topic"></a><a href="#retry-letter-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- [...]
 <p>For many online business systems, a message is re-consumed due to exception occurs in the business logic processing. To configure the delay time for re-consuming the failed messages, you can configure the producer to send messages to both the business topic and the retry letter topic, and enable automatic retry on the consumer. When automatic retry is enabled on the consumer, a message is stored in the retry letter topic if the messages are not consumed, and therefore the consumer aut [...]
@@ -256,22 +256,22 @@ Currently, dead letter topic is enabled only in the shared subscription mode.</p
 <h2><a class="anchor" aria-hidden="true" id="espaces-de-nommage"></a><a href="#espaces-de-nommage" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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- [...]
 <p>A namespace is a logical nomenclature within a tenant. A tenant creates multiple namespaces via the <a href="/docs/fr/2.7.3/admin-api-namespaces#create">admin API</a>. For instance, a tenant with different applications can create a separate namespace for each application. A namespace allows the application to create and manage a hierarchy of topics. The topic <code>my-tenant/app1</code> is a namespace for the application <code>app1</code> for <code>my-tenant</code>. You can create any [...]
 <h2><a class="anchor" aria-hidden="true" id="subscriptions"></a><a href="#subscriptions" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>A subscription is a named configuration rule that determines how messages are delivered to consumers. Four subscription modes are available in Pulsar: <a href="#exclusive">exclusive</a>, <a href="#shared">shared</a>, <a href="#failover">failover</a>, and <a href="#key_shared">key_shared</a>. These modes are illustrated in the figure below.</p>
-<p><img src="/docs/assets/pulsar-subscription-modes.png" alt="Subscription modes"></p>
+<p>A subscription is a named configuration rule that determines how messages are delivered to consumers. Four subscription types are available in Pulsar: <a href="#exclusive">exclusive</a>, <a href="#shared">shared</a>, <a href="#failover">failover</a>, and <a href="#key_shared">key_shared</a>. These types are illustrated in the figure below.</p>
+<p><img src="/docs/assets/pulsar-subscription-types.png" alt="Subscription types"></p>
 <blockquote>
-<p><strong>Pub-Sub or Queuing</strong> In Pulsar, you can use different subscriptions flexibly. * If you want to achieve traditional &quot;fan-out pub-sub messaging&quot; among consumers, specify a unique subscription name for each consumer. It is exclusive subscription mode. * If you want to achieve &quot;message queuing&quot; among consumers, share the same subscription name among multiple consumers(shared, failover, key_shared). * If you want to achieve both effects simultaneously, co [...]
+<p><strong>Pub-Sub or Queuing</strong> In Pulsar, you can use different subscriptions flexibly. * If you want to achieve traditional &quot;fan-out pub-sub messaging&quot; among consumers, specify a unique subscription name for each consumer. It is exclusive subscription type. * If you want to achieve &quot;message queuing&quot; among consumers, share the same subscription name among multiple consumers(shared, failover, key_shared). * If you want to achieve both effects simultaneously, co [...]
 </blockquote>
-<h3><a class="anchor" aria-hidden="true" id="consumerless-subscriptions-and-their-corresponding-modes"></a><a href="#consumerless-subscriptions-and-their-corresponding-modes" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.2 [...]
-<p>When a subscription has no consumers, its subscription mode is undefined. A subscription's mode is defined when a consumer connects to the subscription, and the mode can be changed by restarting all consumers with a different configuration.</p>
+<h3><a class="anchor" aria-hidden="true" id="consumerless-subscriptions-and-their-corresponding-types"></a><a href="#consumerless-subscriptions-and-their-corresponding-types" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.2 [...]
+<p>When a subscription has no consumers, its subscription type is undefined. The type of a subscription is defined when a consumer connects to it, and the type can be changed by restarting all consumers with a different configuration.</p>
 <h3><a class="anchor" aria-hidden="true" id="exclusive"></a><a href="#exclusive" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>In <em>exclusive</em> mode, only a single consumer is allowed to attach to the subscription. If multiple consumers subscribe to a topic using the same subscription, an error occurs.</p>
+<p>In <em>exclusive</em> type, only a single consumer is allowed to attach to the subscription. If multiple consumers subscribe to a topic using the same subscription, an error occurs.</p>
 <p>In the diagram below, only <strong>Consumer A-0</strong> is allowed to consume messages.</p>
 <blockquote>
-<p>Exclusive mode is the default subscription mode.</p>
+<p>Exclusive is the default subscription type.</p>
 </blockquote>
 <p><img src="/docs/assets/pulsar-exclusive-subscriptions.png" alt="Exclusive subscriptions"></p>
 <h3><a class="anchor" aria-hidden="true" id="failover"></a><a href="#failover" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
-<p>In <em>failover</em> mode, multiple consumers can attach to the same subscription. A master consumer is picked for non-partitioned topic or each partition of partitioned topic and receives messages. When the master consumer disconnects, all (non-acknowledged and subsequent) messages are delivered to the next consumer in line.</p>
+<p>In <em>Failover</em> type, multiple consumers can attach to the same subscription. A master consumer is picked for non-partitioned topic or each partition of partitioned topic and receives messages. When the master consumer disconnects, all (non-acknowledged and subsequent) messages are delivered to the next consumer in line.</p>
 <p>For partitioned topics, broker will sort consumers by priority level and lexicographical order of consumer name. Then broker will try to evenly assigns topics to consumers with the highest priority level.</p>
 <p>For non-partitioned topic, broker will pick consumer in the order they subscribe to the non partitioned topic.</p>
 <p>In the diagram below, <strong>Consumer-B-0</strong> is the master consumer while <strong>Consumer-B-1</strong> would be the next consumer in line to receive messages if <strong>Consumer-B-0</strong> is disconnected.</p>
@@ -332,9 +332,9 @@ Consumer&lt;<span class="hljs-keyword">byte</span>[]&gt; someTopicsConsumer = pu
 <p>The diagram below illustrates this:</p>
 <p><img src="/docs/assets/partitioning.png" alt=""></p>
 <p>The <strong>Topic1</strong> topic has five partitions (<strong>P0</strong> through <strong>P4</strong>) split across three brokers. Because there are more partitions than brokers, two brokers handle two partitions a piece, while the third handles only one (again, Pulsar handles this distribution of partitions automatically).</p>
-<p>Messages for this topic are broadcast to two consumers. The <a href="#routing-modes">routing mode</a> determines each message should be published to which partition, while the <a href="#subscription-modes">subscription mode</a> determines which messages go to which consumers.</p>
-<p>Decisions about routing and subscription modes can be made separately in most cases. In general, throughput concerns should guide partitioning/routing decisions while subscription decisions should be guided by application semantics.</p>
-<p>There is no difference between partitioned topics and normal topics in terms of how subscription modes work, as partitioning only determines what happens between when a message is published by a producer and processed and acknowledged by a consumer.</p>
+<p>Messages for this topic are broadcast to two consumers. The <a href="#routing-modes">routing mode</a> determines each message should be published to which partition, while the <a href="#subscription-types">subscription type</a> determines which messages go to which consumers.</p>
+<p>Decisions about routing and subscription types can be made separately in most cases. In general, throughput concerns should guide partitioning/routing decisions while subscription decisions should be guided by application semantics.</p>
+<p>There is no difference between partitioned topics and normal topics in terms of how subscription types work, as partitioning only determines what happens between when a message is published by a producer and processed and acknowledged by a consumer.</p>
 <p>Partitioned topics need to be explicitly created via the <a href="/docs/fr/2.7.3/admin-api-overview">admin API</a>. The number of partitions can be specified when creating the topic.</p>
 <h3><a class="anchor" aria-hidden="true" id="routing-modes"></a><a href="#routing-modes" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>When publishing to partitioned topics, you must specify a <em>routing mode</em>. The routing mode determines which partition---that is, which internal topic---each message should be published to.</p>
@@ -386,7 +386,7 @@ Consumer&lt;<span class="hljs-keyword">byte</span>[]&gt; someTopicsConsumer = pu
 <h3><a class="anchor" aria-hidden="true" id="performance"></a><a href="#performance" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>Non-persistent messaging is usually faster than persistent messaging because brokers don't persist messages and immediately send acks back to the producer as soon as that message is delivered to connected brokers. Producers thus see comparatively low publish latency with non-persistent topic.</p>
 <h3><a class="anchor" aria-hidden="true" id="client-api"></a><a href="#client-api" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>Producers and consumers can connect to non-persistent topics in the same way as persistent topics, with the crucial difference that the topic name must start with <code>non-persistent</code>. All three subscription modes---<a href="#exclusive">exclusive</a>, <a href="#shared">shared</a>, and <a href="#failover">failover</a>---are supported for non-persistent topics.</p>
+<p>Producers and consumers can connect to non-persistent topics in the same way as persistent topics, with the crucial difference that the topic name must start with <code>non-persistent</code>. All three subscription types---<a href="#exclusive">exclusive</a>, <a href="#shared">shared</a>, and <a href="#failover">failover</a>---are supported for non-persistent topics.</p>
 <p>Here's an example <a href="/docs/fr/2.7.3/client-libraries-java#consumers">Java consumer</a> for a non-persistent topic:</p>
 <pre><code class="hljs css language-java">PulsarClient client = PulsarClient.builder()
         .serviceUrl(<span class="hljs-string">"pulsar://localhost:6650"</span>)
@@ -440,7 +440,7 @@ Consumer&lt;<span class="hljs-keyword">byte</span>[]&gt; consumer = client.newCo
 </blockquote>
 <h2><a class="anchor" aria-hidden="true" id="delayed-message-delivery"></a><a href="#delayed-message-delivery" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>Delayed message delivery enables you to consume a message later rather than immediately. In this mechanism, a message is stored in BookKeeper, <code>DelayedDeliveryTracker</code> maintains the time index(time -&gt; messageId) in memory after published to a broker, and it is delivered to a consumer once the specific delayed time is passed.</p>
-<p>Delayed message delivery only works in Shared subscription mode. In Exclusive and Failover subscription modes, the delayed message is dispatched immediately.</p>
+<p>Delayed message delivery only works in Shared subscription type. In Exclusive and Failover subscription types, the delayed message is dispatched immediately.</p>
 <p>The diagram below illustrates the concept of delayed message delivery:</p>
 <p><img src="/docs/assets/message_delay.png" alt="Delayed Message Delivery"></p>
 <p>A broker saves a message without any check. When a consumer consumes a message, if the message is set to delay, then the message is added to <code>DelayedDeliveryTracker</code>. A subscription checks and gets timeout messages from <code>DelayedDeliveryTracker</code>.</p>
@@ -460,7 +460,7 @@ Consumer&lt;<span class="hljs-keyword">byte</span>[]&gt; consumer = client.newCo
 <pre><code class="hljs css language-java"><span class="hljs-comment">// message to be delivered at the configured delay interval</span>
 producer.newMessage().deliverAfter(<span class="hljs-number">3L</span>, TimeUnit.Minute).value(<span class="hljs-string">"Hello Pulsar!"</span>).send();
 </code></pre>
-</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/fr/2.7.3/concepts-overview"><span class="arrow-prev">← </span><span>Overview</span></a><a class="docs-next button" href="/docs/fr/2.7.3/concepts-architecture-overview"><span>Architecture</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#messages">Messages</a></li><li><a href="#producers">Producers</a><ul class="toc-headi [...]
+</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/fr/2.7.3/concepts-overview"><span class="arrow-prev">← </span><span>Overview</span></a><a class="docs-next button" href="/docs/fr/2.7.3/concepts-architecture-overview"><span>Architecture</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#messages">Messages</a></li><li><a href="#producers">Producers</a><ul class="toc-headi [...]
       const community = document.querySelector("a[href='#community']").parentNode;
       const communityMenu =
         '<li>' +
diff --git a/content/docs/fr/2.7.3/concepts-messaging/index.html b/content/docs/fr/2.7.3/concepts-messaging/index.html
index 4965710..f0937ce 100644
--- a/content/docs/fr/2.7.3/concepts-messaging/index.html
+++ b/content/docs/fr/2.7.3/concepts-messaging/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>Messaging · Apache Pulsar</title><meta name="viewport" content="width=device-width, initial-scale=1.0"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar is built on the [publish-subscribe](https://en.wikipedia.org/wiki/Publish%E2%80%93subscribe_pattern) pattern (often abbreviated to pub-sub). In this pattern, [producers](#producers) [...]
+<!DOCTYPE html><html lang="fr"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Messaging · Apache Pulsar</title><meta name="viewport" content="width=device-width, initial-scale=1.0"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar is built on the [publish-subscribe](https://en.wikipedia.org/wiki/Publish%E2%80%93subscribe_pattern) pattern (often abbreviated to pub-sub). In this pattern, [producers](#producers) [...]
               (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,7 +74,7 @@
                 };
               }
             });
-        </script></nav></div><div class="container mainContainer docsContainer"><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 id="__docusaurus" class="postHeaderTitle">Messaging</h1></header><article><div><span><p>Pulsar is built on the <a href="https://en.wikipedia.org/wiki/Publish%E2%80%93subscribe_pattern">publish-subscribe [...]
+        </script></nav></div><div class="container mainContainer docsContainer"><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 id="__docusaurus" class="postHeaderTitle">Messaging</h1></header><article><div><span><p>Pulsar is built on the <a href="https://en.wikipedia.org/wiki/Publish%E2%80%93subscribe_pattern">publish-subscribe [...]
 <p>When a subscription is created, Pulsar <a href="/docs/fr/2.7.3/concepts-architecture-overview#persistent-storage">retains</a> all messages, even if the consumer is disconnected. Retained messages are discarded only when a consumer acknowledges that those messages are processed successfully.</p>
 <h2><a class="anchor" aria-hidden="true" id="messages"></a><a href="#messages" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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  [...]
 <p>Messages are the basic &quot;unit&quot; of Pulsar. The following table lists the components of messages.</p>
@@ -128,7 +128,7 @@
 <ul>
 <li>Batching and chunking cannot be enabled simultaneously. To enable chunking, you must disable batching in advance.</li>
 <li>Chunking is only supported for persisted topics.</li>
-<li>Chunking is only supported for the exclusive and failover subscription modes.</li>
+<li>Chunking is only supported for the exclusive and failover subscription types.</li>
 </ul>
 <p>When chunking is enabled (<code>chunkingEnabled=true</code>), if the message size is greater than the allowed maximum publish-payload size, the producer splits the original message into chunked messages and publishes them with chunked metadata to the broker separately and in order. At the broker side, the chunked messages are stored in the managed-ledger in the same way as that of ordinary messages. The only difference is that the consumer needs to buffer the chunked messages and comb [...]
 <p>The consumer consumes the chunked messages and buffers them until the consumer receives all the chunks of a message. And then the consumer stitches chunked messages together and places them into the receiver-queue. Clients consume messages from the receiver-queue. Once the consumer consumes the entire large message and acknowledges it, the consumer internally sends acknowledgement of all the chunk messages associated to that large message. You can set the <code>maxPendingChuckedMessag [...]
@@ -165,13 +165,13 @@
 <li>Messages are acknowledged cumulatively. With cumulative acknowledgement, the consumer only needs to acknowledge the last message it received. All messages in the stream up to (and including) the provided message are not re-delivered to that consumer.</li>
 </ul>
 <blockquote>
-<p><strong>Note</strong> Cumulative acknowledgement cannot be used in the <a href="#subscription-modes">shared subscription mode</a>, because the shared subscription mode involves multiple consumers who have access to the same subscription. In the shared subscription mode, messages are acknowledged individually.</p>
+<p><strong>Note</strong> Cumulative acknowledgement cannot be used in <a href="#subscription-types">Shared subscription type</a>, because this subscription type involves multiple consumers which have access to the same subscription. In Shared subscription type, messages are acknowledged individually.</p>
 </blockquote>
 <h3><a class="anchor" aria-hidden="true" id="negative-acknowledgement"></a><a href="#negative-acknowledgement" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>When a consumer does not consume a message successfully at a time, and wants to consume the message again, the consumer sends a negative acknowledgement to the broker, and then the broker redelivers the message.</p>
-<p>Messages are negatively acknowledged one by one or cumulatively, which depends on the consumption subscription mode.</p>
-<p>In the exclusive and failover subscription modes, consumers only negatively acknowledge the last message they receive.</p>
-<p>In the shared and Key_Shared subscription modes, you can negatively acknowledge messages individually.</p>
+<p>Messages are negatively acknowledged either individually or cumulatively, depending on the consumption subscription type.</p>
+<p>In the exclusive and failover subscription types, consumers only negatively acknowledge the last message they receive.</p>
+<p>In the shared and Key_Shared subscription types, you can negatively acknowledge messages individually.</p>
 <p>Be aware that negative acknowledgment on ordered subscription types, such as Exclusive, Failover and Key_Shared, can cause failed messages to arrive consumers out of the original order.</p>
 <blockquote>
 <p><strong>Note</strong> If batching is enabled, other messages and the negatively acknowledged messages in the same batch are redelivered to the consumer.</p>
@@ -216,7 +216,7 @@ Prefer negative acknowledgements over acknowledgement timeout. Negative acknowle
 <p>Dead letter topic depends on message re-delivery. Messages are redelivered either due to <a href="#acknowledgement-timeout">acknowledgement timeout</a> or <a href="#negative-acknowledgement">negative acknowledgement</a>. If you are going to use negative acknowledgement on a message, make sure it is negatively acknowledged before the acknowledgement timeout.</p>
 <blockquote>
 <p><strong>Note</strong>    <br>
-Currently, dead letter topic is enabled only in the shared subscription mode.</p>
+Currently, dead letter topic is enabled only in Shared subscription type.</p>
 </blockquote>
 <h3><a class="anchor" aria-hidden="true" id="retry-letter-topic"></a><a href="#retry-letter-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- [...]
 <p>For many online business systems, a message is re-consumed due to exception occurs in the business logic processing. To configure the delay time for re-consuming the failed messages, you can configure the producer to send messages to both the business topic and the retry letter topic, and enable automatic retry on the consumer. When automatic retry is enabled on the consumer, a message is stored in the retry letter topic if the messages are not consumed, and therefore the consumer aut [...]
@@ -256,22 +256,22 @@ Currently, dead letter topic is enabled only in the shared subscription mode.</p
 <h2><a class="anchor" aria-hidden="true" id="espaces-de-nommage"></a><a href="#espaces-de-nommage" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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- [...]
 <p>A namespace is a logical nomenclature within a tenant. A tenant creates multiple namespaces via the <a href="/docs/fr/2.7.3/admin-api-namespaces#create">admin API</a>. For instance, a tenant with different applications can create a separate namespace for each application. A namespace allows the application to create and manage a hierarchy of topics. The topic <code>my-tenant/app1</code> is a namespace for the application <code>app1</code> for <code>my-tenant</code>. You can create any [...]
 <h2><a class="anchor" aria-hidden="true" id="subscriptions"></a><a href="#subscriptions" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.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>A subscription is a named configuration rule that determines how messages are delivered to consumers. Four subscription modes are available in Pulsar: <a href="#exclusive">exclusive</a>, <a href="#shared">shared</a>, <a href="#failover">failover</a>, and <a href="#key_shared">key_shared</a>. These modes are illustrated in the figure below.</p>
-<p><img src="/docs/assets/pulsar-subscription-modes.png" alt="Subscription modes"></p>
+<p>A subscription is a named configuration rule that determines how messages are delivered to consumers. Four subscription types are available in Pulsar: <a href="#exclusive">exclusive</a>, <a href="#shared">shared</a>, <a href="#failover">failover</a>, and <a href="#key_shared">key_shared</a>. These types are illustrated in the figure below.</p>
+<p><img src="/docs/assets/pulsar-subscription-types.png" alt="Subscription types"></p>
 <blockquote>
... 66820 lines suppressed ...