So rujasu said in another thread that he wants our first internal release of demo 1.0 to be translatable. Obviously this is a new challenge for us and there's going to be some bumps as we figure out how to do translations well. Before we start though, I think we need to figure out what do we tell our translators. For example, lets say I just discovered Hero of Allacrost and want to help out by translating the game into Russian.
By reading the Translator section on this wiki page
(which will of course be updated for the translators in the next couple of days
[*]What do I have to do to make my translations?
[*]What tools do I have to have?
[*]What files do I have to create or edit?
[*]Do I need to look at any code files to do my translations?
[*]Will my translation work only if I've translated every single string?
[*]If the original (English) text is updated, is there any way for me to find out so I can update my own translations?[/list]
The answers to all of these questions will be on the wiki page, but I'll answer them here for your sake as well:
1. You have to edit a file and then send it to a developer for them to commit it.
2. You need a text editor. Or, if you want to get fancy, there are PO-editing tools out there (you will be editing a .po file). PoEdit is an example of such a tool.
3. You have to create your language's .po file and then edit it. You create it from the allacrost.pot file. Every English string listed in your .po file will have and need a corresponding string in your language.
4. You do not need to look at any code.
5. You do not need to translate every string for your translation to work. Any untranslated string will be displayed in English.
6. Uhm, right now I don't know, short of blasting out an email to all translators notifying them of an update. The file they will need to work off of containing the updates is in the SVN repository, so...
Wesnoth's pages were... disappointing to say the least.
On another note, I have some questions of my own. Obviously the fewer times we update the original text strings, the better. We don't want to cause our translators to re-do their text multiple times. So will we as a team have any sort of process where we declare certain parts of the text "final" and ready for translation? If we have to make changes or updates to existing strings, will we try to do these text updates in batches rather than intermittently?
Yes, I would recommend doing them in batches. I think these batches should only be made when we're making a release. I would also recommend "freezing" the text several weeks prior to the release to give the translators a chance to get some languages supported for the release before it's actually released. Hmm, maybe that's not necessary. We would have one batch per release. If a new translator comes along and wants to translate to a new language while we're working on the next release, they should be able to use the current batch for the last release, edit the Lua language file that Boot mode reads, and then their language would be supported by the last release. So basically every time a new language is added, we can release it for the latest release game as a new "language pack".