Структура локализации:
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.2 KiB
Bash
33 lines
1.2 KiB
Bash
# shellcheck shell=bash
|
|
# i18n/en.sh — English strings. Default before user picks language.
|
|
|
|
# Welcome banner (always EN, shown before language picker).
|
|
STR_WELCOME_TITLE="KeiSeiKit · Exobrain installer"
|
|
STR_WELCOME_TAGLINE="Portable Rust agent substrate for AI coding tools"
|
|
|
|
# Onboarding wizard steps
|
|
STR_ONBOARDING_INTRO="Onboarding wizard (5 steps)"
|
|
STR_PICK_LANGUAGE="Choose interface language:"
|
|
STR_PICK_TRANSPORT="Choose connection transport:"
|
|
STR_PICK_PROVIDER="Choose provider within"
|
|
STR_PICK_MODEL="Default model:"
|
|
|
|
# Transport descriptions
|
|
STR_TR_DIRECT_API="Direct provider API (key)"
|
|
STR_TR_AWS_BEDROCK="AWS Bedrock (IAM/role)"
|
|
STR_TR_AZURE_OPENAI="Azure OpenAI (deployment+key)"
|
|
STR_TR_GOOGLE_VERTEX="Google Vertex AI (GCP)"
|
|
STR_TR_LOCAL="Local (Ollama/MLX/LMStudio)"
|
|
STR_TR_PROXY="Proxy (LiteLLM/OpenRouter)"
|
|
STR_TR_SUBSCRIPTION="OAuth subscription (ChatGPT)"
|
|
|
|
# Auth collection
|
|
STR_AUTH_INTRO="Auth for"
|
|
STR_AUTH_PROMPT="Enter values (Enter — leave empty, fill later)."
|
|
STR_AUTH_CURRENT_HINT="(current: <hidden>)"
|
|
|
|
# Completion
|
|
STR_DONE_TITLE="Onboarding complete"
|
|
STR_DONE_CONFIG="config:"
|
|
STR_DONE_SECRETS="secrets:"
|
|
STR_DONE_NEXT="Next: run ./install.sh or restart this script to apply profile"
|