83 lines
3.2 KiB
Plaintext
83 lines
3.2 KiB
Plaintext
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.in (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 struct "option_table" in
|
|
misc/options.c 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. Create a new file dlls/commdlg/cdlg_XX.rc (where XX is your language
|
|
abbreviation) containing all menus.
|
|
Your best bet is to copy cdlg_En.rc and start translating.
|
|
There is no real need to know how the internal structure of the file,
|
|
as you only need to translate the text within quotes.
|
|
|
|
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 dlls/commdlg/rsrc.rc to contain an include statement for your
|
|
cdlg_XX.rc file.
|
|
|
|
8. Repeat steps 6 and 7 again for:
|
|
- dlls/shell32/shell32_XX.rc and shres.rc
|
|
- resources/sysres_XX.rc and user32.rc
|
|
|
|
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 6) and adapt the sizes, etc.
|
|
|
|
11. Several of the winelib based programs in the subdirectory programs
|
|
also have internationalisation support. See the appropriate files
|
|
there for reference.
|
|
|
|
12. Edit /documentation/internationalisation to show the new status.
|
|
|
|
13. 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
|
|
Revised again May 23, 1999, Klaas van Gend
|
|
Updated May 26, 2000, Zoran Dzelajlija
|