mirror of
https://github.com/anten-ka/gotelegram_pro.git
synced 2026-05-19 15:46:02 +00:00
v2.4.0 — internationalization (EN/RU) + custom git templates
- i18n engine (lib/i18n.sh, lib/lang/en.sh, lib/lang/ru.sh)
- first-run language picker, persisted to .language + config.json
- install.sh, common.sh, backup.sh, templates_catalog.sh wired through t()/tf()
- backup.sh preserves .language marker and records language in metadata.json
- custom git template feature (first item in pro template picker)
* validates HTTPS URLs, rejects shell metachars
* 100MB size guard, 90s clone timeout
* auto-detects index.html in dist/public/build/_site/site/docs/out/www
- bot v2.4.0: i18n.py + lang/{en,ru}.json, /lang command, language toggle button
- bot: custom git template via text input with waiter gating
This commit is contained in:
116
gotelegram-bot/lang/en.json
Normal file
116
gotelegram-bot/lang/en.json
Normal file
@@ -0,0 +1,116 @@
|
||||
{
|
||||
"lang_english": "English",
|
||||
"lang_russian": "Русский",
|
||||
"lang_title": "🌐 Language",
|
||||
"lang_current": "Current language: %s",
|
||||
"lang_saved": "Language saved: %s",
|
||||
"lang_choose": "Choose your language:",
|
||||
|
||||
"welcome_title": "GoTelegram v%s",
|
||||
"welcome_subtitle": "🤖 MTProxy Management Bot",
|
||||
"welcome_powered": "Powered by telemt engine",
|
||||
"welcome_prompt": "Select an action from the menu below:",
|
||||
|
||||
"waiting_admin_title": "👋 Hi, %s!",
|
||||
"waiting_admin_body": "The bot is not configured yet.\nYour Telegram ID: <code>%s</code>\n\nAssign you as administrator?",
|
||||
"btn_yes": "✅ Yes",
|
||||
"btn_no": "❌ No",
|
||||
|
||||
"access_denied": "⛔ Access denied.\nYour ID: <code>%s</code>",
|
||||
"help_title": "GoTelegram Bot — Commands",
|
||||
"help_lines": "/start — Main menu\n/help — This help\n/status — Quick status\n/logs — Latest logs\n/lang — Change language\n/addadmin ID — Add admin\n/deladmin ID — Remove admin\n\nUse the menu buttons for other operations.",
|
||||
|
||||
"menu_install": "⚙️ Install",
|
||||
"menu_status": "📊 Status",
|
||||
"menu_link": "🔗 Link",
|
||||
"menu_share": "📤 Share",
|
||||
"menu_restart": "🔄 Restart",
|
||||
"menu_logs": "📋 Logs",
|
||||
"menu_change": "⚡ Change Mode/Template",
|
||||
"menu_backup": "💾 Backup",
|
||||
"menu_restore": "↩️ Restore",
|
||||
"menu_update": "📡 Update telemt",
|
||||
"menu_website": "🌐 Website/SSL",
|
||||
"menu_promo": "🎁 Promo",
|
||||
"menu_stats": "📊 Traffic Stats",
|
||||
"menu_remove": "🗑️ Remove",
|
||||
"menu_admins": "👤 Admins",
|
||||
"menu_credits": "ℹ️ Credits",
|
||||
"menu_language": "🌐 Language",
|
||||
"menu_close": "❌ Close",
|
||||
"btn_back": "⬅️ Back",
|
||||
"btn_refresh": "🔄 Refresh",
|
||||
"btn_cancel": "❌ Cancel",
|
||||
"btn_confirm": "✅ Confirm",
|
||||
|
||||
"status_checking": "⏳ Checking status...",
|
||||
"status_title": "📊 Current Status",
|
||||
"status_service": "Service",
|
||||
"status_running": "✅ Running",
|
||||
"status_stopped": "❌ Stopped",
|
||||
"status_telemt": "Telemt",
|
||||
"status_mode": "Mode",
|
||||
"status_template": "Template",
|
||||
"status_domain": "Domain",
|
||||
"status_port": "Port",
|
||||
"status_listen_port": "Listen Port",
|
||||
"status_tls_domain": "TLS Domain",
|
||||
|
||||
"logs_failed": "Failed to retrieve logs",
|
||||
"link_fetching": "⏳ Fetching link...",
|
||||
"link_unavailable": "Link unavailable (proxy not installed?)",
|
||||
"share_title": "📤 Share Proxy",
|
||||
"share_body": "Send this link to your client:",
|
||||
|
||||
"restart_title": "🔄 Restart",
|
||||
"restart_progress": "⏳ Restarting telemt...",
|
||||
"restart_ok": "✅ telemt restarted",
|
||||
"restart_fail": "❌ Restart failed",
|
||||
|
||||
"install_title": "⚙️ Install / Update",
|
||||
"install_pick_mode": "Select installation mode:",
|
||||
"install_mode_lite": "🚀 Lite (quick, no site)",
|
||||
"install_mode_pro": "🎨 Pro (stealth + website)",
|
||||
|
||||
"backup_title": "💾 Backup",
|
||||
"backup_creating": "⏳ Creating backup...",
|
||||
"backup_created_fmt": "✅ Backup created: %s",
|
||||
"backup_failed": "❌ Backup creation failed",
|
||||
"backup_list_title": "Available backups:",
|
||||
"backup_none": "No backups yet",
|
||||
"backup_restore_title": "↩️ Restore backup",
|
||||
"backup_restoring": "⏳ Restoring...",
|
||||
"backup_restored": "✅ Backup restored",
|
||||
|
||||
"update_title": "📡 Update telemt",
|
||||
"update_progress": "⏳ Updating telemt binary...",
|
||||
"update_ok": "✅ telemt updated",
|
||||
"update_fail": "❌ Update failed",
|
||||
|
||||
"website_title": "🌐 Website / SSL",
|
||||
"ssl_renew_progress": "⏳ Renewing SSL...",
|
||||
"ssl_renewed": "✅ SSL renewed",
|
||||
"ssl_renew_fail": "❌ SSL renew failed",
|
||||
"ssl_status_title": "🔒 SSL Status",
|
||||
|
||||
"remove_title": "🗑️ Remove",
|
||||
"remove_warn": "⚠️ This will stop and remove telemt, nginx site and configs. Continue?",
|
||||
"remove_progress": "⏳ Removing...",
|
||||
"remove_done": "✅ Removed",
|
||||
|
||||
"admins_title": "👤 Administrators",
|
||||
"admins_list": "Current admin IDs:",
|
||||
"admins_empty": "No admins configured",
|
||||
|
||||
"promo_title": "🎁 Promo",
|
||||
"credits_title": "ℹ️ Credits",
|
||||
|
||||
"cg_title": "🔗 Custom Git Template",
|
||||
"cg_ask_url": "Send me the HTTPS git URL of a static site repository.\nOptionally append <code>@branch</code>.",
|
||||
"cg_cloning": "⏳ Cloning %s ...",
|
||||
"cg_invalid": "❌ Invalid URL. Only HTTPS git URLs are allowed.",
|
||||
"cg_timeout": "❌ Clone timeout (repository too large or slow)",
|
||||
"cg_too_big": "❌ Repository too large (>100MB)",
|
||||
"cg_no_index": "❌ No index.html found in repository",
|
||||
"cg_ok_fmt": "✅ Custom template downloaded: %s"
|
||||
}
|
||||
116
gotelegram-bot/lang/ru.json
Normal file
116
gotelegram-bot/lang/ru.json
Normal file
@@ -0,0 +1,116 @@
|
||||
{
|
||||
"lang_english": "English",
|
||||
"lang_russian": "Русский",
|
||||
"lang_title": "🌐 Язык",
|
||||
"lang_current": "Текущий язык: %s",
|
||||
"lang_saved": "Язык сохранён: %s",
|
||||
"lang_choose": "Выберите язык:",
|
||||
|
||||
"welcome_title": "GoTelegram v%s",
|
||||
"welcome_subtitle": "🤖 Бот управления MTProxy",
|
||||
"welcome_powered": "На базе движка telemt",
|
||||
"welcome_prompt": "Выберите действие в меню ниже:",
|
||||
|
||||
"waiting_admin_title": "👋 Привет, %s!",
|
||||
"waiting_admin_body": "Бот ещё не настроен.\nВаш Telegram ID: <code>%s</code>\n\nНазначить вас администратором?",
|
||||
"btn_yes": "✅ Да",
|
||||
"btn_no": "❌ Нет",
|
||||
|
||||
"access_denied": "⛔ Доступ запрещён.\nВаш ID: <code>%s</code>",
|
||||
"help_title": "GoTelegram Bot — Команды",
|
||||
"help_lines": "/start — Главное меню\n/help — Эта справка\n/status — Быстрый статус\n/logs — Последние логи\n/lang — Сменить язык\n/addadmin ID — Добавить админа\n/deladmin ID — Удалить админа\n\nИспользуйте кнопки меню для остальных операций.",
|
||||
|
||||
"menu_install": "⚙️ Установить",
|
||||
"menu_status": "📊 Статус",
|
||||
"menu_link": "🔗 Ссылка",
|
||||
"menu_share": "📤 Поделиться",
|
||||
"menu_restart": "🔄 Перезапуск",
|
||||
"menu_logs": "📋 Логи",
|
||||
"menu_change": "⚡ Сменить режим/шаблон",
|
||||
"menu_backup": "💾 Бекап",
|
||||
"menu_restore": "↩️ Восстановить",
|
||||
"menu_update": "📡 Обновить telemt",
|
||||
"menu_website": "🌐 Сайт/SSL",
|
||||
"menu_promo": "🎁 Промо",
|
||||
"menu_stats": "📊 Трафик",
|
||||
"menu_remove": "🗑️ Удалить",
|
||||
"menu_admins": "👤 Админы",
|
||||
"menu_credits": "ℹ️ О проекте",
|
||||
"menu_language": "🌐 Язык",
|
||||
"menu_close": "❌ Закрыть",
|
||||
"btn_back": "⬅️ Назад",
|
||||
"btn_refresh": "🔄 Обновить",
|
||||
"btn_cancel": "❌ Отмена",
|
||||
"btn_confirm": "✅ Подтвердить",
|
||||
|
||||
"status_checking": "⏳ Проверяю статус...",
|
||||
"status_title": "📊 Текущий статус",
|
||||
"status_service": "Сервис",
|
||||
"status_running": "✅ Работает",
|
||||
"status_stopped": "❌ Остановлен",
|
||||
"status_telemt": "Telemt",
|
||||
"status_mode": "Режим",
|
||||
"status_template": "Шаблон",
|
||||
"status_domain": "Домен",
|
||||
"status_port": "Порт",
|
||||
"status_listen_port": "Порт прослушивания",
|
||||
"status_tls_domain": "TLS домен",
|
||||
|
||||
"logs_failed": "Не удалось получить логи",
|
||||
"link_fetching": "⏳ Получаю ссылку...",
|
||||
"link_unavailable": "Ссылка недоступна (прокси не установлен?)",
|
||||
"share_title": "📤 Поделиться прокси",
|
||||
"share_body": "Отправьте эту ссылку клиенту:",
|
||||
|
||||
"restart_title": "🔄 Перезапуск",
|
||||
"restart_progress": "⏳ Перезапускаю telemt...",
|
||||
"restart_ok": "✅ telemt перезапущен",
|
||||
"restart_fail": "❌ Ошибка перезапуска",
|
||||
|
||||
"install_title": "⚙️ Установка / Обновление",
|
||||
"install_pick_mode": "Выберите режим установки:",
|
||||
"install_mode_lite": "🚀 Lite (быстро, без сайта)",
|
||||
"install_mode_pro": "🎨 Pro (stealth + сайт)",
|
||||
|
||||
"backup_title": "💾 Бекап",
|
||||
"backup_creating": "⏳ Создаю бекап...",
|
||||
"backup_created_fmt": "✅ Бекап создан: %s",
|
||||
"backup_failed": "❌ Не удалось создать бекап",
|
||||
"backup_list_title": "Доступные бекапы:",
|
||||
"backup_none": "Бекапов пока нет",
|
||||
"backup_restore_title": "↩️ Восстановление бекапа",
|
||||
"backup_restoring": "⏳ Восстанавливаю...",
|
||||
"backup_restored": "✅ Бекап восстановлен",
|
||||
|
||||
"update_title": "📡 Обновление telemt",
|
||||
"update_progress": "⏳ Обновляю telemt...",
|
||||
"update_ok": "✅ telemt обновлён",
|
||||
"update_fail": "❌ Ошибка обновления",
|
||||
|
||||
"website_title": "🌐 Сайт / SSL",
|
||||
"ssl_renew_progress": "⏳ Обновляю SSL...",
|
||||
"ssl_renewed": "✅ SSL обновлён",
|
||||
"ssl_renew_fail": "❌ Ошибка обновления SSL",
|
||||
"ssl_status_title": "🔒 Статус SSL",
|
||||
|
||||
"remove_title": "🗑️ Удаление",
|
||||
"remove_warn": "⚠️ Это остановит и удалит telemt, сайт nginx и конфиги. Продолжить?",
|
||||
"remove_progress": "⏳ Удаляю...",
|
||||
"remove_done": "✅ Удалено",
|
||||
|
||||
"admins_title": "👤 Администраторы",
|
||||
"admins_list": "Текущие ID админов:",
|
||||
"admins_empty": "Админы не настроены",
|
||||
|
||||
"promo_title": "🎁 Промо",
|
||||
"credits_title": "ℹ️ О проекте",
|
||||
|
||||
"cg_title": "🔗 Свой git-шаблон",
|
||||
"cg_ask_url": "Отправьте HTTPS git-URL репозитория со статическим сайтом.\nПри желании добавьте <code>@branch</code>.",
|
||||
"cg_cloning": "⏳ Клонирую %s ...",
|
||||
"cg_invalid": "❌ Неверный URL. Разрешены только HTTPS git-URL.",
|
||||
"cg_timeout": "❌ Таймаут клонирования (репозиторий слишком большой или медленный)",
|
||||
"cg_too_big": "❌ Репозиторий слишком большой (>100МБ)",
|
||||
"cg_no_index": "❌ В репозитории не найден index.html",
|
||||
"cg_ok_fmt": "✅ Свой шаблон загружен: %s"
|
||||
}
|
||||
Reference in New Issue
Block a user