i18n(wizard): translate the first-run wizard (was all hardcoded English)

The first-run wizard predated the i18n system — every label, button, and help
line was hardcoded English. Route them all through TR():

- 62 literals in app_wizard.cpp replaced with TR(). Where a wizard string is a
  parallel of existing content, it reuses the existing key (the whole bootstrap_*
  family, plus theme / language / balance_layout / low_spec_mode / ui_opacity /
  console_scanline / download / retry / cancel) so it inherits their translations
  and stays consistent with Settings. Button labels drop their ##id suffix and use
  TR(key) directly (the app's established TactileButton(TR(...)) pattern; the
  wizard's phase buttons never share a frame, so no id collision).
- 55 new wiz_* English keys in i18n.cpp for the wizard-specific strings, and their
  translations back-filled across all 8 languages (es/de/fr/pt/ru/zh/ja/ko);
  format specifiers (%s, %zu) and newlines preserved. CJK subset rebuilt.

Verified on the sweep: English renders with correct labels in place (all keys
resolve), and a German run shows the reused + new keys translated end-to-end
(Darstellung / Acryl-Glaseffekte / Verschlüsseln & Weiter …).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-07-12 01:41:18 -05:00
parent 758ea06ab7
commit 09e0b962c3
11 changed files with 581 additions and 84 deletions

View File

@@ -1369,6 +1369,61 @@
"warning_upper": "ПРЕДУПРЕЖДЕНИЕ!",
"website": "Веб-сайт",
"window_opacity": "Прозрачность окна",
"wiz_acrylic": "Эффект акрилового стекла",
"wiz_acrylic_desc": "Полупрозрачное размытие панелей (Выкл. отключает)",
"wiz_already_encrypted": "Кошелёк уже зашифрован",
"wiz_already_encrypted_desc": "Ваш кошелёк защищён парольной фразой. Дополнительных действий не требуется.",
"wiz_appearance": "Внешний вид",
"wiz_bootstrap": "Начальная загрузка",
"wiz_bootstrap_desc": "Загрузите начальный образ блокчейна, чтобы значительно ускорить первичную синхронизацию.\\n\\nВаш существующий файл wallet.dat НЕ будет изменён или заменён.",
"wiz_bootstrap_failed": "Ошибка начальной загрузки",
"wiz_confirm": "Подтверждение:",
"wiz_continue": "Продолжить",
"wiz_daemon_sending_stop": "Отправка команды остановки...",
"wiz_daemon_stop_failed": "Демон не остановился — попробуйте вручную.",
"wiz_daemon_stopped_ok": "Демон остановлен.",
"wiz_daemon_waiting_stop": "Ожидание завершения работы демона...",
"wiz_download_failed": "Ошибка загрузки",
"wiz_encrypt_bg": "Шифрование завершится в фоновом режиме",
"wiz_encrypt_continue": "Зашифровать и продолжить",
"wiz_encrypt_desc": "Зашифруйте кошелёк, чтобы защитить приватные ключи парольной фразой.",
"wiz_encrypt_warning": "Если вы потеряете парольную фразу, вы потеряете доступ к своим средствам.",
"wiz_encryption": "Шифрование",
"wiz_ext_daemon_running": "Запущен внешний демон",
"wiz_ext_daemon_warning": "Его необходимо остановить перед загрузкой начального образа, иначе данные цепочки могут быть повреждены.",
"wiz_level": "Уровень:",
"wiz_lowspec_desc": "Отключить все тяжёлые визуальные эффекты",
"wiz_off": "Выкл.",
"wiz_pass_mismatch": "Парольные фразы не совпадают",
"wiz_pass_spaces": "В парольной фразе есть пробелы в начале или конце — удалите их",
"wiz_pass_too_short": "Парольная фраза должна содержать не менее 8 символов (%zu/8)",
"wiz_passphrase": "Парольная фраза:",
"wiz_pin_confirm": "Подтвердите PIN:",
"wiz_pin_invalid": "PIN должен содержать 48 цифр",
"wiz_pin_label": "PIN (48 цифр):",
"wiz_pin_mismatch": "PIN-коды не совпадают",
"wiz_pin_optional": "PIN быстрой разблокировки (необязательно)",
"wiz_pin_title": "PIN быстрой разблокировки",
"wiz_scanline_desc": "Эффект строк развёртки CRT в консоли",
"wiz_skip": "Пропустить",
"wiz_skip_confirm": "Продолжить БЕЗ шифрования? Ключи будут храниться незашифрованными — нажмите «Пропустить» ещё раз для подтверждения.",
"wiz_step1": "Шаг 1",
"wiz_step2": "Шаг 2",
"wiz_step3": "Шаг 3",
"wiz_stop_daemon": "Остановить демон",
"wiz_strength": "Надёжность: %s",
"wiz_strength_fair": "Средняя",
"wiz_strength_good": "Хорошая",
"wiz_strength_strong": "Надёжная",
"wiz_strength_weak": "Слабая",
"wiz_theme_builtin": "Встроенная",
"wiz_theme_custom": "Своя",
"wiz_theme_effects": "Визуальные эффекты темы",
"wiz_theme_effects_desc": "Анимированные рамки, цветовая заливка",
"wiz_theme_invalid": " (недопустимая)",
"wiz_ui_opacity_desc": "Прозрачность карточек и боковой панели (1.0 = непрозрачно)",
"wiz_welcome_sub": "Несколько быстрых настроек — и ваш полный узел готов.",
"wiz_welcome_title": "Добро пожаловать в ObsidianDragon!",
"wizard_daemon_start_failed": "Не удалось запустить демон — будет повторено автоматически",
"xmrig_browse_releases": "Просмотреть все релизы…",
"xmrig_checking": "Проверка наличия последней версии майнера…",