From 43f73ca4caedbc047bdc3a635e3d9763a471baed Mon Sep 17 00:00:00 2001 From: dienaso <89768641@qq.com> Date: Sun, 26 Jul 2026 11:55:17 +0800 Subject: [PATCH] fix(i18n): add missing zh-CN translation keys --- .../src/components/layout/ContentArea.vue | 4 +- .../__tests__/cachedResultMessages.spec.ts | 39 +++++++++++++++++++ apps/desktop/src/i18n/locales/es.ts | 12 ++++++ apps/desktop/src/i18n/locales/it.ts | 12 ++++++ apps/desktop/src/i18n/locales/ja.ts | 12 ++++++ apps/desktop/src/i18n/locales/pt-BR.ts | 12 ++++++ apps/desktop/src/i18n/locales/zh-CN.ts | 12 ++++++ apps/desktop/src/i18n/locales/zh-TW.ts | 12 ++++++ 8 files changed, 113 insertions(+), 2 deletions(-) create mode 100644 apps/desktop/src/i18n/__tests__/cachedResultMessages.spec.ts diff --git a/apps/desktop/src/components/layout/ContentArea.vue b/apps/desktop/src/components/layout/ContentArea.vue index 0061278a4b..cb205a50bc 100644 --- a/apps/desktop/src/components/layout/ContentArea.vue +++ b/apps/desktop/src/components/layout/ContentArea.vue @@ -1231,9 +1231,9 @@ defineExpose({ focusSearch, refreshData, refreshQueryEditorCompletionCache, hand @cancel="emit('cancel')" />
-
{{ t("editor.cachedResultUnavailable") }}
+
{{ t("grid.cachedResultUnavailable") }}
diff --git a/apps/desktop/src/i18n/__tests__/cachedResultMessages.spec.ts b/apps/desktop/src/i18n/__tests__/cachedResultMessages.spec.ts new file mode 100644 index 0000000000..4e71abbe11 --- /dev/null +++ b/apps/desktop/src/i18n/__tests__/cachedResultMessages.spec.ts @@ -0,0 +1,39 @@ +import { readFileSync } from "node:fs"; +import { describe, expect, it as test } from "vitest"; +import en from "@/i18n/locales/en"; +import es from "@/i18n/locales/es"; +import it from "@/i18n/locales/it"; +import ja from "@/i18n/locales/ja"; +import ptBR from "@/i18n/locales/pt-BR"; +import zhCN from "@/i18n/locales/zh-CN"; +import zhTW from "@/i18n/locales/zh-TW"; + +const contentAreaSource = readFileSync(new URL("../../components/layout/ContentArea.vue", import.meta.url), "utf8"); + +function cachedResultMessages(messages: Record): Record { + return messages.grid as Record; +} + +describe("cached result messages", () => { + test.each([ + ["English", en], + ["Spanish", es], + ["Italian", it], + ["Japanese", ja], + ["Brazilian Portuguese", ptBR], + ["Simplified Chinese", zhCN], + ["Traditional Chinese", zhTW], + ])("provides the missing-result actions in %s", (_locale, messages) => { + const grid = cachedResultMessages(messages); + + expect(grid.cachedResultUnavailable).toEqual(expect.any(String)); + expect(grid.reexecuteQuery).toEqual(expect.any(String)); + }); + + test("uses the grid namespace from the cached-result fallback UI", () => { + expect(contentAreaSource).toContain('t("grid.cachedResultUnavailable")'); + expect(contentAreaSource).toContain('t("grid.reexecuteQuery")'); + expect(contentAreaSource).not.toContain('t("editor.cachedResultUnavailable")'); + expect(contentAreaSource).not.toContain('t("editor.reexecuteQuery")'); + }); +}); diff --git a/apps/desktop/src/i18n/locales/es.ts b/apps/desktop/src/i18n/locales/es.ts index 43c9ef5204..43c3a42c55 100644 --- a/apps/desktop/src/i18n/locales/es.ts +++ b/apps/desktop/src/i18n/locales/es.ts @@ -1233,6 +1233,8 @@ export default withEnglishFallback({ truncatedHint: "Los resultados se truncaron después de cargar {count} filas. Usa la paginación inferior para explorar los datos cargados; al exportar el resultado completo se vuelve a consultar la base de datos.", filterBuilderSearchColumns: "Buscar columnas...", filterBuilderNoMatchingColumns: "Sin columnas coincidentes", + cachedResultUnavailable: "Resultado en caché faltante o incompatible.", + reexecuteQuery: "Volver a ejecutar consulta", }, exportProgress: { title: "Exportando datos de la tabla", @@ -2033,6 +2035,8 @@ export default withEnglishFallback({ objectBrowser: "Explorar en el navegador de objetos ({count})", extensions: "Extensiones", types: "tipo", + gridfs: "GridFS", + buckets: "Buckets", }, userAdmin: { title: "Usuarios y Privilegios", @@ -5262,6 +5266,14 @@ export default withEnglishFallback({ killConfirm: "¿Está seguro de que desea terminar la sesión {id} ({user})? La sentencia actual se cancelará y la conexión se cerrará.", killSuccess: "Sesión {id} terminada", killFailed: "Error al terminar la sesión: {message}", + colPid: "PID", + colClient: "Cliente", + colApp: "Aplicación", + colWait: "Espera", + colQuery: "Consulta", + previewTitle: "Sentencia", + copy: "Copiar", + copied: "Copiado", }, serverDashboard: { title: "Panel de control del servidor", diff --git a/apps/desktop/src/i18n/locales/it.ts b/apps/desktop/src/i18n/locales/it.ts index 756ed1335d..2f5c016030 100644 --- a/apps/desktop/src/i18n/locales/it.ts +++ b/apps/desktop/src/i18n/locales/it.ts @@ -1231,6 +1231,8 @@ export default withEnglishFallback({ truncatedHint: "I risultati sono stati troncati dopo il caricamento di {count} righe. Usa la paginazione in basso per consultare i dati caricati; l'esportazione del risultato completo riesegue la query sul database.", filterBuilderSearchColumns: "Cerca campi...", filterBuilderNoMatchingColumns: "Nessun campo corrispondente", + cachedResultUnavailable: "Risultato in cache mancante o non compatibile.", + reexecuteQuery: "Esegui di nuovo la query", }, exportProgress: { title: "Esportazione Dati Tabella", @@ -2031,6 +2033,8 @@ export default withEnglishFallback({ objectBrowser: "Sfoglia in Esplora Oggetti ({count})", extensions: "Estensioni", types: "Tipi", + gridfs: "GridFS", + buckets: "Buckets", }, userAdmin: { title: "Utenti e Privilegi", @@ -5260,6 +5264,14 @@ export default withEnglishFallback({ killConfirm: "Sei sicuro di voler terminare la sessione {id} ({user})? La dichiarazione corrente verrà interrotta e la connessione verrà chiusa.", killSuccess: "Sessione {id} terminata", killFailed: "Terminazione sessione non riuscita: {message}", + colPid: "PID", + colClient: "Client", + colApp: "Applicazione", + colWait: "Attesa", + colQuery: "Query", + previewTitle: "Istruzione", + copy: "Copia", + copied: "Copiato", }, serverDashboard: { title: "Dashboard del server", diff --git a/apps/desktop/src/i18n/locales/ja.ts b/apps/desktop/src/i18n/locales/ja.ts index 2d61c716ab..59e87fcd9e 100644 --- a/apps/desktop/src/i18n/locales/ja.ts +++ b/apps/desktop/src/i18n/locales/ja.ts @@ -1232,6 +1232,8 @@ export default withEnglishFallback({ redoChange: "変更をやり直す", filterBuilderSearchColumns: "フィールドを検索...", filterBuilderNoMatchingColumns: "一致するフィールドがありません", + cachedResultUnavailable: "キャッシュ結果が不足しているか互換性がありません。", + reexecuteQuery: "クエリを再実行", }, exportProgress: { title: "テーブルデータをエクスポート中", @@ -2032,6 +2034,8 @@ export default withEnglishFallback({ materializedViews: "マテリアライズドビュー", extensions: "拡張機能", types: "タイプ", + gridfs: "GridFS", + buckets: "バケット", }, zookeeper: { prefixPlaceholder: "パスプレフィックス(例: /app/)", @@ -5260,6 +5264,14 @@ export default withEnglishFallback({ killConfirm: "セッション {id}({user})を強制終了しますか?現在のステートメントは中断され、接続が閉じられます。", killSuccess: "セッション {id} を強制終了しました。", killFailed: "セッションの強制終了に失敗しました:{message}", + colPid: "PID", + colClient: "クライアント", + colApp: "アプリケーション", + colWait: "待機", + colQuery: "クエリ", + previewTitle: "ステートメント", + copy: "コピー", + copied: "コピー済み", }, serverDashboard: { title: "サーバーダッシュボード", diff --git a/apps/desktop/src/i18n/locales/pt-BR.ts b/apps/desktop/src/i18n/locales/pt-BR.ts index 4c608c1b62..29f678af33 100644 --- a/apps/desktop/src/i18n/locales/pt-BR.ts +++ b/apps/desktop/src/i18n/locales/pt-BR.ts @@ -1233,6 +1233,8 @@ export default withEnglishFallback({ truncatedHint: "Os resultados foram truncados após carregar {count} linhas. Use a paginação no rodapé para navegar pelos dados carregados; exportar o resultado completo executa novamente a consulta no banco de dados.", filterBuilderSearchColumns: "Pesquisar campos...", filterBuilderNoMatchingColumns: "Nenhum campo correspondente", + cachedResultUnavailable: "Resultado em cache ausente ou incompatível.", + reexecuteQuery: "Reexecutar consulta", }, exportProgress: { title: "Exportando Dados da Tabela", @@ -2033,6 +2035,8 @@ export default withEnglishFallback({ objectBrowser: "Navegar no Navegador de Objetos ({count})", extensions: "Extensões", types: "Tipos", + gridfs: "GridFS", + buckets: "Buckets", }, userAdmin: { title: "Usuários e Privilégios", @@ -5262,6 +5266,14 @@ export default withEnglishFallback({ killConfirm: "Tem certeza de que deseja encerrar a sessão {id} ({user})? Sua instrução atual será abortada e a conexão será fechada.", killSuccess: "Sessão {id} encerrada.", killFailed: "Falha ao encerrar a sessão: {message}", + colPid: "PID", + colClient: "Cliente", + colApp: "Aplicativo", + colWait: "Espera", + colQuery: "Consulta", + previewTitle: "Declaração", + copy: "Copiar", + copied: "Copiado", }, serverDashboard: { title: "Painel do Servidor", diff --git a/apps/desktop/src/i18n/locales/zh-CN.ts b/apps/desktop/src/i18n/locales/zh-CN.ts index da1bc01e98..9dacd86c33 100644 --- a/apps/desktop/src/i18n/locales/zh-CN.ts +++ b/apps/desktop/src/i18n/locales/zh-CN.ts @@ -1265,6 +1265,8 @@ export default withEnglishFallback({ dataUnavailable: "表数据需要重新加载。", dataUnavailableHintPrefix: "按 ", dataUnavailableHintSuffix: " 或点击下方刷新按钮重新加载。", + cachedResultUnavailable: "缓存结果缺失或不兼容。", + reexecuteQuery: "重新运行查询", refresh: "刷新", undoChange: "撤销更改", redoChange: "重做更改", @@ -2085,6 +2087,8 @@ export default withEnglishFallback({ sequences: "序列", packages: "包", types: "类型", + gridfs: "GridFS", + buckets: "Buckets", partitions: "分区", subpartitions: "子分区", childTables: "子表", @@ -2118,6 +2122,11 @@ export default withEnglishFallback({ colTime: "时长", colState: "状态", colInfo: "SQL", + colPid: "PID", + colClient: "客户端", + colApp: "应用", + colWait: "等待", + colQuery: "查询", colActions: "操作", self: "当前", kill: "终止", @@ -2127,6 +2136,9 @@ export default withEnglishFallback({ killConfirm: "确定终止会话 {id}({user})?其当前语句将被中止,连接将被关闭。", killSuccess: "已终止会话 {id}", killFailed: "终止会话失败:{message}", + previewTitle: "语句", + copy: "复制", + copied: "已复制", }, serverDashboard: { title: "服务器仪表盘", diff --git a/apps/desktop/src/i18n/locales/zh-TW.ts b/apps/desktop/src/i18n/locales/zh-TW.ts index 8ba9e0abd4..ee05c6b297 100644 --- a/apps/desktop/src/i18n/locales/zh-TW.ts +++ b/apps/desktop/src/i18n/locales/zh-TW.ts @@ -1232,6 +1232,8 @@ export default withEnglishFallback({ truncatedHint: "結果已截斷,已載入前 {count} 筆。可透過底部分頁瀏覽已載入資料;匯出完整結果時會重新查詢資料庫。", filterBuilderSearchColumns: "搜尋欄位...", filterBuilderNoMatchingColumns: "沒有匹配的欄位", + cachedResultUnavailable: "快取結果缺失或不相容。", + reexecuteQuery: "重新執行查詢", }, exportProgress: { title: "匯出資料表資料", @@ -2032,6 +2034,8 @@ export default withEnglishFallback({ objectBrowser: "在物件瀏覽器中檢視 ({count})", extensions: "擴展", types: "類型", + gridfs: "GridFS", + buckets: "Buckets", }, objects: { all: "全部", @@ -5258,6 +5262,14 @@ export default withEnglishFallback({ killConfirm: "確定終止會話 {id}({user})?其目前的陳述式將被中止,連線將被關閉。", killSuccess: "已終止會話 {id}", killFailed: "終止會話失敗:{message}", + colPid: "PID", + colClient: "用戶端", + colApp: "應用程式", + colWait: "等待", + colQuery: "查詢", + previewTitle: "語句", + copy: "複製", + copied: "已複製", }, serverDashboard: { title: "伺服器儀表板",