Added walon language support (I also moved Cz -> Cs, Sw -> Sv, and Po
-> Pt; to conform to standard names for those languages).

diff --git a/documentation/wine.man b/documentation/wine.man
index 1b5b65c..7c3a57a 100644
--- a/documentation/wine.man
+++ b/documentation/wine.man
@@ -189,7 +189,7 @@
 .I -language xx
 Set the language to
 .I xx
-(one of En, Es, De, No, Fr, Fi, Da, Cz, Eo, It, Ko, Hu, Pl, Po, Sw, Ca, Ru)
+(one of Ca, Cs, Da, De, En, Eo, Es, Fi, Fr, Hu, It, Ko, No, Pl, Pt, Ru, Sv, Wa)
 .TP
 .I -managed
 Create each top-level window as a properly managed X window
diff --git a/include/options.h b/include/options.h
index ecb599d..7636b75 100644
--- a/include/options.h
+++ b/include/options.h
@@ -32,9 +32,9 @@
     LANG_Pt,  /* Portuguese */
     LANG_Sv,  /* Swedish */
     LANG_Ca,  /* Catalan */
-    LANG_Nl,   /* Dutch */
-    LANG_Ru   /* Russian */
-
+    LANG_Nl,  /* Dutch */
+    LANG_Ru,  /* Russian */
+    LANG_Wa   /* Walon */
 } WINE_LANGUAGE;
 
 typedef struct
diff --git a/include/winnls.h b/include/winnls.h
index 98af8ec..a30acbf 100644
--- a/include/winnls.h
+++ b/include/winnls.h
@@ -247,6 +247,7 @@
 #define LANG_ZULU			 0x35
 /* non standard; keep the number high enough (but < 0xff) */
 #define LANG_ESPERANTO			 0x8f
+#define LANG_WALON			 0x90
 
 /* Sublanguage definitions */
 #define SUBLANG_NEUTRAL                  0x00    /* language neutral */
diff --git a/misc/main.c b/misc/main.c
index 21365be..ce25e66 100644
--- a/misc/main.c
+++ b/misc/main.c
@@ -71,6 +71,7 @@
     {"Ca",0x0403},	/* LANG_Ca */
     {"Nl",0x0413},	/* LANG_Nl */
     {"Ru",0x0419},	/* LANG_Ru */
+    {"Wa",0x0490},      /* LANG_Wa */
     {NULL,0}
 };
 
@@ -123,7 +124,7 @@
   "    -help           Show this help message\n"
   "    -iconic         Start as an icon\n"
   "    -language xx    Set the language (one of Ca,Cs,Da,De,En,Eo,Es,Fi,Fr,Hu,It,\n"
-  "                    Ko,Nl,No,Pl,Pt,Sv,Ru)\n"
+  "                    Ko,Nl,No,Pl,Pt,Sv,Ru,Wa)\n"
   "    -managed        Allow the window manager to manage created windows\n"
   "    -mode mode      Start Wine in a particular mode (standard or enhanced)\n"
   "    -name name      Set the application name\n"
@@ -656,6 +657,8 @@
 /* 0x58 -> ... */
 	LANG_ENTRY_BEGIN( "eo", ESPERANTO ) /* not official */
 	LANG_ENTRY_END( ESPERANTO )
+	LANG_ENTRY_BEGIN( "wa", WALON )	/* not official */ 
+	LANG_ENTRY_END( WALON )
 
 	ret = LANG_ENGLISH;
 
diff --git a/ole/nls/wal.nls b/ole/nls/wal.nls
new file mode 100644
index 0000000..da57a83
--- /dev/null
+++ b/ole/nls/wal.nls
@@ -0,0 +1,118 @@
+/*
+ *	OLE2NLS library
+ *      Walon
+ *
+ *	Walon is not listed in Microsoft supported languages; I picked 0x90
+ *
+ * Si vos voloz aider avou li retoûrnaedje des libes programes è walon,
+ * vos poloz sicrire a l' adresse emile <linux-wa@chanae.alphanet.ch>
+ * 
+ */
+
+LOCVAL(LOCALE_ILANGUAGE,"0490") /* not official */
+LOCVAL(LOCALE_SLANGUAGE,"Walon")
+LOCVAL(LOCALE_SENGLANGUAGE,"Walloon")
+LOCVAL(LOCALE_SABBREVLANGNAME,"wal")
+LOCVAL(LOCALE_SNATIVELANGNAME,"Walon")
+LOCVAL(LOCALE_ICOUNTRY,"32")
+LOCVAL(LOCALE_SCOUNTRY,"Beldjike")
+LOCVAL(LOCALE_SENGCOUNTRY,"Belgium")
+LOCVAL(LOCALE_SABBREVCTRYNAME,"BEL")
+LOCVAL(LOCALE_SNATIVECTRYNAME,"Beldjike")
+LOCVAL(LOCALE_IDEFAULTLANGUAGE,"0490")
+LOCVAL(LOCALE_IDEFAULTCOUNTRY,"32")
+LOCVAL(LOCALE_IDEFAULTCODEPAGE,"850")
+LOCVAL(LOCALE_IDEFAULTANSICODEPAGE,"1252")
+LOCVAL(LOCALE_SLIST,";")
+/* LOCVAL(LOCALE_IMEASURE,"") */
+LOCVAL(LOCALE_SDECIMAL,",")
+LOCVAL(LOCALE_STHOUSAND," ")
+LOCVAL(LOCALE_SGROUPING, "3;0")
+LOCVAL(LOCALE_IDIGITS,"2")
+LOCVAL(LOCALE_ILZERO,"1")
+/* LOCVAL(LOCALE_INEGNUMBER) */
+LOCVAL(LOCALE_SNATIVEDIGITS, "0123456789")
+LOCVAL(LOCALE_SCURRENCY,"FB")
+LOCVAL(LOCALE_SINTLSYMBOL, "BEF")
+LOCVAL(LOCALE_SMONDECIMALSEP,",")
+LOCVAL(LOCALE_SMONTHOUSANDSEP,".")
+LOCVAL(LOCALE_SMONGROUPING, "3;0")
+LOCVAL(LOCALE_ICURRDIGITS,"2")
+LOCVAL(LOCALE_IINTLCURRDIGITS, "2")
+/* LOCVAL(LOCALE_ICURRENCY,"3") */
+/* LOCVAL(LOCALE_INEGCURR,"8") */
+LOCVAL(LOCALE_SDATE,"/")
+LOCVAL(LOCALE_STIME,":")
+LOCVAL(LOCALE_SSHORTDATE,"dd/MM/yyyy")
+LOCVAL(LOCALE_SLONGDATE,"Li ddd d di MMMM yyyy")
+LOCVAL(LOCALE_STIMEFORMAT, "hh:mm:ss")
+/* LOCVAL(LOCALE_IDATE,"1") */
+/* LOCVAL(LOCALE_ILDATE) */
+LOCVAL(LOCALE_ITIME,"1")
+/* LOCVAL(LOCALE_ITIMEMARKPOSN) */
+/* LOCVAL(LOCALE_ICENTURY) */
+LOCVAL(LOCALE_ITLZERO,"1")
+LOCVAL(LOCALE_IDAYLZERO, "0")
+LOCVAL(LOCALE_IMONLZERO, "0")
+LOCVAL(LOCALE_S1159, "")
+LOCVAL(LOCALE_S2359, "")
+LOCVAL(LOCALE_ICALENDARTYPE, "1")
+/* LOCVAL(LOCALE_IOPTIONALCALENDAR) */
+LOCVAL(LOCALE_IFIRSTDAYOFWEEK, "6")
+LOCVAL(LOCALE_IFIRSTWEEKOFYEAR, "0")
+
+LOCVAL(LOCALE_SDAYNAME1,"londi")
+LOCVAL(LOCALE_SDAYNAME2,"mårdi")
+LOCVAL(LOCALE_SDAYNAME3,"merkidi")
+LOCVAL(LOCALE_SDAYNAME4,"djudi")
+LOCVAL(LOCALE_SDAYNAME5,"vinrdi")
+LOCVAL(LOCALE_SDAYNAME6,"semdi")
+LOCVAL(LOCALE_SDAYNAME7,"dimegne")
+
+LOCVAL(LOCALE_SABBREVDAYNAME1,"lon")
+LOCVAL(LOCALE_SABBREVDAYNAME2,"mår")
+LOCVAL(LOCALE_SABBREVDAYNAME3,"mer")
+LOCVAL(LOCALE_SABBREVDAYNAME4,"dju")
+LOCVAL(LOCALE_SABBREVDAYNAME5,"vin")
+LOCVAL(LOCALE_SABBREVDAYNAME6,"sem")
+LOCVAL(LOCALE_SABBREVDAYNAME7,"dim")
+
+LOCVAL(LOCALE_SMONTHNAME1,"djanvî")
+LOCVAL(LOCALE_SMONTHNAME2,"févrî")
+LOCVAL(LOCALE_SMONTHNAME3,"mås")
+LOCVAL(LOCALE_SMONTHNAME4,"avri")
+LOCVAL(LOCALE_SMONTHNAME5,"maiy")
+LOCVAL(LOCALE_SMONTHNAME6,"djun")
+LOCVAL(LOCALE_SMONTHNAME7,"djulet")
+LOCVAL(LOCALE_SMONTHNAME8,"awousse")
+LOCVAL(LOCALE_SMONTHNAME9,"setimbe")
+LOCVAL(LOCALE_SMONTHNAME10,"octôbe")
+LOCVAL(LOCALE_SMONTHNAME11,"nôvimbe")
+LOCVAL(LOCALE_SMONTHNAME12,"decimbe")
+/* LOCVAL(LOCALE_SMONTHNAME13,"") */
+
+LOCVAL(LOCALE_SABBREVMONTHNAME1,"dja")
+LOCVAL(LOCALE_SABBREVMONTHNAME2,"fev")
+LOCVAL(LOCALE_SABBREVMONTHNAME3,"mås")
+LOCVAL(LOCALE_SABBREVMONTHNAME4,"avr")
+LOCVAL(LOCALE_SABBREVMONTHNAME5,"mai")
+LOCVAL(LOCALE_SABBREVMONTHNAME6,"djn")
+LOCVAL(LOCALE_SABBREVMONTHNAME7,"djl")
+LOCVAL(LOCALE_SABBREVMONTHNAME8,"awo")
+LOCVAL(LOCALE_SABBREVMONTHNAME9,"set")
+LOCVAL(LOCALE_SABBREVMONTHNAME10,"oct")
+LOCVAL(LOCALE_SABBREVMONTHNAME11,"nôv")
+LOCVAL(LOCALE_SABBREVMONTHNAME12,"dec")
+/* LOCVAL(LOCALE_SABBREVMONTHNAME13,"") */
+
+LOCVAL(LOCALE_SPOSITIVESIGN, "")
+LOCVAL(LOCALE_SNEGATIVESIGN, "-")
+/* LOCVAL(LOCALE_IPOSSIGNPOSN, "") */
+/* LOCVAL(LOCALE_INEGSIGNPOSN, "") */
+/* LOCVAL(LOCALE_IPOSSYMPRECEDES, "") */
+LOCVAL(LOCALE_IPOSSEPBYSPACE, "0")
+/* LOCVAL(LOCALE_INEGSYMPRECEDES, "") */
+LOCVAL(LOCALE_INEGSEPBYSPACE, "0")
+/* LOCVAL(LOCALE_FONTSIGNATURE, "") */
+LOCVAL(LOCALE_SISO639LANGNAME,"wa")
+LOCVAL(LOCALE_SISO3166CTRYNAME,"BE")
diff --git a/ole/ole2nls.c b/ole/ole2nls.c
index e6fc943..86a83f5 100644
--- a/ole/ole2nls.c
+++ b/ole/ole2nls.c
@@ -221,6 +221,10 @@
 #include "nls/ptg.nls"
 LANG_END
 
+LANG_BEGIN (LANG_RUSSIAN, SUBLANG_DEFAULT)	/*0x419*/
+#include "nls/rus.nls"
+LANG_END
+
 LANG_BEGIN (LANG_SLOVAK, SUBLANG_DEFAULT)	/*0x041b*/
 #include "nls/sky.nls"
 LANG_END
@@ -236,13 +240,13 @@
 #include "nls/tha.nls"
 LANG_END
 
-LANG_BEGIN (LANG_RUSSIAN, SUBLANG_DEFAULT)	/*0x419*/
-#include "nls/rus.nls"
-LANG_END
-
 LANG_BEGIN (LANG_ESPERANTO, SUBLANG_DEFAULT)	/*0x048f*/
 #include "nls/esperanto.nls"
 LANG_END
+
+LANG_BEGIN (LANG_WALON, SUBLANG_DEFAULT)	/*0x0490*/
+#include "nls/wal.nls"
+LANG_END
 	    };
 
 
@@ -517,6 +521,7 @@
 	{0x044f,"Sanskrit"},
 	{0x0457,"Konkani"},
 	{0x048f,"Esperanto"}, /* Non official */
+	{0x0490,"Walon"}, /* Non official */
 	{0x0000,"Unknown"}
     }, languages_de[]={
 	{0x0401,"Arabic"},
diff --git a/resources/Makefile.in b/resources/Makefile.in
index 2acede0..08e6265 100644
--- a/resources/Makefile.in
+++ b/resources/Makefile.in
@@ -9,7 +9,7 @@
 
 RC_SRCS = \
 	sysres_Ca.rc \
-	sysres_Cz.rc \
+	sysres_Cs.rc \
 	sysres_Da.rc \
 	sysres_De.rc \
 	sysres_En.rc \
@@ -23,9 +23,10 @@
 	sysres_Nl.rc \
 	sysres_No.rc \
 	sysres_Pl.rc \
-	sysres_Po.rc \
+	sysres_Pt.rc \
 	sysres_Ru.rc \
-	sysres_Sw.rc
+	sysres_Sv.rc \
+	sysres_Wa.rc
 
 C_SRCS = sysres.c
 
diff --git a/resources/sysres.c b/resources/sysres.c
index f669e17..cfdc45d 100644
--- a/resources/sysres.c
+++ b/resources/sysres.c
@@ -18,17 +18,18 @@
 extern const wrc_resource32_t * const sysres_Fr_ResTable[];
 extern const wrc_resource32_t * const sysres_Fi_ResTable[];
 extern const wrc_resource32_t * const sysres_Da_ResTable[];
-extern const wrc_resource32_t * const sysres_Cz_ResTable[];
+extern const wrc_resource32_t * const sysres_Cs_ResTable[];
 extern const wrc_resource32_t * const sysres_Eo_ResTable[];
 extern const wrc_resource32_t * const sysres_It_ResTable[];
 extern const wrc_resource32_t * const sysres_Ko_ResTable[];
 extern const wrc_resource32_t * const sysres_Hu_ResTable[];
 extern const wrc_resource32_t * const sysres_Pl_ResTable[];
-extern const wrc_resource32_t * const sysres_Po_ResTable[];
-extern const wrc_resource32_t * const sysres_Sw_ResTable[];
+extern const wrc_resource32_t * const sysres_Pt_ResTable[];
+extern const wrc_resource32_t * const sysres_Sv_ResTable[];
 extern const wrc_resource32_t * const sysres_Ca_ResTable[];
 extern const wrc_resource32_t * const sysres_Nl_ResTable[];
 extern const wrc_resource32_t * const sysres_Ru_ResTable[];
+extern const wrc_resource32_t * const sysres_Wa_ResTable[];
 
 static const wrc_resource32_t * const * SYSRES_Resources[] =
 {
@@ -39,17 +40,18 @@
     sysres_Fr_ResTable,  /* LANG_Fr */
     sysres_Fi_ResTable,  /* LANG_Fi */
     sysres_Da_ResTable,  /* LANG_Da */
-    sysres_Cz_ResTable,  /* LANG_Cz */
+    sysres_Cs_ResTable,  /* LANG_Cs */
     sysres_Eo_ResTable,  /* LANG_Eo */
     sysres_It_ResTable,  /* LANG_It */
     sysres_Ko_ResTable,  /* LANG_Ko */
     sysres_Hu_ResTable,  /* LANG_Hu */
     sysres_Pl_ResTable,  /* LANG_Pl */
-    sysres_Po_ResTable,  /* LANG_Po */
-    sysres_Sw_ResTable,  /* LANG_Sw */
+    sysres_Pt_ResTable,  /* LANG_Pt */
+    sysres_Sv_ResTable,  /* LANG_Sv */
     sysres_Ca_ResTable,  /* LANG_Ca */
     sysres_Nl_ResTable,  /* LANG_Nl */
-    sysres_Ru_ResTable   /* LANG_Ru */
+    sysres_Ru_ResTable,  /* LANG_Ru */
+    sysres_Wa_ResTable   /* LANG_Wa */
 };
 
 
diff --git a/resources/sysres_Cz.rc b/resources/sysres_Cs.rc
similarity index 100%
rename from resources/sysres_Cz.rc
rename to resources/sysres_Cs.rc
diff --git a/resources/sysres_Po.rc b/resources/sysres_Pt.rc
similarity index 100%
rename from resources/sysres_Po.rc
rename to resources/sysres_Pt.rc
diff --git a/resources/sysres_Sw.rc b/resources/sysres_Sv.rc
similarity index 100%
rename from resources/sysres_Sw.rc
rename to resources/sysres_Sv.rc
diff --git a/resources/sysres_Wa.rc b/resources/sysres_Wa.rc
new file mode 100644
index 0000000..9a6a77c
--- /dev/null
+++ b/resources/sysres_Wa.rc
@@ -0,0 +1,254 @@
+/* 
+ * Si vos voloz aider avou li retoûrnaedje des libes programes è walon,
+ * vos poloz sicrire a l' adresse emile <linux-wa@chanae.alphanet.ch>
+ */
+
+#include <windows.h>
+
+
+SYSMENU MENU LOADONCALL MOVEABLE DISCARDABLE
+{
+ MENUITEM "&Rifé", 61728
+ MENUITEM "&Bodjî", 61456
+ MENUITEM "&Grandeu", 61440
+ MENUITEM "Å pu gran&d", 61472
+ MENUITEM "Å pu &ptit", 61488
+ MENUITEM SEPARATOR
+ MENUITEM "Moussî &Foû\tAlt-F4", 61536
+ MENUITEM SEPARATOR
+ MENUITEM "&Baguer a ...\tCtrl-Echap", 61744
+ MENUITEM SEPARATOR
+ MENUITEM "Å dfait di &Wine ...", 61761
+ MENUITEM SEPARATOR
+ MENUITEM "Sititchî ene marke dins li canål di debogådje", 61762
+}
+
+EDITMENU MENU LOADONCALL MOVEABLE DISCARDABLE
+{
+	POPUP ""
+	BEGIN
+		MENUITEM "&Renoncî", EM_UNDO
+		MENUITEM SEPARATOR
+		MENUITEM "Cô&per", WM_CUT
+		MENUITEM "&Copyî", WM_COPY
+		MENUITEM "C&laper", WM_PASTE
+		MENUITEM "Dis&facer", WM_CLEAR
+		MENUITEM SEPARATOR
+		MENUITEM "&Tchewzi totåfwait", EM_SETSEL
+	END
+}
+
+MSGBOX DIALOG 100, 80, 216, 168
+STYLE DS_SYSMODAL | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
+BEGIN
+        ICON "", 1088, 8, 20, 16, 16, WS_CHILD | WS_VISIBLE
+        LTEXT "", 100, 32, 4, 176, 48, WS_CHILD | WS_VISIBLE | WS_GROUP
+        PUSHBUTTON "&I Va", 1, 16, 56, 40, 14, WS_CHILD | WS_VISIBLE | WS_TABSTOP
+        PUSHBUTTON "&Rinoncî", 2, 64, 56, 40, 14, WS_CHILD | WS_VISIBLE | WS_TABSTOP
+        PUSHBUTTON "&Rinoncî", 3, 112, 56, 40, 14, WS_CHILD | WS_VISIBLE | WS_TABSTOP
+        PUSHBUTTON "&Ripeter", 4, 160, 56, 40, 14, WS_CHILD | WS_VISIBLE | WS_TABSTOP
+        PUSHBUTTON "&Passer hute", 5, 208, 56, 40, 14, WS_CHILD | WS_VISIBLE | WS_TABSTOP
+        PUSHBUTTON "&Oyi", 6, 256, 56, 40, 14, WS_CHILD | WS_VISIBLE | WS_TABSTOP
+        PUSHBUTTON "&Neni", 7, 304, 56, 40, 14, WS_CHILD | WS_VISIBLE | WS_TABSTOP
+END
+
+SHELL_ABOUT_MSGBOX DIALOG LOADONCALL MOVEABLE DISCARDABLE 15, 40, 210, 152
+STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
+CAPTION "Å dfait di %s"
+FONT 10, "System"
+{
+ DEFPUSHBUTTON "I Va", 1, 153, 130, 50, 12
+ LISTBOX 99, 8, 65, 137, 82, LBS_NOTIFY | WS_VSCROLL | WS_BORDER
+ ICON "", 1088, 189, 10, 14, 16
+ LTEXT "", 100, 8, 10, 137, 33
+ LTEXT "Wine a estu fwait pår:", 98, 8, 55, 137, 10
+}
+
+OPEN_FILE DIALOG LOADONCALL MOVEABLE DISCARDABLE 36, 24, 275, 134
+STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
+CAPTION "Drovî"
+FONT 8, "Helv"
+{
+ LTEXT "&No do fitchî:", 1090, 6, 6, 76, 9
+ EDITTEXT 1152, 6, 16, 90, 12, ES_AUTOHSCROLL | ES_OEMCONVERT | WS_BORDER | WS_TABSTOP
+ LISTBOX 1120, 6, 32, 90, 68, LBS_STANDARD | LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_DISABLENOSCROLL | WS_TABSTOP
+ LTEXT "&Ridants", -1, 110, 6, 92, 9
+ LTEXT "", 1088, 110, 18, 92, 9, SS_NOPREFIX | WS_GROUP
+ LISTBOX 1121, 110, 32, 92, 68, LBS_STANDARD | LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_DISABLENOSCROLL | WS_TABSTOP
+ LTEXT "Liste des fitchîs del sôr&te:", 1089, 6, 104, 90, 9
+ COMBOBOX 1136, 6, 114, 90, 36, CBS_DROPDOWNLIST | CBS_AUTOHSCROLL | WS_BORDER | WS_VSCROLL | WS_TABSTOP
+ LTEXT "&Plakes:", 1091, 110, 104, 92, 9
+ COMBOBOX 1137, 110, 114, 92, 68, CBS_DROPDOWNLIST | CBS_OWNERDRAWFIXED | CBS_AUTOHSCROLL | CBS_SORT | CBS_HASSTRINGS | WS_BORDER | WS_VSCROLL | WS_TABSTOP
+ DEFPUSHBUTTON "I Va", 1, 208, 6, 56, 14, BS_DEFPUSHBUTTON | WS_GROUP | WS_TABSTOP
+ PUSHBUTTON "Rinoncî", 2, 208, 24, 56, 14, WS_GROUP | WS_TABSTOP
+ PUSHBUTTON "&Aide", 1038, 208, 46, 56, 14, WS_GROUP | WS_TABSTOP
+ CHECKBOX "Lecture seule", 1040, 208, 68, 50, 12, BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP
+}
+
+
+SAVE_FILE DIALOG LOADONCALL MOVEABLE DISCARDABLE 36, 24, 275, 134
+STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
+CAPTION "Schaper èt rlomer..."
+FONT 8, "Helv"
+{
+ LTEXT "&No do fitchî:", 1090, 6, 6, 76, 9
+ EDITTEXT 1152, 6, 16, 90, 12, ES_AUTOHSCROLL | ES_OEMCONVERT | WS_BORDER | WS_TABSTOP
+ LISTBOX 1120, 6, 32, 90, 68, LBS_STANDARD | LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_DISABLENOSCROLL | WS_TABSTOP
+ LTEXT "&Ridants:", -1, 110, 6, 92, 9
+ LTEXT "", 1088, 110, 18, 92, 9, SS_NOPREFIX | WS_GROUP
+ LISTBOX 1121, 110, 32, 92, 68, LBS_STANDARD | LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_DISABLENOSCROLL | WS_TABSTOP
+ LTEXT "Liste des fitchîs del sôr&te:", 1089, 6, 104, 90, 9
+ COMBOBOX 1136, 6, 114, 90, 36, CBS_DROPDOWNLIST | CBS_AUTOHSCROLL | WS_BORDER | WS_VSCROLL | WS_TABSTOP
+ LTEXT "&Plakes:", 1091, 110, 104, 92, 9
+ COMBOBOX 1137, 110, 114, 92, 68, CBS_DROPDOWNLIST | CBS_OWNERDRAWFIXED | CBS_AUTOHSCROLL | CBS_SORT | CBS_HASSTRINGS | WS_BORDER | WS_VSCROLL | WS_TABSTOP
+ DEFPUSHBUTTON "I Va", 1, 208, 6, 56, 14, BS_DEFPUSHBUTTON | WS_GROUP | WS_TABSTOP
+ PUSHBUTTON "Rinoncî", 2, 208, 24, 56, 14, WS_GROUP | WS_TABSTOP
+ PUSHBUTTON "&Aide", 1038, 208, 46, 56, 14, WS_GROUP | WS_TABSTOP
+ CHECKBOX "Seulmint lere", 1040, 208, 68, 50, 12, BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP
+}
+
+
+PRINT DIALOG LOADONCALL MOVEABLE DISCARDABLE 36, 24, 264, 134
+STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
+CAPTION "Rexhe"
+FONT 8, "Helv"
+{
+ LTEXT "Scrirece:", 1088, 6, 6, 40, 9
+ LTEXT "", 1089, 60, 6, 150, 9
+ GROUPBOX "Etendue", 1072, 6, 30, 160, 65, BS_GROUPBOX
+ RADIOBUTTON "&Tot", 1056, 16, 45, 60, 12
+ RADIOBUTTON "Tch&wezî", 1057, 16, 60, 60, 12
+ RADIOBUTTON "&Pådjes", 1058, 16, 75, 60, 12
+ DEFPUSHBUTTON "I Va", 1, 206, 6, 56, 14, BS_DEFPUSHBUTTON | WS_GROUP | WS_TABSTOP
+ PUSHBUTTON "Rinoncî", 2, 206, 24, 56, 14, WS_GROUP | WS_TABSTOP
+ PUSHBUTTON "&Apontiaedje...", 1024, 206, 46, 56, 14, WS_GROUP | WS_TABSTOP
+ LTEXT "&Di:", 1090, 60, 80, 30, 9
+ LTEXT "&A:", 1091, 120, 80, 30, 9
+ LTEXT "&Qwalité di rexhe:", 1092, 6, 100, 76, 9
+ COMBOBOX 1136, 80, 100, 92, 68, CBS_DROPDOWNLIST | CBS_OWNERDRAWFIXED | CBS_AUTOHSCROLL | CBS_SORT | CBS_HASSTRINGS | WS_BORDER | WS_VSCROLL | WS_TABSTOP
+ CHECKBOX "&Fitchî di rexhe", 1040, 20, 100, 50, 12, BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP
+ CHECKBOX "&Relîre les copeyes", 1041, 160, 100, 50, 12, BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP
+}
+
+
+PRINT_SETUP DIALOG LOADONCALL MOVEABLE DISCARDABLE 36, 24, 264, 134
+STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
+CAPTION "Apontiaedje del rexhe"
+FONT 8, "Helv"
+{
+ GROUPBOX "Scrirece", 1072, 6, 10, 180, 65, BS_GROUPBOX
+ RADIOBUTTON "Scrirece tchwezi pår &omission", 1056, 16, 20, 80, 12
+ LTEXT "[aucune]", 1088, 35, 35, 120, 9
+ RADIOBUTTON "Scrirece tchwezi pår &vos", 1057, 16, 50, 80, 12
+ COMBOBOX 1136, 35, 65, 149, 68, CBS_DROPDOWNLIST | CBS_OWNERDRAWFIXED | CBS_AUTOHSCROLL | CBS_SORT | CBS_HASSTRINGS | WS_BORDER | WS_VSCROLL | WS_TABSTOP
+ DEFPUSHBUTTON "I Va", 1, 206, 6, 56, 14, BS_DEFPUSHBUTTON | WS_GROUP | WS_TABSTOP
+ PUSHBUTTON "Rinoncî", 2, 206, 24, 56, 14, WS_GROUP | WS_TABSTOP
+ PUSHBUTTON "&I Va...", 1024, 206, 46, 56, 14, WS_GROUP | WS_TABSTOP
+ GROUPBOX "Orientation", 1073, 6, 85, 100, 50, BS_GROUPBOX
+ RADIOBUTTON "D' &Astampé", 1058, 50, 100, 40, 12
+ RADIOBUTTON "Di &Coûtchî", 1059, 50, 115, 40, 12
+ ICON "LANDSCAP", 1097, 10, 95, 32, 32
+ ICON "PORTRAIT", 1098, 10, 95, 32, 32
+ GROUPBOX "Papî", 1074, 120, 85, 180, 50, BS_GROUPBOX
+ LTEXT "&Grandeu :", 1089, 130, 95, 30, 9
+ LTEXT "Ali&mentåcion :", 1090, 130, 110, 30, 9
+ COMBOBOX 1137, 155, 95, 92, 68, CBS_DROPDOWNLIST | CBS_OWNERDRAWFIXED | CBS_AUTOHSCROLL | CBS_SORT | CBS_HASSTRINGS | WS_BORDER | WS_VSCROLL | WS_TABSTOP
+ COMBOBOX 1138, 155, 110, 92, 68, CBS_DROPDOWNLIST | CBS_OWNERDRAWFIXED | CBS_AUTOHSCROLL | CBS_SORT | CBS_HASSTRINGS | WS_BORDER | WS_VSCROLL | WS_TABSTOP
+}
+
+CHOOSE_FONT DIALOG DISCARDABLE  13, 54, 264, 147
+STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
+CAPTION "Fontes"
+FONT 8, "Helv"
+{
+    LTEXT           "&Fonte:",1088 ,6,3,40,9
+    COMBOBOX        1136 ,6,13,94,54,  CBS_OWNERDRAWFIXED | CBS_HASSTRINGS | CBS_DISABLENOSCROLL |
+                    CBS_AUTOHSCROLL | CBS_SORT | WS_VSCROLL | WS_TABSTOP | CBS_SIMPLE
+    LTEXT           "S&tîle del fonte:",1089 ,108,3,44,9
+    COMBOBOX        1137,108,13,64,54, CBS_OWNERDRAWFIXED | CBS_HASSTRINGS | CBS_DISABLENOSCROLL |
+                    WS_VSCROLL | WS_TABSTOP | CBS_SIMPLE
+    LTEXT           "&Grandeu:",1090,179,3,30,9
+    COMBOBOX        1138,179,13,32,54, CBS_OWNERDRAWFIXED | CBS_HASSTRINGS | CBS_DISABLENOSCROLL |
+                    WS_VSCROLL | WS_TABSTOP | CBS_SIMPLE | CBS_SORT
+    DEFPUSHBUTTON   "I Va",IDOK,218,6,40,14,WS_GROUP
+    PUSHBUTTON      "Rinoncî",IDCANCEL,218,23,40,14,WS_GROUP
+    PUSHBUTTON      "&Mete èn Oûve", 1026,218,40,40,14,WS_GROUP
+    PUSHBUTTON      "&Aide" , 1038,218,57,40,14,WS_GROUP
+    GROUPBOX        "Effets",1072,6,72,84,34,WS_GROUP
+    CHECKBOX        "&Barré", 1040, 10,82,50,10, BS_AUTOCHECKBOX | WS_TABSTOP
+    CHECKBOX        "&Souligné", 1041, 10,94,50,10, BS_AUTOCHECKBOX
+    LTEXT           "&Coleur:", 1091 ,6,110,30,9
+    COMBOBOX        1139,6,120,84,100,CBS_DROPDOWNLIST | CBS_OWNERDRAWFIXED | CBS_HASSTRINGS |
+                    CBS_AUTOHSCROLL |  WS_BORDER | WS_VSCROLL | WS_TABSTOP
+    GROUPBOX        "Egzimpe",1073,98,72,160,49,WS_GROUP
+    CTEXT           "AaBbYyZzÅåÇçÛû",1093,104,81,149,37,SS_NOPREFIX | WS_VISIBLE
+}
+
+CHOOSE_COLOR DIALOG LOADONCALL MOVEABLE DISCARDABLE 36, 24, 300, 200
+STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
+CAPTION "Coleurs"
+FONT 8, "Helv"
+{
+ LTEXT "Coleurs di &base:",   1088, 4,    4,  140, 10
+ LTEXT "&Coleurs da vosse:",  1089, 4,   106, 140, 10
+ LTEXT "Couleur |  &Uni",  1090, 150, 151,  48, 10
+ LTEXT   "&Rodje:", 726 /*1094*/,249,126,24,10
+ EDITTEXT 706, 275,124,18,12, WS_BORDER | WS_GROUP | WS_TABSTOP
+ LTEXT   "&Vert:",727/*1095*/,249,140,24,10
+ EDITTEXT 707, 275,138,18,12, WS_BORDER | WS_GROUP | WS_TABSTOP
+  LTEXT   "Bl&eu:",728 /*1096*/,249,154,24,10
+ EDITTEXT 708, 275,152,18,12, WS_BORDER | WS_GROUP | WS_TABSTOP
+ LTEXT  "&Teinte:" ,723 /*1091*/,202,126,22,10
+ EDITTEXT 703, 226,124,18,12, WS_BORDER | WS_GROUP | WS_TABSTOP
+ LTEXT  "&Sat.:" ,724 /*1092*/,202,140,22,10
+ EDITTEXT 704, 226,138,18,12, WS_BORDER | WS_GROUP | WS_TABSTOP
+ LTEXT  "&Lum.:" ,725 /*1093*/,202,154,22,10
+ EDITTEXT 705, 226,152,18,12, WS_BORDER | WS_GROUP | WS_TABSTOP
+ CONTROL "" ,720,"STATIC",SS_SIMPLE|WS_TABSTOP|WS_GROUP,4,14,140,86
+ CONTROL "" ,721,"STATIC",SS_SIMPLE|WS_TABSTOP|WS_GROUP,4,116,140,28
+ CONTROL "" ,710,"STATIC",WS_BORDER|SS_SIMPLE|WS_TABSTOP|WS_GROUP, 152,4,118,116 CONTROL "" ,702,"STATIC",SS_SIMPLE|WS_TABSTOP|WS_GROUP, 278,4,8,116
+ CONTROL "" ,702,"STATIC",SS_SIMPLE|WS_TABSTOP|WS_GROUP, 278,4,8,116
+ CONTROL "" ,709,"STATIC",SS_SIMPLE|WS_TABSTOP|WS_GROUP, 152,124,40,26
+ DEFPUSHBUTTON "I Va",  1,  4, 166, 44, 14, BS_DEFPUSHBUTTON | WS_GROUP | WS_TABSTOP
+ PUSHBUTTON "Rinoncî", 2, 52, 166, 44, 14, WS_GROUP | WS_TABSTOP
+ PUSHBUTTON "&Aide", 1038,100,166, 44, 14
+ PUSHBUTTON "&Radjouter des coleur da vosse", 712/*1024*/, 152, 166, 142, 14, WS_GROUP | WS_TABSTOP 
+ PUSHBUTTON "&Defini les coleurs da vosse >>", 719/*1025*/,   4, 150, 142, 14, WS_GROUP | WS_TABSTOP
+ PUSHBUTTON  "&i",713,300,200,4,14   /* just a dummy:  'i' is  like  &i in "sol&id" */
+}
+
+FIND_TEXT DIALOG LOADONCALL MOVEABLE DISCARDABLE 36, 24, 236, 62
+STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
+CAPTION "Cwerî"
+FONT 8, "Helv"
+{
+ LTEXT "C&werî:", -1, 4, 8, 42, 8
+ EDITTEXT 1152, 47, 7, 128, 12, ES_AUTOHSCROLL | WS_BORDER | WS_GROUP | WS_TABSTOP
+ CHECKBOX "M&ot seulmint", 1040, 4, 26, 100, 12, BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP
+ CHECKBOX "Rispecter les &madjuscules/minuscules", 1041, 4, 42, 64, 12, BS_AUTOCHECKBOX | WS_TABSTOP
+ GROUPBOX "Direction", 1072, 107, 26, 68, 28
+ CONTROL "&Copete", 1056, "BUTTON", BS_AUTORADIOBUTTON | WS_CHILD | WS_VISIBLE | WS_GROUP | WS_TABSTOP, 111, 38, 20, 12
+ CONTROL "&Bas", 1057, "BUTTON", BS_AUTORADIOBUTTON | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 138, 38, 30, 12
+ DEFPUSHBUTTON "&Poursuivre", 1, 182, 5, 50, 14, WS_GROUP | WS_TABSTOP
+ PUSHBUTTON "Rinoncî", 2, 182, 23, 50, 14, WS_GROUP | WS_TABSTOP
+ PUSHBUTTON "&Aide", 1038, 182, 45, 50, 14, WS_GROUP | WS_TABSTOP
+}
+
+
+REPLACE_TEXT DIALOG LOADONCALL MOVEABLE DISCARDABLE 36, 24, 230, 94
+STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
+CAPTION "Mete el plaece"
+FONT 8, "Helv"
+{
+ LTEXT "C&werî:", -1, 4, 9, 48, 8
+ EDITTEXT 1152, 54, 7, 114, 12, ES_AUTOHSCROLL | WS_BORDER | WS_GROUP | WS_TABSTOP
+ LTEXT "Mete el &place:", -1, 4, 26, 48, 8
+ EDITTEXT 1153, 54, 24, 114, 12, ES_AUTOHSCROLL | WS_BORDER | WS_GROUP | WS_TABSTOP
+ CHECKBOX "M&ot seulmint", 1040, 5, 46, 104, 12, BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP
+ CHECKBOX "Rispecter les &madjuscules/minuscules", 1041, 5, 62, 59, 12, BS_AUTOCHECKBOX | WS_TABSTOP
+ DEFPUSHBUTTON "&Poursuivre", 1, 174, 4, 50, 14, BS_DEFPUSHBUTTON | WS_GROUP | WS_TABSTOP
+ PUSHBUTTON "Rimpla&cer", 1024, 174, 21, 50, 14, WS_GROUP | WS_TABSTOP
+ PUSHBUTTON "Rimplacer &tot", 1025, 174, 38, 50, 14, WS_GROUP | WS_TABSTOP
+ PUSHBUTTON "&Cloyu", 2, 174, 55, 50, 14, WS_GROUP | WS_TABSTOP
+ PUSHBUTTON "&Aide", 1038, 174, 75, 50, 14, WS_GROUP | WS_TABSTOP
+}
diff --git a/windows/x11drv/keyboard.c b/windows/x11drv/keyboard.c
index 3d6d8a0..3f304c6 100644
--- a/windows/x11drv/keyboard.c
+++ b/windows/x11drv/keyboard.c
@@ -181,6 +181,16 @@
  "<>"
 };
 
+/*** Belgian keyboard layout ***/
+static const char main_key_BE[MAIN_LEN][4] =
+{
+ "","&1|","é2@","\"3#","'4","(5","§6^","è7","!8","ç9{","à0}",")°","-_",
+ "aA","zZ","eE¤","rR","tT","yY","uU","iI","oO","pP","^¨[","$*]",
+ "qQ","sSß","dD","fF","gG","hH","jJ","kK","lL","mM","ù%´","µ£`",
+ "wW","xX","cC","vV","bB","nN",",?",";.",":/","=+~",
+ "<>\\"
+};
+
 /*** Layout table. Add your keyboard mappings to this list */
 static struct {
  WORD lang, ansi_codepage, oem_codepage;
@@ -188,16 +198,19 @@
 } main_key_tab[]={
  {MAKELANGID(LANG_ENGLISH,SUBLANG_ENGLISH_US),     1252, 437, &main_key_US},
  {MAKELANGID(LANG_ENGLISH,SUBLANG_ENGLISH_UK),     1252, 850, &main_key_UK},
- {MAKELANGID(LANG_FRENCH,SUBLANG_DEFAULT),         1252, 850, &main_key_FR},
  {MAKELANGID(LANG_GERMAN,SUBLANG_DEFAULT),         1252, 850, &main_key_DE},
  {MAKELANGID(LANG_GERMAN,SUBLANG_GERMAN_SWISS),    1252, 850, &main_key_SG},
  {MAKELANGID(LANG_NORWEGIAN,SUBLANG_DEFAULT),      1252, 865, &main_key_NO},
  {MAKELANGID(LANG_DANISH,SUBLANG_DEFAULT),         1252, 865, &main_key_DA},
+ {MAKELANGID(LANG_FRENCH,SUBLANG_DEFAULT),         1252, 850, &main_key_FR},
  {MAKELANGID(LANG_FRENCH,SUBLANG_FRENCH_CANADIAN), 1252, 863, &main_key_CF},
+ {MAKELANGID(LANG_FRENCH,SUBLANG_FRENCH_BELGIAN),  1252, 850, &main_key_BE},
+ {MAKELANGID(LANG_WALON,SUBLANG_DEFAULT),          1252, 850, &main_key_BE},
  {MAKELANGID(LANG_PORTUGUESE,SUBLANG_DEFAULT),     1252, 860, &main_key_PT},
  {MAKELANGID(LANG_FINNISH,SUBLANG_DEFAULT),        1252, 850, &main_key_FI},
  {MAKELANGID(LANG_RUSSIAN,SUBLANG_DEFAULT),        1251, 866, &main_key_RU},
  {MAKELANGID(LANG_SPANISH,SUBLANG_DEFAULT),        1252, 850, &main_key_ES},
+ {MAKELANGID(LANG_DUTCH,SUBLANG_DUTCH_BELGIAN),    1252, 850, &main_key_BE},
 
  {0} /* sentinel */
 };