game-translator-mcp
game-translator-mcp
Универсальный MCP-инструмент для локализации игр — сканирует каталог игры, вызывает AI-перевод и записывает китайский текст обратно.
Назначение: это «способность локализации», которую может вызывать AI-агент, а не самостоятельное ПО для перевода. Может работать совместно с mc-translator-mcp, mc-pack-builder-mcp и другими инструментами.
Область применения
Инструмент предназначен для локализации игр/модов, где текст хранится в виде открытых текстовых файлов — это «перевод текста», а не «внедрение ресурс-паков».
Область применения | Описание |
Поддерживаемые форматы текста |
|
Типичные объекты | Моды Minecraft, Euro Truck Simulator 2, игры на движке Source (VDF для Portal 2 / HL2 / L4D), открытые таблицы локализации Unity, открытые конфигурационные файлы Steam |
Вход | Корневой каталог игры или любой каталог с текстовыми файлами |
Выход | Отдельный каталог локализации (режим copy), исходные файлы игры не изменяются |
Неприменимо / известные ограничения:
Запакованные бинарные ресурсы Unity —
.pak/.vpk/catalog.json, требуют распаковки перед обработкойИгры на Unreal с
.locres(например, Palworld) требуют распаковки через UnrealPakТексты, отправляемые с сервера или зашифрованные в War Thunder / PUBG и подобных играх, — взлом не поддерживается
Файлы более 10 МБ (защита от ошибочного сканирования бинарных данных) при сканировании автоматически пропускаются
Подсказка: в играх Unity есть много
.json/.xml, но большинство из них — конфигурация движка, а не игровой текст; сканер вернёт их как есть, решать, стоит ли переводить, должен пользователь.
Related MCP server: ttsstt-mcp-server
Требования
Условие | Описание |
Python | ≥ 3.10 |
Зависимости | см. |
Сеть | необходим доступ к API AI-перевода |
API Key | Не привязан ни к какому конкретному провайдеру. Вы выбираете любого провайдера, совместимого с OpenAI, и указываете key / base_url / имя модели (см. «Конфигурация» ниже) — это обязательное условие для работы перевода |
Переносимость | Чистый Python + стандартные зависимости, работает локально на Windows / macOS / Linux, без привязки к платформе |
Лицензия | Переведённый текст — только для личного использования / некоммерческих целей; для коммерческого использования необходимо проверить условия распространения игры и модов |
AI-провайдер полностью настраивается пользователем (определяется, какой ключ сконфигурирован, приоритет custom > agnes > dashscope > deepseek):
Пользовательский провайдер OpenAI-совместимый (рекомендуется, самый универсальный):
TRANSLATOR_API_KEY+TRANSLATOR_BASE_URL+TRANSLATOR_MODEL— подходит для любой совместимой платформыAgnes AI:
AGNES_API_KEY+AGNES_BASE_URL+AGNES_MODELTongyi Qianwen:
DASHSCOPE_API_KEYDeepSeek (опциональный запасной):
DEEPSEEK_API_KEY
Установка
cd game-translator-mcp
pip install -e ".[dev]"Конфигурация
Скопируйте .env.example в .env и заполните используемого провайдера:
cp .env.example .envВыберите любой вариант (используется тот ключ, который найден; приоритет custom > agnes > dashscope > deepseek):
# 方式 A(推荐,最通用):自定义 OpenAI 兼容供应商 —— 填你自己的 key / 网关地址 / 模型名
TRANSLATOR_API_KEY=sk-xxx
TRANSLATOR_BASE_URL=https://your-gateway.example.com/v1
TRANSLATOR_MODEL=your-model
# 方式 B:agnes ai(也可展开为 OpenAi 兼容平台)
# AGNES_API_KEY=sk-xxx
# AGNES_BASE_URL=https://apihub.agnes-ai.com/v1
# AGNES_MODEL=agnes-2.5-flash
# 方式 C:通义千问
# DASHSCOPE_API_KEY=sk-your-qwen-key-here
# 方式 D:DeepSeek(可选,主供应商失败时 fallback)
# DEEPSEEK_API_KEY=
BATCH_SIZE=15 # 每批翻译条数,越高越省 token
OUTPUT_DIR=translated_output # 汉化输出目录Приоритет конфигурации: сначала читаются переменные окружения, затем файл
.envв корне проекта, и наконец встроенные значения по умолчанию. API Key вы предоставляете сами и запрашиваете его самостоятельно на соответствующей платформе (например, agnes / Tongyi / DeepSeek / другой OpenAI-совместный шлюз).
Переносимость: инструмент не привязан ни к какому облачному провайдеру. Достаточно настроить любой из указанных наборов API-параметров на целевой машине для локального запуска — подходит для CI, Docker или любой платформы.
Способы запуска
Как MCP-сервер (для вызова через AI-агента)
python -m game_translator_mcpПример конфигурации для Trae / Claude Desktop:
{
"mcpServers": {
"game-translator-mcp": {
"command": "python",
"args": ["-m", "game_translator_mcp"]
}
}
}Интеграция с LangChain Agent (PYTHONPATH указывает на src/):
{
"mcpServers": {
"game-translator-mcp": {
"command": "python",
"args": ["-m", "game_translator_mcp"],
"env": {
"PYTHONPATH": "/path/to/game-translator-mcp/src"
}
}
}
}CLI-режим
# 扫描游戏目录,列出可翻译文件
python -m game_translator_mcp check <游戏目录路径>
# 执行完整汉化
python -m game_translator_mcp translate <游戏目录路径> --modid mygame
# 预览翻译效果(不写入文件)
python -m game_translator_mcp translate <游戏目录路径> --modid mygame --dry-run
# 列出 Steam 库中的可翻译游戏
python -m game_translator_mcp steamMCP-инструменты
Имя инструмента | Функция |
| Сканирует каталог, возвращает список переводимых файлов + приблизительный объём текста |
| Полный процесс локализации: сканирование → AI-перевод → запись → отчёт |
| Предварительный просмотр результата перевода, без фактического изменения файлов |
| Находит установленные в локальной библиотеке Steam игры с возможным переводом |
Примеры использования
Вызов на естественном языке (через Trae)
«Помоги мне просканировать, в каких моих играх Steam есть переводимые тексты»
«Переведи английские тексты игры RimWorld»
«Просмотри вариант локализации для Factorio, но не записывай ничего»
Прямой вызов из командной строки
# 汉化一个模组目录
python -m game_translator_mcp translate "path/to/my-mod" --modid mymod
# 输出目录默认为 translated_output/
# 汉化报告自动生成到 translated_output/report.txtСтруктура вывода
translated_output/
├── my-mod/
│ ├── assets/my-mod/lang/zh_cn.json
│ └── ...(保持原目录结构)
├── rimworld/
│ ├── Assets/StreamingAssets/Localization/zh-cn.json
│ └── ...
└── report.txt # 汉化报告Основные модули
Модуль | Функция |
| Сканирует каталог игры, определяет переводимые файлы, фильтрует бинарные/большие файлы |
| Парсер текстов многих форматов (JSON / LANG / TXT / INI / XML / YAML / SII / TSV / VDF) |
| Массовый перевод через любого OpenAI-совместимого провайдера (custom / agnes / Tongyi / DeepSeek) + кэш SHA-256 |
| Запись результатов перевода с сохранением исходного формата; поддерживает режим copy / inplace |
| Формирует понятный отчёт о локализации (статистика успешно / пропущено / ошибок) |
| Обнаружение игр Steam, разбор индексирующих файлов VDF |
| Точка входа MCP-сервера, предоставляет 4 инструмента для AI-агента |
| CLI-интерфейс с подкомандами check / translate / steam |
Ключевые особенности
Умный кэш: для
{modid}::key::valueвычисляется SHA-256; одинаковые исходники переводятся только один раз, результат сохраняется вtranslator_cache.jsonПропуск существующих переводов: если в выходном каталоге уже есть файлы перевода такого же формата, они автоматически пропускаются, чтобы не перезаписывать переводы сообщества
Пакетный перевод: каждый запрос содержит до
BATCH_SIZEзаписей, один вызов API возвращает все результаты, что сильно снижает расход токенов и задержкуАдаптивность провайдера: определяется, какой ключ настроен у пользователя (custom > agnes > dashscope), optional DeepSeek как fallback; привязки к одному провайдеру нет
Нулевое вмешательство: по умолчанию режим copy создаёт отдельный выходной каталог, не изменяя исходные файлы игры (game files)
Тестирование
python -m pytest tests/ -v
# 或
pytest tests/ -vВсе тесты проходят на Windows + Python 3.14 (77 tests passed, включая новые случаи VDF UTF-16).
Реальное тестирование локализации
Проведено енц-ту-енд-ту-енд-ту-енд-ту (конец-то-конец) с реальными игровыми файлами (использован agnes ai), результаты арцивированы в tests/reports/:
✅ REPO (монстрированный круор):
Menu/HUD/Gаме.tsv— 603 записи, все реально переведены и записаны обратно в TSV, успешно — 602✅ Port ал 2: Source VDF (UTF-16) енд-то-енд локализация, в
basemodui_english.txт— 2231 открытых пеерводимых запией, в записи сохранен UTF-16 BOM✅ B ipe д 2:
localization_п.тxt— открытое 928 запиейkey=value, может бытиь молеку переведено🔍 Остальные игры (Исааc / Palворлд / CSGО и драг.): тексст мп. в закрытую ресурсных пакетах или только конфигурция двигка, подробн в тест-отчете
Добро пожалова в пополнение библиотеки игр
Инструмент поддерживает любые игры/моды в открытых текстовых форматах. Если текст вашей игры находится в открытых текстовых файлах (.json / .tsv / .lang / .sii / .vdf и т.п.), добро пожаловать дополняей библиотеку через Issue / PR, вместе расширим существующие парсеры. Подробное руководствооо в tests/reports/.
Отношние с сущесвующей цепочкой инструментов
Инструмент | Способ сотруднич. |
| Усиленная версия для Minecraft; MC-подмножево этого инструмента |
| При сборке модпака автоматически проверяет, нуждается ли мод в локализации, и вызывает этот инструмент для выпол. перевода |
| После локализации провеяет, правлльно ли конфигур. файлы мода |
LangChain Agent | Подключение по протоколу MCP stdio, поддержка проecса локализации на естественном языке |
Руководство по вкладу
Поддерзка нового игрового формата:
В
parsers.pyдобавьте новую функцу парсинга (напр.,_par se_locres)Зарегистрируйте в словаре
_پرSERЗРSВ
scade.pyдобавьте расширение вSUPPORTED_EXTEFORЗДобравьте соответвующий тест в
tessts/test_parte.py
Лицензия
MIT License — свобоодное испольование, изменне и распростран.
This server cannot be deployed
Maintenance
Related MCP Connectors
Chinese web novel MCP: 36 tools (outline, prose, review, coach, KD export). BYOK, no API key.
Translate MCP — LibreTranslate-compatible machine translation.
LibreTranslate MCP — open-source machine translation (BYO endpoint)
LLM chat, text tools, image generation, editing, batch image jobs, and asynchronous video generation
Related MCP Servers
- FlicenseNot gradedqualityCmaintenanceEnables translation of JSON i18n files to multiple languages using various AI providers (Google Gemini, OpenAI, Ollama/DeepSeek) with intelligent caching and deduplication.19 npm5-
- AlicenseNot gradedqualityDmaintenanceEnables speech-to-text and text-to-speech conversion using OpenAI-compatible APIs. Supports customizable models, voices, and output directories.GPL 3.0
- AlicenseNot gradedqualityDmaintenanceSyncs Epic/GOG/Steam game libraries with Chinese metadata, enabling AI agents to recommend games through natural language conversation.1MIT
- AlicenseAqualityBmaintenanceEnables automatic translation of Minecraft mod language files to Simplified Chinese via Qwen, producing resource packs that can be loaded into Minecraft.4MIT