i18n(scanner): translate the scoped-scan strings

The scoped-scan feature left exactly 6 [TODO: Translate] keys behind, so this
is the whole pending set for all 9 locales. Renderings reuse the established
nouns (folder: zh-CN 文件夹 / ja フォルダ / ru папка / he תיקייה; "model" counts
from sidebar.deleteFolderModal) and introduce one new term, "Offline" for a
configured root that cannot be read right now:

  scopeSection        zh-CN 只扫描一个文件夹 · ja フォルダを 1 つだけスキャン
                      fr Analyser un seul dossier · ru Сканировать только одну папку
  rootOffline         zh-CN 离线 · ja オフライン · fr Hors ligne · ru Недоступен
  rootModels          zh-CN {count} 个模型 · ko 모델 {count}개 · he {count} מודלים
  refreshCompleteScoped / refreshKeptUnreachable / scanRootUnreachable
                      (counts and {scope}/{paths} stay verbatim)

Every placeholder set matches en.json, fr keeps the typographic apostrophe, and
the three CJK locales keep full-width punctuation while ko uses ASCII like the
rest of that file. docs/i18n-translation-guidelines.md gains the
"Scoped scan and root availability" terminology table plus the updated status
note, so the "no remaining placeholders" claim holds again.

Verified: python scripts/sync_translation_keys.py --dry-run reports no pending
changes, pytest tests/i18n 20 passed, and grep -c "TODO: Translate"
locales/*.json is 0 everywhere.
This commit is contained in:
Will Miao
2026-10-07 15:04:16 +08:00
parent 470d85cca6
commit bd184559bf
10 changed files with 77 additions and 56 deletions
+6 -6
View File
@@ -919,9 +919,9 @@
"title": "刷新模型列表",
"full": "重建缓存",
"fullTooltip": "从元数据文件重新加载所有模型信息;用于列表过时或手动编辑后。",
"scopeSection": "[TODO: Translate] Scan one folder",
"rootOffline": "[TODO: Translate] Offline",
"rootModels": "[TODO: Translate] {count} models"
"scopeSection": "只扫描一个文件夹",
"rootOffline": "离线",
"rootModels": "{count} 个模型"
},
"fetch": {
"title": "从 CivitAI 获取元数据",
@@ -2808,9 +2808,9 @@
"moveFailed": "移动条目失败:{message}",
"copiedToClipboard": "已复制到剪贴板",
"downloadStarted": "下载已开始",
"refreshCompleteScoped": "[TODO: Translate] Scanned {scope}: {added} new, {removed} removed",
"refreshKeptUnreachable": "[TODO: Translate] {count} models kept: {paths} not reachable",
"scanRootUnreachable": "[TODO: Translate] {scope} is not reachable right now. Nothing was changed."
"refreshCompleteScoped": "已扫描 {scope}:新增 {added},移除 {removed}",
"refreshKeptUnreachable": "已保留 {count} 个模型:{paths} 当前不可访问",
"scanRootUnreachable": "{scope} 当前不可访问,未做任何改动。"
},
"agent": {
"llmNotConfigured": "AI 提供商未配置。请在 设置 → AI 提供商 中进行配置。",