Internationalizing and localizing software
For a start I will just put together some short points on the subject. Hopefully there will be time to expand on some of the points with arguments and examples.
- It shouldn't be necessary to recompile a program to fix an error in the translation of the user interface or to switch to a different language in the user interface.
- The keys for looking up translations should be a fall-back (i.e. comprehensible) version of the text to be shown. In case of short text snippets like menu headlines, it may be necessary to expand the key with a comment which indicates the context (i.e.
Unknown would have to be augmented with a comment telling us if it is an unknown window or an unknown user, since this results in different translations in many languages).
- Error messages related to incorrect use of a program should be fully translatable whereas error messages due to errors in a program should be untranslatable (but accompanied by translatable advice on bug reporting).
Feel free to write me (at <firstname.lastname@example.org>) if you have comments to this page.