Well, there is more enthusiasm than I had expected! Now let's hope no one will be discouraged because of the magnitude of the job: it might be a lot tougher than expected. So far I located about 850 strings that need translation: menu items, dialog text, displayed message.
Some might not need a translation, or might not even have one. (Like the variant names. Also all these fancifull names for board sizes could be simply 'translated' by replacing them by the square size in pixels.)
I collected all strings in a file 'lang450.txt', which I put on-line
here. It contains lines of the format:
The idea is that the translators would write the translated string between the second pair of quotes, like
Code: Select all
"English string" === "translated string"
I can then use the file as an editor script to process the source files, thus applying the translation. This way the translation will be more durable, as it can be easily applied to future versions as well. (Altered or new strings will then remain untranslated, of course; they will have to be added to the scripts.)
Note there are already some translated versions of earlier WB versions around; they should contain about 70% of the needed strings. So it really makes sense to salvage those. For instance, I could locate a Russian version of 4.2.6 here:
http://www.sbor.net/~avs/winboard/winboard_ru.html
I thought I once had seen a Russian translation of an even newer WB version (perhaps even 4.4.0), but I could not find it through Google now. Perhaps a Russian reader can help us out here?
I also know there is a Spanish version around (of WinBoard 4.2.7 or Winboard_x?).
Currently, the translations are _static_, i.e. they are done by modifying the source, and recompiling. This has the obvious disadvantage that each language needs a separate executable. In the future, I hope to be able to let WB do the translation at run time, by having it read the applicable language script at startup, and use it to replace its compiled-in strings. Implemented that way, it could even be made possible to switch language during the session!
Note that some translations will be more troublesome than others: to translate to languages that use Roman script, replacing the strings is all there is to it. For Russian, it is also required to change the font. For Chinese (and Vietnamese?) it will be necessary to change the text encoding, and this can be a bit tricky. The Chinese translation uses a 1-byte/char encoding in the source, so that each Chinese character shows up as two (garbage) characters there (and not as Chinese!). At least, when I use my NotePad or WordPad to view or edit it. Only when compiled on a Chinese Windows system, you will actually get a WinBoard that displays Chinese characters in its menus (on that Chinese system; for me the same .exe still prints garbage...). Such Chinese systems would also display the Chinese in the source when they view it through NotePad.