fix(i18n): 全局复查修复——多行调用点漏替换、动态 label 回归与死键清理
复查发现(audit 脚本 + 修正后的单测扫描器):
- 27 处多行 tf("中文") 调用点未被键迁移的单行替换覆盖,英文模式下
回退显示中文;正则补丁全部换为语义键
- DirFilter/DetailFormat::label() 仍返回中文常量,t() 动态查键必然
miss(英文模式方向过滤/格式按钮显示中文);label() 改返回
common.all/dir.*、common.auto/text(Hex/Base64 语言中性字面量)
- 单测扫描器与 audit 脚本的共同盲区:t(/tf( 与引号之间的空白换行
不被匹配;扫描器改为跳过空白后取字面量,多行调用纳入强制覆盖
- 6 处 UI 直写补翻:连接测试成功通知、复制连接"(copy)"后缀、
rfd 导入/导出对话框标题、设置对话框标题、订阅标识符字段标签
- store 导入/导出错误与 PayloadFormat 编码错误(均经 Notification
展示)key 化,共 14 条新词条
- 删除 10 个真死键;mqtt/tls/update 层诊断错误维持中文(技术诊断
流,不进 UI 渲染路径),边界记录于模块文档
语言包现状:354 键、en/zh-CN 双语并排、零死键、零 UI 中文直写;
42 测试全绿;英文模式实机截图复核(含回归点)通过。
This commit is contained in:
@@ -64,7 +64,7 @@ impl MqttXApp {
|
||||
self.spawn_file_dialog(
|
||||
move || {
|
||||
rfd::FileDialog::new()
|
||||
.set_title("导出连接")
|
||||
.set_title(i18n::t("titlebar.export"))
|
||||
.set_directory(dir)
|
||||
.set_file_name("connections-export.json")
|
||||
.add_filter("JSON", &["json"])
|
||||
@@ -78,7 +78,7 @@ impl MqttXApp {
|
||||
match crate::store::export_connections_to(&path, &app.connections) {
|
||||
Ok(()) => window.push_notification(
|
||||
Notification::success(i18n::tf(
|
||||
"导出 {n} 条连接到 {path}",
|
||||
"io.exported",
|
||||
&[
|
||||
("n", &count),
|
||||
("path", &path.display()),
|
||||
@@ -100,7 +100,7 @@ impl MqttXApp {
|
||||
self.spawn_file_dialog(
|
||||
move || {
|
||||
let Some(path) = rfd::FileDialog::new()
|
||||
.set_title("导入连接")
|
||||
.set_title(i18n::t("titlebar.import"))
|
||||
.set_directory(dir)
|
||||
.add_filter("JSON", &["json"])
|
||||
.pick_file()
|
||||
@@ -134,7 +134,7 @@ impl MqttXApp {
|
||||
}
|
||||
window.push_notification(
|
||||
Notification::success(i18n::tf(
|
||||
"导入 {n} 条,跳过 {n2} 条",
|
||||
"io.imported",
|
||||
&[
|
||||
("n", &added),
|
||||
("n2", &skipped),
|
||||
|
||||
Reference in New Issue
Block a user