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: "伺服器儀表板",