Behind the scenes : Creation of a screen - PART 3 : The translations
This Kickstarter is now halfway : 15 days left!
Remember that the next stretch goals are for translating the game into Spanish and German. Which is great, as this is the subject of today's update!
Let's continue our "Creation of a screen" articles, shall we? :)
In this new part, I'm going to focus on integrating text, and more precisely : the translations!
Last time, we've seen that hotspots on the screen have a label associated. But in the game program, this label isn't an english text. Instead, it is an ID (identifier).
For example : PC16_REEDS for the reeds hotspot.
Why? Why not putting english directly into the game code?
The answer is : to be able to do translations. Separating the game code and the text itself is much better because the whole text will be contained in a file, ready to be translated by a third party.
When it comes to programming, this is good practice : the more you separate each aspect of the software, the better! (I admit not pushing this to an extreme though, as doing it would make the development process a lot longer)
For Demetrios, all the text is located into raw text files, and these files have several versions : one by language.
In the English text file, here's what you'll find :
In the French text file, you'll find :
And so on! Simple as that!
This way, translating is very easy : just open the raw text file and translate the words, line by line. The ID is the link with the program itself!
Based on the ID, the code searches through the current language text file, retrieves the translation and displays it!
The same applies to dialogs and interactions in the game, which also have IDs (one separate ID by speech).
For example :
PC01_TOPLEFTDOOR_UNLOCKED_IDCARD-1=This is no place to put an ID card! PC01_TOPLEFTDOOR_UNLOCKED_IDCARD-2=It's much better to leave it in some random pocket of a random jacket.
In the next and final part, we'll talk about the game dialogs engine!
Here's a cool new Kickstarter project that appeared today!
A platformer game in cell shading style, switching from 2D to 3D gameplay!
Stay tuned! :)