"aliyun.access_key_id": "AccessKey ID" "aliyun.access_key_secret": "AccessKey Secret" "aliyun.auth_mode": "鉴权方式" "aliyun.auth_token_mode": "Group 令牌 (Token)" "aliyun.auth_triple_mode": "一机一密" "aliyun.build_failed": "无法生成连接: {e}" "aliyun.default_preset_name": "阿里云设备" "aliyun.device_id": "设备 ID" "aliyun.device_id_required": "Device ID 不能为空" "aliyun.device_secret": "DeviceSecret(一机一密)" "aliyun.device_secret_ph": "一机一密:DeviceSecret" "aliyun.generate_connect": "生成并连接" "aliyun.group": "分组(可选)" "aliyun.group_id": "Group ID" "aliyun.help": "Token 模式(云消息队列 MQTT 版):接入点 {实例ID}.mqtt.aliyuncs.com,clientId={GroupId}@@@{设备ID},密码为 HMAC-SHA1 签名;一机一密(物联网平台):接入点 {ProductKey}.iot-as-mqtt.{地域}.aliyuncs.com,按官方三元组规范签名" "aliyun.hmac_init_failed": "HMAC 初始化失败: {e}" "aliyun.instance_id": "实例 ID" "aliyun.instance_id_required": "Instance ID 不能为空" "aliyun.preset_name": "预设名称" "aliyun.product_key": "ProductKey(一机一密)" "aliyun.product_key_ph": "一机一密:ProductKey" "aliyun.region": "地域" "aliyun.region_ph": "如 cn-shanghai(可留空)" "aliyun.save_preset": "保存预设" "aliyun.saved_presets": "已保存预设" "aliyun.title": "阿里云 IoT 设备" "aliyun.token_required_fields": "Group ID、AccessKey ID 与 AccessKey Secret 不能为空" "aliyun.triple_requires_device_name": "一机一密需要 DeviceName(设备名)" "aliyun.triple_requires_pk_ds": "一机一密需要 ProductKey 与 DeviceSecret (设备密钥)" "color.blue": "蓝" "color.cyan": "青" "color.green": "绿" "color.indigo": "靛" "color.magenta": "品红" "color.orange": "橙" "color.purple": "紫" "color.red": "红" "color.rose": "玫红" "color.yellow": "黄" "common.advanced": "高级" "common.all": "全部" "common.auto": "自动" "common.browse": "浏览…" "common.cancel": "取消" "common.clear": "清空" "common.close": "关闭" "common.collapse": "收起" "common.delete": "删除" "common.edit": "编辑" "common.new": "新建" "common.pause": "暂停" "common.resume": "恢复" "common.retry": "重试" "common.save": "保存" "common.send": "发送" "common.subscribe": "订阅" "common.text": "文本" "common.update": "更新" "connview.logs": "日志" "connview.messages": "消息流" "connview.subscriptions": "订阅" "dir.published": "发布" "dir.received": "接收" "encode.base64_failed": "Base64 解码失败: {e}" "encode.hex_failed": "Hex 解码失败: {e}" "encode.hex_invalid": "Hex 解码失败: 含非十六进制字符" "encode.hex_odd": "Hex 长度必须为偶数(每两个字符一个字节)" "engine.cancelled": "连接已取消" "engine.connack_rejected": "连接被拒绝: {code}" "engine.connack_rejected_code": "连接被拒绝: {code} (code {n})" "engine.connect_failed": "连接失败: {e}" "engine.connect_ok": "连接成功 (session_present: {sp})" "engine.connecting": "正在连接 {host}:{port} ({protocol}, {transport})" "engine.connection_error": "连接错误: {e}" "engine.connection_not_found": "连接不存在" "engine.disconnect_received": "收到断开连接: {code} (code {n})" "engine.disconnected_by_server": "服务端断开" "engine.disconnected_by_server_active": "服务端主动断开" "engine.disconnected_by_server_code": "服务端断开: {code}" "engine.events_dropped": "UI 处理不过来,已累计丢弃 {n} 条高频事件(消息/日志)" "engine.internal_task_failed": "内部任务失败: {e}" "engine.puback": "发布确认 (packet {n})" "engine.puback_reason": "发布确认 (packet {n}, reason {reason})" "engine.pubcomp": "QoS2 发布完成 (packet {n})" "engine.publish_failed": "发布失败: {e}" "engine.publish_no_connection": "发布失败: 连接不存在" "engine.publish_outgoing": "消息已发出 (packet {n})" "engine.publish_sent": "发布消息到 {topic} (QoS {qos}, retain={retain})" "engine.pubrec": "QoS2 发布收到 (packet {n})" "engine.received_message": "收到消息: {topic} ({n} 字节)" "engine.received_message_qos": "收到消息: {topic} ({n} 字节, QoS {qos})" "engine.reconnect_give_up": "已重连 {attempts} 次仍失败,达到最大重连次数 {max},停止重连: {e}" "engine.reconnect_retry": "连接错误,{delay} 秒后重连(第 {attempts} 次): {e}" "engine.suback": "订阅确认 (packet {n})" "engine.suback_codes": "订阅确认 (packet {n}): {codes}" "engine.subscribe_rejected": "订阅被拒绝: {e}" "engine.subscribe_request_failed": "订阅请求失败: {e}" "engine.subscribe_topic": "订阅主题: {topic} (QoS {qos})" "engine.test_timeout": "连接测试超时({secs} 秒),请检查主机地址与端口" "engine.unsuback": "取消订阅确认" "engine.unsuback_packet": "取消订阅确认 (packet {n})" "engine.unsubscribe_failed": "取消订阅失败: {e}" "engine.unsubscribe_ok": "取消订阅: {topic}" "engine.user_disconnect": "用户请求断开连接" "form.auth_section": "认证与心跳" "form.auto_connect": "启动时自动连接" "form.auto_reconnect": "断线自动重连" "form.auto_resub": "连接后自动恢复订阅" "form.basics": "基本信息" "form.cert_pair_required": "客户端证书与客户端密钥必须同时填写" "form.clean_start": "Clean Start / Clean Session" "form.client_id": "Client ID" "form.client_id_required": "Client ID 不能为空" "form.conn_timeout": "连接超时 (秒)" "form.conn_timeout_invalid": "连接超时需要是 1~65535 的整数(秒)" "form.content_type_ph": "内容类型(可选)" "form.err_positive": "必须大于 0(0 是 MQTT 5 协议错误)" "form.err_range": "需要是 0~65535 的整数" "form.err_uint": "需要是非负整数" "form.group": "分组" "form.host": "主机" "form.host_required": "主机地址不能为空" "form.keep_alive": "Keep Alive (秒)" "form.keep_alive_short": "Keep Alive" "form.max_packet": "最大报文长度" "form.max_reconnects": "最大重连次数 (0=无限)" "form.max_reconnects_invalid": "最大重连次数需要是非负整数(0=无限)" "form.max_reconnects_ph": "0=无限重连" "form.name": "名称" "form.name_ph": "连接名称" "form.name_required": "连接名称不能为空" "form.new_group": "新建分组" "form.new_group_hint": "填写后优先于左侧所选分组" "form.no_group": "无分组" "form.password": "密码" "form.password_ph": "密码(可选)" "form.path_missing": "{label}路径不存在:{p}" "form.port": "端口" "form.port_invalid": "端口需要是 1~65535 的整数" "form.protocol": "协议" "form.receive_max": "接收最大值" "form.receive_max_invalid": "接收上限不能超过 65535" "form.receive_max_ph": "服务端接收上限" "form.receive_max_short": "接收上限" "form.regen_client_id": "重新生成 Client ID" "form.response_topic_ph": "响应主题(可选)" "form.saved_reconnect": "配置已保存,重连后生效" "form.session_expiry": "会话过期间隔(秒)" "form.session_expiry_invalid": "会话过期间隔需要是非负整数(0=会话随连接结束)" "form.session_expiry_ph": "秒(0=会话随连接结束)" "form.test": "测试连接" "form.test_ok": "连接测试成功" "form.testing": "测试中…" "form.timeout_ph": "秒(默认 10)" "form.title": "连接配置" "form.topic_alias": "主题别名" "form.topic_alias_invalid": "主题别名上限不能超过 65535" "form.topic_alias_max": "主题别名上限" "form.transport": "传输" "form.username": "用户名" "form.username_ph": "用户名(可选)" "form.will_content_type": "内容类型 (Content Type)" "form.will_enable": "启用遗嘱消息" "form.will_payload": "遗嘱内容" "form.will_payload_ph": "遗嘱消息" "form.will_response_topic": "响应主题 (Response Topic)" "form.will_section": "遗嘱消息 (Last Will)" "form.will_topic": "遗嘱主题" "form.ws_path": "WS 路径" "form.ws_path_required": "WS/WSS 传输下 WS 路径不能为空" "io.err_item_id": "第 {n} 项的 id 不能为空" "io.err_item_invalid": "第 {n} 项不是合法的连接配置: {e}" "io.err_missing_field": "JSON 对象中缺少 \"connections\" 数组字段" "io.err_parse_json": "解析 JSON 失败: {e}" "io.err_parse_json_path": "解析 {p} 失败" "io.err_read": "读取 {p} 失败: {e}" "io.err_serialize": "序列化连接失败: {e}" "io.err_utf8": "{p} 不是有效的 UTF-8 文件" "io.err_write": "写入 {p} 失败: {e}" "io.exported": "导出 {n} 条连接到 {path}" "io.imported": "导入 {n} 条,跳过 {n2} 条" "kv.add": "添加属性" "msg.binary_hint": "(非文本,详情可切 Hex)" "msg.clear_confirm": "确定清空当前连接的全部消息吗?此操作不可撤销。" "msg.clear_sub_filter": "清除订阅过滤" "msg.clear_title": "清空消息" "msg.clear_tooltip": "清空当前连接的消息" "msg.copy_details": "复制完整详情(含 v5 属性)" "msg.copy_payload": "复制负载原文" "msg.copy_topic": "复制主题" "msg.count": "{n} 条" "msg.details": "详情" "msg.details_copied": "已复制详情" "msg.empty": "暂无消息,订阅主题后消息会显示在这里" "msg.expiry": "消息过期" "msg.filter_placeholder": "过滤主题或内容…" "msg.latest_only": "仅显示最新 {n} 条" "msg.log_title": "连接日志" "msg.no_logs": "暂无日志" "msg.no_match": "没有匹配的消息" "msg.pause_tooltip": "暂停消息流滚动(消息仍在后台接收)" "msg.payload": "负载" "msg.payload_copied": "已复制负载" "msg.resume_tooltip": "恢复实时滚动" "msg.seconds": "{n} 秒" "msg.topic": "主题" "msg.topic_copied": "已复制主题" "msg.truncated": "已截断 {n}KB" "preset.default_name": "新预设" "preset.default_name_n": "新预设 {n}" "preset.empty": "暂无发布预设,点击上方「新建」创建" "preset.manage_title": "管理发布预设" "preset.name_exists": "预设名称「{name}」已存在" "preset.payload_field": "Payload(原文保存,发送时渲染变量)" "preset.payload_format": "Payload 格式" "preset.pick_delete_first": "请先选择要删除的预设" "preset.pick_first": "请先选择或新建预设" "preset.saved": "预设「{name}」已保存" "preset.section": "发布预设" "preset.user_props": "用户属性" "pub.collapse": "收起发布面板" "pub.collapsed_hint": "发布面板已收起" "pub.content_type_ph": "Content-Type(可选)" "pub.correlation_ph": "Correlation Data(可选)" "pub.delete_confirm": "确定删除预设「{name}」吗?此操作不可撤销。" "pub.delete_item": "删除「{name}」" "pub.delete_title": "删除预设" "pub.expand": "展开发布面板" "pub.expiry_field": "消息过期(秒)" "pub.expiry_invalid": "消息过期须为非负整数(秒)" "pub.json_invalid": "JSON 格式无效: {e}" "pub.manage_presets": "管理预设…" "pub.mqtt5_props": "MQTT 5 属性" "pub.offline_not_sent": "未连接:消息未发送" "pub.payload_placeholder": "输入消息负载,支持 {{变量名}} 与 {{$ts}} {{$uuid}}" "pub.payload_preset_ph": "消息负载,支持 {{变量名}}" "pub.preset_menu": "消息预设" "pub.preset_name_hint": "预设名称,如 温度上报" "pub.preset_name_required": "请填写预设名称" "pub.preset_overwritten": "已覆盖预设「{name}」" "pub.preset_saved": "预设已保存" "pub.response_topic_ph": "Response Topic(可选)" "pub.save_preset": "保存当前为预设…" "pub.save_title": "保存消息预设" "pub.seconds_hint": "秒,如 60" "pub.send_disabled": "未连接,无法发送" "pub.sent_hidden": "已发送(被当前过滤条件隐藏,消息流中不显示)" "pub.topic_placeholder": "发布主题" "pub.topic_preset_ph": "发布主题,支持 {{变量名}}" "pub.topic_required": "发布主题不能为空" "pub.vars": "变量注入" "pub.vars_count": "变量注入({n} 个占位符)" "resmon.auto_refresh": "自动刷新" "resmon.budget": "预算占用 {p}%({used} / {total})" "resmon.committed": "提交内存" "resmon.committed_hint": "进程独占的物理页承诺" "resmon.cpu": "CPU 占用" "resmon.cpu_hint": "按可用核数归一" "resmon.n_msgs": "{n} 条消息" "resmon.no_conn": "暂无连接" "resmon.peak": "峰值 {v}" "resmon.refresh_now": "立即刷新" "resmon.section": "消息与连接" "resmon.stats": "{n} 个连接(已连接 {m})· 打开标签 {t} · 内存消息 {msgs} 条(每连接上限 {cap} 条)· 日志 {logs} 条" "resmon.threads_handles": "线程 · 句柄" "resmon.threads_hint": "tokio 引擎 + GPUI 渲染" "resmon.uptime": "运行 {t}" "resmon.version_live": "版本 v{v} · 每 1.5 秒自动刷新" "resmon.version_paused": "版本 v{v} · 自动刷新已暂停" "resmon.working_set": "工作集内存" "settings.about": "关于" "settings.auto_update": "自动检查更新(启动时)" "settings.byte_budget": "另有每连接 {n}MB 的字节预算兜底:大报文流会优先按字节从最旧开始驱逐" "settings.data_dir": "数据目录" "settings.language": "界面语言" "settings.license": "Apache-2.0 许可证" "settings.log_dir": "日志目录" "settings.max_messages": "每条连接内存中保留的消息条数(100~100000)" "settings.mkdir_failed": "创建日志目录失败: {e}" "settings.open_dir": "打开目录" "settings.open_dir_failed": "打开目录失败: {e}" "settings.open_log_dir": "打开日志目录" "settings.show_millis": "时间戳显示毫秒" "settings.tagline": "对标 MQTTX 的 GPUI 跨平台 MQTT 调试客户端" "settings.theme": "界面主题" "settings.theme_preset": "主题预设" "settings.version_line": "版本 {v}(更新源 {src})" "sidebar.collapse": "收起侧栏(Ctrl+B)" "sidebar.connect": "连接" "sidebar.connections": "连接" "sidebar.delete": "删除连接" "sidebar.delete_confirm": "确定删除「{name}」?将同时删除 {sub_count} 个订阅,并断开当前连接,此操作不可撤销。" "sidebar.disconnect": "断开" "sidebar.dup_suffix": "{name} 副本" "sidebar.duplicate": "复制连接" "sidebar.empty": "还没有连接,点击上方 + 新建" "sidebar.expand": "展开连接侧栏(Ctrl+B)" "sidebar.no_match": "没有匹配的连接" "sidebar.search": "搜索连接…" "sidebar.ungrouped": "未分组" "ssl.ca": "CA 证书 (PEM)" "ssl.ca_ph": "CA 证书 PEM 路径(可选)" "ssl.cert": "客户端证书 (PEM)" "ssl.cert_ph": "客户端证书 PEM 路径(可选)" "ssl.key": "客户端密钥 (PEM)" "ssl.key_ph": "客户端私钥 PEM 路径(可选)" "ssl.n_configured": "已配置 {n} 项" "ssl.pick_file": "选择证书 / 密钥文件" "ssl.section": "SSL/TLS" "ssl.skip_verify": "忽略 CA 校验(不验证服务器证书)" "status.connected": "已连接" "status.connecting": "连接中" "status.disconnected": "未连接" "status.error": "错误" "sub.alias": "别名(可选)" "sub.cancel_edit": "取消编辑" "sub.collapse": "收起订阅面板" "sub.color": "订阅颜色" "sub.color_clear": "清除颜色" "sub.color_random": "随机颜色" "sub.disable": "停用订阅" "sub.edit": "编辑订阅" "sub.editing": "正在编辑:{topic}" "sub.empty_hint": "订阅主题后,消息会显示在右侧" "sub.enable": "启用订阅" "sub.expand": "展开订阅面板" "sub.failed": "订阅失败: {e}" "sub.identifier": "订阅标识符" "sub.identifier_field": "订阅标识符" "sub.identifier_invalid": "订阅标识符须为正整数" "sub.mqtt5_options": "MQTT 5 订阅选项" "sub.no_local": "No Local" "sub.rap": "Retain As Published" "sub.retain_handling": "Retain Handling" "sub.rh0": "0 每次发送" "sub.rh1": "1 仅新订阅" "sub.rh2": "2 不发送" "sub.saved_offline": "未连接:订阅已保存" "sub.saved_offline_resub": "未连接:订阅已保存,连接后自动恢复" "sub.topic_placeholder": "订阅主题,支持 # +,多个用逗号/空格分隔" "sub.topic_required": "订阅主题不能为空" "sub.unsubscribe": "取消订阅" "tab.welcome_hint": "从左侧选择一个连接,或新建连接开始调试" "tab.welcome_title": "开始使用 MQTTX" "theme.dark": "深色" "theme.light": "浅色" "theme.system": "跟随系统" "titlebar.aliyun": "阿里云设备" "titlebar.export": "导出连接" "titlebar.import": "导入连接" "titlebar.new_connection": "新建连接" "titlebar.pin": "置顶窗口" "titlebar.pin_failed": "置顶操作失败" "titlebar.resmon": "资源监控" "titlebar.settings": "设置" "titlebar.subtitle": "MQTT 调试客户端" "titlebar.switch_dark": "切换为深色" "titlebar.switch_light": "切换为浅色" "titlebar.unpin": "取消窗口置顶" "titlebar.variables": "全局变量" "tls.ca_invalid_cert": "CA 文件 {p} 中存在无效证书: {e}" "tls.ca_no_certs": "CA 文件 {p} 中没有找到任何证书" "tls.ca_parse_failed": "解析 CA 文件 {p} 失败: {e}" "tls.ca_read_failed": "读取 CA 文件 {p} 失败: {e}" "tls.cert_key_pair_required": "客户端证书与客户端密钥必须同时配置" "tls.client_auth_failed": "加载客户端证书/私钥失败: {e}" "tls.client_cert_no_certs": "客户端证书文件 {p} 中没有找到证书" "tls.client_cert_parse_failed": "解析客户端证书文件 {p} 失败: {e}" "tls.client_cert_read_failed": "读取客户端证书文件 {p} 失败: {e}" "tls.client_key_parse_failed": "解析客户端私钥文件 {p} 失败: {e}" "tls.client_key_read_failed": "读取客户端私钥文件 {p} 失败: {e}" "tls.init_failed": "TLS 初始化失败: {e}" "tls.native_roots_failed": "加载系统根证书失败: {detail}" "update.apply": "立即更新到 v{v}" "update.check": "检查更新" "update.check_hint": "检查 GitHub Releases 上的新版本" "update.checking": "检查中…" "update.checking_long": "正在检查更新…" "update.discard": "放弃此次更新" "update.discarded": "已删除暂存的更新包" "update.downloading": "下载中 {pct}%({done} / {total})" "update.downloading_size": "下载中 {done}" "update.failed": "更新失败:{e}" "update.found": "发现新版本 v{v},下载后自动替换重启" "update.install_failed": "安装失败:{e}" "update.install_later": "下次启动安装" "update.install_now": "立即安装" "update.not_now": "暂不更新" "update.ready": "新版本 v{v} 已下载并通过校验,等待安装" "update.ready_body": "新版本 v{v} 已下载完成(已通过 sha256 校验)。" "update.ready_title": "更新就绪" "update.recheck": "重新检查" "update.staged": "已暂存,下次启动时将自动安装" "update.up_to_date": "已是最新版本" "var.builtin_inline": "内置:{{$ts}}(秒) {{$ts_ms}}(毫秒) {{$uuid}} · 发布时注入" "var.dialog_builtin": "内置变量:{{$ts}}(秒)、{{$ts_ms}}(毫秒)、{{$uuid}}" "var.dialog_hint": "在发布主题、消息负载中使用 {{变量名}} 引用。" "var.no_reference": "主题/负载中没有 {{变量}} 引用" "var.preview": "预览:{tp} | {pl}" "var.reextract": "重新提取占位符" "var.section": "变量({n})" "var.value": "变量值" "will.enabled_hint": "已启用" "will.topic_required": "遗嘱主题不能为空" "will.topic_wildcard": "遗嘱主题不能包含通配符 + 或 #" # MQTTX zh-CN 文案(rust-i18n:文件名即 locale,扁平 key: value)。 # key = 语义标识符 ns.name;en/zh-CN 两文件键集合必须一致——单测强制。