Since our game will be on the international market it’s only logical to provide the game in English. But since we’re proud Austrians, it was clear from the start that Schein would also be available in German, which makes the use of i18n (internationalization) and L10n (localization) necessary. While L10n is concerned with the actual translation and layout of textual content in each language, i18n deals with offering the technical requirements to achieve easy language changes without having to make alterations to the software.
Usually translations are made at a later stage of development or even only after completion of the software, but from a developer’s point of view it’s good to think about it as early as possible. That way the necessary architecture can be implemented and integrated into the game during the development process, so that all that remains to do in the end are the actual translations.
Hereby we pursue the simplest possible approach: A global LocalizationManager takes care of loading the necessary files and returns the localized content, if requested by the querying component. The language files themselves are simple XML-files, which are parsed with the help of TinyXML-2. One such file is created for each desired language and its contents are translated accordingly.
The subject L10n is also very important to us when it comes to our crowdfunding campaign on Indiegogo, therefore it is now available both in English and German. Don’t forget to support us, so that you will get to enjoy Schein as soon as possible!