Repository navigation
translate txt
translate.txt is the file you'll spend the most time in. Every "normal" piece of text the game draws — HUD labels, menu items, interaction prompts, button labels, settings, save names — goes here.
One translation per line, separated by =:
SOURCE = your translation
That's the whole syntax. Real entries from the shipping Korean pack:
# My Winter Car Strings
NOW LOADING YEAR 1999... = 1999년 불러오는 중...
PROBLEM = 문제
THIRST = 갈증
CASH = 돈
MISC SETTINGS = 기타 설정
AI CAR SNOW TRAILS = AI 차량 눈 자국
ASSIGN DRIVING CONTROLS = 차량 조작 키 할당
LIGHTS PARK = 주차등 켜기
HI BEAM TOGGLE = 하이빔
BLINKER RETURN = 방향지시등 끄기
Lines starting with # are ignored. Use them to group related sections — the plugin doesn't require it, but you and other translators will appreciate the structure when the file grows past a thousand lines.
When the plugin loads a line, the left-hand side (the key) is normalized: trimmed of leading/trailing whitespace and uppercased. So these three lines are equivalent:
beer = Cerveza
BEER = Cerveza
Beer = Cerveza
Don't worry about matching the casing of what you see in-game — the plugin uppercases both sides of the lookup. The value (right-hand side) is preserved exactly as written.
Use the literal characters \n (backslash + n) for line breaks:
Welcome to My Winter Car = 마이 윈터 카에\n오신 것을 환영합니다
If your translation contains an = character, escape the one that's the key/value separator with a backslash:
A \= B = A는 B와 같음
Ignored. Use them freely as visual spacing.
The plugin loads several translation files and merges them into one dictionary. Later files override earlier ones:
1. translate_msc.txt (optional)
2. translate.txt (this file)
3. translate_mod.txt (optional)
So if you re-use an existing MSC translation as a base via translate_msc.txt, anything you add to translate.txt wins. See Optional Translation Files.
Some entries contain numeric placeholders:
PRICE TOTAL: {0} = 총 금액: {0}
TAKE MONEY {0} = 돈 가져가기: {0}
CONDITION {0}% = 상태 {0}%
KEYBOARD AND MOUSE {0} MK = 키보드 마우스 세트 {0} MK
These are patterns — the game substitutes runtime values into them. Keep every placeholder in your translation, but you can reorder them to fit your language's grammar. See Translation Patterns for the full story.
If your translated text is too long, sits at the wrong position, or renders at a bad size, you don't fix that here — you add a rule in Text Adjustments.
- translate_magazine.txt — classifieds magazine. Different file because of how the game randomizes and overwrites those lines.
- translate_teletext.txt — TV teletext and chat. Different file because of category-ordered news pages and FSM-side overwrites.
-
Optional Translation Files —
translate_msc.txt(MSC base) andtranslate_mod.txt(mod content).
Getting Started
Translation Files
- Configuration
- translate.txt
- translate_magazine.txt
- translate_teletext.txt
- Optional Files
- Translation Patterns
Advanced
- Text Adjustments
- Testing & Debugging
- Creating font assetbundle
- Creating texture pack
- Setting up development environment
Community