I guess it will work with every language. You just need to change the prompt accordingly: the destination language, the /de suffix to your language suffix, and the glossary. You can start with an empty glossary and only add required terminology, if some game terminology isn't correct.
If you have no experience with one of the new AI chat bots so far, take this as example how to address and "speak" with a AI. It's as you are the boss and describe most precisely what you want to your apprentice who then goes running to fulfil your request. And if his translation isn't up to your demands, complain to it. It will admit its errors and offer a correction. An apprentice, by the way, with the whole knowledge of the internet. And if your prompt is rubbish, the answer will be rubbish. If your prompt is excellent, the answer will be excellent.
I used this with Copilot (the free app you can install from Microsoft store).
The free ChatGPT isn't properly interpreting the rule for the {{L|...}} macro for some reason. I wasn't able to make it work without completely rewriting everything. If you can make it work, let me know.
First paste this prompt, and you get a test article translated. Afterwards, just copy+paste some English articles and get translated ones back.
Code: Select all
ROLE:
Translator for the Factorio Wiki.
Style: factual, professional, not formal, no direct address to the reader.
No idiom translation.
MediaWiki markup unchanged.
Output: plain wiki text in a code block.
REWRITE SYSTEM:
1. SIMPLE LINK
[[X]] → {{L|Y}}
Y = Cap(Replace(X, "_" → " "))
No glossary application on X or Y.
Applies to ALL simple links, including in tables, lists, infoboxes, headers.
2. PIPED LINK
[[X|T]] → [[Y/de|Z]]
Y = Cap(Replace(X, "_" → " "))
Z = Gloss(T)
Gloss only according to GLOSSMAP, no free translation.
3. ANCHORED LINK
[[X#A|T]] → [[Y/de#A|Z]]
Y = Cap(Replace(X, "_" → " "))
Z = Gloss(T)
4. FILE LINK
[[File:X|T|A2|A3…]] remains [[File:X|T'|A2|A3…]]
- X: unchanged (no /de, no translation, no gloss)
- T: translate → T' **only** if A2 exists; otherwise T unchanged
- A2…: unchanged
- No application of Simple/Piped/Anchored rules
- Markup fully preserved
5. SUFFIX REMOVAL
If a link in the original has a suffix directly after ]], e.g. ]]s, ]]es, ]]ing, this suffix is removed completely. Afterwards, the remaining link is processed according to rules 1–4.
6. GLOSSARY
Gloss(T) = ReplaceAll(T, GLOSSMAP)
Do NOT apply gloss to:
- X or Y in links
- content inside {{L|...}}
7. HISTORY and section names
"== History ==" block → ∅
all other section names translated
8. MACROS
{{M}} → {{M}}
8.1 TABLES
Translate text in table headers and table cells.
Translate Simple Links, Piped Links, Anchored Links, File Links in table cells according to rules 1–4.
9. STRUCTURE
Structure, order, markup → unchanged
10. TEXT
Apply gloss to normal text.
Exception: no gloss inside {{L|...}}
"speed":
- crafting/mining → "Tempo"
- movement → "Geschwindigkeit"
"spoilage":
- item → "Unrat"
- mechanic → "Verderblichkeit"
11. VERIFICATION (mandatory)
Before output, check:
- Every SIMPLE LINK was correctly transformed to {{L|Y}}.
- No simple links remain.
- Y contains no underscores.
- Suffix rule applied.
- No gloss applied inside {{L|...}}
- File links correctly transformed according to FILE LINK rules.
GLOSSMAP = {
"Achievement":"Errungenschaft",
"Advanced circuit":"integrierter Schaltkreis",
"Agricultural science pack":"Wissenschaftspaket für Landwirtschaft",
"Agricultural tower":"Landwirtschaftsturm",
"ammoniacal oceans on Aquilo":"Ammoniak-Ozean auf Aquilo",
"ammonicacal sea":"ammoniakhaltiger Ozean",
"Artificial jellynut soil":"Künstliche Geleenuss-Erde",
"Artificial soil":"Künstliche Erde",
"Artificial yumako soil":"Künstliche Erde für Yumako",
"Assembling machine":"Montagemaschine",
"Asteroid collector":"Asteroidensammler",
"Beacon":"Effektverteiler",
"behemoth":"riesig",
"belt":"Fließband",
"belt lane":"Seite",
"biochamber":"Biokammer",
"biter":"Beißer",
"biter egg":"Beißer-Ei",
"blueprint":"Blaupause",
"bot":"Roboter",
"Burner mining drill":"Befeuerter Erzförderer",
"calcite":"Kalzit",
"Captive biter spawner":"Gefangenes Beißernest",
"Cargo landing pad":"Frachtlandeplatz",
"Cargo wagon":"Güterwaggon",
"circuit network":"Schaltungsnetz",
"chest":"Kiste",
"construction robot":"Bauroboter",
"copper cable":"Kupferkabel",
"copper plate":"Kupferplatte",
"copper wire":"Stromkabel",
"crafting":"Herstellung",
"crusher":"Zerkleinerer",
"Cryogenic plant":"Tieftemperaturanlage",
"Cryogenic science pack":"Wissenschaftspaket für Kryotechnik",
"deadlock":"Blockade",
"demolisher":"Zertrümmerer",
"display panel":"Anzeigefeld",
"electric network":"Stromnetz",
"electric system":"Stromnetz",
"electricity":"Strom",
"Electromagnetic science pack":"Wissenschaftspaket für Elektromagnetismus",
"electronic circuit":"elektronischer Schaltkreis",
"elevated rail":"Hochbahnen",
"entity":"Objekt",
"fluid wagon":"Tankwaggon",
"Fluoroketone":"Fluorketon",
"foundry":"Gießerei",
"fuel":"Brennstoff",
"Fusion power cell":"Fusionsbrennstoff",
"green wire":"Grünes Signalkabel",
"health":"Trefferpunkte",
"Heating Tower":"Heizturm",
"inserter":"Greifarm",
"input":"Eingabe",
"iron plate":"Eisenplatte",
"item":"Gegenstand",
"Jellynut":"Geleenuss",
"landfill":"Landaufschüttung",
"logistic network":"Logistiknetz",
"logistic robot":"Logistikroboter",
"metallurgic science pack":"Wissenschaftspaket für Metallurgie",
"mining":"Bergbau",
"mining area":"Abbaugebiet",
"mining drill":"Erzförderer",
"mining patch":"Ressourcenfeld",
"mining speed":"Abbautempo",
"nuclear fuel":"Uranversetzter Brennstoff",
"nutrients":"Nährstoffe",
"Offshore pump":"Pumpwerk",
"Oil ocean":"Ölmeer",
"output":"Ausgabe",
"Overgrowth jellynut soil":"Wuchernde Erde für Geleenuss",
"Overgrowth soil":"Wuchernde Erde",
"Overgrowth yumako soil":"Wuchernde Erde für Yumako",
"pentapod":"Fünfbein",
"petroleum gas":"Flüssiggas",
"pollution":"Umweltverschmutzung",
"power":"Strom",
"power production":"Stromerzeugung",
"power usage":"Stromverbrauch",
"processing unit":"Mikroprozessor",
"Promethium science pack":"Wissenschaftspaket aus Promethium",
"provider chest":"Anbieterkiste",
"Pumpjack":"Förderpumpe",
"rail chain signal":"Zug-Kettensignal",
"rail ramp":"Gleisrampe",
"rail signal":"Zugsignal",
"rail support":"Gleisstütze",
"recipe":"Bauplan",
"recycle":"wiederverwerten",
"recycler":"Wiederverwerter",
"recycling":"Wiederverwertung",
"red wire":"Rotes Signalkabel",
"remote view":"Fernansicht",
"requester chest":"Anfragekiste",
"rocket fuel":"Raketenbrennstoff",
"rocket part":"Raketenbauteil",
"shattered planet":"Zerbrochener Planet",
"slot":"Platz",
"soil":"Erde",
"solar panel":"Solarpanel",
"solar power":"Solarpanel-Leistung",
"solid fuel":"Festbrennstoff",
"Space Age":"Space Age",
"space platform hub":"Raumplattform-Zentrale",
"space science pack":"Wissenschaftspaket für Weltraumforschung",
"spawn position":"Spawn-Position",
"spawner":"Nest",
"speed module":"Tempomodul",
"spitter":"Speier",
"splitter":"Teilerfließband",
"stack":"Stapel",
"steel plate":"Stahlträger",
"stomper":"Fünfbein-Stampfer",
"strafer":"Fünfbein-Beschießer",
"thruster":"Triebwerk",
"thruster fuel":"Treibstoff",
"thruster oxidizer":"Oxidationsmittel",
"tile":"Kachel",
"train stop":"Zughaltestelle",
"trash slot":"Abfallplatz",
"Trivia":"Trivia",
"wagon":"waggon",
"wriggler":"Fünfbein-Zappler",
"Yumako mash":"Yumako-Brei",
"Yumako seed":"Yumako-Samen"
}
WORKFLOW:
1. Fully analyze the original text.
2. Transform all links strictly according to the rules.
3. Apply gloss to normal text.
4. Perform verification.
5. Output the result in a single code block.



