i18n(sidebar): translate the folder-scan strings

The sidebar's "Scan this folder" entry and its vanished-folder warning were the
last 2 [TODO: Translate] keys, so grep -c "TODO: Translate" locales/*.json is 0
everywhere again.

  scanFolder              zh-CN 扫描此文件夹 · zh-TW 掃描此資料夾 · ja このフォルダをスキャン
                          ko 이 폴더 스캔 · fr Analyser ce dossier · de Diesen Ordner scannen
                          es Escanear esta carpeta · ru Сканировать эту папку · he סרוק תיקייה זו
  scanFolderResult.missing
                          reused verbatim from each locale's existing
                          renameFolderResult.missing / deleteFolderResult.missing — the situation
                          is identical ("the folder vanished before the action ran"), so a third
                          variant of the same sentence would only be a translation drift risk.

The label follows each locale's "Check for updates in this folder" phrasing
(检查此文件夹的更新 → 扫描此文件夹, Vérifier les mises à jour dans ce dossier → Analyser ce
dossier) so the two refresh entries in the same menu read as a pair.
docs/i18n-translation-guidelines.md gains the two rows in "Scoped scan and root
availability" plus the updated status note.

Verified: python scripts/sync_translation_keys.py --dry-run reports no pending
changes, pytest tests/i18n 20 passed, frontend 1495 passed.
This commit is contained in:
Will Miao
2026-10-07 15:26:08 +08:00
parent 12930ce78c
commit 0941f99226
10 changed files with 24 additions and 19 deletions
+6 -1
View File
@@ -155,7 +155,9 @@ Locales: `en`, `zh-CN`, `zh-TW`, `ja`, `ko`, `fr`, `de`, `es`, `ru`, `he` (RTL).
> (`loras.controls.refresh.scopeSection` / `.rootOffline` / `.rootModels`) and the scan result
> toasts (`toast.api.refreshCompleteScoped`, `.refreshKeptUnreachable`, `.scanRootUnreachable`),
> 6 keys in total, translated in all 9 locales in the same pass (renderings in §2, "Scoped scan
> and root availability"), so the "no remaining placeholders" claim holds again.
> and root availability"). The sidebar's folder-level follow-up added 2 more
> (`sidebar.scanFolder`, `sidebar.scanFolderResult.missing`), translated in a second pass, so the
> "no remaining placeholders" claim holds again.
> **Status (2026-10, reconcile walk progress):** a regular Refresh now reports the reconcile
> walk per model root (which roots are being checked, how many model files have been seen, and
@@ -744,6 +746,9 @@ be read (an unreachable drive is no longer treated as deleted).
| `refreshKeptUnreachable` ("{count} models kept: {paths} not reachable") | zh-CN 已保留 {count} 个模型:{paths} 当前不可访问 · zh-TW 已保留 {count} 個模型:{paths} 目前無法存取 · ja {count} 個のモデルを保持しました:{paths} にアクセスできません · ko 모델 {count}개 유지됨: {paths}에 접근할 수 없음 · fr {count} modèles conservés : {paths} inaccessible(s) · de {count} Modelle beibehalten: {paths} nicht erreichbar · es {count} modelos conservados: {paths} no accesible(s) · ru Сохранено моделей: {count} — {paths} недоступны · he נשמרו {count} מודלים: {paths} אינם זמינים |
| `scanRootUnreachable` ("{scope} is not reachable right now. Nothing was changed.") | zh-CN {scope} 当前不可访问,未做任何改动。 · zh-TW {scope} 目前無法存取,未做任何變更。 · ja {scope} に現在アクセスできません。変更は行われていません。 · ko {scope}에 현재 접근할 수 없습니다. 변경된 내용은 없습니다. · fr {scope} est actuellement inaccessible. Aucune modification n’a été apportée. · de {scope} ist derzeit nicht erreichbar. Es wurde nichts geändert. · es {scope} no es accesible ahora mismo. No se ha cambiado nada. · ru {scope} сейчас недоступен. Изменений не внесено. · he {scope} אינו זמין כעת. לא בוצעו שינויים. |
| `sidebar.scanFolder` ("Scan this folder") | zh-CN 扫描此文件夹 · zh-TW 掃描此資料夾 · ja このフォルダをスキャン · ko 이 폴더 스캔 · fr Analyser ce dossier · de Diesen Ordner scannen · es Escanear esta carpeta · ru Сканировать эту папку · he סרוק תיקייה זו |
| `sidebar.scanFolderResult.missing` | identical to `sidebar.renameFolderResult.missing` / `deleteFolderResult.missing` in every locale (the folder vanished between the menu opening and the click) — reuse that rendering rather than writing a third variant |
`{scope}` is a root label (`G: loras`) or a folder path, `{paths}` is a comma-joined list capped
at three entries, and both counts arrive pre-formatted. "Offline" describes a configured root
whose directory cannot be read right now (drive switched off, unmounted share) — it is a state of