DCS Mission Translator (DCS_Mission_Tool)

This tool is designed to extract dictionary texts from DCS World .miz mission files into CSV format, and after translation, re-embed them back into the mission as a Turkish (TR) language pack.

It is especially intended for text-heavy campaigns such as The Gamblers Campaign, enabling fast, clean, and error-free translation workflows.

📁 Folder Structure

The tool requires the following folder structure:

DCS_Mission_Tool
│
├─ translator.py
├─ extract_dictionary.lua
│
└─ Mission
   ├─ miz        → Original .miz mission files
   ├─ csv        → Generated CSV files for translation
   ├─ export     → Extracted / temporary working directory
   └─ import     → Final translated .miz outputs
🧰 Requirements

Python 3.9+

Lua (5.1 / 5.3 / 5.4 all supported)

Lua must be available in PATH

Lua check

Run in CMD:

lua -v

If a version is displayed, Lua is correctly installed.

🚀 Usage
1️⃣ Export (CSV extraction)

This command:

Processes all .miz files in Mission/miz

Extracts the dictionary

Exports all entries into CSV format

python translator.py csvexport
python translator.py mizimport TR
python translator.py mizimport DE
python translator.py mizimport FR

✔ Output:

Mission/csv/Gamblers M01.csv
Mission/csv/Gamblers M02.csv
...

CSV headers:

key | Text_En | Text_Tr
2️⃣ Translation

Open CSV files using Excel / LibreOffice / VS Code

Only fill in the Text_Tr column

If Text_Tr is empty, the original English text is preserved

Completely empty entries are written as ""

3️⃣ Import (Generate Turkish .miz)

This command:

Reads translated CSV files

Creates l10n/TR/dictionary

Generates new _TR.miz mission files

python translator.py mizimport TR
python translator.py mizimport DE
python translator.py mizimport FR

✔ Output:

Mission/import/Gamblers M01_TR.miz
Mission/import/Gamblers M02_TR.miz
...















DCS Mission Translator (DCS_Mission_Tool)

Bu araç, DCS World .miz görev dosyalarının içindeki dictionary metinlerini CSV formatına çıkarmak ve çeviri işlemi tamamlandıktan sonra Türkçe (TR) dil paketi olarak tekrar görev dosyasına gömmek için tasarlanmıştır.

Özellikle The Gamblers Campaign gibi metin yoğun kampanyalarda, hızlı, temiz ve hatasız bir çeviri süreci sağlamak amacıyla hazırlanmıştır.

📁 Klasör Yapısı

Araç, aşağıdaki klasör yapısını zorunlu olarak kullanır:

DCS_Mission_Tool
│
├─ translator.py
├─ extract_dictionary.lua
│
└─ Mission
   ├─ miz        → Orijinal .miz görev dosyaları
   ├─ csv        → Çeviri için üretilen CSV dosyaları
   ├─ export     → Açılmış / geçici çalışma klasörü
   └─ import     → Türkçeleştirilmiş .miz çıktıları
🧰 Gereksinimler

Python 3.9 veya üzeri

Lua (5.1 / 5.3 / 5.4 sürümleri desteklenir)

Lua’nın PATH değişkenine eklenmiş olması gerekir

Lua Kontrolü

Komut satırında (CMD) şunu çalıştırın:

lua -v

Eğer bir sürüm bilgisi görüntüleniyorsa, Lua doğru şekilde kurulmuştur.

🚀 Kullanım
1️⃣ Export (CSV çıkartma)

Bu komut:

Mission/miz klasöründeki tüm .miz dosyalarını işler

dictionary içeriğini çıkartır

Tüm metinleri CSV formatına dönüştürür

python translator.py csvexport
python translator.py mizimport TR
python translator.py mizimport DE
python translator.py mizimport FR

✔ Çıktı:

Mission/csv/Gamblers M01.csv
Mission/csv/Gamblers M02.csv
...

CSV başlıkları:

key | Text_En | Text_Tr
2️⃣ Çeviri

CSV dosyalarını Excel / LibreOffice / VS Code ile açın

Sadece Text_Tr sütununu doldurun

Text_Tr boş bırakılırsa, orijinal İngilizce metin korunur

Tamamen boş olan satırlar "" olarak yazılır

3️⃣ Import (Türkçe .miz üretme)

Bu komut:

Çevrilmiş CSV dosyalarını okur

l10n/TR/dictionary dosyasını oluşturur

Yeni _TR.miz görev dosyaları üretir

python translator.py mizimport TR
python translator.py mizimport DE
python translator.py mizimport FR

✔ Çıktı:

Mission/import/Gamblers M01_TR.miz
Mission/import/Gamblers M02_TR.miz
...