Alt-F4 #9 - Translation Process
After our special love letter issue last week, we’re back to our regularly scheduled programming this week with issue nine! TheEnemy42 gives us some insight on how the crowdsourced process of translating Factorio into many different languages works, and stringweasel continues their Nauvis Archives series by digging into the origins of some of the language that has developed around the game. Enjoy!
Like most gamers from Denmark, I always play games in English and would never even consider switching to my native Danish language. Some PC or smartphone apps might think they should default to the local language, which always leads to cursing and switching them back to English. The moment I realised that Danish was even an option in Factorio was when I introduced my then seven-year-old daughter to the game.
It did not take long to see that the translation was far from finished. Half the game was still in English and the rest was littered with grammatical errors, dubious translations, and inconsistencies. Some of them just re-used the English word even though a Danish word exists, probably because the translators were so used to the English terms in gaming, which I can’t really blame them for.
After a while, I got curious and started looking into how the Factorio team handled translation. The official forum has a translations board with a reference to Crowdin, which is an online translation tool. All translations are done by volunteers and all I had to do was request access. Crowdin is a nifty tool and the way it works is that everyone can suggest a translation for a given text and users vote for the preferred one. The ones with the most votes get extracted by Wube and make it into the next version. We can then see the new translations in game. Lastly, a proofreader role exists that has the ability to approve a given translation, thus overriding the voting process, though usually the highest voted one is chosen.
This is the Crowdin workspace. On the left is a list of original texts to be translated. At the top is the currently selected original text to translate, and below that is a textbox to enter your translation. At the bottom are the currently suggested translations with their count of votes and a checkmark showing the currently approved one. On the right are some tabs for comments and some common translated terms to help build consistency.
I started contributing to the translation despite having no real experience with translating, and I noticed that all of the previous translators had been inactive for several years. A few people had contributed a few words here and there, but nothing more. Quite a large task lay ahead of me, then. The original strings consist of some 25,000+ words and the Danish translation was around 65% complete at the time, while the approval rate was at a mere 18%.
Of course, I switched my game to Danish and it was actually really rewarding to see the fruits of my labour in game. I got hooked and started spending hours translating in the evening and on my daily commute to work. A lot of it was grunt work and some of it was head-scratchingly difficult as some English or technical terms do not really exist in Danish.
Another interesting challenge with the translation is that Danish (like German or similar languages) concatenate nouns into longer words (e.g. transport belt would be transportbelt). This can lead to rather long single words pushing the layout of the game in unfavourable ways. I am sure translators for other languages faced similar challenges because of grammar, language structure, and the like.
Two examples of the in-game layout either being pushed to a new line or being unable to show the entire text.
After many months of on-and-off translating I hit my first goal of 100% translation back in June. That accomplishment felt really good, but the work was nowhere near done. I applied to become proofreader of the Danish translation and once promoted I had the permissions to rework the previous translations. The final challenge was to look beyond the mere words and make the localisation feel more Danish. It also included improving coherency (using the same word for the same entity in different translations) and fixing grammar issues and all the other oddities across 25,000+ words. This was quite a big task, actually.
At about the same time Wube was working on the new tutorials (the ones that made it into 1.0), and I used this as a way to get a proper feel of the translation since this was most likely what new players would first experience. Did the Danish translation actually make sense in context? So I played through the campaign and mini-tutorials multiple times, tabbing out to Crowdin to fix texts as I went along.
At the beginning of August I was finally done, both bars sat at a pleasant 100%. Smiling to myself after a job well done, I reloaded the page and suddenly it dropped to 96%… Wube had pushed a batch of new text to Crowdin right as I was done. The audacity! Thankfully it did not take long to get it back to 100%.
This last part is actually quite interesting as Wube push new text to translate to Crowdin as part of their process to build a new release (not sure of the exact details). This means that new or changed texts have not been translated yet when players get a new version. For 1.0, this meant that the new spidertron and new crashed spaceship have the original English text in all languages as they were added at release time. It won’t be until 1.1 before it’s fixed even though I translated them in Crowdin on release day.
It also meant that I learned that the spidertron had been added to 1.0 from the translation texts, rather than the trailer or forums, because I saw that first after getting a notification from Crowdin.
Since release I continue to find bits and bobs that could use better translations and pop by Crowdin to fix them, but I do feel a lot of satisfaction about the fact that the game can be played entirely in Danish. I hope that maybe some parents out there can use it to push this gear-shaped drug onto their own kids.
In any established community, a form of jargon is created over time. A selection of words that only people from that community will understand the true meaning of. For example, for Satisfactory engineers these are words like lizard doggo or I-wish-this-was-Factorio. For our native biters, these are words like rooarre, wrrii, or chrokk (see ssilk’s explanation here). And—just as any thriving community—we also have a few phrases we have made our own.
This is a word we’ve heard well-known players use (such as our beloved KatherineOfSky) when talking about underground belts. And it’s also used on Reddit. For example when /u/excessionoz accidentally destroyed his mall (another example of jargon) using the Upgrade Planner mod. So where did this odd word come from?
Well, it all started on the 9th of March 2017. On this fateful day, /u/Dynamic_Gravity had an
argument debate with his girlfriend about what an underground belt was really called. They couldn’t come to an agreement, so they turned to the experts on Reddit and created a poll. And that poll—which his girlfriend so avidly defended—contained the word underneathies.
The rest is history, as they say. The community adopted this word into its jargon like hot cakes. It took only three days for a mod to change the in-game name to underneathies (created by /u/Suprcheese, who also brought us legendary mods like Squeak Through and Orbital Ion Cannon). More than three years later this word is still widely used and loved by many.
It’s fascinating how naturally this particular word was incorporated into our community. I mean, it could just as easily have been nicknamed undie-grundies. We probably made the right call on that one.
Expansive grass plains, dangerous red deserts, and infinitely deep lakes. A land rich in resources but inhabited by a local biter menace. This is the place we came to know and love after brutally crash landing on it. It’s our home, and we call it Nauvis.
Now, nowhere does the game actually call our planet Nauvis—the campaign simply calls it a “strange place”. Even in the ancient days of 0.13, the mission First Steps simply called it “an unknown planet”. And yet, most of us know that the planet we’re all viciously polluting is called Nauvis. Why?
Well, the game itself has various dimensions of existence—or as the code calls them—surfaces. And the surface we all live on is called nauvis. However, this does not necessarily mean that it’s our planet’s name. A surface can be used to create a variety of constructs, including space platforms and factory floors. At some point, modders realised what our main surface is called, and this knowledge was transferred to the general public.
But why Nauvis? What does it mean? There is no direct translation that we know of—but there are many legends. Some say it’s from the Latin word novus which means new. Or, depending on how it’s pronounced, it could be from Latin word navis which means ship. What else would an engineer be used to calling his home when he has travelled through space for long periods of time in a ship?
Alas, we might never know what our planet was originally called—by our people or the natives. Or what the true meaning is behind the beautiful name. But, we will always call the home we’re stranded on Nauvis.
Editor’s Note: After publishing this article, IronCartographer gave an example of how the name Nauvis actually appears in-game in specific situations. Even more excitingly, Wube Community Manager Klonan posted some never-heard-before information about an unrealized backstory and a possible name for the engineer after reading this article. We dig that in our next article, so feel free to check that one out!
As always, we’re looking for people that want to contribute to Alt-F4, be it by submitting an article or by helping with translation. If you have something interesting in mind that you want to share with the community in a polished way, this is the place to do it. If you’re not too sure about it we’ll gladly help by discussing content ideas and structure questions. If that sounds like something that’s up your alley, join the Discord to get started!