PixelLauncher 2.1.0 — стабильная сборка

Офлайн-лаунчер Minecraft: аккаунты без Microsoft, установка версий и лоадеров
(Fabric, Quilt, Forge, NeoForge), каталог модпаков Modrinth, поиск и обновление
модов, разбор вылетов, системный трей, автозагрузка, плагины, прокси и зеркала.
This commit is contained in:
kosta2014p committed 2026-10-18 22:44:19 +07:00
commit ec6f13ddcc
33 files changed
+10445

No files matched your search

+483
View File
@@ -0,0 +1,483 @@
"""Локализация интерфейса (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",
"Светлая тема": "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: ",
}
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