Структура локализации:
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 проходит.
33 lines
1.7 KiB
Bash
33 lines
1.7 KiB
Bash
# shellcheck shell=bash
|
||
# i18n/ru.sh — русские строки. Source'ится после выбора языка.
|
||
# Welcome-баннер всегда EN — на момент его показа выбор ещё не сделан.
|
||
|
||
STR_WELCOME_TITLE="KeiSeiKit · Exobrain installer"
|
||
STR_WELCOME_TAGLINE="Portable Rust agent substrate for AI coding tools"
|
||
|
||
# Шаги мастера
|
||
STR_ONBOARDING_INTRO="Мастер первичной настройки (5 шагов)"
|
||
STR_PICK_LANGUAGE="Выберите язык интерфейса:"
|
||
STR_PICK_TRANSPORT="Выберите способ подключения:"
|
||
STR_PICK_PROVIDER="Выберите провайдера в группе"
|
||
STR_PICK_MODEL="Модель по умолчанию:"
|
||
|
||
# Описание транспортов
|
||
STR_TR_DIRECT_API="Прямой API провайдера (ключ)"
|
||
STR_TR_AWS_BEDROCK="AWS Bedrock (IAM/role)"
|
||
STR_TR_AZURE_OPENAI="Azure OpenAI (deployment+ключ)"
|
||
STR_TR_GOOGLE_VERTEX="Google Vertex AI (GCP)"
|
||
STR_TR_LOCAL="Локально (Ollama/MLX/LMStudio)"
|
||
STR_TR_PROXY="Прокси (LiteLLM/OpenRouter)"
|
||
STR_TR_SUBSCRIPTION="OAuth-подписка (ChatGPT)"
|
||
|
||
# Сбор ключей
|
||
STR_AUTH_INTRO="Аутентификация для"
|
||
STR_AUTH_PROMPT="Введите значения (Enter — оставить пустым, заполните позже)."
|
||
STR_AUTH_CURRENT_HINT="(текущее: <скрыто>)"
|
||
|
||
# Завершение
|
||
STR_DONE_TITLE="Первичная настройка завершена"
|
||
STR_DONE_CONFIG="конфиг:"
|
||
STR_DONE_SECRETS="секреты:"
|
||
STR_DONE_NEXT="Дальше: запустите ./install.sh или перезапустите этот скрипт для установки профиля"
|