From Rigs of Rods Wiki
How to help translating
Rigs of Rods can be translated through a convenient web interface in your browser. To start translating register an account at Transifex (we recommend that you register at GitHub and then use "login with GitHub" at Transifex since this way you only need one account if you want to use both GitHub (bugtracker!) and Transifex). Once registered at Transifex you have to request to be a translator for your desired language here: https://www.transifex.com/rigsofrods/rigs-of-rods/
After translation permissions for your desired language were granted you can click on <your language> -> "ror.pot" -> "view strings online" and in the upper right corner on "start translating" to use the web interface.
There are some special cases you need to be aware of. Just copy over any \n or %<> as they are placeholders for certain things.
\n for example is a newline character. Do not change the position or amount of newlines, as the format would break otherwise.
"Last lap: %.2i'%.2i.%.2i" "\nParameter range: %f to %f" "Gees: Vertical %1.2fg // Saggital %1.2fg // Lateral %1.2fg" "Position: %0.6f s, frame %i / %i" "Error %i while sending data packet"
You can translate all English words, just leave the special things in there intact.
These are in there so you can translate the page into your language and refer to that instead:
COLOR: Color is encoded with HTML color codes, please do not change:
#ff0000 for red #00ff00 for green #0000ff for blue
<p>How to play in Multiplayer:</p><br><ol><li>Click on the <b>Update</b> button to see available servers here.</li><li>Click on any underlined Server in the list. </li><li>Click on <b>Save and Play</b> button to start the game.</li></ol>
This is plain text with HTML syntax, please copy the style and only replace the English words.
Also, there is SPECIAL_CHARACTERS: it should contain all non-ASCII characters for your language
- Q: What does "[is rollon]" and "[has fixes]" mean?
- A: Isrollon defines if other trucks collide with the current truck (wreckers, etc). Has Fixes defines if the vehicle has any fixed nodes (bridges, static terrain objects)
How it works
Rigs of Rods uses gettext (Unix) and mo file reader (Windows) for translations.
It starts with the programmer defining a string which he wants to have translated by adding some special keyword to it. So instead of writing:
He will write:
As second step, the developer uses gettext (or POEdit under Windows) to extract these marked entries to a .pot file. This file is then uploaded as the source language to Transifex.
After that, the community can translate this source language string by string into whatever language they want.
The developers will later compile a baked version of the translations (*.mo file). They will also record the characters used in that language and produces code ranges looking like this:
code_points 33-126 196-196 214-220 228-228 245-252
So this just tells the game that this font will use glyphs 33 to 126, but also 196, etc.
This glyph usage information is very important for us, as the game renders the required .ttf fonts into a texture upon game start. Basically this is done for optimization since there are over 40,000 charaters in the Unicode standard.
The resulting rendered textures look like these:
So when the user starts the game the game knows which characters to display :)
And that's it - easy, eh? ;)