When we made our first game, we were lucky enough to have a great community that helped out with translating the game into a lot of different languages. Thatâs why Iâd like to invite anyone who knows a different language to join the effort to make InfraSpace multi-lingual as well . Weâre using the same system as last time, so much of the following tutorial stays the same, too.
Iâm super thankful for everyone who decides to help out
So, how does it work?
We are going to use the Website GitHub to keep track the localization files and the changes to them. The advantage is that it automatically tracks all the changes and who has done what. If you would like to participate in the community translation effort, youâll need a GitHub account, be approved as a contributor and then you can start translating!
When we release a new version, we are going to download all the translations, make the languages selectable ingame and release it. If a translation is not 100% done, the missing phrases are going to use the english version by default.
Step 1 - Create a GitHub Account
This is straightforward: Go to github.com and create your account.
Step 2 - Get Approved as a Contributor
Send me your GitHub username either here on the Forums or on the Discord server. Iâll give you edit rights to the repository. The invitation will arrive as a GitHub email in your mail account.
Save the link to the InfraSpaceLocalization repository in your bookmarks or use this link.
Step 3 - Start Translating online
Just click on one of the json files and find the edit button on the top right to start changing it
As you can see in the picture, translation entries have the following format:
"newGame": {
"english": "New Game",
"german": "Neues Spiel",
"spanish": "Nuevo Juego",
"french": "Nouveau Jeu",
"dutch": "Nieuw Spel",
},
If your language is missing, simply add it and watch out that all the commas are still correct.
Sometimes there are special keywords in the translation, like here:
"messageText_TechUnlocked": {
"english": "You unlocked %techName% and can now do new stuff!\n%unlockedStuff%",
"german": "Du hast %techName% erforscht und kannst nun neue Dinge machen!\n%unlockedStuff%"
},
If a word is written between %-signs, like %techName%
, itâs a special keyword thatâs going to be replaced by the game. Just copy the word with the %-signs directly into your translation. The \n
characters are going to be replaced by a new line when loaded by the game.
Finally, commit your changes to save them!
Step 3 Alternative - Do your Translation locally on Your Computer
GitHub uses a program called git to manage all the changes to these files. If you already know how to use git, feel free to use your favorite git tools to download all the files to your computer and then push your changes to GitHub. If you donât, there are a lot of tutorials online, but be warned - git was created for programmers and there is some complexity inherent to it.
Since multi-user editing is not terribly well supported by GitHub, this method might be necessary if we have a lot of community translators, but for now I think alternative 1 should be sufficient for most people.
Step 4 - Test your Translation in the Game
Scroll down to view the next post in this thread which describes how to download your translations and test them inside the game.
Step 5 - Get Added in the Credits of InfraSpace
When your language gets released with the game, weâll add regular contributers to the credits of InfraSpace as a thank you for all the help.
Important Rules
- Only developers are allowed to change the English and German versions. They are official and should not be changed by the community. If you find spelling mistakes or feel like some phrasing doesnât really fit, you can open an issue on GitHub, so we can have a look and change it ourselves.
- If you know git, you can use it pretty much however you want: Clone the repo, create branches and make pull requests.
But donât switch to a developer branch like âAlpha_7â and push your changes there as this can disrupt our work.
Guidelines for Translations
In order to achieve consistent phrasing in the game, here are some guidelines to keep everyone on the same page:
-
Newlines are required in some entries. The preferred way of dealing with them is using
\n
characters. - Brevity is the soul of wit. Most texts should be kept as short as possible so the player doesnât have to read walls of text and to make it easier for the UI to accommodate everything.
Communication
In translation there is no single correct solution and conveying the meaning is just as important as keeping the style consistent. Youâre going to have to talk to your fellow translators and to us devs to figure out whatâs the best way to translate certain things.
I like having the discussion in the forum, because itâs all going to be easily accessible to future translators. However, sometimes you just need some quick input to get something done and for this purpose Discord is much better suited.
Important License Information
Legally speaking, InfraSpace is a product of Oachkatzlschwoaf Interactive. Of course we donât want to take on any legal risks by including any of your translations in the game, so we want to make clear that these translations are free services by the fans to improve the game. In official terms:
LICENSE INFO: These projects are officially-supported fan translations of InfraSpace. Oachkatzlschwoaf Interactive UG (haftungsbeschränkt) may include content derived from these projects in official releases of their products without owing money or credit to anyone (though we will credit regular contributors in the credits of InfraSpace).
By contributing to these projects you agree to give Oachkatzlschwoaf Interactive a nonexclusive transferable perpetual worldwide license to use your contributed content in any way in any product, with or without credits, without any compensation except for the satisfaction of the work and community.
If your content is in any of these repos and you donât wish these terms to apply to you, contact me immediately at daniel@dionicsoftware.com.
Final Notes
Check the GitHub credits to get a list of translators. If you have further suggestions on the process, feel free to let me know.
Again, I want to thank everyone for participating! Itâs great to have support from the community I can just try to make a game thatâs worth your effort