Release 961023
[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 ./wine.man (search for -language) to show the new language
16     abbreviation.
17
18 2.  Edit misc/main.c variable "Languages" to contain the new language
19     abbreviation and language ID.  Also edit macro "USAGE" to show the
20     new abbreviation.
21
22 3.  Edit include/options.h enum "WINE_LANGUAGE" to have a member called
23     LANG_XX where XX is the new abbreviation.
24
25 4.  Edit misc/ole2nls.c function "GetUserDefaultLCID" to contain an
26     extra case for your language.  The correct return values seem to
27     be a mystery, but don't worry.
28
29 5.  Edit resources/sysrec.c to include "sysres_XX.h" where XX is the
30     abbreviation for your language.  (That file will be produced auto-
31     matically.)  Edit variable "SYSRES_Resources" to contain an entry
32     for your language.
33
34 6.  Create a new file, resources/sysres_XX.rc, where XX is the
35     abbreviation that you chose.  Your best bet is to copy one of the
36     other *.rc files and start translating.  [Warning: the author of
37     this file does not know the details of the structure of these
38     files.  There seems to be no need to, however.]
39
40     In menus, the character "&" means that the next character will
41     be highlighted and that pressing that letter will select the item.
42     You should place these "&"s suitably for your language, not just
43     copy the positions from (say) English.  In particular, items within
44     one menu should have different highlighted letters.
45
46 7.  Edit resources/Makefile.in to add the name of the new file to the
47     SYSRES_SRCS variable.
48
49 8.  Edit misc/ole2nls.c function "GetLocaleInfoA" to contain a case for
50     your language.
51
52 9.  Re-configure, re-make dependencies, and re-make Wine.
53
54 10. Check your new menus and forms; when they're ok, submit patches
55     for inclusion in the next Wine release, see file ./ANNOUNCE for
56     details about where to submit.
57
58
59 January 1996
60 Morten Welinder
61
62 [I hope I got all the places where changes are needed.  If you see any
63 place missing from the above list, submit a patch to this file please.
64 Also note that re-organization of the source code might change the list
65 of places.]