Files
PixelLauncher/launcher/i18n.py
T

508 lines
26 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
"""Локализация интерфейса (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",
}
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