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