blob: 5153b31de352109242ee667b9659a141f3b62207 [file] [log] [blame]
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