I'm just working on some pages for the
developer's section of the website and suddenly had a thought about translation with regards data files.
When it comes to the GUI, I already know that English-speaking developers have a bad habit of ignoring translations. For that reason I coded in translations from the start (although I do sometimes get lazy and go "I'll hard-code it for now and translate later", but the functionality is there). What I just realised is that this wouldn't help with data files.
Now, as I see it there are three alternatives:
1) Each language has their own version of the game system/race data file that has the names of units using their translated version. Plus side is that each translation is entirely independent (you aren't relying on the English version to be able to create the French version). Minus side is that you duplicate data and a mistake in one could be left in another.
2) There is only one data file and the name of a unit type (for example) contains multiple "names", each tagged with a language. Plus side is that you can fall back to a default English (like the UI translations) and that all nationalities only need one data file, so data won't be out of synch between languages. Minus side is that it leaves any translators all fighting over one data file.
3) Probably the most complicated. There is one data file with the name of each unit in English. The data file (now being a zip, which means it can hold multiple files) also has translation files for each language (e.g. fr.translation, de.translation, nl.translation, etc). Plus side is that you again get the fall back to a default English and that this time each nationality gets their own file to update. Minus side is that it could be quite a bit more complex to implement.
So, which way do people think would be the best way to do translations of game data? Any other thoughts or suggestions?