Десктопное приложение для редактирования локализованных сообщений в миссиях симулятора Digital Combat Simulator World.
- Открытие файлов
dictionaryнапрямую или из архивов миссий*.miz - Отображение сообщений в виде таблицы ключ → значение
- Редактирование значений в модальном диалоге с поддержкой многострочного текста
- Удаление отдельных записей из таблицы
- Сохранение изменений обратно в файл
dictionaryили внутрь архива*.miz - Откат всех несохранённых изменений из файла
- Поиск/фильтрация записей по ключу или значению в реальном времени
- Сортировка по любой колонке
- Выбор локали из выпадающего списка (при работе с
*.miz) - Удаление локали из архива
*.miz - Переключение тёмной / светлой темы
dcsw_message_editor/
├── main.py # Точка входа
├── app.py # Главное окно приложения (UI)
├── parser.py # Парсер и сериализатор формата dictionary
├── miz.py # Работа с архивами *.miz (чтение, запись, удаление локали)
└── requirements.txt # Зависимости Python
Файл dictionary использует синтаксис Lua-таблицы:
dictionary =
{
["DictKey_18"] = "Одиночное сообщение",
["DictKey_24"] = "Первая строка\
\
Третья строка после пустой",
} -- end of dictionaryМногострочные значения записываются через Lua line-continuation —
строка заканчивается символом \, после которого идёт перевод строки.
Приложение корректно читает, отображает и сохраняет такие значения.
Файл dictionary располагается по пути l10n/<локаль>/dictionary внутри
архива *.miz. Имя подкаталога (DEFAULT, RU, EN и т. д.) является
идентификатором локали.
- Python 3.9+
- ttkbootstrap ≥ 1.10.1
# Установить зависимости
pip install -r requirements.txt
# Запустить приложение
python main.pyНажмите 📂 Открыть и выберите:
- файл
dictionary— для редактирования одной локали напрямую; - файл
*.miz— приложение извлечёт все локали из архива.
При открытии *.miz в панели инструментов появится выпадающий список
Локаль для переключения между доступными локалями.
Дважды щёлкните по строке таблицы (или нажмите Enter) — откроется диалог редактирования значения. Переносы строк в диалоге отображаются как обычные пустые строки и корректно сохраняются в формате Lua.
- ✔ Применить — записывает текущую локаль в файл или архив.
- ✖ Отменить всё — перезагружает данные из файла, отменяя все изменения.
- 🗑 Удалить строку — удаляет выбранную запись из таблицы (применяется к файлу только после нажатия Применить).
- 🗑 (кнопка рядом с выпадающим списком локалей) — немедленно удаляет
выбранную локаль из архива
*.miz. Недоступно, если локаль единственная.
Введите текст в поле поиска — таблица фильтруется по ключу и значению в реальном времени. Кнопка ✕ сбрасывает фильтр.