| 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, | |
| 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 |