diff --git a/apps/emqx/i18n/emqx_schema_i18n.conf b/apps/emqx/i18n/emqx_schema_i18n.conf index bd507a5bf..5765e18a4 100644 --- a/apps/emqx/i18n/emqx_schema_i18n.conf +++ b/apps/emqx/i18n/emqx_schema_i18n.conf @@ -604,8 +604,12 @@ mqtt 下所有的配置作为全局的默认值存在,它可以被 zone< mqtt_idle_timeout { desc { - en: """Close TCP connections from the clients that have not sent MQTT CONNECT message within this interval.""" - zh: """关闭在此时间间隔内未发送 MQTT CONNECT 消息的客户端的 TCP 连接。""" + en: """After the TCP connection is established, if the MQTT CONNECT packet from the client is not received within the time specified by idle_timeout, the connection will be disconnected.""" + zh: """TCP 连接建立后,如果在 idle_timeout 指定的时间内未收到客户端的 MQTT CONNECT 报文,则连接将被断开。""" + } + label: { + en: """Idle Timeout""" + zh: """空闲超时""" } } @@ -614,19 +618,31 @@ mqtt 下所有的配置作为全局的默认值存在,它可以被 zone< en: """Maximum MQTT packet size allowed.""" zh: """允许的最大 MQTT 报文大小。""" } + label: { + en: """Max Packet Size""" + zh: """最大报文大小""" + } } mqtt_max_clientid_len { desc { - en: """Maximum allowed length of MQTT clientId.""" - zh: """允许的最大 MQTT Client ID 长度""" + en: """Maximum allowed length of MQTT Client ID.""" + zh: """允许的最大 MQTT Client ID 长度。""" + } + label: { + en: """Max Client ID Length""" + zh: """最大 Client ID 长度""" } } mqtt_max_topic_levels { desc { en: """Maximum topic levels allowed.""" - zh: """允许的 Topic 最大层级数""" + zh: """允许的最大主题层级。""" + } + label: { + en: """Max Topic Levels""" + zh: """最大主题层级""" } } @@ -635,40 +651,64 @@ mqtt 下所有的配置作为全局的默认值存在,它可以被 zone< en: """Maximum QoS allowed.""" zh: """允许的最大 QoS 等级。""" } + label: { + en: """Max QoS""" + zh: """最大 QoS""" + } } mqtt_max_topic_alias { desc { - en: """Maximum Topic Alias, 0 means no topic alias supported.""" + en: """Maximum topic alias, 0 means no topic alias supported.""" zh: """允许的最大主题别名数,0 表示不支持主题别名。""" } + label: { + en: """Max Topic Alias""" + zh: """最大主题别名""" + } } mqtt_retain_available { desc { - en: """Support MQTT retained messages.""" - zh: """是否支持 retained 消息。""" + en: """Whether to enable support for MQTT retained message.""" + zh: """是否启用对 MQTT 保留消息的支持。""" + } + label: { + en: """Retain Available""" + zh: """保留消息可用""" } } mqtt_wildcard_subscription { desc { - en: """Support MQTT Wildcard Subscriptions.""" - zh: """是否支持主题的通配符订阅。""" + en: """Whether to enable support for MQTT wildcard subscription.""" + zh: """是否启用对 MQTT 通配符订阅的支持。""" + } + label: { + en: """Wildcard Subscription Available""" + zh: """通配符订阅可用""" } } mqtt_shared_subscription { desc { - en: """Support MQTT Shared Subscriptions.""" - zh: """是否支持 MQTT 共享订阅""" + en: """Whether to enable support for MQTT shared subscription.""" + zh: """是否启用对 MQTT 共享订阅的支持。""" + } + label: { + en: """Shared Subscription Available""" + zh: """共享订阅可用""" } } mqtt_ignore_loop_deliver { desc { - en: """Ignore loop delivery of messages for MQTT v3.1.1/v3.1.0.""" - zh: """是否为 MQTT v3.1.1/v3.1.0 客户端忽略接收自己发布出消息""" + en: """Ignore loop delivery of messages for MQTT v3.1.1/v3.1.0, similar to No Local subscription option in MQTT 5.0""" + zh: """是否为 MQTT v3.1.1/v3.1.0 客户端忽略投递自己发布的消息,类似于 MQTT 5.0 中的 No Local 订阅选项""" + } + label: { + en: """Ignore Loop Deliver""" + zh: """忽略循环投递""" } } @@ -679,35 +719,53 @@ When set to true, invalid utf8 strings in for example client ID, topic name, etc zh: """是否以严格模式解析 MQTT 消息。 当设置为 true 时,例如客户端 ID、主题名称等中的无效 utf8 字符串将导致客户端断开连接。""" } + label: { + en: """Strict Mode""" + zh: """严格模式""" + } } mqtt_response_information { desc { - en: """Specify the response information returned to the client. This feature is disabled if is set to \"\".""" - zh: """指定返回给客户端的响应信息。如果设置为 \"\",则禁用此功能。""" + en: """Specify the response information returned to the client. This feature is disabled if is set to \"\". Applies only to clients using MQTT 5.0.""" + zh: """指定返回给客户端的响应信息。如果设置为 \"\",则禁用此功能。仅适用于使用 MQTT 5.0 协议的客户端。""" + } + label: { + en: """Response Information""" + zh: """响应信息""" } } mqtt_server_keepalive { desc { - en: """'Server Keep Alive' of MQTT 5.0. -If the server returns a 'Server Keep Alive' in the CONNACK packet, the client MUST use that value instead of the value it sent as the 'Keep Alive'.""" - zh: """MQTT 5.0 的 'Server Keep Alive' 属性。 -如果服务器在 CONNACK 数据包中返回'Server Keep Alive',则客户端必须使用该值作为实际的 'Keep Alive' 值。""" + en: """The keep alive that EMQX requires the client to use. If configured as disabled, it means that the keep alive specified by the client will be used. Requires Server Keep Alive in MQTT 5.0, so it is only applicable to clients using MQTT 5.0 protocol.""" + zh: """EMQX 要求客户端使用的保活时间,配置为 disabled 表示将使用客户端指定的保活时间。需要用到 MQTT 5.0 中的 Server Keep Alive,因此仅适用于使用 MQTT 5.0 协议的客户端。""" + } + label: { + en: """Server Keep Alive""" + zh: """服务端保持连接""" } } mqtt_keepalive_backoff { desc { - en: """The backoff for MQTT keepalive timeout. The broker will close the connection after idling for 'Keepalive * backoff * 2'.""" - zh: """Broker 判定客户端 Keep Alive 超时的退避乘数。EMQX 将在'Keepalive * backoff * 2' 空闲后关闭连接。""" + en: """The backoff multiplier used by the broker to determine the client keep alive timeout. If EMQX doesn't receive any packet in Keep Alive * Backoff * 2 seconds, EMQX will close the current connection.""" + zh: """Broker 判定客户端保活超时使用的退避乘数。如果 EMQX 在 Keep Alive * Backoff * 2 秒内未收到任何报文,EMQX 将关闭当前连接。""" + } + label: { + en: """Keep Alive Backoff""" + zh: """保持连接退避乘数""" } } mqtt_max_subscriptions { desc { - en: """Maximum number of subscriptions allowed.""" - zh: """允许的每个客户端最大订阅数""" + en: """Maximum number of subscriptions allowed per client.""" + zh: """允许每个客户端建立的最大订阅数量。""" + } + label: { + en: """Max Subscriptions""" + zh: """最大订阅数量""" } } @@ -716,40 +774,65 @@ If the server returns a 'Server Keep Alive' in the CONNACK packet, the client MU en: """Force upgrade of QoS level according to subscription.""" zh: """投递消息时,是否根据订阅主题时的 QoS 等级来强制提升派发的消息的 QoS 等级。""" } + label: { + en: """Upgrade QoS""" + zh: """升级 QoS""" + } } mqtt_max_inflight { desc { - en: """Maximum size of the Inflight Window storing QoS1/2 messages delivered but un-acked.""" - zh: """飞行窗口的最大值。""" + en: """Maximum number of QoS 1 and QoS 2 messages that are allowed to be delivered simultaneously before completing the acknowledgment.""" + zh: """允许在完成应答前同时投递的 QoS 1 和 QoS 2 消息的最大数量。""" } + label: { + en: """Max Inflight""" + zh: """最大飞行窗口""" + } + } mqtt_retry_interval { desc { - en: """Retry interval for QoS1/2 message delivering.""" - zh: """QoS1/2 消息的重新投递间隔。""" + en: """Retry interval for QoS 1/2 message delivering.""" + zh: """QoS 1/2 消息的重新投递间隔。""" + } + label: { + en: """Retry Interval""" + zh: """重试间隔""" } } mqtt_max_awaiting_rel { desc { - en: """Maximum QoS2 packets (Client -> Broker) awaiting PUBREL.""" + en: """Maximum QoS 2 packets (Client -> Broker) awaiting PUBREL.""" zh: """PUBREL (Client -> Broker) 最大等待队列长度。""" } + label: { + en: """Max Awaiting PUBREL""" + zh: """Max Awaiting PUBREL""" + } } mqtt_await_rel_timeout { desc { - en: """The QoS2 messages (Client -> Broker) will be dropped if awaiting PUBREL timeout.""" + en: """The QoS 2 messages (Client -> Broker) will be dropped if awaiting PUBREL timeout.""" zh: """PUBREL (Client -> Broker) 最大等待时间,超时则会被丢弃。""" } + label: { + en: """Max Awaiting PUBREL TIMEOUT""" + zh: """Max Awaiting PUBREL TIMEOUT""" + } } mqtt_session_expiry_interval { desc { - en: """Default session expiry interval for MQTT V3.1.1 connections.""" - zh: """Session 默认超时时间。""" + en: """Specifies how long the session will expire after the connection is disconnected, only for non-MQTT 5.0 connections.""" + zh: """指定会话将在连接断开后多久过期,仅适用于非 MQTT 5.0 的连接。""" + } + label: { + en: """Session Expiry Interval""" + zh: """会话过期间隔""" } } @@ -758,6 +841,10 @@ If the server returns a 'Server Keep Alive' in the CONNACK packet, the client MU en: """Maximum queue length. Enqueued messages when persistent client disconnected, or inflight window is full.""" zh: """消息队列最大长度。持久客户端断开连接或飞行窗口已满时排队的消息长度。""" } + label: { + en: """Max Message Queue Length""" + zh: """最大消息队列长度""" + } } mqtt_mqueue_priorities { @@ -783,42 +870,96 @@ To configure \"topic/1\" > \"topic/2\": mqueue_priorities: {\"topic/1\": 10, \"topic/2\": 8} """ } + label: { + en: """Topic Priorities""" + zh: """主题优先级""" + } } mqtt_mqueue_default_priority { desc { - en: """Default to the highest priority for topics not matching priority table.""" - zh: """主题默认的优先级,不在 mqtt.mqueue_priorities 中的主题将会使用该优先级。""" + en: """Default topic priority, which will be used by topics not in Topic Priorities (mqueue_priorities).""" + zh: """默认的主题优先级,不在 主题优先级mqueue_priorities) 中的主题将会使用该优先级。""" + } + label: { + en: """Default Topic Priorities""" + zh: """默认主题优先级""" } } mqtt_mqueue_store_qos0 { desc { - en: """Support enqueue QoS0 messages.""" - zh: """消息队列是否存储 QoS0 消息。""" + en: """Specifies whether to store QoS 0 messages in the message queue while the connection is down but the session remains.""" + zh: """指定在连接断开但会话保持期间,是否需要在消息队列中存储 QoS 0 消息。""" + } + label: { + en: """Store QoS 0 Message""" + zh: """存储 QoS 0 消息""" } } mqtt_use_username_as_clientid { desc { - en: """Replace client ID with the username.""" - zh: """是否使用 Username 替换 Client ID。""" + en: """Whether to user Client ID as Username. +This setting takes effect later than Use Peer Certificate as Username (peer_cert_as_username) and Use peer certificate as Client ID (peer_cert_as_clientid). +""" + zh: """是否使用用户名作为客户端 ID。 +此设置的作用时间晚于 使用对端证书作为用户名peer_cert_as_username) 和 使用对端证书作为客户端 IDpeer_cert_as_clientid)。 +""" + } + label: { + en: """Use Username as Client ID""" + zh: """使用用户名作为客户端 ID""" } } mqtt_peer_cert_as_username { desc { - en: """Use the CN, DN or CRT field from the client certificate as a username. -Only works for the TLS connection.""" - zh: """使用客户端证书中的 CN, DN 字段或整个证书来作为客户端用户名。""" + en: """Use the CN, DN field in the peer certificate or the entire certificate content as Username. Only works for the TLS connection. +Supported configurations are the following: +- cn: Take the CN field of the certificate as Username +- dn: Take the DN field of the certificate as Username +- crt: Take the content of the DER or PEM certificate as Username +- pem: Convert DER certificate content to PEM format as Username +- md5: Take the MD5 value of the content of the DER or PEM certificate as Username +""" + zh: """使用对端证书中的 CN, DN 字段或整个证书内容来作为用户名。仅适用于 TLS 连接。 +目前支持配置为以下内容: +- cn: 取证书的 CN 字段作为 Username +- dn: 取证书的 DN 字段作为 Username +- crt: 取 DERPEM 证书的内容作为 Username +- pem: 将 DER 证书内容转换为 PEM 格式后作为 Username +- md5: 取 DERPEM 证书的内容的 MD5 值作为 Username +""" + } + label: { + en: """Use Peer Certificate as Username""" + zh: """使用对端证书作为用户名""" } } mqtt_peer_cert_as_clientid { desc { - en: """Use the CN, DN or CRT field from the client certificate as a clientid. -Only works for the TLS connection.""" - zh: """使用客户端证书中的 CN, DN 字段或整个证书来作为客户端 ID。""" + en: """Use the CN, DN field in the peer certificate or the entire certificate content as Client ID. Only works for the TLS connection. +Supported configurations are the following: +- cn: Take the CN field of the certificate as Client ID +- dn: Take the DN field of the certificate as Client ID +- crt: Take the content of the DER or PEM certificate as Client ID +- pem: Convert DER certificate content to PEM format as Client ID +- md5: Take the MD5 value of the content of the DER or PEM certificate as Client ID +""" + zh: """使用对端证书中的 CN, DN 字段或整个证书内容来作为客户端 ID。仅适用于 TLS 连接。 +目前支持配置为以下内容: +- cn: 取证书的 CN 字段作为 Client ID +- dn: 取证书的 DN 字段作为 Client ID +- crt: 取 DERPEM 证书的内容作为 Client ID +- pem: 将 DER 证书内容转换为 PEM 格式后作为 Client ID +- md5: 取 DERPEM 证书的内容的 MD5 值作为 Client ID +""" + } + label: { + en: """Use Peer Certificate as Client ID""" + zh: """使用对端证书作为客户端 ID""" } } @@ -874,11 +1015,11 @@ Only works for the TLS connection.""" broker_shared_dispatch_ack_enabled { desc { - en: """Enable/disable shared dispatch acknowledgement for QoS1 and QoS2 messages. + en: """Enable/disable shared dispatch acknowledgement for QoS 1 and QoS 2 messages. This should allow messages to be dispatched to a different subscriber in the group in case the picked (based on `shared_subscription_strategy`) subscriber is offline. """ - zh: """启用/禁用 QoS1 和 QoS2 消息的共享派发确认。 + zh: """启用/禁用 QoS 1 和 QoS 2 消息的共享派发确认。 开启后,允许将消息从未及时回复 ACK 的订阅者 (例如,客户端离线)重新派发给另外一个订阅者。 """ }