Release 960114
[wine] / documentation / languages
1 This file documents the necessary procedure for adding a new language
2 to the list of languages that Wine can display system menus and forms
3 in.
4
5 To add a new language you need to be able to translate the relatively
6 few texts, of course.  You will need very little knowledge of
7 programming, so you have almost no excuses for not adding your language,
8 right?  We should easily be able to support 20 languages within a few
9 months, get going!  Apart from re-compilation it'll take you about an
10 hour.
11
12 To add a new language to the list of languages that Wine can handle
13 you must...
14
15 1.  Edit resources/Makefile.in variable "LANGUAGES" to include a new
16     abbreviation for the language.
17
18 2.  Edit ./wine.man (search for -language) to show the new language
19     abbreviation.
20
21 3.  Edit misc/main.c variable "langNames" to contain the new language
22     abbreviation.  Also edit macro "USAGE" to show the new abbreviation.
23
24 4.  Edit include/options.h enum "WINE_LANGUAGE" to have a member called
25     LANG_XX where XX is the new abbreviation.
26
27 5.  Edit misc/ole2nls.c function "GetUserDefaultLCID" to contain an
28     extra case for your language.  The correct return values seem to
29     be a mystery, but don't worry.
30
31 6.  Edit resources/sysrec.c to include "sysres_XX.h" where XX is the
32     abbreviation for your language.  (That file will be produced auto-
33     matically.)  Edit variable "SYSRES_Resources" to contain an entry
34     for your language.
35
36 7.  Create a new file, resources/sysres_XX.rc, where XX is the
37     abbreviation that you chose.  Your best bet is to copy one of the
38     other *.rc files and start translating.  [Warning: the author of
39     this file does not know the details of the structure of these
40     files.  There seems to be no need to, however.]
41
42     In menus, the character "&" means that the next character will
43     be highlighted and that pressing that letter will select the item.
44     You should place these "&"s suitably for your language, not just
45     copy the positions from (say) English.  In particular, items within
46     one menu should have different highlighted letters.
47
48 8.  Edit misc/ole2nls.c function "GetLocaleInfoA" to contain a case for
49     your language.
50
51 9.  Re-configure, re-make dependencies, and re-make Wine.
52
53 10. Check your new menus and forms; when they're ok, submit patches
54     for inclusion in the next Wine release, see file ./ANNOUNCE for
55     details about where to submit.
56
57
58 January 1996
59 Morten Welinder
60
61 [I hope I got all the places where changes are needed.  If you see any
62 place missing from the above list, submit a patch to this file please.
63 Also note that re-organization of the source code might change the list
64 of places.]