ADDING LANGUAGES TO WINE This file documents the necessary procedure for adding a new language to the list of languages that Wine can display system menus and forms in. Currently at least the following languages are still missing: Bulgarian, Chinese, Greek, Icelandic, Japanese, Romanian, Russian, Croatian, Slovak, Turkish, and Slovanian. To add a new language you need to be able to translate the relatively few texts, of course. You will need very little knowledge of programming, so you have almost no excuses for not adding your language, right? We should easily be able to support 20 languages within a few months, get going! Apart from re-compilation it'll take you about an hour or two. To add a new language to the list of languages that Wine can handle you must... 0. Find the language ID in /include/winnls.h . 1. Look in ole/ole2nls.c if your language is already incorporated in the "static const struct NLS_langlocale". If not: find the appropriate entries in /include/winnls.h and add them to the list. 2. Edit the parameters defined in /ole/nls/*.nls to fit your local habits and language. 3. Edit documentation/wine.man (search for -language) to show the new language abbreviation. 4. Edit misc/main.c variable "Languages" to contain the new language abbreviation and language ID. Also edit macro "USAGE" to show the new abbreviation. 5. Edit include/options.h enum "WINE_LANGUAGE" to have a member called LANG_XX where XX is the new abbreviation. 6. Edit resources/sysres.c variable "SYSRES_Resources" to contain an entry for your language. 7. Create a new file, resources/sysres_XX.rc, where XX is the abbreviation that you chose. Your best bet is to copy sysres_En.rc and start translating. [Warning: the author of this file does not know the details of the structure of these files. There seems to be no need to, however.] In menus, the character "&" means that the next character will be highlighted and that pressing that letter will select the item. You should place these "&"s suitably for your language, not just copy the positions from (say) English. In particular, items within one menu should have different highlighted letters. 8. Edit resources/Makefile.in to add the name of the new file to the SYSRES_SRCS variable. 9. Re-configure, re-make dependencies, and re-make Wine. 10. Check your new menus and forms; when they're not ok, go back to 7) and adapt the sizes, etc. 11. Edit /resources/TODO if necessary. 12. Submit patches for inclusion in the next Wine release, see file ./ANNOUNCE for details about where to submit. January 1996 Morten Welinder [I hope I got all the places where changes are needed. If you see any place missing from the above list, submit a patch to this file please. Also note that re-organization of the source code might change the list of places.] Therefore revised Februari 1999 by Klaas van Gend