From 515469054c9254d4eb6818a67fd91ba1024574af Mon Sep 17 00:00:00 2001 From: Will Miao Date: Fri, 2 Oct 2026 21:50:19 +0800 Subject: [PATCH] feat(i18n): translate routing-override keys in all 9 locales --- docs/i18n-translation-guidelines.md | 15 +++++++++++++++ locales/de.json | 4 ++-- locales/es.json | 4 ++-- locales/fr.json | 4 ++-- locales/he.json | 4 ++-- locales/ja.json | 4 ++-- locales/ko.json | 4 ++-- locales/ru.json | 4 ++-- locales/zh-CN.json | 4 ++-- locales/zh-TW.json | 4 ++-- 10 files changed, 33 insertions(+), 18 deletions(-) diff --git a/docs/i18n-translation-guidelines.md b/docs/i18n-translation-guidelines.md index dad2d513..aced6bad 100644 --- a/docs/i18n-translation-guidelines.md +++ b/docs/i18n-translation-guidelines.md @@ -112,6 +112,14 @@ Locales: `en`, `zh-CN`, `zh-TW`, `ja`, `ko`, `fr`, `de`, `es`, `ru`, `he` (RTL). > so the "no remaining placeholders" claim holds again. Terminology in §2, "Download > routing feature". +> **Status (2026-10, routing-override follow-up):** the download modal's location step +> gained a manual "Destination type" toggle (Checkpoint | Diffusion Model) for when the +> auto routing misdetects, adding 2 keys (`modals.download.routingOverride.label`, +> `.tooltip`). The tooltip quotes each locale's `modals.download.useDefaultPath` label +> verbatim (switching turns it off for the session), using that locale's UI-label quoting +> style. All 9 locales are translated (terminology in §2, "Download routing feature"), +> so the "no remaining placeholders" claim holds again. + --- ## 1. Hard rules (do not violate) @@ -567,10 +575,17 @@ ru Диффузионные модели, he מודלי דיפוזיה; CJK stay |---|---| | routing (noun, of a download into a library) | zh-CN 路由 · zh-TW 路由 · ja 振り分け · ko 라우팅 · fr routage · de Routing · es enrutamiento · ru маршрутизация · he ניתוב | | unknown base model | zh-CN 未知基础模型 · zh-TW 未知基礎模型 · ja 不明なベースモデル · ko 알 수 없는 베이스 모델 · fr modèle de base inconnu · de unbekanntes Basismodell · es modelo base desconocido · ru неизвестная базовая модель · he מודל בסיס לא מוכר | +| destination type (download-modal toggle label) | zh-CN 目标类型 · zh-TW 目標類型 · ja 保存先タイプ · ko 대상 유형 · fr type de destination · de Zieltyp · es tipo de destino · ru тип назначения · he סוג יעד | The baseModel family names in the help text (`SD 1.x/2.x/3.x, SDXL, Pony, Illustrious, NoobAI`) are CivitAI baseModel values and stay verbatim in every locale. +The routing-override toggle (`modals.download.routingOverride.*`) sits on the checkpoints +page of the download modal; its two button labels come from `checkpoints.modelTypes.*` +directly (model-type names, R3). The tooltip quotes the `modals.download.useDefaultPath` +label verbatim with each locale's UI-label quoting style (zh-CN “ ”, zh-TW/ja 「 」, +ko `' '`, fr « … », de „ … “, es/ru/he «…»). + --- ## 3. Cross-cutting confusion hot-spots (must-fix list) diff --git a/locales/de.json b/locales/de.json index 65dde105..99b92321 100644 --- a/locales/de.json +++ b/locales/de.json @@ -1564,8 +1564,8 @@ "selectModelRoot": "Modell-Stammverzeichnis auswählen:", "selectTypeRoot": "{type}-Stammverzeichnis auswählen:", "routingOverride": { - "label": "[TODO: Translate] Destination type:", - "tooltip": "[TODO: Translate] Auto-detected from the model metadata. Switch if it was misdetected; switching turns off \"Use Default Path\" for this download." + "label": "Zieltyp:", + "tooltip": "Automatisch aus den Modell-Metadaten erkannt. Wechseln Sie, wenn die Erkennung falsch war; ein Wechsel deaktiviert „Standardpfad verwenden“ für diesen Download." }, "targetFolderPath": "Zielordnerpfad:", "browseFolders": "Ordner durchsuchen:", diff --git a/locales/es.json b/locales/es.json index 20ba0a9d..bfc1e6de 100644 --- a/locales/es.json +++ b/locales/es.json @@ -1564,8 +1564,8 @@ "selectModelRoot": "Seleccionar raíz del modelo:", "selectTypeRoot": "Seleccionar raíz de {type}:", "routingOverride": { - "label": "[TODO: Translate] Destination type:", - "tooltip": "[TODO: Translate] Auto-detected from the model metadata. Switch if it was misdetected; switching turns off \"Use Default Path\" for this download." + "label": "Tipo de destino:", + "tooltip": "Detectado automáticamente a partir de los metadatos del modelo. Cámbialo si la detección fue incorrecta; cambiar desactiva «Usar ruta predeterminada» para esta descarga." }, "targetFolderPath": "Ruta de carpeta de destino:", "browseFolders": "Explorar carpetas:", diff --git a/locales/fr.json b/locales/fr.json index cbf4e1d2..4dbfb441 100644 --- a/locales/fr.json +++ b/locales/fr.json @@ -1564,8 +1564,8 @@ "selectModelRoot": "Sélectionner la racine du modèle :", "selectTypeRoot": "Sélectionner la racine {type} :", "routingOverride": { - "label": "[TODO: Translate] Destination type:", - "tooltip": "[TODO: Translate] Auto-detected from the model metadata. Switch if it was misdetected; switching turns off \"Use Default Path\" for this download." + "label": "Type de destination :", + "tooltip": "Détecté automatiquement à partir des métadonnées du modèle. Changez si la détection est incorrecte ; changer désactive « Utiliser le chemin par défaut » pour ce téléchargement." }, "targetFolderPath": "Chemin du dossier cible :", "browseFolders": "Parcourir les dossiers :", diff --git a/locales/he.json b/locales/he.json index 88dfbe9a..7ba591c0 100644 --- a/locales/he.json +++ b/locales/he.json @@ -1564,8 +1564,8 @@ "selectModelRoot": "בחר שורש מודל:", "selectTypeRoot": "בחר שורש {type}:", "routingOverride": { - "label": "[TODO: Translate] Destination type:", - "tooltip": "[TODO: Translate] Auto-detected from the model metadata. Switch if it was misdetected; switching turns off \"Use Default Path\" for this download." + "label": "סוג יעד:", + "tooltip": "זוהה אוטומטית ממטא-נתוני המודל. החלף אם הזיהוי שגוי; החלפה מכבה את «השתמש בנתיב ברירת מחדל» עבור הורדה זו." }, "targetFolderPath": "נתיב תיקיית יעד:", "browseFolders": "דפדף בתיקיות:", diff --git a/locales/ja.json b/locales/ja.json index 3314c791..521ae066 100644 --- a/locales/ja.json +++ b/locales/ja.json @@ -1564,8 +1564,8 @@ "selectModelRoot": "モデルルートを選択:", "selectTypeRoot": "{type}ルートを選択:", "routingOverride": { - "label": "[TODO: Translate] Destination type:", - "tooltip": "[TODO: Translate] Auto-detected from the model metadata. Switch if it was misdetected; switching turns off \"Use Default Path\" for this download." + "label": "保存先タイプ:", + "tooltip": "モデルのメタデータから自動検出されます。誤検出の場合は切り替えてください。切り替えると、このダウンロードでは「デフォルトパスを使用」がオフになります。" }, "targetFolderPath": "ターゲットフォルダパス:", "browseFolders": "フォルダを参照:", diff --git a/locales/ko.json b/locales/ko.json index b56aedd1..fb197ae7 100644 --- a/locales/ko.json +++ b/locales/ko.json @@ -1564,8 +1564,8 @@ "selectModelRoot": "모델 루트 선택:", "selectTypeRoot": "{type} 루트 선택:", "routingOverride": { - "label": "[TODO: Translate] Destination type:", - "tooltip": "[TODO: Translate] Auto-detected from the model metadata. Switch if it was misdetected; switching turns off \"Use Default Path\" for this download." + "label": "대상 유형:", + "tooltip": "모델 메타데이터에서 자동으로 감지됩니다. 잘못 감지된 경우 전환하세요. 전환하면 이 다운로드에서 '기본 경로 사용'이 꺼집니다." }, "targetFolderPath": "대상 폴더 경로:", "browseFolders": "폴더 탐색:", diff --git a/locales/ru.json b/locales/ru.json index 93f92f7b..353085ae 100644 --- a/locales/ru.json +++ b/locales/ru.json @@ -1564,8 +1564,8 @@ "selectModelRoot": "Выберите корень моделей:", "selectTypeRoot": "Выберите корень {type}:", "routingOverride": { - "label": "[TODO: Translate] Destination type:", - "tooltip": "[TODO: Translate] Auto-detected from the model metadata. Switch if it was misdetected; switching turns off \"Use Default Path\" for this download." + "label": "Тип назначения:", + "tooltip": "Определяется автоматически из метаданных модели. Переключите, если определение неверно; переключение отключает «Использовать путь по умолчанию» для этой загрузки." }, "targetFolderPath": "Путь к целевой папке:", "browseFolders": "Обзор папок:", diff --git a/locales/zh-CN.json b/locales/zh-CN.json index b8db4a3a..01d30be8 100644 --- a/locales/zh-CN.json +++ b/locales/zh-CN.json @@ -1564,8 +1564,8 @@ "selectModelRoot": "选择模型根目录:", "selectTypeRoot": "选择 {type} 根目录:", "routingOverride": { - "label": "[TODO: Translate] Destination type:", - "tooltip": "[TODO: Translate] Auto-detected from the model metadata. Switch if it was misdetected; switching turns off \"Use Default Path\" for this download." + "label": "目标类型:", + "tooltip": "根据模型元数据自动检测。如果检测结果有误,请切换;切换会为本次下载关闭“使用默认路径”。" }, "targetFolderPath": "目标文件夹路径:", "browseFolders": "浏览文件夹:", diff --git a/locales/zh-TW.json b/locales/zh-TW.json index d8216de7..4454e8db 100644 --- a/locales/zh-TW.json +++ b/locales/zh-TW.json @@ -1564,8 +1564,8 @@ "selectModelRoot": "選擇模型根目錄:", "selectTypeRoot": "選擇 {type} 根目錄:", "routingOverride": { - "label": "[TODO: Translate] Destination type:", - "tooltip": "[TODO: Translate] Auto-detected from the model metadata. Switch if it was misdetected; switching turns off \"Use Default Path\" for this download." + "label": "目標類型:", + "tooltip": "根據模型中繼資料自動偵測。如果偵測結果有誤,請切換;切換會為本次下載關閉「使用預設路徑」。" }, "targetFolderPath": "目標資料夾路徑:", "browseFolders": "瀏覽資料夾:",