From a04ba3abd47522c1e2e05cfb9106857a8f61d00f Mon Sep 17 00:00:00 2001 From: t8y2 <1156263951@qq.com> Date: Wed, 9 Sep 2026 14:49:02 +0800 Subject: [PATCH] chore(i18n): translate redis key grouping strings for six locales --- apps/desktop/src/i18n/locales/es.ts | 2 + apps/desktop/src/i18n/locales/it.ts | 2 + apps/desktop/src/i18n/locales/ja.ts | 2 + apps/desktop/src/i18n/locales/ko.ts | 2 + apps/desktop/src/i18n/locales/pt-BR.ts | 2 + .../desktop/src/i18n/locales/redisGrouping.ts | 169 ++++++++++++++++++ apps/desktop/src/i18n/locales/tr.ts | 2 + 7 files changed, 181 insertions(+) diff --git a/apps/desktop/src/i18n/locales/es.ts b/apps/desktop/src/i18n/locales/es.ts index 7ac50a3ebe..79d90ff3aa 100644 --- a/apps/desktop/src/i18n/locales/es.ts +++ b/apps/desktop/src/i18n/locales/es.ts @@ -1,5 +1,6 @@ import { withEnglishFallback } from "./fallback"; import { meilisearchManagementEs } from "./meilisearchManagement"; +import { redisGroupingEs as redisGrouping } from "./redisGrouping"; import docs from "./docs/es"; import { consulUiMessages } from "./consulUi"; import { nacosAccessControlMessages, nacosAccessControlTabs } from "./nacosAccessControl"; @@ -7,6 +8,7 @@ import { sqlServerTraceMessages as sqlServerTrace } from "./sqlServerTraceMessag const consul = { ...consulUiMessages, + redisGrouping, prefixPlaceholder: "Key prefix, e.g. app/ or services/", newKey: "New Key", loadingKeys: "Loading keys...", diff --git a/apps/desktop/src/i18n/locales/it.ts b/apps/desktop/src/i18n/locales/it.ts index 7a465c54ee..177259a3a7 100644 --- a/apps/desktop/src/i18n/locales/it.ts +++ b/apps/desktop/src/i18n/locales/it.ts @@ -1,11 +1,13 @@ import { withEnglishFallback } from "./fallback"; import { meilisearchManagementIt } from "./meilisearchManagement"; +import { redisGroupingIt as redisGrouping } from "./redisGrouping"; import docs from "./docs/it"; import { consulUiMessages } from "./consulUi"; import { nacosAccessControlMessages, nacosAccessControlTabs } from "./nacosAccessControl"; import { sqlServerTraceMessages as sqlServerTrace } from "./sqlServerTraceMessages"; const consul = { ...consulUiMessages, + redisGrouping, prefixPlaceholder: "Key prefix, e.g. app/ or services/", newKey: "New Key", loadingKeys: "Loading keys...", diff --git a/apps/desktop/src/i18n/locales/ja.ts b/apps/desktop/src/i18n/locales/ja.ts index 04ae0feaeb..cc3dbad6a8 100644 --- a/apps/desktop/src/i18n/locales/ja.ts +++ b/apps/desktop/src/i18n/locales/ja.ts @@ -4,9 +4,11 @@ import { consulUiMessages } from "./consulUi"; import { nacosAccessControlMessages, nacosAccessControlTabs } from "./nacosAccessControl"; import { sqlServerTraceMessages as sqlServerTrace } from "./sqlServerTraceMessages"; import { meilisearchManagementJa } from "./meilisearchManagement"; +import { redisGroupingJa as redisGrouping } from "./redisGrouping"; const consul = { ...consulUiMessages, + redisGrouping, prefixPlaceholder: "Key prefix, e.g. app/ or services/", newKey: "New Key", loadingKeys: "Loading keys...", diff --git a/apps/desktop/src/i18n/locales/ko.ts b/apps/desktop/src/i18n/locales/ko.ts index b156978122..f4e6ae4395 100644 --- a/apps/desktop/src/i18n/locales/ko.ts +++ b/apps/desktop/src/i18n/locales/ko.ts @@ -1,11 +1,13 @@ import { withEnglishFallback } from "./fallback"; import { meilisearchManagementKo } from "./meilisearchManagement"; +import { redisGroupingKo as redisGrouping } from "./redisGrouping"; import docs from "./docs/ko"; import { consulUiMessages } from "./consulUi"; import { sqlServerTraceMessages as sqlServerTrace } from "./sqlServerTraceMessages"; const consul = { ...consulUiMessages, + redisGrouping, prefixPlaceholder: "Key prefix, e.g. app/ or services/", newKey: "New Key", loadingKeys: "Loading keys...", diff --git a/apps/desktop/src/i18n/locales/pt-BR.ts b/apps/desktop/src/i18n/locales/pt-BR.ts index 21a8de1123..338f69b996 100644 --- a/apps/desktop/src/i18n/locales/pt-BR.ts +++ b/apps/desktop/src/i18n/locales/pt-BR.ts @@ -1,5 +1,6 @@ import { withEnglishFallback } from "./fallback"; import { meilisearchManagementPtBR } from "./meilisearchManagement"; +import { redisGroupingPtBR as redisGrouping } from "./redisGrouping"; import docs from "./docs/pt-BR"; import { consulUiMessages } from "./consulUi"; import { nacosAccessControlMessages, nacosAccessControlTabs } from "./nacosAccessControl"; @@ -7,6 +8,7 @@ import { sqlServerTraceMessages as sqlServerTrace } from "./sqlServerTraceMessag const consul = { ...consulUiMessages, + redisGrouping, prefixPlaceholder: "Key prefix, e.g. app/ or services/", newKey: "New Key", loadingKeys: "Loading keys...", diff --git a/apps/desktop/src/i18n/locales/redisGrouping.ts b/apps/desktop/src/i18n/locales/redisGrouping.ts index a91939baa8..4356852e97 100644 --- a/apps/desktop/src/i18n/locales/redisGrouping.ts +++ b/apps/desktop/src/i18n/locales/redisGrouping.ts @@ -82,3 +82,172 @@ export const redisGroupingZhTW = { emptyKey: "(空 Key)", selectLoaded: "選擇已載入匹配項", }; + +export const redisGroupingEs = { + preparingLegacy: "Preparando la vista anterior; los grupos personalizados siguen disponibles…", + fuzzyTreeUnavailable: "Esta búsqueda difusa supera el límite de recursos de la vista de árbol existente. Elige Lista para explorar las coincidencias cargadas o acota la búsqueda para usar Árbol.", + useList: "Usar lista", + settings: "Reglas de agrupación", + toggle: "Grupos personalizados", + list: "Lista", + tree: "Árbol", + help: "Reglas a nivel de conexión, gana la primera coincidencia. Un glob de Redis por línea, con distinción de mayúsculas (*, ?, [a-z], barra invertida como escape). Las inclusiones se combinan con OR; las exclusiones tienen prioridad. Inclusiones vacías lo coinciden todo. Los recuentos cubren solo las claves cargadas. Los grupos no son límites de eliminación.", + enabled: "Activar regla", + name: "Nombre del grupo", + up: "Subir", + down: "Bajar", + remove: "Quitar", + includes: "Patrones de inclusión", + excludes: "Patrones de exclusión", + add: "Añadir regla", + example: "Añadir ejemplo de Redisson", + invalid: "Introduce IDs de regla únicos, un nombre y al menos un patrón por regla (máximo 64 reglas, 64 patrones por lista, 1024 bytes por patrón).", + cancel: "Cancelar", + save: "Guardar", + unmatched: "Sin coincidencia", + preparing: "Actualizando los grupos cargados…", + loadedOnly: "Los grupos muestran solo las coincidencias cargadas; expandir no escanea Redis.", + count: "({count} cargadas)", + emptyKey: "(clave vacía)", + selectLoaded: "Seleccionar coincidencias cargadas", +}; +export const redisGroupingIt = { + preparingLegacy: "Preparazione della vista precedente; i gruppi personalizzati restano disponibili…", + fuzzyTreeUnavailable: "Questa ricerca fuzzy supera il limite di risorse della vista ad albero esistente. Scegli Elenco per sfogliare le corrispondenze caricate oppure restringi la ricerca per usare Albero.", + useList: "Usa elenco", + settings: "Regole di raggruppamento", + toggle: "Gruppi personalizzati", + list: "Elenco", + tree: "Albero", + help: "Regole a livello di connessione, vince la prima corrispondenza. Un glob Redis per riga, con distinzione tra maiuscole e minuscole (*, ?, [a-z], escape con barra rovesciata). Le inclusioni sono in OR; le esclusioni hanno priorità. Inclusioni vuote corrispondono a tutto. I conteggi coprono solo le chiavi caricate. I gruppi non sono confini di eliminazione.", + enabled: "Attiva regola", + name: "Nome gruppo", + up: "Sposta su", + down: "Sposta giù", + remove: "Rimuovi", + includes: "Pattern di inclusione", + excludes: "Pattern di esclusione", + add: "Aggiungi regola", + example: "Aggiungi esempio Redisson", + invalid: "Inserisci ID regola univoci, un nome e almeno un pattern per regola (massimo 64 regole, 64 pattern per elenco, 1024 byte per pattern).", + cancel: "Annulla", + save: "Salva", + unmatched: "Non corrispondenti", + preparing: "Aggiornamento dei gruppi caricati…", + loadedOnly: "I gruppi mostrano solo le corrispondenze caricate; espandere non esegue la scansione di Redis.", + count: "({count} caricati)", + emptyKey: "(chiave vuota)", + selectLoaded: "Seleziona corrispondenze caricate", +}; +export const redisGroupingJa = { + preparingLegacy: "以前のビューを準備中。カスタムグループは引き続き利用できます…", + fuzzyTreeUnavailable: "このあいまい検索は既存ツリービューのリソース上限を超えています。リストを選んで読み込み済みの一致を参照するか、検索範囲を絞ってツリーを利用してください。", + useList: "リストを使用", + settings: "グループ化ルール", + toggle: "カスタムグループ", + list: "リスト", + tree: "ツリー", + help: "ルールは接続単位で保存され、先頭順に最初に一致したものが適用されます。1 行に 1 つの大文字小文字を区別する Redis glob(*、?、[a-z]、バックスラッシュエスケープ)。包含は OR、除外が優先。包含が空ならすべてに一致。カウントは読み込み済みキーのみ。グループは削除境界ではありません。", + enabled: "ルールを有効化", + name: "グループ名", + up: "上へ移動", + down: "下へ移動", + remove: "削除", + includes: "包含パターン", + excludes: "除外パターン", + add: "ルールを追加", + example: "Redisson の例を追加", + invalid: "一意のルール ID、名前、各ルールに 1 つ以上のパターンを入力してください(最大 64 ルール、リストごとに 64 パターン、パターンあたり 1024 バイト)。", + cancel: "キャンセル", + save: "保存", + unmatched: "不一致", + preparing: "読み込み済みグループを更新中…", + loadedOnly: "グループは読み込み済みの一致のみ表示します。展開しても Redis はスキャンしません。", + count: "({count} 件読み込み済み)", + emptyKey: "(空キー)", + selectLoaded: "読み込み済みの一致を選択", +}; +export const redisGroupingKo = { + preparingLegacy: "이전 보기를 준비하는 중입니다. 사용자 지정 그룹은 계속 사용할 수 있습니다…", + fuzzyTreeUnavailable: "이 퍼지 검색은 기존 트리 보기의 리소스 제한을 초과합니다. 목록을 선택해 로드된 일치 항목을 찾아보거나 검색 범위를 좁혀 트리를 사용하세요.", + useList: "목록 사용", + settings: "그룹화 규칙", + toggle: "사용자 지정 그룹", + list: "목록", + tree: "트리", + help: "연결 단위 규칙이며 첫 번째 일치가 적용됩니다. 한 줄에 대소문자를 구분하는 Redis glob 하나(*, ?, [a-z], 백슬래시 이스케이프). 포함은 OR, 제외가 우선합니다. 포함이 비어 있으면 모두 일치합니다. 개수는 로드된 키만 포함합니다. 그룹은 삭제 경계가 아닙니다.", + enabled: "규칙 활성화", + name: "그룹 이름", + up: "위로 이동", + down: "아래로 이동", + remove: "제거", + includes: "포함 패턴", + excludes: "제외 패턴", + add: "규칙 추가", + example: "Redisson 예제 추가", + invalid: "고유한 규칙 ID, 이름, 규칙당 하나 이상의 패턴을 입력하세요(최대 64개 규칙, 목록당 64개 패턴, 패턴당 1024바이트).", + cancel: "취소", + save: "저장", + unmatched: "일치하지 않음", + preparing: "로드된 그룹 업데이트 중…", + loadedOnly: "그룹은 로드된 일치 항목만 표시합니다. 확장해도 Redis를 스캔하지 않습니다.", + count: "({count}개 로드됨)", + emptyKey: "(빈 키)", + selectLoaded: "로드된 일치 항목 선택", +}; +export const redisGroupingPtBR = { + preparingLegacy: "Preparando a visualização anterior; os grupos personalizados continuam disponíveis…", + fuzzyTreeUnavailable: "Esta busca difusa excede o limite de recursos da visualização em árvore existente. Escolha Lista para navegar pelas correspondências carregadas ou restrinja a busca para usar Árvore.", + useList: "Usar lista", + settings: "Regras de agrupamento", + toggle: "Grupos personalizados", + list: "Lista", + tree: "Árvore", + help: "Regras por conexão, a primeira correspondência vence. Um glob do Redis por linha, com diferenciação de maiúsculas e minúsculas (*, ?, [a-z], escape com barra invertida). Inclusões são combinadas com OU; exclusões têm prioridade. Inclusões vazias correspondem a tudo. As contagens cobrem apenas as chaves carregadas. Grupos não são limites de exclusão.", + enabled: "Ativar regra", + name: "Nome do grupo", + up: "Mover para cima", + down: "Mover para baixo", + remove: "Remover", + includes: "Padrões de inclusão", + excludes: "Padrões de exclusão", + add: "Adicionar regra", + example: "Adicionar exemplo do Redisson", + invalid: "Informe IDs de regra únicos, um nome e pelo menos um padrão por regra (máximo de 64 regras, 64 padrões por lista, 1024 bytes por padrão).", + cancel: "Cancelar", + save: "Salvar", + unmatched: "Sem correspondência", + preparing: "Atualizando os grupos carregados…", + loadedOnly: "Os grupos mostram apenas as correspondências carregadas; expandir não faz varredura no Redis.", + count: "({count} carregadas)", + emptyKey: "(chave vazia)", + selectLoaded: "Selecionar correspondências carregadas", +}; +export const redisGroupingTr = { + preparingLegacy: "Önceki görünüm hazırlanıyor; özel gruplar kullanılmaya devam edebilir…", + fuzzyTreeUnavailable: "Bu bulanık arama, mevcut ağaç görünümünün kaynak sınırını aşıyor. Yüklenen eşleşmelere göz atmak için Liste'yi seçin ya da Ağaç'ı kullanmak için aramayı daraltın.", + useList: "Listeyi kullan", + settings: "Gruplama kuralları", + toggle: "Özel gruplar", + list: "Liste", + tree: "Ağaç", + help: "Kurallar bağlantı genelindir, ilk eşleşme kazanır. Her satıra büyük/küçük harfe duyarlı bir Redis glob'u (*, ?, [a-z], ters eğik çizgi kaçışı). Dahil etmeler VEYA ile birleşir; hariç tutmalar önceliklidir. Boş dahil etmeler tümüyle eşleşir. Sayımlar yalnızca yüklenen anahtarları kapsar. Gruplar silme sınırı değildir.", + enabled: "Kuralı etkinleştir", + name: "Grup adı", + up: "Yukarı taşı", + down: "Aşağı taşı", + remove: "Kaldır", + includes: "Dahil etme desenleri", + excludes: "Hariç tutma desenleri", + add: "Kural ekle", + example: "Redisson örneği ekle", + invalid: "Benzersiz kural kimlikleri, bir ad ve kural başına en az bir desen girin (en fazla 64 kural, liste başına 64 desen, desen başına 1024 bayt).", + cancel: "İptal", + save: "Kaydet", + unmatched: "Eşleşmeyen", + preparing: "Yüklenen gruplar güncelleniyor…", + loadedOnly: "Gruplar yalnızca yüklenen eşleşmeleri gösterir; genişletmek Redis'i taramaz.", + count: "({count} yüklendi)", + emptyKey: "(boş anahtar)", + selectLoaded: "Yüklenen eşleşmeleri seç", +}; diff --git a/apps/desktop/src/i18n/locales/tr.ts b/apps/desktop/src/i18n/locales/tr.ts index d5a23d96a1..4a65ed1cb8 100644 --- a/apps/desktop/src/i18n/locales/tr.ts +++ b/apps/desktop/src/i18n/locales/tr.ts @@ -3,9 +3,11 @@ import docs from "./docs/tr"; import { consulUiMessages } from "./consulUi"; import { sqlServerTraceMessages as sqlServerTrace } from "./sqlServerTraceMessages"; import { meilisearchManagementTr } from "./meilisearchManagement"; +import { redisGroupingTr as redisGrouping } from "./redisGrouping"; const consul = { ...consulUiMessages, + redisGrouping, prefixPlaceholder: "Anahtar öneki, örn. app/ veya services/", newKey: "Yeni Anahtar", loadingKeys: "Anahtarlar yükleniyor...",