511 lines
26 KiB
Python
511 lines
26 KiB
Python
"""Локализация интерфейса (RU/EN).
|
||
|
||
Ключи — исходные русские строки; неизвестные ключи возвращаются как есть,
|
||
поэтому непереведённые строки просто отображаются по-русски.
|
||
"""
|
||
|
||
LANG = "ru"
|
||
|
||
# Русский текст -> English
|
||
_TABLE = {
|
||
# --- главное окно
|
||
"PixelLauncher": "PixelLauncher",
|
||
"ИГРАТЬ": "PLAY",
|
||
"ОТМЕНА": "CANCEL",
|
||
"Готово к запуску": "Ready to play",
|
||
"Minecraft …": "Minecraft …",
|
||
"ПОСЛЕДНИЕ ВЕРСИИ": "LATEST VERSIONS",
|
||
"загрузка…": "loading…",
|
||
"Ночной пейзаж": "Night landscape",
|
||
"Дневной пейзаж": "Day landscape",
|
||
"Загружено версий: ": "Versions loaded: ",
|
||
|
||
# --- меню (шестерёнка)
|
||
"Профиль…": "Profile…",
|
||
"Аккаунты…": "Accounts…",
|
||
"Выбрать версию…": "Select version…",
|
||
"Установить Fabric/Quilt…": "Install Fabric/Quilt…",
|
||
"Резервная копия миров": "Back up worlds",
|
||
"Скачать эту версию": "Download this version",
|
||
"Проверить файлы игры…": "Verify game files…",
|
||
"Очистка версий…": "Version cleanup…",
|
||
"Журнал…": "Log…",
|
||
"Настройки…": "Settings…",
|
||
"О программе…": "About…",
|
||
|
||
# --- диалоги общие
|
||
"Сохранить": "Save",
|
||
"Отмена": "Cancel",
|
||
"Закрыть": "Close",
|
||
"Выбрать": "Select",
|
||
"Удалить": "Delete",
|
||
"Установить": "Install",
|
||
"Обновить список": "Refresh list",
|
||
"Открыть": "Open",
|
||
|
||
# --- профиль
|
||
"Профиль игрока": "Player profile",
|
||
"Ник:": "Nickname:",
|
||
"ОЗУ (МБ):": "RAM (MB):",
|
||
"Java:": "Java:",
|
||
"JVM-аргументы:": "JVM arguments:",
|
||
"Пусто = подбор Java автоматически.": "Empty = auto-detect Java.",
|
||
"Ник: 3-16 символов, латиница, цифры и _": "Nickname: 3-16 chars, Latin letters, digits and _",
|
||
"Профиль сохранён: ": "Profile saved: ",
|
||
"Авто (по памяти системы)": "Auto (by system RAM)",
|
||
|
||
# --- аккаунты
|
||
"Аккаунты": "Accounts",
|
||
"Добавить аккаунт…": "Add account…",
|
||
"Удалить аккаунт": "Delete account",
|
||
"Нельзя удалить последний аккаунт": "Cannot delete the last account",
|
||
"Аккаунт переключён: ": "Switched to account: ",
|
||
|
||
# --- выбор версии
|
||
"Выбор версии": "Select version",
|
||
"Фильтр по имени · двойной клик — выбрать версию": "Filter by name · double-click to select",
|
||
"Версия выбрана: ": "Version selected: ",
|
||
"[снапшот]": "[snapshot]",
|
||
"[локальная]": "[custom]",
|
||
"загрузка…": "loading…",
|
||
"релиз": "release",
|
||
"снапшот": "snapshot",
|
||
|
||
# --- Fabric/Quilt
|
||
"Установка Fabric/Quilt": "Install Fabric/Quilt",
|
||
"Установка лоадера": "Install mod loader",
|
||
"Установить лоадер…": "Install mod loader…",
|
||
"Нет версий лоадера для этой игры": "No loader versions for this game",
|
||
"Выберите версию лоадера": "Select a loader version",
|
||
"Инсталлятор сам скачает библиотеки и профиль — может занять несколько минут.": "The installer downloads the libraries and profile itself — may take a few minutes.",
|
||
"Загрузка списка версий лоадера...": "Loading loader version list...",
|
||
"Игровая версия:": "Game version:",
|
||
"Версия лоадера:": "Loader version:",
|
||
"Лоадер:": "Loader:",
|
||
"Fabric": "Fabric",
|
||
"Quilt": "Quilt",
|
||
"Ставится только JSON профиля — файлы докачаются при запуске.": "Only the profile JSON is installed — files are downloaded on launch.",
|
||
"Установлено: ": "Installed: ",
|
||
"Не удалось получить список версий лоадера: ": "Failed to load loader versions: ",
|
||
|
||
# --- настройки
|
||
"Настройки": "Settings",
|
||
"Папка игры:": "Game folder:",
|
||
"Здесь хранятся .minecraft, миры и файлы игры.": "This is where .minecraft, worlds and game files live.",
|
||
"Открыть папку игры": "Open game folder",
|
||
"Открыть папку миров": "Open saves folder",
|
||
"Открыть скриншоты": "Open screenshots",
|
||
"Галерея скриншотов…": "Screenshot gallery…",
|
||
"Галерея": "Gallery",
|
||
"Скриншотов пока нет": "No screenshots yet",
|
||
"Открыть файл": "Open file",
|
||
"Удалить скриншот {p}?": "Delete screenshot {p}?",
|
||
"Скриншот удалён: ": "Screenshot deleted: ",
|
||
"Не удалось открыть скриншот": "Failed to open screenshot",
|
||
"Не удалось удалить скриншот": "Failed to delete screenshot",
|
||
"Импорт модпака: ": "Importing modpack: ",
|
||
"Мод добавлен: ": "Mod added: ",
|
||
"Не удалось добавить мод": "Failed to add mod",
|
||
"Плагин добавлен: ": "Plugin added: ",
|
||
"Не удалось добавить плагин": "Failed to add plugin",
|
||
"Файл не подходит для лаунчера: ": "This file doesn't fit the launcher: ",
|
||
"Есть обновления модов: {n}. Откройте «Моды» для обновления.": "{n} mod updates available. Open Mods to update.",
|
||
"Запуск:": "Startup:",
|
||
"С автозагрузкой Windows": "With Windows autostart",
|
||
"Прятать в трей при запуске игры": "Hide to tray when game starts",
|
||
"Автозагрузка отключена": "Autostart disabled",
|
||
"Автозагрузка включена: ": "Autostart enabled: ",
|
||
"Не удалось изменить автозагрузку": "Failed to change autostart",
|
||
"Быстрые настройки": "Quick settings",
|
||
"ОЗУ": "RAM",
|
||
"Версия": "Version",
|
||
"авто": "auto",
|
||
"ГБ": "GB",
|
||
"вкл": "on",
|
||
"выкл": "off",
|
||
"Трей": "Tray",
|
||
"Бэкап": "Backup",
|
||
"Светлая тема": "Light theme",
|
||
"Каталог модпаков": "Modpack Catalog",
|
||
"Каталог модпаков…": "Modpack Catalog…",
|
||
"Модпаков в каталоге: ": "Modpacks in catalog: ",
|
||
"Скачивание: ": "Downloading: ",
|
||
"Дождитесь окончания текущей загрузки":
|
||
"Wait for the current download to finish",
|
||
"Язык:": "Language:",
|
||
"Тема:": "Theme:",
|
||
"Тёмная": "Dark",
|
||
"Светлая": "Light",
|
||
"Акцентный цвет:": "Accent color:",
|
||
"Зеркала ресурсов (по одному в строке, пусто = официальные):": "Resource mirrors (one per line, empty = official):",
|
||
"Зеркала библиотек (по одному в строке, пусто = официальные):": "Library mirrors (one per line, empty = official):",
|
||
|
||
# --- журнал / статус
|
||
"Журнал": "Log",
|
||
"Игра запущена, PID ": "Game started, PID ",
|
||
"Приятной игры!": "Have fun!",
|
||
"Вывод игры пишется в ": "Game output is written to ",
|
||
"Получение манифеста версий...": "Fetching version manifest...",
|
||
"Версия: ": "Version: ",
|
||
"Java не найдена. Установите Java или укажите путь в профиле": "Java not found. Install Java or set its path in the profile",
|
||
"Java не найдена, скачиваю...": "Java not found, downloading...",
|
||
"Скачивание Java {v} (Adoptium)...": "Downloading Java {v} (Adoptium)...",
|
||
"Распаковка Java...": "Extracting Java...",
|
||
"Не удалось распаковать Java": "Failed to extract Java",
|
||
"Java {v} установлена": "Java {v} installed",
|
||
"Не удалось скачать Java: ": "Failed to download Java: ",
|
||
"Скачивание файлов игры...": "Downloading game files...",
|
||
"Проверка целостности файлов (SHA-1)...": "Verifying game files (SHA-1)...",
|
||
"Скачивание библиотек (": "Downloading libraries (",
|
||
"Скачивание ассетов...": "Downloading assets...",
|
||
"Файлы": "Files",
|
||
"Ассеты": "Assets",
|
||
"Java": "Java",
|
||
"Загрузка отменена": "Download cancelled",
|
||
"Отмена...": "Cancelling...",
|
||
"Все файлы на месте, повреждений не найдено.": "All files are in place, no corruption found.",
|
||
"Версия скачана и готова к запуску.": "Version downloaded and ready to play.",
|
||
"Ошибка: ": "Error: ",
|
||
"Ошибок скачивания: ": "Download errors: ",
|
||
|
||
# --- вылет игры
|
||
"Игра аварийно завершилась (код {c}). Хвост лога:": "The game crashed (code {c}). Log tail:",
|
||
"Игра аварийно завершилась": "Game crashed",
|
||
"Полный лог: ": "Full log: ",
|
||
"Игра завершилась": "Game exited",
|
||
|
||
# --- бэкап
|
||
"Создание резервной копии: ": "Creating backup: ",
|
||
"файлов...": " files...",
|
||
"Копия создана: ": "Backup created: ",
|
||
"Папка миров (saves) не найдена": "Worlds folder (saves) not found",
|
||
|
||
# --- очистка версий
|
||
"Очистка версий": "Version cleanup",
|
||
"Считаю размеры...": "Calculating sizes...",
|
||
"Удалить выбранную версию": "Delete selected version",
|
||
"Удалить неиспользуемые ассеты": "Delete unused assets",
|
||
"Удалить неиспользуемые ассеты: ": "Deleted unused assets: ",
|
||
"ГБ освобождено": " GB freed",
|
||
"Версия используется как выбранная — смените её в списке.": "This version is currently selected — pick another one first.",
|
||
"Удалить версию {v}?": "Delete version {v}?",
|
||
"Версия удалена: ": "Version deleted: ",
|
||
"Удалено неиспользуемых ассетов: ": "Unused assets removed: ",
|
||
"МБ": "MB",
|
||
|
||
# --- о программе
|
||
"О программе": "About",
|
||
"Компактный оффлайн-лаунчер Minecraft\nв стиле LiteLauncher.\n\n"
|
||
"• Все версии из манифеста Mojang\n"
|
||
"• Автодокачка файлов с проверкой SHA-1\n"
|
||
"• Автоподбор Java, копии миров\n"
|
||
"• Без сторонних библиотек":
|
||
"Compact offline Minecraft launcher\nin the spirit of LiteLauncher.\n\n"
|
||
"• Every version from the Mojang manifest\n"
|
||
"• Auto-download with SHA-1 checks\n"
|
||
"• Java auto-detect, world backups\n"
|
||
"• No third-party libraries",
|
||
"Манифест Mojang": "Mojang manifest",
|
||
|
||
# --- прочее
|
||
"Не удалось загрузить список версий: ": "Failed to load version list: ",
|
||
"Не удалось получить список версий: ": "Failed to load versions: ",
|
||
"Не удалось разобрать JSON версии": "Failed to parse version JSON",
|
||
"Настройки сохранены": "Settings saved",
|
||
"Копировать": "Copy",
|
||
"Копирование": "Copying",
|
||
"Выберите java.exe": "Select java.exe",
|
||
"Все файлы": "All files",
|
||
"Лоадер:": "Loader:",
|
||
"Установка...": "Installing...",
|
||
"Поиск неиспользуемых ассетов...": "Searching for unused assets...",
|
||
"Java {jver} найдена": "Java {jver} found",
|
||
"Нужна Java {r}+, найдена {j}. Возможны проблемы.":
|
||
"Need Java {r}+, found {j}. Issues possible.",
|
||
"Подтверждаю": "Confirm",
|
||
"Да": "Yes",
|
||
"Нет": "No",
|
||
|
||
# --- моды (Modrinth)
|
||
"Моды…": "Mods…",
|
||
"Моды": "Mods",
|
||
"Поиск модов на Modrinth:": "Search mods on Modrinth:",
|
||
"Искать": "Search",
|
||
"Версия для поиска:": "Version for search:",
|
||
"загрузок": "downloads",
|
||
"Описание:": "Description:",
|
||
"Установленные моды": "Installed mods",
|
||
"Включить": "Enable",
|
||
"Выключить": "Disable",
|
||
"Папка mods": "Open mods folder",
|
||
"Установить Fabric API": "Install Fabric API",
|
||
"Мод установлен: ": "Mod installed: ",
|
||
"Мод отключён: ": "Mod disabled: ",
|
||
"Мод включён: ": "Mod enabled: ",
|
||
"Мод удалён: ": "Mod deleted: ",
|
||
"Моды для {v}": "Mods for {v}",
|
||
"Нет Fabric/Quilt-версии — API не ставится.": "No Fabric/Quilt version selected — API cannot be installed.",
|
||
"Ничего не найдено": "Nothing found",
|
||
"Идёт поиск…": "Searching…",
|
||
"нет совпадений": "no matches",
|
||
"Нужен Fabric или Quilt": "Fabric or Quilt required",
|
||
"Уже установлено": "Already installed",
|
||
|
||
# --- модпаки
|
||
"Импорт модпака…": "Import modpack…",
|
||
"Модпаки": "Modpacks",
|
||
"Модпак установлен: ": "Modpack installed: ",
|
||
"Установка модпака: ": "Installing modpack: ",
|
||
"Установка: ": "Installing: ",
|
||
"Модпак": "Modpack",
|
||
"Ок": "OK",
|
||
|
||
# --- история
|
||
"История и статистика…": "History & stats…",
|
||
"История и статистика": "History & stats",
|
||
"Всего времени: ": "Total playtime: ",
|
||
"Запусков: ": "Launches: ",
|
||
"Последние запуски": "Recent launches",
|
||
"Очистить историю": "Clear history",
|
||
"История очищена": "History cleared",
|
||
"вылетов": "crashes",
|
||
"вылет": "crash",
|
||
"шт.": "x",
|
||
|
||
# --- окно игры / JVM-пресеты (профиль)
|
||
"Окно игры:": "Game window:",
|
||
"Ширина:": "Width:",
|
||
"Высота:": "Height:",
|
||
"Полный экран": "Fullscreen",
|
||
"0 или пусто = как в игре.": "0 or empty = game default.",
|
||
"Пресет JVM:": "JVM preset:",
|
||
"(нет)": "(none)",
|
||
"Производительность (1.16+)": "Performance (1.16+)",
|
||
"Старые версии (Java 8)": "Old versions (Java 8)",
|
||
"Скин-превью…": "Skin preview…",
|
||
|
||
# --- настройки: прокси, масштаб, бэкап
|
||
"Прокси:": "Proxy:",
|
||
"Использовать прокси": "Use proxy",
|
||
"Тип:": "Type:",
|
||
"Хост:": "Host:",
|
||
"Порт:": "Port:",
|
||
"Логин:": "Login:",
|
||
"Пароль:": "Password:",
|
||
"Масштаб интерфейса:": "UI scale:",
|
||
"Применится сразу (шрифты).": "Applies immediately (fonts).",
|
||
"Авто-бэкап мира перед запуском": "Auto-backup world before launch",
|
||
"HTTP-прокси и SOCKS5. Пустой хост = выключен.": "HTTP proxy and SOCKS5. Empty host = off.",
|
||
"Проверить прокси": "Test proxy",
|
||
"Прокси работает": "Proxy works",
|
||
"Прокси не работает: ": "Proxy failed: ",
|
||
|
||
# --- журнал: архив и поиск
|
||
"Сеанс (живой)": "Session (live)",
|
||
"Архив логов": "Log archive",
|
||
"Найти:": "Find:",
|
||
"Найдено: ": "Found: ",
|
||
"нет": "none",
|
||
"только ошибки": "errors only",
|
||
"строка": "lines",
|
||
|
||
# --- скин
|
||
"Обновить": "Refresh",
|
||
"Своё фото…": "Own file…",
|
||
"Скин загружен": "Skin loaded",
|
||
"Скин не найден": "Skin not found",
|
||
"Скин-превью": "Skin preview",
|
||
|
||
# --- ярлык / экспорт
|
||
"Создать ярлык версии…": "Create shortcut for version…",
|
||
"Ярлык создан: ": "Shortcut created: ",
|
||
"Ярлык": "Shortcut",
|
||
"Профиль не найден: ": "Profile not found: ",
|
||
"Не удалось создать ярлык": "Failed to create shortcut",
|
||
"Экспорт настроек…": "Export settings…",
|
||
"Импорт настроек…": "Import settings…",
|
||
"Настройки экспортированы: ": "Settings exported: ",
|
||
"Настройки импортированы": "Settings imported",
|
||
"Не удалось прочитать файл настроек": "Failed to read settings file",
|
||
|
||
# --- сцены баннера
|
||
"Сцена баннера": "Banner scene",
|
||
"День": "Day",
|
||
"Ночь": "Night",
|
||
"Незер": "Nether",
|
||
"Пещера": "Cave",
|
||
"Случайно": "Random",
|
||
"Пейзаж Нижнего мира": "Nether landscape",
|
||
"Пещерный пейзаж": "Cave landscape",
|
||
"Сцена: ": "Scene: ",
|
||
|
||
# --- трей
|
||
"Показать лаунчер": "Show launcher",
|
||
"Выход": "Quit",
|
||
"Игра запущена": "Game launched",
|
||
|
||
# --- профили запуска
|
||
"Профили…": "Profiles…",
|
||
"Профили": "Profiles",
|
||
"Профиль": "Profile",
|
||
"Применить": "Apply",
|
||
"Сохранить текущие": "Save current",
|
||
"Новый профиль": "New profile",
|
||
"Изменить": "Edit",
|
||
"Без профиля": "No profile",
|
||
"Профиль применён: ": "Profile applied: ",
|
||
"Профиль удалён: ": "Profile removed: ",
|
||
"Имя:": "Name:",
|
||
"ОЗУ (МБ):": "RAM (MB):",
|
||
"Полный экран": "Fullscreen",
|
||
"Запомнить включённые моды": "Remember enabled mods",
|
||
"Список профилей пуст": "Profile list is empty",
|
||
"Выберите профиль": "Select a profile",
|
||
"Удалить профиль {p}?": "Remove profile {p}?",
|
||
|
||
# --- миры и копии
|
||
"Миры и копии…": "Worlds & backups…",
|
||
"Миры": "Worlds",
|
||
"Копии": "Backups",
|
||
"Создать копию": "Create backup",
|
||
"Копия мира {w} создана: ": "Backup of {w} created: ",
|
||
"Удалить копию": "Delete backup",
|
||
"Удалить копию {b}?": "Delete backup {b}?",
|
||
"Открыть папку копий": "Open backups folder",
|
||
"Удалить мир": "Delete world",
|
||
"Удалить мир {w}? Это нельзя отменить.":
|
||
"Delete world {w}? This cannot be undone.",
|
||
"Мир удалён: ": "World deleted: ",
|
||
"Копия удалена: ": "Backup deleted: ",
|
||
"Список миров пуст": "No worlds found",
|
||
"Копий нет": "No backups",
|
||
"Выберите мир": "Select a world",
|
||
|
||
# --- избранные версии
|
||
"★ Закрепить/убрать": "★ Pin/unpin",
|
||
"Только избранные": "Only pinned",
|
||
"★ — закрепить версию, двойной клик — выбрать":
|
||
"★ — pin version, double-click — select",
|
||
|
||
# --- обновления модов
|
||
"Проверить обновления": "Check for updates",
|
||
"Проверка обновлений…": "Checking for updates…",
|
||
"Обновлений не найдено": "No updates found",
|
||
"Обновлений: ": "Updates: ",
|
||
"Обновить всё": "Update all",
|
||
"Обновить выбранное": "Update selected",
|
||
"Обновление: ": "Updating: ",
|
||
"Мод обновлён: ": "Mod updated: ",
|
||
"Не удалось обновить: ": "Failed to update: ",
|
||
|
||
# --- разбор вылетов
|
||
"Причина: ": "Cause: ",
|
||
"Похоже, не хватило ОЗУ. Увеличьте её в профиле или выберите пресет.":
|
||
"Out of memory. Increase RAM in the profile or pick a preset.",
|
||
"Проблема с Java: ": "Java problem: ",
|
||
"Вероятная причина — мод {m}. Отключить его?":
|
||
"Likely cause — mod {m}. Disable it?",
|
||
"Мод отключён: ": "Mod disabled: ",
|
||
|
||
# --- автообновление лаунчера
|
||
"Проверить обновление лаунчера…": "Check for launcher update…",
|
||
"Проверить обновление…": "Check for update…",
|
||
"Проверка обновления…": "Checking for update…",
|
||
"Обновление": "Update",
|
||
"Не удалось проверить обновления: ": "Failed to check for updates: ",
|
||
"У вас последняя версия": "You have the latest version",
|
||
"Новая версия {v} (у вас {c}).\n\n{notes}\n\nСкачать и установить?":
|
||
"New version {v} (you have {c}).\n\n{notes}\n\nDownload "
|
||
"and install?",
|
||
"Дождитесь окончания текущей операции":
|
||
"Wait for the current operation to finish",
|
||
"Скачивание обновления": "Downloading update",
|
||
"Не удалось запустить установщик: ": "Failed to start the installer: ",
|
||
"Запускается установщик обновления…": "Starting the update installer…",
|
||
"Обновление не установлено: ": "Update not installed: ",
|
||
"Отменено": "Cancelled",
|
||
|
||
# --- мастер первоначальной настройки (первый запуск)
|
||
"Добро пожаловать в PixelLauncher!": "Welcome to PixelLauncher!",
|
||
"Первая настройка займёт минуту: язык, ник и память для игры.":
|
||
"First-run setup takes a minute: language, nickname and RAM.",
|
||
"Язык можно поменять позже в настройках.":
|
||
"You can change the language later in settings.",
|
||
"Шаг {n} из {m}": "Step {n} of {m}",
|
||
"Как тебя зовут?": "What's your nickname?",
|
||
"Ник игрока (виден в игре):": "Player nickname (visible in game):",
|
||
"Недопустимый ник: латиница, цифры и _, 3-16 символов":
|
||
"Invalid nickname: Latin letters, digits and _, 3-16 chars",
|
||
"Сколько памяти выделить игре?": "How much RAM should the game get?",
|
||
"Подобрать автоматически": "Choose automatically",
|
||
"{mb} МБ ({gb} ГБ)": "{mb} MB ({gb} GB)",
|
||
"Можно оставить авто — лаунчер подберёт значение при запуске.":
|
||
"You can keep auto — the launcher will pick a value at launch.",
|
||
"Всё готово!": "All set!",
|
||
"Ник: {nick}": "Nickname: {nick}",
|
||
"Язык: {lang}": "Language: {lang}",
|
||
"Память: {ram}": "RAM: {ram}",
|
||
"авто": "auto",
|
||
"Чтобы пройти настройку заново, удалите файл settings.json.":
|
||
"To run the setup again, delete the settings.json file.",
|
||
"Назад": "Back",
|
||
"Далее": "Next",
|
||
"Пропустить настройку": "Skip setup",
|
||
"Начать играть": "Start playing",
|
||
|
||
# --- плагины и магазин
|
||
"Плагины…": "Plugins…",
|
||
"Магазин плагинов…": "Plugin store…",
|
||
"Плагины": "Plugins",
|
||
"Магазин плагинов": "Plugin store",
|
||
"Плагинов нет. Загрузите из магазина.":
|
||
"No plugins yet. Get some from the store.",
|
||
"Папка плагинов: ": "Plugin folder: ",
|
||
"Пересканировать": "Rescan",
|
||
"Удалить плагин {f}?": "Delete plugin {f}?",
|
||
"Открыть папку": "Open folder",
|
||
"Загрузка каталога…": "Loading catalog…",
|
||
"Каталог недоступен: ": "Catalog unavailable: ",
|
||
"Плагинов в каталоге: ": "Plugins in catalog: ",
|
||
"Установка…": "Installing…",
|
||
"Плагин установлен: ": "Plugin installed: ",
|
||
"Он уже загружен.": "It is already loaded.",
|
||
|
||
# --- протокол pixellauncher://
|
||
"Неизвестная ссылка: ": "Unknown link: ",
|
||
"Не удалось выполнить ссылку: ": "Failed to open link: ",
|
||
"Протокол: ": "Protocol: ",
|
||
"Действие плагина: ошибка: ": "Plugin action failed: ",
|
||
|
||
# --- сборки (Modrinth / CurseForge)
|
||
"Modrinth: сборки": "Modrinth: modpacks",
|
||
"CurseForge: сборки": "CurseForge: modpacks",
|
||
"Сборки Modrinth…": "Modrinth modpacks…",
|
||
"Сборки CurseForge…": "CurseForge modpacks…",
|
||
"Поиск сборок": "Search modpacks",
|
||
"Файлы сборки": "Pack files",
|
||
"Файлы сборки: ": "Pack files: ",
|
||
"Выберите сборку": "Pick a modpack first",
|
||
"Установка сборки: ": "Installing modpack: ",
|
||
"Модпак установлен": "Modpack installed",
|
||
"Сборка": "Modpack",
|
||
"Загрузка…": "Loading…",
|
||
"КБ": "KB",
|
||
"Б": "B",
|
||
"Ключ CurseForge API (необязательно):": "CurseForge API key (optional):",
|
||
"Без ключа сборки берутся с зеркала CurseForge.":
|
||
"Without a key, modpacks come from the CurseForge mirror.",
|
||
}
|
||
|
||
|
||
def set_language(lang):
|
||
global LANG
|
||
LANG = "en" if lang == "en" else "ru"
|
||
|
||
|
||
def T(s):
|
||
"""Перевод строки; если перевода нет — исходная строка."""
|
||
if LANG == "en":
|
||
return _TABLE.get(s, s)
|
||
return s
|