KeiSeiKit-1.0/install
Parfii-bot 0f7e0f45e3 feat(install): i18n модуль + welcome banner
Структура локализации:
  install/i18n/en.sh    — английский словарь (дефолт, fallback)
  install/i18n/ru.sh    — русский словарь
  install/lib-i18n.sh   — лоадер + welcome banner

Поток:
  1. install.sh source'ит lib-i18n.sh и зовёт i18n_load_default →
     все строки на английском.
  2. Если onboarding нужен — печатается welcome banner ASCII-рамка
     на английском (язык ещё не выбран).
  3. onboarding_pick_language — единственный двуязычный шаг
     ("Choose language / Выберите язык"). По выбору вызывает
     i18n_load_lang ru|en — перегружает словарь.
  4. Все последующие шаги (transport / provider / model / auth /
     completion) идут на выбранном языке.

Fallback: если ru-словарь не имеет ключа — используется английское
значение (load_default вызывается до загрузки ru.sh, переменные
перезаписываются поверх).

lib-onboarding.sh переведён со смешанных hardcoded строк на
${STR_*} placeholders.

Тесты: bash -n всех 5 файлов чисто, i18n loader unit-тест показывает
EN/RU перегрузку, non-TTY smoke install --no-execute проходит.
2026-05-17 15:35:10 +08:00
..
i18n feat(install): i18n модуль + welcome banner 2026-05-17 15:35:10 +08:00
launchd-templates KeiSeiKit-public — clean state 2026-05-01 12:09:03 +08:00
sql fix(audit-batch-2): regressions from prev batch + 2nd-wave audit findings 2026-05-03 20:30:51 +08:00
lib-agents.sh KeiSeiKit-public — clean state 2026-05-01 12:09:03 +08:00
lib-args.sh fix(release+slices): v0.14.4 publish auth fallback + 4 fix-implementer slices 2026-05-04 00:16:48 +08:00
lib-backup.sh KeiSeiKit-public — clean state 2026-05-01 12:09:03 +08:00
lib-bin.sh KeiSeiKit-public — clean state 2026-05-01 12:09:03 +08:00
lib-bridges.sh KeiSeiKit-public — clean state 2026-05-01 12:09:03 +08:00
lib-dev-hub-datasette.sh KeiSeiKit-public — clean state 2026-05-01 12:09:03 +08:00
lib-dev-hub-daytona.sh KeiSeiKit-public — clean state 2026-05-01 12:09:03 +08:00
lib-dev-hub-forgejo-runner.sh KeiSeiKit-public — clean state 2026-05-01 12:09:03 +08:00
lib-dev-hub-forgejo.sh KeiSeiKit-public — clean state 2026-05-01 12:09:03 +08:00
lib-dev-hub-gdrive-import.sh KeiSeiKit-public — clean state 2026-05-01 12:09:03 +08:00
lib-dev-hub-mdbook.sh KeiSeiKit-public — clean state 2026-05-01 12:09:03 +08:00
lib-dev-hub-restic.sh KeiSeiKit-public — clean state 2026-05-01 12:09:03 +08:00
lib-dev-hub-zoekt.sh KeiSeiKit-public — clean state 2026-05-01 12:09:03 +08:00
lib-frustration-bootstrap.sh KeiSeiKit-public — clean state 2026-05-01 12:09:03 +08:00
lib-hooks.sh fix(release+slices): v0.14.4 publish auth fallback + 4 fix-implementer slices 2026-05-04 00:16:48 +08:00
lib-i18n.sh feat(install): i18n модуль + welcome banner 2026-05-17 15:35:10 +08:00
lib-launchd.sh KeiSeiKit-public — clean state 2026-05-01 12:09:03 +08:00
lib-log.sh KeiSeiKit-public — clean state 2026-05-01 12:09:03 +08:00
lib-menu.sh KeiSeiKit-public — clean state 2026-05-01 12:09:03 +08:00
lib-onboarding.sh feat(install): i18n модуль + welcome banner 2026-05-17 15:35:10 +08:00
lib-pathway.sh KeiSeiKit-public — clean state 2026-05-01 12:09:03 +08:00
lib-plan.sh KeiSeiKit-public — clean state 2026-05-01 12:09:03 +08:00
lib-prereqs.sh KeiSeiKit-public — clean state 2026-05-01 12:09:03 +08:00
lib-primitives.sh KeiSeiKit-public — clean state 2026-05-01 12:09:03 +08:00
lib-profile-outcome-only.sh fix(release+slices): v0.14.4 publish auth fallback + 4 fix-implementer slices 2026-05-04 00:16:48 +08:00
lib-profile.sh KeiSeiKit-public — clean state 2026-05-01 12:09:03 +08:00
lib-rust-mirror.sh KeiSeiKit-public — clean state 2026-05-01 12:09:03 +08:00
lib-rust-prebuild.sh fix(hooks+install): disk-reclaim Guard 3 + secrets per-line + sha256 fail-closed 2026-05-03 15:37:57 +08:00
lib-rust.sh Revert "feat(mcp-server): production-ready publish path via GitHub Packages" 2026-05-03 18:04:00 +08:00
lib-scaffold.sh KeiSeiKit-public — clean state 2026-05-01 12:09:03 +08:00
lib-skills.sh KeiSeiKit-public — clean state 2026-05-01 12:09:03 +08:00
lib-substrate.sh chore(kit): wire kei-db-contract into installer + drop final #[path] hack 2026-05-01 17:55:52 +08:00
lib-summary.sh KeiSeiKit-public — clean state 2026-05-01 12:09:03 +08:00
lib-wizard.sh KeiSeiKit-public — clean state 2026-05-01 12:09:03 +08:00