#!/bin/bash # GoTelegram v2.4 — Russian translations # shellcheck disable=SC2034,SC2148 # ── Common words ──────────────────────────────────────────────────────── I18N[yes]="Да" I18N[no]="Нет" I18N[ok]="OK" I18N[cancel]="Отмена" I18N[back]="« Назад" I18N[exit]="Выход" I18N[skip]="Пропустить" I18N[choose]="Выбор" I18N[press_enter]="Нажмите Enter..." I18N[press_enter_to_return]="Нажмите Enter для возврата в меню..." I18N[invalid_choice]="Неверный выбор" I18N[running]="работает" I18N[stopped]="остановлен" I18N[not_installed]="не установлен" I18N[unknown]="неизвестно" I18N[error]="Ошибка" I18N[warning]="Внимание" I18N[info]="Инфо" I18N[success]="Готово" I18N[wait]="Подождите..." # ── Banner ────────────────────────────────────────────────────────────── I18N[banner_title]="GoTelegram v%s" I18N[banner_subtitle]="MTProxy на ядре telemt (Rust + Tokio)" I18N[banner_features]="Anti-DPI • Fake TLS • TCP Splice • JA3/JA4" I18N[credits_title]="Благодарности / Credits" # ── Main menu (dashboard) ─────────────────────────────────────────────── I18N[dashboard_title]="Панель управления" I18N[svc_proxy]="Прокси" I18N[svc_nginx]="nginx" I18N[svc_site]="Сайт" I18N[svc_ssl]="SSL" I18N[svc_bot]="Бот" I18N[ssl_until]="до %s" I18N[net_ip]="IP:" I18N[net_port]="Порт:" I18N[net_mode]="Режим:" I18N[net_domain]="Домен:" I18N[connection_link]="Ссылка для Telegram:" I18N[proxy_not_configured]="Прокси не настроен. Выберите пункт 1." I18N[menu_proxy]="Прокси ▸" I18N[menu_stats]="Статистика ▸" I18N[menu_manage]="Управление ▸" I18N[menu_telegram_bot]="Telegram-бот ▸" I18N[menu_about]="О программе ▸" I18N[auto_refresh_30s]="Обновление через 30 сек" # ── Submenu: Proxy ────────────────────────────────────────────────────── I18N[submenu_proxy_title]="🚀 ПРОКСИ" I18N[proxy_install_update]="Установить / Обновить" I18N[proxy_status_detail]="Статус подробно" I18N[proxy_copy_link]="Скопировать ссылку" I18N[proxy_share]="Поделиться ключом" I18N[proxy_restart]="Перезапуск" I18N[proxy_logs]="Логи" I18N[proxy_change_mode]="Сменить режим / шаблон" # ── Submenu: Manage ───────────────────────────────────────────────────── I18N[submenu_manage_title]="⚙️ УПРАВЛЕНИЕ" I18N[manage_backup]="Бекап" I18N[manage_restore]="Восстановить" I18N[manage_update_telemt]="Обновить telemt" I18N[manage_site_ssl]="Сайт / SSL" I18N[manage_remove]="Удалить" I18N[manage_language]="Язык / Language" # ── Submenu: About ────────────────────────────────────────────────────── I18N[submenu_about_title]="ℹ️ О ПРОГРАММЕ" I18N[about_version_info]="Информация о версии" I18N[about_promo]="Промо / Донат" I18N[version_title]="🔍 Информация" I18N[version_label]="GoTelegram:" I18N[version_engine]="Ядро:" I18N[version_tech]="Технология:" I18N[version_license]="Лицензия:" # ── Install flow ──────────────────────────────────────────────────────── I18N[install_select_mode]="🎭 Выберите режим маскировки:" I18N[install_lite_title]="⚡ Lite — маскировка под популярный сайт" I18N[install_lite_desc1]="Быстро, без домена. telemt маскирует трафик" I18N[install_lite_desc2]="под выбранный сайт (google.com и т.д.)" I18N[install_pro_title]="🛡 Pro — свой сайт + полная маскировка" I18N[install_pro_desc1]="nginx + SSL + HTML-шаблон + telemt." I18N[install_pro_desc2]="DPI видит реальный сайт с реальным сертификатом." I18N[install_pro_desc3]="Требует: домен, направленный на этот сервер." I18N[install_mode_choice]="Выбор (1/2):" I18N[install_bad_choice]="Неверный выбор: %s" I18N[install_lite_step]="Установка Lite-режима" I18N[install_pro_step]="Установка Pro-режима" I18N[install_enter_domain]="Введите ваш домен (например, example.com):" I18N[install_bad_domain]="Некорректный домен: %s" I18N[install_dns_mismatch]="Домен %s указывает на %s, а не на %s" I18N[install_continue_anyway]="Продолжить всё равно?" I18N[install_enter_email]="Email для SSL (Enter = без email):" I18N[install_config_title]="📋 Конфигурация:" I18N[install_cfg_ip]="IP:" I18N[install_cfg_port]="Порт:" I18N[install_cfg_mask]="Маскировка:" I18N[install_cfg_mode]="Режим:" I18N[install_cfg_domain]="Домен:" I18N[install_confirm_proxy]="Установить прокси?" I18N[install_confirm_proxy_site]="Установить прокси + сайт?" I18N[install_done]="GoTelegram v%s установлен! (%s-режим)" I18N[install_arch_desc1]="telemt принимает весь трафик на 443 (маскировка под HTTPS)" I18N[install_arch_desc2]="nginx обслуживает сайт на внутреннем порту %s" I18N[install_arch_desc3]="Провайдер видит только HTTPS-трафик к %s:443" # ── Change mode/template ──────────────────────────────────────────────── I18N[change_current_mode]="Текущий режим:" I18N[change_template]="Сменить шаблон сайта (только pro)" I18N[change_mode_switch]="Переключить режим (lite ↔ pro)" I18N[change_only_pro]="Смена шаблона доступна только в pro-режиме" I18N[change_requires_reinstall]="Переключение режима требует переустановки." I18N[change_reinstall_confirm]="Переустановить прокси?" # ── Logs ──────────────────────────────────────────────────────────────── I18N[logs_telemt_title]="📋 Логи telemt (последние %s строк):" # ── Link / Share ──────────────────────────────────────────────────────── I18N[link_title]="🔗 Ссылка для подключения:" I18N[share_title]="📤 Перешлите это сообщение:" I18N[share_line1]="🔐 MTProxy для Telegram (GoTelegram v%s)" I18N[share_server]="🌍 Сервер: %s" I18N[share_port]="🔌 Порт: %s" I18N[share_connect_cta]="👉 Подключиться одним нажатием:" I18N[share_footer]="Просто нажмите на ссылку или настройте вручную." # ── Website ───────────────────────────────────────────────────────────── I18N[website_title]="🌐 Управление сайтом" I18N[website_domain]="Домен:" I18N[website_ssl_until]="SSL до:" I18N[website_only_pro]="Управление сайтом доступно только в pro-режиме" I18N[website_renew_ssl]="Обновить SSL сертификат" I18N[website_restart_nginx]="Перезапустить nginx" I18N[website_change_template]="Сменить шаблон" # ── Remove ────────────────────────────────────────────────────────────── I18N[remove_title]="🗑 Удаление GoTelegram" I18N[remove_proxy_only]="Удалить только прокси (telemt)" I18N[remove_bot_only]="Удалить только Telegram-бота" I18N[remove_all]="Удалить всё (прокси + бот + настройки)" I18N[remove_warn_proxy]="Это удалит прокси и все его настройки." I18N[remove_confirm_proxy]="Удалить прокси?" I18N[remove_backup_before]="Сделать бекап перед удалением?" I18N[remove_warn_all]="Это удалит ВСЁ: прокси, бот, сайт, настройки." I18N[remove_confirm_all]="Вы точно уверены?" I18N[remove_proxy_done]="Прокси удалён" I18N[remove_all_done]="GoTelegram полностью удалён (прокси + бот)" # ── Telegram bot submenu ──────────────────────────────────────────────── I18N[bot_title]="🤖 Telegram-бот" I18N[bot_status_running]="● Работает" I18N[bot_status_stopped]="○ Остановлен" I18N[bot_status_not_installed]="✗ Не установлен" I18N[bot_menu_status]="📊 Статус бота" I18N[bot_menu_logs]="📋 Логи бота" I18N[bot_menu_restart]="🔄 Перезапустить бота" I18N[bot_menu_stop]="⏹ Остановить бота" I18N[bot_menu_start]="▶️ Запустить бота" I18N[bot_menu_settings]="⚙️ Настройки (.env)" I18N[bot_menu_remove]="🗑 Удалить бота" I18N[bot_menu_install]="🔧 Установить бота" I18N[bot_intro1]="Бот позволяет управлять прокси прямо из Telegram:" I18N[bot_intro2]="статус, перезапуск, смена режима, бекап, QR-код." I18N[bot_install_step]="Установка Telegram-бота" I18N[bot_install_python]="Установка Python3..." I18N[bot_files_not_found]="Файлы бота не найдены в %s" I18N[bot_create_venv]="Создание виртуального окружения..." I18N[bot_install_deps]="Установка зависимостей..." I18N[bot_enter_token]="Введите BOT_TOKEN от @BotFather:" I18N[bot_token_empty]="Токен не может быть пустым" I18N[bot_token]="Token:" I18N[bot_add_admin_how]="Как добавить администратора?" I18N[bot_admin_auto]="Автоматически — бот определит ID при первом /start" I18N[bot_admin_manual]="Вручную — ввести ID сейчас" I18N[bot_admin_ids_prompt]="ID администраторов (через пробел/запятую):" I18N[bot_env_created]=".env создан" I18N[bot_env_exists]=".env уже существует, настройки сохранены" I18N[bot_wait_admin_title]="Ожидание администратора" I18N[bot_wait_admin_msg1]="Откройте бота в Telegram и отправьте" I18N[bot_wait_admin_msg2]="Бот автоматически назначит вас администратором" I18N[bot_wait_admin_skip]="Нажмите Ctrl+C чтобы пропустить" I18N[bot_wait_spinner]="Ожидание... напишите /start боту (%d сек)" I18N[bot_admin_assigned]="Администратор назначен!" I18N[bot_wait_skipped]="Пропущено. Добавить админа позже: меню → Telegram-бот → Настройки" I18N[bot_wait_timeout]="Таймаут (5 мин). Добавить админа: меню → Telegram-бот → Настройки" I18N[bot_installed]="Бот установлен и запущен!" I18N[bot_status_title]="📊 Статус Telegram-бота" I18N[bot_token_configured]="настроен" I18N[bot_access_open]="все пользователи" I18N[bot_logs_title]="📋 Логи бота (последние 30 строк):" I18N[bot_settings_title]="⚙️ Настройки бота" I18N[bot_current_env]="Текущий .env:" I18N[bot_change_token]="Сменить BOT_TOKEN" I18N[bot_change_allowed]="Изменить ALLOWED_IDS" I18N[bot_new_token]="Новый BOT_TOKEN:" I18N[bot_token_empty_err]="Пустой токен" I18N[bot_token_updated]="Токен обновлён, бот перезапущен" I18N[bot_allowed_prompt]="ALLOWED_IDS (через пробел/запятую, пусто = авто):" I18N[bot_access_updated]="Доступ обновлён, бот перезапущен" I18N[bot_remove_warn]="Это удалит Telegram-бота и все его настройки." I18N[bot_remove_confirm]="Удалить бота?" I18N[bot_removed]="Бот полностью удалён" I18N[bot_restarted]="Бот перезапущен" I18N[bot_stopped]="Бот остановлен" I18N[bot_started]="Бот запущен" I18N[bot_status_colon]="Статус:" I18N[bot_access_colon]="Доступ:" I18N[bot_access_ids_fmt]="ID: %s" # ── Promo / Donate ────────────────────────────────────────────────────── I18N[promo_host1_title]="💰 ХОСТИНГ #1 — СКИДКА ДО 60%" I18N[promo_host2_title]="💰 ХОСТИНГ #2 — СКИДКА ДО 60%" I18N[promo_tips_title]="☕ Донат / Чаевые" I18N[promo_link_label]="Ссылка:" I18N[promo_off60]="60%% скидки на первый месяц" I18N[promo_ant20]="20%% + 3%% при оплате за 3 месяца" I18N[promo_ant6]="15%% + 5%% при оплате за 6 месяцев" I18N[promo_qr_host1]="── QR: Хостинг #1 ──" I18N[promo_qr_host2]="── QR: Хостинг #2 ──" I18N[promo_qr_tips]="── QR: Чаевые / Донат ──" I18N[promo_menu_in]="Меню через %d сек..." # ── Stats ─────────────────────────────────────────────────────────────── I18N[stats_title]="📊 Статистика трафика" I18N[stats_module_missing]="Модуль статистики не загружен." I18N[stats_file_missing]="Файл lib/stats.sh не найден." I18N[stats_toggle]="Вкл/Выкл подсчёт (сейчас: %s)" I18N[stats_install_collector]="Установить/обновить сборщик статистики" I18N[stats_auto_refresh]="Обновление каждые 3 сек" I18N[stats_on]="вкл" I18N[stats_off]="выкл" # ── Templates catalog ─────────────────────────────────────────────────── I18N[templates_categories]="📂 Категории шаблонов сайтов:" I18N[templates_custom_git]="📎 Свой шаблон по git URL" I18N[templates_random]="🎲 Случайный шаблон" I18N[templates_count_fmt]="(%d шаблонов)" I18N[templates_list]="📋 %s — доступные шаблоны:" I18N[templates_preview_title]="🔍 Превью шаблона:" I18N[templates_name]="Название:" I18N[templates_source]="Источник:" I18N[templates_description]="Описание:" I18N[templates_preview]="👁 Превью:" I18N[templates_preview_hint]="Откройте ссылку в браузере для просмотра шаблона" I18N[templates_repo]="📦 Репо:" I18N[templates_thanks]="💜 Спасибо авторам %s за открытый код!" I18N[templates_install_this]="Установить этот шаблон?" I18N[templates_cat_empty]="В этой категории нет шаблонов" I18N[templates_downloading]="Скачивание шаблона \"%s\"..." I18N[templates_downloaded]="Шаблон \"%s\" скачан" I18N[templates_downloaded_subfolder]="Шаблон \"%s\" скачан (из подпапки)" I18N[templates_no_index]="Шаблон не содержит index.html" I18N[templates_path]="Путь: %s" I18N[templates_catalog_not_found]="Каталог шаблонов не найден: %s" # ── Custom git template ───────────────────────────────────────────────── I18N[custom_git_title]="📎 СВОЙ ШАБЛОН ПО GIT URL" I18N[custom_git_help_1]="Вы можете использовать ЛЮБОЙ репозиторий со статическим HTML-сайтом" I18N[custom_git_help_2]="в качестве шаблона. Репозиторий должен быть публичным и содержать" I18N[custom_git_help_3]="готовый index.html (сборка через npm НЕ выполняется)." I18N[custom_git_formats]="Поддерживаемые форматы URL:" I18N[custom_git_fmt_github]=" • https://github.com/user/repo" I18N[custom_git_fmt_gitlab]=" • https://gitlab.com/user/repo" I18N[custom_git_fmt_gitext]=" • https://example.com/user/repo.git" I18N[custom_git_fmt_branch]=" • https://github.com/user/repo@branch (ветка после @)" I18N[custom_git_auto_detect]="Структура репозитория (авто-определение):" I18N[custom_git_auto_1]=" 1. index.html в корне репозитория" I18N[custom_git_auto_2]=" 2. dist/index.html (StartBootstrap, Vite, webpack)" I18N[custom_git_auto_3]=" 3. public/ или build/ или _site/ или site/ или docs/" I18N[custom_git_auto_4]=" 4. Fallback: поиск index.html по всему репозиторию" I18N[custom_git_requirements]="Требования:" I18N[custom_git_req_1]=" • Только HTTPS (ssh:// и git:// блокируются)" I18N[custom_git_req_2]=" • Только публичные репозитории" I18N[custom_git_req_3]=" • Размер репо не более 100 МБ" I18N[custom_git_req_4]=" • Статический HTML (без серверного кода PHP/Python/Node)" I18N[custom_git_examples]="Примеры проверенных репо:" I18N[custom_git_ex_1]=" • https://github.com/html5up-collective/strata" I18N[custom_git_ex_2]=" • https://github.com/StartBootstrap/startbootstrap-landing-page" I18N[custom_git_enter_url]="Вставьте git URL (или Enter для отмены):" I18N[custom_git_empty]="URL не указан, отмена" I18N[custom_git_bad_url]="Недопустимый URL. Принимаются только https:// адреса" I18N[custom_git_cloning]="Клонирование репозитория..." I18N[custom_git_clone_failed]="Не удалось клонировать репозиторий: %s" I18N[custom_git_too_big]="Репозиторий слишком большой: %s (лимит 100MB)" I18N[custom_git_scanning]="Поиск index.html в структуре..." I18N[custom_git_found_at]="✓ Найден index.html в: %s" I18N[custom_git_no_index]="index.html не найден в репозитории" I18N[custom_git_installed]="Свой шаблон установлен из %s" I18N[custom_git_saved]="URL шаблона сохранён в конфиге (меню → Сайт → Обновить из git)" # ── First-run language picker ─────────────────────────────────────────── I18N[lang_picker_title]="Выберите язык / Select language" I18N[lang_english]="English" I18N[lang_russian]="Русский" I18N[lang_saved]="Язык сохранён: %s" I18N[lang_change_prompt]="Выберите новый язык:" # ── Backup ────────────────────────────────────────────────────────────── I18N[backup_title]="💾 Бекап" I18N[backup_creating]="Создание бекапа..." I18N[backup_created]="Бекап создан: %s" I18N[backup_failed]="Ошибка создания бекапа" I18N[backup_restore_title]="↩️ Восстановление из бекапа" I18N[backup_no_files]="Нет файлов бекапа" I18N[backup_select]="Выберите бекап для восстановления:" I18N[backup_restoring]="Восстановление..." I18N[backup_restored]="Бекап восстановлен" I18N[backup_collecting]="Собираю конфигурацию..." I18N[backup_site_included]="Шаблон сайта включён" I18N[backup_archive_err]="Ошибка создания архива" I18N[backup_archive_missing]="Архив не создан" I18N[backup_encrypt_err]="Ошибка шифрования" I18N[backup_encrypted]="Бекап зашифрован (AES-256-CBC)" I18N[backup_created_fmt]="Бекап создан: %s (%s)" I18N[backup_file_not_found_fmt]="Файл не найден: %s" I18N[backup_enter_pass]="Введите пароль от бекапа" I18N[backup_bad_pass]="Неверный пароль или повреждённый файл" I18N[backup_extract_err]="Ошибка распаковки архива" I18N[backup_label]="Бекап" I18N[backup_version_label]="Версия" I18N[backup_mode_label]="Режим" I18N[backup_lang_label]="Язык" I18N[backup_date_label]="Дата" I18N[backup_confirm_restore]="Восстановить конфигурацию? Текущие настройки будут перезаписаны." I18N[backup_restored_telemt]="telemt конфиг восстановлен" I18N[backup_restored_gotelegram]="GoTelegram конфиг восстановлен" I18N[backup_restored_lang]="Язык интерфейса восстановлен" I18N[backup_restored_nginx]="nginx конфиг восстановлен" I18N[backup_restored_ssl]="SSL сертификаты восстановлены" I18N[backup_restored_site]="Шаблон сайта восстановлен" I18N[backup_restore_done]="Восстановление завершено!" I18N[backup_none]="Бекапов нет" I18N[backup_list_title]="Доступные бекапы" I18N[backup_cleanup_fmt]="Удалено %s старых бекапов (оставлено %s)" I18N[backup_create_title]="Создание бекапа" I18N[backup_encrypt_prompt]="Зашифровать бекап паролем?" I18N[backup_repeat_pass]="Повторите пароль" I18N[backup_pass_mismatch]="Пароли не совпадают" I18N[backup_pass_short]="Пароль слишком короткий (минимум 6 символов)" I18N[backup_pick_prompt]="Номер бекапа (или путь к файлу)" I18N[backup_not_found]="Бекап не найден" # ── Errors / misc ─────────────────────────────────────────────────────── I18N[err_need_root]="Запустите скрипт с sudo / от root" I18N[err_os_unknown]="Не удалось определить ОС. Требуется Linux." I18N[err_low_disk]="Мало места на диске: %sMB (нужно %sMB+)" I18N[err_bad_pkg_mgr]="Неизвестный пакетный менеджер" I18N[err_unexpected]="Неожиданная ошибка" I18N[bye]="До встречи! 👋" I18N[auto_refresh]="Обновление через 30 сек" # ── Deps ──────────────────────────────────────────────────────────────── I18N[deps_installing]="Установка зависимостей: %s" # ── Migration ─────────────────────────────────────────────────────────── I18N[v1_detected]="⚠️ Обнаружена установка GoTelegram v1 (mtg)" I18N[v1_container]="Контейнер: %s" I18N[v1_migration_step]="Миграция с v1 (mtg) на v2 (telemt)" I18N[v1_found_title]="Найдена установка v1 (mtg):" I18N[v1_port]="Порт: %s" I18N[v1_secret]="Secret: %s..." I18N[v1_incompatible]="секрет mtg НЕ совместим с telemt напрямую." I18N[v1_new_link]="Клиентам потребуется новая ссылка." I18N[v1_stop_migrate]="Остановить v1 контейнер и перейти на v2? [Y/n]:" I18N[v1_migration_cancelled]="Миграция отменена. v1 оставлен без изменений." I18N[v1_stopping]="Остановка v1 контейнера..." I18N[v1_config_saved]="Конфиг v1 сохранён в %s" I18N[v1_port_freed]="v1 остановлен. Порт %s освобождён."