From a314950be9ca260923d07d3c4a9a8be277634727 Mon Sep 17 00:00:00 2001 From: "Zaiming (Stone) Shi" Date: Wed, 26 Oct 2022 11:07:27 +0200 Subject: [PATCH 1/2] docs: fix zh punctuations --- apps/emqx/i18n/emqx_limiter_i18n.conf | 2 +- apps/emqx/i18n/emqx_schema_i18n.conf | 375 +++++++----------- apps/emqx_authn/i18n/emqx_authn_jwt_i18n.conf | 2 +- .../i18n/emqx_authz_api_cache_i18n.conf | 2 +- .../i18n/emqx_authz_api_schema_i18n.conf | 4 +- .../i18n/emqx_authz_api_settings_i18n.conf | 4 +- .../i18n/emqx_authz_api_sources_i18n.conf | 20 +- .../i18n/emqx_authz_schema_i18n.conf | 76 ++-- .../i18n/emqx_auto_subscribe_i18n.conf | 2 +- apps/emqx_conf/i18n/emqx_conf_schema.conf | 4 +- .../i18n/emqx_connector_mqtt_schema.conf | 6 +- .../i18n/emqx_gateway_schema_i18n.conf | 60 +-- .../i18n/emqx_plugins_schema.conf | 2 +- apps/emqx_psk/i18n/emqx_psk_i18n.conf | 2 +- .../src/emqx_rule_engine.app.src | 2 +- .../emqx_rule_engine/src/emqx_rule_events.erl | 4 +- rel/emqx_conf.template.en.md | 16 +- rel/emqx_conf.template.zh.md | 45 +-- 18 files changed, 265 insertions(+), 363 deletions(-) diff --git a/apps/emqx/i18n/emqx_limiter_i18n.conf b/apps/emqx/i18n/emqx_limiter_i18n.conf index 99ecc9e1e..b94750b38 100644 --- a/apps/emqx/i18n/emqx_limiter_i18n.conf +++ b/apps/emqx/i18n/emqx_limiter_i18n.conf @@ -171,7 +171,7 @@ Once the limit is reached, the restricted client will be slow down even be hung en: """The bytes_in limiter. This is used to limit the inbound bytes rate for this EMQX node. Once the limit is reached, the restricted client will be slow down even be hung for a while.""" - zh: """流入字节率控制器. + zh: """流入字节率控制器。 这个是用来控制当前节点上的数据流入的字节率,每条消息将会消耗和其二进制大小等量的令牌,当达到最大速率后,会话将会被限速甚至被强制挂起一小段时间""" } label: { diff --git a/apps/emqx/i18n/emqx_schema_i18n.conf b/apps/emqx/i18n/emqx_schema_i18n.conf index e51c953bf..e798b593d 100644 --- a/apps/emqx/i18n/emqx_schema_i18n.conf +++ b/apps/emqx/i18n/emqx_schema_i18n.conf @@ -3,10 +3,10 @@ emqx_schema { force_shutdown_enable { desc { en: "Enable `force_shutdown` feature." - zh: "启用 `force_shutdown` 功能" + zh: "启用 `force_shutdown` 功能。" } label { - en: "Enable `force_shutdown` feature." + en: "Enable `force_shutdown` feature" zh: "启用 `force_shutdown` 功能" } } @@ -14,7 +14,7 @@ emqx_schema { force_shutdown_max_message_queue_len { desc { en: "Maximum message queue length." - zh: "消息队列的最大长度" + zh: "消息队列的最大长度。" } label { en: "Maximum mailbox queue length of process." @@ -25,7 +25,7 @@ emqx_schema { force_shutdown_max_heap_size { desc { en: "Total heap size" - zh: "Heap 的总大小" + zh: "Heap 的总大小。" } label { en: "Total heap size" @@ -35,8 +35,8 @@ emqx_schema { overload_protection_enable { desc { - en: "React on system overload or not" - zh: "是否对系统过载做出反应" + en: "React on system overload or not." + zh: "是否对系统过载做出反应。" } label { en: "React on system overload or not" @@ -46,9 +46,8 @@ emqx_schema { overload_protection_backoff_delay { desc { - en: "Some unimportant tasks could be delayed " - "for execution, here set the delays in ms" - zh: "一些不重要的任务可能会延迟执行,以毫秒为单位设置延迟" + en: "When at high load, some unimportant tasks could be delayed for execution, here set the duration in milliseconds precision." + zh: "高负载时,一些不重要的任务可能会延迟执行,在这里设置允许延迟的时间。单位为毫秒。" } label { en: "Delay Time" @@ -58,8 +57,8 @@ emqx_schema { overload_protection_backoff_gc { desc { - en: "Skip forceful GC if necessary" - zh: "如有必要,跳过强制GC" + en: "When at high load, skip forceful GC." + zh: "高负载时,跳过强制 GC。" } label { en: "Skip GC" @@ -69,8 +68,8 @@ emqx_schema { overload_protection_backoff_hibernation { desc { - en: "Skip process hibernation if necessary" - zh: "如有必要,跳过进程休眠" + en: "When at high load, skip process hibernation." + zh: "高负载时,跳过进程休眠。" } label { en: "Skip hibernation" @@ -80,8 +79,8 @@ emqx_schema { overload_protection_backoff_new_conn { desc { - en: "Close new incoming connections if necessary" - zh: "如有必要,关闭新进来的连接" + en: "When at high load, close new incoming connections." + zh: "高负载时,拒绝新进来的客户端连接。" } label { en: "Close new connections" @@ -92,7 +91,7 @@ emqx_schema { conn_congestion_enable_alarm { desc { en: "Enable or disable connection congestion alarm." - zh: "启用或者禁用连接阻塞告警功能" + zh: "启用或者禁用连接阻塞告警功能。" } label { en: "Enable/disable congestion alarm" @@ -102,14 +101,14 @@ emqx_schema { conn_congestion_min_alarm_sustain_duration { desc { - en: "Minimal time before clearing the alarm.\n\n" - "The alarm is cleared only when there's no pending data in\n" - "the queue, and at least `min_alarm_sustain_duration`\n" - "milliseconds passed since the last time we considered the connection \"congested\".\n\n" + en: "Minimal time before clearing the alarm.
" + "The alarm is cleared only when there's no pending data in
" + "the queue, and at least min_alarm_sustain_duration" + "milliseconds passed since the last time we considered the connection 'congested'.
" "This is to avoid clearing and raising the alarm again too often." - zh: "清除警报前的最短时间。\n\n" - "只有当队列中没有挂起的数据,并且连接至少被堵塞了 \"min_alarm_sustain_duration\" 毫秒时,\n" - "报警才会被清除。这是为了避免太频繁地清除和再次发出警报." + zh: "清除警报前的最短时间。
" + "只有当队列中没有挂起的数据,并且连接至少被堵塞了 min_alarm_sustain_duration 毫秒时,
" + "报警才会被清除。这是为了避免太频繁地清除和再次发出警报。" } label { en: "Sustain duration" @@ -120,10 +119,10 @@ emqx_schema { force_gc_enable { desc { en: "Enable forced garbage collection." - zh: "启用强制垃圾回收" + zh: "启用强制垃圾回收。" } label { - en: "Enable forced garbage collection." + en: "Enable forced garbage collection" zh: "启用强制垃圾回收" } } @@ -131,7 +130,7 @@ emqx_schema { force_gc_count { desc { en: "GC the process after this many received messages." - zh: "在进程收到多少消息之后,对此进程执行垃圾回收" + zh: "在进程收到多少消息之后,对此进程执行垃圾回收。" } label { en: "Process GC messages num" @@ -142,7 +141,7 @@ emqx_schema { force_gc_bytes { desc { en: "GC the process after specified number of bytes have passed through." - zh: "在进程处理过多少个字节之后,对此进程执行垃圾回收" + zh: "在进程处理过多少个字节之后,对此进程执行垃圾回收。" } label { en: "Process GC bytes" @@ -190,7 +189,7 @@ emqx_schema { sysmon_vm_long_gc { desc { en: "Enable Long GC monitoring." - zh: "启用长垃圾回收监控" + zh: "启用长垃圾回收监控。" } label { en: "Enable Long GC monitoring." @@ -201,7 +200,7 @@ emqx_schema { sysmon_vm_long_schedule { desc { en: "Enable Long Schedule monitoring." - zh: "启用长调度监控" + zh: "启用长调度监控。" } label { en: "Enable Long Schedule monitoring." @@ -212,7 +211,7 @@ emqx_schema { sysmon_vm_large_heap { desc { en: "Enable Large Heap monitoring." - zh: "启用大 heap 监控" + zh: "启用大 heap 监控。" } label { en: "Enable Large Heap monitoring." @@ -223,7 +222,7 @@ emqx_schema { sysmon_vm_busy_dist_port { desc { en: "Enable Busy Distribution Port monitoring." - zh: "启用分布式端口过忙监控" + zh: "启用分布式端口过忙监控。" } label { en: "Enable Busy Distribution Port monitoring." @@ -234,7 +233,7 @@ emqx_schema { sysmon_vm_busy_port { desc { en: "Enable Busy Port monitoring." - zh: "启用端口过忙监控" + zh: "启用端口过忙监控。" } label { en: "Enable Busy Port monitoring." @@ -316,7 +315,7 @@ emqx_schema { sysmon_top_num_items { desc { en: "The number of top processes per monitoring group" - zh: "每个监视组的顶级进程数" + zh: "每个监视组的顶级进程数。" } label { en: "Top num items" @@ -327,7 +326,7 @@ emqx_schema { sysmon_top_sample_interval { desc { en: "Specifies how often process top should be collected" - zh: "指定应收集进程顶部的频率" + zh: "指定应收集进程顶部的频率。" } label { en: "Top sample interval" @@ -339,7 +338,7 @@ emqx_schema { desc { en: "Stop collecting data when the number of processes\n" "in the VM exceeds this value" - zh: "当VM中的进程数超过此值时,停止收集数据" + zh: "当 VM 中的进程数超过此值时,停止收集数据。" } label { en: "Max procs" @@ -350,7 +349,7 @@ emqx_schema { sysmon_top_db_hostname { desc { en: "Hostname of the PostgreSQL database that collects the data points" - zh: "收集数据点的 PostgreSQL 数据库的主机名" + zh: "收集数据点的 PostgreSQL 数据库的主机名。" } label { en: "DB Hostname" @@ -360,8 +359,8 @@ emqx_schema { sysmon_top_db_port { desc { - en: "Port of the PostgreSQL database that collects the data points" - zh: "收集数据点的 PostgreSQL 数据库的端口" + en: "Port of the PostgreSQL database that collects the data points." + zh: "收集数据点的 PostgreSQL 数据库的端口。" } label { en: "DB Port" @@ -454,7 +453,7 @@ emqx_schema { flapping_detect_enable { desc { en: "Enable flapping connection detection feature." - zh: "启用抖动检测功能" + zh: "启用抖动检测功能。" } label: { en: "Enable flapping detection" @@ -465,7 +464,7 @@ emqx_schema { flapping_detect_max_count { desc { en: "The maximum number of disconnects allowed for a MQTT Client in `window_time`" - zh: "MQTT 客户端在\"窗口\"时间内允许的最大断开次数" + zh: "MQTT 客户端在“窗口”时间内允许的最大断开次数。" } label: { en: "Max count" @@ -487,11 +486,11 @@ emqx_schema { flapping_detect_ban_time { desc { en: "How long the flapping clientid will be banned." - zh: "抖动的客户端将会被禁止登陆多长时间" + zh: "抖动的客户端将会被禁止登录多长时间。" } label: { en: "Ban time" - zh: "禁止登陆时长" + zh: "禁止登录时长" } } @@ -605,7 +604,7 @@ emqx_schema { persistent_session_builtin_session_table { desc { en: "Performance tuning options for built-in session table." - zh: "用于内建会话表的性能调优参数" + zh: "用于内建会话表的性能调优参数。" } label: { en: "Persistent session" @@ -627,7 +626,7 @@ emqx_schema { persistent_session_builtin_messages_table { desc { en: "Performance tuning options for built-in messages table." - zh: "用于内建消息表的性能调优参数" + zh: "用于内建消息表的性能调优参数。" } label: { en: "Persistent messages" @@ -638,7 +637,7 @@ emqx_schema { stats_enable { desc { en: "Enable/disable statistic data collection." - zh: "启用/禁用统计数据收集功能" + zh: "启用/禁用统计数据收集功能。" } label: { en: "Enable/disable statistic data collection." @@ -780,8 +779,8 @@ mqtt 下所有的配置作为全局的默认值存在,它可以被 zone< mqtt_ignore_loop_deliver { desc { - 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 订阅选项""" + 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""" @@ -1000,7 +999,7 @@ Supported configurations are the following: - 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 连接。 + zh: """使用对端证书中的 CN、DN 字段或整个证书内容来作为用户名。仅适用于 TLS 连接。 目前支持配置为以下内容: - cn: 取证书的 CN 字段作为 Username - dn: 取证书的 DN 字段作为 Username @@ -1025,7 +1024,7 @@ Supported configurations are the following: - 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 连接。 + zh: """使用对端证书中的 CN、DN 字段或整个证书内容来作为客户端 ID。仅适用于 TLS 连接。 目前支持配置为以下内容: - cn: 取证书的 CN 字段作为 Client ID - dn: 取证书的 DN 字段作为 Client ID @@ -1064,10 +1063,10 @@ Supported configurations are the following: """ zh: """Session 在集群中的锁策略。 - - `loca`: 仅锁本节点的 Session - - `one`: 任选一个其它节点加锁 - - `quorum`: 选择集群中半数以上的节点加锁 - - `all`: 选择所有节点加锁 + - `loca`:仅锁本节点的 Session; + - `one`:任选一个其它节点加锁; + - `quorum`:选择集群中半数以上的节点加锁; + - `all`:选择所有节点加锁。 """ } } @@ -1082,10 +1081,10 @@ Supported configurations are the following: """ zh: """共享订阅消息派发策略。 - - `random`: 随机挑选一个共享订阅者派发 - - `round_robin`: 使用 round-robin 策略派发 - - `sticky`: 总是使用上次选中的订阅者派发,直到它断开连接 - - `hash`: 使用发送者的 Client ID 进行 Hash 来选择订阅者 + - `random`:随机挑选一个共享订阅者派发; + - `round_robin`:使用 round-robin 策略派发; + - `sticky`:总是使用上次选中的订阅者派发,直到它断开连接; + - `hash`:使用发送者的 Client ID 进行 Hash 来选择订阅者。 """ } } @@ -1136,13 +1135,12 @@ until the subscriber disconnects. subscriber was not found, send to a random subscriber cluster-wide """ cn: """共享订阅的分发策略名称。 -- `random`: 随机选择一个组内成员; -- `round_robin`: 循环选择下一个成员; -- `round_robin_per_group`: 在共享组内循环选择下一个成员; -- `sticky`: 使用上一次选中的成员; -- `hash`: 根据 ClientID 哈希映射到一个成员; -- `local`: 随机分发到节点本地成成员,如果本地成员不存在,则随机分发 -到任意一个成员。 +- `random`:随机选择一个组内成员; +- `round_robin`:循环选择下一个成员; +- `round_robin_per_group`:在共享组内循环选择下一个成员; +- `sticky`:使用上一次选中的成员; +- `hash`:根据 ClientID 哈希映射到一个成员; +- `local`:随机分发到节点本地成成员,如果本地成员不存在,则随机分发到任意一个成员。 """ } @@ -1162,9 +1160,9 @@ NOTE: when changing from/to `global` lock, it requires all nodes in the cluster 建议仅当通配符主题较多时才更改此参数。 注:当从/更改为 `global` 锁时,它要求集群中的所有节点在更改之前停止。 - - `key`: 为 Mnesia 事务涉及到的每个 key 上锁,建议单节点时使用。 - - `tab`: 为 Mnesia 事务涉及到的表上锁,建议在集群中使用。 - - `global`: 所以更新操作都被全局的锁保护,仅建议在超大规模集群中使用。 + - `key`:为 Mnesia 事务涉及到的每个 key 上锁,建议单节点时使用。 + - `tab`:为 Mnesia 事务涉及到的表上锁,建议在集群中使用。 + - `global`:所以更新操作都被全局的锁保护,仅建议在超大规模集群中使用。 """ } } @@ -1215,8 +1213,8 @@ NOTE: This is a cluster-wide configuration. It requires all nodes to be stopped sys_event_messages { desc { - en: """Client events messages""" - zh: """客户端事件消息""" + en: """Client events messages.""" + zh: """客户端事件消息。""" } } @@ -1271,12 +1269,8 @@ Find more details in 'authorization.sources' config. fields_authorization_deny_action { desc { - en: """ -The action when the authorization check rejects an operation. -""" - zh: """ -授权检查拒绝操作时的操作。 -""" + en: """The action when the authorization check rejects an operation.""" + zh: """授权检查拒绝操作时的操作。""" } label: { en: "Authorization deny action" @@ -1286,12 +1280,8 @@ The action when the authorization check rejects an operation. fields_cache_enable { desc { - en: """ -Enable or disable the authorization cache. -""" - zh: """ -启用或禁用授权缓存。 -""" + en: """Enable or disable the authorization cache.""" + zh: """启用或禁用授权缓存。""" } label: { en: "Enable or disable the authorization cache." @@ -1301,12 +1291,8 @@ Enable or disable the authorization cache. fields_cache_max_size { desc { - en: """ -Maximum number of cached items. -""" - zh: """ -缓存项的最大数量。 -""" + en: """Maximum number of cached items.""" + zh: """缓存项的最大数量。""" } label: { en: "Maximum number of cached items." @@ -1316,12 +1302,8 @@ Maximum number of cached items. fields_cache_ttl { desc { - en: """ -Time to live for the cached data. -""" - zh: """ -缓存数据的生存时间。 -""" + en: """Time to live for the cached data. """ + zh: """缓存数据的生存时间。""" } label: { en: "Time to live for the cached data." @@ -1331,9 +1313,7 @@ Time to live for the cached data. fields_deflate_opts_level { desc { - en: """ -Compression level. -""" + en: """Compression level. """ zh: """压缩级别""" } label: { @@ -1361,12 +1341,8 @@ Lower values decrease memory usage per connection. fields_deflate_opts_strategy { desc { - en: """ -Specifies the compression strategy. -""" - zh: """ -指定压缩策略。 -""" + en: """Specifies the compression strategy.""" + zh: """指定压缩策略。""" } label: { en: "compression strategy" @@ -1376,9 +1352,7 @@ Specifies the compression strategy. fields_deflate_opts_server_context_takeover { desc { - en: """ -Takeover means the compression state is retained between server messages. -""" + en: """Takeover means the compression state is retained between server messages. """ zh: """接管意味着在服务器消息之间保留压缩状态。""" } label: { @@ -1389,12 +1363,8 @@ Takeover means the compression state is retained between server messages. fields_deflate_opts_client_context_takeover { desc { - en: """ -Takeover means the compression state is retained between client messages. -""" - zh: """ -接管意味着在客户端消息之间保留压缩状态。 -""" + en: """Takeover means the compression state is retained between client messages. """ + zh: """接管意味着在客户端消息之间保留压缩状态。""" } label: { en: "Client context takeover" @@ -1404,12 +1374,8 @@ Takeover means the compression state is retained between client messages. fields_deflate_opts_server_max_window_bits { desc { - en: """ -Specifies the size of the compression context for the server. -""" - zh: """ -指定服务器压缩上下文的大小。 -""" + en: """Specifies the size of the compression context for the server.""" + zh: """指定服务器压缩上下文的大小。""" } label: { en: "Server compression max window size" @@ -1419,12 +1385,8 @@ Specifies the size of the compression context for the server. fields_deflate_opts_client_max_window_bits { desc { - en: """ -Specifies the size of the compression context for the client. -""" - zh: """ -指定客户端压缩上下文的大小。 -""" + en: """Specifies the size of the compression context for the client.""" + zh: """指定客户端压缩上下文的大小。""" } label: { en: "Client compression max window size" @@ -1434,10 +1396,8 @@ Specifies the size of the compression context for the client. client_ssl_opts_schema_enable { desc { - en: """ -Enable TLS. -""" - zh: """启用 TLS""" + en: """Enable TLS. """ + zh: """启用 TLS。""" } label: { en: "Enable TLS." @@ -1495,12 +1455,8 @@ PEM格式证书链文件
common_ssl_opts_schema_keyfile { desc { - en: """ -PEM format private key file. -""" - zh: """ -PEM格式的私钥文件。 -""" + en: """PEM format private key file. """ + zh: """PEM格式的私钥文件。""" } label: { en: "Keyfile" @@ -1510,12 +1466,8 @@ PEM格式的私钥文件。 common_ssl_opts_schema_verify { desc { - en: """ -Enable or disable peer verification. -""" - zh: """ -启用或禁用对等验证。 -""" + en: """Enable or disable peer verification. """ + zh: """启用或禁用对等验证。""" } label: { en: "Verify peer" @@ -1525,12 +1477,8 @@ Enable or disable peer verification. common_ssl_opts_schema_reuse_sessions { desc { - en: """ -Enable TLS session reuse. -""" - zh: """ -启用 TLS 会话重用。 -""" + en: """Enable TLS session reuse. """ + zh: """启用 TLS 会话重用。""" } label: { en: "TLS session reuse" @@ -1541,7 +1489,8 @@ Enable TLS session reuse. common_ssl_opts_schema_depth { desc { en: """ -Maximum number of non-self-issued intermediate certificates that can follow the peer certificate in a valid certification path. So, if depth is 0 the PEER must be signed by the trusted ROOT-CA directly; if 1 the path can be PEER, CA, ROOT-CA; if 2 the path can be PEER, CA, CA, ROOT-CA, and so on. The default value is 10. +Maximum number of non-self-issued intermediate certificates that can follow the peer certificate in a valid certification path. +So, if depth is 0 the PEER must be signed by the trusted ROOT-CA directly; if 1 the path can be PEER, CA, ROOT-CA; if 2 the path can be PEER, CA, CA, ROOT-CA, and so on. The default value is 10. """ zh: """ 在有效的证书路径中,可以跟随对等证书的非自颁发中间证书的最大数量。因此,如果深度为0,则对等方必须由受信任的根CA直接签名;如果1,路径可以是PEER、CA、ROOT-CA;如果是2,则路径可以是PEER、CA、CA、ROOT-CA等等。默认值为10。 @@ -1724,12 +1673,8 @@ RSA-PSK-DES-CBC3-SHA,RSA-PSK-RC4-SHA"

common_ssl_opts_schema_user_lookup_fun { desc { - en: """ -EMQX-internal callback that is used to lookup pre-shared key (PSK) identity. -""" - zh: """ -用于查找预共享密钥(PSK)标识的 EMQX 内部回调。 -""" + en: """EMQX-internal callback that is used to lookup pre-shared key (PSK) identity. """ + zh: """用于查找预共享密钥(PSK)标识的 EMQX 内部回调。""" } label: { en: "SSL PSK user lookup fun" @@ -1766,7 +1711,7 @@ are used.
NOTE: The dhfile option is not supported by TLS 1.3. """ zh: """ -如果协商使用Diffie-Hellman密钥交换的密码套件,则服务器将使用包含PEM编码的Diffie-Hellman参数的文件的路径。如果未指定,则使用默认参数
+如果协商使用Diffie-Hellman密钥交换的密码套件,则服务器将使用包含PEM编码的Diffie-Hellman参数的文件的路径。如果未指定,则使用默认参数。
注意:TLS 1.3不支持dhfile选项。 """ @@ -1875,10 +1820,8 @@ TLS/SSL握手建立后立即进行GC。 fields_listeners_tcp { desc { - en: """ -TCP listeners -""" - zh: """TCP 监听器""" + en: """TCP listeners.""" + zh: """TCP 监听器。""" } label: { en: "TCP listeners" @@ -1888,10 +1831,8 @@ TCP listeners fields_listeners_ssl { desc { - en: """ -SSL listeners -""" - zh: """SSL 监听器""" + en: """SSL listeners.""" + zh: """SSL 监听器。""" } label: { en: "SSL listeners" @@ -1901,10 +1842,8 @@ SSL listeners fields_listeners_ws { desc { - en: """ -HTTP websocket listeners -""" - zh: """HTTP websocket 监听器""" + en: """HTTP websocket listeners.""" + zh: """HTTP websocket 监听器。""" } label: { en: "HTTP websocket listeners" @@ -1914,10 +1853,8 @@ HTTP websocket listeners fields_listeners_wss { desc { - en: """ -HTTPS websocket listeners -""" - zh: """HTTPS websocket 监听器""" + en: """HTTPS websocket listeners.""" + zh: """HTTPS websocket 监听器。""" } label: { en: "HTTPS websocket listeners" @@ -1927,10 +1864,8 @@ HTTPS websocket listeners fields_listeners_quic { desc { - en: """ -QUIC listeners -""" - zh: """QUIC 监听器""" + en: """QUIC listeners.""" + zh: """QUIC 监听器。""" } label: { en: "QUIC listeners" @@ -1940,10 +1875,8 @@ QUIC listeners fields_listener_enabled { desc { - en: """ -Enable listener. -""" - zh: """启停监听器""" + en: """Enable listener. """ + zh: """启停监听器。""" } label: { en: "Enable listener" @@ -1953,10 +1886,8 @@ Enable listener. fields_mqtt_quic_listener_certfile { desc { - en: """ -Path to the certificate file. -""" - zh: """证书文件""" + en: """Path to the certificate file.""" + zh: """证书文件。""" } label: { en: "Certificate file" @@ -1966,10 +1897,8 @@ Path to the certificate file. fields_mqtt_quic_listener_keyfile { desc { - en: """ -Path to the secret key file. -""" - zh: """私钥文件""" + en: """Path to the secret key file. """ + zh: """私钥文件。""" } label: { en: "Key file" @@ -1979,31 +1908,23 @@ Path to the secret key file. fields_mqtt_quic_listener_idle_timeout { desc { - en: """ -How long a connection can go idle before it is gracefully shut down. 0 to disable -""" - zh: """ -一个连接在被关闭之前可以空闲多长时间。0表示禁用 -""" + en: """How long a connection can go idle before it is gracefully shut down. 0 to disable""" + zh: """一个连接在被关闭之前可以空闲多长时间。0表示禁用。""" } label: { en: "Idle Timeout" - zh: "发呆超时时间" + zh: "空闲超时时间" } } fields_mqtt_quic_listener_handshake_idle_timeout { desc { - en: """ -How long a handshake can idle before it is discarded. -""" - zh: """ -一个握手在被丢弃之前可以空闲多长时间。 -""" + en: """How long a handshake can idle before it is discarded. """ + zh: """一个握手在被丢弃之前可以空闲多长时间。""" } label: { en: "Handshake Idle Timeout" - zh: "握手发呆超时时间" + zh: "握手空闲超时时间" } } @@ -2013,7 +1934,7 @@ fields_mqtt_quic_listener_keep_alive_interval { How often to send PING frames to keep a connection alive. 0 means disabled. """ zh: """ -发送 PING 帧的频率,以保活连接. 设为0,禁用 +发送 PING 帧的频率,以保活连接. 设为 0 表示禁用。 """ } label: { @@ -2039,9 +1960,7 @@ IP address and port for the listening socket. base_listener_acceptors { desc { - en: """ -The size of the listener's receiving pool. -""" + en: """The size of the listener's receiving pool.""" zh: """监听器接收池的大小。""" } label: { @@ -2052,12 +1971,8 @@ The size of the listener's receiving pool. base_listener_max_connections { desc { - en: """ -The maximum number of concurrent connections allowed by the listener. -""" - zh: """ -监听器允许的最大并发连接数。 -""" + en: """The maximum number of concurrent connections allowed by the listener. """ + zh: """监听器允许的最大并发连接数。""" } label: { en: "Max connections" @@ -2218,7 +2133,7 @@ If there is no decision after a full chain exhaustion, the login is rejected. 该配置可以被配置为: @@ -2242,7 +2157,7 @@ When authenticating a login (username, client ID, etc.) the authenticators are c 监听器认证重载。 认证配置可以是单个认证器实例,也可以是一个认证器数组组成的认证链。 -执行登录验证时(用户名、客户端 ID 等),将按配置的顺序执行
+执行登录验证时(用户名、客户端 ID 等),将按配置的顺序执行。 """ } label: { @@ -2253,12 +2168,8 @@ When authenticating a login (username, client ID, etc.) the authenticators are c fields_rate_limit_max_conn_rate { desc { - en: """ -Maximum connections per second. -""" - zh: """ -每秒最大连接数。 -""" + en: """Maximum connections per second.""" + zh: """每秒最大连接数。""" } label: { en: "Max connection rate" @@ -2268,12 +2179,8 @@ Maximum connections per second. fields_rate_limit_conn_messages_in { desc { - en: """ -Message limit for the external MQTT connections. -""" - zh: """ -外部 MQTT 连接的消息限制。 -""" + en: """Message limit for the external MQTT connections.""" + zh: """外部 MQTT 连接的消息限制。""" } label: { en: "connecting messages in" @@ -2314,13 +2221,13 @@ Indication extension from being sent and disables the hostname verification check. """ zh: """ -指定要在 TLS 服务器名称指示扩展中使用的主机名
+指定要在 TLS 服务器名称指示扩展中使用的主机名。
例如,当连接到 "server.example.net" 时,接受连接并执行 TLS 握手的真正服务器可能与 TLS 客户端最初连接到的主机不同, 例如,当连接到 IP 地址时,或者当主机具有多个可解析的 DNS 记录时
如果未指定,它将默认为使用的主机名字符串 建立连接,除非使用 IP 地址
-然后,主机名也用于对等机的主机名验证 -证书
特殊值'disable'阻止发送服务器名称指示扩展,并禁用主机名验证检查。 +然后,主机名也用于对等机的主机名验证证书
+特殊值 disable 阻止发送服务器名称指示扩展,并禁用主机名验证检查。 """ } label: { @@ -2364,12 +2271,8 @@ TCP backlog 定义了挂起连接队列可以增长到的最大长度。 fields_tcp_opts_send_timeout { desc { - en: """ -The TCP send timeout for the connections. -""" - zh: """ -连接的TCP发送超时。 -""" + en: """The TCP send timeout for the connections. """ + zh: """连接的 TCP 发送超时。""" } label: { en: "TCP send timeout" @@ -2398,7 +2301,7 @@ fields_tcp_opts_recbuf { The TCP receive buffer (OS kernel) for the connections. """ zh: """ -连接的 TCP 接收缓冲区(OS内核)。 +连接的 TCP 接收缓冲区(OS 内核)。 """ } label: { @@ -2413,7 +2316,7 @@ fields_tcp_opts_sndbuf { The TCP send buffer (OS kernel) for the connections. """ zh: """ -连接的 TCP 发送缓冲区(OS内核)。 +连接的 TCP 发送缓冲区(OS 内核)。 """ } label: { @@ -2494,7 +2397,7 @@ Determine the format of the payload format in the trace file.
""" zh: """ -确定跟踪文件中有效负载格式的格式
+确定跟踪文件中有效负载格式的格式。
`text`:基于文本的协议或纯文本协议。 建议在有效负载为JSON编码时使用
`hex`:二进制十六进制编码。当有效负载是自定义二进制协议时,建议使用此选项
@@ -2568,7 +2471,7 @@ message within this interval. } label: { en: "WS idle timeout" - zh: "WS 发呆时间" + zh: "WS 空闲时间" } } diff --git a/apps/emqx_authn/i18n/emqx_authn_jwt_i18n.conf b/apps/emqx_authn/i18n/emqx_authn_jwt_i18n.conf index 80d389de4..a420dd7d9 100644 --- a/apps/emqx_authn/i18n/emqx_authn_jwt_i18n.conf +++ b/apps/emqx_authn/i18n/emqx_authn_jwt_i18n.conf @@ -57,7 +57,7 @@ emqx_authn_jwt { endpoint { desc { en: """JWKS endpoint, it's a read-only endpoint that returns the server's public key set in the JWKS format.""" - zh: """JWKS 端点, 它是一个以 JWKS 格式返回服务端的公钥集的只读端点。""" + zh: """JWKS 端点, 它是一个以 JWKS 格式返回服务端的公钥集的只读端点。""" } label { en: """JWKS Endpoint""" diff --git a/apps/emqx_authz/i18n/emqx_authz_api_cache_i18n.conf b/apps/emqx_authz/i18n/emqx_authz_api_cache_i18n.conf index 31ad90fa1..ea6960555 100644 --- a/apps/emqx_authz/i18n/emqx_authz_api_cache_i18n.conf +++ b/apps/emqx_authz/i18n/emqx_authz_api_cache_i18n.conf @@ -2,7 +2,7 @@ emqx_authz_api_cache { authorization_cache_delete { desc { en: """Clean all authorization cache in the cluster.""" - zh: """清除集群中所有鉴权数据缓存""" + zh: """清除集群中所有授权数据缓存""" } } } diff --git a/apps/emqx_authz/i18n/emqx_authz_api_schema_i18n.conf b/apps/emqx_authz/i18n/emqx_authz_api_schema_i18n.conf index 6d2c66b79..681cad7a2 100644 --- a/apps/emqx_authz/i18n/emqx_authz_api_schema_i18n.conf +++ b/apps/emqx_authz/i18n/emqx_authz_api_schema_i18n.conf @@ -26,7 +26,7 @@ emqx_authz_api_schema { rules { desc { en: """Authorization static file rules.""" - zh: """静态鉴权文件规则""" + zh: """静态授权文件规则""" } label { en: """rules""" @@ -111,7 +111,7 @@ emqx_authz_api_schema { collection { desc { en: """`MongoDB` collection containing the authorization data.""" - zh: """`MongoDB` 鉴权数据集""" + zh: """`MongoDB` 授权数据集""" } label { en: """collection""" diff --git a/apps/emqx_authz/i18n/emqx_authz_api_settings_i18n.conf b/apps/emqx_authz/i18n/emqx_authz_api_settings_i18n.conf index c739bedbb..b44580b34 100644 --- a/apps/emqx_authz/i18n/emqx_authz_api_settings_i18n.conf +++ b/apps/emqx_authz/i18n/emqx_authz_api_settings_i18n.conf @@ -2,14 +2,14 @@ emqx_authz_api_settings { authorization_settings_get { desc { en: """Get authorization settings""" - zh: """获取鉴权配置""" + zh: """获取授权配置""" } } authorization_settings_put { desc { en: """Update authorization settings""" - zh: """更新鉴权配置""" + zh: """更新授权配置""" } } } diff --git a/apps/emqx_authz/i18n/emqx_authz_api_sources_i18n.conf b/apps/emqx_authz/i18n/emqx_authz_api_sources_i18n.conf index 6c3f59d93..c5f0eaad4 100644 --- a/apps/emqx_authz/i18n/emqx_authz_api_sources_i18n.conf +++ b/apps/emqx_authz/i18n/emqx_authz_api_sources_i18n.conf @@ -2,56 +2,56 @@ emqx_authz_api_sources { authorization_sources_get { desc { en: """List all authorization sources""" - zh: """列出所有鉴权数据源""" + zh: """列出所有授权数据源""" } } authorization_sources_post { desc { en: """Add a new source""" - zh: """添加鉴权数据源""" + zh: """添加授权数据源""" } } authorization_sources_type_get { desc { en: """Get a authorization source""" - zh: """获取指定类型的鉴权数据源""" + zh: """获取指定类型的授权数据源""" } } authorization_sources_type_put { desc { en: """Update source""" - zh: """更新指定类型的鉴权数据源""" + zh: """更新指定类型的授权数据源""" } } authorization_sources_type_delete { desc { en: """Delete source""" - zh: """删除指定类型的鉴权数据源""" + zh: """删除指定类型的授权数据源""" } } authorization_sources_type_status_get { desc { en: """Get a authorization source""" - zh: """获取指定鉴权数据源的状态""" + zh: """获取指定授权数据源的状态""" } } authorization_sources_type_move_post { desc { en: """Change the exection order of sources""" - zh: """更新鉴权数据源的优先执行顺序""" + zh: """更新授权数据源的优先执行顺序""" } } sources { desc { en: """Authorization source""" - zh: """鉴权数据源列表""" + zh: """授权数据源列表""" } label { en: """sources""" @@ -62,7 +62,7 @@ emqx_authz_api_sources { sources { desc { en: """Authorization sources""" - zh: """鉴权数据源列表""" + zh: """授权数据源列表""" } label { en: """sources""" @@ -84,7 +84,7 @@ emqx_authz_api_sources { source { desc { en: """Authorization source""" - zh: """鉴权数据源""" + zh: """授权数据源""" } label { en: """source""" diff --git a/apps/emqx_authz/i18n/emqx_authz_schema_i18n.conf b/apps/emqx_authz/i18n/emqx_authz_schema_i18n.conf index e83169978..04118353e 100644 --- a/apps/emqx_authz/i18n/emqx_authz_schema_i18n.conf +++ b/apps/emqx_authz/i18n/emqx_authz_schema_i18n.conf @@ -21,22 +21,22 @@ The source elements are identified by their 'type'. It is NOT allowed to configure two or more sources of the same type. """ zh: """ -鉴权数据源.
-鉴权(ACL)数据源的列表. -它被设计为一个数组,而不是一个散列映射, -所以可以作为链式访问控制.
+授权数据源。
+授权(ACL)数据源的列表。 +它被设计为一个数组,而不是一个散列映射, +所以可以作为链式访问控制。
-当授权一个 'publish' 或 'subscribe' 行为时, +当授权一个 'publish' 或 'subscribe' 行为时, 该配置列表中的所有数据源将按顺序进行检查。 -如果在某个客户端未找到时(使用 ClientID 或 Username), -将会移动到下一个数据源. 直至得到 'allow' 或 'deny' 的结果.
+如果在某个客户端未找到时(使用 ClientID 或 Username)。 +将会移动到下一个数据源。直至得到 'allow' 或 'deny' 的结果。
-如果在任何数据源中都未找到对应的客户端信息, -配置的默认行为 ('authorization.no_match') 将生效.
+如果在任何数据源中都未找到对应的客户端信息。 +配置的默认行为 ('authorization.no_match') 将生效。
-注意: -数据源使用 'type' 进行标识. -使用同一类型的数据源多于一次不被允许. +注意: +数据源使用 'type' 进行标识。 +使用同一类型的数据源多于一次不被允许。 """ } label { @@ -83,7 +83,7 @@ It is NOT allowed to configure two or more sources of the same type. file { desc { en: """Authorization using a static file.""" - zh: """使用静态文件鉴权""" + zh: """使用静态文件授权""" } label { en: """file""" @@ -109,7 +109,7 @@ and the old file will not be used anymore. 那么可以将该文件置于任何 EMQX 可以访问到的位置。 如果从 EMQX Dashboard 或 HTTP API 创建或修改了规则集, -那么EMQX将会生成一个新的文件并将它存放在 `data_dir` 下的 `authz` 子目录中, +那么EMQX将会生成一个新的文件并将它存放在 `data_dir` 下的 `authz` 子目录中, 并从此弃用旧的文件。""" } label { @@ -123,7 +123,7 @@ and the old file will not be used anymore. http_get { desc { en: """Authorization using an external HTTP server (via GET requests).""" - zh: """使用外部 HTTP 服务器鉴权(GET 请求)。""" + zh: """使用外部 HTTP 服务器授权(GET 请求)。""" } label { en: """http_get""" @@ -134,7 +134,7 @@ and the old file will not be used anymore. http_post { desc { en: """Authorization using an external HTTP server (via POST requests).""" - zh: """使用外部 HTTP 服务器鉴权(POST 请求)。""" + zh: """使用外部 HTTP 服务器授权(POST 请求)。""" } label { en: """http_post""" @@ -156,7 +156,7 @@ and the old file will not be used anymore. url { desc { en: """URL of the auth server.""" - zh: """鉴权 HTTP 服务器地址。""" + zh: """授权 HTTP 服务器地址。""" } label { en: """URL""" @@ -213,7 +213,7 @@ and the old file will not be used anymore. mnesia { desc { en: """Authorization using a built-in database (mnesia).""" - zh: """使用内部数据库鉴权 (mnesia).""" + zh: """使用内部数据库授权(mnesia)。""" } label { en: """mnesia""" @@ -226,7 +226,7 @@ and the old file will not be used anymore. mongo_single { desc { en: """Authorization using a single MongoDB instance.""" - zh: """使用 MongoDB 鉴权(单实例)""" + zh: """使用 MongoDB 授权(单实例)。""" } label { en: """mongo_single""" @@ -237,7 +237,7 @@ and the old file will not be used anymore. mongo_rs { desc { en: """Authorization using a MongoDB replica set.""" - zh: """使用 MongoDB 鉴权(副本集模式)""" + zh: """使用 MongoDB 授权(副本集模式)""" } label { en: """mongo_rs""" @@ -248,7 +248,7 @@ and the old file will not be used anymore. mongo_sharded { desc { en: """Authorization using a sharded MongoDB cluster.""" - zh: """使用 MongoDB 鉴权(分片集群模式)""" + zh: """使用 MongoDB 授权(分片集群模式)。""" } label { en: """mongo_sharded""" @@ -259,7 +259,7 @@ and the old file will not be used anymore. collection { desc { en: """`MongoDB` collection containing the authorization data.""" - zh: """`MongoDB` 鉴权数据集""" + zh: """`MongoDB` 授权数据集。""" } label { en: """collection""" @@ -278,8 +278,8 @@ Filter supports the following placeholders: zh: """ 在查询中定义过滤条件的条件表达式。 过滤器支持如下占位符: -- ${username}: 将在运行时被替换为客户端连接时使用的用户名 -- ${clientid}: 将在运行时被替换为客户端连接时使用的客户端标识符 +- ${username}:将在运行时被替换为客户端连接时使用的用户名 +- ${clientid}:将在运行时被替换为客户端连接时使用的客户端标识符 """ } label { @@ -293,7 +293,7 @@ Filter supports the following placeholders: mysql { desc { en: """Authorization using a MySQL database.""" - zh: """使用 MySOL 数据库鉴权""" + zh: """使用 MySOL 数据库授权""" } label { en: """mysql""" @@ -306,7 +306,7 @@ Filter supports the following placeholders: postgresql { desc { en: """Authorization using a PostgreSQL database.""" - zh: """使用 PostgreSQL 数据库鉴权""" + zh: """使用 PostgreSQL 数据库授权""" } label { en: """postgresql""" @@ -319,7 +319,7 @@ Filter supports the following placeholders: redis_single { desc { en: """Authorization using a single Redis instance.""" - zh: """使用 Redis 鉴权(单实例)""" + zh: """使用 Redis 授权(单实例)。""" } label { en: """redis_single""" @@ -330,7 +330,7 @@ Filter supports the following placeholders: redis_sentinel { desc { en: """Authorization using a Redis Sentinel.""" - zh: """使用 Redis 鉴权(哨兵模式)""" + zh: """使用 Redis 授权(哨兵模式)。""" } label { en: """redis_sentinel""" @@ -341,7 +341,7 @@ Filter supports the following placeholders: redis_cluster { desc { en: """Authorization using a Redis cluster.""" - zh: """使用 Redis 鉴权(集群模式)""" + zh: """使用 Redis 授权(集群模式)。""" } label { en: """redis_cluster""" @@ -365,7 +365,7 @@ Filter supports the following placeholders: query { desc { en: """Database query used to retrieve authorization data.""" - zh: """访问控制数据查询语句/查询命令""" + zh: """访问控制数据查询语句/查询命令。""" } label { en: """query""" @@ -510,44 +510,44 @@ Filter supports the following placeholders: metrics_total { desc { en: """The total number of times the authorization rule was triggered.""" - zh: """鉴权实例被触发的总次数。""" + zh: """授权实例被触发的总次数。""" } label: { en: """The Total Number of Times the Authorization Rule was Triggered""" - zh: """鉴权实例被触发的总次数""" + zh: """授权实例被触发的总次数""" } } nomatch { desc { en: """The number of times that no authorization rules were matched.""" - zh: """没有匹配到任何鉴权规则的次数。""" + zh: """没有匹配到任何授权规则的次数。""" } label: { en: """The Number of Times that no Authorization Rules were Matched""" - zh: """没有匹配到任何鉴权规则的次数""" + zh: """没有匹配到任何授权规则的次数""" } } allow { desc { en: """The number of times the authentication was successful.""" - zh: """鉴权成功的次数。""" + zh: """授权成功的次数。""" } label: { en: """The Number of Times the Authentication was Successful""" - zh: """鉴权成功次数""" + zh: """授权成功次数""" } } deny { desc { en: """The number of authentication failures.""" - zh: """鉴权失败的次数。""" + zh: """授权失败的次数。""" } label: { en: """The Number of Authentication Failures""" - zh: """鉴权失败次数""" + zh: """授权失败次数""" } } } diff --git a/apps/emqx_auto_subscribe/i18n/emqx_auto_subscribe_i18n.conf b/apps/emqx_auto_subscribe/i18n/emqx_auto_subscribe_i18n.conf index b93a186b1..57f744e8e 100644 --- a/apps/emqx_auto_subscribe/i18n/emqx_auto_subscribe_i18n.conf +++ b/apps/emqx_auto_subscribe/i18n/emqx_auto_subscribe_i18n.conf @@ -2,7 +2,7 @@ emqx_auto_subscribe_schema { auto_subscribe { desc { en: """After the device logs in successfully, the subscription is automatically completed for the device through the pre-defined subscription representation. Supports the use of placeholders.""" - zh: """设备登陆成功之后,通过预设的订阅表示符,为设备自动完成订阅。支持使用占位符。""" + zh: """设备登录成功之后,通过预设的订阅表示符,为设备自动完成订阅。支持使用占位符。""" } lable { en: """Auto Subscribe""" diff --git a/apps/emqx_conf/i18n/emqx_conf_schema.conf b/apps/emqx_conf/i18n/emqx_conf_schema.conf index 101823d5f..26f3ac9b5 100644 --- a/apps/emqx_conf/i18n/emqx_conf_schema.conf +++ b/apps/emqx_conf/i18n/emqx_conf_schema.conf @@ -357,7 +357,7 @@ Setting cluster.k8s.address_type to ip will make EMQX to discover IP addresses of peer nodes from Kubernetes API. """ zh: """当使用 k8s 方式集群时,address_type 用来从 Kubernetes 接口的应答里获取什么形式的 Host 列表。 -指定 cluster.k8s.address_typeip,则将从 Kubernetes 接口中获取集群中其他节点 +指定 cluster.k8s.address_typeip,则将从 Kubernetes 接口中获取集群中其他节点 的IP地址。 """ } @@ -1201,7 +1201,7 @@ Supervisor 报告的类型。默认为 error 类型。 desc { en: """Enable log rotation feature.""" zh: """启用日志轮换功能。启动后生成日志文件后缀会加上对应的索引数字,比如:log/emqx.log.1。 -系统会默认生成*.siz/*.idx用于记录日志位置,请不要手动修改这两个文件。 +系统会默认生成*.siz/*.idx用于记录日志位置,请不要手动修改这两个文件。 """ } label { diff --git a/apps/emqx_connector/i18n/emqx_connector_mqtt_schema.conf b/apps/emqx_connector/i18n/emqx_connector_mqtt_schema.conf index c9f227383..99ae420f1 100644 --- a/apps/emqx_connector/i18n/emqx_connector_mqtt_schema.conf +++ b/apps/emqx_connector/i18n/emqx_connector_mqtt_schema.conf @@ -9,15 +9,15 @@ In 'cluster_shareload' mode, the incoming load from the remote broker is shared using shared subscription.
Note that the 'clientid' is suffixed by the node name, this is to avoid clientid conflicts between different nodes. And we can only use shared subscription -topic filters for 'remote_topic' of ingress connections. +topic filters for remote_topic of ingress connections. """ zh: """ MQTT 桥的模式。
- cluster_shareload:在 emqx 集群的每个节点上创建一个 MQTT 连接。
在“cluster_shareload”模式下,来自远程代理的传入负载通过共享订阅的方式接收。
-请注意,“clientid”以节点名称为后缀,这是为了避免不同节点之间的clientid冲突。 -而且对于入口连接的“remote_topic”,我们只能使用共享订阅主题过滤器。 +请注意,clientid 以节点名称为后缀,这是为了避免不同节点之间的clientid冲突。 +而且对于入口连接的 remote_topic,我们只能使用共享订阅主题过滤器。 """ } label: { diff --git a/apps/emqx_gateway/i18n/emqx_gateway_schema_i18n.conf b/apps/emqx_gateway/i18n/emqx_gateway_schema_i18n.conf index 32d8cfe48..a05fec5c4 100644 --- a/apps/emqx_gateway/i18n/emqx_gateway_schema_i18n.conf +++ b/apps/emqx_gateway/i18n/emqx_gateway_schema_i18n.conf @@ -146,7 +146,7 @@ This option specifies the QoS level for the CoAP Client when establishing a subs """ zh: """客户端订阅请求的默认 QoS 等级。 当 CoAP 客户端发起订阅请求时,如果未携带 `qos` 参数则会使用该默认值。默认值可设置为: - - qos0, qos1, qos2: 设置为固定的 QoS 等级 + - qos0、 qos1、qos2: 设置为固定的 QoS 等级 - coap: 依据订阅操作的 CoAP 报文类型来动态决定 * 当订阅请求为 `non-confirmable` 类型时,取值为 qos0 * 当订阅请求为 `confirmable` 类型时,取值为 qos1 @@ -165,7 +165,7 @@ This option specifies the QoS level for the CoAP Client when publishing a messag zh: """客户端发布请求的默认 QoS 等级。 当 CoAP 客户端发起发布请求时,如果未携带 `qos` 参数则会使用该默认值。默认值可设置为: - - qos0, qos1, qos2: 设置为固定的 QoS 等级 + - qos0、qos1、qos2: 设置为固定的 QoS 等级 - coap: 依据发布操作的 CoAP 报文类型来动态决定 * 当发布请求为 `non-confirmable` 类型时,取值为 qos0 * 当发布请求为 `confirmable` 类型时,取值为 qos1 @@ -175,29 +175,29 @@ This option specifies the QoS level for the CoAP Client when publishing a messag lwm2m { desc { - en: """The LwM2M Gateway configuration. This gateway only supports the v1.0.1 protocol""" - zh: """LwM2M 网关配置。仅支持 v1.0.1 协议""" + en: """The LwM2M Gateway configuration. This gateway only supports the v1.0.1 protocol.""" + zh: """LwM2M 网关配置。仅支持 v1.0.1 协议。""" } } lwm2m_xml_dir { desc { - en: """The Directory for LwM2M Resource definition""" - zh: """LwM2M Resource 定义的 XML 文件目录路径""" + en: """The Directory for LwM2M Resource definition.""" + zh: """LwM2M Resource 定义的 XML 文件目录路径。""" } } lwm2m_lifetime_min { desc { - en: """Minimum value of lifetime allowed to be set by the LwM2M client""" - zh: """允许 LwM2M 客户端允许设置的心跳最小值""" + en: """Minimum value of lifetime allowed to be set by the LwM2M client.""" + zh: """允许 LwM2M 客户端允许设置的心跳最小值。""" } } lwm2m_lifetime_max { desc { - en: """Maximum value of lifetime allowed to be set by the LwM2M client""" - zh: """允许 LwM2M 客户端允许设置的心跳最大值""" + en: """Maximum value of lifetime allowed to be set by the LwM2M client.""" + zh: """允许 LwM2M 客户端允许设置的心跳最大值。""" } } @@ -207,14 +207,14 @@ This option specifies the QoS level for the CoAP Client when publishing a messag For example, after receiving an update message from a client, any messages within this time window are sent directly to the LwM2M client, and all messages beyond this time window are temporarily stored in memory.""" zh: """在QMode模式下,LwM2M网关认为网络链接有效的时间窗口的值。 -例如,在收到客户端的更新信息后,在这个时间窗口内的任何信息都会直接发送到LwM2M客户端,而超过这个时间窗口的所有信息都会暂时储存在内存中""" +例如,在收到客户端的更新信息后,在这个时间窗口内的任何信息都会直接发送到LwM2M客户端,而超过这个时间窗口的所有信息都会暂时储存在内存中。""" } } lwm2m_auto_observe { desc { - en: """Automatically observe the object list of REGISTER packet""" - zh: """自动 Observe REGISTER 数据包的 Object 列表""" + en: """Automatically observe the object list of REGISTER packet.""" + zh: """自动 Observe REGISTER 数据包的 Object 列表。""" } } @@ -226,15 +226,15 @@ For example, after receiving an update message from a client, any messages withi """ zh: """发布UPDATE事件消息的策略。 - always: 只要收到 UPDATE 请求,就发送更新事件。 - - contains_object_list: 仅当 UPDATE 请求携带 Object 列表时才发送更新事件 + - contains_object_list: 仅当 UPDATE 请求携带 Object 列表时才发送更新事件。 """ } } lwm2m_translators { desc { - en: """Topic configuration for LwM2M's gateway publishing and subscription""" - zh: """LwM2M 网关订阅/发布消息的主题映射配置""" + en: """Topic configuration for LwM2M's gateway publishing and subscription.""" + zh: """LwM2M 网关订阅/发布消息的主题映射配置。""" } } @@ -244,14 +244,14 @@ For example, after receiving an update message from a client, any messages withi For each new LwM2M client that succeeds in going online, the gateway creates a subscription relationship to receive downstream commands and send it to the LwM2M client""" zh: """下行命令主题。 -对于每个成功上线的新 LwM2M 客户端,网关会创建一个订阅关系来接收下行消息并将其发送给客户端""" +对于每个成功上线的新 LwM2M 客户端,网关会创建一个订阅关系来接收下行消息并将其发送给客户端。""" } } lwm2m_translators_response { desc { en: """The topic for gateway to publish the acknowledge events from LwM2M client""" - zh: """用于网关发布来自 LwM2M 客户端的确认事件的主题""" + zh: """用于网关发布来自 LwM2M 客户端的确认事件的主题。""" } } @@ -261,28 +261,28 @@ For each new LwM2M client that succeeds in going online, the gateway creates a s After succeed observe a resource of LwM2M client, Gateway will send the notify events via this topic, if the client reports any resource changes""" zh: """用于发布来自 LwM2M 客户端的通知事件的主题。 -在成功 Observe 到 LwM2M 客户端的资源后,如果客户端报告任何资源状态的变化,网关将通过该主题发送通知事件""" +在成功 Observe 到 LwM2M 客户端的资源后,如果客户端报告任何资源状态的变化,网关将通过该主题发送通知事件。""" } } lwm2m_translators_register { desc { en: """The topic for gateway to publish the register events from LwM2M client.""" - zh: """用于发布来自 LwM2M 客户端的注册事件的主题""" + zh: """用于发布来自 LwM2M 客户端的注册事件的主题。""" } } lwm2m_translators_update { desc { en: """The topic for gateway to publish the update events from LwM2M client""" - zh: """用于发布来自LwM2M客户端的更新事件的主题""" + zh: """用于发布来自LwM2M客户端的更新事件的主题。""" } } translator { desc { en: """MQTT topic that corresponds to a particular type of event.""" - zh: """配置某网关客户端对于发布消息或订阅的主题和 QoS 等级""" + zh: """配置某网关客户端对于发布消息或订阅的主题和 QoS 等级。""" } } @@ -412,28 +412,28 @@ After succeed observe a resource of LwM2M client, Gateway will send the notify e gateway_common_authentication { desc { en: """Default authentication configs for all the gateway listeners. For per-listener overrides see authentication\n in listener configs""" - zh: """网关的认证器配置,对该网关下所以的监听器生效。如果每个监听器需要配置不同的认证器,需要配置监听器下的 authentication 字段""" + zh: """网关的认证器配置,对该网关下所以的监听器生效。如果每个监听器需要配置不同的认证器,需要配置监听器下的 authentication 字段。""" } } tcp_udp_listeners { desc { en: """Settings for the listeners.""" - zh: """监听器配置""" + zh: """监听器配置。""" } } tcp_listeners { desc { en: """Settings for the TCP listeners.""" - zh: """配置 TCP 类型的监听器""" + zh: """配置 TCP 类型的监听器。""" } } udp_listeners { desc { en: """Settings for the UDP listeners.""" - zh: """配置 UDP 类型的监听器""" + zh: """配置 UDP 类型的监听器。""" } } @@ -454,7 +454,7 @@ After succeed observe a resource of LwM2M client, Gateway will send the notify e tcp_listener_tcp_opts{ desc { en: """Setting the TCP socket options.""" - zh: """TCP Socket 配置""" + zh: """TCP Socket 配置。""" } } @@ -484,7 +484,7 @@ EMQX will close the TCP connection if proxy protocol packet is not received with ssl_listener_options { desc { en: """SSL Socket options.""" - zh: """SSL Socket 配置""" + zh: """SSL Socket 配置。""" } } @@ -498,7 +498,7 @@ EMQX will close the TCP connection if proxy protocol packet is not received with udp_listener_udp_opts { desc { en: """Settings for the UDP sockets.""" - zh: """UDP Socket 配置 """ + zh: """UDP Socket 配置。""" } } @@ -535,7 +535,7 @@ See: https://erlang.org/doc/man/inet.html#setopts-2""" udp_listener_reuseaddr { desc { en: """Allow local reuse of port numbers.""" - zh: """允许重用本地处于 TIME_WAIT 的端口号""" + zh: """允许重用本地处于 TIME_WAIT 的端口号。""" } } diff --git a/apps/emqx_plugins/i18n/emqx_plugins_schema.conf b/apps/emqx_plugins/i18n/emqx_plugins_schema.conf index 4c2a2fbac..45c02242f 100644 --- a/apps/emqx_plugins/i18n/emqx_plugins_schema.conf +++ b/apps/emqx_plugins/i18n/emqx_plugins_schema.conf @@ -73,7 +73,7 @@ the subdirectory named as emqx_foo_bar-0.1.0. NOTE: For security reasons, this directory should **NOT** be writable by anyone except emqx (or any user which runs EMQX). """ - zh: "插件安装包的目录, 不要自己创建, 只能由emqx用户创建与修改" + zh: "插件安装包的目录,出于安全考虑,该目录应该值允许 emqx,或用于运行 EMQX 服务的用户拥有写入权限。" } label { en: "Install Directory" diff --git a/apps/emqx_psk/i18n/emqx_psk_i18n.conf b/apps/emqx_psk/i18n/emqx_psk_i18n.conf index 3a4e27ca3..6bba9c6d5 100644 --- a/apps/emqx_psk/i18n/emqx_psk_i18n.conf +++ b/apps/emqx_psk/i18n/emqx_psk_i18n.conf @@ -16,7 +16,7 @@ The IDs and secrets can be provided from a file which is configurable by the event_info_client_check_authz_complete() -> event_info_common( 'client.check_authz_complete', - {<<"client check authz complete">>, <<"鉴权结果"/utf8>>}, - {<<"client check authz complete">>, <<"鉴权结果"/utf8>>}, + {<<"client check authz complete">>, <<"授权结果"/utf8>>}, + {<<"client check authz complete">>, <<"授权结果"/utf8>>}, <<"SELECT * FROM \"$events/client_check_authz_complete\"">> ). event_info_session_subscribed() -> diff --git a/rel/emqx_conf.template.en.md b/rel/emqx_conf.template.en.md index 520ed4578..6471a6d66 100644 --- a/rel/emqx_conf.template.en.md +++ b/rel/emqx_conf.template.en.md @@ -94,14 +94,14 @@ Complex types define data 'boxes' which may contain other complex data or primitive values. There are quite some different primitive types, to name a few: -* `atom()` -* `boolean()` -* `string()` -* `integer()` -* `float()` -* `number()` -* `binary()` # another format of string() -* `emqx_schema:duration()` # time duration, another format of integer() +* `atom()`. +* `boolean()`. +* `string()`. +* `integer()`. +* `float()`. +* `number()`. +* `binary()`, another format of string(). +* `emqx_schema:duration()`, time duration, another format of integer() * ... ::: tip Tip diff --git a/rel/emqx_conf.template.zh.md b/rel/emqx_conf.template.zh.md index 86162a4a9..5cfecda82 100644 --- a/rel/emqx_conf.template.zh.md +++ b/rel/emqx_conf.template.zh.md @@ -1,28 +1,28 @@ -EMQX的配置文件格式是 [HOCON](https://github.com/emqx/hocon) . +EMQX的配置文件格式是 [HOCON](https://github.com/emqx/hocon) 。 HOCON(Human-Optimized Config Object Notation)是一个JSON的超集,非常适用于易于人类读写的配置数据存储。 ## 分层结构 EMQX的配置文件可分为三层,自底向上依次是: -1. 不可变的基础层 `emqx.conf` 加上 `EMQX_` 前缀的环境变量.
+1. 不可变的基础层 `emqx.conf` 加上 `EMQX_` 前缀的环境变量。
修改这一层的配置之后,需要重启节点来使之生效。 1. 集群范围重载层:`$EMQX_NODE__DATA_DIR/configs/cluster-override.conf` 1. 节点本地重载层:`$EMQX_NODE__DATA_DIR/configs/local-override.conf` -如果环境变量 `$EMQX_NODE__DATA_DIR` 没有设置,那么该目录会从 emqx.conf 的 `node.data_dir`配置中读取。 +如果环境变量 `$EMQX_NODE__DATA_DIR` 没有设置,那么该目录会从 `emqx.conf` 的 `node.data_dir` 配置中读取。 配置文件 `cluster-override.conf` 的内容会在运行时被EMQX重写。 这些重写发生在 dashboard UI,管理HTTP API,或者CLI对集群配置进行修改时。 当EMQX运行在集群中时,一个EMQX节点重启之后,会从集群中其他节点复制该文件内容到本地。 :::tip Tip -有些配置项是不能被重载的(例如 `node.name`). +有些配置项是不能被重载的(例如 `node.name`)。 配置项如果有 `mapping: path.to.boot.config.key` 这个属性, -则不能被添加到重载文件中 `*-override.conf` 中。 +则不能被添加到重载文件 `*-override.conf` 中。 ::: -更多的重载规则,请参考下文 [配置重载规则](#配置重载规则). +更多的重载规则,请参考下文 [配置重载规则](#配置重载规则)。 ## 配置文件语法 @@ -70,7 +70,7 @@ EMQX的配置文件中,有4中复杂数据结构类型,它们分别是: 1. Struct:结构体都是有类型名称的,结构体中可以有任意多个字段。 结构体和字段的名称由不带特殊字符的全小些字母组成,名称中可以带数字,但不得以数字开头,多个单词可用下划线分隔。 -1. Map: Map与Struct(结构体)类似,但是内部的字段不是预先定义好的. +1. Map: Map 与 Struct(结构体)类似,但是内部的字段不是预先定义好的。 1. Union: 联合 `MemberType1 | MemberType2 | ...`,可以理解为:“不是这个,就是那个” 1. Array: 数组 `[ElementType]` @@ -89,19 +89,19 @@ myarray.2 = 75 复杂类型定义了数据 "盒子",其中可能包含其他复杂数据或原始值。 有很多不同的原始类型,仅举几个例子。 -* 原子 `atom()` -* 布尔 `boolean()`. -* 字符串 `string()'。 -* 整形 `integer()'。 -* 浮点数 `float()'. -* 数值 `number()'。 -* 二进制编码的字符串 `binary()` # 是 `string()` 的另一种格式 -* 时间间隔 `emqx_schema:duration()` # 时间间隔,是 `integer()` 的另一种格式 +* 原子 `atom()`。 +* 布尔 `boolean()`。 +* 字符串 `string()`。 +* 整形 `integer()`。 +* 浮点数 `float()`。 +* 数值 `number()`。 +* 二进制编码的字符串 `binary()` 是 `string()` 的另一种格式。 +* 时间间隔 `emqx_schema:duration()` 是 `integer()` 的另一种格式。 * ... ::: tip Tip 原始类型的名称大多是自我描述的,所以不需要过多的注释。 -但是有一些不是那么直观的数据类型,则需要配合字段的描述文档进行理解 +但是有一些不是那么直观的数据类型,则需要配合字段的描述文档进行理解。 ::: @@ -110,7 +110,7 @@ myarray.2 = 75 如果我们把EMQX的配置值理解成一个类似目录树的结构,那么类似于文件系统中使用斜杠或反斜杠进行层级分割, EMQX使用的配置路径的层级分割符是 `'.'` -被`'.'`号分割的每一段,则是Struct(结构体)的字段,或Map的key. +被 `'.'` 号分割的每一段,则是 Struct(结构体)的字段,或 Map 的 key。 下面有几个例子: @@ -122,7 +122,7 @@ authentication.1.enable = true ### 环境变量重载 -因为`'.'` 分隔符不能使用于环境变量,所以我们需要使用另一个分割符。EMQX选用的是双下划线`__`。 +因为 `'.'` 分隔符不能使用于环境变量,所以我们需要使用另一个分割符。EMQX选用的是双下划线 `__`。 为了与其他的环境变量有所区分,EMQX还增加了一个前缀 `EMQX_` 来用作环境变量命名空间。 例如 `node.name` 的重载变量名是 `EMQX_NODE__NAME`。 @@ -154,7 +154,7 @@ EMQX_BRIDGES__MQTT__MYBRIDGE__CONNECTOR_SERVER='"localhost:1883"' [warning] unknown_env_vars: ["EMQX_AUTHENTICATION__ENABLED"] ``` -这是因为正确的字段名称是 `enable`,而不是 `enabled`. +这是因为正确的字段名称是 `enable`,而不是 `enabled`。 ::: ### 配置重载规则 @@ -168,8 +168,7 @@ HOCON的值是分层覆盖的,普遍规则如下: #### 结构体 -合并覆盖规则。在如下配置中,最后一行的 `debug` 值会覆盖覆盖原先`level`字段的 `error` 值 -但是`enable` 字段保持不变。 +合并覆盖规则。在如下配置中,最后一行的 `debug` 值会覆盖覆盖原先`level`字段的 `error` 值,但是 `enable` 字段保持不变。 ``` log { console_handler{ @@ -178,7 +177,7 @@ log { } } -## 控制台日志打印先定义为`error`级,后被覆写成`debug`级 +## 控制台日志打印先定义为 `error` 级,后被覆写成 `debug` 级 log.console_handler.level=debug ``` @@ -186,7 +185,7 @@ log.console_handler.level=debug #### Map Map与结构体类似,也是合并覆盖规则。 -如下例子中,`zone1` 的 `max_packet_size` 可以在文件后面覆写. +如下例子中,`zone1` 的 `max_packet_size` 可以在文件后面覆写。 ``` zone { From bb6c3ed4ae42f3a6ba4826c01478cc02aefff8db Mon Sep 17 00:00:00 2001 From: "Zaiming (Stone) Shi" Date: Thu, 27 Oct 2022 08:39:58 +0200 Subject: [PATCH 2/2] docs: fix more zh translation desc --- .../i18n/emqx_authz_api_cache_i18n.conf | 2 +- .../i18n/emqx_authz_api_schema_i18n.conf | 28 +++++++++---------- 2 files changed, 15 insertions(+), 15 deletions(-) diff --git a/apps/emqx_authz/i18n/emqx_authz_api_cache_i18n.conf b/apps/emqx_authz/i18n/emqx_authz_api_cache_i18n.conf index ea6960555..9c620a22d 100644 --- a/apps/emqx_authz/i18n/emqx_authz_api_cache_i18n.conf +++ b/apps/emqx_authz/i18n/emqx_authz_api_cache_i18n.conf @@ -2,7 +2,7 @@ emqx_authz_api_cache { authorization_cache_delete { desc { en: """Clean all authorization cache in the cluster.""" - zh: """清除集群中所有授权数据缓存""" + zh: """清除集群中所有授权数据缓存。""" } } } diff --git a/apps/emqx_authz/i18n/emqx_authz_api_schema_i18n.conf b/apps/emqx_authz/i18n/emqx_authz_api_schema_i18n.conf index 681cad7a2..afec5c109 100644 --- a/apps/emqx_authz/i18n/emqx_authz_api_schema_i18n.conf +++ b/apps/emqx_authz/i18n/emqx_authz_api_schema_i18n.conf @@ -1,8 +1,8 @@ emqx_authz_api_schema { enable { desc { - en: """Set to true or false to disable this ACL provider""" - zh: """设为 truefalse 以启用或禁用此访问控制数据源""" + en: """Set to true or false to disable this ACL provider.""" + zh: """设为 truefalse 以启用或禁用此访问控制数据源。""" } label { en: """enable""" @@ -13,7 +13,7 @@ emqx_authz_api_schema { type { desc { en: """Backend type.""" - zh: """数据后端类型""" + zh: """数据后端类型。""" } label { en: """type""" @@ -26,7 +26,7 @@ emqx_authz_api_schema { rules { desc { en: """Authorization static file rules.""" - zh: """静态授权文件规则""" + zh: """静态授权文件规则。""" } label { en: """rules""" @@ -39,7 +39,7 @@ emqx_authz_api_schema { method { desc { en: """HTTP method.""" - zh: """HTTP 请求方法""" + zh: """HTTP 请求方法。""" } label { en: """method""" @@ -50,7 +50,7 @@ emqx_authz_api_schema { url { desc { en: """URL of the auth server.""" - zh: """认证服务器 URL""" + zh: """认证服务器 URL。""" } label { en: """url""" @@ -72,7 +72,7 @@ emqx_authz_api_schema { headers_no_content_type { desc { en: """List of HTTP headers (without content-type).""" - zh: """HTTP Headers 列表(无 content-type)""" + zh: """HTTP Headers 列表(无 content-type)。""" } label { en: """headers_no_content_type""" @@ -83,7 +83,7 @@ emqx_authz_api_schema { body { desc { en: """HTTP request body.""" - zh: """HTTP 请求体""" + zh: """HTTP 请求体。""" } label { en: """body""" @@ -94,7 +94,7 @@ emqx_authz_api_schema { request_timeout { desc { en: """Request timeout.""" - zh: """请求超时时间""" + zh: """请求超时时间。""" } label { en: """request_timeout""" @@ -111,7 +111,7 @@ emqx_authz_api_schema { collection { desc { en: """`MongoDB` collection containing the authorization data.""" - zh: """`MongoDB` 授权数据集""" + zh: """`MongoDB` 授权数据集。""" } label { en: """collection""" @@ -153,7 +153,7 @@ Filter supports the following placeholders: cmd { desc { en: """Database query used to retrieve authorization data.""" - zh: """访问控制数据查询命令""" + zh: """访问控制数据查询命令。""" } label { en: """cmd""" @@ -166,7 +166,7 @@ Filter supports the following placeholders: query { desc { en: """Database query used to retrieve authorization data.""" - zh: """访问控制数据查询语句""" + zh: """访问控制数据查询语句。""" } label { en: """query""" @@ -178,8 +178,8 @@ Filter supports the following placeholders: position { desc { - en: """Where to place the source""" - zh: """认证数据源位置""" + en: """Where to place the source.""" + zh: """认证数据源位置。""" } label { en: """position"""