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, Dutch, Polish, Portuguese,
Romanian, Russian, 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.

To add a new language to the list of languages that Wine can handle
you must...

1.  Edit ./wine.man (search for -language) to show the new language
    abbreviation.

2.  Edit misc/main.c variable "Languages" to contain the new language
    abbreviation and language ID.  Also edit macro "USAGE" to show the
    new abbreviation.

3.  Edit include/options.h enum "WINE_LANGUAGE" to have a member called
    LANG_XX where XX is the new abbreviation.

4.  Edit ole/ole2nls.c function "GetUserDefaultLCID" to contain a
    case for your language by uncommenting the return value of it.

5.  Edit resources/sysrec.c to include "sysres_XX.h" where XX is the
    abbreviation for your language.  (That file will be produced auto-
    matically.)  Edit variable "SYSRES_Resources" to contain an entry
    for your language.

6.  Create a new file, resources/sysres_XX.rc, where XX is the
    abbreviation that you chose.  Your best bet is to copy one of the
    other *.rc files 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.

7.  Edit resources/Makefile.in to add the name of the new file to the
    SYSRES_SRCS variable.

8.  Edit ole/ole2nls.c function "GetLocaleInfoA" to contain a case for
    your language.

9.  Re-configure, re-make dependencies, and re-make Wine.

10. Check your new menus and forms; when they're ok, 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.]
