I was musing about how on earth to manage the people who are keen to help out translating Democracy 4 when I was pointed at this awesome website called localizor which seems to be set up to do exactly what I needed: Localizor
This is so cool. Its basically an online database for you to share the translation keys for your game, and optionally a single reference language (in my case obviously English) and anybody who wants to contribute can enter text for any of the languages you have listed. There is a cool progress bar and it also shows you which users have made the biggest contributions. Its basically awesome.
This has cool features like showing you the google translate version of any string, so I guess you can check that people are not typing in absolute nonsense (or worse, something offensive), and people can vote on each others contributions etc. I think you can ban people too, if they are being malicious. Its basically a reall well-thought out system for doing exactly what I need.
There is a free trial, and then it costs a monthly fee, but its cheap, and a no-brainer really. TBH the biggest hassle was writing the code to output all my translated data (which is in csv files, and some ini files) into the right format to be imported into their database. It works on the assumption of KEY = VALUE as opposed to some of my stuff which has KEY,VALUE1,VALUE2,VALUE3 etc, for a bunch of different columns of data.
All-in-all it took about 90 minutes to write code to dump out all my text, and then manually submit the whole lot to the website. I also need to import the nearly-done fan-made italian translation I have, and eventually write my code in reverse to slurp up whatever format the site exports to and pump those values back into my own format.
Democracy 4 is, by its very nature, a global game, and its really cool to be able to leverage all the work jeff did regarding unicode, and vector rendering and fonts so we can support some often less-supported languages. I’m especially excited at the thought of Democracy 4 in Korean :D