From 504bffd627220ad2d0827bdc27c0f418597cde14 Mon Sep 17 00:00:00 2001
From: stephan <stephan@b9310e46-f624-0410-8ea1-cfbb3a30dc96>
Date: Mon, 6 Feb 2012 14:48:39 +0000
Subject: Synchronisieren mit xkeyboard-config upstream

git-svn-id: https://svn.neo-layout.org@2418 b9310e46-f624-0410-8ea1-cfbb3a30dc96
---
 linux/X/compat/level5   |    5 -
 linux/X/compat/misc     |    9 +-
 linux/X/rules/base      |  104 +-
 linux/X/rules/base.xml  | 2984 +++++++++++++++++++++++++++++++----------------
 linux/X/rules/evdev     |  104 +-
 linux/X/rules/evdev.xml | 2984 +++++++++++++++++++++++++++++++----------------
 linux/X/symbols/de      |  180 ++-
 linux/X/symbols/level3  |    4 -
 linux/X/symbols/level5  |   23 +-
 linux/X/symbols/shift   |    2 -
 linux/X/types/level5    |   76 +-
 11 files changed, 4282 insertions(+), 2193 deletions(-)

(limited to 'linux')

diff --git a/linux/X/compat/level5 b/linux/X/compat/level5
index 4769354..8d28051 100644
--- a/linux/X/compat/level5
+++ b/linux/X/compat/level5
@@ -1,11 +1,6 @@
-// $XKeyboardConfig$
-// $Xorg: level5,v 1.3 2000/08/17 19:54:34 cpqbld Exp $
-
 // Fairly complete set of symbol interpretations 
 // to provide reasonable default behavior
 
-// $XFree86: xc/programs/xkbcomp/compat/iso9995,v 1.3 2003/02/21 03:16:34 dawes Exp $
-
 default partial xkb_compatibility "default"  {
     virtual_modifiers LevelFive;
 
diff --git a/linux/X/compat/misc b/linux/X/compat/misc
index 68cda95..cfe9a39 100644
--- a/linux/X/compat/misc
+++ b/linux/X/compat/misc
@@ -1,10 +1,3 @@
-// $XdotOrg: xc/programs/xkbcomp/compat/misc,v 1.1.4.4 2004/03/05 13:41:28 eich Exp $
-// $Xorg: misc,v 1.3 2000/08/17 19:54:34 cpqbld Exp $
-//
-//
-//
-// $XFree86: xc/programs/xkbcomp/compat/misc,v 1.4 2003/05/15 13:31:57 pascal Exp $
-
 default partial xkb_compatibility "misc"  {
 
     virtual_modifiers	Alt,Meta,Super,Hyper,ScrollLock;
@@ -114,6 +107,8 @@ default partial xkb_compatibility "misc"  {
     };
 
     include "ledscroll"
+	
+    include "misc(assign_shift_left_action)"
 };
 
 partial xkb_compatibility "assign_shift_left_action"  {
diff --git a/linux/X/rules/base b/linux/X/rules/base
index 68c29df..44fa866 100644
--- a/linux/X/rules/base
+++ b/linux/X/rules/base
@@ -1,12 +1,9 @@
 // DO NOT EDIT THIS FILE - IT WAS AUTOGENERATED BY merge.sh FROM rules/*.part
-// $Xorg: xfree86,v 1.3 2000/08/17 19:54:42 cpqbld Exp $
-
 //
 //  Rules for resolving XKB components for use with XFree86
 //  Copyright 1996 by Joseph Moss
 //
 //  2002 Modifier: Ivan Pascal      The XFree86 Project
-//  $XFree86: xc/programs/xkbcomp/rules/xfree86,v 3.79 2004/01/09 00:16:01 dawes Exp $
 //
 
 // If you want non-latin layouts implicitly include the en_US layout
@@ -19,7 +16,7 @@
 ! $pcmodels = pc101 pc102 pc104 pc105
 
 // Microsoft models (using MS geometry)
-! $msmodels = microsoft microsoft7000 microsoftpro microsoftprousb microsoftprose
+! $msmodels = microsoft microsoft4000 microsoft7000 microsoftpro microsoftprousb microsoftprose
 
 // Nokia devices and keyboards
 ! $nokiamodels = nokiasu8w nokiarx44 nokiarx51
@@ -60,15 +57,15 @@
               genius geniuscomfy2 \
               gyration honeywell_euroboard \
               hp250x hp5xx hp500fa hpdv5 \
-              hpi6 hpxe3gc hpxe3gf hpxe4xxx hpxt1000 hpzt11xx \
+              hpi6 hpxe3gc hpxe3gf hpxe4xxx hpxt1000 hpzt11xx htcdream \
               ibm_spacesaver ipaq inspiron intel \
               logiaccess logicda logicink \
               logiex110 logiclx300 \
               logiinkse logiinkseusb logiitc logiik \
               logitech_base itouch logiultrax \
               logitech_g15 \
-	      logidinovo logidinovoedge \
-              microsoft7000 microsoftinet microsoftprousb microsoftprooem microsoftprose \
+              logidinovo logidinovoedge \
+              microsoft4000 microsoft7000 microsoftinet microsoftprousb microsoftprooem microsoftprose \
               microsoftoffice microsoftmult \
               mx1998 mx2500 mx2750 \
               oretec \
@@ -80,7 +77,7 @@
               silvercrest \
               sk1300 sk2500 sk6200 sk7100 \
               sven sven303 symplon \
-              tm2030USB toshiba_s3000 trust trustda \
+              toshiba_s3000 trust trustda \
               unitekkb1925 yahoo
 
 // all layouts with 3rd and 4th groups
@@ -114,6 +111,7 @@
                    lt lv nl no pl pt ro ru \
                    se sk tr tw ua
 
+! $htcdreamlayouts = us it de
 
 ! $dvoraklayouts = br ca de ee es fr gb no pl se us
 
@@ -159,6 +157,7 @@
   hpmini110	=	hp(mini110)
   hpdv5		=	hp(dv5)
   omnikey101	=	northgate(omnikey101)
+  sanwaskbkg3	=	sanwa(sanwaskbkg3)
  $pcmodels	=	pc(%m)
  $pcgeometries	=	pc(%m)
   everex	=	everex(STEPnote)
@@ -192,7 +191,6 @@
   *		gur		basic		=	pc+in(guru)
   *		ie		laptop		=	pc+ie(basic)
   *		ie		CloGaelachLaptop		=	pc+ie(CloGaelach)
-  *		il		si1452		=	pc+ie(basic)
   *		in		urd		=	pc+in(urd-phonetic)
   *		iu		basic		=	pc+ca(ike)
   *		lo		basic		=	pc+la(basic)
@@ -227,10 +225,6 @@
   *		yu		unicode		=	pc+srp(latinunicode)
   *		yu		yz		=	pc+srp(latinyz)
   *		yu		unicodeyz		=	pc+srp(latinunicodeyz)
-  *		rs		combiningkeys		=	pc+extras/rs(combiningkeys)
-  *		us		alt-intl-unicode		=	pc+extras/us(alt-intl-unicode)
-  *		us		crd		=	pc+extras/us(crd)
-  *		us		intl-unicode		=	pc+extras/us(intl-unicode)
   classmate	us		intl		=	pc+us(classmate-intl)
   classmate	us		alt-intl	=	pc+us(classmate-alt-intl)
   classmate	us		altgr-intl	=	pc+us(classmate-altgr-intl)
@@ -279,7 +273,6 @@
   *		gur(basic)			=	pc+in(guru)
   *		ie(laptop)			=	pc+ie(basic)
   *		ie(CloGaelachLaptop)			=	pc+ie(CloGaelach)
-  *		il(si1452)			=	pc+ie(basic)
   *		in(urd)			=	pc+in(urd-phonetic)
   *		iu(basic)			=	pc+ca(ike)
   *		lo(basic)			=	pc+la(basic)
@@ -314,11 +307,6 @@
   *		yu(unicode)			=	pc+srp(latinunicode)
   *		yu(yz)			=	pc+srp(latinyz)
   *		yu(unicodeyz)			=	pc+srp(latinunicodeyz)
-  *		apl			=	pc+extras/apl
-  *		rs(combiningkeys)			=	pc+extras/rs(combiningkeys)
-  *		us(alt-intl-unicode)			=	pc+extras/us(alt-intl-unicode)
-  *		us(crd)			=	pc+extras/us(crd)
-  *		us(intl-unicode)			=	pc+extras/us(intl-unicode)
   ataritt	$nonlatin		=	xfree68_vndr/ataritt(us)+%l%(v):2
   ataritt	*			=	xfree68_vndr/ataritt(us)+%l%(v)
   amiga		$nonlatin		=	xfree68_vndr/amiga(usa1)+%l%(v):2
@@ -357,6 +345,7 @@
   olpc		$olpclayouts		=	olpc+%l%(m)
   olpc		*			=	olpc+%l%(v)
  $thinkpads   	br			=	pc+br(thinkpad)
+  htcdream	$htcdreamlayouts	=	%l(htcdream)
   *	   	$nonlatin		=	pc+us+%l%(v):2
   *		*			=	pc+%l%(v)
 
@@ -403,7 +392,6 @@
   *		gur(basic)			=	pc+in(guru)
   *		ie(laptop)			=	pc+ie(basic)
   *		ie(CloGaelachLaptop)			=	pc+ie(CloGaelach)
-  *		il(si1452)			=	pc+ie(basic)
   *		in(urd)			=	pc+in(urd-phonetic)
   *		iu(basic)			=	pc+ca(ike)
   *		lo(basic)			=	pc+la(basic)
@@ -438,11 +426,6 @@
   *		yu(unicode)			=	pc+srp(latinunicode)
   *		yu(yz)			=	pc+srp(latinyz)
   *		yu(unicodeyz)			=	pc+srp(latinunicodeyz)
-  *		apl			=	pc+extras/apl%(v[1])
-  *		rs(combiningkeys)			=	pc+extras/rs(combiningkeys)
-  *		us(alt-intl-unicode)			=	pc+extras/us(alt-intl-unicode)
-  *		us(crd)			=	pc+extras/us(crd)
-  *		us(intl-unicode)			=	pc+extras/us(intl-unicode)
   ataritt	*			=	xfree68_vndr/ataritt(us)+%l[1]%(v[1])
   amiga		*			=	xfree68_vndr/amiga(usa1)+%l[1]%(v[1])
   sun4		*			=	latin+sun_vndr/us(type4)+%l[1]%(v[1])
@@ -475,7 +458,6 @@
   *		gur		basic		=	pc+in(guru)
   *		ie		laptop		=	pc+ie(basic)
   *		ie		CloGaelachLaptop		=	pc+ie(CloGaelach)
-  *		il		si1452		=	pc+ie(basic)
   *		in		urd		=	pc+in(urd-phonetic)
   *		iu		basic		=	pc+ca(ike)
   *		lo		basic		=	pc+la(basic)
@@ -510,10 +492,6 @@
   *		yu		unicode		=	pc+srp(latinunicode)
   *		yu		yz		=	pc+srp(latinyz)
   *		yu		unicodeyz		=	pc+srp(latinunicodeyz)
-  *		rs		combiningkeys		=	pc+extras/rs(combiningkeys)
-  *		us		alt-intl-unicode		=	pc+extras/us(alt-intl-unicode)
-  *		us		crd		=	pc+extras/us(crd)
-  *		us		intl-unicode		=	pc+extras/us(intl-unicode)
 
 ! model		layout[2]	=	symbols
   *		ar		=	+ara%(v[2]):2
@@ -558,7 +536,6 @@
   *		gur(basic)	=	+in(guru):2
   *		ie(laptop)	=	+ie(basic):2
   *		ie(CloGaelachLaptop)	=	+ie(CloGaelach):2
-  *		il(si1452)	=	+ie(basic):2
   *		in(urd)	=	+in(urd-phonetic):2
   *		iu(basic)	=	+ca(ike):2
   *		lo(basic)	=	+la(basic):2
@@ -593,11 +570,6 @@
   *		yu(unicode)	=	+srp(latinunicode):2
   *		yu(yz)	=	+srp(latinyz):2
   *		yu(unicodeyz)	=	+srp(latinunicodeyz):2
-  *		apl		=	+extras/apl%(v[2]):2
-  *		rs(combiningkeys)	=	+extras/rs(combiningkeys):2
-  *		us(alt-intl-unicode)	=	+extras/us(alt-intl-unicode):2
-  *		us(crd)	=	+extras/us(crd):2
-  *		us(intl-unicode)	=	+extras/us(intl-unicode):2
   nokiarx51	cz(qwerty)	=	+nokia_vndr/rx-51(cz_qwerty):2
   nokiarx51	*		=	+nokia_vndr/rx-51(%l[2]%_v[2]):2
   *		*		=	+%l[2]%(v[2]):2
@@ -645,7 +617,6 @@
   *		gur(basic)	=	+in(guru):3
   *		ie(laptop)	=	+ie(basic):3
   *		ie(CloGaelachLaptop)	=	+ie(CloGaelach):3
-  *		il(si1452)	=	+ie(basic):3
   *		in(urd)	=	+in(urd-phonetic):3
   *		iu(basic)	=	+ca(ike):3
   *		lo(basic)	=	+la(basic):3
@@ -680,11 +651,6 @@
   *		yu(unicode)	=	+srp(latinunicode):3
   *		yu(yz)	=	+srp(latinyz):3
   *		yu(unicodeyz)	=	+srp(latinunicodeyz):3
-  *		apl		=	+extras/apl%(v[3]):3
-  *		rs(combiningkeys)	=	+extras/rs(combiningkeys):3
-  *		us(alt-intl-unicode)	=	+extras/us(alt-intl-unicode):3
-  *		us(crd)	=	+extras/us(crd):3
-  *		us(intl-unicode)	=	+extras/us(intl-unicode):3
   nokiarx51	cz(qwerty)	=	+nokia_vndr/rx-51(cz_qwerty):3
   nokiarx51	*		=	+nokia_vndr/rx-51(%l[3]%_v[3]):3
   *		*		=	+%l[3]%(v[3]):3
@@ -732,7 +698,6 @@
   *		gur(basic)	=	+in(guru):4
   *		ie(laptop)	=	+ie(basic):4
   *		ie(CloGaelachLaptop)	=	+ie(CloGaelach):4
-  *		il(si1452)	=	+ie(basic):4
   *		in(urd)	=	+in(urd-phonetic):4
   *		iu(basic)	=	+ca(ike):4
   *		lo(basic)	=	+la(basic):4
@@ -767,11 +732,6 @@
   *		yu(unicode)	=	+srp(latinunicode):4
   *		yu(yz)	=	+srp(latinyz):4
   *		yu(unicodeyz)	=	+srp(latinunicodeyz):4
-  *		apl		=	+extras/apl%(v[4]):4
-  *		rs(combiningkeys)	=	+extras/rs(combiningkeys):4
-  *		us(alt-intl-unicode)	=	+extras/us(alt-intl-unicode):4
-  *		us(crd)	=	+extras/us(crd):4
-  *		us(intl-unicode)	=	+extras/us(intl-unicode):4
   nokiarx51	cz(qwerty)	=	+nokia_vndr/rx-51(cz_qwerty):4
   nokiarx51	*		=	+nokia_vndr/rx-51(%l[4]%_v[4]):4
   *		*		=	+%l[4]%(v[4]):4
@@ -792,7 +752,6 @@
   *		gur		basic	=	+in(guru):2
   *		ie		laptop	=	+ie(basic):2
   *		ie		CloGaelachLaptop	=	+ie(CloGaelach):2
-  *		il		si1452	=	+ie(basic):2
   *		in		urd	=	+in(urd-phonetic):2
   *		iu		basic	=	+ca(ike):2
   *		lo		basic	=	+la(basic):2
@@ -827,10 +786,6 @@
   *		yu		unicode	=	+srp(latinunicode):2
   *		yu		yz	=	+srp(latinyz):2
   *		yu		unicodeyz	=	+srp(latinunicodeyz):2
-  *		rs		combiningkeys	=	+extras/rs(combiningkeys):2
-  *		us		alt-intl-unicode	=	+extras/us(alt-intl-unicode):2
-  *		us		crd	=	+extras/us(crd):2
-  *		us		intl-unicode	=	+extras/us(intl-unicode):2
 
 ! model		layout[3]	variant[3]	=	symbols
   *		ben		basic	=	+in(ben):3
@@ -848,7 +803,6 @@
   *		gur		basic	=	+in(guru):3
   *		ie		laptop	=	+ie(basic):3
   *		ie		CloGaelachLaptop	=	+ie(CloGaelach):3
-  *		il		si1452	=	+ie(basic):3
   *		in		urd	=	+in(urd-phonetic):3
   *		iu		basic	=	+ca(ike):3
   *		lo		basic	=	+la(basic):3
@@ -883,10 +837,6 @@
   *		yu		unicode	=	+srp(latinunicode):3
   *		yu		yz	=	+srp(latinyz):3
   *		yu		unicodeyz	=	+srp(latinunicodeyz):3
-  *		rs		combiningkeys	=	+extras/rs(combiningkeys):3
-  *		us		alt-intl-unicode	=	+extras/us(alt-intl-unicode):3
-  *		us		crd	=	+extras/us(crd):3
-  *		us		intl-unicode	=	+extras/us(intl-unicode):3
 
 ! model		layout[4]	variant[4]	=	symbols
   *		ben		basic	=	+in(ben):4
@@ -904,7 +854,6 @@
   *		gur		basic	=	+in(guru):4
   *		ie		laptop	=	+ie(basic):4
   *		ie		CloGaelachLaptop	=	+ie(CloGaelach):4
-  *		il		si1452	=	+ie(basic):4
   *		in		urd	=	+in(urd-phonetic):4
   *		iu		basic	=	+ca(ike):4
   *		lo		basic	=	+la(basic):4
@@ -939,10 +888,6 @@
   *		yu		unicode	=	+srp(latinunicode):4
   *		yu		yz	=	+srp(latinyz):4
   *		yu		unicodeyz	=	+srp(latinunicodeyz):4
-  *		rs		combiningkeys	=	+extras/rs(combiningkeys):4
-  *		us		alt-intl-unicode	=	+extras/us(alt-intl-unicode):4
-  *		us		crd	=	+extras/us(crd):4
-  *		us		intl-unicode	=	+extras/us(intl-unicode):4
 
 ! model		=	symbols
   a4techKB21    =       +inet(media_nav_common)
@@ -1067,17 +1012,12 @@
   grp:shifts_toggle	=	+group(shifts_toggle)
   grp:ctrls_toggle	=	+group(ctrls_toggle)
   grp:alts_toggle	=	+group(alts_toggle)
-  grp:ctrl_shift_toggle	=	+group(ctrl_shift_toggle)
-  grp:lctrl_lshift_toggle	=	+group(lctrl_lshift_toggle)
-  grp:rctrl_rshift_toggle	=	+group(rctrl_rshift_toggle)
   grp:caps_toggle	=	+capslock(grouplock)
   grp:caps_switch       =       +capslock(groupshift)
   grp:shift_caps_toggle	=	+group(shift_caps_toggle)
   grp:shift_caps_switch	=	+group(shift_caps_switch)
   grp:win_menu_switch	=	+group(win_menu_switch)
   grp:alt_caps_toggle   =       +group(alt_caps_toggle)
-  grp:ctrl_alt_toggle	=	+group(ctrl_alt_toggle)
-  grp:alt_shift_toggle	=	+group(alt_shift_toggle)
   grp:alt_space_toggle	=	+group(alt_space_toggle)
   grp:menu_toggle	=	+group(menu_toggle)
   grp:lwin_toggle	=	+group(lwin_toggle)
@@ -1090,6 +1030,19 @@
   grp:lalt_toggle	=	+group(lalt_toggle)
   grp:sclk_toggle	=	+group(sclk_toggle)
   grp:lctrl_rctrl_switch	=	+group(lctrl_rctrl_switch)
+  grp:lctrl_lwin_rctrl_menu	=	+group(lctrl_lwin_rctrl_menu)
+  grp:lctrl_lalt_toggle	=	+group(lctrl_lalt_toggle)
+  grp:rctrl_ralt_toggle	=	+group(rctrl_ralt_toggle)
+  grp:ctrl_alt_toggle	=	+group(ctrl_alt_toggle)
+  grp:ctrl_alt_toggle_bidir	=	+group(ctrl_alt_toggle_bidir)
+  grp:lctrl_lshift_toggle	=	+group(lctrl_lshift_toggle)
+  grp:rctrl_rshift_toggle	=	+group(rctrl_rshift_toggle)
+  grp:ctrl_shift_toggle	=	+group(ctrl_shift_toggle)
+  grp:ctrl_shift_toggle_bidir	=	+group(ctrl_shift_toggle_bidir)
+  grp:lalt_lshift_toggle	=	+group(lalt_lshift_toggle)
+  grp:ralt_rshift_toggle	=	+group(ralt_rshift_toggle)
+  grp:alt_shift_toggle	=	+group(alt_shift_toggle)
+  grp:alt_shift_toggle_bidir	=	+group(alt_shift_toggle_bidir)
   lv3:switch		=	+level3(switch)
   lv3:ralt_switch	=	+level3(ralt_switch)
   lv3:ralt_switch_multikey	=	+level3(ralt_switch_multikey)
@@ -1110,11 +1063,15 @@
   caps:super		=	+capslock(super)
   caps:hyper		=	+capslock(hyper)
   caps:none		=	+capslock(none)
+  caps:ctrl_modifier	=	+capslock(ctrl_modifier)
   ctrl:nocaps		=	+ctrl(nocaps)
+  ctrl:lctrl_meta	=	+ctrl(lctrl_meta)
   ctrl:swapcaps		=	+ctrl(swapcaps)
-  ctrl:ctrl_ac		=	+ctrl(ctrl_ac)
-  ctrl:ctrl_aa		=	+ctrl(ctrl_aa)
-  ctrl:ctrl_ra		=	+ctrl(ctrl_ra)
+  ctrl:ac_ctrl		=	+ctrl(ac_ctrl)
+  ctrl:aa_ctrl		=	+ctrl(aa_ctrl)
+  ctrl:rctrl_ralt	=	+ctrl(rctrl_ralt)
+  ctrl:menu_rctrl	=	+ctrl(menu_rctrl)
+  ctrl:ralt_rctrl	=	+ctrl(ralt_rctrl)
   compose:ralt		=	+compose(ralt)
   compose:lwin		=	+compose(lwin)
   compose:rwin		=	+compose(rwin)
@@ -1131,6 +1088,7 @@
   eurosign:2		=	+eurosign(2)
   eurosign:4		=	+eurosign(4)
   eurosign:5		=	+eurosign(5)
+  rupeesign:4           =       +rupeesign(4)
   keypad:oss            =       +keypad(oss)
   keypad:legacy         =	+keypad(legacy)
   keypad:legacy_wang    =	+keypad(legacy_wang)
@@ -1148,6 +1106,7 @@
   nbsp:level4n          =	+nbsp(level4n)
   nbsp:level4nl         =	+nbsp(level4nl)
   japan:nicola_f_bs     =	+jp(nicola_f_bs)
+  japan:hztg_escape     =	+jp(hztg_escape)
   kpdl:dot              =	+kpdl(dot)
   kpdl:comma            =	+kpdl(comma)
   kpdl:dotoss           =	+kpdl(dotoss)
@@ -1160,6 +1119,7 @@
   esperanto:qwerty      =	+epo(qwerty)
   esperanto:dvorak      =	+epo(dvorak)
   terminate:ctrl_alt_bksp =	+terminate(ctrl_alt_bksp)
+  keypad:pointerkeys	=	+keypad(pointerkeys)
   apple:alupckeys	=	+macintosh_vndr/apple(alupckeys)
   shift:both_capslock                =       +shift(both_capslock)
   shift:lshift_both_capslock         =       +shift(lshift_both_capslock)
@@ -1191,9 +1151,9 @@
   grp_led:num		=	+lednum(group_lock)
   grp_led:caps		=	+ledcaps(group_lock)
   grp_led:scroll	=	+ledscroll(group_lock)
-  grp:caps_toggle	=	+ledcaps(group_lock)
   japan:kana_lock	=	+japan(kana_lock)
   caps:shiftlock	=	+ledcaps(shift_lock)
+  grab:break_actions    =       +xfree86(grab_break)
 
 
 ! option	=	types
diff --git a/linux/X/rules/base.xml b/linux/X/rules/base.xml
index 952a457..4b97074 100644
--- a/linux/X/rules/base.xml
+++ b/linux/X/rules/base.xml
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE xkbConfigRegistry SYSTEM "xkb.dtd">
-<xkbConfigRegistry>
+<xkbConfigRegistry version="1.1">
   <modelList>
     <model>
       <configItem>
@@ -194,14 +194,14 @@
     <model>
       <configItem>
         <name>btc9019u</name>
-	<description>BTC 9019U</description>
+        <description>BTC 9019U</description>
         <vendor>BTC</vendor>
       </configItem>
     </model>
     <model>
       <configItem>
         <name>btc9116u</name>
-	<description>BTC 9116U Mini Wireless Internet and Gaming</description>
+        <description>BTC 9116U Mini Wireless Internet and Gaming</description>
       </configItem>
     </model>
     <model>
@@ -447,6 +447,20 @@
         <vendor>Gyration</vendor>
       </configItem>
     </model>
+    <model>
+      <configItem>
+        <name>htcdream</name>
+        <description>HTC Dream</description>
+        <vendor>HTC</vendor>
+      </configItem>
+    </model>
+    <model>
+      <configItem>
+        <name>kinesis</name>
+        <description>Kinesis</description>
+        <vendor>Kinesis</vendor>
+      </configItem>
+    </model>
     <model>
       <configItem>
         <name>logitech_base</name>
@@ -556,42 +570,42 @@
       <configItem>
         <name>rapidaccess</name>
         <description>IBM Rapid Access</description>
-        <vendor>IBM</vendor>
+        <vendor>Lenovo (previously IBM)</vendor>
       </configItem>
     </model>
     <model>
       <configItem>
         <name>rapidaccess2</name>
         <description>IBM Rapid Access II</description>
-        <vendor>IBM</vendor>
+        <vendor>Lenovo (previously IBM)</vendor>
       </configItem>
     </model>
     <model>
       <configItem>
         <name>thinkpad</name>
         <description>IBM ThinkPad 560Z/600/600E/A22E</description>
-        <vendor>IBM</vendor>
+        <vendor>Lenovo (previously IBM)</vendor>
       </configItem>
     </model>
     <model>
       <configItem>
         <name>thinkpad60</name>
         <description>IBM ThinkPad R60/T60/R61/T61</description>
-        <vendor>IBM</vendor>
+        <vendor>Lenovo (previously IBM)</vendor>
       </configItem>
     </model>
     <model>
       <configItem>
         <name>thinkpadz60</name>
         <description>IBM ThinkPad Z60m/Z60t/Z61m/Z61t</description>
-        <vendor>IBM</vendor>
+        <vendor>Lenovo (previously IBM)</vendor>
       </configItem>
     </model>
     <model>
       <configItem>
         <name>ibm_spacesaver</name>
         <description>IBM Space Saver</description>
-        <vendor>IBM</vendor>
+        <vendor>Lenovo (previously IBM)</vendor>
       </configItem>
     </model>
     <model>
@@ -613,6 +627,7 @@
         <name>logii350</name>
         <description>Logitech Internet 350 Keyboard</description>
         <vendor>Logitech</vendor>
+        <hwList> <hwId>046d:c313</hwId></hwList>
       </configItem>
     </model>
     <model>
@@ -776,6 +791,13 @@
         <vendor>Memorex</vendor>
       </configItem>
     </model>
+    <model>
+      <configItem>
+        <name>microsoft4000</name>
+        <description>Microsoft Natural Wireless Ergonomic Keyboard 4000</description>
+        <vendor>Microsoft Inc.</vendor>
+      </configItem>
+    </model>
     <model>
       <configItem>
         <name>microsoft7000</name>
@@ -888,88 +910,95 @@
         <vendor>Samsung</vendor>
       </configItem>
     </model>
+    <model>
+      <configItem>
+        <name>sanwaskbkg3</name>
+        <description>Sanwa Supply SKB-KG3</description>
+        <vendor>Sanwa Supply Inc.</vendor>
+      </configItem>
+    </model>
     <model>
       <configItem>
         <name>sk1300</name>
         <description>SK-1300</description>
-	<vendor>NEC</vendor>
+        <vendor>NEC</vendor>
       </configItem>
     </model>
     <model>
       <configItem>
         <name>sk2500</name>
         <description>SK-2500</description>
-	<vendor>NEC</vendor>
+        <vendor>NEC</vendor>
       </configItem>
     </model>
     <model>
       <configItem>
         <name>sk6200</name>
         <description>SK-6200</description>
-	<vendor>NEC</vendor>
+        <vendor>NEC</vendor>
       </configItem>
     </model>
     <model>
       <configItem>
         <name>sk7100</name>
         <description>SK-7100</description>
-	<vendor>NEC</vendor>
+        <vendor>NEC</vendor>
       </configItem>
     </model>
     <model>
       <configItem>
         <name>sp_inet</name>
         <description>Super Power Multimedia Keyboard</description>
-	<vendor>Generic</vendor>
+        <vendor>Generic</vendor>
       </configItem>
     </model>
     <model>
       <configItem>
         <name>sven</name>
         <description>SVEN Ergonomic 2500</description>
-	<vendor>SVEN</vendor>
+        <vendor>SVEN</vendor>
       </configItem>
     </model>
     <model>
       <configItem>
         <name>sven303</name>
         <description>SVEN Slim 303</description>
-	<vendor>SVEN</vendor>
+        <vendor>SVEN</vendor>
       </configItem>
     </model>
     <model>
       <configItem>
         <name>symplon</name>
         <description>Symplon PaceBook (tablet PC)</description>
-	<vendor>Symplon</vendor>
+        <vendor>Symplon</vendor>
       </configItem>
     </model>
     <model>
       <configItem>
         <name>toshiba_s3000</name>
         <description>Toshiba Satellite S3000</description>
-	<vendor>Toshiba</vendor>
+        <vendor>Toshiba</vendor>
       </configItem>
     </model>
     <model>
       <configItem>
         <name>trust</name>
         <description>Trust Wireless Keyboard Classic</description>
-	<vendor>Trust</vendor>
+        <vendor>Trust</vendor>
       </configItem>
     </model>
     <model>
       <configItem>
         <name>trustda</name>
         <description>Trust Direct Access Keyboard</description>
-	<vendor>Trust</vendor>
+        <vendor>Trust</vendor>
       </configItem>
     </model>
     <model>
       <configItem>
         <name>trust_slimline</name>
         <description>Trust Slimline</description>
-	<vendor>Trust</vendor>
+        <vendor>Trust</vendor>
       </configItem>
     </model>
     <model>
@@ -1011,161 +1040,161 @@
       <configItem>
         <name>yahoo</name>
         <description>Yahoo! Internet Keyboard</description>
-	<vendor>Yahoo!</vendor>
+        <vendor>Yahoo!</vendor>
       </configItem>
     </model>
     <model>
       <configItem>
         <name>macbook78</name>
         <description>MacBook/MacBook Pro</description>
-	<vendor>Apple</vendor>
+        <vendor>Apple</vendor>
       </configItem>
     </model>
     <model>
       <configItem>
         <name>macbook79</name>
         <description>MacBook/MacBook Pro (Intl)</description>
-	<vendor>Apple</vendor>
+        <vendor>Apple</vendor>
       </configItem>
     </model>
     <model>
       <configItem>
         <name>macintosh</name>
         <description>Macintosh</description>
-	<vendor>Apple</vendor>
+        <vendor>Apple</vendor>
       </configItem>
     </model>
     <model>
       <configItem>
         <name>macintosh_old</name>
         <description>Macintosh Old</description>
-	<vendor>Apple</vendor>
+        <vendor>Apple</vendor>
       </configItem>
     </model>
     <model>
       <configItem>
         <name>macintosh_hhk</name>
         <description>Happy Hacking Keyboard for Mac</description>
-	<vendor>Fujitsu</vendor>
+        <vendor>Fujitsu</vendor>
       </configItem>
     </model>
     <model>
       <configItem>
         <name>acer_c300</name>
         <description>Acer C300</description>
-	<vendor>Acer</vendor>
+        <vendor>Acer</vendor>
       </configItem>
     </model>
     <model>
       <configItem>
         <name>acer_ferrari4k</name>
         <description>Acer Ferrari 4000</description>
-	<vendor>Acer</vendor>
+        <vendor>Acer</vendor>
       </configItem>
     </model>
     <model>
       <configItem>
         <name>acer_laptop</name>
         <description>Acer Laptop</description>
-	<vendor>Acer</vendor>
+        <vendor>Acer</vendor>
       </configItem>
     </model>
     <model>
       <configItem>
         <name>asus_laptop</name>
         <description>Asus Laptop</description>
-	<vendor>Asus</vendor>
+        <vendor>Asus</vendor>
       </configItem>
     </model>
     <model>
       <configItem>
         <name>apple</name>
         <description>Apple</description>
-	<vendor>Apple</vendor>
+        <vendor>Apple</vendor>
       </configItem>
     </model>
     <model>
       <configItem>
         <name>apple_laptop</name>
         <description>Apple Laptop</description>
-	<vendor>Apple</vendor>
+        <vendor>Apple</vendor>
       </configItem>
     </model>
     <model>
       <configItem>
         <name>applealu_ansi</name>
         <description>Apple Aluminium Keyboard (ANSI)</description>
-	<vendor>Apple</vendor>
+        <vendor>Apple</vendor>
       </configItem>
     </model>
     <model>
       <configItem>
         <name>applealu_iso</name>
         <description>Apple Aluminium Keyboard (ISO)</description>
-	<vendor>Apple</vendor>
+        <vendor>Apple</vendor>
       </configItem>
     </model>
     <model>
       <configItem>
         <name>applealu_jis</name>
         <description>Apple Aluminium Keyboard (JIS)</description>
-	<vendor>Apple</vendor>
+        <vendor>Apple</vendor>
       </configItem>
     </model>
     <model>
       <configItem>
         <name>silvercrest</name>
         <description>SILVERCREST Multimedia Wireless Keyboard</description>
-	<vendor>Silvercrest</vendor>
+        <vendor>Silvercrest</vendor>
       </configItem>
     </model>
     <model>
       <configItem>
         <name>emachines</name>
         <description>Laptop/notebook eMachines m68xx</description>
-	<vendor>eMachines</vendor>
+        <vendor>eMachines</vendor>
       </configItem>
     </model>
     <model>
       <configItem>
-	<name>benqx</name>
-	<description>BenQ X-Touch</description>
-	<vendor>BenQ</vendor>
+        <name>benqx</name>
+        <description>BenQ X-Touch</description>
+        <vendor>BenQ</vendor>
       </configItem>
     </model>
     <model>
       <configItem>
-	<name>benqx730</name>
-	<description>BenQ X-Touch 730</description>
-	<vendor>BenQ</vendor>
+        <name>benqx730</name>
+        <description>BenQ X-Touch 730</description>
+        <vendor>BenQ</vendor>
       </configItem>
     </model>
     <model>
       <configItem>
-	<name>benqx800</name>
-	<description>BenQ X-Touch 800</description>
-	<vendor>BenQ</vendor>
+        <name>benqx800</name>
+        <description>BenQ X-Touch 800</description>
+        <vendor>BenQ</vendor>
       </configItem>
     </model>
     <model>
       <configItem>
-	<name>hhk</name>
-	<description>Happy Hacking Keyboard</description>
-	<vendor>Fujitsu</vendor>
+        <name>hhk</name>
+        <description>Happy Hacking Keyboard</description>
+        <vendor>Fujitsu</vendor>
       </configItem>
     </model>
     <model>
       <configItem>
-	<name>classmate</name>
-	<description>Classmate PC</description>
-	<vendor>Intel</vendor>
+        <name>classmate</name>
+        <description>Classmate PC</description>
+        <vendor>Intel</vendor>
       </configItem>
     </model>
     <model>
       <configItem>
-	<name>olpc</name>
-	<description>OLPC</description>
-	<vendor>OLPC</vendor>
+        <name>olpc</name>
+        <description>OLPC</description>
+        <vendor>OLPC</vendor>
       </configItem>
     </model>
     <model>
@@ -1203,106 +1232,124 @@
         <vendor>Creative</vendor>
       </configItem>
     </model>
+    <model>
+      <configItem>
+       <name>htcdream</name>
+       <description>Htc Dream phone</description>
+       <vendor>htc</vendor>
+     </configItem>
+    </model>
   </modelList>
   <layoutList>
     <layout>
       <configItem>
         <name>us</name>
-        <shortDescription>USA</shortDescription>
-        <description>USA</description>
-        <languageList><iso639Id>eng</iso639Id></languageList>
+        
+        <shortDescription>en</shortDescription>
+        <description>English (US)</description>
+        <languageList>
+          <iso639Id>eng</iso639Id>
+        </languageList>
       </configItem>
       <variantList>
         <variant>
           <configItem>
             <name>chr</name>
+            
+            <shortDescription>chr</shortDescription>
             <description>Cherokee</description>
-            <languageList><iso639Id>chr</iso639Id></languageList>
+            <languageList>
+              <iso639Id>chr</iso639Id>
+            </languageList>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>euro</name>
-            <description>With EuroSign on 5</description>
+            <description>English (US, with euro on 5)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>intl</name>
-            <description>International (with dead keys)</description>
+            <description>English (US, international with dead keys)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>alt-intl</name>
-            <description>Alternative international</description>
+            <description>English (US, alternative international)</description>
           </configItem>
         </variant>
-	<variant>
+        <variant>
           <configItem>
             <name>colemak</name>
-            <description>Colemak</description>
+            <description>English (Colemak)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>dvorak</name>
-            <description>Dvorak</description>
+            <description>English (Dvorak)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>dvorak-intl</name>
-            <description>Dvorak international (with dead keys)</description>
+            <description>English (Dvorak international with dead keys)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>dvorak-alt-intl</name>
-            <description>Dvorak alternative international (no dead keys)</description>
+            <description>English (Dvorak alternative international no dead keys)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>dvorak-l</name>
-            <description>Left handed Dvorak</description>
+            <description>English (left handed Dvorak)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>dvorak-r</name>
-            <description>Right handed Dvorak</description>
+            <description>English (right handed Dvorak)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>dvorak-classic</name>
-            <description>Classic Dvorak</description>
+            <description>English (classic Dvorak)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>dvp</name>
-            <description>Programmer Dvorak</description>
+            <description>English (programmer Dvorak)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>rus</name>
-            <description>Russian phonetic</description>
-            <languageList><iso639Id>rus</iso639Id></languageList>
+            
+            <shortDescription>ru</shortDescription>
+            <description>Russian (US, phonetic)</description>
+            <languageList>
+              <iso639Id>rus</iso639Id>
+            </languageList>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>mac</name>
-            <description>Macintosh</description>
+            <description>English (Macintosh)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>altgr-intl</name>
-            <description>International (AltGr dead keys)</description>
+            <description>English (international AltGr dead keys)</description>
             <languageList><iso639Id>eng</iso639Id>
                           <iso639Id>fra</iso639Id>
                           <iso639Id>ger</iso639Id></languageList>
@@ -1311,14 +1358,17 @@
         <variant>
           <configItem>
             <name>olpc2</name>
-            <description>Group toggle on multiply/divide key</description>
+            <description>English (layout toggle on multiply/divide key)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
-            <name>srp</name>
-            <description>Serbian</description>
+            <name>hbs</name>
+            <description>Serbo-Croatian (US)</description>
             <languageList><iso639Id>eng</iso639Id>
+                          <iso639Id>bos</iso639Id>
+                          <iso639Id>hbs</iso639Id>
+                          <iso639Id>hrv</iso639Id>
                           <iso639Id>srp</iso639Id> </languageList>
           </configItem>
         </variant>
@@ -1327,52 +1377,73 @@
     <layout>
       <configItem>
         <name>ad</name>
-        <shortDescription>And</shortDescription>
-        <description>Andorra</description>
-        <languageList><iso639Id>cat</iso639Id></languageList>
+        
+        <shortDescription>ca</shortDescription>
+        <description>Catalan</description>
+        <languageList>
+          <iso639Id>cat</iso639Id>
+        </languageList>
       </configItem>
       <variantList/>
     </layout>
     <layout>
       <configItem>
         <name>af</name>
-        <shortDescription>Afg</shortDescription>
-        <description>Afghanistan</description>
+        
+        <shortDescription>fa</shortDescription>
+        <description>Afghani</description>
       </configItem>
       <variantList>
         <variant>
           <configItem>
             <name>ps</name>
+            
+            <shortDescription>ps</shortDescription>
             <description>Pashto</description>
-            <languageList><iso639Id>pus</iso639Id></languageList>
+            <languageList>
+              <iso639Id>pus</iso639Id>
+            </languageList>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>uz</name>
-            <description>Southern Uzbek</description>
-            <languageList><iso639Id>uzb</iso639Id></languageList>
+            
+            <shortDescription>uz</shortDescription>
+            <description>Uzbek (Afghanistan)</description>
+            <languageList>
+              <iso639Id>uzb</iso639Id>
+            </languageList>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>olpc-ps</name>
-            <description>OLPC Pashto</description>
-            <languageList><iso639Id>pus</iso639Id></languageList>
+            
+            <shortDescription>ps</shortDescription>
+            <description>Pashto (Afghanistan, OLPC)</description>
+            <languageList>
+              <iso639Id>pus</iso639Id>
+            </languageList>
           </configItem>
         </variant>
         <variant>
           <configItem>
-            <name>olpc-fa</name>
-            <description>OLPC Dari</description>
+            <name>fa-olpc</name>
             
+            <shortDescription>fa</shortDescription>
+            <description>Persian (Afghanistan, Dari OLPC)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
-            <name>olpc-uz</name>
-            <description>OLPC Southern Uzbek</description>
-            <languageList><iso639Id>uzb</iso639Id></languageList>
+            <name>uz-olpc</name>
+            
+            <shortDescription>uz</shortDescription>
+            <description>Uzbek (Afghanistan, OLPC)</description>
+            <languageList>
+              <iso639Id>uzb</iso639Id>
+            </languageList>
           </configItem>
         </variant>
       </variantList>
@@ -1380,7 +1451,8 @@
     <layout>
       <configItem>
         <name>ara</name>
-        <shortDescription>Ara</shortDescription>
+        
+        <shortDescription>ar</shortDescription>
         <description>Arabic</description>
         <countryList>
           <iso3166Id>AE</iso3166Id>
@@ -1403,43 +1475,45 @@
           <iso3166Id>TN</iso3166Id>
           <iso3166Id>YE</iso3166Id>
         </countryList>
-        <languageList><iso639Id>ara</iso639Id></languageList>
+        <languageList>
+          <iso639Id>ara</iso639Id>
+        </languageList>
       </configItem>
       <variantList>
         <variant>
           <configItem>
             <name>azerty</name>
-            <description>azerty</description>
+            <description>Arabic (azerty)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>azerty_digits</name>
-            <description>azerty/digits</description>
+            <description>Arabic (azerty/digits)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>digits</name>
-            <description>digits</description>
+            <description>Arabic (digits)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>qwerty</name>
-            <description>qwerty</description>
+            <description>Arabic (qwerty)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>qwerty_digits</name>
-            <description>qwerty/digits</description>
+            <description>Arabic (qwerty/digits)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>buckwalter</name>
-            <description>Buckwalter</description>
+            <description>Arabic (Buckwalter)</description>
           </configItem>
         </variant>
       </variantList>
@@ -1447,48 +1521,85 @@
     <layout>
       <configItem>
         <name>al</name>
-        <shortDescription>Alb</shortDescription>
-        <description>Albania</description>
-        <languageList><iso639Id>alb</iso639Id></languageList>
+        
+        <shortDescription>sq</shortDescription>
+        <description>Albanian</description>
+        <languageList>
+          <iso639Id>alb</iso639Id>
+        </languageList>
       </configItem>
       <variantList/>
     </layout>
     <layout>
       <configItem>
         <name>am</name>
-        <shortDescription>Arm</shortDescription>
-        <description>Armenia</description>
-        <languageList><iso639Id>hye</iso639Id></languageList>
+        
+        <shortDescription>hy</shortDescription>
+        <description>Armenian</description>
+        <languageList>
+          <iso639Id>hye</iso639Id>
+        </languageList>
       </configItem>
       <variantList>
         <variant>
           <configItem>
             <name>phonetic</name>
-            <description>Phonetic</description>
+            <description>Armenian (phonetic)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>phonetic-alt</name>
-            <description>Alternative Phonetic</description>
+            <description>Armenian (alternative phonetic)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>eastern</name>
-            <description>Eastern</description>
+            <description>Armenian (eastern)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>western</name>
-            <description>Western</description>
+            <description>Armenian (western)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>eastern-alt</name>
-            <description>Alternative Eastern</description>
+            <description>Armenian (alternative eastern)</description>
+          </configItem>
+        </variant>
+      </variantList>
+    </layout>
+    <layout>
+      <configItem>
+        <name>at</name>
+        
+        <shortDescription>de</shortDescription>
+        <description>German (Austria)</description>
+        <languageList>
+          <iso639Id>ger</iso639Id>
+        </languageList>
+      </configItem>
+      <variantList>
+        <variant>
+          <configItem>
+            <name>nodeadkeys</name>
+            <description>German (Austria, eliminate dead keys)</description>
+          </configItem>
+        </variant>
+        <variant>
+          <configItem>
+            <name>sundeadkeys</name>
+            <description>German (Austria, Sun dead keys)</description>
+          </configItem>
+        </variant>
+        <variant>
+          <configItem>
+            <name>mac</name>
+            <description>German (Austria, Macintosh)</description>
           </configItem>
         </variant>
       </variantList>
@@ -1496,15 +1607,18 @@
     <layout>
       <configItem>
         <name>az</name>
-        <shortDescription>Aze</shortDescription>
-        <description>Azerbaijan</description>
-        <languageList><iso639Id>aze</iso639Id></languageList>
+        
+        <shortDescription>az</shortDescription>
+        <description>Azerbaijani</description>
+        <languageList>
+          <iso639Id>aze</iso639Id>
+        </languageList>
       </configItem>
       <variantList>
         <variant>
           <configItem>
             <name>cyrillic</name>
-            <description>Cyrillic</description>
+            <description>Azerbaijani (Cyrillic)</description>
           </configItem>
         </variant>
       </variantList>
@@ -1512,21 +1626,24 @@
     <layout>
       <configItem>
         <name>by</name>
-        <shortDescription>Blr</shortDescription>
-        <description>Belarus</description>
-        <languageList><iso639Id>bel</iso639Id></languageList>
+        
+        <shortDescription>by</shortDescription>
+        <description>Belarusian</description>
+        <languageList>
+          <iso639Id>bel</iso639Id>
+        </languageList>
       </configItem>
       <variantList>
         <variant>
           <configItem>
             <name>legacy</name>
-            <description>Legacy</description>
+            <description>Belarusian (legacy)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>latin</name>
-            <description>Latin</description>
+            <description>Belarusian (Latin)</description>
           </configItem>
         </variant>
       </variantList>
@@ -1534,52 +1651,54 @@
     <layout>
       <configItem>
         <name>be</name>
-        <shortDescription>Bel</shortDescription>
-        <description>Belgium</description>
+        
+        <shortDescription>be</shortDescription>
+        <description>Belgian</description>
         <languageList><iso639Id>ger</iso639Id>
+                      <iso639Id>nld</iso639Id>
                       <iso639Id>fra</iso639Id></languageList>
       </configItem>
       <variantList>
         <variant>
           <configItem>
             <name>oss</name>
-            <description>Alternative</description>
+            <description>Belgian (alternative)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>oss_latin9</name>
-            <description>Alternative, latin-9 only</description>
+            <description>Belgian (alternative, latin-9 only)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>oss_sundeadkeys</name>
-            <description>Alternative, Sun dead keys</description>
+            <description>Belgian (alternative, Sun dead keys)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>iso-alternate</name>
-            <description>ISO Alternate</description>
+            <description>Belgian (ISO alternate)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>nodeadkeys</name>
-            <description>Eliminate dead keys</description>
+            <description>Belgian (eliminate dead keys)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>sundeadkeys</name>
-            <description>Sun dead keys</description>
+            <description>Belgian (Sun dead keys)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>wang</name>
-            <description>Wang model 724 azerty</description>
+            <description>Belgian (Wang model 724 azerty)</description>
           </configItem>
         </variant>
       </variantList>
@@ -1587,15 +1706,18 @@
     <layout>
       <configItem>
         <name>bd</name>
-        <shortDescription>Bgd</shortDescription>
-        <description>Bangladesh</description>
-        <languageList><iso639Id>ben</iso639Id></languageList>
+        
+        <shortDescription>bn</shortDescription>
+        <description>Bengali</description>
+        <languageList>
+          <iso639Id>ben</iso639Id>
+        </languageList>
       </configItem>
       <variantList>
         <variant>
           <configItem>
             <name>probhat</name>
-            <description>Probhat</description>
+            <description>Bengali (Probhat)</description>
           </configItem>
         </variant>
       </variantList>
@@ -1603,148 +1725,277 @@
     <layout>
       <configItem>
         <name>in</name>
-        <shortDescription>Ind</shortDescription>
-        <description>India</description>
+        
+        <shortDescription>in</shortDescription>
+        <description>Indian</description>
       </configItem>
       <variantList>
         <variant>
           <configItem>
             <name>ben</name>
-            <description>Bengali</description>
-            <languageList><iso639Id>ben</iso639Id></languageList>
+            
+            <shortDescription>bn</shortDescription>
+            <description>Bengali (India)</description>
+            <languageList>
+              <iso639Id>ben</iso639Id>
+            </languageList>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>ben_probhat</name>
-            <description>Bengali Probhat</description>
+            
+            <shortDescription>bn</shortDescription>
+            <description>Bengali (India, Probhat)</description>
+            <languageList>
+              <iso639Id>ben</iso639Id>
+            </languageList>
+          </configItem>
+        </variant>
+        <variant>
+          <configItem>
+            <name>ben_baishakhi</name>
+            <description>Bengali (India, Baishakhi)</description>
+            <languageList><iso639Id>ben</iso639Id></languageList>
+          </configItem>
+        </variant>
+        <variant>
+          <configItem>
+            <name>ben_bornona</name>
+            <description>Bengali (India, Bornona)</description>
+            <languageList><iso639Id>ben</iso639Id></languageList>
+            </configItem>
+        </variant>
+         <variant>
+          <configItem>
+            <name>ben_gitanjali</name>
+            <description>Bengali (India, Uni Gitanjali)</description>
+            <languageList><iso639Id>ben</iso639Id></languageList>
+          </configItem>
+        </variant>
+        <variant>
+          <configItem>
+            <name>ben_inscript</name>
+            <description>Bengali (India, Baishakhi Inscript)</description>
             <languageList><iso639Id>ben</iso639Id></languageList>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>guj</name>
+            
+            <shortDescription>gu</shortDescription>
             <description>Gujarati</description>
-            <languageList><iso639Id>guj</iso639Id></languageList>
+            <languageList>
+              <iso639Id>guj</iso639Id>
+            </languageList>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>guru</name>
-            <description>Gurmukhi</description>
-            <languageList><iso639Id>pan</iso639Id></languageList>
+            
+            <shortDescription>pa</shortDescription>
+            <description>Punjabi (Gurmukhi)</description>
+            <languageList>
+              <iso639Id>pan</iso639Id>
+            </languageList>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>jhelum</name>
-            <description>Gurmukhi Jhelum</description>
-            <languageList><iso639Id>pan</iso639Id></languageList>
+            
+            <shortDescription>pa</shortDescription>
+            <description>Punjabi (Gurmukhi Jhelum)</description>
+            <languageList>
+              <iso639Id>pan</iso639Id>
+            </languageList>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>kan</name>
+            
+            <shortDescription>kn</shortDescription>
             <description>Kannada</description>
-            <languageList><iso639Id>kan</iso639Id></languageList>
+            <languageList>
+              <iso639Id>kan</iso639Id>
+            </languageList>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>mal</name>
+            
+            <shortDescription>ml</shortDescription>
             <description>Malayalam</description>
-            <languageList><iso639Id>mal</iso639Id></languageList>
-         </configItem>
+            <languageList>
+              <iso639Id>mal</iso639Id>
+            </languageList>
+          </configItem>
         </variant>
-	<variant>
+        <variant>
           <configItem>
             <name>mal_lalitha</name>
-            <description>Malayalam Lalitha</description>
-            <languageList><iso639Id>mal</iso639Id></languageList>
-         </configItem>
+            
+            <shortDescription>ml</shortDescription>
+            <description>Malayalam (Lalitha)</description>
+            <languageList>
+              <iso639Id>mal</iso639Id>
+            </languageList>
+          </configItem>
         </variant>
         <variant>
           <configItem>
+            <name>mal_enhanced</name>
+            
+            <shortDescription>ml</shortDescription>
+            <description>Malayalam (enhanced Inscript with Rupee Sign)</description>
+            <languageList><iso639Id>mal</iso639Id></languageList>
+          </configItem>
+         </variant>
+         <variant>
+           <configItem>
             <name>ori</name>
+            
+            <shortDescription>or</shortDescription>
             <description>Oriya</description>
-            <languageList><iso639Id>ori</iso639Id></languageList>
+            <languageList>
+              <iso639Id>ori</iso639Id>
+            </languageList>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>tam_unicode</name>
-            <description>Tamil Unicode</description>
-            <languageList><iso639Id>tam</iso639Id></languageList>
+            
+            <shortDescription>ta</shortDescription>
+            <description>Tamil (Unicode)</description>
+            <languageList>
+              <iso639Id>tam</iso639Id>
+            </languageList>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>tam_keyboard_with_numerals</name>
-            <description>Tamil Keyboard with Numerals</description>
-            <languageList><iso639Id>tam</iso639Id></languageList>
+            
+            <shortDescription>ta</shortDescription>
+            <description>Tamil (keyboard with numerals)</description>
+            <languageList>
+              <iso639Id>tam</iso639Id>
+            </languageList>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>tam_TAB</name>
-            <description>Tamil TAB Typewriter</description>
-            <languageList><iso639Id>tam</iso639Id></languageList>
+            
+            <shortDescription>ta</shortDescription>
+            <description>Tamil (TAB typewriter)</description>
+            <languageList>
+              <iso639Id>tam</iso639Id>
+            </languageList>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>tam_TSCII</name>
-            <description>Tamil TSCII Typewriter</description>
-            <languageList><iso639Id>tam</iso639Id></languageList>
+            
+            <shortDescription>ta</shortDescription>
+            <description>Tamil (TSCII typewriter)</description>
+            <languageList>
+              <iso639Id>tam</iso639Id>
+            </languageList>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>tam</name>
+            
+            <shortDescription>ta</shortDescription>
             <description>Tamil</description>
-            <languageList><iso639Id>tam</iso639Id></languageList>
+            <languageList>
+              <iso639Id>tam</iso639Id>
+            </languageList>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>tel</name>
+            
+            <shortDescription>te</shortDescription>
             <description>Telugu</description>
-            <languageList><iso639Id>tel</iso639Id></languageList>
+            <languageList>
+              <iso639Id>tel</iso639Id>
+            </languageList>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>urd-phonetic</name>
-            <description>Urdu, Phonetic</description>
-            <languageList><iso639Id>urd</iso639Id></languageList>
+            
+            <shortDescription>ur</shortDescription>
+            <description>Urdu (phonetic)</description>
+            <languageList>
+              <iso639Id>urd</iso639Id>
+            </languageList>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>urd-phonetic3</name>
-            <description>Urdu, Alternative phonetic</description>
-            <languageList><iso639Id>urd</iso639Id></languageList>
+            
+            <shortDescription>ur</shortDescription>
+            <description>Urdu (alternative phonetic)</description>
+            <languageList>
+              <iso639Id>urd</iso639Id>
+            </languageList>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>urd-winkeys</name>
-            <description>Urdu, Winkeys</description>
-            <languageList><iso639Id>urd</iso639Id></languageList>
+            
+            <shortDescription>ur</shortDescription>
+            <description>Urdu (WinKeys)</description>
+            <languageList>
+              <iso639Id>urd</iso639Id>
+            </languageList>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>bolnagri</name>
-            <description>Hindi Bolnagri</description>
-            <languageList><iso639Id>hin</iso639Id></languageList>
+            
+            <shortDescription>hi</shortDescription>
+            <description>Hindi (Bolnagri)</description>
+            <languageList>
+              <iso639Id>hin</iso639Id>
+            </languageList>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>hin-wx</name>
-            <description>Hindi Wx</description>
-            <languageList><iso639Id>hin</iso639Id></languageList>
+            
+            <shortDescription>hi</shortDescription>
+            <description>Hindi (Wx)</description>
+            <languageList>
+              <iso639Id>hin</iso639Id>
+            </languageList>
+          </configItem>
+        </variant>
+        <variant>
+          <configItem>
+            <name>eng</name>
+            
+            <shortDescription>en</shortDescription>
+            <description>English (India, with RupeeSign)</description>
+            <languageList>
+              <iso639Id>eng</iso639Id>
+            </languageList>
           </configItem>
         </variant>
       </variantList>
@@ -1752,33 +2003,36 @@
     <layout>
       <configItem>
         <name>ba</name>
-        <shortDescription>Bih</shortDescription>
-        <description>Bosnia and Herzegovina</description>
-        <languageList><iso639Id>bos</iso639Id></languageList>
+        
+        <shortDescription>bs</shortDescription>
+        <description>Bosnian</description>
+        <languageList>
+          <iso639Id>bos</iso639Id>
+        </languageList>
       </configItem>
       <variantList>
         <variant>
           <configItem>
             <name>alternatequotes</name>
-            <description>Use guillemets for quotes</description>
+            <description>Bosnian (use guillemets for quotes)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>unicode</name>
-            <description>Use Bosnian digraphs</description>
+            <description>Bosnian (use Bosnian digraphs)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>unicodeus</name>
-            <description>US keyboard with Bosnian digraphs</description>
+            <description>Bosnian (US keyboard with Bosnian digraphs)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>us</name>
-            <description>US keyboard with Bosnian letters</description>
+            <description>Bosnian (US keyboard with Bosnian letters)</description>
           </configItem>
         </variant>
       </variantList>
@@ -1786,40 +2040,45 @@
     <layout>
       <configItem>
         <name>br</name>
-        <shortDescription>Bra</shortDescription>
-        <description>Brazil</description>
-        <languageList><iso639Id>por</iso639Id></languageList>
+        
+        <shortDescription>pt</shortDescription>
+        <description>Portuguese (Brazil)</description>
+        <languageList>
+          <iso639Id>por</iso639Id>
+        </languageList>
       </configItem>
       <variantList>
         <variant>
           <configItem>
             <name>nodeadkeys</name>
-            <description>Eliminate dead keys</description>
+            <description>Portuguese (Brazil, eliminate dead keys)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>dvorak</name>
-            <description>Dvorak</description>
+            <description>Portuguese (Brazil, Dvorak)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>nativo</name>
-            <description>Nativo</description>
+            <description>Portuguese (Brazil, nativo)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>nativo-us</name>
-            <description>Nativo for USA keyboards</description>
+            <description>Portuguese (Brazil, nativo for USA keyboards)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>nativo-epo</name>
-            <description>Nativo for Esperanto</description>
-            <languageList><iso639Id>epo</iso639Id></languageList>
+            <description>Portuguese (Brazil, nativo for Esperanto)</description>
+            <languageList>
+              <iso639Id>epo</iso639Id>
+            </languageList>
           </configItem>
         </variant>
       </variantList>
@@ -1827,23 +2086,24 @@
     <layout>
       <configItem>
         <name>bg</name>
-        <shortDescription>Bgr</shortDescription>
-        <description>Bulgaria</description>
-        <languageList><iso639Id>bul</iso639Id></languageList>
+        
+        <shortDescription>bg</shortDescription>
+        <description>Bulgarian</description>
+        <languageList>
+          <iso639Id>bul</iso639Id>
+        </languageList>
       </configItem>
       <variantList>
         <variant>
           <configItem>
             <name>phonetic</name>
-            <description>Traditional phonetic</description>
+            <description>Bulgarian (traditional phonetic)</description>
           </configItem>
         </variant>
-      </variantList>
-      <variantList>
         <variant>
           <configItem>
             <name>bas_phonetic</name>
-            <description>New phonetic</description>
+            <description>Bulgarian (new phonetic)</description>
           </configItem>
         </variant>
       </variantList>
@@ -1851,56 +2111,184 @@
     <layout>
       <configItem>
         <name>ma</name>
-        <description>Morocco</description>
+        
+        <shortDescription>ar</shortDescription>
+        <description>Arabic (Morocco)</description>
       </configItem>
       <variantList>
         <variant>
           <configItem>
             <name>french</name>
-            <description>French</description>
-            <languageList><iso639Id>fra</iso639Id></languageList>
+            
+            <shortDescription>fr</shortDescription>
+            <description>French (Morocco)</description>
+            <languageList>
+              <iso639Id>fra</iso639Id>
+            </languageList>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>tifinagh</name>
-            <description>Tifinagh</description>
-            <languageList><iso639Id>ber</iso639Id></languageList>
+            
+            <shortDescription>ber</shortDescription>
+            <description>Berber (Morocco, Tifinagh)</description>
+            <languageList>
+              <iso639Id>ber</iso639Id>
+            </languageList>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>tifinagh-alt</name>
-            <description>Tifinagh Alternative</description>
-            <languageList><iso639Id>ber</iso639Id></languageList>
+            
+            <shortDescription>ber</shortDescription>
+            <description>Berber (Morocco, Tifinagh alternative)</description>
+            <languageList>
+              <iso639Id>ber</iso639Id>
+            </languageList>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>tifinagh-alt-phonetic</name>
-            <description>Tifinagh Alternative Phonetic</description>
-            <languageList><iso639Id>ber</iso639Id></languageList>
+            
+            <shortDescription>ber</shortDescription>
+            <description>Berber (Morocco, Tifinagh alternative phonetic)</description>
+            <languageList>
+              <iso639Id>ber</iso639Id>
+            </languageList>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>tifinagh-extended</name>
-            <description>Tifinagh Extended</description>
-            <languageList><iso639Id>ber</iso639Id></languageList>
+            
+            <shortDescription>ber</shortDescription>
+            <description>Berber (Morocco, Tifinagh extended)</description>
+            <languageList>
+              <iso639Id>ber</iso639Id>
+            </languageList>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>tifinagh-phonetic</name>
-            <description>Tifinagh Phonetic</description>
-            <languageList><iso639Id>ber</iso639Id></languageList>
+            
+            <shortDescription>ber</shortDescription>
+            <description>Berber (Morocco, Tifinagh phonetic)</description>
+            <languageList>
+              <iso639Id>ber</iso639Id>
+            </languageList>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>tifinagh-extended-phonetic</name>
-            <description>Tifinagh Extended Phonetic</description>
-            <languageList><iso639Id>ber</iso639Id></languageList>
+            
+            <shortDescription>ber</shortDescription>
+            <description>Berber (Morocco, Tifinagh extended phonetic)</description>
+            <languageList>
+              <iso639Id>ber</iso639Id>
+            </languageList>
+          </configItem>
+        </variant>
+      </variantList>
+    </layout>
+    <layout>
+      <configItem>
+        <name>cm</name>
+        
+        <shortDescription>cm</shortDescription>
+        <description>English (Cameroon)</description>
+        <languageList><iso639Id>eng</iso639Id></languageList>
+      </configItem>
+      <variantList>
+        <variant>
+          <configItem>
+            <name>french</name>
+            <description>French (Cameroon)</description>
+            <languageList><iso639Id>fra</iso639Id></languageList>
+          </configItem>
+        </variant>
+        <variant>
+          <configItem>
+            <name>qwerty</name>
+            <description>Cameroon Multilingual (qwerty)</description>
+            <languageList>
+              <iso639Id>eng</iso639Id>
+              <iso639Id>bas</iso639Id>
+              <iso639Id>nmg</iso639Id>
+              <iso639Id>fub</iso639Id>
+              <iso639Id>ewo</iso639Id>
+              <iso639Id>xmd</iso639Id>
+              <iso639Id>mfh</iso639Id>
+              <iso639Id>bkm</iso639Id>
+              <iso639Id>ozm</iso639Id>
+              <iso639Id>lns</iso639Id>
+              <iso639Id>sox</iso639Id>
+              <iso639Id>pny</iso639Id>
+              <iso639Id>wes</iso639Id>
+              <iso639Id>lem</iso639Id>
+              <iso639Id>nyj</iso639Id>
+              <iso639Id>mfk</iso639Id>
+              <iso639Id>mcp</iso639Id>
+              <iso639Id>ass</iso639Id>
+              <iso639Id>xed</iso639Id>
+              <iso639Id>dua</iso639Id>
+              <iso639Id>anv</iso639Id>
+              <iso639Id>bum</iso639Id>
+              <iso639Id>btb</iso639Id>
+              <iso639Id>bfd</iso639Id>
+              <iso639Id>azo</iso639Id>
+              <iso639Id>ken</iso639Id>
+              <iso639Id>yam</iso639Id>
+              <iso639Id>yat</iso639Id>
+              <iso639Id>yas</iso639Id>
+            </languageList>
+          </configItem>
+        </variant>
+        <variant>
+          <configItem>
+            <name>azerty</name>
+            <description>Cameroon Multilingual (azerty)</description>
+            <languageList>
+              <iso639Id>fra</iso639Id>
+              <iso639Id>bas</iso639Id>
+              <iso639Id>nmg</iso639Id>
+              <iso639Id>fub</iso639Id>
+              <iso639Id>ewo</iso639Id>
+              <iso639Id>xmd</iso639Id>
+              <iso639Id>mfh</iso639Id>
+              <iso639Id>bkm</iso639Id>
+              <iso639Id>ozm</iso639Id>
+              <iso639Id>lns</iso639Id>
+              <iso639Id>sox</iso639Id>
+              <iso639Id>pny</iso639Id>
+              <iso639Id>wes</iso639Id>
+              <iso639Id>lem</iso639Id>
+              <iso639Id>nyj</iso639Id>
+              <iso639Id>mfk</iso639Id>
+              <iso639Id>mcp</iso639Id>
+              <iso639Id>ass</iso639Id>
+              <iso639Id>xed</iso639Id>
+              <iso639Id>dua</iso639Id>
+              <iso639Id>anv</iso639Id>
+              <iso639Id>bum</iso639Id>
+              <iso639Id>btb</iso639Id>
+              <iso639Id>bfd</iso639Id>
+              <iso639Id>azo</iso639Id>
+              <iso639Id>ken</iso639Id>
+              <iso639Id>yam</iso639Id>
+              <iso639Id>yat</iso639Id>
+              <iso639Id>yas</iso639Id>
+            </languageList>
+          </configItem>
+        </variant>
+        <variant>
+          <configItem>
+            <name>dvorak</name>
+            <description>Cameroon Multilingual (Dvorak)</description>
           </configItem>
         </variant>
       </variantList>
@@ -1908,75 +2296,80 @@
     <layout>
       <configItem>
         <name>mm</name>
-        <shortDescription>Mmr</shortDescription>
-        <description>Myanmar</description>
-        <languageList><iso639Id>mya</iso639Id></languageList>
+        
+        <shortDescription>my</shortDescription>
+        <description>Burmese</description>
+        <languageList>
+          <iso639Id>mya</iso639Id>
+        </languageList>
       </configItem>
       <variantList/>
     </layout>
     <layout>
       <configItem>
         <name>ca</name>
-        <shortDescription>Can</shortDescription>
-        <description>Canada</description>
-        <languageList><iso639Id>fra</iso639Id></languageList>
+        
+        <shortDescription>fr</shortDescription>
+        <description>French (Canada)</description>
+        <languageList>
+          <iso639Id>fra</iso639Id>
+        </languageList>
       </configItem>
       <variantList>
         <variant>
           <configItem>
             <name>fr-dvorak</name>
-            <description>French Dvorak</description>
+            
+            <shortDescription>fr</shortDescription>
+            <description>French (Canada, Dvorak)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>fr-legacy</name>
-            <description>French (legacy)</description>
+            
+            <shortDescription>fr</shortDescription>
+            <description>French (Canada, legacy)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>multix</name>
-            <description>Multilingual</description>
+            <description>Canadian Multilingual</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>multi</name>
-            <description>Multilingual, first part</description>
+            <description>Canadian Multilingual (first part)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>multi-2gr</name>
-            <description>Multilingual, second part</description>
+            <description>Canadian Multilingual (second part)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>ike</name>
-            <description>Inuktitut</description>
-            <languageList><iso639Id>iku</iso639Id></languageList>
-          </configItem>
-        </variant>
-        <variant>
-          <configItem>
-            <name>shs</name>
-            <description>Secwepemctsin</description>
             
-          </configItem>
-        </variant>
-        <variant>
-          <configItem>
-            <name>kut</name>
-            <description>Ktunaxa</description>
+            <shortDescription>ike</shortDescription>
+            <description>Inuktitut</description>
+            <languageList>
+              <iso639Id>iku</iso639Id>
+            </languageList>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>eng</name>
-            <description>English</description>
-            <languageList><iso639Id>eng</iso639Id></languageList>
+            
+            <shortDescription>en</shortDescription>
+            <description>English (Canada)</description>
+            <languageList>
+              <iso639Id>eng</iso639Id>
+            </languageList>
           </configItem>
         </variant>
       </variantList>
@@ -1984,32 +2377,51 @@
     <layout>
       <configItem>
         <name>cd</name>
-        <shortDescription>COD</shortDescription>
-        <description>Congo, Democratic Republic of the</description>
-        <languageList><iso639Id>fra</iso639Id></languageList>
+        
+        <shortDescription>fr</shortDescription>
+        <description>French (Democratic Republic of the Congo)</description>
+        <languageList>
+          <iso639Id>fra</iso639Id>
+        </languageList>
       </configItem>
       <variantList/>
     </layout>
     <layout>
       <configItem>
         <name>cn</name>
-        <shortDescription>Chn</shortDescription>
-        <description>China</description>
-        <languageList><iso639Id>chi</iso639Id></languageList>
+        
+        <shortDescription>zh</shortDescription>
+        <description>Chinese</description>
+        <languageList>
+          <iso639Id>chi</iso639Id>
+        </languageList>
       </configItem>
       <variantList>
         <variant>
           <configItem>
             <name>tib</name>
             <description>Tibetan</description>
-            <languageList><iso639Id>tib</iso639Id></languageList>
+            <languageList>
+              <iso639Id>tib</iso639Id>
+            </languageList>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>tib_asciinum</name>
             <description>Tibetan (with ASCII numerals)</description>
-            <languageList><iso639Id>tib</iso639Id></languageList>
+            <languageList>
+              <iso639Id>tib</iso639Id>
+            </languageList>
+          </configItem>
+        </variant>
+        <variant>
+          <configItem>
+            <name>uig</name>
+            <description>Uyghur</description>
+            <languageList>
+              <iso639Id>uig</iso639Id>
+            </languageList>
           </configItem>
         </variant>
       </variantList>
@@ -2017,33 +2429,36 @@
     <layout>
       <configItem>
         <name>hr</name>
-        <shortDescription>Hrv</shortDescription>
-        <description>Croatia</description>
-        <languageList><iso639Id>scr</iso639Id></languageList>
+        
+        <shortDescription>hr</shortDescription>
+        <description>Croatian</description>
+        <languageList>
+          <iso639Id>scr</iso639Id>
+        </languageList>
       </configItem>
       <variantList>
         <variant>
           <configItem>
             <name>alternatequotes</name>
-            <description>Use guillemets for quotes</description>
+            <description>Croatian (use guillemets for quotes)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>unicode</name>
-            <description>Use Croatian digraphs</description>
+            <description>Croatian (use Croatian digraphs)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>unicodeus</name>
-            <description>US keyboard with Croatian digraphs</description>
+            <description>Croatian (US keyboard with Croatian digraphs)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>us</name>
-            <description>US keyboard with Croatian letters</description>
+            <description>Croatian (US keyboard with Croatian letters)</description>
           </configItem>
         </variant>
       </variantList>
@@ -2051,73 +2466,79 @@
     <layout>
       <configItem>
         <name>cz</name>
-        <shortDescription>Cze</shortDescription>
-        <description>Czechia</description>
-        <languageList><iso639Id>cze</iso639Id></languageList>
+        
+        <shortDescription>cs</shortDescription>
+        <description>Czech</description>
+        <languageList>
+          <iso639Id>cze</iso639Id>
+        </languageList>
       </configItem>
       <variantList>
         <variant>
           <configItem>
             <name>bksl</name>
-            <description>With &lt;\|&gt; key</description>
+            <description>Czech (with &lt;\|&gt; key)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>qwerty</name>
-            <description>qwerty</description>
+            <description>Czech (qwerty)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>qwerty_bksl</name>
-            <description>qwerty, extended Backslash</description>
-          </configItem>
-        </variant>
-	<variant>
-	  <configItem>
-	    <name>ucw</name>
-	    <description>UCW layout (accented letters only)</description>
-	 </configItem>
-	</variant>
-	<variant>
-	  <configItem>
-	    <name>dvorak-ucw</name>
-	    <description>US Dvorak with CZ UCW support</description>
-	 </configItem>
-	</variant>
+            <description>Czech (qwerty, extended Backslash)</description>
+          </configItem>
+        </variant>
+        <variant>
+          <configItem>
+            <name>ucw</name>
+            <description>Czech (UCW layout, accented letters only)</description>
+          </configItem>
+        </variant>
+        <variant>
+          <configItem>
+            <name>dvorak-ucw</name>
+            <description>Czech (US Dvorak with CZ UCW support)</description>
+          </configItem>
+        </variant>
       </variantList>
     </layout>
     <layout>
       <configItem>
         <name>dk</name>
-        <shortDescription>Dnk</shortDescription>
-        <description>Denmark</description>
-        <languageList><iso639Id>dan</iso639Id></languageList>
+        
+        <shortDescription>da</shortDescription>
+        <description>Danish</description>
+        <languageList>
+          <iso639Id>dan</iso639Id>
+        </languageList>
       </configItem>
       <variantList>
         <variant>
           <configItem>
             <name>nodeadkeys</name>
-            <description>Eliminate dead keys</description>
+            <description>Danish (eliminate dead keys)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>mac</name>
-            <description>Macintosh</description>
+            <description>Danish (Macintosh)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>mac_nodeadkeys</name>
-            <description>Macintosh, eliminate dead keys</description>
+            <description>Danish (Macintosh, eliminate dead keys)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>dvorak</name>
-            <description>Dvorak</description>
+            <description>Danish (Dvorak)</description>
           </configItem>
         </variant>
       </variantList>
@@ -2125,27 +2546,30 @@
     <layout>
       <configItem>
         <name>nl</name>
-        <shortDescription>Nld</shortDescription>
-        <description>Netherlands</description>
-        <languageList><iso639Id>nld</iso639Id></languageList>
+        
+        <shortDescription>nl</shortDescription>
+        <description>Dutch</description>
+        <languageList>
+          <iso639Id>nld</iso639Id>
+        </languageList>
       </configItem>
       <variantList>
         <variant>
           <configItem>
             <name>sundeadkeys</name>
-            <description>Sun dead keys</description>
+            <description>Dutch (Sun dead keys)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>mac</name>
-            <description>Macintosh</description>
+            <description>Dutch (Macintosh)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>std</name>
-            <description>Standard</description>
+            <description>Dutch (standard)</description>
           </configItem>
         </variant>
       </variantList>
@@ -2153,35 +2577,41 @@
     <layout>
       <configItem>
         <name>bt</name>
-        <shortDescription>Btn</shortDescription>
-        <description>Bhutan</description>
-        <languageList><iso639Id>dzo</iso639Id></languageList>
+        
+        <shortDescription>dz</shortDescription>
+        <description>Dzongkha</description>
+        <languageList>
+          <iso639Id>dzo</iso639Id>
+        </languageList>
       </configItem>
     </layout>
     <layout>
       <configItem>
         <name>ee</name>
-        <shortDescription>Est</shortDescription>
-        <description>Estonia</description>
-        <languageList><iso639Id>est</iso639Id></languageList>
+        
+        <shortDescription>et</shortDescription>
+        <description>Estonian</description>
+        <languageList>
+          <iso639Id>est</iso639Id>
+        </languageList>
       </configItem>
       <variantList>
         <variant>
           <configItem>
             <name>nodeadkeys</name>
-            <description>Eliminate dead keys</description>
+            <description>Estonian (eliminate dead keys)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>dvorak</name>
-            <description>Dvorak</description>
+            <description>Estonian (Dvorak)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>us</name>
-            <description>US keyboard with Estonian letters</description>
+            <description>Estonian (US keyboard with Estonian letters)</description>
           </configItem>
         </variant>
       </variantList>
@@ -2189,43 +2619,62 @@
     <layout>
       <configItem>
         <name>ir</name>
-        <shortDescription>Irn</shortDescription>
-        <description>Iran</description>
-        <languageList><iso639Id>per</iso639Id></languageList>
+        
+        <shortDescription>fa</shortDescription>
+        <description>Persian</description>
+        <languageList>
+          <iso639Id>per</iso639Id>
+        </languageList>
       </configItem>
       <variantList>
         <variant>
           <configItem>
             <name>pes_keypad</name>
-            <description>Persian, with Persian Keypad</description>
+            <description>Persian (with Persian Keypad)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>ku</name>
-            <description>Kurdish, Latin Q</description>
-            <languageList><iso639Id>kur</iso639Id></languageList>
+            
+            <shortDescription>ku</shortDescription>
+            <description>Kurdish (Iran, Latin Q)</description>
+            <languageList>
+              <iso639Id>kur</iso639Id>
+            </languageList>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>ku_f</name>
-            <description>Kurdish, (F)</description>
-            <languageList><iso639Id>kur</iso639Id></languageList>
+            
+            <shortDescription>ku</shortDescription>
+            <description>Kurdish (Iran, F)</description>
+            <languageList>
+              <iso639Id>kur</iso639Id>
+            </languageList>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>ku_alt</name>
-            <description>Kurdish, Latin Alt-Q</description>
-            <languageList><iso639Id>kur</iso639Id></languageList>
+            
+            <shortDescription>ku</shortDescription>
+            <description>Kurdish (Iran, Latin Alt-Q)</description>
+            <languageList>
+              <iso639Id>kur</iso639Id>
+            </languageList>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>ku_ara</name>
-            <description>Kurdish, Arabic-Latin</description>
-            <languageList><iso639Id>kur</iso639Id></languageList>
+            
+            <shortDescription>ku</shortDescription>
+            <description>Kurdish (Iran, Arabic-Latin)</description>
+            <languageList>
+              <iso639Id>kur</iso639Id>
+            </languageList>
           </configItem>
         </variant>
       </variantList>
@@ -2233,8 +2682,9 @@
     <layout>
       <configItem>
         <name>iq</name>
-        <shortDescription>Irq</shortDescription>
-        <description>Iraq</description>
+        
+        <shortDescription>ar</shortDescription>
+        <description>Iraqi</description>
         <languageList><iso639Id>ara</iso639Id>
                       <iso639Id>kur</iso639Id></languageList>
       </configItem>
@@ -2242,29 +2692,45 @@
         <variant>
           <configItem>
             <name>ku</name>
-            <description>Kurdish, Latin Q</description>
-            <languageList><iso639Id>kur</iso639Id></languageList>
+            
+            <shortDescription>ku</shortDescription>
+            <description>Kurdish (Iraq, Latin Q)</description>
+            <languageList>
+              <iso639Id>kur</iso639Id>
+            </languageList>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>ku_f</name>
-            <description>Kurdish, (F)</description>
-            <languageList><iso639Id>kur</iso639Id></languageList>
+            
+            <shortDescription>ku</shortDescription>
+            <description>Kurdish (Iraq, F)</description>
+            <languageList>
+              <iso639Id>kur</iso639Id>
+            </languageList>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>ku_alt</name>
-            <description>Kurdish, Latin Alt-Q</description>
-            <languageList><iso639Id>kur</iso639Id></languageList>
+            
+            <shortDescription>ku</shortDescription>
+            <description>Kurdish (Iraq, Latin Alt-Q)</description>
+            <languageList>
+              <iso639Id>kur</iso639Id>
+            </languageList>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>ku_ara</name>
-            <description>Kurdish, Arabic-Latin</description>
-            <languageList><iso639Id>kur</iso639Id></languageList>
+            
+            <shortDescription>ku</shortDescription>
+            <description>Kurdish (Iraq, Arabic-Latin)</description>
+            <languageList>
+              <iso639Id>kur</iso639Id>
+            </languageList>
           </configItem>
         </variant>
       </variantList>
@@ -2272,15 +2738,18 @@
     <layout>
       <configItem>
         <name>fo</name>
-        <shortDescription>Fro</shortDescription>
-        <description>Faroe Islands</description>
-        <languageList><iso639Id>fao</iso639Id></languageList>
+        
+        <shortDescription>fo</shortDescription>
+        <description>Faroese</description>
+        <languageList>
+          <iso639Id>fao</iso639Id>
+        </languageList>
       </configItem>
       <variantList>
         <variant>
           <configItem>
             <name>nodeadkeys</name>
-            <description>Eliminate dead keys</description>
+            <description>Faroese (eliminate dead keys)</description>
           </configItem>
         </variant>
       </variantList>
@@ -2288,35 +2757,37 @@
     <layout>
       <configItem>
         <name>fi</name>
-        <shortDescription>Fin</shortDescription>
-        <description>Finland</description>
-        <languageList><iso639Id>fin</iso639Id></languageList>
+        
+        <shortDescription>fi</shortDescription>
+        <description>Finnish</description>
+        <languageList>
+          <iso639Id>fin</iso639Id>
+        </languageList>
       </configItem>
       <variantList>
         <variant>
           <configItem>
-            <name>nodeadkeys</name>
-            <description>Eliminate dead keys</description>
+            <name>classic</name>
+            <description>Finnish (classic)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
-            <name>smi</name>
-            <description>Northern Saami</description>
-            <languageList><iso639Id>smi</iso639Id>
-                          <iso639Id>sme</iso639Id></languageList>
+            <name>nodeadkeys</name>
+            <description>Finnish (classic, eliminate dead keys)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
-            <name>classic</name>
-            <description>Classic</description>
+            <name>smi</name>
+            <description>Northern Saami (Finland)</description>
+            <languageList><iso639Id>sme</iso639Id></languageList>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>mac</name>
-            <description>Macintosh</description>
+            <description>Finnish (Macintosh)</description>
           </configItem>
         </variant>
       </variantList>
@@ -2324,107 +2795,114 @@
     <layout>
       <configItem>
         <name>fr</name>
-        <shortDescription>Fra</shortDescription>
-        <description>France</description>
-        <languageList><iso639Id>fra</iso639Id></languageList>
+        
+        <shortDescription>fr</shortDescription>
+        <description>French</description>
+        <languageList>
+          <iso639Id>fra</iso639Id>
+        </languageList>
       </configItem>
       <variantList>
         <variant>
           <configItem>
             <name>nodeadkeys</name>
-            <description>Eliminate dead keys</description>
+            <description>French (eliminate dead keys)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>sundeadkeys</name>
-            <description>Sun dead keys</description>
+            <description>French (Sun dead keys)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>oss</name>
-            <description>Alternative</description>
+            <description>French (alternative)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>oss_latin9</name>
-            <description>Alternative, latin-9 only</description>
+            <description>French (alternative, latin-9 only)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>oss_nodeadkeys</name>
-            <description>Alternative, eliminate dead keys</description>
+            <description>French (alternative, eliminate dead keys)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>oss_sundeadkeys</name>
-            <description>Alternative, Sun dead keys</description>
+            <description>French (alternative, Sun dead keys)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>latin9</name>
-            <description>(Legacy) Alternative</description>
+            <description>French (legacy, alternative)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>latin9_nodeadkeys</name>
-            <description>(Legacy) Alternative, eliminate dead keys</description>
+            <description>French (legacy, alternative, eliminate dead keys)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>latin9_sundeadkeys</name>
-            <description>(Legacy) Alternative, Sun dead keys</description>
+            <description>French (legacy, alternative, Sun dead keys)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>bepo</name>
-            <description>Bepo, ergonomic, Dvorak way</description>
+            <description>French (Bepo, ergonomic, Dvorak way)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>bepo_latin9</name>
-            <description>Bepo, ergonomic, Dvorak way, latin-9 only</description>
+            <description>French (Bepo, ergonomic, Dvorak way, latin-9 only)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>dvorak</name>
-            <description>Dvorak</description>
+            <description>French (Dvorak)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>mac</name>
-            <description>Macintosh</description>
+            <description>French (Macintosh)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>bre</name>
-            <description>Breton</description>
+            <description>French (Breton)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>oci</name>
             <description>Occitan</description>
-            <languageList><iso639Id>oci</iso639Id></languageList>
+            <languageList>
+              <iso639Id>oci</iso639Id>
+            </languageList>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>geo</name>
-            <description>Georgian AZERTY Tskapo</description>
-            <languageList><iso639Id>geo</iso639Id></languageList>
+            <description>Georgian (France, AZERTY Tskapo)</description>
+            <languageList>
+              <iso639Id>geo</iso639Id>
+            </languageList>
           </configItem>
         </variant>
       </variantList>
@@ -2432,63 +2910,90 @@
     <layout>
       <configItem>
         <name>gh</name>
-        <shortDescription>Gha</shortDescription>
-        <description>Ghana</description>
-        <languageList><iso639Id>eng</iso639Id></languageList>
+        
+        <shortDescription>en</shortDescription>
+        <description>English (Ghana)</description>
+        <languageList>
+          <iso639Id>eng</iso639Id>
+        </languageList>
       </configItem>
       <variantList>
         <variant>
           <configItem>
             <name>generic</name>
-            <description>Multilingual</description>
+            <description>English (Ghana, multilingual)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>akan</name>
+            
+            <shortDescription>ak</shortDescription>
             <description>Akan</description>
-            <languageList><iso639Id>aka</iso639Id></languageList>
+            <languageList>
+              <iso639Id>aka</iso639Id>
+            </languageList>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>ewe</name>
+            
+            <shortDescription>ee</shortDescription>
             <description>Ewe</description>
-            <languageList><iso639Id>ewe</iso639Id></languageList>
+            <languageList>
+              <iso639Id>ewe</iso639Id>
+            </languageList>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>fula</name>
+            
+            <shortDescription>ff</shortDescription>
             <description>Fula</description>
-            <languageList><iso639Id>ful</iso639Id></languageList>
+            <languageList>
+              <iso639Id>ful</iso639Id>
+            </languageList>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>ga</name>
+            
+            <shortDescription>gaa</shortDescription>
             <description>Ga</description>
-            <languageList><iso639Id>gaa</iso639Id></languageList>
+            <languageList>
+              <iso639Id>gaa</iso639Id>
+            </languageList>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>hausa</name>
+            
+            <shortDescription>ha</shortDescription>
             <description>Hausa</description>
-            <languageList><iso639Id>hau</iso639Id></languageList>
+            <languageList>
+              <iso639Id>hau</iso639Id>
+            </languageList>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>avn</name>
+            
+            <shortDescription>avn</shortDescription>
             <description>Avatime</description>
-            <languageList><iso639Id>avn</iso639Id></languageList>
+            <languageList>
+              <iso639Id>avn</iso639Id>
+            </languageList>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>gillbt</name>
-            <description>GILLBT</description>
+            <description>English (Ghana, GILLBT)</description>
           </configItem>
         </variant>
       </variantList>
@@ -2496,44 +3001,56 @@
     <layout>
       <configItem>
         <name>gn</name>
-        <shortDescription>Gin</shortDescription>
-        <description>Guinea</description>
-        <languageList><iso639Id>fra</iso639Id></languageList>
+        
+        <shortDescription>fr</shortDescription>
+        <description>French (Guinea)</description>
+        <languageList>
+          <iso639Id>fra</iso639Id>
+        </languageList>
       </configItem>
       <variantList/>
     </layout>
     <layout>
       <configItem>
         <name>ge</name>
-        <shortDescription>Geo</shortDescription>
-        <description>Georgia</description>
-        <languageList><iso639Id>geo</iso639Id></languageList>
+        
+        <shortDescription>ka</shortDescription>
+        <description>Georgian</description>
+        <languageList>
+          <iso639Id>geo</iso639Id>
+        </languageList>
       </configItem>
       <variantList>
         <variant>
           <configItem>
             <name>ergonomic</name>
-            <description>Ergonomic</description>
+            <description>Georgian (ergonomic)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>mess</name>
-            <description>MESS</description>
+            <description>Georgian (MESS)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>ru</name>
-            <description>Russian</description>
-            <languageList><iso639Id>rus</iso639Id></languageList>
+            
+            <shortDescription>ru</shortDescription>
+            <description>Russian (Georgia)</description>
+            <languageList>
+              <iso639Id>rus</iso639Id>
+            </languageList>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>os</name>
-            <description>Ossetian</description>
-            <languageList><iso639Id>oss</iso639Id></languageList>
+            <description>Ossetian (Georgia)</description>
+            <languageList>
+              <iso639Id>oss</iso639Id>
+            </languageList>
           </configItem>
         </variant>
       </variantList>
@@ -2541,89 +3058,101 @@
     <layout>
       <configItem>
         <name>de</name>
-        <shortDescription>Deu</shortDescription>
-        <description>Germany</description>
-        <languageList><iso639Id>ger</iso639Id></languageList>
+        
+        <shortDescription>de</shortDescription>
+        <description>German</description>
+        <languageList>
+          <iso639Id>ger</iso639Id>
+        </languageList>
       </configItem>
       <variantList>
         <variant>
           <configItem>
             <name>deadacute</name>
-            <description>Dead acute</description>
+            <description>German (dead acute)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>deadgraveacute</name>
-            <description>Dead grave acute</description>
+            <description>German (dead grave acute)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>nodeadkeys</name>
-            <description>Eliminate dead keys</description>
+            <description>German (eliminate dead keys)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>ro</name>
-            <description>Romanian keyboard with German letters</description>
+            <description>Romanian (Germany)</description>
+            <languageList><iso639Id>rum</iso639Id></languageList>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>ro_nodeadkeys</name>
-            <description>Romanian keyboard with German letters, eliminate dead keys</description>
+            <description>Romanian (Germany, eliminate dead keys)</description>
+            <languageList><iso639Id>rum</iso639Id></languageList>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>dvorak</name>
-            <description>Dvorak</description>
+            <description>German (Dvorak)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>sundeadkeys</name>
-            <description>Sun dead keys</description>
+            <description>German (Sun dead keys)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>neo</name>
-            <description>Neo 2</description>
+            <description>German (Neo 2)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>mac</name>
-            <description>Macintosh</description>
+            <description>German (Macintosh)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>mac_nodeadkeys</name>
-            <description>Macintosh, eliminate dead keys</description>
+            <description>German (Macintosh, eliminate dead keys)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>dsb</name>
             <description>Lower Sorbian</description>
-            <languageList><iso639Id>dsb</iso639Id></languageList>
+            <languageList>
+              <iso639Id>dsb</iso639Id>
+            </languageList>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>dsb_qwertz</name>
             <description>Lower Sorbian (qwertz)</description>
-            <languageList><iso639Id>dsb</iso639Id></languageList>
+            <languageList>
+              <iso639Id>dsb</iso639Id>
+            </languageList>
           </configItem>
         </variant>
         <variant>
           <configItem>
-            <name>qwerty</name>
-            <description>qwerty</description>
+            <name>ru</name>
+            <description>Russian (Germany, phonetic)</description>
+            <languageList>
+              <iso639Id>rus</iso639Id>
+            </languageList>
           </configItem>
         </variant>
       </variantList>
@@ -2631,33 +3160,36 @@
     <layout>
       <configItem>
         <name>gr</name>
-        <shortDescription>Grc</shortDescription>
-        <description>Greece</description>
-        <languageList><iso639Id>gre</iso639Id></languageList>
+        
+        <shortDescription>gr</shortDescription>
+        <description>Greek</description>
+        <languageList>
+          <iso639Id>gre</iso639Id>
+        </languageList>
       </configItem>
       <variantList>
         <variant>
           <configItem>
             <name>simple</name>
-            <description>Simple</description>
+            <description>Greek (simple)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>extended</name>
-            <description>Extended</description>
+            <description>Greek (extended)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>nodeadkeys</name>
-            <description>Eliminate dead keys</description>
+            <description>Greek (eliminate dead keys)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>polytonic</name>
-            <description>Polytonic</description>
+            <description>Greek (polytonic)</description>
           </configItem>
         </variant>
       </variantList>
@@ -2665,128 +3197,126 @@
     <layout>
       <configItem>
         <name>hu</name>
-        <shortDescription>Hun</shortDescription>
-        <description>Hungary</description>
-        <languageList><iso639Id>hun</iso639Id></languageList>
+        
+        <shortDescription>hu</shortDescription>
+        <description>Hungarian</description>
+        <languageList>
+          <iso639Id>hun</iso639Id>
+        </languageList>
       </configItem>
       <variantList>
         <variant>
           <configItem>
             <name>standard</name>
-            <description>Standard</description>
+            <description>Hungarian (standard)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>nodeadkeys</name>
-            <description>Eliminate dead keys</description>
+            <description>Hungarian (eliminate dead keys)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>qwerty</name>
-            <description>qwerty</description>
+            <description>Hungarian (qwerty)</description>
           </configItem>
         </variant>
-
-        
         <variant>
           <configItem>
             <name>101_qwertz_comma_dead</name>
-            <description>101/qwertz/comma/Dead keys</description>
+            <description>Hungarian (101/qwertz/comma/dead keys)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>101_qwertz_comma_nodead</name>
-            <description>101/qwertz/comma/Eliminate dead keys</description>
+            <description>Hungarian (101/qwertz/comma/eliminate dead keys)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>101_qwertz_dot_dead</name>
-            <description>101/qwertz/dot/Dead keys</description>
+            <description>Hungarian (101/qwertz/dot/dead keys)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>101_qwertz_dot_nodead</name>
-            <description>101/qwertz/dot/Eliminate dead keys</description>
+            <description>Hungarian (101/qwertz/dot/eliminate dead keys)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>101_qwerty_comma_dead</name>
-            <description>101/qwerty/comma/Dead keys</description>
+            <description>Hungarian (101/qwerty/comma/dead keys)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>101_qwerty_comma_nodead</name>
-            <description>101/qwerty/comma/Eliminate dead keys</description>
+            <description>Hungarian (101/qwerty/comma/eliminate dead keys)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>101_qwerty_dot_dead</name>
-            <description>101/qwerty/dot/Dead keys</description>
+            <description>Hungarian (101/qwerty/dot/dead keys)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>101_qwerty_dot_nodead</name>
-            <description>101/qwerty/dot/Eliminate dead keys</description>
+            <description>Hungarian (101/qwerty/dot/eliminate dead keys)</description>
           </configItem>
         </variant>
-
-
-        
         <variant>
           <configItem>
             <name>102_qwertz_comma_dead</name>
-            <description>102/qwertz/comma/Dead keys</description>
+            <description>Hungarian (102/qwertz/comma/dead keys)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>102_qwertz_comma_nodead</name>
-            <description>102/qwertz/comma/Eliminate dead keys</description>
+            <description>Hungarian (102/qwertz/comma/eliminate dead keys)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>102_qwertz_dot_dead</name>
-            <description>102/qwertz/dot/Dead keys</description>
+            <description>Hungarian (102/qwertz/dot/dead keys)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>102_qwertz_dot_nodead</name>
-            <description>102/qwertz/dot/Eliminate dead keys</description>
+            <description>Hungarian (102/qwertz/dot/eliminate dead keys)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>102_qwerty_comma_dead</name>
-            <description>102/qwerty/comma/Dead keys</description>
+            <description>Hungarian (102/qwerty/comma/dead keys)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>102_qwerty_comma_nodead</name>
-            <description>102/qwerty/comma/Eliminate dead keys</description>
+            <description>Hungarian (102/qwerty/comma/eliminate dead keys)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>102_qwerty_dot_dead</name>
-            <description>102/qwerty/dot/Dead keys</description>
+            <description>Hungarian (102/qwerty/dot/dead keys)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>102_qwerty_dot_nodead</name>
-            <description>102/qwerty/dot/Eliminate dead keys</description>
+            <description>Hungarian (102/qwerty/dot/eliminate dead keys)</description>
           </configItem>
         </variant>
       </variantList>
@@ -2794,33 +3324,36 @@
     <layout>
       <configItem>
         <name>is</name>
-        <shortDescription>Isl</shortDescription>
-        <description>Iceland</description>
-        <languageList><iso639Id>ice</iso639Id></languageList>
+        
+        <shortDescription>is</shortDescription>
+        <description>Icelandic</description>
+        <languageList>
+          <iso639Id>ice</iso639Id>
+        </languageList>
       </configItem>
       <variantList>
         <variant>
           <configItem>
             <name>Sundeadkeys</name>
-            <description>Sun dead keys</description>
+            <description>Icelandic (Sun dead keys)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>nodeadkeys</name>
-            <description>Eliminate dead keys</description>
+            <description>Icelandic (eliminate dead keys)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>mac</name>
-            <description>Macintosh</description>
+            <description>Icelandic (Macintosh)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>dvorak</name>
-            <description>Dvorak</description>
+            <description>Icelandic (Dvorak)</description>
           </configItem>
         </variant>
       </variantList>
@@ -2828,27 +3361,30 @@
     <layout>
       <configItem>
         <name>il</name>
-        <shortDescription>Isr</shortDescription>
-        <description>Israel</description>
-        <languageList><iso639Id>heb</iso639Id></languageList>
+        
+        <shortDescription>he</shortDescription>
+        <description>Hebrew</description>
+        <languageList>
+          <iso639Id>heb</iso639Id>
+        </languageList>
       </configItem>
       <variantList>
         <variant>
           <configItem>
             <name>lyx</name>
-            <description>lyx</description>
+            <description>Hebrew (lyx)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>phonetic</name>
-            <description>Phonetic</description>
+            <description>Hebrew (phonetic)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>biblical</name>
-            <description>Biblical Hebrew (Tiro)</description>
+            <description>Hebrew (Biblical, Tiro)</description>
           </configItem>
         </variant>
       </variantList>
@@ -2856,34 +3392,39 @@
     <layout>
       <configItem>
         <name>it</name>
-        <shortDescription>Ita</shortDescription>
-        <description>Italy</description>
-        <languageList><iso639Id>ita</iso639Id></languageList>
+        
+        <shortDescription>it</shortDescription>
+        <description>Italian</description>
+        <languageList>
+          <iso639Id>ita</iso639Id>
+        </languageList>
       </configItem>
       <variantList>
         <variant>
           <configItem>
             <name>nodeadkeys</name>
-            <description>Eliminate dead keys</description>
+            <description>Italian (eliminate dead keys)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>mac</name>
-            <description>Macintosh</description>
+            <description>Italian (Macintosh)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>us</name>
-            <description>US keyboard with Italian letters</description>
+            <description>Italian (US keyboard with Italian letters)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>geo</name>
-            <description>Georgian</description>
-            <languageList><iso639Id>geo</iso639Id></languageList>
+            <description>Georgian (Italy)</description>
+            <languageList>
+              <iso639Id>geo</iso639Id>
+            </languageList>
           </configItem>
         </variant>
       </variantList>
@@ -2891,27 +3432,36 @@
     <layout>
       <configItem>
         <name>jp</name>
-        <shortDescription>Jpn</shortDescription>
-        <description>Japan</description>
-        <languageList><iso639Id>jpn</iso639Id></languageList>
+        
+        <shortDescription>ja</shortDescription>
+        <description>Japanese</description>
+        <languageList>
+          <iso639Id>jpn</iso639Id>
+        </languageList>
       </configItem>
       <variantList>
         <variant>
           <configItem>
             <name>kana</name>
-            <description>Kana</description>
+            <description>Japanese (Kana)</description>
+          </configItem>
+        </variant>
+        <variant>
+          <configItem>
+            <name>kana86</name>
+            <description>Japanese (Kana 86)</description>
           </configItem>
         </variant>
-	<variant>
+        <variant>
           <configItem>
             <name>OADG109A</name>
-            <description>OADG 109A</description>
+            <description>Japanese (OADG 109A)</description>
           </configItem>
-	</variant>
+        </variant>
         <variant>
           <configItem>
             <name>mac</name>
-            <description>Macintosh</description>
+            <description>Japanese (Macintosh)</description>
           </configItem>
         </variant>
       </variantList>
@@ -2919,15 +3469,18 @@
     <layout>
       <configItem>
         <name>kg</name>
-        <shortDescription>Kgz</shortDescription>
-        <description>Kyrgyzstan</description>
-        <languageList><iso639Id>kir</iso639Id></languageList>
+        
+        <shortDescription>ki</shortDescription>
+        <description>Kyrgyz</description>
+        <languageList>
+          <iso639Id>kir</iso639Id>
+        </languageList>
       </configItem>
       <variantList>
-       <variant>
+        <variant>
           <configItem>
             <name>phonetic</name>
-            <description>Phonetic</description>
+            <description>Kyrgyz (phonetic)</description>
           </configItem>
         </variant>
       </variantList>
@@ -2935,52 +3488,73 @@
     <layout>
       <configItem>
         <name>kh</name>
-        <shortDescription>Khm</shortDescription>
-        <description>Cambodia</description>
-        <languageList><iso639Id>khm</iso639Id></languageList>
+        
+        <shortDescription>km</shortDescription>
+        <description>Khmer (Cambodia)</description>
+        <languageList>
+          <iso639Id>khm</iso639Id>
+        </languageList>
       </configItem>
       <variantList/>
     </layout>
     <layout>
       <configItem>
         <name>kz</name>
-        <shortDescription>Kaz</shortDescription>
-        <description>Kazakhstan</description>
-        <languageList><iso639Id>kaz</iso639Id></languageList>
+        
+        <shortDescription>kk</shortDescription>
+        <description>Kazakh</description>
+        <languageList>
+          <iso639Id>kaz</iso639Id>
+        </languageList>
       </configItem>
       <variantList>
-	<variant>
-	  <configItem>
-	    <name>ruskaz</name>
-	    <description>Russian with Kazakh</description>
-            <languageList><iso639Id>kaz</iso639Id>
+        <variant>
+          <configItem>
+            <name>ruskaz</name>
+            
+            <shortDescription>ru</shortDescription>
+            <description>Russian (Kazakhstan, with Kazakh)</description>
+            <languageList><iso639Id>kaz</iso639Id>
                           <iso639Id>rus</iso639Id></languageList>
-	  </configItem>
-	</variant>
-	<variant>
-	  <configItem>
-	    <name>kazrus</name>
-	    <description>Kazakh with Russian</description>
+          </configItem>
+        </variant>
+        <variant>
+          <configItem>
+            <name>kazrus</name>
+            <description>Kazakh (with Russian)</description>
             <languageList><iso639Id>kaz</iso639Id>
                           <iso639Id>rus</iso639Id></languageList>
-	  </configItem>
-	</variant>
+          </configItem>
+        </variant>
       </variantList>
     </layout>
     <layout>
       <configItem>
         <name>la</name>
-        <shortDescription>Lao</shortDescription>
-        <description>Laos</description>
-        <languageList><iso639Id>lao</iso639Id></languageList>
+        
+        <shortDescription>lo</shortDescription>
+        <description>Lao</description>
+        <languageList>
+          <iso639Id>lao</iso639Id>
+        </languageList>
       </configItem>
-      <variantList/>
+      <variantList>
+        <variant>
+          <configItem>
+            <name>stea</name>
+            <description>Lao (STEA proposed standard layout)</description>
+            <languageList><iso639Id>lao</iso639Id>
+            </languageList>
+          </configItem>
+        </variant>
+      </variantList>
     </layout>
     <layout>
       <configItem>
         <name>latam</name>
-        <shortDescription>LAm</shortDescription>
-        <description>Latin American</description>
+        
+        <shortDescription>es</shortDescription>
+        <description>Spanish (Latin American)</description>
         <countryList>
           <iso3166Id>AR</iso3166Id>
           <iso3166Id>BO</iso3166Id>
@@ -3004,25 +3578,27 @@
           <iso3166Id>UY</iso3166Id>
           <iso3166Id>VE</iso3166Id>
         </countryList>
-        <languageList><iso639Id>spa</iso639Id></languageList>
+        <languageList>
+          <iso639Id>spa</iso639Id>
+        </languageList>
       </configItem>
       <variantList>
         <variant>
           <configItem>
             <name>nodeadkeys</name>
-            <description>Eliminate dead keys</description>
+            <description>Spanish (Latin American, eliminate dead keys)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>deadtilde</name>
-            <description>Include dead tilde</description>
+            <description>Spanish (Latin American, include dead tilde)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>sundeadkeys</name>
-            <description>Sun dead keys</description>
+            <description>Spanish (Latin American, Sun dead keys)</description>
           </configItem>
         </variant>
       </variantList>
@@ -3030,39 +3606,42 @@
     <layout>
       <configItem>
         <name>lt</name>
-        <shortDescription>Ltu</shortDescription>
-        <description>Lithuania</description>
-        <languageList><iso639Id>lit</iso639Id></languageList>
+        
+        <shortDescription>lt</shortDescription>
+        <description>Lithuanian</description>
+        <languageList>
+          <iso639Id>lit</iso639Id>
+        </languageList>
       </configItem>
       <variantList>
         <variant>
           <configItem>
             <name>std</name>
-            <description>Standard</description>
+            <description>Lithuanian (standard)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>us</name>
-            <description>US keyboard with Lithuanian letters</description>
+            <description>Lithuanian (US keyboard with Lithuanian letters)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>ibm</name>
-            <description>IBM (LST 1205-92)</description>
+            <description>Lithuanian (IBM LST 1205-92)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>lekp</name>
-            <description>LEKP</description>
+            <description>Lithuanian (LEKP)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>lekpa</name>
-            <description>LEKPa</description>
+            <description>Lithuanian (LEKPa)</description>
           </configItem>
         </variant>
       </variantList>
@@ -3070,27 +3649,48 @@
     <layout>
       <configItem>
         <name>lv</name>
-        <shortDescription>Lva</shortDescription>
-        <description>Latvia</description>
-        <languageList><iso639Id>lav</iso639Id></languageList>
+        
+        <shortDescription>lv</shortDescription>
+        <description>Latvian</description>
+        <languageList>
+          <iso639Id>lav</iso639Id>
+        </languageList>
       </configItem>
       <variantList>
         <variant>
           <configItem>
             <name>apostrophe</name>
-            <description>Apostrophe (') variant</description>
+            <description>Latvian (apostrophe variant)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>tilde</name>
-            <description>Tilde (~) variant</description>
+            <description>Latvian (tilde variant)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>fkey</name>
-            <description>F-letter (F) variant</description>
+            <description>Latvian (F variant)</description>
+          </configItem>
+        </variant>
+        <variant>
+          <configItem>
+            <name>modern</name>
+            <description>Latvian (modern)</description>
+          </configItem>
+        </variant>
+        <variant>
+          <configItem>
+            <name>ergonomic</name>
+            <description>Latvian (ergonomic, ŪGJRMV)</description>
+          </configItem>
+        </variant>
+        <variant>
+          <configItem>
+            <name>adapted</name>
+            <description>Latvian (adapted)</description>
           </configItem>
         </variant>
       </variantList>
@@ -3098,60 +3698,66 @@
     <layout>
       <configItem>
         <name>mao</name>
-        <shortDescription>Mao</shortDescription>
+        
+        <shortDescription>mi</shortDescription>
         <description>Maori</description>
-        <languageList><iso639Id>mao</iso639Id></languageList>
+        <languageList>
+          <iso639Id>mao</iso639Id>
+        </languageList>
       </configItem>
       <variantList/>
     </layout>
     <layout>
       <configItem>
         <name>me</name>
-        <shortDescription>MNE</shortDescription>
-        <description>Montenegro</description>
-        <languageList><iso639Id>srp</iso639Id></languageList>
+        
+        <shortDescription>sr</shortDescription>
+        <description>Montenegrin</description>
+        <languageList>
+          <iso639Id>srp</iso639Id>
+        </languageList>
       </configItem>
       <variantList>
         <variant>
           <configItem>
             <name>cyrillic</name>
-            <description>Cyrillic</description>
+            <description>Montenegrin (Cyrillic)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>cyrillicyz</name>
-            <description>Cyrillic, Z and ZHE swapped</description>
+            <description>Montenegrin (Cyrillic, Z and ZHE swapped)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>latinunicode</name>
-            <description>Latin unicode</description>
+            <description>Montenegrin (Latin Unicode)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>latinyz</name>
-            <description>Latin qwerty</description>
+            <description>Montenegrin (Latin qwerty)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>latinunicodeyz</name>
-            <description>Latin unicode qwerty</description>
+            <description>Montenegrin (Latin Unicode qwerty)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>cyrillicalternatequotes</name>
-            <description>Cyrillic with guillemets</description>
+            <description>Montenegrin (Cyrillic with guillemets)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>latinalternatequotes</name>
-            <description>Latin with guillemets</description>
+            <description>Montenegrin (Latin with guillemets)</description>
           </configItem>
         </variant>
       </variantList>
@@ -3159,15 +3765,18 @@
     <layout>
       <configItem>
         <name>mk</name>
-        <shortDescription>Mkd</shortDescription>
-        <description>Macedonia</description>
-        <languageList><iso639Id>mkd</iso639Id></languageList>
+        
+        <shortDescription>mk</shortDescription>
+        <description>Macedonian</description>
+        <languageList>
+          <iso639Id>mkd</iso639Id>
+        </languageList>
       </configItem>
       <variantList>
         <variant>
           <configItem>
             <name>nodeadkeys</name>
-            <description>Eliminate dead keys</description>
+            <description>Macedonian (eliminate dead keys)</description>
           </configItem>
         </variant>
       </variantList>
@@ -3175,15 +3784,18 @@
     <layout>
       <configItem>
         <name>mt</name>
-        <shortDescription>Mlt</shortDescription>
-        <description>Malta</description>
-        <languageList><iso639Id>mlt</iso639Id></languageList>
+        
+        <shortDescription>mt</shortDescription>
+        <description>Maltese</description>
+        <languageList>
+          <iso639Id>mlt</iso639Id>
+        </languageList>
       </configItem>
       <variantList>
         <variant>
           <configItem>
             <name>us</name>
-            <description>Maltese keyboard with US layout</description>
+            <description>Maltese (with US layout)</description>
           </configItem>
         </variant>
       </variantList>
@@ -3191,56 +3803,66 @@
     <layout>
       <configItem>
         <name>mn</name>
-        <shortDescription>Mng</shortDescription>
-        <description>Mongolia</description>
-        <languageList><iso639Id>mng</iso639Id></languageList>
+        
+        <shortDescription>mn</shortDescription>
+        <description>Mongolian</description>
+        <languageList>
+          <iso639Id>mng</iso639Id>
+        </languageList>
       </configItem>
       <variantList/>
     </layout>
     <layout>
       <configItem>
         <name>no</name>
-        <shortDescription>Nor</shortDescription>
-        <description>Norway</description>
-        <languageList><iso639Id>nor</iso639Id></languageList>
+        
+        <shortDescription>no</shortDescription>
+        <description>Norwegian</description>
+        <languageList>
+          <iso639Id>nor</iso639Id>
+        </languageList>
       </configItem>
       <variantList>
         <variant>
           <configItem>
             <name>nodeadkeys</name>
-            <description>Eliminate dead keys</description>
+            <description>Norwegian (eliminate dead keys)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>dvorak</name>
-            <description>Dvorak</description>
+            <description>Norwegian (Dvorak)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>smi</name>
-            <description>Northern Saami</description>
-            <languageList><iso639Id>sme</iso639Id></languageList>
+            <description>Northern Saami (Norway)</description>
+            <languageList>
+              <iso639Id>sme</iso639Id>
+            </languageList>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>smi_nodeadkeys</name>
-            <description>Northern Saami, eliminate dead keys</description>
-            <languageList><iso639Id>sme</iso639Id></languageList>
+            <description>Northern Saami (Norway, eliminate dead keys)</description>
+            <languageList>
+              <iso639Id>sme</iso639Id>
+            </languageList>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>mac</name>
-            <description>Macintosh</description>
+            <description>Norwegian (Macintosh)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>mac_nodeadkeys</name>
-            <description>Macintosh, eliminate dead keys</description>
+            <description>Norwegian (Macintosh, eliminate dead keys)</description>
           </configItem>
         </variant>
       </variantList>
@@ -3248,53 +3870,62 @@
     <layout>
       <configItem>
         <name>pl</name>
-        <shortDescription>Pol</shortDescription>
-        <description>Poland</description>
-        <languageList><iso639Id>pol</iso639Id></languageList>
+        
+        <shortDescription>pl</shortDescription>
+        <description>Polish</description>
+        <languageList>
+          <iso639Id>pol</iso639Id>
+        </languageList>
       </configItem>
       <variantList>
         <variant>
           <configItem>
             <name>qwertz</name>
-            <description>qwertz</description>
+            <description>Polish (qwertz)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>dvorak</name>
-            <description>Dvorak</description>
+            <description>Polish (Dvorak)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>dvorak_quotes</name>
-            <description>Dvorak, Polish quotes on quotemark key</description>
+            <description>Polish (Dvorak, Polish quotes on quotemark key)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>dvorak_altquotes</name>
-            <description>Dvorak, Polish quotes on key 1</description>
+            <description>Polish (Dvorak, Polish quotes on key 1)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>csb</name>
             <description>Kashubian</description>
-            <languageList><iso639Id>csb</iso639Id></languageList>
+            <languageList>
+              <iso639Id>csb</iso639Id>
+            </languageList>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>ru_phonetic_dvorak</name>
-            <description>Russian phonetic Dvorak</description>
-            <languageList><iso639Id>rus</iso639Id></languageList>
+            
+            <shortDescription>ru</shortDescription>
+            <description>Russian (Poland, phonetic Dvorak)</description>
+            <languageList>
+              <iso639Id>rus</iso639Id>
+            </languageList>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>dvp</name>
-            <description>Programmer Dvorak</description>
+            <description>Polish (programmer Dvorak)</description>
           </configItem>
         </variant>
       </variantList>
@@ -3302,58 +3933,63 @@
     <layout>
       <configItem>
         <name>pt</name>
-        <shortDescription>Prt</shortDescription>
-        <description>Portugal</description>
-        <languageList><iso639Id>por</iso639Id></languageList>
+        
+        <shortDescription>pt</shortDescription>
+        <description>Portuguese</description>
+        <languageList>
+          <iso639Id>por</iso639Id>
+        </languageList>
       </configItem>
       <variantList>
         <variant>
           <configItem>
             <name>nodeadkeys</name>
-            <description>Eliminate dead keys</description>
+            <description>Portuguese (eliminate dead keys)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>sundeadkeys</name>
-            <description>Sun dead keys</description>
+            <description>Portuguese (Sun dead keys)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>mac</name>
-            <description>Macintosh</description>
+            <description>Portuguese (Macintosh)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>mac_nodeadkeys</name>
-            <description>Macintosh, eliminate dead keys</description>
+            <description>Portuguese (Macintosh, eliminate dead keys)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>mac_sundeadkeys</name>
-            <description>Macintosh, Sun dead keys</description>
+            <description>Portuguese (Macintosh, Sun dead keys)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>nativo</name>
-            <description>Nativo</description>
+            <description>Portuguese (Nativo)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>nativo-us</name>
-            <description>Nativo for USA keyboards</description>
+            <description>Portuguese (Nativo for USA keyboards)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>nativo-epo</name>
-            <description>Nativo for Esperanto</description>
-            <languageList><iso639Id>epo</iso639Id></languageList>
+            <description>Esperanto (Portugal, Nativo)</description>
+            <languageList>
+              <iso639Id>epo</iso639Id>
+            </languageList>
           </configItem>
         </variant>
       </variantList>
@@ -3361,61 +3997,36 @@
     <layout>
       <configItem>
         <name>ro</name>
-        <shortDescription>Rou</shortDescription>
-        <description>Romania</description>
-        <languageList><iso639Id>rum</iso639Id></languageList>
+        
+        <shortDescription>ro</shortDescription>
+        <description>Romanian</description>
+        <languageList>
+          <iso639Id>rum</iso639Id>
+        </languageList>
       </configItem>
       <variantList>
         <variant>
           <configItem>
             <name>cedilla</name>
-            <description>Cedilla</description>
+            <description>Romanian (cedilla)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>std</name>
-            <description>Standard</description>
+            <description>Romanian (standard)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>std_cedilla</name>
-            <description>Standard (Cedilla)</description>
+            <description>Romanian (standard cedilla)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>winkeys</name>
-            <description>Winkeys</description>
-          </configItem>
-        </variant>
-        <variant>
-          <configItem>
-            <name>crh_f</name>
-            <description>Crimean Tatar (Turkish F)</description>
-            <languageList><iso639Id>crh</iso639Id></languageList>
-          </configItem>
-        </variant>
-        <variant>
-          <configItem>
-            <name>crh_alt</name>
-            <description>Crimean Tatar (Turkish Alt-Q)</description>
-            <languageList><iso639Id>crh</iso639Id></languageList>
-          </configItem>
-        </variant>
-        <variant>
-          <configItem>
-            <name>crh_dobruca1</name>
-            <description>Crimean Tatar (Dobruca-1 Q)</description>
-            <languageList><iso639Id>crh</iso639Id></languageList>
-          </configItem>
-        </variant>
-        <variant>
-          <configItem>
-            <name>crh_dobruca2</name>
-            <description>Crimean Tatar (Dobruca-2 Q)</description>
-            <languageList><iso639Id>crh</iso639Id></languageList>
+            <description>Romanian (WinKeys)</description>
           </configItem>
         </variant>
       </variantList>
@@ -3423,114 +4034,135 @@
     <layout>
       <configItem>
         <name>ru</name>
-        <shortDescription>Rus</shortDescription>
-        <description>Russia</description>
-        <languageList><iso639Id>rus</iso639Id></languageList>
+        
+        <shortDescription>ru</shortDescription>
+        <description>Russian</description>
+        <languageList>
+          <iso639Id>rus</iso639Id>
+        </languageList>
       </configItem>
       <variantList>
         <variant>
           <configItem>
             <name>phonetic</name>
-            <description>Phonetic</description>
+            <description>Russian (phonetic)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>phonetic_winkeys</name>
-            <description>Phonetic Winkeys</description>
+            <description>Russian (phonetic WinKeys)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>typewriter</name>
-            <description>Typewriter</description>
+            <description>Russian (typewriter)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>legacy</name>
-            <description>Legacy</description>
+            <description>Russian (legacy)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>typewriter-legacy</name>
-            <description>Typewriter, legacy</description>
+            <description>Russian (typewriter, legacy)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>tt</name>
             <description>Tatar</description>
-            <languageList><iso639Id>tat</iso639Id></languageList>
+            <languageList>
+              <iso639Id>tat</iso639Id>
+            </languageList>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>os_legacy</name>
-            <description>Ossetian, legacy</description>
-            <languageList><iso639Id>oss</iso639Id></languageList>
+            <description>Ossetian (legacy)</description>
+            <languageList>
+              <iso639Id>oss</iso639Id>
+            </languageList>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>os_winkeys</name>
-            <description>Ossetian, Winkeys</description>
-            <languageList><iso639Id>oss</iso639Id></languageList>
+            <description>Ossetian (WinKeys)</description>
+            <languageList>
+              <iso639Id>oss</iso639Id>
+            </languageList>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>cv</name>
             <description>Chuvash</description>
-            <languageList><iso639Id>chv</iso639Id></languageList>
+            <languageList>
+              <iso639Id>chv</iso639Id>
+            </languageList>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>cv_latin</name>
-            <description>Chuvash Latin</description>
-            <languageList><iso639Id>chv</iso639Id></languageList>
+            <description>Chuvash (Latin)</description>
+            <languageList>
+              <iso639Id>chv</iso639Id>
+            </languageList>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>udm</name>
             <description>Udmurt</description>
-            <languageList><iso639Id>udm</iso639Id></languageList>
+            <languageList>
+              <iso639Id>udm</iso639Id>
+            </languageList>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>kom</name>
             <description>Komi</description>
-            <languageList><iso639Id>kom</iso639Id></languageList>
+            <languageList>
+              <iso639Id>kom</iso639Id>
+            </languageList>
           </configItem>
         </variant>
-	<variant>
+        <variant>
           <configItem>
             <name>sah</name>
             <description>Yakut</description>
-            <languageList><iso639Id>sah</iso639Id></languageList>
+            <languageList>
+              <iso639Id>sah</iso639Id>
+            </languageList>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>xal</name>
             <description>Kalmyk</description>
-            <languageList><iso639Id>xal</iso639Id></languageList>
+            <languageList>
+              <iso639Id>xal</iso639Id>
+            </languageList>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>dos</name>
-            <description>DOS</description>
+            <description>Russian (DOS)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>srp</name>
-            <description>Serbian</description>
+            <description>Serbian (Russia)</description>
             <languageList><iso639Id>rus</iso639Id>
                           <iso639Id>srp</iso639Id></languageList>
           </configItem>
@@ -3539,7 +4171,18 @@
           <configItem>
             <name>bak</name>
             <description>Bashkirian</description>
-            <languageList><iso639Id>bak</iso639Id></languageList>
+            <languageList>
+              <iso639Id>bak</iso639Id>
+            </languageList>
+          </configItem>
+        </variant>
+        <variant>
+          <configItem>
+            <name>chm</name>
+            <description>Mari</description>
+            <languageList>
+              <iso639Id>chm</iso639Id>
+            </languageList>
           </configItem>
         </variant>
       </variantList>
@@ -3547,51 +4190,63 @@
     <layout>
       <configItem>
         <name>rs</name>
-        <shortDescription>SRB</shortDescription>
-        <description>Serbia</description>
-        <languageList><iso639Id>srp</iso639Id></languageList>
+        
+        <shortDescription>sr</shortDescription>
+        <description>Serbian (Cyrillic)</description>
+        <languageList>
+          <iso639Id>srp</iso639Id>
+        </languageList>
       </configItem>
       <variantList>
         <variant>
           <configItem>
             <name>yz</name>
-            <description>Z and ZHE swapped</description>
+            <description>Serbian (Cyrillic, Z and ZHE swapped)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>latin</name>
-            <description>Latin</description>
+            <description>Serbian (Latin)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>latinunicode</name>
-            <description>Latin Unicode</description>
+            <description>Serbian (Latin Unicode)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>latinyz</name>
-            <description>Latin qwerty</description>
+            <description>Serbian (Latin qwerty)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>latinunicodeyz</name>
-            <description>Latin Unicode qwerty</description>
+            <description>Serbian (Latin Unicode qwerty)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>alternatequotes</name>
-            <description>With guillemets</description>
+            <description>Serbian (Cyrillic with guillemets)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>latinalternatequotes</name>
-            <description>Latin with guillemets</description>
+            <description>Serbian (Latin with guillemets)</description>
+          </configItem>
+        </variant>
+        <variant>
+          <configItem>
+            <name>rue</name>
+            <description>Pannonian Rusyn (homophonic)</description>
+            <languageList>
+              <iso639Id>rue</iso639Id>
+            </languageList>
           </configItem>
         </variant>
       </variantList>
@@ -3599,21 +4254,24 @@
     <layout>
       <configItem>
         <name>si</name>
-        <shortDescription>Svn</shortDescription>
-        <description>Slovenia</description>
-        <languageList><iso639Id>slv</iso639Id></languageList>
+        
+        <shortDescription>sl</shortDescription>
+        <description>Slovenian</description>
+        <languageList>
+          <iso639Id>slv</iso639Id>
+        </languageList>
       </configItem>
       <variantList>
         <variant>
           <configItem>
             <name>alternatequotes</name>
-            <description>Use guillemets for quotes</description>
+            <description>Slovenian (use guillemets for quotes)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>us</name>
-            <description>US keyboard with Slovenian letters</description>
+            <description>Slovenian (US keyboard with Slovenian letters)</description>
           </configItem>
         </variant>
       </variantList>
@@ -3621,27 +4279,30 @@
     <layout>
       <configItem>
         <name>sk</name>
-        <shortDescription>Svk</shortDescription>
-        <description>Slovakia</description>
-        <languageList><iso639Id>slo</iso639Id></languageList>
+        
+        <shortDescription>sk</shortDescription>
+        <description>Slovak</description>
+        <languageList>
+          <iso639Id>slo</iso639Id>
+        </languageList>
       </configItem>
       <variantList>
         <variant>
           <configItem>
             <name>bksl</name>
-            <description>Extended Backslash</description>
+            <description>Slovak (extended Backslash)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>qwerty</name>
-            <description>qwerty</description>
+            <description>Slovak (qwerty)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>qwerty_bksl</name>
-            <description>qwerty, extended Backslash</description>
+            <description>Slovak (qwerty, extended Backslash)</description>
           </configItem>
         </variant>
       </variantList>
@@ -3649,53 +4310,60 @@
     <layout>
       <configItem>
         <name>es</name>
-        <shortDescription>Esp</shortDescription>
-        <description>Spain</description>
-        <languageList><iso639Id>spa</iso639Id></languageList>
+        
+        <shortDescription>es</shortDescription>
+        <description>Spanish</description>
+        <languageList>
+          <iso639Id>spa</iso639Id>
+        </languageList>
       </configItem>
       <variantList>
         <variant>
           <configItem>
             <name>nodeadkeys</name>
-            <description>Eliminate dead keys</description>
+            <description>Spanish (eliminate dead keys)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>deadtilde</name>
-            <description>Include dead tilde</description>
+            <description>Spanish (include dead tilde)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>sundeadkeys</name>
-            <description>Sun dead keys</description>
+            <description>Spanish (Sun dead keys)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>dvorak</name>
-            <description>Dvorak</description>
+            <description>Spanish (Dvorak)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>ast</name>
-            <description>Asturian variant with bottom-dot H and bottom-dot L</description>
-            <languageList><iso639Id>ast</iso639Id></languageList>
+            <description>Asturian (Spain, with bottom-dot H and bottom-dot L)</description>
+            <languageList>
+              <iso639Id>ast</iso639Id>
+            </languageList>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>cat</name>
-            <description>Catalan variant with middle-dot L</description>
-            <languageList><iso639Id>cat</iso639Id></languageList>
+            <description>Catalan (Spain, with middle-dot L)</description>
+            <languageList>
+              <iso639Id>cat</iso639Id>
+            </languageList>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>mac</name>
-            <description>Macintosh</description>
+            <description>Spanish (Macintosh)</description>
           </configItem>
         </variant>
       </variantList>
@@ -3703,54 +4371,74 @@
     <layout>
       <configItem>
         <name>se</name>
-        <shortDescription>Swe</shortDescription>
-        <description>Sweden</description>
-        <languageList><iso639Id>swe</iso639Id></languageList>
+        
+        <shortDescription>sv</shortDescription>
+        <description>Swedish</description>
+        <languageList>
+          <iso639Id>swe</iso639Id>
+        </languageList>
       </configItem>
       <variantList>
         <variant>
           <configItem>
             <name>nodeadkeys</name>
-            <description>Eliminate dead keys</description>
+            <description>Swedish (eliminate dead keys)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>dvorak</name>
-            <description>Dvorak</description>
+            <description>Swedish (Dvorak)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>rus</name>
-            <description>Russian phonetic</description>
-            <languageList><iso639Id>rus</iso639Id></languageList>
+            
+            <shortDescription>ru</shortDescription>
+            <description>Russian (Sweden, phonetic)</description>
+            <languageList>
+              <iso639Id>rus</iso639Id>
+            </languageList>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>rus_nodeadkeys</name>
-            <description>Russian phonetic, eliminate dead keys</description>
-            <languageList><iso639Id>rus</iso639Id></languageList>
+            
+            <shortDescription>ru</shortDescription>
+            <description>Russian (Sweden, phonetic, eliminate dead keys)</description>
+            <languageList>
+              <iso639Id>rus</iso639Id>
+            </languageList>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>smi</name>
-            <description>Northern Saami</description>
-            <languageList><iso639Id>sme</iso639Id></languageList>
+            <description>Northern Saami (Sweden)</description>
+            <languageList>
+              <iso639Id>sme</iso639Id>
+            </languageList>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>mac</name>
-            <description>Macintosh</description>
+            <description>Swedish (Macintosh)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>svdvorak</name>
-            <description>Svdvorak</description>
+            <description>Swedish (Svdvorak)</description>
+          </configItem>
+        </variant>
+        <variant>
+          <configItem>
+            <name>swl</name>
+            <description>Swedish Sign Language</description>
+            <languageList><iso639Id>swl</iso639Id></languageList>
           </configItem>
         </variant>
       </variantList>
@@ -3758,8 +4446,9 @@
     <layout>
       <configItem>
         <name>ch</name>
-        <shortDescription>Che</shortDescription>
-        <description>Switzerland</description>
+        
+        <shortDescription>de</shortDescription>
+        <description>German (Switzerland)</description>
         <languageList><iso639Id>ger</iso639Id>
                       <iso639Id>gsw</iso639Id></languageList>
       </configItem>
@@ -3767,53 +4456,75 @@
         <variant>
           <configItem>
             <name>legacy</name>
-            <description>Legacy</description>
+            <description>German (Switzerland, legacy)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>de_nodeadkeys</name>
-            <description>German, eliminate dead keys</description>
+            
+            <shortDescription>de</shortDescription>
+            <description>German (Switzerland, eliminate dead keys)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>de_sundeadkeys</name>
-            <description>German, Sun dead keys</description>
+            
+            <shortDescription>de</shortDescription>
+            <description>German (Switzerland, Sun dead keys)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>fr</name>
-            <description>French</description>
-            <languageList><iso639Id>fra</iso639Id></languageList>
+            
+            <shortDescription>fr</shortDescription>
+            <description>French (Switzerland)</description>
+            <languageList>
+              <iso639Id>fra</iso639Id>
+            </languageList>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>fr_nodeadkeys</name>
-            <description>French, eliminate dead keys</description>
-            <languageList><iso639Id>fra</iso639Id></languageList>
+            
+            <shortDescription>fr</shortDescription>
+            <description>French (Switzerland, eliminate dead keys)</description>
+            <languageList>
+              <iso639Id>fra</iso639Id>
+            </languageList>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>fr_sundeadkeys</name>
-            <description>French, Sun dead keys</description>
-            <languageList><iso639Id>fra</iso639Id></languageList>
+            
+            <shortDescription>fr</shortDescription>
+            <description>French (Switzerland, Sun dead keys)</description>
+            <languageList>
+              <iso639Id>fra</iso639Id>
+            </languageList>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>fr_mac</name>
-            <description>French (Macintosh)</description>
-            <languageList><iso639Id>fra</iso639Id></languageList>
+            
+            <shortDescription>fr</shortDescription>
+            <description>French (Switzerland, Macintosh)</description>
+            <languageList>
+              <iso639Id>fra</iso639Id>
+            </languageList>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>de_mac</name>
-            <description>German (Macintosh)</description>
+            
+            <shortDescription>de</shortDescription>
+            <description>German (Switzerland, Macintosh)</description>
           </configItem>
         </variant>
       </variantList>
@@ -3821,42 +4532,61 @@
     <layout>
       <configItem>
         <name>sy</name>
-        <shortDescription>Syr</shortDescription>
-        <description>Syria</description>
-        <languageList><iso639Id>syr</iso639Id></languageList>
+        
+        <shortDescription>ar</shortDescription>
+        <description>Arabic (Syria)</description>
+        <languageList>
+          <iso639Id>syr</iso639Id>
+        </languageList>
       </configItem>
       <variantList>
         <variant>
           <configItem>
             <name>syc</name>
+            
+            <shortDescription>syc</shortDescription>
             <description>Syriac</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>syc_phonetic</name>
-            <description>Syriac phonetic</description>
+            
+            <shortDescription>syc</shortDescription>
+            <description>Syriac (phonetic)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>ku</name>
-            <description>Kurdish, Latin Q</description>
-            <languageList><iso639Id>kur</iso639Id></languageList>
+            
+            <shortDescription>ku</shortDescription>
+            <description>Kurdish (Syria, Latin Q)</description>
+            <languageList>
+              <iso639Id>kur</iso639Id>
+            </languageList>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>ku_f</name>
-            <description>Kurdish, (F)</description>
-            <languageList><iso639Id>kur</iso639Id></languageList>
+            
+            <shortDescription>ku</shortDescription>
+            <description>Kurdish (Syria, F)</description>
+            <languageList>
+              <iso639Id>kur</iso639Id>
+            </languageList>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>ku_alt</name>
-            <description>Kurdish, Latin Alt-Q</description>
-            <languageList><iso639Id>kur</iso639Id></languageList>
+            
+            <shortDescription>ku</shortDescription>
+            <description>Kurdish (Syria, Latin Alt-Q)</description>
+            <languageList>
+              <iso639Id>kur</iso639Id>
+            </languageList>
           </configItem>
         </variant>
       </variantList>
@@ -3864,15 +4594,18 @@
     <layout>
       <configItem>
         <name>tj</name>
-        <shortDescription>Tjk</shortDescription>
-        <description>Tajikistan</description>
-        <languageList><iso639Id>tgk</iso639Id></languageList>
+        
+        <shortDescription>tg</shortDescription>
+        <description>Tajik</description>
+        <languageList>
+          <iso639Id>tgk</iso639Id>
+        </languageList>
       </configItem>
       <variantList>
         <variant>
           <configItem>
             <name>legacy</name>
-            <description>Legacy</description>
+            <description>Tajik (legacy)</description>
           </configItem>
         </variant>
       </variantList>
@@ -3880,23 +4613,32 @@
     <layout>
       <configItem>
         <name>lk</name>
-        <shortDescription>Lka</shortDescription>
-        <description>Sri Lanka</description>
-        <languageList><iso639Id>sin</iso639Id></languageList>
+        
+        <shortDescription>si</shortDescription>
+        <description>Sinhala (phonetic)</description>
+        <languageList>
+          <iso639Id>sin</iso639Id>
+        </languageList>
       </configItem>
       <variantList>
         <variant>
           <configItem>
             <name>tam_unicode</name>
-            <description>Tamil Unicode</description>
-            <languageList><iso639Id>tam</iso639Id></languageList>
+            
+            <shortDescription>ta</shortDescription>
+            <description>Tamil (Sri Lanka, Unicode)</description>
+            <languageList>
+              <iso639Id>tam</iso639Id>
+            </languageList>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>tam_TAB</name>
-            <description>Tamil TAB Typewriter</description>
-            <languageList><iso639Id>tam</iso639Id></languageList>
+            <description>Tamil (Sri Lanka, TAB Typewriter)</description>
+            <languageList>
+              <iso639Id>tam</iso639Id>
+            </languageList>
           </configItem>
         </variant>
       </variantList>
@@ -3904,21 +4646,24 @@
     <layout>
       <configItem>
         <name>th</name>
-        <shortDescription>Tha</shortDescription>
-        <description>Thailand</description>
-        <languageList><iso639Id>tha</iso639Id></languageList>
+        
+        <shortDescription>th</shortDescription>
+        <description>Thai</description>
+        <languageList>
+          <iso639Id>tha</iso639Id>
+        </languageList>
       </configItem>
       <variantList>
         <variant>
           <configItem>
             <name>tis</name>
-            <description>TIS-820.2538</description>
+            <description>Thai (TIS-820.2538)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>pat</name>
-            <description>Pattachote</description>
+            <description>Thai (Pattachote)</description>
           </configItem>
         </variant>
       </variantList>
@@ -3926,150 +4671,200 @@
     <layout>
       <configItem>
         <name>tr</name>
-        <shortDescription>Tur</shortDescription>
-        <description>Turkey</description>
-        <languageList><iso639Id>tur</iso639Id></languageList>
+        
+        <shortDescription>tr</shortDescription>
+        <description>Turkish</description>
+        <languageList>
+          <iso639Id>tur</iso639Id>
+        </languageList>
       </configItem>
       <variantList>
         <variant>
           <configItem>
             <name>f</name>
-            <description>(F)</description>
+            <description>Turkish (F)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>alt</name>
-            <description>Alt-Q</description>
+            <description>Turkish (Alt-Q)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>sundeadkeys</name>
-            <description>Sun dead keys</description>
+            <description>Turkish (Sun dead keys)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>ku</name>
-            <description>Kurdish, Latin Q</description>
-            <languageList><iso639Id>kur</iso639Id></languageList>
+            
+            <shortDescription>ku</shortDescription>
+            <description>Kurdish (Turkey, Latin Q)</description>
+            <languageList>
+              <iso639Id>kur</iso639Id>
+            </languageList>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>ku_f</name>
-            <description>Kurdish, (F)</description>
-            <languageList><iso639Id>kur</iso639Id></languageList>
+            
+            <shortDescription>ku</shortDescription>
+            <description>Kurdish (Turkey, F)</description>
+            <languageList>
+              <iso639Id>kur</iso639Id>
+            </languageList>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>ku_alt</name>
-            <description>Kurdish, Latin Alt-Q</description>
-            <languageList><iso639Id>kur</iso639Id></languageList>
+            
+            <shortDescription>ku</shortDescription>
+            <description>Kurdish (Turkey, Latin Alt-Q)</description>
+            <languageList>
+              <iso639Id>kur</iso639Id>
+            </languageList>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>intl</name>
-            <description>International (with dead keys)</description>
+            <description>Turkish (international with dead keys)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>crh</name>
+            
+            <shortDescription>crh</shortDescription>
             <description>Crimean Tatar (Turkish Q)</description>
-            <languageList><iso639Id>crh</iso639Id></languageList>
+            <languageList>
+              <iso639Id>crh</iso639Id>
+            </languageList>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>crh_f</name>
+            
+            <shortDescription>crh</shortDescription>
             <description>Crimean Tatar (Turkish F)</description>
-            <languageList><iso639Id>crh</iso639Id></languageList>
+            <languageList>
+              <iso639Id>crh</iso639Id>
+            </languageList>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>crh_alt</name>
+            
+            <shortDescription>crh</shortDescription>
             <description>Crimean Tatar (Turkish Alt-Q)</description>
-            <languageList><iso639Id>crh</iso639Id></languageList>
+            <languageList>
+              <iso639Id>crh</iso639Id>
+            </languageList>
           </configItem>
         </variant>
       </variantList>
     </layout>
     <layout>
       <configItem>
-        <name>ua</name>
-        <shortDescription>Ukr</shortDescription>
-        <description>Ukraine</description>
-        <languageList><iso639Id>ukr</iso639Id></languageList>
+        <name>tw</name>
+        
+        <shortDescription>zh</shortDescription>
+        <description>Taiwanese</description>
+        <languageList>
+          <iso639Id>trv</iso639Id>
+        </languageList>
       </configItem>
       <variantList>
         <variant>
           <configItem>
-            <name>phonetic</name>
-            <description>Phonetic</description>
+            <name>indigenous</name>
+            <description>Taiwanese (indigenous)</description>
+            <languageList>
+              <iso639Id>ami</iso639Id>
+              <iso639Id>tay</iso639Id>
+              <iso639Id>bnn</iso639Id>
+              <iso639Id>ckv</iso639Id>
+              <iso639Id>pwn</iso639Id>
+              <iso639Id>pyu</iso639Id>
+              <iso639Id>dru</iso639Id>
+              <iso639Id>ais</iso639Id>
+              <iso639Id>ssf</iso639Id>
+              <iso639Id>tao</iso639Id>
+              <iso639Id>tsu</iso639Id>
+            </languageList>
           </configItem>
         </variant>
         <variant>
           <configItem>
-            <name>typewriter</name>
-            <description>Typewriter</description>
+            <name>saisiyat</name>
+            
+            <shortDescription>xsy</shortDescription>
+            <description>Saisiyat (Taiwan)</description>
+            <languageList>
+              <iso639Id>xsy</iso639Id>
+            </languageList>
           </configItem>
         </variant>
+      </variantList>
+    </layout>
+    <layout>
+      <configItem>
+        <name>ua</name>
+        
+        <shortDescription>uk</shortDescription>
+        <description>Ukrainian</description>
+        <languageList>
+          <iso639Id>ukr</iso639Id>
+        </languageList>
+      </configItem>
+      <variantList>
         <variant>
           <configItem>
-            <name>winkeys</name>
-            <description>Winkeys</description>
+            <name>phonetic</name>
+            <description>Ukrainian (phonetic)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
-            <name>legacy</name>
-            <description>Legacy</description>
+            <name>typewriter</name>
+            <description>Ukrainian (typewriter)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
-            <name>rstu</name>
-
-            <description>Standard RSTU</description>
+            <name>winkeys</name>
+            <description>Ukrainian (WinKeys)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
-            <name>rstu_ru</name>
-
-            <description>Standard RSTU on Russian layout</description>
-          </configItem>
-        </variant>
-	<variant>
-          <configItem>
-            <name>homophonic</name>
-            <description>Homophonic</description>
+            <name>legacy</name>
+            <description>Ukrainian (legacy)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
-            <name>crh</name>
-            <description>Crimean Tatar (Turkish Q)</description>
-            <languageList><iso639Id>crh</iso639Id></languageList>
+            <name>rstu</name>
+            <description>Ukrainian (standard RSTU)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
-            <name>crh_f</name>
-            <description>Crimean Tatar (Turkish F)</description>
-            <languageList><iso639Id>crh</iso639Id></languageList>
+            <name>rstu_ru</name>
+            <description>Russian (Ukraine, standard RSTU)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
-            <name>crh_alt</name>
-            <description>Crimean Tatar (Turkish Alt-Q)</description>
-            <languageList><iso639Id>crh</iso639Id></languageList>
+            <name>homophonic</name>
+            <description>Ukrainian (homophonic)</description>
           </configItem>
         </variant>
       </variantList>
@@ -4077,45 +4872,54 @@
     <layout>
       <configItem>
         <name>gb</name>
-        <shortDescription>GBr</shortDescription>
-        <description>United Kingdom</description>
-        <languageList><iso639Id>eng</iso639Id></languageList>
+        
+        <shortDescription>en</shortDescription>
+        <description>English (UK)</description>
+        <languageList>
+          <iso639Id>eng</iso639Id>
+        </languageList>
       </configItem>
       <variantList>
         <variant>
           <configItem>
             <name>extd</name>
-            <description>Extended - Winkeys</description>
+            <description>English (UK, extended WinKeys)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>intl</name>
-            <description>International (with dead keys)</description>
+            <description>English (UK, international with dead keys)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>dvorak</name>
-            <description>Dvorak</description>
+            <description>English (UK, Dvorak)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>dvorakukp</name>
-            <description>Dvorak (UK Punctuation)</description>
+            <description>English (UK, Dvorak with UK punctuation)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>mac</name>
-            <description>Macintosh</description>
+            <description>English (UK, Macintosh)</description>
+          </configItem>
+        </variant>
+        <variant>
+          <configItem>
+            <name>mac_intl</name>
+            <description>English (UK, Macintosh international)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>colemak</name>
-            <description>Colemak</description>
+            <description>English (UK, Colemak)</description>
           </configItem>
         </variant>
       </variantList>
@@ -4123,36 +4927,18 @@
     <layout>
       <configItem>
         <name>uz</name>
-        <shortDescription>Uzb</shortDescription>
-        <description>Uzbekistan</description>
-        <languageList><iso639Id>uzb</iso639Id></languageList>
+        
+        <shortDescription>uz</shortDescription>
+        <description>Uzbek</description>
+        <languageList>
+          <iso639Id>uzb</iso639Id>
+        </languageList>
       </configItem>
       <variantList>
         <variant>
           <configItem>
             <name>latin</name>
-            <description>Latin</description>
-          </configItem>
-        </variant>
-        <variant>
-          <configItem>
-            <name>crh</name>
-            <description>Crimean Tatar (Turkish Q)</description>
-            <languageList><iso639Id>crh</iso639Id></languageList>
-          </configItem>
-        </variant>
-        <variant>
-          <configItem>
-            <name>crh_f</name>
-            <description>Crimean Tatar (Turkish F)</description>
-            <languageList><iso639Id>crh</iso639Id></languageList>
-          </configItem>
-        </variant>
-        <variant>
-          <configItem>
-            <name>crh_alt</name>
-            <description>Crimean Tatar (Turkish Alt-Q)</description>
-            <languageList><iso639Id>crh</iso639Id></languageList>
+            <description>Uzbek (Latin)</description>
           </configItem>
         </variant>
       </variantList>
@@ -4160,71 +4946,91 @@
     <layout>
       <configItem>
         <name>vn</name>
-        <shortDescription>Vnm</shortDescription>
-        <description>Vietnam</description>
-        <languageList><iso639Id>vie</iso639Id></languageList>
+        
+        <shortDescription>vi</shortDescription>
+        <description>Vietnamese</description>
+        <languageList>
+          <iso639Id>vie</iso639Id>
+        </languageList>
       </configItem>
       <variantList/>
     </layout>
     <layout>
-       <configItem>
+      <configItem>
         <name>kr</name>
-        <shortDescription>Kor</shortDescription>
-        <description>Korea, Republic of</description>
-        <languageList><iso639Id>kor</iso639Id></languageList>
+        
+        <shortDescription>ko</shortDescription>
+        <description>Korean</description>
+        <languageList>
+          <iso639Id>kor</iso639Id>
+        </languageList>
       </configItem>
       <variantList>
-	<variant>
-	  <configItem>
-	    <name>kr104</name>
-	    <description>101/104 key Compatible</description>
-	  </configItem>
-	</variant>
+        <variant>
+          <configItem>
+            <name>kr104</name>
+            <description>Korean (101/104 key compatible)</description>
+          </configItem>
+        </variant>
       </variantList>
     </layout>
     <layout>
       <configItem>
         <name>nec_vndr/jp</name>
-        <shortDescription>Jpn</shortDescription>
-        <description>Japan (PC-98xx Series)</description>
-        <countryList><iso3166Id>JP</iso3166Id></countryList>
-        <languageList><iso639Id>jpn</iso639Id></languageList>
+        
+        <shortDescription>ja</shortDescription>
+        <description>Japanese (PC-98xx Series)</description>
+        <countryList>
+          <iso3166Id>JP</iso3166Id>
+        </countryList>
+        <languageList>
+          <iso639Id>jpn</iso639Id>
+        </languageList>
       </configItem>
       <variantList/>
     </layout>
     <layout>
       <configItem>
         <name>ie</name>
-        <shortDescription>Irl</shortDescription>
-        <description>Ireland</description>
-        <languageList><iso639Id>eng</iso639Id></languageList>
+        
+        <shortDescription>ie</shortDescription>
+        <description>Irish</description>
+        <languageList>
+          <iso639Id>eng</iso639Id>
+        </languageList>
       </configItem>
       <variantList>
         <variant>
           <configItem>
             <name>CloGaelach</name>
             <description>CloGaelach</description>
-            <languageList><iso639Id>gla</iso639Id></languageList>
+            <languageList>
+              <iso639Id>gla</iso639Id>
+            </languageList>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>UnicodeExpert</name>
-            <description>UnicodeExpert</description>
+            <description>Irish (UnicodeExpert)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>ogam</name>
             <description>Ogham</description>
-            
-         </configItem>
+            <languageList>
+              <iso639Id>sga</iso639Id>
+            </languageList>
+          </configItem>
         </variant>
         <variant>
           <configItem>
             <name>ogam_is434</name>
-            <description>Ogham IS434</description>
-            
+            <description>Ogham (IS434)</description>
+            <languageList>
+              <iso639Id>sga</iso639Id>
+            </languageList>
           </configItem>
         </variant>
       </variantList>
@@ -4232,30 +5038,45 @@
     <layout>
       <configItem>
         <name>pk</name>
-        <shortDescription>Pak</shortDescription>
-        <description>Pakistan</description>
-        <languageList><iso639Id>urd</iso639Id></languageList>
+        
+        <shortDescription>ur</shortDescription>
+        <description>Urdu (Pakistan)</description>
+        <languageList>
+          <iso639Id>urd</iso639Id>
+        </languageList>
       </configItem>
       <variantList>
         <variant>
           <configItem>
             <name>urd-crulp</name>
-            <description>CRULP</description>
-            <languageList><iso639Id>urd</iso639Id></languageList>
+            <description>Urdu (Pakistan, CRULP)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>urd-nla</name>
-            <description>NLA</description>
-            <languageList><iso639Id>urd</iso639Id></languageList>
+            <description>Urdu (Pakistan, NLA)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>ara</name>
-            <description>Arabic</description>
-            <languageList><iso639Id>ara</iso639Id></languageList>
+            <shortDescription>ar</shortDescription>
+            <description>Arabic (Pakistan)</description>
+            <languageList>
+              <iso639Id>ara</iso639Id>
+            </languageList>
+          </configItem>
+        </variant>
+        <variant>
+          <configItem>
+            <name>snd</name>
+            
+            <shortDescription>sd</shortDescription>
+            <description>Sindhi</description>
+            <languageList>
+              <iso639Id>sd</iso639Id>
+            </languageList>
           </configItem>
         </variant>
       </variantList>
@@ -4263,32 +5084,41 @@
     <layout>
       <configItem>
         <name>mv</name>
-        <shortDescription>Mdv</shortDescription>
-        <description>Maldives</description>
-        <languageList><iso639Id>div</iso639Id></languageList>
+        
+        <shortDescription>dv</shortDescription>
+        <description>Dhivehi</description>
+        <languageList>
+          <iso639Id>div</iso639Id>
+        </languageList>
       </configItem>
       <variantList/>
     </layout>
     <layout>
-       <configItem>
+      <configItem>
         <name>za</name>
-        <shortDescription>Zaf</shortDescription>
-        <description>South Africa</description>
-        <languageList><iso639Id>eng</iso639Id></languageList>
+        
+        <shortDescription>en</shortDescription>
+        <description>English (South Africa)</description>
+        <languageList>
+          <iso639Id>eng</iso639Id>
+        </languageList>
       </configItem>
     </layout>
     <layout>
       <configItem>
         <name>epo</name>
-        <shortDescription>Epo</shortDescription>
-	<description>Esperanto</description>
-        <languageList><iso639Id>epo</iso639Id></languageList>
+        
+        <shortDescription>eo</shortDescription>
+        <description>Esperanto</description>
+        <languageList>
+          <iso639Id>epo</iso639Id>
+        </languageList>
       </configItem>
       <variantList>
         <variant>
           <configItem>
             <name>legacy</name>
-            <description>displaced semicolon and quote (obsolete)</description>
+            <description>Esperanto (displaced semicolon and quote, obsolete)</description>
           </configItem>
         </variant>
       </variantList>
@@ -4296,38 +5126,56 @@
     <layout>
       <configItem>
         <name>np</name>
-        <shortDescription>Npl</shortDescription>
-	<description>Nepal</description>
-        <languageList><iso639Id>nep</iso639Id></languageList>
+        
+        <shortDescription>ne</shortDescription>
+        <description>Nepali</description>
+        <languageList>
+          <iso639Id>nep</iso639Id>
+        </languageList>
       </configItem>
     </layout>
     <layout>
       <configItem>
         <name>ng</name>
-        <shortDescription>Nga</shortDescription>
-	<description>Nigeria</description>
-        <languageList><iso639Id>eng</iso639Id></languageList>
+        
+        <shortDescription>en</shortDescription>
+        <description>English (Nigeria)</description>
+        <languageList>
+          <iso639Id>eng</iso639Id>
+        </languageList>
       </configItem>
       <variantList>
         <variant>
           <configItem>
             <name>igbo</name>
+            
+            <shortDescription>ig</shortDescription>
             <description>Igbo</description>
-            <languageList><iso639Id>ibo</iso639Id></languageList>
+            <languageList>
+              <iso639Id>ibo</iso639Id>
+            </languageList>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>yoruba</name>
+            
+            <shortDescription>yo</shortDescription>
             <description>Yoruba</description>
-            <languageList><iso639Id>yor</iso639Id></languageList>
+            <languageList>
+              <iso639Id>yor</iso639Id>
+            </languageList>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>hausa</name>
+            
+            <shortDescription>ha</shortDescription>
             <description>Hausa</description>
-            <languageList><iso639Id>hau</iso639Id></languageList>
+            <languageList>
+              <iso639Id>hau</iso639Id>
+            </languageList>
           </configItem>
         </variant>
       </variantList>
@@ -4335,38 +5183,45 @@
     <layout>
       <configItem>
         <name>et</name>
-        <shortDescription>Eth</shortDescription>
-        <description>Ethiopia</description>
-        <languageList><iso639Id>amh</iso639Id></languageList>
+        
+        <shortDescription>am</shortDescription>
+        <description>Amharic</description>
+        <languageList>
+          <iso639Id>amh</iso639Id>
+        </languageList>
       </configItem>
       <variantList/>
     </layout>
     <layout>
       <configItem>
         <name>sn</name>
-        <shortDescription>Sen</shortDescription>
-        <description>Senegal</description>
-        <languageList><iso639Id>wol</iso639Id></languageList>
+        
+        <shortDescription>wo</shortDescription>
+        <description>Wolof</description>
+        <languageList>
+          <iso639Id>wol</iso639Id>
+        </languageList>
       </configItem>
       <variantList/>
     </layout>
     <layout>
       <configItem>
         <name>brai</name>
-        <shortDescription>Brl</shortDescription>
+        
+        <shortDescription>brl</shortDescription>
         <description>Braille</description>
       </configItem>
       <variantList>
         <variant>
           <configItem>
             <name>left_hand</name>
-            <description>Left hand</description>
+            <description>Braille (left hand)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>right_hand</name>
-            <description>Right hand</description>
+            <description>Braille (right hand)</description>
           </configItem>
         </variant>
       </variantList>
@@ -4374,15 +5229,18 @@
     <layout>
       <configItem>
         <name>tm</name>
-        <shortDescription>Tkm</shortDescription>
-        <description>Turkmenistan</description>
-        <languageList><iso639Id>tuk</iso639Id></languageList>
+        
+        <shortDescription>tk</shortDescription>
+        <description>Turkmen</description>
+        <languageList>
+          <iso639Id>tuk</iso639Id>
+        </languageList>
       </configItem>
       <variantList>
         <variant>
           <configItem>
             <name>alt</name>
-            <description>Alt-Q</description>
+            <description>Turkmen (Alt-Q)</description>
           </configItem>
         </variant>
       </variantList>
@@ -4390,27 +5248,39 @@
     <layout>
       <configItem>
         <name>ml</name>
-        <shortDescription>Mli</shortDescription>
-        <description>Mali</description>
-        <languageList><iso639Id>bam</iso639Id></languageList>
+        
+        <shortDescription>bm</shortDescription>
+        <description>Bambara</description>
+        <languageList>
+          <iso639Id>bam</iso639Id>
+        </languageList>
       </configItem>
       <variantList>
         <variant>
           <configItem>
             <name>fr-oss</name>
-            <description>Français (France Alternative)</description>
+            
+            <shortDescription>fr</shortDescription>
+            <description>French (Mali, alternative)</description>
+            <languageList>
+              <iso639Id>fr</iso639Id>
+            </languageList>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>us-mac</name>
-            <description>English (USA Macintosh)</description>
+            
+            <shortDescription>en</shortDescription>
+            <description>English (Mali, US Macintosh)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>us-intl</name>
-            <description>English (USA International)</description>
+            
+            <shortDescription>en</shortDescription>
+            <description>English (Mali, US international)</description>
           </configItem>
         </variant>
       </variantList>
@@ -4418,18 +5288,173 @@
     <layout>
       <configItem>
         <name>tz</name>
-        <shortDescription>Tza</shortDescription>
-	<description>Tanzania</description>
-        <languageList><iso639Id>swa</iso639Id></languageList>
+        
+        <shortDescription>sw</shortDescription>
+        <description>Swahili (Tanzania)</description>
+        <languageList>
+          <iso639Id>swa</iso639Id>
+        </languageList>
       </configItem>
     </layout>
     <layout>
       <configItem>
         <name>ke</name>
-        <shortDescription>Ken</shortDescription>
-	<description>Kenya</description>
-        <languageList><iso639Id>swa</iso639Id></languageList>
+        
+        <shortDescription>sw</shortDescription>
+        <description>Swahili (Kenya)</description>
+        <languageList>
+          <iso639Id>swa</iso639Id>
+        </languageList>
       </configItem>
+      <variantList>
+        <variant>
+          <configItem>
+            <name>kik</name>
+            
+            <shortDescription>ki</shortDescription>
+            <description>Kikuyu</description>
+            <languageList>
+              <iso639Id>kik</iso639Id>
+            </languageList>
+          </configItem>
+        </variant>
+      </variantList>
+    </layout>
+    <layout>
+      <configItem>
+        <name>bw</name>
+        
+        <shortDescription>tn</shortDescription>
+        <description>Tswana</description>
+        <languageList>
+          <iso639Id>tsn</iso639Id>
+        </languageList>
+      </configItem>
+    </layout>
+    <layout>
+      <configItem>
+        <name>ph</name>
+        
+        <shortDescription>ph</shortDescription>
+        <description>Filipino</description>
+        <languageList><iso639Id>eng</iso639Id>
+                     <iso639Id>bik</iso639Id>
+                      <iso639Id>ceb</iso639Id>
+                      <iso639Id>fil</iso639Id>
+                      <iso639Id>hil</iso639Id>
+                      <iso639Id>ilo</iso639Id>
+                      <iso639Id>pam</iso639Id>
+                      <iso639Id>pag</iso639Id>
+                      <iso639Id>phi</iso639Id>
+                      <iso639Id>tgl</iso639Id>
+                      <iso639Id>war</iso639Id></languageList>
+      </configItem>
+      <variantList>
+        <variant>
+          <configItem>
+            <name>qwerty-bay</name>
+            <description>Filipino (QWERTY Baybayin)</description>
+            <languageList><iso639Id>bik</iso639Id>
+                          <iso639Id>ceb</iso639Id>
+                          <iso639Id>fil</iso639Id>
+                          <iso639Id>hil</iso639Id>
+                          <iso639Id>ilo</iso639Id>
+                          <iso639Id>pam</iso639Id>
+                          <iso639Id>pag</iso639Id>
+                          <iso639Id>phi</iso639Id>
+                          <iso639Id>tgl</iso639Id>
+                          <iso639Id>war</iso639Id></languageList>
+          </configItem>
+        </variant>
+        <variant>
+          <configItem>
+            <name>capewell-dvorak</name>
+            <description>Filipino (Capewell-Dvorak Latin)</description>
+          </configItem>
+        </variant>
+        <variant>
+          <configItem>
+            <name>capewell-dvorak-bay</name>
+            <description>Filipino (Capewell-Dvorak Baybayin)</description>
+            <languageList><iso639Id>bik</iso639Id>
+                          <iso639Id>ceb</iso639Id>
+                          <iso639Id>fil</iso639Id>
+                          <iso639Id>hil</iso639Id>
+                          <iso639Id>ilo</iso639Id>
+                          <iso639Id>pam</iso639Id>
+                          <iso639Id>pag</iso639Id>
+                          <iso639Id>phi</iso639Id>
+                          <iso639Id>tgl</iso639Id>
+                          <iso639Id>war</iso639Id></languageList>
+          </configItem>
+        </variant>
+        <variant>
+          <configItem>
+            <name>capewell-qwerf2k6</name>
+            <description>Filipino (Capewell-QWERF 2006 Latin)</description>
+          </configItem>
+        </variant>
+        <variant>
+          <configItem>
+            <name>capewell-qwerf2k6-bay</name>
+            <description>Filipino (Capewell-QWERF 2006 Baybayin)</description>
+            <languageList><iso639Id>bik</iso639Id>
+                          <iso639Id>ceb</iso639Id>
+                          <iso639Id>fil</iso639Id>
+                          <iso639Id>hil</iso639Id>
+                          <iso639Id>ilo</iso639Id>
+                          <iso639Id>pam</iso639Id>
+                          <iso639Id>pag</iso639Id>
+                          <iso639Id>phi</iso639Id>
+                          <iso639Id>tgl</iso639Id>
+                          <iso639Id>war</iso639Id></languageList>
+          </configItem>
+        </variant>
+        <variant>
+          <configItem>
+            <name>colemak</name>
+            <description>Filipino (Colemak Latin)</description>
+          </configItem>
+        </variant>
+        <variant>
+          <configItem>
+            <name>colemak-bay</name>
+            <description>Filipino (Colemak Baybayin)</description>
+            <languageList><iso639Id>bik</iso639Id>
+                          <iso639Id>ceb</iso639Id>
+                          <iso639Id>fil</iso639Id>
+                          <iso639Id>hil</iso639Id>
+                          <iso639Id>ilo</iso639Id>
+                          <iso639Id>pam</iso639Id>
+                          <iso639Id>pag</iso639Id>
+                          <iso639Id>phi</iso639Id>
+                          <iso639Id>tgl</iso639Id>
+                          <iso639Id>war</iso639Id></languageList>
+          </configItem>
+        </variant>
+        <variant>
+          <configItem>
+            <name>dvorak</name>
+            <description>Filipino (Dvorak Latin)</description>
+          </configItem>
+        </variant>
+        <variant>
+          <configItem>
+            <name>dvorak-bay</name>
+            <description>Filipino (Dvorak Baybayin)</description>
+            <languageList><iso639Id>bik</iso639Id>
+                          <iso639Id>ceb</iso639Id>
+                          <iso639Id>fil</iso639Id>
+                          <iso639Id>hil</iso639Id>
+                          <iso639Id>ilo</iso639Id>
+                          <iso639Id>pam</iso639Id>
+                          <iso639Id>pag</iso639Id>
+                          <iso639Id>phi</iso639Id>
+                          <iso639Id>tgl</iso639Id>
+                          <iso639Id>war</iso639Id></languageList>
+          </configItem>
+        </variant>
+      </variantList>
     </layout>
   </layoutList>
   <optionList>
@@ -4472,7 +5497,7 @@
       <option>
         <configItem>
           <name>grp:caps_switch</name>
-          <description>CapsLock (while pressed), Alt+CapsLock does the original capslock action</description>
+          <description>Caps Lock (while pressed), Alt+Caps Lock does the original capslock action</description>
         </configItem>
       </option>
       <option>
@@ -4496,19 +5521,19 @@
       <option>
         <configItem>
           <name>grp:caps_toggle</name>
-          <description>CapsLock</description>
+          <description>Caps Lock</description>
         </configItem>
       </option>
       <option>
         <configItem>
           <name>grp:shift_caps_toggle</name>
-          <description>Shift+CapsLock</description>
+          <description>Shift+Caps Lock</description>
         </configItem>
       </option>
       <option>
         <configItem>
           <name>grp:shift_caps_switch</name>
-          <description>CapsLock (to first layout), Shift+CapsLock (to last layout)</description>
+          <description>Caps Lock (to first layout), Shift+Caps Lock (to last layout)</description>
         </configItem>
       </option>
       <option>
@@ -4526,7 +5551,7 @@
       <option>
         <configItem>
           <name>grp:alt_caps_toggle</name>
-          <description>Alt+CapsLock</description>
+          <description>Alt+Caps Lock</description>
         </configItem>
       </option>
       <option>
@@ -4577,6 +5602,12 @@
           <description>Alt+Shift</description>
         </configItem>
       </option>
+      <option>
+        <configItem>
+          <name>grp:lalt_lshift_toggle</name>
+          <description>Left Alt+Left Shift</description>
+        </configItem>
+      </option>
       <option>
         <configItem>
           <name>grp:alt_space_toggle</name>
@@ -4628,7 +5659,13 @@
       <option>
         <configItem>
           <name>grp:sclk_toggle</name>
-          <description>ScrollLock</description>
+          <description>Scroll Lock</description>
+        </configItem>
+      </option>
+      <option>
+        <configItem>
+          <name>grp:lctrl_lwin_rctrl_menu</name>
+          <description>LeftCtrl+LeftWin (to first layout), RightCtrl+Menu (to second layout)</description>
         </configItem>
       </option>
     </group>
@@ -4707,7 +5744,7 @@
       <option>
         <configItem>
           <name>lv3:caps_switch</name>
-          <description>CapsLock</description>
+          <description>Caps Lock</description>
         </configItem>
       </option>
       <option>
@@ -4719,29 +5756,29 @@
       <option>
         <configItem>
           <name>lv3:lsgt_switch</name>
-	  <description>&lt;Less/Greater&gt;</description>
+          <description>&lt;Less/Greater&gt;</description>
         </configItem>
       </option>
       <option>
         <configItem>
           <name>lv3:caps_switch_latch</name>
-          <description>CapsLock (chooses 3rd level, latches when pressed together with another 3rd-level-chooser)</description>
+          <description>Caps Lock chooses 3rd level, acts as onetime lock when pressed together with another 3rd-level-chooser</description>
         </configItem>
       </option>
       <option>
         <configItem>
           <name>lv3:bksl_switch_latch</name>
-          <description>Backslash chooses 3rd level, latches when pressed together with another 3rd-level-chooser)</description>
+          <description>Backslash chooses 3rd level, acts as onetime lock when pressed together with another 3rd-level-chooser</description>
         </configItem>
       </option>
       <option>
         <configItem>
           <name>lv3:lsgt_switch_latch</name>
-	  <description>&lt;Less/Greater&gt; (chooses 3rd level, latches when pressed together with another 3rd-level-chooser)</description>
+          <description>&lt;Less/Greater&gt; chooses 3rd level, acts as onetime lock when pressed together with another 3rd-level-chooser</description>
         </configItem>
       </option>
     </group>
-    <group allowMultipleSelection="false">
+    <group allowMultipleSelection="true">
       
       <configItem>
         <name>ctrl</name>
@@ -4750,33 +5787,51 @@
       <option>
         <configItem>
           <name>ctrl:nocaps</name>
-          <description>Make CapsLock an additional Ctrl</description>
+          <description>Caps Lock as Ctrl</description>
+        </configItem>
+      </option>
+      <option>
+        <configItem>
+          <name>ctrl:lctrl_meta</name>
+          <description>Left Ctrl as Meta</description>
         </configItem>
       </option>
       <option>
         <configItem>
           <name>ctrl:swapcaps</name>
-          <description>Swap Ctrl and CapsLock</description>
+          <description>Swap Ctrl and Caps Lock</description>
         </configItem>
       </option>
       <option>
         <configItem>
-          <name>ctrl:ctrl_ac</name>
+          <name>ctrl:ac_ctrl</name>
           <description>At left of 'A'</description>
         </configItem>
       </option>
       <option>
         <configItem>
-          <name>ctrl:ctrl_aa</name>
+          <name>ctrl:aa_ctrl</name>
           <description>At bottom left</description>
         </configItem>
       </option>
       <option>
         <configItem>
-          <name>ctrl:ctrl_ra</name>
+          <name>ctrl:rctrl_ralt</name>
           <description>Right Ctrl as Right Alt</description>
         </configItem>
       </option>
+      <option>
+        <configItem>
+          <name>ctrl:menu_rctrl</name>
+          <description>Menu as Right Ctrl</description>
+        </configItem>
+      </option>
+      <option>
+        <configItem>
+          <name>ctrl:ctrl_ralt</name>
+          <description>Right Alt as Right Ctrl</description>
+        </configItem>
+      </option>
     </group>
     <group allowMultipleSelection="true">
       
@@ -4787,19 +5842,19 @@
       <option>
         <configItem>
           <name>grp_led:num</name>
-          <description>NumLock</description>
+          <description>Num Lock</description>
         </configItem>
       </option>
       <option>
         <configItem>
           <name>grp_led:caps</name>
-          <description>CapsLock</description>
+          <description>Caps Lock</description>
         </configItem>
       </option>
       <option>
         <configItem>
           <name>grp_led:scroll</name>
-          <description>ScrollLock</description>
+          <description>Scroll Lock</description>
         </configItem>
       </option>
     </group>
@@ -4836,13 +5891,13 @@
       <option>
         <configItem>
           <name>keypad:oss_wang</name>
-          <description>Wang 724 keypad with unicode additions (arrows and math operators)</description>
+          <description>Wang 724 keypad with Unicode additions (arrows and math operators)</description>
        </configItem>
       </option>
       <option>
         <configItem>
           <name>keypad:future_wang</name>
-          <description>Wang 724 keypad with unicode additions (arrows and math operators). Math operators on default level</description>
+          <description>Wang 724 keypad with Unicode additions (arrows and math operators). Math operators on default level</description>
        </configItem>
       </option>
       <option>
@@ -4921,84 +5976,90 @@
       
       <configItem>
         <name>caps</name>
-        <description>CapsLock key behavior</description>
+        <description>Caps Lock key behavior</description>
       </configItem>
       <option>
         <configItem>
           <name>caps:internal</name>
-          <description>CapsLock uses internal capitalization. Shift "pauses" CapsLock</description>
+          <description>Caps Lock uses internal capitalization. Shift "pauses" Caps Lock</description>
         </configItem>
       </option>
       <option>
         <configItem>
           <name>caps:internal_nocancel</name>
-          <description>CapsLock uses internal capitalization. Shift doesn't affect CapsLock</description>
+          <description>Caps Lock uses internal capitalization. Shift doesn't affect Caps Lock</description>
         </configItem>
       </option>
       <option>
         <configItem>
           <name>caps:shift</name>
-          <description>CapsLock acts as Shift with locking. Shift "pauses" CapsLock</description>
+          <description>Caps Lock acts as Shift with locking. Shift "pauses" Caps Lock</description>
         </configItem>
       </option>
       <option>
         <configItem>
           <name>caps:shift_nocancel</name>
-          <description>CapsLock acts as Shift with locking. Shift doesn't affect CapsLock</description>
+          <description>Caps Lock acts as Shift with locking. Shift doesn't affect Caps Lock</description>
         </configItem>
       </option>
       <option>
         <configItem>
           <name>caps:capslock</name>
-          <description>CapsLock toggles normal capitalization of alphabetic characters</description>
+          <description>Caps Lock toggles normal capitalization of alphabetic characters</description>
         </configItem>
       </option>
       <option>
         <configItem>
           <name>caps:numlock</name>
-          <description>Make CapsLock an additional NumLock</description>
+          <description>Make Caps Lock an additional Num Lock</description>
         </configItem>
       </option>
       <option>
         <configItem>
           <name>caps:swapescape</name>
-          <description>Swap ESC and CapsLock</description>
+          <description>Swap ESC and Caps Lock</description>
         </configItem>
       </option>
       <option>
         <configItem>
           <name>caps:escape</name>
-          <description>Make CapsLock an additional ESC</description>
+          <description>Make Caps Lock an additional ESC</description>
         </configItem>
       </option>
       <option>
         <configItem>
           <name>caps:backspace</name>
-          <description>Make CapsLock an additional Backspace</description>
+          <description>Make Caps Lock an additional Backspace</description>
         </configItem>
       </option>
       <option>
         <configItem>
           <name>caps:super</name>
-          <description>Make CapsLock an additional Super</description>
+          <description>Make Caps Lock an additional Super</description>
         </configItem>
       </option>
       <option>
         <configItem>
           <name>caps:hyper</name>
-          <description>Make CapsLock an additional Hyper</description>
+          <description>Make Caps Lock an additional Hyper</description>
         </configItem>
       </option>
       <option>
         <configItem>
           <name>caps:shiftlock</name>
-          <description>CapsLock toggles Shift so all keys are affected</description>
+          <description>Caps Lock toggles Shift so all keys are affected</description>
         </configItem>
       </option>
       <option>
         <configItem>
           <name>caps:none</name>
-          <description>CapsLock is disabled</description>
+          <description>Caps Lock is disabled</description>
+        </configItem>
+      </option>
+      <option>
+        <configItem>
+          <name>caps:ctrl_modifier</name>
+          <description>Make Caps Lock an additional Control but keep the Caps_Lock keysym</description>
         </configItem>
       </option>
     </group>
@@ -5108,7 +6169,7 @@
       <option>
         <configItem>
           <name>compose:caps</name>
-          <description>CapsLock</description>
+          <description>Caps Lock</description>
         </configItem>
       </option>
       <option>
@@ -5132,7 +6193,7 @@
       <option>
         <configItem>
           <name>compose:sclk</name>
-          <description>ScrollLock</description>
+          <description>Scroll Lock</description>
         </configItem>
       </option>
     </group>
@@ -5150,7 +6211,7 @@
       <option>
         <configItem>
           <name>numpad:mac</name>
-          <description>Numeric keypad keys work as with Mac</description>
+          <description>Numeric keypad keys always enter digits (as in Mac OS)</description>
         </configItem>
       </option>
       <option>
@@ -5162,7 +6223,7 @@
       <option>
         <configItem>
           <name>numpad:shift3</name>
-          <description>Shift does not cancel NumLock, chooses 3rd level instead</description>
+          <description>Shift does not cancel Num Lock, chooses 3rd level instead</description>
         </configItem>
       </option>
       <option>
@@ -5174,13 +6235,13 @@
       <option>
         <configItem>
           <name>apple:alupckeys</name>
-          <description>Apple Aluminium Keyboard: emulate PC keys (Print, Scroll_Lock, Pause, NumLock)</description>
+          <description>Apple Aluminium Keyboard: emulate PC keys (Print, Scroll Lock, Pause, Num Lock)</description>
         </configItem>
       </option>
       <option>
         <configItem>
           <name>shift:breaks_caps</name>
-          <description>Shift cancels CapsLock</description>
+          <description>Shift cancels Caps Lock</description>
         </configItem>
       </option>
       <option>
@@ -5192,13 +6253,13 @@
       <option>
         <configItem>
           <name>shift:both_capslock</name>
-          <description>Both Shift-Keys together toggle CapsLock</description>
+          <description>Both Shift-Keys together toggle Caps Lock</description>
         </configItem>
       </option>
       <option>
         <configItem>
           <name>shift:both_capslock_cancel</name>
-          <description>Both Shift-Keys together activate CapsLock, one Shift-Key deactivates</description>
+          <description>Both Shift-Keys together activate Caps Lock, one Shift-Key deactivates</description>
         </configItem>
       </option>
       <option>
@@ -5207,35 +6268,53 @@
           <description>Both Shift-Keys together toggle ShiftLock</description>
         </configItem>
       </option>
+      <option>
+        <configItem>
+          <name>keypad:pointerkeys</name>
+          <description>Toggle PointerKeys with Shift + NumLock.</description>
+        </configItem>
+      </option>
+      <option>
+        <configItem>
+          <name>grab:break_actions</name>
+          <description>Allow breaking grabs with keyboard actions (warning: security risk)</description>
+        </configItem>
+      </option>
     </group>
     <group allowMultipleSelection="true">
       
       <configItem>
         <name>eurosign</name>
-        <description>Adding EuroSign to certain keys</description>
+        <description>Adding currency signs to certain keys</description>
       </configItem>
       <option>
         <configItem>
           <name>eurosign:e</name>
-          <description>E</description>
+          <description>Euro on E</description>
         </configItem>
       </option>
       <option>
         <configItem>
           <name>eurosign:2</name>
-          <description>2</description>
+          <description>Euro on 2</description>
         </configItem>
       </option>
       <option>
         <configItem>
           <name>eurosign:4</name>
-          <description>4</description>
+          <description>Euro on 4</description>
         </configItem>
       </option>
       <option>
         <configItem>
           <name>eurosign:5</name>
-          <description>5</description>
+          <description>Euro on 5</description>
+        </configItem>
+      </option>
+      <option>
+        <configItem>
+          <name>rupeesign:4</name>
+          <description>Rupee on 4</description>
         </configItem>
       </option>
     </group>
@@ -5247,7 +6326,7 @@
       <option>
         <configItem>
           <name>lv5:lsgt_switch_lock</name>
-	  <description>&lt;Less/Greater&gt; chooses 5th level, locks when pressed together with another 5th-level-chooser</description>
+          <description>&lt;Less/Greater&gt; chooses 5th level, locks when pressed together with another 5th-level-chooser</description>
         </configItem>
       </option>
       <option>
@@ -5268,66 +6347,7 @@
           <description>Right Win chooses 5th level, locks when pressed together with another 5th-level-chooser</description>
         </configItem>
       </option>
-      <option>
-        <configItem>
-          <name>lv5:lsgt_switch_lock_cancel</name>
-	  <description>&lt;Less/Greater&gt; chooses 5th level, locks when pressed together with another 5th-level-chooser, one press releases the lock</description>
-        </configItem>
-      </option>
-      <option>
-        <configItem>
-          <name>lv5:ralt_switch_lock_cancel</name>
-          <description>Right Alt chooses 5th level, locks when pressed together with another 5th-level-chooser, one press releases the lock</description>
-        </configItem>
-      </option>
-      <option>
-        <configItem>
-          <name>lv5:lwin_switch_lock_cancel</name>
-          <description>Left Win chooses 5th level, locks when pressed together with another 5th-level-chooser, one press releases the lock</description>
-        </configItem>
-      </option>
-      <option>
-        <configItem>
-          <name>lv5:rwin_switch_lock_cancel</name>
-          <description>Right Win chooses 5th level, locks when pressed together with another 5th-level-chooser, one press releases the lock</description>
-        </configItem>
-      </option>
-      <option>
-        <configItem>
-          <name>lv5:lwin_switch_lock</name>
-          <description>Left Win chooses 5th level and toggles level5-Lock when pressed together with another 5th-level-chooser</description>
-        </configItem>
-      </option>
-      <option>
-        <configItem>
-          <name>lv5:rwin_switch_lock</name>
-          <description>Right Win chooses 5th level and toggles level5-Lock when pressed together with another 5th-level-chooser</description>
-        </configItem>
-      </option>
-      <option>
-        <configItem>
-          <name>lv5:lsgt_switch_lock_cancel</name>
-	  <description>&lt;Less/Greater&gt; chooses 5th level and activates level5-Lock when pressed together with another 5th-level-chooser, one press releases the lock</description>
-        </configItem>
-      </option>
-      <option>
-        <configItem>
-          <name>lv5:ralt_switch_lock_cancel</name>
-          <description>Right Alt chooses 5th level and activates level5-Lock when pressed together with another 5th-level-chooser, one press releases the lock</description>
-        </configItem>
-      </option>
-      <option>
-        <configItem>
-          <name>lv5:lwin_switch_lock_cancel</name>
-          <description>Left Win chooses 5th level and activates level5-Lock when pressed together with another 5th-level-chooser, one press releases the lock</description>
-        </configItem>
-      </option>
-      <option>
-        <configItem>
-          <name>lv5:rwin_switch_lock_cancel</name>
-          <description>Right Win chooses 5th level and activates level5-Lock when pressed together with another 5th-level-chooser, one press releases the lock</description>
-        </configItem>
-      </option>
+
     </group>
     <group allowMultipleSelection="false">
       
@@ -5449,6 +6469,12 @@
           <description>NICOLA-F style Backspace</description>
        </configItem>
       </option>
+      <option>
+        <configItem>
+          <name>japan:hztg_escape</name>
+          <description>Make Zenkaku Hankaku an additional ESC</description>
+       </configItem>
+      </option>
     </group>
     <group allowMultipleSelection="false">
       <configItem>
diff --git a/linux/X/rules/evdev b/linux/X/rules/evdev
index 307c2a5..64c2dd1 100644
--- a/linux/X/rules/evdev
+++ b/linux/X/rules/evdev
@@ -1,12 +1,9 @@
 // DO NOT EDIT THIS FILE - IT WAS AUTOGENERATED BY merge.sh FROM rules/*.part
-// $Xorg: xfree86,v 1.3 2000/08/17 19:54:42 cpqbld Exp $
-
 //
 //  Rules for resolving XKB components for use with XFree86
 //  Copyright 1996 by Joseph Moss
 //
 //  2002 Modifier: Ivan Pascal      The XFree86 Project
-//  $XFree86: xc/programs/xkbcomp/rules/xfree86,v 3.79 2004/01/09 00:16:01 dawes Exp $
 //
 
 // If you want non-latin layouts implicitly include the en_US layout
@@ -19,7 +16,7 @@
 ! $pcmodels = pc101 pc102 pc104 pc105
 
 // Microsoft models (using MS geometry)
-! $msmodels = microsoft microsoft7000 microsoftpro microsoftprousb microsoftprose
+! $msmodels = microsoft microsoft4000 microsoft7000 microsoftpro microsoftprousb microsoftprose
 
 // Nokia devices and keyboards
 ! $nokiamodels = nokiasu8w nokiarx44 nokiarx51
@@ -60,15 +57,15 @@
               genius geniuscomfy2 \
               gyration honeywell_euroboard \
               hp250x hp5xx hp500fa hpdv5 \
-              hpi6 hpxe3gc hpxe3gf hpxe4xxx hpxt1000 hpzt11xx \
+              hpi6 hpxe3gc hpxe3gf hpxe4xxx hpxt1000 hpzt11xx htcdream \
               ibm_spacesaver ipaq inspiron intel \
               logiaccess logicda logicink \
               logiex110 logiclx300 \
               logiinkse logiinkseusb logiitc logiik \
               logitech_base itouch logiultrax \
               logitech_g15 \
-	      logidinovo logidinovoedge \
-              microsoft7000 microsoftinet microsoftprousb microsoftprooem microsoftprose \
+              logidinovo logidinovoedge \
+              microsoft4000 microsoft7000 microsoftinet microsoftprousb microsoftprooem microsoftprose \
               microsoftoffice microsoftmult \
               mx1998 mx2500 mx2750 \
               oretec \
@@ -80,7 +77,7 @@
               silvercrest \
               sk1300 sk2500 sk6200 sk7100 \
               sven sven303 symplon \
-              tm2030USB toshiba_s3000 trust trustda \
+              toshiba_s3000 trust trustda \
               unitekkb1925 yahoo
 
 // all layouts with 3rd and 4th groups
@@ -114,6 +111,7 @@
                    lt lv nl no pl pt ro ru \
                    se sk tr tw ua
 
+! $htcdreamlayouts = us it de
 
 ! $dvoraklayouts = br ca de ee es fr gb no pl se us
 
@@ -148,6 +146,7 @@
   hpmini110	=	hp(mini110)
   hpdv5		=	hp(dv5)
   omnikey101	=	northgate(omnikey101)
+  sanwaskbkg3	=	sanwa(sanwaskbkg3)
  $pcmodels	=	pc(%m)
  $pcgeometries	=	pc(%m)
   everex	=	everex(STEPnote)
@@ -181,7 +180,6 @@
   *		gur		basic		=	pc+in(guru)
   *		ie		laptop		=	pc+ie(basic)
   *		ie		CloGaelachLaptop		=	pc+ie(CloGaelach)
-  *		il		si1452		=	pc+ie(basic)
   *		in		urd		=	pc+in(urd-phonetic)
   *		iu		basic		=	pc+ca(ike)
   *		lo		basic		=	pc+la(basic)
@@ -216,10 +214,6 @@
   *		yu		unicode		=	pc+srp(latinunicode)
   *		yu		yz		=	pc+srp(latinyz)
   *		yu		unicodeyz		=	pc+srp(latinunicodeyz)
-  *		rs		combiningkeys		=	pc+extras/rs(combiningkeys)
-  *		us		alt-intl-unicode		=	pc+extras/us(alt-intl-unicode)
-  *		us		crd		=	pc+extras/us(crd)
-  *		us		intl-unicode		=	pc+extras/us(intl-unicode)
   classmate	us		intl		=	pc+us(classmate-intl)
   classmate	us		alt-intl	=	pc+us(classmate-alt-intl)
   classmate	us		altgr-intl	=	pc+us(classmate-altgr-intl)
@@ -268,7 +262,6 @@
   *		gur(basic)			=	pc+in(guru)
   *		ie(laptop)			=	pc+ie(basic)
   *		ie(CloGaelachLaptop)			=	pc+ie(CloGaelach)
-  *		il(si1452)			=	pc+ie(basic)
   *		in(urd)			=	pc+in(urd-phonetic)
   *		iu(basic)			=	pc+ca(ike)
   *		lo(basic)			=	pc+la(basic)
@@ -303,11 +296,6 @@
   *		yu(unicode)			=	pc+srp(latinunicode)
   *		yu(yz)			=	pc+srp(latinyz)
   *		yu(unicodeyz)			=	pc+srp(latinunicodeyz)
-  *		apl			=	pc+extras/apl
-  *		rs(combiningkeys)			=	pc+extras/rs(combiningkeys)
-  *		us(alt-intl-unicode)			=	pc+extras/us(alt-intl-unicode)
-  *		us(crd)			=	pc+extras/us(crd)
-  *		us(intl-unicode)			=	pc+extras/us(intl-unicode)
   ataritt	$nonlatin		=	xfree68_vndr/ataritt(us)+%l%(v):2
   ataritt	*			=	xfree68_vndr/ataritt(us)+%l%(v)
   amiga		$nonlatin		=	xfree68_vndr/amiga(usa1)+%l%(v):2
@@ -346,6 +334,7 @@
   olpc		$olpclayouts		=	olpc+%l%(m)
   olpc		*			=	olpc+%l%(v)
  $thinkpads   	br			=	pc+br(thinkpad)
+  htcdream	$htcdreamlayouts	=	%l(htcdream)
   *	   	$nonlatin		=	pc+us+%l%(v):2
   *		*			=	pc+%l%(v)
 
@@ -392,7 +381,6 @@
   *		gur(basic)			=	pc+in(guru)
   *		ie(laptop)			=	pc+ie(basic)
   *		ie(CloGaelachLaptop)			=	pc+ie(CloGaelach)
-  *		il(si1452)			=	pc+ie(basic)
   *		in(urd)			=	pc+in(urd-phonetic)
   *		iu(basic)			=	pc+ca(ike)
   *		lo(basic)			=	pc+la(basic)
@@ -427,11 +415,6 @@
   *		yu(unicode)			=	pc+srp(latinunicode)
   *		yu(yz)			=	pc+srp(latinyz)
   *		yu(unicodeyz)			=	pc+srp(latinunicodeyz)
-  *		apl			=	pc+extras/apl%(v[1])
-  *		rs(combiningkeys)			=	pc+extras/rs(combiningkeys)
-  *		us(alt-intl-unicode)			=	pc+extras/us(alt-intl-unicode)
-  *		us(crd)			=	pc+extras/us(crd)
-  *		us(intl-unicode)			=	pc+extras/us(intl-unicode)
   ataritt	*			=	xfree68_vndr/ataritt(us)+%l[1]%(v[1])
   amiga		*			=	xfree68_vndr/amiga(usa1)+%l[1]%(v[1])
   sun4		*			=	latin+sun_vndr/us(type4)+%l[1]%(v[1])
@@ -464,7 +447,6 @@
   *		gur		basic		=	pc+in(guru)
   *		ie		laptop		=	pc+ie(basic)
   *		ie		CloGaelachLaptop		=	pc+ie(CloGaelach)
-  *		il		si1452		=	pc+ie(basic)
   *		in		urd		=	pc+in(urd-phonetic)
   *		iu		basic		=	pc+ca(ike)
   *		lo		basic		=	pc+la(basic)
@@ -499,10 +481,6 @@
   *		yu		unicode		=	pc+srp(latinunicode)
   *		yu		yz		=	pc+srp(latinyz)
   *		yu		unicodeyz		=	pc+srp(latinunicodeyz)
-  *		rs		combiningkeys		=	pc+extras/rs(combiningkeys)
-  *		us		alt-intl-unicode		=	pc+extras/us(alt-intl-unicode)
-  *		us		crd		=	pc+extras/us(crd)
-  *		us		intl-unicode		=	pc+extras/us(intl-unicode)
 
 ! model		layout[2]	=	symbols
   *		ar		=	+ara%(v[2]):2
@@ -547,7 +525,6 @@
   *		gur(basic)	=	+in(guru):2
   *		ie(laptop)	=	+ie(basic):2
   *		ie(CloGaelachLaptop)	=	+ie(CloGaelach):2
-  *		il(si1452)	=	+ie(basic):2
   *		in(urd)	=	+in(urd-phonetic):2
   *		iu(basic)	=	+ca(ike):2
   *		lo(basic)	=	+la(basic):2
@@ -582,11 +559,6 @@
   *		yu(unicode)	=	+srp(latinunicode):2
   *		yu(yz)	=	+srp(latinyz):2
   *		yu(unicodeyz)	=	+srp(latinunicodeyz):2
-  *		apl		=	+extras/apl%(v[2]):2
-  *		rs(combiningkeys)	=	+extras/rs(combiningkeys):2
-  *		us(alt-intl-unicode)	=	+extras/us(alt-intl-unicode):2
-  *		us(crd)	=	+extras/us(crd):2
-  *		us(intl-unicode)	=	+extras/us(intl-unicode):2
   nokiarx51	cz(qwerty)	=	+nokia_vndr/rx-51(cz_qwerty):2
   nokiarx51	*		=	+nokia_vndr/rx-51(%l[2]%_v[2]):2
   *		*		=	+%l[2]%(v[2]):2
@@ -634,7 +606,6 @@
   *		gur(basic)	=	+in(guru):3
   *		ie(laptop)	=	+ie(basic):3
   *		ie(CloGaelachLaptop)	=	+ie(CloGaelach):3
-  *		il(si1452)	=	+ie(basic):3
   *		in(urd)	=	+in(urd-phonetic):3
   *		iu(basic)	=	+ca(ike):3
   *		lo(basic)	=	+la(basic):3
@@ -669,11 +640,6 @@
   *		yu(unicode)	=	+srp(latinunicode):3
   *		yu(yz)	=	+srp(latinyz):3
   *		yu(unicodeyz)	=	+srp(latinunicodeyz):3
-  *		apl		=	+extras/apl%(v[3]):3
-  *		rs(combiningkeys)	=	+extras/rs(combiningkeys):3
-  *		us(alt-intl-unicode)	=	+extras/us(alt-intl-unicode):3
-  *		us(crd)	=	+extras/us(crd):3
-  *		us(intl-unicode)	=	+extras/us(intl-unicode):3
   nokiarx51	cz(qwerty)	=	+nokia_vndr/rx-51(cz_qwerty):3
   nokiarx51	*		=	+nokia_vndr/rx-51(%l[3]%_v[3]):3
   *		*		=	+%l[3]%(v[3]):3
@@ -721,7 +687,6 @@
   *		gur(basic)	=	+in(guru):4
   *		ie(laptop)	=	+ie(basic):4
   *		ie(CloGaelachLaptop)	=	+ie(CloGaelach):4
-  *		il(si1452)	=	+ie(basic):4
   *		in(urd)	=	+in(urd-phonetic):4
   *		iu(basic)	=	+ca(ike):4
   *		lo(basic)	=	+la(basic):4
@@ -756,11 +721,6 @@
   *		yu(unicode)	=	+srp(latinunicode):4
   *		yu(yz)	=	+srp(latinyz):4
   *		yu(unicodeyz)	=	+srp(latinunicodeyz):4
-  *		apl		=	+extras/apl%(v[4]):4
-  *		rs(combiningkeys)	=	+extras/rs(combiningkeys):4
-  *		us(alt-intl-unicode)	=	+extras/us(alt-intl-unicode):4
-  *		us(crd)	=	+extras/us(crd):4
-  *		us(intl-unicode)	=	+extras/us(intl-unicode):4
   nokiarx51	cz(qwerty)	=	+nokia_vndr/rx-51(cz_qwerty):4
   nokiarx51	*		=	+nokia_vndr/rx-51(%l[4]%_v[4]):4
   *		*		=	+%l[4]%(v[4]):4
@@ -781,7 +741,6 @@
   *		gur		basic	=	+in(guru):2
   *		ie		laptop	=	+ie(basic):2
   *		ie		CloGaelachLaptop	=	+ie(CloGaelach):2
-  *		il		si1452	=	+ie(basic):2
   *		in		urd	=	+in(urd-phonetic):2
   *		iu		basic	=	+ca(ike):2
   *		lo		basic	=	+la(basic):2
@@ -816,10 +775,6 @@
   *		yu		unicode	=	+srp(latinunicode):2
   *		yu		yz	=	+srp(latinyz):2
   *		yu		unicodeyz	=	+srp(latinunicodeyz):2
-  *		rs		combiningkeys	=	+extras/rs(combiningkeys):2
-  *		us		alt-intl-unicode	=	+extras/us(alt-intl-unicode):2
-  *		us		crd	=	+extras/us(crd):2
-  *		us		intl-unicode	=	+extras/us(intl-unicode):2
 
 ! model		layout[3]	variant[3]	=	symbols
   *		ben		basic	=	+in(ben):3
@@ -837,7 +792,6 @@
   *		gur		basic	=	+in(guru):3
   *		ie		laptop	=	+ie(basic):3
   *		ie		CloGaelachLaptop	=	+ie(CloGaelach):3
-  *		il		si1452	=	+ie(basic):3
   *		in		urd	=	+in(urd-phonetic):3
   *		iu		basic	=	+ca(ike):3
   *		lo		basic	=	+la(basic):3
@@ -872,10 +826,6 @@
   *		yu		unicode	=	+srp(latinunicode):3
   *		yu		yz	=	+srp(latinyz):3
   *		yu		unicodeyz	=	+srp(latinunicodeyz):3
-  *		rs		combiningkeys	=	+extras/rs(combiningkeys):3
-  *		us		alt-intl-unicode	=	+extras/us(alt-intl-unicode):3
-  *		us		crd	=	+extras/us(crd):3
-  *		us		intl-unicode	=	+extras/us(intl-unicode):3
 
 ! model		layout[4]	variant[4]	=	symbols
   *		ben		basic	=	+in(ben):4
@@ -893,7 +843,6 @@
   *		gur		basic	=	+in(guru):4
   *		ie		laptop	=	+ie(basic):4
   *		ie		CloGaelachLaptop	=	+ie(CloGaelach):4
-  *		il		si1452	=	+ie(basic):4
   *		in		urd	=	+in(urd-phonetic):4
   *		iu		basic	=	+ca(ike):4
   *		lo		basic	=	+la(basic):4
@@ -928,10 +877,6 @@
   *		yu		unicode	=	+srp(latinunicode):4
   *		yu		yz	=	+srp(latinyz):4
   *		yu		unicodeyz	=	+srp(latinunicodeyz):4
-  *		rs		combiningkeys	=	+extras/rs(combiningkeys):4
-  *		us		alt-intl-unicode	=	+extras/us(alt-intl-unicode):4
-  *		us		crd	=	+extras/us(crd):4
-  *		us		intl-unicode	=	+extras/us(intl-unicode):4
 
 ! model		=	symbols
   $evdevkbds    =   +inet(evdev)+inet(%m)
@@ -1008,17 +953,12 @@
   grp:shifts_toggle	=	+group(shifts_toggle)
   grp:ctrls_toggle	=	+group(ctrls_toggle)
   grp:alts_toggle	=	+group(alts_toggle)
-  grp:ctrl_shift_toggle	=	+group(ctrl_shift_toggle)
-  grp:lctrl_lshift_toggle	=	+group(lctrl_lshift_toggle)
-  grp:rctrl_rshift_toggle	=	+group(rctrl_rshift_toggle)
   grp:caps_toggle	=	+capslock(grouplock)
   grp:caps_switch       =       +capslock(groupshift)
   grp:shift_caps_toggle	=	+group(shift_caps_toggle)
   grp:shift_caps_switch	=	+group(shift_caps_switch)
   grp:win_menu_switch	=	+group(win_menu_switch)
   grp:alt_caps_toggle   =       +group(alt_caps_toggle)
-  grp:ctrl_alt_toggle	=	+group(ctrl_alt_toggle)
-  grp:alt_shift_toggle	=	+group(alt_shift_toggle)
   grp:alt_space_toggle	=	+group(alt_space_toggle)
   grp:menu_toggle	=	+group(menu_toggle)
   grp:lwin_toggle	=	+group(lwin_toggle)
@@ -1031,6 +971,19 @@
   grp:lalt_toggle	=	+group(lalt_toggle)
   grp:sclk_toggle	=	+group(sclk_toggle)
   grp:lctrl_rctrl_switch	=	+group(lctrl_rctrl_switch)
+  grp:lctrl_lwin_rctrl_menu	=	+group(lctrl_lwin_rctrl_menu)
+  grp:lctrl_lalt_toggle	=	+group(lctrl_lalt_toggle)
+  grp:rctrl_ralt_toggle	=	+group(rctrl_ralt_toggle)
+  grp:ctrl_alt_toggle	=	+group(ctrl_alt_toggle)
+  grp:ctrl_alt_toggle_bidir	=	+group(ctrl_alt_toggle_bidir)
+  grp:lctrl_lshift_toggle	=	+group(lctrl_lshift_toggle)
+  grp:rctrl_rshift_toggle	=	+group(rctrl_rshift_toggle)
+  grp:ctrl_shift_toggle	=	+group(ctrl_shift_toggle)
+  grp:ctrl_shift_toggle_bidir	=	+group(ctrl_shift_toggle_bidir)
+  grp:lalt_lshift_toggle	=	+group(lalt_lshift_toggle)
+  grp:ralt_rshift_toggle	=	+group(ralt_rshift_toggle)
+  grp:alt_shift_toggle	=	+group(alt_shift_toggle)
+  grp:alt_shift_toggle_bidir	=	+group(alt_shift_toggle_bidir)
   lv3:switch		=	+level3(switch)
   lv3:ralt_switch	=	+level3(ralt_switch)
   lv3:ralt_switch_multikey	=	+level3(ralt_switch_multikey)
@@ -1051,11 +1004,15 @@
   caps:super		=	+capslock(super)
   caps:hyper		=	+capslock(hyper)
   caps:none		=	+capslock(none)
+  caps:ctrl_modifier	=	+capslock(ctrl_modifier)
   ctrl:nocaps		=	+ctrl(nocaps)
+  ctrl:lctrl_meta	=	+ctrl(lctrl_meta)
   ctrl:swapcaps		=	+ctrl(swapcaps)
-  ctrl:ctrl_ac		=	+ctrl(ctrl_ac)
-  ctrl:ctrl_aa		=	+ctrl(ctrl_aa)
-  ctrl:ctrl_ra		=	+ctrl(ctrl_ra)
+  ctrl:ac_ctrl		=	+ctrl(ac_ctrl)
+  ctrl:aa_ctrl		=	+ctrl(aa_ctrl)
+  ctrl:rctrl_ralt	=	+ctrl(rctrl_ralt)
+  ctrl:menu_rctrl	=	+ctrl(menu_rctrl)
+  ctrl:ralt_rctrl	=	+ctrl(ralt_rctrl)
   compose:ralt		=	+compose(ralt)
   compose:lwin		=	+compose(lwin)
   compose:rwin		=	+compose(rwin)
@@ -1072,6 +1029,7 @@
   eurosign:2		=	+eurosign(2)
   eurosign:4		=	+eurosign(4)
   eurosign:5		=	+eurosign(5)
+  rupeesign:4           =       +rupeesign(4)
   keypad:oss            =       +keypad(oss)
   keypad:legacy         =	+keypad(legacy)
   keypad:legacy_wang    =	+keypad(legacy_wang)
@@ -1089,6 +1047,7 @@
   nbsp:level4n          =	+nbsp(level4n)
   nbsp:level4nl         =	+nbsp(level4nl)
   japan:nicola_f_bs     =	+jp(nicola_f_bs)
+  japan:hztg_escape     =	+jp(hztg_escape)
   kpdl:dot              =	+kpdl(dot)
   kpdl:comma            =	+kpdl(comma)
   kpdl:dotoss           =	+kpdl(dotoss)
@@ -1101,6 +1060,7 @@
   esperanto:qwerty      =	+epo(qwerty)
   esperanto:dvorak      =	+epo(dvorak)
   terminate:ctrl_alt_bksp =	+terminate(ctrl_alt_bksp)
+  keypad:pointerkeys	=	+keypad(pointerkeys)
   apple:alupckeys	=	+macintosh_vndr/apple(alupckeys)
   shift:both_capslock                =       +shift(both_capslock)
   shift:lshift_both_capslock         =       +shift(lshift_both_capslock)
@@ -1132,9 +1092,9 @@
   grp_led:num		=	+lednum(group_lock)
   grp_led:caps		=	+ledcaps(group_lock)
   grp_led:scroll	=	+ledscroll(group_lock)
-  grp:caps_toggle	=	+ledcaps(group_lock)
   japan:kana_lock	=	+japan(kana_lock)
   caps:shiftlock	=	+ledcaps(shift_lock)
+  grab:break_actions    =       +xfree86(grab_break)
 
 
 ! option	=	types
diff --git a/linux/X/rules/evdev.xml b/linux/X/rules/evdev.xml
index 952a457..4b97074 100644
--- a/linux/X/rules/evdev.xml
+++ b/linux/X/rules/evdev.xml
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE xkbConfigRegistry SYSTEM "xkb.dtd">
-<xkbConfigRegistry>
+<xkbConfigRegistry version="1.1">
   <modelList>
     <model>
       <configItem>
@@ -194,14 +194,14 @@
     <model>
       <configItem>
         <name>btc9019u</name>
-	<description>BTC 9019U</description>
+        <description>BTC 9019U</description>
         <vendor>BTC</vendor>
       </configItem>
     </model>
     <model>
       <configItem>
         <name>btc9116u</name>
-	<description>BTC 9116U Mini Wireless Internet and Gaming</description>
+        <description>BTC 9116U Mini Wireless Internet and Gaming</description>
       </configItem>
     </model>
     <model>
@@ -447,6 +447,20 @@
         <vendor>Gyration</vendor>
       </configItem>
     </model>
+    <model>
+      <configItem>
+        <name>htcdream</name>
+        <description>HTC Dream</description>
+        <vendor>HTC</vendor>
+      </configItem>
+    </model>
+    <model>
+      <configItem>
+        <name>kinesis</name>
+        <description>Kinesis</description>
+        <vendor>Kinesis</vendor>
+      </configItem>
+    </model>
     <model>
       <configItem>
         <name>logitech_base</name>
@@ -556,42 +570,42 @@
       <configItem>
         <name>rapidaccess</name>
         <description>IBM Rapid Access</description>
-        <vendor>IBM</vendor>
+        <vendor>Lenovo (previously IBM)</vendor>
       </configItem>
     </model>
     <model>
       <configItem>
         <name>rapidaccess2</name>
         <description>IBM Rapid Access II</description>
-        <vendor>IBM</vendor>
+        <vendor>Lenovo (previously IBM)</vendor>
       </configItem>
     </model>
     <model>
       <configItem>
         <name>thinkpad</name>
         <description>IBM ThinkPad 560Z/600/600E/A22E</description>
-        <vendor>IBM</vendor>
+        <vendor>Lenovo (previously IBM)</vendor>
       </configItem>
     </model>
     <model>
       <configItem>
         <name>thinkpad60</name>
         <description>IBM ThinkPad R60/T60/R61/T61</description>
-        <vendor>IBM</vendor>
+        <vendor>Lenovo (previously IBM)</vendor>
       </configItem>
     </model>
     <model>
       <configItem>
         <name>thinkpadz60</name>
         <description>IBM ThinkPad Z60m/Z60t/Z61m/Z61t</description>
-        <vendor>IBM</vendor>
+        <vendor>Lenovo (previously IBM)</vendor>
       </configItem>
     </model>
     <model>
       <configItem>
         <name>ibm_spacesaver</name>
         <description>IBM Space Saver</description>
-        <vendor>IBM</vendor>
+        <vendor>Lenovo (previously IBM)</vendor>
       </configItem>
     </model>
     <model>
@@ -613,6 +627,7 @@
         <name>logii350</name>
         <description>Logitech Internet 350 Keyboard</description>
         <vendor>Logitech</vendor>
+        <hwList> <hwId>046d:c313</hwId></hwList>
       </configItem>
     </model>
     <model>
@@ -776,6 +791,13 @@
         <vendor>Memorex</vendor>
       </configItem>
     </model>
+    <model>
+      <configItem>
+        <name>microsoft4000</name>
+        <description>Microsoft Natural Wireless Ergonomic Keyboard 4000</description>
+        <vendor>Microsoft Inc.</vendor>
+      </configItem>
+    </model>
     <model>
       <configItem>
         <name>microsoft7000</name>
@@ -888,88 +910,95 @@
         <vendor>Samsung</vendor>
       </configItem>
     </model>
+    <model>
+      <configItem>
+        <name>sanwaskbkg3</name>
+        <description>Sanwa Supply SKB-KG3</description>
+        <vendor>Sanwa Supply Inc.</vendor>
+      </configItem>
+    </model>
     <model>
       <configItem>
         <name>sk1300</name>
         <description>SK-1300</description>
-	<vendor>NEC</vendor>
+        <vendor>NEC</vendor>
       </configItem>
     </model>
     <model>
       <configItem>
         <name>sk2500</name>
         <description>SK-2500</description>
-	<vendor>NEC</vendor>
+        <vendor>NEC</vendor>
       </configItem>
     </model>
     <model>
       <configItem>
         <name>sk6200</name>
         <description>SK-6200</description>
-	<vendor>NEC</vendor>
+        <vendor>NEC</vendor>
       </configItem>
     </model>
     <model>
       <configItem>
         <name>sk7100</name>
         <description>SK-7100</description>
-	<vendor>NEC</vendor>
+        <vendor>NEC</vendor>
       </configItem>
     </model>
     <model>
       <configItem>
         <name>sp_inet</name>
         <description>Super Power Multimedia Keyboard</description>
-	<vendor>Generic</vendor>
+        <vendor>Generic</vendor>
       </configItem>
     </model>
     <model>
       <configItem>
         <name>sven</name>
         <description>SVEN Ergonomic 2500</description>
-	<vendor>SVEN</vendor>
+        <vendor>SVEN</vendor>
       </configItem>
     </model>
     <model>
       <configItem>
         <name>sven303</name>
         <description>SVEN Slim 303</description>
-	<vendor>SVEN</vendor>
+        <vendor>SVEN</vendor>
       </configItem>
     </model>
     <model>
       <configItem>
         <name>symplon</name>
         <description>Symplon PaceBook (tablet PC)</description>
-	<vendor>Symplon</vendor>
+        <vendor>Symplon</vendor>
       </configItem>
     </model>
     <model>
       <configItem>
         <name>toshiba_s3000</name>
         <description>Toshiba Satellite S3000</description>
-	<vendor>Toshiba</vendor>
+        <vendor>Toshiba</vendor>
       </configItem>
     </model>
     <model>
       <configItem>
         <name>trust</name>
         <description>Trust Wireless Keyboard Classic</description>
-	<vendor>Trust</vendor>
+        <vendor>Trust</vendor>
       </configItem>
     </model>
     <model>
       <configItem>
         <name>trustda</name>
         <description>Trust Direct Access Keyboard</description>
-	<vendor>Trust</vendor>
+        <vendor>Trust</vendor>
       </configItem>
     </model>
     <model>
       <configItem>
         <name>trust_slimline</name>
         <description>Trust Slimline</description>
-	<vendor>Trust</vendor>
+        <vendor>Trust</vendor>
       </configItem>
     </model>
     <model>
@@ -1011,161 +1040,161 @@
       <configItem>
         <name>yahoo</name>
         <description>Yahoo! Internet Keyboard</description>
-	<vendor>Yahoo!</vendor>
+        <vendor>Yahoo!</vendor>
       </configItem>
     </model>
     <model>
       <configItem>
         <name>macbook78</name>
         <description>MacBook/MacBook Pro</description>
-	<vendor>Apple</vendor>
+        <vendor>Apple</vendor>
       </configItem>
     </model>
     <model>
       <configItem>
         <name>macbook79</name>
         <description>MacBook/MacBook Pro (Intl)</description>
-	<vendor>Apple</vendor>
+        <vendor>Apple</vendor>
       </configItem>
     </model>
     <model>
       <configItem>
         <name>macintosh</name>
         <description>Macintosh</description>
-	<vendor>Apple</vendor>
+        <vendor>Apple</vendor>
       </configItem>
     </model>
     <model>
       <configItem>
         <name>macintosh_old</name>
         <description>Macintosh Old</description>
-	<vendor>Apple</vendor>
+        <vendor>Apple</vendor>
       </configItem>
     </model>
     <model>
       <configItem>
         <name>macintosh_hhk</name>
         <description>Happy Hacking Keyboard for Mac</description>
-	<vendor>Fujitsu</vendor>
+        <vendor>Fujitsu</vendor>
       </configItem>
     </model>
     <model>
       <configItem>
         <name>acer_c300</name>
         <description>Acer C300</description>
-	<vendor>Acer</vendor>
+        <vendor>Acer</vendor>
       </configItem>
     </model>
     <model>
       <configItem>
         <name>acer_ferrari4k</name>
         <description>Acer Ferrari 4000</description>
-	<vendor>Acer</vendor>
+        <vendor>Acer</vendor>
       </configItem>
     </model>
     <model>
       <configItem>
         <name>acer_laptop</name>
         <description>Acer Laptop</description>
-	<vendor>Acer</vendor>
+        <vendor>Acer</vendor>
       </configItem>
     </model>
     <model>
       <configItem>
         <name>asus_laptop</name>
         <description>Asus Laptop</description>
-	<vendor>Asus</vendor>
+        <vendor>Asus</vendor>
       </configItem>
     </model>
     <model>
       <configItem>
         <name>apple</name>
         <description>Apple</description>
-	<vendor>Apple</vendor>
+        <vendor>Apple</vendor>
       </configItem>
     </model>
     <model>
       <configItem>
         <name>apple_laptop</name>
         <description>Apple Laptop</description>
-	<vendor>Apple</vendor>
+        <vendor>Apple</vendor>
       </configItem>
     </model>
     <model>
       <configItem>
         <name>applealu_ansi</name>
         <description>Apple Aluminium Keyboard (ANSI)</description>
-	<vendor>Apple</vendor>
+        <vendor>Apple</vendor>
       </configItem>
     </model>
     <model>
       <configItem>
         <name>applealu_iso</name>
         <description>Apple Aluminium Keyboard (ISO)</description>
-	<vendor>Apple</vendor>
+        <vendor>Apple</vendor>
       </configItem>
     </model>
     <model>
       <configItem>
         <name>applealu_jis</name>
         <description>Apple Aluminium Keyboard (JIS)</description>
-	<vendor>Apple</vendor>
+        <vendor>Apple</vendor>
       </configItem>
     </model>
     <model>
       <configItem>
         <name>silvercrest</name>
         <description>SILVERCREST Multimedia Wireless Keyboard</description>
-	<vendor>Silvercrest</vendor>
+        <vendor>Silvercrest</vendor>
       </configItem>
     </model>
     <model>
       <configItem>
         <name>emachines</name>
         <description>Laptop/notebook eMachines m68xx</description>
-	<vendor>eMachines</vendor>
+        <vendor>eMachines</vendor>
       </configItem>
     </model>
     <model>
       <configItem>
-	<name>benqx</name>
-	<description>BenQ X-Touch</description>
-	<vendor>BenQ</vendor>
+        <name>benqx</name>
+        <description>BenQ X-Touch</description>
+        <vendor>BenQ</vendor>
       </configItem>
     </model>
     <model>
       <configItem>
-	<name>benqx730</name>
-	<description>BenQ X-Touch 730</description>
-	<vendor>BenQ</vendor>
+        <name>benqx730</name>
+        <description>BenQ X-Touch 730</description>
+        <vendor>BenQ</vendor>
       </configItem>
     </model>
     <model>
       <configItem>
-	<name>benqx800</name>
-	<description>BenQ X-Touch 800</description>
-	<vendor>BenQ</vendor>
+        <name>benqx800</name>
+        <description>BenQ X-Touch 800</description>
+        <vendor>BenQ</vendor>
       </configItem>
     </model>
     <model>
       <configItem>
-	<name>hhk</name>
-	<description>Happy Hacking Keyboard</description>
-	<vendor>Fujitsu</vendor>
+        <name>hhk</name>
+        <description>Happy Hacking Keyboard</description>
+        <vendor>Fujitsu</vendor>
       </configItem>
     </model>
     <model>
       <configItem>
-	<name>classmate</name>
-	<description>Classmate PC</description>
-	<vendor>Intel</vendor>
+        <name>classmate</name>
+        <description>Classmate PC</description>
+        <vendor>Intel</vendor>
       </configItem>
     </model>
     <model>
       <configItem>
-	<name>olpc</name>
-	<description>OLPC</description>
-	<vendor>OLPC</vendor>
+        <name>olpc</name>
+        <description>OLPC</description>
+        <vendor>OLPC</vendor>
       </configItem>
     </model>
     <model>
@@ -1203,106 +1232,124 @@
         <vendor>Creative</vendor>
       </configItem>
     </model>
+    <model>
+      <configItem>
+       <name>htcdream</name>
+       <description>Htc Dream phone</description>
+       <vendor>htc</vendor>
+     </configItem>
+    </model>
   </modelList>
   <layoutList>
     <layout>
       <configItem>
         <name>us</name>
-        <shortDescription>USA</shortDescription>
-        <description>USA</description>
-        <languageList><iso639Id>eng</iso639Id></languageList>
+        
+        <shortDescription>en</shortDescription>
+        <description>English (US)</description>
+        <languageList>
+          <iso639Id>eng</iso639Id>
+        </languageList>
       </configItem>
       <variantList>
         <variant>
           <configItem>
             <name>chr</name>
+            
+            <shortDescription>chr</shortDescription>
             <description>Cherokee</description>
-            <languageList><iso639Id>chr</iso639Id></languageList>
+            <languageList>
+              <iso639Id>chr</iso639Id>
+            </languageList>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>euro</name>
-            <description>With EuroSign on 5</description>
+            <description>English (US, with euro on 5)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>intl</name>
-            <description>International (with dead keys)</description>
+            <description>English (US, international with dead keys)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>alt-intl</name>
-            <description>Alternative international</description>
+            <description>English (US, alternative international)</description>
           </configItem>
         </variant>
-	<variant>
+        <variant>
           <configItem>
             <name>colemak</name>
-            <description>Colemak</description>
+            <description>English (Colemak)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>dvorak</name>
-            <description>Dvorak</description>
+            <description>English (Dvorak)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>dvorak-intl</name>
-            <description>Dvorak international (with dead keys)</description>
+            <description>English (Dvorak international with dead keys)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>dvorak-alt-intl</name>
-            <description>Dvorak alternative international (no dead keys)</description>
+            <description>English (Dvorak alternative international no dead keys)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>dvorak-l</name>
-            <description>Left handed Dvorak</description>
+            <description>English (left handed Dvorak)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>dvorak-r</name>
-            <description>Right handed Dvorak</description>
+            <description>English (right handed Dvorak)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>dvorak-classic</name>
-            <description>Classic Dvorak</description>
+            <description>English (classic Dvorak)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>dvp</name>
-            <description>Programmer Dvorak</description>
+            <description>English (programmer Dvorak)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>rus</name>
-            <description>Russian phonetic</description>
-            <languageList><iso639Id>rus</iso639Id></languageList>
+            
+            <shortDescription>ru</shortDescription>
+            <description>Russian (US, phonetic)</description>
+            <languageList>
+              <iso639Id>rus</iso639Id>
+            </languageList>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>mac</name>
-            <description>Macintosh</description>
+            <description>English (Macintosh)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>altgr-intl</name>
-            <description>International (AltGr dead keys)</description>
+            <description>English (international AltGr dead keys)</description>
             <languageList><iso639Id>eng</iso639Id>
                           <iso639Id>fra</iso639Id>
                           <iso639Id>ger</iso639Id></languageList>
@@ -1311,14 +1358,17 @@
         <variant>
           <configItem>
             <name>olpc2</name>
-            <description>Group toggle on multiply/divide key</description>
+            <description>English (layout toggle on multiply/divide key)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
-            <name>srp</name>
-            <description>Serbian</description>
+            <name>hbs</name>
+            <description>Serbo-Croatian (US)</description>
             <languageList><iso639Id>eng</iso639Id>
+                          <iso639Id>bos</iso639Id>
+                          <iso639Id>hbs</iso639Id>
+                          <iso639Id>hrv</iso639Id>
                           <iso639Id>srp</iso639Id> </languageList>
           </configItem>
         </variant>
@@ -1327,52 +1377,73 @@
     <layout>
       <configItem>
         <name>ad</name>
-        <shortDescription>And</shortDescription>
-        <description>Andorra</description>
-        <languageList><iso639Id>cat</iso639Id></languageList>
+        
+        <shortDescription>ca</shortDescription>
+        <description>Catalan</description>
+        <languageList>
+          <iso639Id>cat</iso639Id>
+        </languageList>
       </configItem>
       <variantList/>
     </layout>
     <layout>
       <configItem>
         <name>af</name>
-        <shortDescription>Afg</shortDescription>
-        <description>Afghanistan</description>
+        
+        <shortDescription>fa</shortDescription>
+        <description>Afghani</description>
       </configItem>
       <variantList>
         <variant>
           <configItem>
             <name>ps</name>
+            
+            <shortDescription>ps</shortDescription>
             <description>Pashto</description>
-            <languageList><iso639Id>pus</iso639Id></languageList>
+            <languageList>
+              <iso639Id>pus</iso639Id>
+            </languageList>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>uz</name>
-            <description>Southern Uzbek</description>
-            <languageList><iso639Id>uzb</iso639Id></languageList>
+            
+            <shortDescription>uz</shortDescription>
+            <description>Uzbek (Afghanistan)</description>
+            <languageList>
+              <iso639Id>uzb</iso639Id>
+            </languageList>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>olpc-ps</name>
-            <description>OLPC Pashto</description>
-            <languageList><iso639Id>pus</iso639Id></languageList>
+            
+            <shortDescription>ps</shortDescription>
+            <description>Pashto (Afghanistan, OLPC)</description>
+            <languageList>
+              <iso639Id>pus</iso639Id>
+            </languageList>
           </configItem>
         </variant>
         <variant>
           <configItem>
-            <name>olpc-fa</name>
-            <description>OLPC Dari</description>
+            <name>fa-olpc</name>
             
+            <shortDescription>fa</shortDescription>
+            <description>Persian (Afghanistan, Dari OLPC)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
-            <name>olpc-uz</name>
-            <description>OLPC Southern Uzbek</description>
-            <languageList><iso639Id>uzb</iso639Id></languageList>
+            <name>uz-olpc</name>
+            
+            <shortDescription>uz</shortDescription>
+            <description>Uzbek (Afghanistan, OLPC)</description>
+            <languageList>
+              <iso639Id>uzb</iso639Id>
+            </languageList>
           </configItem>
         </variant>
       </variantList>
@@ -1380,7 +1451,8 @@
     <layout>
       <configItem>
         <name>ara</name>
-        <shortDescription>Ara</shortDescription>
+        
+        <shortDescription>ar</shortDescription>
         <description>Arabic</description>
         <countryList>
           <iso3166Id>AE</iso3166Id>
@@ -1403,43 +1475,45 @@
           <iso3166Id>TN</iso3166Id>
           <iso3166Id>YE</iso3166Id>
         </countryList>
-        <languageList><iso639Id>ara</iso639Id></languageList>
+        <languageList>
+          <iso639Id>ara</iso639Id>
+        </languageList>
       </configItem>
       <variantList>
         <variant>
           <configItem>
             <name>azerty</name>
-            <description>azerty</description>
+            <description>Arabic (azerty)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>azerty_digits</name>
-            <description>azerty/digits</description>
+            <description>Arabic (azerty/digits)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>digits</name>
-            <description>digits</description>
+            <description>Arabic (digits)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>qwerty</name>
-            <description>qwerty</description>
+            <description>Arabic (qwerty)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>qwerty_digits</name>
-            <description>qwerty/digits</description>
+            <description>Arabic (qwerty/digits)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>buckwalter</name>
-            <description>Buckwalter</description>
+            <description>Arabic (Buckwalter)</description>
           </configItem>
         </variant>
       </variantList>
@@ -1447,48 +1521,85 @@
     <layout>
       <configItem>
         <name>al</name>
-        <shortDescription>Alb</shortDescription>
-        <description>Albania</description>
-        <languageList><iso639Id>alb</iso639Id></languageList>
+        
+        <shortDescription>sq</shortDescription>
+        <description>Albanian</description>
+        <languageList>
+          <iso639Id>alb</iso639Id>
+        </languageList>
       </configItem>
       <variantList/>
     </layout>
     <layout>
       <configItem>
         <name>am</name>
-        <shortDescription>Arm</shortDescription>
-        <description>Armenia</description>
-        <languageList><iso639Id>hye</iso639Id></languageList>
+        
+        <shortDescription>hy</shortDescription>
+        <description>Armenian</description>
+        <languageList>
+          <iso639Id>hye</iso639Id>
+        </languageList>
       </configItem>
       <variantList>
         <variant>
           <configItem>
             <name>phonetic</name>
-            <description>Phonetic</description>
+            <description>Armenian (phonetic)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>phonetic-alt</name>
-            <description>Alternative Phonetic</description>
+            <description>Armenian (alternative phonetic)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>eastern</name>
-            <description>Eastern</description>
+            <description>Armenian (eastern)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>western</name>
-            <description>Western</description>
+            <description>Armenian (western)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>eastern-alt</name>
-            <description>Alternative Eastern</description>
+            <description>Armenian (alternative eastern)</description>
+          </configItem>
+        </variant>
+      </variantList>
+    </layout>
+    <layout>
+      <configItem>
+        <name>at</name>
+        
+        <shortDescription>de</shortDescription>
+        <description>German (Austria)</description>
+        <languageList>
+          <iso639Id>ger</iso639Id>
+        </languageList>
+      </configItem>
+      <variantList>
+        <variant>
+          <configItem>
+            <name>nodeadkeys</name>
+            <description>German (Austria, eliminate dead keys)</description>
+          </configItem>
+        </variant>
+        <variant>
+          <configItem>
+            <name>sundeadkeys</name>
+            <description>German (Austria, Sun dead keys)</description>
+          </configItem>
+        </variant>
+        <variant>
+          <configItem>
+            <name>mac</name>
+            <description>German (Austria, Macintosh)</description>
           </configItem>
         </variant>
       </variantList>
@@ -1496,15 +1607,18 @@
     <layout>
       <configItem>
         <name>az</name>
-        <shortDescription>Aze</shortDescription>
-        <description>Azerbaijan</description>
-        <languageList><iso639Id>aze</iso639Id></languageList>
+        
+        <shortDescription>az</shortDescription>
+        <description>Azerbaijani</description>
+        <languageList>
+          <iso639Id>aze</iso639Id>
+        </languageList>
       </configItem>
       <variantList>
         <variant>
           <configItem>
             <name>cyrillic</name>
-            <description>Cyrillic</description>
+            <description>Azerbaijani (Cyrillic)</description>
           </configItem>
         </variant>
       </variantList>
@@ -1512,21 +1626,24 @@
     <layout>
       <configItem>
         <name>by</name>
-        <shortDescription>Blr</shortDescription>
-        <description>Belarus</description>
-        <languageList><iso639Id>bel</iso639Id></languageList>
+        
+        <shortDescription>by</shortDescription>
+        <description>Belarusian</description>
+        <languageList>
+          <iso639Id>bel</iso639Id>
+        </languageList>
       </configItem>
       <variantList>
         <variant>
           <configItem>
             <name>legacy</name>
-            <description>Legacy</description>
+            <description>Belarusian (legacy)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>latin</name>
-            <description>Latin</description>
+            <description>Belarusian (Latin)</description>
           </configItem>
         </variant>
       </variantList>
@@ -1534,52 +1651,54 @@
     <layout>
       <configItem>
         <name>be</name>
-        <shortDescription>Bel</shortDescription>
-        <description>Belgium</description>
+        
+        <shortDescription>be</shortDescription>
+        <description>Belgian</description>
         <languageList><iso639Id>ger</iso639Id>
+                      <iso639Id>nld</iso639Id>
                       <iso639Id>fra</iso639Id></languageList>
       </configItem>
       <variantList>
         <variant>
           <configItem>
             <name>oss</name>
-            <description>Alternative</description>
+            <description>Belgian (alternative)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>oss_latin9</name>
-            <description>Alternative, latin-9 only</description>
+            <description>Belgian (alternative, latin-9 only)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>oss_sundeadkeys</name>
-            <description>Alternative, Sun dead keys</description>
+            <description>Belgian (alternative, Sun dead keys)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>iso-alternate</name>
-            <description>ISO Alternate</description>
+            <description>Belgian (ISO alternate)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>nodeadkeys</name>
-            <description>Eliminate dead keys</description>
+            <description>Belgian (eliminate dead keys)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>sundeadkeys</name>
-            <description>Sun dead keys</description>
+            <description>Belgian (Sun dead keys)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>wang</name>
-            <description>Wang model 724 azerty</description>
+            <description>Belgian (Wang model 724 azerty)</description>
           </configItem>
         </variant>
       </variantList>
@@ -1587,15 +1706,18 @@
     <layout>
       <configItem>
         <name>bd</name>
-        <shortDescription>Bgd</shortDescription>
-        <description>Bangladesh</description>
-        <languageList><iso639Id>ben</iso639Id></languageList>
+        
+        <shortDescription>bn</shortDescription>
+        <description>Bengali</description>
+        <languageList>
+          <iso639Id>ben</iso639Id>
+        </languageList>
       </configItem>
       <variantList>
         <variant>
           <configItem>
             <name>probhat</name>
-            <description>Probhat</description>
+            <description>Bengali (Probhat)</description>
           </configItem>
         </variant>
       </variantList>
@@ -1603,148 +1725,277 @@
     <layout>
       <configItem>
         <name>in</name>
-        <shortDescription>Ind</shortDescription>
-        <description>India</description>
+        
+        <shortDescription>in</shortDescription>
+        <description>Indian</description>
       </configItem>
       <variantList>
         <variant>
           <configItem>
             <name>ben</name>
-            <description>Bengali</description>
-            <languageList><iso639Id>ben</iso639Id></languageList>
+            
+            <shortDescription>bn</shortDescription>
+            <description>Bengali (India)</description>
+            <languageList>
+              <iso639Id>ben</iso639Id>
+            </languageList>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>ben_probhat</name>
-            <description>Bengali Probhat</description>
+            
+            <shortDescription>bn</shortDescription>
+            <description>Bengali (India, Probhat)</description>
+            <languageList>
+              <iso639Id>ben</iso639Id>
+            </languageList>
+          </configItem>
+        </variant>
+        <variant>
+          <configItem>
+            <name>ben_baishakhi</name>
+            <description>Bengali (India, Baishakhi)</description>
+            <languageList><iso639Id>ben</iso639Id></languageList>
+          </configItem>
+        </variant>
+        <variant>
+          <configItem>
+            <name>ben_bornona</name>
+            <description>Bengali (India, Bornona)</description>
+            <languageList><iso639Id>ben</iso639Id></languageList>
+            </configItem>
+        </variant>
+         <variant>
+          <configItem>
+            <name>ben_gitanjali</name>
+            <description>Bengali (India, Uni Gitanjali)</description>
+            <languageList><iso639Id>ben</iso639Id></languageList>
+          </configItem>
+        </variant>
+        <variant>
+          <configItem>
+            <name>ben_inscript</name>
+            <description>Bengali (India, Baishakhi Inscript)</description>
             <languageList><iso639Id>ben</iso639Id></languageList>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>guj</name>
+            
+            <shortDescription>gu</shortDescription>
             <description>Gujarati</description>
-            <languageList><iso639Id>guj</iso639Id></languageList>
+            <languageList>
+              <iso639Id>guj</iso639Id>
+            </languageList>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>guru</name>
-            <description>Gurmukhi</description>
-            <languageList><iso639Id>pan</iso639Id></languageList>
+            
+            <shortDescription>pa</shortDescription>
+            <description>Punjabi (Gurmukhi)</description>
+            <languageList>
+              <iso639Id>pan</iso639Id>
+            </languageList>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>jhelum</name>
-            <description>Gurmukhi Jhelum</description>
-            <languageList><iso639Id>pan</iso639Id></languageList>
+            
+            <shortDescription>pa</shortDescription>
+            <description>Punjabi (Gurmukhi Jhelum)</description>
+            <languageList>
+              <iso639Id>pan</iso639Id>
+            </languageList>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>kan</name>
+            
+            <shortDescription>kn</shortDescription>
             <description>Kannada</description>
-            <languageList><iso639Id>kan</iso639Id></languageList>
+            <languageList>
+              <iso639Id>kan</iso639Id>
+            </languageList>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>mal</name>
+            
+            <shortDescription>ml</shortDescription>
             <description>Malayalam</description>
-            <languageList><iso639Id>mal</iso639Id></languageList>
-         </configItem>
+            <languageList>
+              <iso639Id>mal</iso639Id>
+            </languageList>
+          </configItem>
         </variant>
-	<variant>
+        <variant>
           <configItem>
             <name>mal_lalitha</name>
-            <description>Malayalam Lalitha</description>
-            <languageList><iso639Id>mal</iso639Id></languageList>
-         </configItem>
+            
+            <shortDescription>ml</shortDescription>
+            <description>Malayalam (Lalitha)</description>
+            <languageList>
+              <iso639Id>mal</iso639Id>
+            </languageList>
+          </configItem>
         </variant>
         <variant>
           <configItem>
+            <name>mal_enhanced</name>
+            
+            <shortDescription>ml</shortDescription>
+            <description>Malayalam (enhanced Inscript with Rupee Sign)</description>
+            <languageList><iso639Id>mal</iso639Id></languageList>
+          </configItem>
+         </variant>
+         <variant>
+           <configItem>
             <name>ori</name>
+            
+            <shortDescription>or</shortDescription>
             <description>Oriya</description>
-            <languageList><iso639Id>ori</iso639Id></languageList>
+            <languageList>
+              <iso639Id>ori</iso639Id>
+            </languageList>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>tam_unicode</name>
-            <description>Tamil Unicode</description>
-            <languageList><iso639Id>tam</iso639Id></languageList>
+            
+            <shortDescription>ta</shortDescription>
+            <description>Tamil (Unicode)</description>
+            <languageList>
+              <iso639Id>tam</iso639Id>
+            </languageList>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>tam_keyboard_with_numerals</name>
-            <description>Tamil Keyboard with Numerals</description>
-            <languageList><iso639Id>tam</iso639Id></languageList>
+            
+            <shortDescription>ta</shortDescription>
+            <description>Tamil (keyboard with numerals)</description>
+            <languageList>
+              <iso639Id>tam</iso639Id>
+            </languageList>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>tam_TAB</name>
-            <description>Tamil TAB Typewriter</description>
-            <languageList><iso639Id>tam</iso639Id></languageList>
+            
+            <shortDescription>ta</shortDescription>
+            <description>Tamil (TAB typewriter)</description>
+            <languageList>
+              <iso639Id>tam</iso639Id>
+            </languageList>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>tam_TSCII</name>
-            <description>Tamil TSCII Typewriter</description>
-            <languageList><iso639Id>tam</iso639Id></languageList>
+            
+            <shortDescription>ta</shortDescription>
+            <description>Tamil (TSCII typewriter)</description>
+            <languageList>
+              <iso639Id>tam</iso639Id>
+            </languageList>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>tam</name>
+            
+            <shortDescription>ta</shortDescription>
             <description>Tamil</description>
-            <languageList><iso639Id>tam</iso639Id></languageList>
+            <languageList>
+              <iso639Id>tam</iso639Id>
+            </languageList>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>tel</name>
+            
+            <shortDescription>te</shortDescription>
             <description>Telugu</description>
-            <languageList><iso639Id>tel</iso639Id></languageList>
+            <languageList>
+              <iso639Id>tel</iso639Id>
+            </languageList>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>urd-phonetic</name>
-            <description>Urdu, Phonetic</description>
-            <languageList><iso639Id>urd</iso639Id></languageList>
+            
+            <shortDescription>ur</shortDescription>
+            <description>Urdu (phonetic)</description>
+            <languageList>
+              <iso639Id>urd</iso639Id>
+            </languageList>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>urd-phonetic3</name>
-            <description>Urdu, Alternative phonetic</description>
-            <languageList><iso639Id>urd</iso639Id></languageList>
+            
+            <shortDescription>ur</shortDescription>
+            <description>Urdu (alternative phonetic)</description>
+            <languageList>
+              <iso639Id>urd</iso639Id>
+            </languageList>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>urd-winkeys</name>
-            <description>Urdu, Winkeys</description>
-            <languageList><iso639Id>urd</iso639Id></languageList>
+            
+            <shortDescription>ur</shortDescription>
+            <description>Urdu (WinKeys)</description>
+            <languageList>
+              <iso639Id>urd</iso639Id>
+            </languageList>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>bolnagri</name>
-            <description>Hindi Bolnagri</description>
-            <languageList><iso639Id>hin</iso639Id></languageList>
+            
+            <shortDescription>hi</shortDescription>
+            <description>Hindi (Bolnagri)</description>
+            <languageList>
+              <iso639Id>hin</iso639Id>
+            </languageList>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>hin-wx</name>
-            <description>Hindi Wx</description>
-            <languageList><iso639Id>hin</iso639Id></languageList>
+            
+            <shortDescription>hi</shortDescription>
+            <description>Hindi (Wx)</description>
+            <languageList>
+              <iso639Id>hin</iso639Id>
+            </languageList>
+          </configItem>
+        </variant>
+        <variant>
+          <configItem>
+            <name>eng</name>
+            
+            <shortDescription>en</shortDescription>
+            <description>English (India, with RupeeSign)</description>
+            <languageList>
+              <iso639Id>eng</iso639Id>
+            </languageList>
           </configItem>
         </variant>
       </variantList>
@@ -1752,33 +2003,36 @@
     <layout>
       <configItem>
         <name>ba</name>
-        <shortDescription>Bih</shortDescription>
-        <description>Bosnia and Herzegovina</description>
-        <languageList><iso639Id>bos</iso639Id></languageList>
+        
+        <shortDescription>bs</shortDescription>
+        <description>Bosnian</description>
+        <languageList>
+          <iso639Id>bos</iso639Id>
+        </languageList>
       </configItem>
       <variantList>
         <variant>
           <configItem>
             <name>alternatequotes</name>
-            <description>Use guillemets for quotes</description>
+            <description>Bosnian (use guillemets for quotes)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>unicode</name>
-            <description>Use Bosnian digraphs</description>
+            <description>Bosnian (use Bosnian digraphs)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>unicodeus</name>
-            <description>US keyboard with Bosnian digraphs</description>
+            <description>Bosnian (US keyboard with Bosnian digraphs)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>us</name>
-            <description>US keyboard with Bosnian letters</description>
+            <description>Bosnian (US keyboard with Bosnian letters)</description>
           </configItem>
         </variant>
       </variantList>
@@ -1786,40 +2040,45 @@
     <layout>
       <configItem>
         <name>br</name>
-        <shortDescription>Bra</shortDescription>
-        <description>Brazil</description>
-        <languageList><iso639Id>por</iso639Id></languageList>
+        
+        <shortDescription>pt</shortDescription>
+        <description>Portuguese (Brazil)</description>
+        <languageList>
+          <iso639Id>por</iso639Id>
+        </languageList>
       </configItem>
       <variantList>
         <variant>
           <configItem>
             <name>nodeadkeys</name>
-            <description>Eliminate dead keys</description>
+            <description>Portuguese (Brazil, eliminate dead keys)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>dvorak</name>
-            <description>Dvorak</description>
+            <description>Portuguese (Brazil, Dvorak)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>nativo</name>
-            <description>Nativo</description>
+            <description>Portuguese (Brazil, nativo)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>nativo-us</name>
-            <description>Nativo for USA keyboards</description>
+            <description>Portuguese (Brazil, nativo for USA keyboards)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>nativo-epo</name>
-            <description>Nativo for Esperanto</description>
-            <languageList><iso639Id>epo</iso639Id></languageList>
+            <description>Portuguese (Brazil, nativo for Esperanto)</description>
+            <languageList>
+              <iso639Id>epo</iso639Id>
+            </languageList>
           </configItem>
         </variant>
       </variantList>
@@ -1827,23 +2086,24 @@
     <layout>
       <configItem>
         <name>bg</name>
-        <shortDescription>Bgr</shortDescription>
-        <description>Bulgaria</description>
-        <languageList><iso639Id>bul</iso639Id></languageList>
+        
+        <shortDescription>bg</shortDescription>
+        <description>Bulgarian</description>
+        <languageList>
+          <iso639Id>bul</iso639Id>
+        </languageList>
       </configItem>
       <variantList>
         <variant>
           <configItem>
             <name>phonetic</name>
-            <description>Traditional phonetic</description>
+            <description>Bulgarian (traditional phonetic)</description>
           </configItem>
         </variant>
-      </variantList>
-      <variantList>
         <variant>
           <configItem>
             <name>bas_phonetic</name>
-            <description>New phonetic</description>
+            <description>Bulgarian (new phonetic)</description>
           </configItem>
         </variant>
       </variantList>
@@ -1851,56 +2111,184 @@
     <layout>
       <configItem>
         <name>ma</name>
-        <description>Morocco</description>
+        
+        <shortDescription>ar</shortDescription>
+        <description>Arabic (Morocco)</description>
       </configItem>
       <variantList>
         <variant>
           <configItem>
             <name>french</name>
-            <description>French</description>
-            <languageList><iso639Id>fra</iso639Id></languageList>
+            
+            <shortDescription>fr</shortDescription>
+            <description>French (Morocco)</description>
+            <languageList>
+              <iso639Id>fra</iso639Id>
+            </languageList>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>tifinagh</name>
-            <description>Tifinagh</description>
-            <languageList><iso639Id>ber</iso639Id></languageList>
+            
+            <shortDescription>ber</shortDescription>
+            <description>Berber (Morocco, Tifinagh)</description>
+            <languageList>
+              <iso639Id>ber</iso639Id>
+            </languageList>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>tifinagh-alt</name>
-            <description>Tifinagh Alternative</description>
-            <languageList><iso639Id>ber</iso639Id></languageList>
+            
+            <shortDescription>ber</shortDescription>
+            <description>Berber (Morocco, Tifinagh alternative)</description>
+            <languageList>
+              <iso639Id>ber</iso639Id>
+            </languageList>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>tifinagh-alt-phonetic</name>
-            <description>Tifinagh Alternative Phonetic</description>
-            <languageList><iso639Id>ber</iso639Id></languageList>
+            
+            <shortDescription>ber</shortDescription>
+            <description>Berber (Morocco, Tifinagh alternative phonetic)</description>
+            <languageList>
+              <iso639Id>ber</iso639Id>
+            </languageList>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>tifinagh-extended</name>
-            <description>Tifinagh Extended</description>
-            <languageList><iso639Id>ber</iso639Id></languageList>
+            
+            <shortDescription>ber</shortDescription>
+            <description>Berber (Morocco, Tifinagh extended)</description>
+            <languageList>
+              <iso639Id>ber</iso639Id>
+            </languageList>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>tifinagh-phonetic</name>
-            <description>Tifinagh Phonetic</description>
-            <languageList><iso639Id>ber</iso639Id></languageList>
+            
+            <shortDescription>ber</shortDescription>
+            <description>Berber (Morocco, Tifinagh phonetic)</description>
+            <languageList>
+              <iso639Id>ber</iso639Id>
+            </languageList>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>tifinagh-extended-phonetic</name>
-            <description>Tifinagh Extended Phonetic</description>
-            <languageList><iso639Id>ber</iso639Id></languageList>
+            
+            <shortDescription>ber</shortDescription>
+            <description>Berber (Morocco, Tifinagh extended phonetic)</description>
+            <languageList>
+              <iso639Id>ber</iso639Id>
+            </languageList>
+          </configItem>
+        </variant>
+      </variantList>
+    </layout>
+    <layout>
+      <configItem>
+        <name>cm</name>
+        
+        <shortDescription>cm</shortDescription>
+        <description>English (Cameroon)</description>
+        <languageList><iso639Id>eng</iso639Id></languageList>
+      </configItem>
+      <variantList>
+        <variant>
+          <configItem>
+            <name>french</name>
+            <description>French (Cameroon)</description>
+            <languageList><iso639Id>fra</iso639Id></languageList>
+          </configItem>
+        </variant>
+        <variant>
+          <configItem>
+            <name>qwerty</name>
+            <description>Cameroon Multilingual (qwerty)</description>
+            <languageList>
+              <iso639Id>eng</iso639Id>
+              <iso639Id>bas</iso639Id>
+              <iso639Id>nmg</iso639Id>
+              <iso639Id>fub</iso639Id>
+              <iso639Id>ewo</iso639Id>
+              <iso639Id>xmd</iso639Id>
+              <iso639Id>mfh</iso639Id>
+              <iso639Id>bkm</iso639Id>
+              <iso639Id>ozm</iso639Id>
+              <iso639Id>lns</iso639Id>
+              <iso639Id>sox</iso639Id>
+              <iso639Id>pny</iso639Id>
+              <iso639Id>wes</iso639Id>
+              <iso639Id>lem</iso639Id>
+              <iso639Id>nyj</iso639Id>
+              <iso639Id>mfk</iso639Id>
+              <iso639Id>mcp</iso639Id>
+              <iso639Id>ass</iso639Id>
+              <iso639Id>xed</iso639Id>
+              <iso639Id>dua</iso639Id>
+              <iso639Id>anv</iso639Id>
+              <iso639Id>bum</iso639Id>
+              <iso639Id>btb</iso639Id>
+              <iso639Id>bfd</iso639Id>
+              <iso639Id>azo</iso639Id>
+              <iso639Id>ken</iso639Id>
+              <iso639Id>yam</iso639Id>
+              <iso639Id>yat</iso639Id>
+              <iso639Id>yas</iso639Id>
+            </languageList>
+          </configItem>
+        </variant>
+        <variant>
+          <configItem>
+            <name>azerty</name>
+            <description>Cameroon Multilingual (azerty)</description>
+            <languageList>
+              <iso639Id>fra</iso639Id>
+              <iso639Id>bas</iso639Id>
+              <iso639Id>nmg</iso639Id>
+              <iso639Id>fub</iso639Id>
+              <iso639Id>ewo</iso639Id>
+              <iso639Id>xmd</iso639Id>
+              <iso639Id>mfh</iso639Id>
+              <iso639Id>bkm</iso639Id>
+              <iso639Id>ozm</iso639Id>
+              <iso639Id>lns</iso639Id>
+              <iso639Id>sox</iso639Id>
+              <iso639Id>pny</iso639Id>
+              <iso639Id>wes</iso639Id>
+              <iso639Id>lem</iso639Id>
+              <iso639Id>nyj</iso639Id>
+              <iso639Id>mfk</iso639Id>
+              <iso639Id>mcp</iso639Id>
+              <iso639Id>ass</iso639Id>
+              <iso639Id>xed</iso639Id>
+              <iso639Id>dua</iso639Id>
+              <iso639Id>anv</iso639Id>
+              <iso639Id>bum</iso639Id>
+              <iso639Id>btb</iso639Id>
+              <iso639Id>bfd</iso639Id>
+              <iso639Id>azo</iso639Id>
+              <iso639Id>ken</iso639Id>
+              <iso639Id>yam</iso639Id>
+              <iso639Id>yat</iso639Id>
+              <iso639Id>yas</iso639Id>
+            </languageList>
+          </configItem>
+        </variant>
+        <variant>
+          <configItem>
+            <name>dvorak</name>
+            <description>Cameroon Multilingual (Dvorak)</description>
           </configItem>
         </variant>
       </variantList>
@@ -1908,75 +2296,80 @@
     <layout>
       <configItem>
         <name>mm</name>
-        <shortDescription>Mmr</shortDescription>
-        <description>Myanmar</description>
-        <languageList><iso639Id>mya</iso639Id></languageList>
+        
+        <shortDescription>my</shortDescription>
+        <description>Burmese</description>
+        <languageList>
+          <iso639Id>mya</iso639Id>
+        </languageList>
       </configItem>
       <variantList/>
     </layout>
     <layout>
       <configItem>
         <name>ca</name>
-        <shortDescription>Can</shortDescription>
-        <description>Canada</description>
-        <languageList><iso639Id>fra</iso639Id></languageList>
+        
+        <shortDescription>fr</shortDescription>
+        <description>French (Canada)</description>
+        <languageList>
+          <iso639Id>fra</iso639Id>
+        </languageList>
       </configItem>
       <variantList>
         <variant>
           <configItem>
             <name>fr-dvorak</name>
-            <description>French Dvorak</description>
+            
+            <shortDescription>fr</shortDescription>
+            <description>French (Canada, Dvorak)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>fr-legacy</name>
-            <description>French (legacy)</description>
+            
+            <shortDescription>fr</shortDescription>
+            <description>French (Canada, legacy)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>multix</name>
-            <description>Multilingual</description>
+            <description>Canadian Multilingual</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>multi</name>
-            <description>Multilingual, first part</description>
+            <description>Canadian Multilingual (first part)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>multi-2gr</name>
-            <description>Multilingual, second part</description>
+            <description>Canadian Multilingual (second part)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>ike</name>
-            <description>Inuktitut</description>
-            <languageList><iso639Id>iku</iso639Id></languageList>
-          </configItem>
-        </variant>
-        <variant>
-          <configItem>
-            <name>shs</name>
-            <description>Secwepemctsin</description>
             
-          </configItem>
-        </variant>
-        <variant>
-          <configItem>
-            <name>kut</name>
-            <description>Ktunaxa</description>
+            <shortDescription>ike</shortDescription>
+            <description>Inuktitut</description>
+            <languageList>
+              <iso639Id>iku</iso639Id>
+            </languageList>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>eng</name>
-            <description>English</description>
-            <languageList><iso639Id>eng</iso639Id></languageList>
+            
+            <shortDescription>en</shortDescription>
+            <description>English (Canada)</description>
+            <languageList>
+              <iso639Id>eng</iso639Id>
+            </languageList>
           </configItem>
         </variant>
       </variantList>
@@ -1984,32 +2377,51 @@
     <layout>
       <configItem>
         <name>cd</name>
-        <shortDescription>COD</shortDescription>
-        <description>Congo, Democratic Republic of the</description>
-        <languageList><iso639Id>fra</iso639Id></languageList>
+        
+        <shortDescription>fr</shortDescription>
+        <description>French (Democratic Republic of the Congo)</description>
+        <languageList>
+          <iso639Id>fra</iso639Id>
+        </languageList>
       </configItem>
       <variantList/>
     </layout>
     <layout>
       <configItem>
         <name>cn</name>
-        <shortDescription>Chn</shortDescription>
-        <description>China</description>
-        <languageList><iso639Id>chi</iso639Id></languageList>
+        
+        <shortDescription>zh</shortDescription>
+        <description>Chinese</description>
+        <languageList>
+          <iso639Id>chi</iso639Id>
+        </languageList>
       </configItem>
       <variantList>
         <variant>
           <configItem>
             <name>tib</name>
             <description>Tibetan</description>
-            <languageList><iso639Id>tib</iso639Id></languageList>
+            <languageList>
+              <iso639Id>tib</iso639Id>
+            </languageList>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>tib_asciinum</name>
             <description>Tibetan (with ASCII numerals)</description>
-            <languageList><iso639Id>tib</iso639Id></languageList>
+            <languageList>
+              <iso639Id>tib</iso639Id>
+            </languageList>
+          </configItem>
+        </variant>
+        <variant>
+          <configItem>
+            <name>uig</name>
+            <description>Uyghur</description>
+            <languageList>
+              <iso639Id>uig</iso639Id>
+            </languageList>
           </configItem>
         </variant>
       </variantList>
@@ -2017,33 +2429,36 @@
     <layout>
       <configItem>
         <name>hr</name>
-        <shortDescription>Hrv</shortDescription>
-        <description>Croatia</description>
-        <languageList><iso639Id>scr</iso639Id></languageList>
+        
+        <shortDescription>hr</shortDescription>
+        <description>Croatian</description>
+        <languageList>
+          <iso639Id>scr</iso639Id>
+        </languageList>
       </configItem>
       <variantList>
         <variant>
           <configItem>
             <name>alternatequotes</name>
-            <description>Use guillemets for quotes</description>
+            <description>Croatian (use guillemets for quotes)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>unicode</name>
-            <description>Use Croatian digraphs</description>
+            <description>Croatian (use Croatian digraphs)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>unicodeus</name>
-            <description>US keyboard with Croatian digraphs</description>
+            <description>Croatian (US keyboard with Croatian digraphs)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>us</name>
-            <description>US keyboard with Croatian letters</description>
+            <description>Croatian (US keyboard with Croatian letters)</description>
           </configItem>
         </variant>
       </variantList>
@@ -2051,73 +2466,79 @@
     <layout>
       <configItem>
         <name>cz</name>
-        <shortDescription>Cze</shortDescription>
-        <description>Czechia</description>
-        <languageList><iso639Id>cze</iso639Id></languageList>
+        
+        <shortDescription>cs</shortDescription>
+        <description>Czech</description>
+        <languageList>
+          <iso639Id>cze</iso639Id>
+        </languageList>
       </configItem>
       <variantList>
         <variant>
           <configItem>
             <name>bksl</name>
-            <description>With &lt;\|&gt; key</description>
+            <description>Czech (with &lt;\|&gt; key)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>qwerty</name>
-            <description>qwerty</description>
+            <description>Czech (qwerty)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>qwerty_bksl</name>
-            <description>qwerty, extended Backslash</description>
-          </configItem>
-        </variant>
-	<variant>
-	  <configItem>
-	    <name>ucw</name>
-	    <description>UCW layout (accented letters only)</description>
-	 </configItem>
-	</variant>
-	<variant>
-	  <configItem>
-	    <name>dvorak-ucw</name>
-	    <description>US Dvorak with CZ UCW support</description>
-	 </configItem>
-	</variant>
+            <description>Czech (qwerty, extended Backslash)</description>
+          </configItem>
+        </variant>
+        <variant>
+          <configItem>
+            <name>ucw</name>
+            <description>Czech (UCW layout, accented letters only)</description>
+          </configItem>
+        </variant>
+        <variant>
+          <configItem>
+            <name>dvorak-ucw</name>
+            <description>Czech (US Dvorak with CZ UCW support)</description>
+          </configItem>
+        </variant>
       </variantList>
     </layout>
     <layout>
       <configItem>
         <name>dk</name>
-        <shortDescription>Dnk</shortDescription>
-        <description>Denmark</description>
-        <languageList><iso639Id>dan</iso639Id></languageList>
+        
+        <shortDescription>da</shortDescription>
+        <description>Danish</description>
+        <languageList>
+          <iso639Id>dan</iso639Id>
+        </languageList>
       </configItem>
       <variantList>
         <variant>
           <configItem>
             <name>nodeadkeys</name>
-            <description>Eliminate dead keys</description>
+            <description>Danish (eliminate dead keys)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>mac</name>
-            <description>Macintosh</description>
+            <description>Danish (Macintosh)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>mac_nodeadkeys</name>
-            <description>Macintosh, eliminate dead keys</description>
+            <description>Danish (Macintosh, eliminate dead keys)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>dvorak</name>
-            <description>Dvorak</description>
+            <description>Danish (Dvorak)</description>
           </configItem>
         </variant>
       </variantList>
@@ -2125,27 +2546,30 @@
     <layout>
       <configItem>
         <name>nl</name>
-        <shortDescription>Nld</shortDescription>
-        <description>Netherlands</description>
-        <languageList><iso639Id>nld</iso639Id></languageList>
+        
+        <shortDescription>nl</shortDescription>
+        <description>Dutch</description>
+        <languageList>
+          <iso639Id>nld</iso639Id>
+        </languageList>
       </configItem>
       <variantList>
         <variant>
           <configItem>
             <name>sundeadkeys</name>
-            <description>Sun dead keys</description>
+            <description>Dutch (Sun dead keys)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>mac</name>
-            <description>Macintosh</description>
+            <description>Dutch (Macintosh)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>std</name>
-            <description>Standard</description>
+            <description>Dutch (standard)</description>
           </configItem>
         </variant>
       </variantList>
@@ -2153,35 +2577,41 @@
     <layout>
       <configItem>
         <name>bt</name>
-        <shortDescription>Btn</shortDescription>
-        <description>Bhutan</description>
-        <languageList><iso639Id>dzo</iso639Id></languageList>
+        
+        <shortDescription>dz</shortDescription>
+        <description>Dzongkha</description>
+        <languageList>
+          <iso639Id>dzo</iso639Id>
+        </languageList>
       </configItem>
     </layout>
     <layout>
       <configItem>
         <name>ee</name>
-        <shortDescription>Est</shortDescription>
-        <description>Estonia</description>
-        <languageList><iso639Id>est</iso639Id></languageList>
+        
+        <shortDescription>et</shortDescription>
+        <description>Estonian</description>
+        <languageList>
+          <iso639Id>est</iso639Id>
+        </languageList>
       </configItem>
       <variantList>
         <variant>
           <configItem>
             <name>nodeadkeys</name>
-            <description>Eliminate dead keys</description>
+            <description>Estonian (eliminate dead keys)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>dvorak</name>
-            <description>Dvorak</description>
+            <description>Estonian (Dvorak)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>us</name>
-            <description>US keyboard with Estonian letters</description>
+            <description>Estonian (US keyboard with Estonian letters)</description>
           </configItem>
         </variant>
       </variantList>
@@ -2189,43 +2619,62 @@
     <layout>
       <configItem>
         <name>ir</name>
-        <shortDescription>Irn</shortDescription>
-        <description>Iran</description>
-        <languageList><iso639Id>per</iso639Id></languageList>
+        
+        <shortDescription>fa</shortDescription>
+        <description>Persian</description>
+        <languageList>
+          <iso639Id>per</iso639Id>
+        </languageList>
       </configItem>
       <variantList>
         <variant>
           <configItem>
             <name>pes_keypad</name>
-            <description>Persian, with Persian Keypad</description>
+            <description>Persian (with Persian Keypad)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>ku</name>
-            <description>Kurdish, Latin Q</description>
-            <languageList><iso639Id>kur</iso639Id></languageList>
+            
+            <shortDescription>ku</shortDescription>
+            <description>Kurdish (Iran, Latin Q)</description>
+            <languageList>
+              <iso639Id>kur</iso639Id>
+            </languageList>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>ku_f</name>
-            <description>Kurdish, (F)</description>
-            <languageList><iso639Id>kur</iso639Id></languageList>
+            
+            <shortDescription>ku</shortDescription>
+            <description>Kurdish (Iran, F)</description>
+            <languageList>
+              <iso639Id>kur</iso639Id>
+            </languageList>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>ku_alt</name>
-            <description>Kurdish, Latin Alt-Q</description>
-            <languageList><iso639Id>kur</iso639Id></languageList>
+            
+            <shortDescription>ku</shortDescription>
+            <description>Kurdish (Iran, Latin Alt-Q)</description>
+            <languageList>
+              <iso639Id>kur</iso639Id>
+            </languageList>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>ku_ara</name>
-            <description>Kurdish, Arabic-Latin</description>
-            <languageList><iso639Id>kur</iso639Id></languageList>
+            
+            <shortDescription>ku</shortDescription>
+            <description>Kurdish (Iran, Arabic-Latin)</description>
+            <languageList>
+              <iso639Id>kur</iso639Id>
+            </languageList>
           </configItem>
         </variant>
       </variantList>
@@ -2233,8 +2682,9 @@
     <layout>
       <configItem>
         <name>iq</name>
-        <shortDescription>Irq</shortDescription>
-        <description>Iraq</description>
+        
+        <shortDescription>ar</shortDescription>
+        <description>Iraqi</description>
         <languageList><iso639Id>ara</iso639Id>
                       <iso639Id>kur</iso639Id></languageList>
       </configItem>
@@ -2242,29 +2692,45 @@
         <variant>
           <configItem>
             <name>ku</name>
-            <description>Kurdish, Latin Q</description>
-            <languageList><iso639Id>kur</iso639Id></languageList>
+            
+            <shortDescription>ku</shortDescription>
+            <description>Kurdish (Iraq, Latin Q)</description>
+            <languageList>
+              <iso639Id>kur</iso639Id>
+            </languageList>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>ku_f</name>
-            <description>Kurdish, (F)</description>
-            <languageList><iso639Id>kur</iso639Id></languageList>
+            
+            <shortDescription>ku</shortDescription>
+            <description>Kurdish (Iraq, F)</description>
+            <languageList>
+              <iso639Id>kur</iso639Id>
+            </languageList>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>ku_alt</name>
-            <description>Kurdish, Latin Alt-Q</description>
-            <languageList><iso639Id>kur</iso639Id></languageList>
+            
+            <shortDescription>ku</shortDescription>
+            <description>Kurdish (Iraq, Latin Alt-Q)</description>
+            <languageList>
+              <iso639Id>kur</iso639Id>
+            </languageList>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>ku_ara</name>
-            <description>Kurdish, Arabic-Latin</description>
-            <languageList><iso639Id>kur</iso639Id></languageList>
+            
+            <shortDescription>ku</shortDescription>
+            <description>Kurdish (Iraq, Arabic-Latin)</description>
+            <languageList>
+              <iso639Id>kur</iso639Id>
+            </languageList>
           </configItem>
         </variant>
       </variantList>
@@ -2272,15 +2738,18 @@
     <layout>
       <configItem>
         <name>fo</name>
-        <shortDescription>Fro</shortDescription>
-        <description>Faroe Islands</description>
-        <languageList><iso639Id>fao</iso639Id></languageList>
+        
+        <shortDescription>fo</shortDescription>
+        <description>Faroese</description>
+        <languageList>
+          <iso639Id>fao</iso639Id>
+        </languageList>
       </configItem>
       <variantList>
         <variant>
           <configItem>
             <name>nodeadkeys</name>
-            <description>Eliminate dead keys</description>
+            <description>Faroese (eliminate dead keys)</description>
           </configItem>
         </variant>
       </variantList>
@@ -2288,35 +2757,37 @@
     <layout>
       <configItem>
         <name>fi</name>
-        <shortDescription>Fin</shortDescription>
-        <description>Finland</description>
-        <languageList><iso639Id>fin</iso639Id></languageList>
+        
+        <shortDescription>fi</shortDescription>
+        <description>Finnish</description>
+        <languageList>
+          <iso639Id>fin</iso639Id>
+        </languageList>
       </configItem>
       <variantList>
         <variant>
           <configItem>
-            <name>nodeadkeys</name>
-            <description>Eliminate dead keys</description>
+            <name>classic</name>
+            <description>Finnish (classic)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
-            <name>smi</name>
-            <description>Northern Saami</description>
-            <languageList><iso639Id>smi</iso639Id>
-                          <iso639Id>sme</iso639Id></languageList>
+            <name>nodeadkeys</name>
+            <description>Finnish (classic, eliminate dead keys)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
-            <name>classic</name>
-            <description>Classic</description>
+            <name>smi</name>
+            <description>Northern Saami (Finland)</description>
+            <languageList><iso639Id>sme</iso639Id></languageList>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>mac</name>
-            <description>Macintosh</description>
+            <description>Finnish (Macintosh)</description>
           </configItem>
         </variant>
       </variantList>
@@ -2324,107 +2795,114 @@
     <layout>
       <configItem>
         <name>fr</name>
-        <shortDescription>Fra</shortDescription>
-        <description>France</description>
-        <languageList><iso639Id>fra</iso639Id></languageList>
+        
+        <shortDescription>fr</shortDescription>
+        <description>French</description>
+        <languageList>
+          <iso639Id>fra</iso639Id>
+        </languageList>
       </configItem>
       <variantList>
         <variant>
           <configItem>
             <name>nodeadkeys</name>
-            <description>Eliminate dead keys</description>
+            <description>French (eliminate dead keys)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>sundeadkeys</name>
-            <description>Sun dead keys</description>
+            <description>French (Sun dead keys)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>oss</name>
-            <description>Alternative</description>
+            <description>French (alternative)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>oss_latin9</name>
-            <description>Alternative, latin-9 only</description>
+            <description>French (alternative, latin-9 only)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>oss_nodeadkeys</name>
-            <description>Alternative, eliminate dead keys</description>
+            <description>French (alternative, eliminate dead keys)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>oss_sundeadkeys</name>
-            <description>Alternative, Sun dead keys</description>
+            <description>French (alternative, Sun dead keys)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>latin9</name>
-            <description>(Legacy) Alternative</description>
+            <description>French (legacy, alternative)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>latin9_nodeadkeys</name>
-            <description>(Legacy) Alternative, eliminate dead keys</description>
+            <description>French (legacy, alternative, eliminate dead keys)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>latin9_sundeadkeys</name>
-            <description>(Legacy) Alternative, Sun dead keys</description>
+            <description>French (legacy, alternative, Sun dead keys)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>bepo</name>
-            <description>Bepo, ergonomic, Dvorak way</description>
+            <description>French (Bepo, ergonomic, Dvorak way)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>bepo_latin9</name>
-            <description>Bepo, ergonomic, Dvorak way, latin-9 only</description>
+            <description>French (Bepo, ergonomic, Dvorak way, latin-9 only)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>dvorak</name>
-            <description>Dvorak</description>
+            <description>French (Dvorak)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>mac</name>
-            <description>Macintosh</description>
+            <description>French (Macintosh)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>bre</name>
-            <description>Breton</description>
+            <description>French (Breton)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>oci</name>
             <description>Occitan</description>
-            <languageList><iso639Id>oci</iso639Id></languageList>
+            <languageList>
+              <iso639Id>oci</iso639Id>
+            </languageList>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>geo</name>
-            <description>Georgian AZERTY Tskapo</description>
-            <languageList><iso639Id>geo</iso639Id></languageList>
+            <description>Georgian (France, AZERTY Tskapo)</description>
+            <languageList>
+              <iso639Id>geo</iso639Id>
+            </languageList>
           </configItem>
         </variant>
       </variantList>
@@ -2432,63 +2910,90 @@
     <layout>
       <configItem>
         <name>gh</name>
-        <shortDescription>Gha</shortDescription>
-        <description>Ghana</description>
-        <languageList><iso639Id>eng</iso639Id></languageList>
+        
+        <shortDescription>en</shortDescription>
+        <description>English (Ghana)</description>
+        <languageList>
+          <iso639Id>eng</iso639Id>
+        </languageList>
       </configItem>
       <variantList>
         <variant>
           <configItem>
             <name>generic</name>
-            <description>Multilingual</description>
+            <description>English (Ghana, multilingual)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>akan</name>
+            
+            <shortDescription>ak</shortDescription>
             <description>Akan</description>
-            <languageList><iso639Id>aka</iso639Id></languageList>
+            <languageList>
+              <iso639Id>aka</iso639Id>
+            </languageList>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>ewe</name>
+            
+            <shortDescription>ee</shortDescription>
             <description>Ewe</description>
-            <languageList><iso639Id>ewe</iso639Id></languageList>
+            <languageList>
+              <iso639Id>ewe</iso639Id>
+            </languageList>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>fula</name>
+            
+            <shortDescription>ff</shortDescription>
             <description>Fula</description>
-            <languageList><iso639Id>ful</iso639Id></languageList>
+            <languageList>
+              <iso639Id>ful</iso639Id>
+            </languageList>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>ga</name>
+            
+            <shortDescription>gaa</shortDescription>
             <description>Ga</description>
-            <languageList><iso639Id>gaa</iso639Id></languageList>
+            <languageList>
+              <iso639Id>gaa</iso639Id>
+            </languageList>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>hausa</name>
+            
+            <shortDescription>ha</shortDescription>
             <description>Hausa</description>
-            <languageList><iso639Id>hau</iso639Id></languageList>
+            <languageList>
+              <iso639Id>hau</iso639Id>
+            </languageList>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>avn</name>
+            
+            <shortDescription>avn</shortDescription>
             <description>Avatime</description>
-            <languageList><iso639Id>avn</iso639Id></languageList>
+            <languageList>
+              <iso639Id>avn</iso639Id>
+            </languageList>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>gillbt</name>
-            <description>GILLBT</description>
+            <description>English (Ghana, GILLBT)</description>
           </configItem>
         </variant>
       </variantList>
@@ -2496,44 +3001,56 @@
     <layout>
       <configItem>
         <name>gn</name>
-        <shortDescription>Gin</shortDescription>
-        <description>Guinea</description>
-        <languageList><iso639Id>fra</iso639Id></languageList>
+        
+        <shortDescription>fr</shortDescription>
+        <description>French (Guinea)</description>
+        <languageList>
+          <iso639Id>fra</iso639Id>
+        </languageList>
       </configItem>
       <variantList/>
     </layout>
     <layout>
       <configItem>
         <name>ge</name>
-        <shortDescription>Geo</shortDescription>
-        <description>Georgia</description>
-        <languageList><iso639Id>geo</iso639Id></languageList>
+        
+        <shortDescription>ka</shortDescription>
+        <description>Georgian</description>
+        <languageList>
+          <iso639Id>geo</iso639Id>
+        </languageList>
       </configItem>
       <variantList>
         <variant>
           <configItem>
             <name>ergonomic</name>
-            <description>Ergonomic</description>
+            <description>Georgian (ergonomic)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>mess</name>
-            <description>MESS</description>
+            <description>Georgian (MESS)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>ru</name>
-            <description>Russian</description>
-            <languageList><iso639Id>rus</iso639Id></languageList>
+            
+            <shortDescription>ru</shortDescription>
+            <description>Russian (Georgia)</description>
+            <languageList>
+              <iso639Id>rus</iso639Id>
+            </languageList>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>os</name>
-            <description>Ossetian</description>
-            <languageList><iso639Id>oss</iso639Id></languageList>
+            <description>Ossetian (Georgia)</description>
+            <languageList>
+              <iso639Id>oss</iso639Id>
+            </languageList>
           </configItem>
         </variant>
       </variantList>
@@ -2541,89 +3058,101 @@
     <layout>
       <configItem>
         <name>de</name>
-        <shortDescription>Deu</shortDescription>
-        <description>Germany</description>
-        <languageList><iso639Id>ger</iso639Id></languageList>
+        
+        <shortDescription>de</shortDescription>
+        <description>German</description>
+        <languageList>
+          <iso639Id>ger</iso639Id>
+        </languageList>
       </configItem>
       <variantList>
         <variant>
           <configItem>
             <name>deadacute</name>
-            <description>Dead acute</description>
+            <description>German (dead acute)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>deadgraveacute</name>
-            <description>Dead grave acute</description>
+            <description>German (dead grave acute)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>nodeadkeys</name>
-            <description>Eliminate dead keys</description>
+            <description>German (eliminate dead keys)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>ro</name>
-            <description>Romanian keyboard with German letters</description>
+            <description>Romanian (Germany)</description>
+            <languageList><iso639Id>rum</iso639Id></languageList>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>ro_nodeadkeys</name>
-            <description>Romanian keyboard with German letters, eliminate dead keys</description>
+            <description>Romanian (Germany, eliminate dead keys)</description>
+            <languageList><iso639Id>rum</iso639Id></languageList>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>dvorak</name>
-            <description>Dvorak</description>
+            <description>German (Dvorak)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>sundeadkeys</name>
-            <description>Sun dead keys</description>
+            <description>German (Sun dead keys)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>neo</name>
-            <description>Neo 2</description>
+            <description>German (Neo 2)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>mac</name>
-            <description>Macintosh</description>
+            <description>German (Macintosh)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>mac_nodeadkeys</name>
-            <description>Macintosh, eliminate dead keys</description>
+            <description>German (Macintosh, eliminate dead keys)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>dsb</name>
             <description>Lower Sorbian</description>
-            <languageList><iso639Id>dsb</iso639Id></languageList>
+            <languageList>
+              <iso639Id>dsb</iso639Id>
+            </languageList>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>dsb_qwertz</name>
             <description>Lower Sorbian (qwertz)</description>
-            <languageList><iso639Id>dsb</iso639Id></languageList>
+            <languageList>
+              <iso639Id>dsb</iso639Id>
+            </languageList>
           </configItem>
         </variant>
         <variant>
           <configItem>
-            <name>qwerty</name>
-            <description>qwerty</description>
+            <name>ru</name>
+            <description>Russian (Germany, phonetic)</description>
+            <languageList>
+              <iso639Id>rus</iso639Id>
+            </languageList>
           </configItem>
         </variant>
       </variantList>
@@ -2631,33 +3160,36 @@
     <layout>
       <configItem>
         <name>gr</name>
-        <shortDescription>Grc</shortDescription>
-        <description>Greece</description>
-        <languageList><iso639Id>gre</iso639Id></languageList>
+        
+        <shortDescription>gr</shortDescription>
+        <description>Greek</description>
+        <languageList>
+          <iso639Id>gre</iso639Id>
+        </languageList>
       </configItem>
       <variantList>
         <variant>
           <configItem>
             <name>simple</name>
-            <description>Simple</description>
+            <description>Greek (simple)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>extended</name>
-            <description>Extended</description>
+            <description>Greek (extended)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>nodeadkeys</name>
-            <description>Eliminate dead keys</description>
+            <description>Greek (eliminate dead keys)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>polytonic</name>
-            <description>Polytonic</description>
+            <description>Greek (polytonic)</description>
           </configItem>
         </variant>
       </variantList>
@@ -2665,128 +3197,126 @@
     <layout>
       <configItem>
         <name>hu</name>
-        <shortDescription>Hun</shortDescription>
-        <description>Hungary</description>
-        <languageList><iso639Id>hun</iso639Id></languageList>
+        
+        <shortDescription>hu</shortDescription>
+        <description>Hungarian</description>
+        <languageList>
+          <iso639Id>hun</iso639Id>
+        </languageList>
       </configItem>
       <variantList>
         <variant>
           <configItem>
             <name>standard</name>
-            <description>Standard</description>
+            <description>Hungarian (standard)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>nodeadkeys</name>
-            <description>Eliminate dead keys</description>
+            <description>Hungarian (eliminate dead keys)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>qwerty</name>
-            <description>qwerty</description>
+            <description>Hungarian (qwerty)</description>
           </configItem>
         </variant>
-
-        
         <variant>
           <configItem>
             <name>101_qwertz_comma_dead</name>
-            <description>101/qwertz/comma/Dead keys</description>
+            <description>Hungarian (101/qwertz/comma/dead keys)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>101_qwertz_comma_nodead</name>
-            <description>101/qwertz/comma/Eliminate dead keys</description>
+            <description>Hungarian (101/qwertz/comma/eliminate dead keys)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>101_qwertz_dot_dead</name>
-            <description>101/qwertz/dot/Dead keys</description>
+            <description>Hungarian (101/qwertz/dot/dead keys)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>101_qwertz_dot_nodead</name>
-            <description>101/qwertz/dot/Eliminate dead keys</description>
+            <description>Hungarian (101/qwertz/dot/eliminate dead keys)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>101_qwerty_comma_dead</name>
-            <description>101/qwerty/comma/Dead keys</description>
+            <description>Hungarian (101/qwerty/comma/dead keys)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>101_qwerty_comma_nodead</name>
-            <description>101/qwerty/comma/Eliminate dead keys</description>
+            <description>Hungarian (101/qwerty/comma/eliminate dead keys)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>101_qwerty_dot_dead</name>
-            <description>101/qwerty/dot/Dead keys</description>
+            <description>Hungarian (101/qwerty/dot/dead keys)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>101_qwerty_dot_nodead</name>
-            <description>101/qwerty/dot/Eliminate dead keys</description>
+            <description>Hungarian (101/qwerty/dot/eliminate dead keys)</description>
           </configItem>
         </variant>
-
-
-        
         <variant>
           <configItem>
             <name>102_qwertz_comma_dead</name>
-            <description>102/qwertz/comma/Dead keys</description>
+            <description>Hungarian (102/qwertz/comma/dead keys)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>102_qwertz_comma_nodead</name>
-            <description>102/qwertz/comma/Eliminate dead keys</description>
+            <description>Hungarian (102/qwertz/comma/eliminate dead keys)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>102_qwertz_dot_dead</name>
-            <description>102/qwertz/dot/Dead keys</description>
+            <description>Hungarian (102/qwertz/dot/dead keys)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>102_qwertz_dot_nodead</name>
-            <description>102/qwertz/dot/Eliminate dead keys</description>
+            <description>Hungarian (102/qwertz/dot/eliminate dead keys)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>102_qwerty_comma_dead</name>
-            <description>102/qwerty/comma/Dead keys</description>
+            <description>Hungarian (102/qwerty/comma/dead keys)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>102_qwerty_comma_nodead</name>
-            <description>102/qwerty/comma/Eliminate dead keys</description>
+            <description>Hungarian (102/qwerty/comma/eliminate dead keys)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>102_qwerty_dot_dead</name>
-            <description>102/qwerty/dot/Dead keys</description>
+            <description>Hungarian (102/qwerty/dot/dead keys)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>102_qwerty_dot_nodead</name>
-            <description>102/qwerty/dot/Eliminate dead keys</description>
+            <description>Hungarian (102/qwerty/dot/eliminate dead keys)</description>
           </configItem>
         </variant>
       </variantList>
@@ -2794,33 +3324,36 @@
     <layout>
       <configItem>
         <name>is</name>
-        <shortDescription>Isl</shortDescription>
-        <description>Iceland</description>
-        <languageList><iso639Id>ice</iso639Id></languageList>
+        
+        <shortDescription>is</shortDescription>
+        <description>Icelandic</description>
+        <languageList>
+          <iso639Id>ice</iso639Id>
+        </languageList>
       </configItem>
       <variantList>
         <variant>
           <configItem>
             <name>Sundeadkeys</name>
-            <description>Sun dead keys</description>
+            <description>Icelandic (Sun dead keys)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>nodeadkeys</name>
-            <description>Eliminate dead keys</description>
+            <description>Icelandic (eliminate dead keys)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>mac</name>
-            <description>Macintosh</description>
+            <description>Icelandic (Macintosh)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>dvorak</name>
-            <description>Dvorak</description>
+            <description>Icelandic (Dvorak)</description>
           </configItem>
         </variant>
       </variantList>
@@ -2828,27 +3361,30 @@
     <layout>
       <configItem>
         <name>il</name>
-        <shortDescription>Isr</shortDescription>
-        <description>Israel</description>
-        <languageList><iso639Id>heb</iso639Id></languageList>
+        
+        <shortDescription>he</shortDescription>
+        <description>Hebrew</description>
+        <languageList>
+          <iso639Id>heb</iso639Id>
+        </languageList>
       </configItem>
       <variantList>
         <variant>
           <configItem>
             <name>lyx</name>
-            <description>lyx</description>
+            <description>Hebrew (lyx)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>phonetic</name>
-            <description>Phonetic</description>
+            <description>Hebrew (phonetic)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>biblical</name>
-            <description>Biblical Hebrew (Tiro)</description>
+            <description>Hebrew (Biblical, Tiro)</description>
           </configItem>
         </variant>
       </variantList>
@@ -2856,34 +3392,39 @@
     <layout>
       <configItem>
         <name>it</name>
-        <shortDescription>Ita</shortDescription>
-        <description>Italy</description>
-        <languageList><iso639Id>ita</iso639Id></languageList>
+        
+        <shortDescription>it</shortDescription>
+        <description>Italian</description>
+        <languageList>
+          <iso639Id>ita</iso639Id>
+        </languageList>
       </configItem>
       <variantList>
         <variant>
           <configItem>
             <name>nodeadkeys</name>
-            <description>Eliminate dead keys</description>
+            <description>Italian (eliminate dead keys)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>mac</name>
-            <description>Macintosh</description>
+            <description>Italian (Macintosh)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>us</name>
-            <description>US keyboard with Italian letters</description>
+            <description>Italian (US keyboard with Italian letters)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>geo</name>
-            <description>Georgian</description>
-            <languageList><iso639Id>geo</iso639Id></languageList>
+            <description>Georgian (Italy)</description>
+            <languageList>
+              <iso639Id>geo</iso639Id>
+            </languageList>
           </configItem>
         </variant>
       </variantList>
@@ -2891,27 +3432,36 @@
     <layout>
       <configItem>
         <name>jp</name>
-        <shortDescription>Jpn</shortDescription>
-        <description>Japan</description>
-        <languageList><iso639Id>jpn</iso639Id></languageList>
+        
+        <shortDescription>ja</shortDescription>
+        <description>Japanese</description>
+        <languageList>
+          <iso639Id>jpn</iso639Id>
+        </languageList>
       </configItem>
       <variantList>
         <variant>
           <configItem>
             <name>kana</name>
-            <description>Kana</description>
+            <description>Japanese (Kana)</description>
+          </configItem>
+        </variant>
+        <variant>
+          <configItem>
+            <name>kana86</name>
+            <description>Japanese (Kana 86)</description>
           </configItem>
         </variant>
-	<variant>
+        <variant>
           <configItem>
             <name>OADG109A</name>
-            <description>OADG 109A</description>
+            <description>Japanese (OADG 109A)</description>
           </configItem>
-	</variant>
+        </variant>
         <variant>
           <configItem>
             <name>mac</name>
-            <description>Macintosh</description>
+            <description>Japanese (Macintosh)</description>
           </configItem>
         </variant>
       </variantList>
@@ -2919,15 +3469,18 @@
     <layout>
       <configItem>
         <name>kg</name>
-        <shortDescription>Kgz</shortDescription>
-        <description>Kyrgyzstan</description>
-        <languageList><iso639Id>kir</iso639Id></languageList>
+        
+        <shortDescription>ki</shortDescription>
+        <description>Kyrgyz</description>
+        <languageList>
+          <iso639Id>kir</iso639Id>
+        </languageList>
       </configItem>
       <variantList>
-       <variant>
+        <variant>
           <configItem>
             <name>phonetic</name>
-            <description>Phonetic</description>
+            <description>Kyrgyz (phonetic)</description>
           </configItem>
         </variant>
       </variantList>
@@ -2935,52 +3488,73 @@
     <layout>
       <configItem>
         <name>kh</name>
-        <shortDescription>Khm</shortDescription>
-        <description>Cambodia</description>
-        <languageList><iso639Id>khm</iso639Id></languageList>
+        
+        <shortDescription>km</shortDescription>
+        <description>Khmer (Cambodia)</description>
+        <languageList>
+          <iso639Id>khm</iso639Id>
+        </languageList>
       </configItem>
       <variantList/>
     </layout>
     <layout>
       <configItem>
         <name>kz</name>
-        <shortDescription>Kaz</shortDescription>
-        <description>Kazakhstan</description>
-        <languageList><iso639Id>kaz</iso639Id></languageList>
+        
+        <shortDescription>kk</shortDescription>
+        <description>Kazakh</description>
+        <languageList>
+          <iso639Id>kaz</iso639Id>
+        </languageList>
       </configItem>
       <variantList>
-	<variant>
-	  <configItem>
-	    <name>ruskaz</name>
-	    <description>Russian with Kazakh</description>
-            <languageList><iso639Id>kaz</iso639Id>
+        <variant>
+          <configItem>
+            <name>ruskaz</name>
+            
+            <shortDescription>ru</shortDescription>
+            <description>Russian (Kazakhstan, with Kazakh)</description>
+            <languageList><iso639Id>kaz</iso639Id>
                           <iso639Id>rus</iso639Id></languageList>
-	  </configItem>
-	</variant>
-	<variant>
-	  <configItem>
-	    <name>kazrus</name>
-	    <description>Kazakh with Russian</description>
+          </configItem>
+        </variant>
+        <variant>
+          <configItem>
+            <name>kazrus</name>
+            <description>Kazakh (with Russian)</description>
             <languageList><iso639Id>kaz</iso639Id>
                           <iso639Id>rus</iso639Id></languageList>
-	  </configItem>
-	</variant>
+          </configItem>
+        </variant>
       </variantList>
     </layout>
     <layout>
       <configItem>
         <name>la</name>
-        <shortDescription>Lao</shortDescription>
-        <description>Laos</description>
-        <languageList><iso639Id>lao</iso639Id></languageList>
+        
+        <shortDescription>lo</shortDescription>
+        <description>Lao</description>
+        <languageList>
+          <iso639Id>lao</iso639Id>
+        </languageList>
       </configItem>
-      <variantList/>
+      <variantList>
+        <variant>
+          <configItem>
+            <name>stea</name>
+            <description>Lao (STEA proposed standard layout)</description>
+            <languageList><iso639Id>lao</iso639Id>
+            </languageList>
+          </configItem>
+        </variant>
+      </variantList>
     </layout>
     <layout>
       <configItem>
         <name>latam</name>
-        <shortDescription>LAm</shortDescription>
-        <description>Latin American</description>
+        
+        <shortDescription>es</shortDescription>
+        <description>Spanish (Latin American)</description>
         <countryList>
           <iso3166Id>AR</iso3166Id>
           <iso3166Id>BO</iso3166Id>
@@ -3004,25 +3578,27 @@
           <iso3166Id>UY</iso3166Id>
           <iso3166Id>VE</iso3166Id>
         </countryList>
-        <languageList><iso639Id>spa</iso639Id></languageList>
+        <languageList>
+          <iso639Id>spa</iso639Id>
+        </languageList>
       </configItem>
       <variantList>
         <variant>
           <configItem>
             <name>nodeadkeys</name>
-            <description>Eliminate dead keys</description>
+            <description>Spanish (Latin American, eliminate dead keys)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>deadtilde</name>
-            <description>Include dead tilde</description>
+            <description>Spanish (Latin American, include dead tilde)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>sundeadkeys</name>
-            <description>Sun dead keys</description>
+            <description>Spanish (Latin American, Sun dead keys)</description>
           </configItem>
         </variant>
       </variantList>
@@ -3030,39 +3606,42 @@
     <layout>
       <configItem>
         <name>lt</name>
-        <shortDescription>Ltu</shortDescription>
-        <description>Lithuania</description>
-        <languageList><iso639Id>lit</iso639Id></languageList>
+        
+        <shortDescription>lt</shortDescription>
+        <description>Lithuanian</description>
+        <languageList>
+          <iso639Id>lit</iso639Id>
+        </languageList>
       </configItem>
       <variantList>
         <variant>
           <configItem>
             <name>std</name>
-            <description>Standard</description>
+            <description>Lithuanian (standard)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>us</name>
-            <description>US keyboard with Lithuanian letters</description>
+            <description>Lithuanian (US keyboard with Lithuanian letters)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>ibm</name>
-            <description>IBM (LST 1205-92)</description>
+            <description>Lithuanian (IBM LST 1205-92)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>lekp</name>
-            <description>LEKP</description>
+            <description>Lithuanian (LEKP)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>lekpa</name>
-            <description>LEKPa</description>
+            <description>Lithuanian (LEKPa)</description>
           </configItem>
         </variant>
       </variantList>
@@ -3070,27 +3649,48 @@
     <layout>
       <configItem>
         <name>lv</name>
-        <shortDescription>Lva</shortDescription>
-        <description>Latvia</description>
-        <languageList><iso639Id>lav</iso639Id></languageList>
+        
+        <shortDescription>lv</shortDescription>
+        <description>Latvian</description>
+        <languageList>
+          <iso639Id>lav</iso639Id>
+        </languageList>
       </configItem>
       <variantList>
         <variant>
           <configItem>
             <name>apostrophe</name>
-            <description>Apostrophe (') variant</description>
+            <description>Latvian (apostrophe variant)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>tilde</name>
-            <description>Tilde (~) variant</description>
+            <description>Latvian (tilde variant)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>fkey</name>
-            <description>F-letter (F) variant</description>
+            <description>Latvian (F variant)</description>
+          </configItem>
+        </variant>
+        <variant>
+          <configItem>
+            <name>modern</name>
+            <description>Latvian (modern)</description>
+          </configItem>
+        </variant>
+        <variant>
+          <configItem>
+            <name>ergonomic</name>
+            <description>Latvian (ergonomic, ŪGJRMV)</description>
+          </configItem>
+        </variant>
+        <variant>
+          <configItem>
+            <name>adapted</name>
+            <description>Latvian (adapted)</description>
           </configItem>
         </variant>
       </variantList>
@@ -3098,60 +3698,66 @@
     <layout>
       <configItem>
         <name>mao</name>
-        <shortDescription>Mao</shortDescription>
+        
+        <shortDescription>mi</shortDescription>
         <description>Maori</description>
-        <languageList><iso639Id>mao</iso639Id></languageList>
+        <languageList>
+          <iso639Id>mao</iso639Id>
+        </languageList>
       </configItem>
       <variantList/>
     </layout>
     <layout>
       <configItem>
         <name>me</name>
-        <shortDescription>MNE</shortDescription>
-        <description>Montenegro</description>
-        <languageList><iso639Id>srp</iso639Id></languageList>
+        
+        <shortDescription>sr</shortDescription>
+        <description>Montenegrin</description>
+        <languageList>
+          <iso639Id>srp</iso639Id>
+        </languageList>
       </configItem>
       <variantList>
         <variant>
           <configItem>
             <name>cyrillic</name>
-            <description>Cyrillic</description>
+            <description>Montenegrin (Cyrillic)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>cyrillicyz</name>
-            <description>Cyrillic, Z and ZHE swapped</description>
+            <description>Montenegrin (Cyrillic, Z and ZHE swapped)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>latinunicode</name>
-            <description>Latin unicode</description>
+            <description>Montenegrin (Latin Unicode)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>latinyz</name>
-            <description>Latin qwerty</description>
+            <description>Montenegrin (Latin qwerty)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>latinunicodeyz</name>
-            <description>Latin unicode qwerty</description>
+            <description>Montenegrin (Latin Unicode qwerty)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>cyrillicalternatequotes</name>
-            <description>Cyrillic with guillemets</description>
+            <description>Montenegrin (Cyrillic with guillemets)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>latinalternatequotes</name>
-            <description>Latin with guillemets</description>
+            <description>Montenegrin (Latin with guillemets)</description>
           </configItem>
         </variant>
       </variantList>
@@ -3159,15 +3765,18 @@
     <layout>
       <configItem>
         <name>mk</name>
-        <shortDescription>Mkd</shortDescription>
-        <description>Macedonia</description>
-        <languageList><iso639Id>mkd</iso639Id></languageList>
+        
+        <shortDescription>mk</shortDescription>
+        <description>Macedonian</description>
+        <languageList>
+          <iso639Id>mkd</iso639Id>
+        </languageList>
       </configItem>
       <variantList>
         <variant>
           <configItem>
             <name>nodeadkeys</name>
-            <description>Eliminate dead keys</description>
+            <description>Macedonian (eliminate dead keys)</description>
           </configItem>
         </variant>
       </variantList>
@@ -3175,15 +3784,18 @@
     <layout>
       <configItem>
         <name>mt</name>
-        <shortDescription>Mlt</shortDescription>
-        <description>Malta</description>
-        <languageList><iso639Id>mlt</iso639Id></languageList>
+        
+        <shortDescription>mt</shortDescription>
+        <description>Maltese</description>
+        <languageList>
+          <iso639Id>mlt</iso639Id>
+        </languageList>
       </configItem>
       <variantList>
         <variant>
           <configItem>
             <name>us</name>
-            <description>Maltese keyboard with US layout</description>
+            <description>Maltese (with US layout)</description>
           </configItem>
         </variant>
       </variantList>
@@ -3191,56 +3803,66 @@
     <layout>
       <configItem>
         <name>mn</name>
-        <shortDescription>Mng</shortDescription>
-        <description>Mongolia</description>
-        <languageList><iso639Id>mng</iso639Id></languageList>
+        
+        <shortDescription>mn</shortDescription>
+        <description>Mongolian</description>
+        <languageList>
+          <iso639Id>mng</iso639Id>
+        </languageList>
       </configItem>
       <variantList/>
     </layout>
     <layout>
       <configItem>
         <name>no</name>
-        <shortDescription>Nor</shortDescription>
-        <description>Norway</description>
-        <languageList><iso639Id>nor</iso639Id></languageList>
+        
+        <shortDescription>no</shortDescription>
+        <description>Norwegian</description>
+        <languageList>
+          <iso639Id>nor</iso639Id>
+        </languageList>
       </configItem>
       <variantList>
         <variant>
           <configItem>
             <name>nodeadkeys</name>
-            <description>Eliminate dead keys</description>
+            <description>Norwegian (eliminate dead keys)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>dvorak</name>
-            <description>Dvorak</description>
+            <description>Norwegian (Dvorak)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>smi</name>
-            <description>Northern Saami</description>
-            <languageList><iso639Id>sme</iso639Id></languageList>
+            <description>Northern Saami (Norway)</description>
+            <languageList>
+              <iso639Id>sme</iso639Id>
+            </languageList>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>smi_nodeadkeys</name>
-            <description>Northern Saami, eliminate dead keys</description>
-            <languageList><iso639Id>sme</iso639Id></languageList>
+            <description>Northern Saami (Norway, eliminate dead keys)</description>
+            <languageList>
+              <iso639Id>sme</iso639Id>
+            </languageList>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>mac</name>
-            <description>Macintosh</description>
+            <description>Norwegian (Macintosh)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>mac_nodeadkeys</name>
-            <description>Macintosh, eliminate dead keys</description>
+            <description>Norwegian (Macintosh, eliminate dead keys)</description>
           </configItem>
         </variant>
       </variantList>
@@ -3248,53 +3870,62 @@
     <layout>
       <configItem>
         <name>pl</name>
-        <shortDescription>Pol</shortDescription>
-        <description>Poland</description>
-        <languageList><iso639Id>pol</iso639Id></languageList>
+        
+        <shortDescription>pl</shortDescription>
+        <description>Polish</description>
+        <languageList>
+          <iso639Id>pol</iso639Id>
+        </languageList>
       </configItem>
       <variantList>
         <variant>
           <configItem>
             <name>qwertz</name>
-            <description>qwertz</description>
+            <description>Polish (qwertz)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>dvorak</name>
-            <description>Dvorak</description>
+            <description>Polish (Dvorak)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>dvorak_quotes</name>
-            <description>Dvorak, Polish quotes on quotemark key</description>
+            <description>Polish (Dvorak, Polish quotes on quotemark key)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>dvorak_altquotes</name>
-            <description>Dvorak, Polish quotes on key 1</description>
+            <description>Polish (Dvorak, Polish quotes on key 1)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>csb</name>
             <description>Kashubian</description>
-            <languageList><iso639Id>csb</iso639Id></languageList>
+            <languageList>
+              <iso639Id>csb</iso639Id>
+            </languageList>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>ru_phonetic_dvorak</name>
-            <description>Russian phonetic Dvorak</description>
-            <languageList><iso639Id>rus</iso639Id></languageList>
+            
+            <shortDescription>ru</shortDescription>
+            <description>Russian (Poland, phonetic Dvorak)</description>
+            <languageList>
+              <iso639Id>rus</iso639Id>
+            </languageList>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>dvp</name>
-            <description>Programmer Dvorak</description>
+            <description>Polish (programmer Dvorak)</description>
           </configItem>
         </variant>
       </variantList>
@@ -3302,58 +3933,63 @@
     <layout>
       <configItem>
         <name>pt</name>
-        <shortDescription>Prt</shortDescription>
-        <description>Portugal</description>
-        <languageList><iso639Id>por</iso639Id></languageList>
+        
+        <shortDescription>pt</shortDescription>
+        <description>Portuguese</description>
+        <languageList>
+          <iso639Id>por</iso639Id>
+        </languageList>
       </configItem>
       <variantList>
         <variant>
           <configItem>
             <name>nodeadkeys</name>
-            <description>Eliminate dead keys</description>
+            <description>Portuguese (eliminate dead keys)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>sundeadkeys</name>
-            <description>Sun dead keys</description>
+            <description>Portuguese (Sun dead keys)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>mac</name>
-            <description>Macintosh</description>
+            <description>Portuguese (Macintosh)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>mac_nodeadkeys</name>
-            <description>Macintosh, eliminate dead keys</description>
+            <description>Portuguese (Macintosh, eliminate dead keys)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>mac_sundeadkeys</name>
-            <description>Macintosh, Sun dead keys</description>
+            <description>Portuguese (Macintosh, Sun dead keys)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>nativo</name>
-            <description>Nativo</description>
+            <description>Portuguese (Nativo)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>nativo-us</name>
-            <description>Nativo for USA keyboards</description>
+            <description>Portuguese (Nativo for USA keyboards)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>nativo-epo</name>
-            <description>Nativo for Esperanto</description>
-            <languageList><iso639Id>epo</iso639Id></languageList>
+            <description>Esperanto (Portugal, Nativo)</description>
+            <languageList>
+              <iso639Id>epo</iso639Id>
+            </languageList>
           </configItem>
         </variant>
       </variantList>
@@ -3361,61 +3997,36 @@
     <layout>
       <configItem>
         <name>ro</name>
-        <shortDescription>Rou</shortDescription>
-        <description>Romania</description>
-        <languageList><iso639Id>rum</iso639Id></languageList>
+        
+        <shortDescription>ro</shortDescription>
+        <description>Romanian</description>
+        <languageList>
+          <iso639Id>rum</iso639Id>
+        </languageList>
       </configItem>
       <variantList>
         <variant>
           <configItem>
             <name>cedilla</name>
-            <description>Cedilla</description>
+            <description>Romanian (cedilla)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>std</name>
-            <description>Standard</description>
+            <description>Romanian (standard)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>std_cedilla</name>
-            <description>Standard (Cedilla)</description>
+            <description>Romanian (standard cedilla)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>winkeys</name>
-            <description>Winkeys</description>
-          </configItem>
-        </variant>
-        <variant>
-          <configItem>
-            <name>crh_f</name>
-            <description>Crimean Tatar (Turkish F)</description>
-            <languageList><iso639Id>crh</iso639Id></languageList>
-          </configItem>
-        </variant>
-        <variant>
-          <configItem>
-            <name>crh_alt</name>
-            <description>Crimean Tatar (Turkish Alt-Q)</description>
-            <languageList><iso639Id>crh</iso639Id></languageList>
-          </configItem>
-        </variant>
-        <variant>
-          <configItem>
-            <name>crh_dobruca1</name>
-            <description>Crimean Tatar (Dobruca-1 Q)</description>
-            <languageList><iso639Id>crh</iso639Id></languageList>
-          </configItem>
-        </variant>
-        <variant>
-          <configItem>
-            <name>crh_dobruca2</name>
-            <description>Crimean Tatar (Dobruca-2 Q)</description>
-            <languageList><iso639Id>crh</iso639Id></languageList>
+            <description>Romanian (WinKeys)</description>
           </configItem>
         </variant>
       </variantList>
@@ -3423,114 +4034,135 @@
     <layout>
       <configItem>
         <name>ru</name>
-        <shortDescription>Rus</shortDescription>
-        <description>Russia</description>
-        <languageList><iso639Id>rus</iso639Id></languageList>
+        
+        <shortDescription>ru</shortDescription>
+        <description>Russian</description>
+        <languageList>
+          <iso639Id>rus</iso639Id>
+        </languageList>
       </configItem>
       <variantList>
         <variant>
           <configItem>
             <name>phonetic</name>
-            <description>Phonetic</description>
+            <description>Russian (phonetic)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>phonetic_winkeys</name>
-            <description>Phonetic Winkeys</description>
+            <description>Russian (phonetic WinKeys)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>typewriter</name>
-            <description>Typewriter</description>
+            <description>Russian (typewriter)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>legacy</name>
-            <description>Legacy</description>
+            <description>Russian (legacy)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>typewriter-legacy</name>
-            <description>Typewriter, legacy</description>
+            <description>Russian (typewriter, legacy)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>tt</name>
             <description>Tatar</description>
-            <languageList><iso639Id>tat</iso639Id></languageList>
+            <languageList>
+              <iso639Id>tat</iso639Id>
+            </languageList>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>os_legacy</name>
-            <description>Ossetian, legacy</description>
-            <languageList><iso639Id>oss</iso639Id></languageList>
+            <description>Ossetian (legacy)</description>
+            <languageList>
+              <iso639Id>oss</iso639Id>
+            </languageList>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>os_winkeys</name>
-            <description>Ossetian, Winkeys</description>
-            <languageList><iso639Id>oss</iso639Id></languageList>
+            <description>Ossetian (WinKeys)</description>
+            <languageList>
+              <iso639Id>oss</iso639Id>
+            </languageList>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>cv</name>
             <description>Chuvash</description>
-            <languageList><iso639Id>chv</iso639Id></languageList>
+            <languageList>
+              <iso639Id>chv</iso639Id>
+            </languageList>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>cv_latin</name>
-            <description>Chuvash Latin</description>
-            <languageList><iso639Id>chv</iso639Id></languageList>
+            <description>Chuvash (Latin)</description>
+            <languageList>
+              <iso639Id>chv</iso639Id>
+            </languageList>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>udm</name>
             <description>Udmurt</description>
-            <languageList><iso639Id>udm</iso639Id></languageList>
+            <languageList>
+              <iso639Id>udm</iso639Id>
+            </languageList>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>kom</name>
             <description>Komi</description>
-            <languageList><iso639Id>kom</iso639Id></languageList>
+            <languageList>
+              <iso639Id>kom</iso639Id>
+            </languageList>
           </configItem>
         </variant>
-	<variant>
+        <variant>
           <configItem>
             <name>sah</name>
             <description>Yakut</description>
-            <languageList><iso639Id>sah</iso639Id></languageList>
+            <languageList>
+              <iso639Id>sah</iso639Id>
+            </languageList>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>xal</name>
             <description>Kalmyk</description>
-            <languageList><iso639Id>xal</iso639Id></languageList>
+            <languageList>
+              <iso639Id>xal</iso639Id>
+            </languageList>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>dos</name>
-            <description>DOS</description>
+            <description>Russian (DOS)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>srp</name>
-            <description>Serbian</description>
+            <description>Serbian (Russia)</description>
             <languageList><iso639Id>rus</iso639Id>
                           <iso639Id>srp</iso639Id></languageList>
           </configItem>
@@ -3539,7 +4171,18 @@
           <configItem>
             <name>bak</name>
             <description>Bashkirian</description>
-            <languageList><iso639Id>bak</iso639Id></languageList>
+            <languageList>
+              <iso639Id>bak</iso639Id>
+            </languageList>
+          </configItem>
+        </variant>
+        <variant>
+          <configItem>
+            <name>chm</name>
+            <description>Mari</description>
+            <languageList>
+              <iso639Id>chm</iso639Id>
+            </languageList>
           </configItem>
         </variant>
       </variantList>
@@ -3547,51 +4190,63 @@
     <layout>
       <configItem>
         <name>rs</name>
-        <shortDescription>SRB</shortDescription>
-        <description>Serbia</description>
-        <languageList><iso639Id>srp</iso639Id></languageList>
+        
+        <shortDescription>sr</shortDescription>
+        <description>Serbian (Cyrillic)</description>
+        <languageList>
+          <iso639Id>srp</iso639Id>
+        </languageList>
       </configItem>
       <variantList>
         <variant>
           <configItem>
             <name>yz</name>
-            <description>Z and ZHE swapped</description>
+            <description>Serbian (Cyrillic, Z and ZHE swapped)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>latin</name>
-            <description>Latin</description>
+            <description>Serbian (Latin)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>latinunicode</name>
-            <description>Latin Unicode</description>
+            <description>Serbian (Latin Unicode)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>latinyz</name>
-            <description>Latin qwerty</description>
+            <description>Serbian (Latin qwerty)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>latinunicodeyz</name>
-            <description>Latin Unicode qwerty</description>
+            <description>Serbian (Latin Unicode qwerty)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>alternatequotes</name>
-            <description>With guillemets</description>
+            <description>Serbian (Cyrillic with guillemets)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>latinalternatequotes</name>
-            <description>Latin with guillemets</description>
+            <description>Serbian (Latin with guillemets)</description>
+          </configItem>
+        </variant>
+        <variant>
+          <configItem>
+            <name>rue</name>
+            <description>Pannonian Rusyn (homophonic)</description>
+            <languageList>
+              <iso639Id>rue</iso639Id>
+            </languageList>
           </configItem>
         </variant>
       </variantList>
@@ -3599,21 +4254,24 @@
     <layout>
       <configItem>
         <name>si</name>
-        <shortDescription>Svn</shortDescription>
-        <description>Slovenia</description>
-        <languageList><iso639Id>slv</iso639Id></languageList>
+        
+        <shortDescription>sl</shortDescription>
+        <description>Slovenian</description>
+        <languageList>
+          <iso639Id>slv</iso639Id>
+        </languageList>
       </configItem>
       <variantList>
         <variant>
           <configItem>
             <name>alternatequotes</name>
-            <description>Use guillemets for quotes</description>
+            <description>Slovenian (use guillemets for quotes)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>us</name>
-            <description>US keyboard with Slovenian letters</description>
+            <description>Slovenian (US keyboard with Slovenian letters)</description>
           </configItem>
         </variant>
       </variantList>
@@ -3621,27 +4279,30 @@
     <layout>
       <configItem>
         <name>sk</name>
-        <shortDescription>Svk</shortDescription>
-        <description>Slovakia</description>
-        <languageList><iso639Id>slo</iso639Id></languageList>
+        
+        <shortDescription>sk</shortDescription>
+        <description>Slovak</description>
+        <languageList>
+          <iso639Id>slo</iso639Id>
+        </languageList>
       </configItem>
       <variantList>
         <variant>
           <configItem>
             <name>bksl</name>
-            <description>Extended Backslash</description>
+            <description>Slovak (extended Backslash)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>qwerty</name>
-            <description>qwerty</description>
+            <description>Slovak (qwerty)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>qwerty_bksl</name>
-            <description>qwerty, extended Backslash</description>
+            <description>Slovak (qwerty, extended Backslash)</description>
           </configItem>
         </variant>
       </variantList>
@@ -3649,53 +4310,60 @@
     <layout>
       <configItem>
         <name>es</name>
-        <shortDescription>Esp</shortDescription>
-        <description>Spain</description>
-        <languageList><iso639Id>spa</iso639Id></languageList>
+        
+        <shortDescription>es</shortDescription>
+        <description>Spanish</description>
+        <languageList>
+          <iso639Id>spa</iso639Id>
+        </languageList>
       </configItem>
       <variantList>
         <variant>
           <configItem>
             <name>nodeadkeys</name>
-            <description>Eliminate dead keys</description>
+            <description>Spanish (eliminate dead keys)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>deadtilde</name>
-            <description>Include dead tilde</description>
+            <description>Spanish (include dead tilde)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>sundeadkeys</name>
-            <description>Sun dead keys</description>
+            <description>Spanish (Sun dead keys)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>dvorak</name>
-            <description>Dvorak</description>
+            <description>Spanish (Dvorak)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>ast</name>
-            <description>Asturian variant with bottom-dot H and bottom-dot L</description>
-            <languageList><iso639Id>ast</iso639Id></languageList>
+            <description>Asturian (Spain, with bottom-dot H and bottom-dot L)</description>
+            <languageList>
+              <iso639Id>ast</iso639Id>
+            </languageList>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>cat</name>
-            <description>Catalan variant with middle-dot L</description>
-            <languageList><iso639Id>cat</iso639Id></languageList>
+            <description>Catalan (Spain, with middle-dot L)</description>
+            <languageList>
+              <iso639Id>cat</iso639Id>
+            </languageList>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>mac</name>
-            <description>Macintosh</description>
+            <description>Spanish (Macintosh)</description>
           </configItem>
         </variant>
       </variantList>
@@ -3703,54 +4371,74 @@
     <layout>
       <configItem>
         <name>se</name>
-        <shortDescription>Swe</shortDescription>
-        <description>Sweden</description>
-        <languageList><iso639Id>swe</iso639Id></languageList>
+        
+        <shortDescription>sv</shortDescription>
+        <description>Swedish</description>
+        <languageList>
+          <iso639Id>swe</iso639Id>
+        </languageList>
       </configItem>
       <variantList>
         <variant>
           <configItem>
             <name>nodeadkeys</name>
-            <description>Eliminate dead keys</description>
+            <description>Swedish (eliminate dead keys)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>dvorak</name>
-            <description>Dvorak</description>
+            <description>Swedish (Dvorak)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>rus</name>
-            <description>Russian phonetic</description>
-            <languageList><iso639Id>rus</iso639Id></languageList>
+            
+            <shortDescription>ru</shortDescription>
+            <description>Russian (Sweden, phonetic)</description>
+            <languageList>
+              <iso639Id>rus</iso639Id>
+            </languageList>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>rus_nodeadkeys</name>
-            <description>Russian phonetic, eliminate dead keys</description>
-            <languageList><iso639Id>rus</iso639Id></languageList>
+            
+            <shortDescription>ru</shortDescription>
+            <description>Russian (Sweden, phonetic, eliminate dead keys)</description>
+            <languageList>
+              <iso639Id>rus</iso639Id>
+            </languageList>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>smi</name>
-            <description>Northern Saami</description>
-            <languageList><iso639Id>sme</iso639Id></languageList>
+            <description>Northern Saami (Sweden)</description>
+            <languageList>
+              <iso639Id>sme</iso639Id>
+            </languageList>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>mac</name>
-            <description>Macintosh</description>
+            <description>Swedish (Macintosh)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>svdvorak</name>
-            <description>Svdvorak</description>
+            <description>Swedish (Svdvorak)</description>
+          </configItem>
+        </variant>
+        <variant>
+          <configItem>
+            <name>swl</name>
+            <description>Swedish Sign Language</description>
+            <languageList><iso639Id>swl</iso639Id></languageList>
           </configItem>
         </variant>
       </variantList>
@@ -3758,8 +4446,9 @@
     <layout>
       <configItem>
         <name>ch</name>
-        <shortDescription>Che</shortDescription>
-        <description>Switzerland</description>
+        
+        <shortDescription>de</shortDescription>
+        <description>German (Switzerland)</description>
         <languageList><iso639Id>ger</iso639Id>
                       <iso639Id>gsw</iso639Id></languageList>
       </configItem>
@@ -3767,53 +4456,75 @@
         <variant>
           <configItem>
             <name>legacy</name>
-            <description>Legacy</description>
+            <description>German (Switzerland, legacy)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>de_nodeadkeys</name>
-            <description>German, eliminate dead keys</description>
+            
+            <shortDescription>de</shortDescription>
+            <description>German (Switzerland, eliminate dead keys)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>de_sundeadkeys</name>
-            <description>German, Sun dead keys</description>
+            
+            <shortDescription>de</shortDescription>
+            <description>German (Switzerland, Sun dead keys)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>fr</name>
-            <description>French</description>
-            <languageList><iso639Id>fra</iso639Id></languageList>
+            
+            <shortDescription>fr</shortDescription>
+            <description>French (Switzerland)</description>
+            <languageList>
+              <iso639Id>fra</iso639Id>
+            </languageList>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>fr_nodeadkeys</name>
-            <description>French, eliminate dead keys</description>
-            <languageList><iso639Id>fra</iso639Id></languageList>
+            
+            <shortDescription>fr</shortDescription>
+            <description>French (Switzerland, eliminate dead keys)</description>
+            <languageList>
+              <iso639Id>fra</iso639Id>
+            </languageList>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>fr_sundeadkeys</name>
-            <description>French, Sun dead keys</description>
-            <languageList><iso639Id>fra</iso639Id></languageList>
+            
+            <shortDescription>fr</shortDescription>
+            <description>French (Switzerland, Sun dead keys)</description>
+            <languageList>
+              <iso639Id>fra</iso639Id>
+            </languageList>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>fr_mac</name>
-            <description>French (Macintosh)</description>
-            <languageList><iso639Id>fra</iso639Id></languageList>
+            
+            <shortDescription>fr</shortDescription>
+            <description>French (Switzerland, Macintosh)</description>
+            <languageList>
+              <iso639Id>fra</iso639Id>
+            </languageList>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>de_mac</name>
-            <description>German (Macintosh)</description>
+            
+            <shortDescription>de</shortDescription>
+            <description>German (Switzerland, Macintosh)</description>
           </configItem>
         </variant>
       </variantList>
@@ -3821,42 +4532,61 @@
     <layout>
       <configItem>
         <name>sy</name>
-        <shortDescription>Syr</shortDescription>
-        <description>Syria</description>
-        <languageList><iso639Id>syr</iso639Id></languageList>
+        
+        <shortDescription>ar</shortDescription>
+        <description>Arabic (Syria)</description>
+        <languageList>
+          <iso639Id>syr</iso639Id>
+        </languageList>
       </configItem>
       <variantList>
         <variant>
           <configItem>
             <name>syc</name>
+            
+            <shortDescription>syc</shortDescription>
             <description>Syriac</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>syc_phonetic</name>
-            <description>Syriac phonetic</description>
+            
+            <shortDescription>syc</shortDescription>
+            <description>Syriac (phonetic)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>ku</name>
-            <description>Kurdish, Latin Q</description>
-            <languageList><iso639Id>kur</iso639Id></languageList>
+            
+            <shortDescription>ku</shortDescription>
+            <description>Kurdish (Syria, Latin Q)</description>
+            <languageList>
+              <iso639Id>kur</iso639Id>
+            </languageList>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>ku_f</name>
-            <description>Kurdish, (F)</description>
-            <languageList><iso639Id>kur</iso639Id></languageList>
+            
+            <shortDescription>ku</shortDescription>
+            <description>Kurdish (Syria, F)</description>
+            <languageList>
+              <iso639Id>kur</iso639Id>
+            </languageList>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>ku_alt</name>
-            <description>Kurdish, Latin Alt-Q</description>
-            <languageList><iso639Id>kur</iso639Id></languageList>
+            
+            <shortDescription>ku</shortDescription>
+            <description>Kurdish (Syria, Latin Alt-Q)</description>
+            <languageList>
+              <iso639Id>kur</iso639Id>
+            </languageList>
           </configItem>
         </variant>
       </variantList>
@@ -3864,15 +4594,18 @@
     <layout>
       <configItem>
         <name>tj</name>
-        <shortDescription>Tjk</shortDescription>
-        <description>Tajikistan</description>
-        <languageList><iso639Id>tgk</iso639Id></languageList>
+        
+        <shortDescription>tg</shortDescription>
+        <description>Tajik</description>
+        <languageList>
+          <iso639Id>tgk</iso639Id>
+        </languageList>
       </configItem>
       <variantList>
         <variant>
           <configItem>
             <name>legacy</name>
-            <description>Legacy</description>
+            <description>Tajik (legacy)</description>
           </configItem>
         </variant>
       </variantList>
@@ -3880,23 +4613,32 @@
     <layout>
       <configItem>
         <name>lk</name>
-        <shortDescription>Lka</shortDescription>
-        <description>Sri Lanka</description>
-        <languageList><iso639Id>sin</iso639Id></languageList>
+        
+        <shortDescription>si</shortDescription>
+        <description>Sinhala (phonetic)</description>
+        <languageList>
+          <iso639Id>sin</iso639Id>
+        </languageList>
       </configItem>
       <variantList>
         <variant>
           <configItem>
             <name>tam_unicode</name>
-            <description>Tamil Unicode</description>
-            <languageList><iso639Id>tam</iso639Id></languageList>
+            
+            <shortDescription>ta</shortDescription>
+            <description>Tamil (Sri Lanka, Unicode)</description>
+            <languageList>
+              <iso639Id>tam</iso639Id>
+            </languageList>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>tam_TAB</name>
-            <description>Tamil TAB Typewriter</description>
-            <languageList><iso639Id>tam</iso639Id></languageList>
+            <description>Tamil (Sri Lanka, TAB Typewriter)</description>
+            <languageList>
+              <iso639Id>tam</iso639Id>
+            </languageList>
           </configItem>
         </variant>
       </variantList>
@@ -3904,21 +4646,24 @@
     <layout>
       <configItem>
         <name>th</name>
-        <shortDescription>Tha</shortDescription>
-        <description>Thailand</description>
-        <languageList><iso639Id>tha</iso639Id></languageList>
+        
+        <shortDescription>th</shortDescription>
+        <description>Thai</description>
+        <languageList>
+          <iso639Id>tha</iso639Id>
+        </languageList>
       </configItem>
       <variantList>
         <variant>
           <configItem>
             <name>tis</name>
-            <description>TIS-820.2538</description>
+            <description>Thai (TIS-820.2538)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>pat</name>
-            <description>Pattachote</description>
+            <description>Thai (Pattachote)</description>
           </configItem>
         </variant>
       </variantList>
@@ -3926,150 +4671,200 @@
     <layout>
       <configItem>
         <name>tr</name>
-        <shortDescription>Tur</shortDescription>
-        <description>Turkey</description>
-        <languageList><iso639Id>tur</iso639Id></languageList>
+        
+        <shortDescription>tr</shortDescription>
+        <description>Turkish</description>
+        <languageList>
+          <iso639Id>tur</iso639Id>
+        </languageList>
       </configItem>
       <variantList>
         <variant>
           <configItem>
             <name>f</name>
-            <description>(F)</description>
+            <description>Turkish (F)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>alt</name>
-            <description>Alt-Q</description>
+            <description>Turkish (Alt-Q)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>sundeadkeys</name>
-            <description>Sun dead keys</description>
+            <description>Turkish (Sun dead keys)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>ku</name>
-            <description>Kurdish, Latin Q</description>
-            <languageList><iso639Id>kur</iso639Id></languageList>
+            
+            <shortDescription>ku</shortDescription>
+            <description>Kurdish (Turkey, Latin Q)</description>
+            <languageList>
+              <iso639Id>kur</iso639Id>
+            </languageList>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>ku_f</name>
-            <description>Kurdish, (F)</description>
-            <languageList><iso639Id>kur</iso639Id></languageList>
+            
+            <shortDescription>ku</shortDescription>
+            <description>Kurdish (Turkey, F)</description>
+            <languageList>
+              <iso639Id>kur</iso639Id>
+            </languageList>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>ku_alt</name>
-            <description>Kurdish, Latin Alt-Q</description>
-            <languageList><iso639Id>kur</iso639Id></languageList>
+            
+            <shortDescription>ku</shortDescription>
+            <description>Kurdish (Turkey, Latin Alt-Q)</description>
+            <languageList>
+              <iso639Id>kur</iso639Id>
+            </languageList>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>intl</name>
-            <description>International (with dead keys)</description>
+            <description>Turkish (international with dead keys)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>crh</name>
+            
+            <shortDescription>crh</shortDescription>
             <description>Crimean Tatar (Turkish Q)</description>
-            <languageList><iso639Id>crh</iso639Id></languageList>
+            <languageList>
+              <iso639Id>crh</iso639Id>
+            </languageList>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>crh_f</name>
+            
+            <shortDescription>crh</shortDescription>
             <description>Crimean Tatar (Turkish F)</description>
-            <languageList><iso639Id>crh</iso639Id></languageList>
+            <languageList>
+              <iso639Id>crh</iso639Id>
+            </languageList>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>crh_alt</name>
+            
+            <shortDescription>crh</shortDescription>
             <description>Crimean Tatar (Turkish Alt-Q)</description>
-            <languageList><iso639Id>crh</iso639Id></languageList>
+            <languageList>
+              <iso639Id>crh</iso639Id>
+            </languageList>
           </configItem>
         </variant>
       </variantList>
     </layout>
     <layout>
       <configItem>
-        <name>ua</name>
-        <shortDescription>Ukr</shortDescription>
-        <description>Ukraine</description>
-        <languageList><iso639Id>ukr</iso639Id></languageList>
+        <name>tw</name>
+        
+        <shortDescription>zh</shortDescription>
+        <description>Taiwanese</description>
+        <languageList>
+          <iso639Id>trv</iso639Id>
+        </languageList>
       </configItem>
       <variantList>
         <variant>
           <configItem>
-            <name>phonetic</name>
-            <description>Phonetic</description>
+            <name>indigenous</name>
+            <description>Taiwanese (indigenous)</description>
+            <languageList>
+              <iso639Id>ami</iso639Id>
+              <iso639Id>tay</iso639Id>
+              <iso639Id>bnn</iso639Id>
+              <iso639Id>ckv</iso639Id>
+              <iso639Id>pwn</iso639Id>
+              <iso639Id>pyu</iso639Id>
+              <iso639Id>dru</iso639Id>
+              <iso639Id>ais</iso639Id>
+              <iso639Id>ssf</iso639Id>
+              <iso639Id>tao</iso639Id>
+              <iso639Id>tsu</iso639Id>
+            </languageList>
           </configItem>
         </variant>
         <variant>
           <configItem>
-            <name>typewriter</name>
-            <description>Typewriter</description>
+            <name>saisiyat</name>
+            
+            <shortDescription>xsy</shortDescription>
+            <description>Saisiyat (Taiwan)</description>
+            <languageList>
+              <iso639Id>xsy</iso639Id>
+            </languageList>
           </configItem>
         </variant>
+      </variantList>
+    </layout>
+    <layout>
+      <configItem>
+        <name>ua</name>
+        
+        <shortDescription>uk</shortDescription>
+        <description>Ukrainian</description>
+        <languageList>
+          <iso639Id>ukr</iso639Id>
+        </languageList>
+      </configItem>
+      <variantList>
         <variant>
           <configItem>
-            <name>winkeys</name>
-            <description>Winkeys</description>
+            <name>phonetic</name>
+            <description>Ukrainian (phonetic)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
-            <name>legacy</name>
-            <description>Legacy</description>
+            <name>typewriter</name>
+            <description>Ukrainian (typewriter)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
-            <name>rstu</name>
-
-            <description>Standard RSTU</description>
+            <name>winkeys</name>
+            <description>Ukrainian (WinKeys)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
-            <name>rstu_ru</name>
-
-            <description>Standard RSTU on Russian layout</description>
-          </configItem>
-        </variant>
-	<variant>
-          <configItem>
-            <name>homophonic</name>
-            <description>Homophonic</description>
+            <name>legacy</name>
+            <description>Ukrainian (legacy)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
-            <name>crh</name>
-            <description>Crimean Tatar (Turkish Q)</description>
-            <languageList><iso639Id>crh</iso639Id></languageList>
+            <name>rstu</name>
+            <description>Ukrainian (standard RSTU)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
-            <name>crh_f</name>
-            <description>Crimean Tatar (Turkish F)</description>
-            <languageList><iso639Id>crh</iso639Id></languageList>
+            <name>rstu_ru</name>
+            <description>Russian (Ukraine, standard RSTU)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
-            <name>crh_alt</name>
-            <description>Crimean Tatar (Turkish Alt-Q)</description>
-            <languageList><iso639Id>crh</iso639Id></languageList>
+            <name>homophonic</name>
+            <description>Ukrainian (homophonic)</description>
           </configItem>
         </variant>
       </variantList>
@@ -4077,45 +4872,54 @@
     <layout>
       <configItem>
         <name>gb</name>
-        <shortDescription>GBr</shortDescription>
-        <description>United Kingdom</description>
-        <languageList><iso639Id>eng</iso639Id></languageList>
+        
+        <shortDescription>en</shortDescription>
+        <description>English (UK)</description>
+        <languageList>
+          <iso639Id>eng</iso639Id>
+        </languageList>
       </configItem>
       <variantList>
         <variant>
           <configItem>
             <name>extd</name>
-            <description>Extended - Winkeys</description>
+            <description>English (UK, extended WinKeys)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>intl</name>
-            <description>International (with dead keys)</description>
+            <description>English (UK, international with dead keys)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>dvorak</name>
-            <description>Dvorak</description>
+            <description>English (UK, Dvorak)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>dvorakukp</name>
-            <description>Dvorak (UK Punctuation)</description>
+            <description>English (UK, Dvorak with UK punctuation)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>mac</name>
-            <description>Macintosh</description>
+            <description>English (UK, Macintosh)</description>
+          </configItem>
+        </variant>
+        <variant>
+          <configItem>
+            <name>mac_intl</name>
+            <description>English (UK, Macintosh international)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>colemak</name>
-            <description>Colemak</description>
+            <description>English (UK, Colemak)</description>
           </configItem>
         </variant>
       </variantList>
@@ -4123,36 +4927,18 @@
     <layout>
       <configItem>
         <name>uz</name>
-        <shortDescription>Uzb</shortDescription>
-        <description>Uzbekistan</description>
-        <languageList><iso639Id>uzb</iso639Id></languageList>
+        
+        <shortDescription>uz</shortDescription>
+        <description>Uzbek</description>
+        <languageList>
+          <iso639Id>uzb</iso639Id>
+        </languageList>
       </configItem>
       <variantList>
         <variant>
           <configItem>
             <name>latin</name>
-            <description>Latin</description>
-          </configItem>
-        </variant>
-        <variant>
-          <configItem>
-            <name>crh</name>
-            <description>Crimean Tatar (Turkish Q)</description>
-            <languageList><iso639Id>crh</iso639Id></languageList>
-          </configItem>
-        </variant>
-        <variant>
-          <configItem>
-            <name>crh_f</name>
-            <description>Crimean Tatar (Turkish F)</description>
-            <languageList><iso639Id>crh</iso639Id></languageList>
-          </configItem>
-        </variant>
-        <variant>
-          <configItem>
-            <name>crh_alt</name>
-            <description>Crimean Tatar (Turkish Alt-Q)</description>
-            <languageList><iso639Id>crh</iso639Id></languageList>
+            <description>Uzbek (Latin)</description>
           </configItem>
         </variant>
       </variantList>
@@ -4160,71 +4946,91 @@
     <layout>
       <configItem>
         <name>vn</name>
-        <shortDescription>Vnm</shortDescription>
-        <description>Vietnam</description>
-        <languageList><iso639Id>vie</iso639Id></languageList>
+        
+        <shortDescription>vi</shortDescription>
+        <description>Vietnamese</description>
+        <languageList>
+          <iso639Id>vie</iso639Id>
+        </languageList>
       </configItem>
       <variantList/>
     </layout>
     <layout>
-       <configItem>
+      <configItem>
         <name>kr</name>
-        <shortDescription>Kor</shortDescription>
-        <description>Korea, Republic of</description>
-        <languageList><iso639Id>kor</iso639Id></languageList>
+        
+        <shortDescription>ko</shortDescription>
+        <description>Korean</description>
+        <languageList>
+          <iso639Id>kor</iso639Id>
+        </languageList>
       </configItem>
       <variantList>
-	<variant>
-	  <configItem>
-	    <name>kr104</name>
-	    <description>101/104 key Compatible</description>
-	  </configItem>
-	</variant>
+        <variant>
+          <configItem>
+            <name>kr104</name>
+            <description>Korean (101/104 key compatible)</description>
+          </configItem>
+        </variant>
       </variantList>
     </layout>
     <layout>
       <configItem>
         <name>nec_vndr/jp</name>
-        <shortDescription>Jpn</shortDescription>
-        <description>Japan (PC-98xx Series)</description>
-        <countryList><iso3166Id>JP</iso3166Id></countryList>
-        <languageList><iso639Id>jpn</iso639Id></languageList>
+        
+        <shortDescription>ja</shortDescription>
+        <description>Japanese (PC-98xx Series)</description>
+        <countryList>
+          <iso3166Id>JP</iso3166Id>
+        </countryList>
+        <languageList>
+          <iso639Id>jpn</iso639Id>
+        </languageList>
       </configItem>
       <variantList/>
     </layout>
     <layout>
       <configItem>
         <name>ie</name>
-        <shortDescription>Irl</shortDescription>
-        <description>Ireland</description>
-        <languageList><iso639Id>eng</iso639Id></languageList>
+        
+        <shortDescription>ie</shortDescription>
+        <description>Irish</description>
+        <languageList>
+          <iso639Id>eng</iso639Id>
+        </languageList>
       </configItem>
       <variantList>
         <variant>
           <configItem>
             <name>CloGaelach</name>
             <description>CloGaelach</description>
-            <languageList><iso639Id>gla</iso639Id></languageList>
+            <languageList>
+              <iso639Id>gla</iso639Id>
+            </languageList>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>UnicodeExpert</name>
-            <description>UnicodeExpert</description>
+            <description>Irish (UnicodeExpert)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>ogam</name>
             <description>Ogham</description>
-            
-         </configItem>
+            <languageList>
+              <iso639Id>sga</iso639Id>
+            </languageList>
+          </configItem>
         </variant>
         <variant>
           <configItem>
             <name>ogam_is434</name>
-            <description>Ogham IS434</description>
-            
+            <description>Ogham (IS434)</description>
+            <languageList>
+              <iso639Id>sga</iso639Id>
+            </languageList>
           </configItem>
         </variant>
       </variantList>
@@ -4232,30 +5038,45 @@
     <layout>
       <configItem>
         <name>pk</name>
-        <shortDescription>Pak</shortDescription>
-        <description>Pakistan</description>
-        <languageList><iso639Id>urd</iso639Id></languageList>
+        
+        <shortDescription>ur</shortDescription>
+        <description>Urdu (Pakistan)</description>
+        <languageList>
+          <iso639Id>urd</iso639Id>
+        </languageList>
       </configItem>
       <variantList>
         <variant>
           <configItem>
             <name>urd-crulp</name>
-            <description>CRULP</description>
-            <languageList><iso639Id>urd</iso639Id></languageList>
+            <description>Urdu (Pakistan, CRULP)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>urd-nla</name>
-            <description>NLA</description>
-            <languageList><iso639Id>urd</iso639Id></languageList>
+            <description>Urdu (Pakistan, NLA)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>ara</name>
-            <description>Arabic</description>
-            <languageList><iso639Id>ara</iso639Id></languageList>
+            <shortDescription>ar</shortDescription>
+            <description>Arabic (Pakistan)</description>
+            <languageList>
+              <iso639Id>ara</iso639Id>
+            </languageList>
+          </configItem>
+        </variant>
+        <variant>
+          <configItem>
+            <name>snd</name>
+            
+            <shortDescription>sd</shortDescription>
+            <description>Sindhi</description>
+            <languageList>
+              <iso639Id>sd</iso639Id>
+            </languageList>
           </configItem>
         </variant>
       </variantList>
@@ -4263,32 +5084,41 @@
     <layout>
       <configItem>
         <name>mv</name>
-        <shortDescription>Mdv</shortDescription>
-        <description>Maldives</description>
-        <languageList><iso639Id>div</iso639Id></languageList>
+        
+        <shortDescription>dv</shortDescription>
+        <description>Dhivehi</description>
+        <languageList>
+          <iso639Id>div</iso639Id>
+        </languageList>
       </configItem>
       <variantList/>
     </layout>
     <layout>
-       <configItem>
+      <configItem>
         <name>za</name>
-        <shortDescription>Zaf</shortDescription>
-        <description>South Africa</description>
-        <languageList><iso639Id>eng</iso639Id></languageList>
+        
+        <shortDescription>en</shortDescription>
+        <description>English (South Africa)</description>
+        <languageList>
+          <iso639Id>eng</iso639Id>
+        </languageList>
       </configItem>
     </layout>
     <layout>
       <configItem>
         <name>epo</name>
-        <shortDescription>Epo</shortDescription>
-	<description>Esperanto</description>
-        <languageList><iso639Id>epo</iso639Id></languageList>
+        
+        <shortDescription>eo</shortDescription>
+        <description>Esperanto</description>
+        <languageList>
+          <iso639Id>epo</iso639Id>
+        </languageList>
       </configItem>
       <variantList>
         <variant>
           <configItem>
             <name>legacy</name>
-            <description>displaced semicolon and quote (obsolete)</description>
+            <description>Esperanto (displaced semicolon and quote, obsolete)</description>
           </configItem>
         </variant>
       </variantList>
@@ -4296,38 +5126,56 @@
     <layout>
       <configItem>
         <name>np</name>
-        <shortDescription>Npl</shortDescription>
-	<description>Nepal</description>
-        <languageList><iso639Id>nep</iso639Id></languageList>
+        
+        <shortDescription>ne</shortDescription>
+        <description>Nepali</description>
+        <languageList>
+          <iso639Id>nep</iso639Id>
+        </languageList>
       </configItem>
     </layout>
     <layout>
       <configItem>
         <name>ng</name>
-        <shortDescription>Nga</shortDescription>
-	<description>Nigeria</description>
-        <languageList><iso639Id>eng</iso639Id></languageList>
+        
+        <shortDescription>en</shortDescription>
+        <description>English (Nigeria)</description>
+        <languageList>
+          <iso639Id>eng</iso639Id>
+        </languageList>
       </configItem>
       <variantList>
         <variant>
           <configItem>
             <name>igbo</name>
+            
+            <shortDescription>ig</shortDescription>
             <description>Igbo</description>
-            <languageList><iso639Id>ibo</iso639Id></languageList>
+            <languageList>
+              <iso639Id>ibo</iso639Id>
+            </languageList>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>yoruba</name>
+            
+            <shortDescription>yo</shortDescription>
             <description>Yoruba</description>
-            <languageList><iso639Id>yor</iso639Id></languageList>
+            <languageList>
+              <iso639Id>yor</iso639Id>
+            </languageList>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>hausa</name>
+            
+            <shortDescription>ha</shortDescription>
             <description>Hausa</description>
-            <languageList><iso639Id>hau</iso639Id></languageList>
+            <languageList>
+              <iso639Id>hau</iso639Id>
+            </languageList>
           </configItem>
         </variant>
       </variantList>
@@ -4335,38 +5183,45 @@
     <layout>
       <configItem>
         <name>et</name>
-        <shortDescription>Eth</shortDescription>
-        <description>Ethiopia</description>
-        <languageList><iso639Id>amh</iso639Id></languageList>
+        
+        <shortDescription>am</shortDescription>
+        <description>Amharic</description>
+        <languageList>
+          <iso639Id>amh</iso639Id>
+        </languageList>
       </configItem>
       <variantList/>
     </layout>
     <layout>
       <configItem>
         <name>sn</name>
-        <shortDescription>Sen</shortDescription>
-        <description>Senegal</description>
-        <languageList><iso639Id>wol</iso639Id></languageList>
+        
+        <shortDescription>wo</shortDescription>
+        <description>Wolof</description>
+        <languageList>
+          <iso639Id>wol</iso639Id>
+        </languageList>
       </configItem>
       <variantList/>
     </layout>
     <layout>
       <configItem>
         <name>brai</name>
-        <shortDescription>Brl</shortDescription>
+        
+        <shortDescription>brl</shortDescription>
         <description>Braille</description>
       </configItem>
       <variantList>
         <variant>
           <configItem>
             <name>left_hand</name>
-            <description>Left hand</description>
+            <description>Braille (left hand)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>right_hand</name>
-            <description>Right hand</description>
+            <description>Braille (right hand)</description>
           </configItem>
         </variant>
       </variantList>
@@ -4374,15 +5229,18 @@
     <layout>
       <configItem>
         <name>tm</name>
-        <shortDescription>Tkm</shortDescription>
-        <description>Turkmenistan</description>
-        <languageList><iso639Id>tuk</iso639Id></languageList>
+        
+        <shortDescription>tk</shortDescription>
+        <description>Turkmen</description>
+        <languageList>
+          <iso639Id>tuk</iso639Id>
+        </languageList>
       </configItem>
       <variantList>
         <variant>
           <configItem>
             <name>alt</name>
-            <description>Alt-Q</description>
+            <description>Turkmen (Alt-Q)</description>
           </configItem>
         </variant>
       </variantList>
@@ -4390,27 +5248,39 @@
     <layout>
       <configItem>
         <name>ml</name>
-        <shortDescription>Mli</shortDescription>
-        <description>Mali</description>
-        <languageList><iso639Id>bam</iso639Id></languageList>
+        
+        <shortDescription>bm</shortDescription>
+        <description>Bambara</description>
+        <languageList>
+          <iso639Id>bam</iso639Id>
+        </languageList>
       </configItem>
       <variantList>
         <variant>
           <configItem>
             <name>fr-oss</name>
-            <description>Français (France Alternative)</description>
+            
+            <shortDescription>fr</shortDescription>
+            <description>French (Mali, alternative)</description>
+            <languageList>
+              <iso639Id>fr</iso639Id>
+            </languageList>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>us-mac</name>
-            <description>English (USA Macintosh)</description>
+            
+            <shortDescription>en</shortDescription>
+            <description>English (Mali, US Macintosh)</description>
           </configItem>
         </variant>
         <variant>
           <configItem>
             <name>us-intl</name>
-            <description>English (USA International)</description>
+            
+            <shortDescription>en</shortDescription>
+            <description>English (Mali, US international)</description>
           </configItem>
         </variant>
       </variantList>
@@ -4418,18 +5288,173 @@
     <layout>
       <configItem>
         <name>tz</name>
-        <shortDescription>Tza</shortDescription>
-	<description>Tanzania</description>
-        <languageList><iso639Id>swa</iso639Id></languageList>
+        
+        <shortDescription>sw</shortDescription>
+        <description>Swahili (Tanzania)</description>
+        <languageList>
+          <iso639Id>swa</iso639Id>
+        </languageList>
       </configItem>
     </layout>
     <layout>
       <configItem>
         <name>ke</name>
-        <shortDescription>Ken</shortDescription>
-	<description>Kenya</description>
-        <languageList><iso639Id>swa</iso639Id></languageList>
+        
+        <shortDescription>sw</shortDescription>
+        <description>Swahili (Kenya)</description>
+        <languageList>
+          <iso639Id>swa</iso639Id>
+        </languageList>
       </configItem>
+      <variantList>
+        <variant>
+          <configItem>
+            <name>kik</name>
+            
+            <shortDescription>ki</shortDescription>
+            <description>Kikuyu</description>
+            <languageList>
+              <iso639Id>kik</iso639Id>
+            </languageList>
+          </configItem>
+        </variant>
+      </variantList>
+    </layout>
+    <layout>
+      <configItem>
+        <name>bw</name>
+        
+        <shortDescription>tn</shortDescription>
+        <description>Tswana</description>
+        <languageList>
+          <iso639Id>tsn</iso639Id>
+        </languageList>
+      </configItem>
+    </layout>
+    <layout>
+      <configItem>
+        <name>ph</name>
+        
+        <shortDescription>ph</shortDescription>
+        <description>Filipino</description>
+        <languageList><iso639Id>eng</iso639Id>
+                     <iso639Id>bik</iso639Id>
+                      <iso639Id>ceb</iso639Id>
+                      <iso639Id>fil</iso639Id>
+                      <iso639Id>hil</iso639Id>
+                      <iso639Id>ilo</iso639Id>
+                      <iso639Id>pam</iso639Id>
+                      <iso639Id>pag</iso639Id>
+                      <iso639Id>phi</iso639Id>
+                      <iso639Id>tgl</iso639Id>
+                      <iso639Id>war</iso639Id></languageList>
+      </configItem>
+      <variantList>
+        <variant>
+          <configItem>
+            <name>qwerty-bay</name>
+            <description>Filipino (QWERTY Baybayin)</description>
+            <languageList><iso639Id>bik</iso639Id>
+                          <iso639Id>ceb</iso639Id>
+                          <iso639Id>fil</iso639Id>
+                          <iso639Id>hil</iso639Id>
+                          <iso639Id>ilo</iso639Id>
+                          <iso639Id>pam</iso639Id>
+                          <iso639Id>pag</iso639Id>
+                          <iso639Id>phi</iso639Id>
+                          <iso639Id>tgl</iso639Id>
+                          <iso639Id>war</iso639Id></languageList>
+          </configItem>
+        </variant>
+        <variant>
+          <configItem>
+            <name>capewell-dvorak</name>
+            <description>Filipino (Capewell-Dvorak Latin)</description>
+          </configItem>
+        </variant>
+        <variant>
+          <configItem>
+            <name>capewell-dvorak-bay</name>
+            <description>Filipino (Capewell-Dvorak Baybayin)</description>
+            <languageList><iso639Id>bik</iso639Id>
+                          <iso639Id>ceb</iso639Id>
+                          <iso639Id>fil</iso639Id>
+                          <iso639Id>hil</iso639Id>
+                          <iso639Id>ilo</iso639Id>
+                          <iso639Id>pam</iso639Id>
+                          <iso639Id>pag</iso639Id>
+                          <iso639Id>phi</iso639Id>
+                          <iso639Id>tgl</iso639Id>
+                          <iso639Id>war</iso639Id></languageList>
+          </configItem>
+        </variant>
+        <variant>
+          <configItem>
+            <name>capewell-qwerf2k6</name>
+            <description>Filipino (Capewell-QWERF 2006 Latin)</description>
+          </configItem>
+        </variant>
+        <variant>
+          <configItem>
+            <name>capewell-qwerf2k6-bay</name>
+            <description>Filipino (Capewell-QWERF 2006 Baybayin)</description>
+            <languageList><iso639Id>bik</iso639Id>
+                          <iso639Id>ceb</iso639Id>
+                          <iso639Id>fil</iso639Id>
+                          <iso639Id>hil</iso639Id>
+                          <iso639Id>ilo</iso639Id>
+                          <iso639Id>pam</iso639Id>
+                          <iso639Id>pag</iso639Id>
+                          <iso639Id>phi</iso639Id>
+                          <iso639Id>tgl</iso639Id>
+                          <iso639Id>war</iso639Id></languageList>
+          </configItem>
+        </variant>
+        <variant>
+          <configItem>
+            <name>colemak</name>
+            <description>Filipino (Colemak Latin)</description>
+          </configItem>
+        </variant>
+        <variant>
+          <configItem>
+            <name>colemak-bay</name>
+            <description>Filipino (Colemak Baybayin)</description>
+            <languageList><iso639Id>bik</iso639Id>
+                          <iso639Id>ceb</iso639Id>
+                          <iso639Id>fil</iso639Id>
+                          <iso639Id>hil</iso639Id>
+                          <iso639Id>ilo</iso639Id>
+                          <iso639Id>pam</iso639Id>
+                          <iso639Id>pag</iso639Id>
+                          <iso639Id>phi</iso639Id>
+                          <iso639Id>tgl</iso639Id>
+                          <iso639Id>war</iso639Id></languageList>
+          </configItem>
+        </variant>
+        <variant>
+          <configItem>
+            <name>dvorak</name>
+            <description>Filipino (Dvorak Latin)</description>
+          </configItem>
+        </variant>
+        <variant>
+          <configItem>
+            <name>dvorak-bay</name>
+            <description>Filipino (Dvorak Baybayin)</description>
+            <languageList><iso639Id>bik</iso639Id>
+                          <iso639Id>ceb</iso639Id>
+                          <iso639Id>fil</iso639Id>
+                          <iso639Id>hil</iso639Id>
+                          <iso639Id>ilo</iso639Id>
+                          <iso639Id>pam</iso639Id>
+                          <iso639Id>pag</iso639Id>
+                          <iso639Id>phi</iso639Id>
+                          <iso639Id>tgl</iso639Id>
+                          <iso639Id>war</iso639Id></languageList>
+          </configItem>
+        </variant>
+      </variantList>
     </layout>
   </layoutList>
   <optionList>
@@ -4472,7 +5497,7 @@
       <option>
         <configItem>
           <name>grp:caps_switch</name>
-          <description>CapsLock (while pressed), Alt+CapsLock does the original capslock action</description>
+          <description>Caps Lock (while pressed), Alt+Caps Lock does the original capslock action</description>
         </configItem>
       </option>
       <option>
@@ -4496,19 +5521,19 @@
       <option>
         <configItem>
           <name>grp:caps_toggle</name>
-          <description>CapsLock</description>
+          <description>Caps Lock</description>
         </configItem>
       </option>
       <option>
         <configItem>
           <name>grp:shift_caps_toggle</name>
-          <description>Shift+CapsLock</description>
+          <description>Shift+Caps Lock</description>
         </configItem>
       </option>
       <option>
         <configItem>
           <name>grp:shift_caps_switch</name>
-          <description>CapsLock (to first layout), Shift+CapsLock (to last layout)</description>
+          <description>Caps Lock (to first layout), Shift+Caps Lock (to last layout)</description>
         </configItem>
       </option>
       <option>
@@ -4526,7 +5551,7 @@
       <option>
         <configItem>
           <name>grp:alt_caps_toggle</name>
-          <description>Alt+CapsLock</description>
+          <description>Alt+Caps Lock</description>
         </configItem>
       </option>
       <option>
@@ -4577,6 +5602,12 @@
           <description>Alt+Shift</description>
         </configItem>
       </option>
+      <option>
+        <configItem>
+          <name>grp:lalt_lshift_toggle</name>
+          <description>Left Alt+Left Shift</description>
+        </configItem>
+      </option>
       <option>
         <configItem>
           <name>grp:alt_space_toggle</name>
@@ -4628,7 +5659,13 @@
       <option>
         <configItem>
           <name>grp:sclk_toggle</name>
-          <description>ScrollLock</description>
+          <description>Scroll Lock</description>
+        </configItem>
+      </option>
+      <option>
+        <configItem>
+          <name>grp:lctrl_lwin_rctrl_menu</name>
+          <description>LeftCtrl+LeftWin (to first layout), RightCtrl+Menu (to second layout)</description>
         </configItem>
       </option>
     </group>
@@ -4707,7 +5744,7 @@
       <option>
         <configItem>
           <name>lv3:caps_switch</name>
-          <description>CapsLock</description>
+          <description>Caps Lock</description>
         </configItem>
       </option>
       <option>
@@ -4719,29 +5756,29 @@
       <option>
         <configItem>
           <name>lv3:lsgt_switch</name>
-	  <description>&lt;Less/Greater&gt;</description>
+          <description>&lt;Less/Greater&gt;</description>
         </configItem>
       </option>
       <option>
         <configItem>
           <name>lv3:caps_switch_latch</name>
-          <description>CapsLock (chooses 3rd level, latches when pressed together with another 3rd-level-chooser)</description>
+          <description>Caps Lock chooses 3rd level, acts as onetime lock when pressed together with another 3rd-level-chooser</description>
         </configItem>
       </option>
       <option>
         <configItem>
           <name>lv3:bksl_switch_latch</name>
-          <description>Backslash chooses 3rd level, latches when pressed together with another 3rd-level-chooser)</description>
+          <description>Backslash chooses 3rd level, acts as onetime lock when pressed together with another 3rd-level-chooser</description>
         </configItem>
       </option>
       <option>
         <configItem>
           <name>lv3:lsgt_switch_latch</name>
-	  <description>&lt;Less/Greater&gt; (chooses 3rd level, latches when pressed together with another 3rd-level-chooser)</description>
+          <description>&lt;Less/Greater&gt; chooses 3rd level, acts as onetime lock when pressed together with another 3rd-level-chooser</description>
         </configItem>
       </option>
     </group>
-    <group allowMultipleSelection="false">
+    <group allowMultipleSelection="true">
       
       <configItem>
         <name>ctrl</name>
@@ -4750,33 +5787,51 @@
       <option>
         <configItem>
           <name>ctrl:nocaps</name>
-          <description>Make CapsLock an additional Ctrl</description>
+          <description>Caps Lock as Ctrl</description>
+        </configItem>
+      </option>
+      <option>
+        <configItem>
+          <name>ctrl:lctrl_meta</name>
+          <description>Left Ctrl as Meta</description>
         </configItem>
       </option>
       <option>
         <configItem>
           <name>ctrl:swapcaps</name>
-          <description>Swap Ctrl and CapsLock</description>
+          <description>Swap Ctrl and Caps Lock</description>
         </configItem>
       </option>
       <option>
         <configItem>
-          <name>ctrl:ctrl_ac</name>
+          <name>ctrl:ac_ctrl</name>
           <description>At left of 'A'</description>
         </configItem>
       </option>
       <option>
         <configItem>
-          <name>ctrl:ctrl_aa</name>
+          <name>ctrl:aa_ctrl</name>
           <description>At bottom left</description>
         </configItem>
       </option>
       <option>
         <configItem>
-          <name>ctrl:ctrl_ra</name>
+          <name>ctrl:rctrl_ralt</name>
           <description>Right Ctrl as Right Alt</description>
         </configItem>
       </option>
+      <option>
+        <configItem>
+          <name>ctrl:menu_rctrl</name>
+          <description>Menu as Right Ctrl</description>
+        </configItem>
+      </option>
+      <option>
+        <configItem>
+          <name>ctrl:ctrl_ralt</name>
+          <description>Right Alt as Right Ctrl</description>
+        </configItem>
+      </option>
     </group>
     <group allowMultipleSelection="true">
       
@@ -4787,19 +5842,19 @@
       <option>
         <configItem>
           <name>grp_led:num</name>
-          <description>NumLock</description>
+          <description>Num Lock</description>
         </configItem>
       </option>
       <option>
         <configItem>
           <name>grp_led:caps</name>
-          <description>CapsLock</description>
+          <description>Caps Lock</description>
         </configItem>
       </option>
       <option>
         <configItem>
           <name>grp_led:scroll</name>
-          <description>ScrollLock</description>
+          <description>Scroll Lock</description>
         </configItem>
       </option>
     </group>
@@ -4836,13 +5891,13 @@
       <option>
         <configItem>
           <name>keypad:oss_wang</name>
-          <description>Wang 724 keypad with unicode additions (arrows and math operators)</description>
+          <description>Wang 724 keypad with Unicode additions (arrows and math operators)</description>
        </configItem>
       </option>
       <option>
         <configItem>
           <name>keypad:future_wang</name>
-          <description>Wang 724 keypad with unicode additions (arrows and math operators). Math operators on default level</description>
+          <description>Wang 724 keypad with Unicode additions (arrows and math operators). Math operators on default level</description>
        </configItem>
       </option>
       <option>
@@ -4921,84 +5976,90 @@
       
       <configItem>
         <name>caps</name>
-        <description>CapsLock key behavior</description>
+        <description>Caps Lock key behavior</description>
       </configItem>
       <option>
         <configItem>
           <name>caps:internal</name>
-          <description>CapsLock uses internal capitalization. Shift "pauses" CapsLock</description>
+          <description>Caps Lock uses internal capitalization. Shift "pauses" Caps Lock</description>
         </configItem>
       </option>
       <option>
         <configItem>
           <name>caps:internal_nocancel</name>
-          <description>CapsLock uses internal capitalization. Shift doesn't affect CapsLock</description>
+          <description>Caps Lock uses internal capitalization. Shift doesn't affect Caps Lock</description>
         </configItem>
       </option>
       <option>
         <configItem>
           <name>caps:shift</name>
-          <description>CapsLock acts as Shift with locking. Shift "pauses" CapsLock</description>
+          <description>Caps Lock acts as Shift with locking. Shift "pauses" Caps Lock</description>
         </configItem>
       </option>
       <option>
         <configItem>
           <name>caps:shift_nocancel</name>
-          <description>CapsLock acts as Shift with locking. Shift doesn't affect CapsLock</description>
+          <description>Caps Lock acts as Shift with locking. Shift doesn't affect Caps Lock</description>
         </configItem>
       </option>
       <option>
         <configItem>
           <name>caps:capslock</name>
-          <description>CapsLock toggles normal capitalization of alphabetic characters</description>
+          <description>Caps Lock toggles normal capitalization of alphabetic characters</description>
         </configItem>
       </option>
       <option>
         <configItem>
           <name>caps:numlock</name>
-          <description>Make CapsLock an additional NumLock</description>
+          <description>Make Caps Lock an additional Num Lock</description>
         </configItem>
       </option>
       <option>
         <configItem>
           <name>caps:swapescape</name>
-          <description>Swap ESC and CapsLock</description>
+          <description>Swap ESC and Caps Lock</description>
         </configItem>
       </option>
       <option>
         <configItem>
           <name>caps:escape</name>
-          <description>Make CapsLock an additional ESC</description>
+          <description>Make Caps Lock an additional ESC</description>
         </configItem>
       </option>
       <option>
         <configItem>
           <name>caps:backspace</name>
-          <description>Make CapsLock an additional Backspace</description>
+          <description>Make Caps Lock an additional Backspace</description>
         </configItem>
       </option>
       <option>
         <configItem>
           <name>caps:super</name>
-          <description>Make CapsLock an additional Super</description>
+          <description>Make Caps Lock an additional Super</description>
         </configItem>
       </option>
       <option>
         <configItem>
           <name>caps:hyper</name>
-          <description>Make CapsLock an additional Hyper</description>
+          <description>Make Caps Lock an additional Hyper</description>
         </configItem>
       </option>
       <option>
         <configItem>
           <name>caps:shiftlock</name>
-          <description>CapsLock toggles Shift so all keys are affected</description>
+          <description>Caps Lock toggles Shift so all keys are affected</description>
         </configItem>
       </option>
       <option>
         <configItem>
           <name>caps:none</name>
-          <description>CapsLock is disabled</description>
+          <description>Caps Lock is disabled</description>
+        </configItem>
+      </option>
+      <option>
+        <configItem>
+          <name>caps:ctrl_modifier</name>
+          <description>Make Caps Lock an additional Control but keep the Caps_Lock keysym</description>
         </configItem>
       </option>
     </group>
@@ -5108,7 +6169,7 @@
       <option>
         <configItem>
           <name>compose:caps</name>
-          <description>CapsLock</description>
+          <description>Caps Lock</description>
         </configItem>
       </option>
       <option>
@@ -5132,7 +6193,7 @@
       <option>
         <configItem>
           <name>compose:sclk</name>
-          <description>ScrollLock</description>
+          <description>Scroll Lock</description>
         </configItem>
       </option>
     </group>
@@ -5150,7 +6211,7 @@
       <option>
         <configItem>
           <name>numpad:mac</name>
-          <description>Numeric keypad keys work as with Mac</description>
+          <description>Numeric keypad keys always enter digits (as in Mac OS)</description>
         </configItem>
       </option>
       <option>
@@ -5162,7 +6223,7 @@
       <option>
         <configItem>
           <name>numpad:shift3</name>
-          <description>Shift does not cancel NumLock, chooses 3rd level instead</description>
+          <description>Shift does not cancel Num Lock, chooses 3rd level instead</description>
         </configItem>
       </option>
       <option>
@@ -5174,13 +6235,13 @@
       <option>
         <configItem>
           <name>apple:alupckeys</name>
-          <description>Apple Aluminium Keyboard: emulate PC keys (Print, Scroll_Lock, Pause, NumLock)</description>
+          <description>Apple Aluminium Keyboard: emulate PC keys (Print, Scroll Lock, Pause, Num Lock)</description>
         </configItem>
       </option>
       <option>
         <configItem>
           <name>shift:breaks_caps</name>
-          <description>Shift cancels CapsLock</description>
+          <description>Shift cancels Caps Lock</description>
         </configItem>
       </option>
       <option>
@@ -5192,13 +6253,13 @@
       <option>
         <configItem>
           <name>shift:both_capslock</name>
-          <description>Both Shift-Keys together toggle CapsLock</description>
+          <description>Both Shift-Keys together toggle Caps Lock</description>
         </configItem>
       </option>
       <option>
         <configItem>
           <name>shift:both_capslock_cancel</name>
-          <description>Both Shift-Keys together activate CapsLock, one Shift-Key deactivates</description>
+          <description>Both Shift-Keys together activate Caps Lock, one Shift-Key deactivates</description>
         </configItem>
       </option>
       <option>
@@ -5207,35 +6268,53 @@
           <description>Both Shift-Keys together toggle ShiftLock</description>
         </configItem>
       </option>
+      <option>
+        <configItem>
+          <name>keypad:pointerkeys</name>
+          <description>Toggle PointerKeys with Shift + NumLock.</description>
+        </configItem>
+      </option>
+      <option>
+        <configItem>
+          <name>grab:break_actions</name>
+          <description>Allow breaking grabs with keyboard actions (warning: security risk)</description>
+        </configItem>
+      </option>
     </group>
     <group allowMultipleSelection="true">
       
       <configItem>
         <name>eurosign</name>
-        <description>Adding EuroSign to certain keys</description>
+        <description>Adding currency signs to certain keys</description>
       </configItem>
       <option>
         <configItem>
           <name>eurosign:e</name>
-          <description>E</description>
+          <description>Euro on E</description>
         </configItem>
       </option>
       <option>
         <configItem>
           <name>eurosign:2</name>
-          <description>2</description>
+          <description>Euro on 2</description>
         </configItem>
       </option>
       <option>
         <configItem>
           <name>eurosign:4</name>
-          <description>4</description>
+          <description>Euro on 4</description>
         </configItem>
       </option>
       <option>
         <configItem>
           <name>eurosign:5</name>
-          <description>5</description>
+          <description>Euro on 5</description>
+        </configItem>
+      </option>
+      <option>
+        <configItem>
+          <name>rupeesign:4</name>
+          <description>Rupee on 4</description>
         </configItem>
       </option>
     </group>
@@ -5247,7 +6326,7 @@
       <option>
         <configItem>
           <name>lv5:lsgt_switch_lock</name>
-	  <description>&lt;Less/Greater&gt; chooses 5th level, locks when pressed together with another 5th-level-chooser</description>
+          <description>&lt;Less/Greater&gt; chooses 5th level, locks when pressed together with another 5th-level-chooser</description>
         </configItem>
       </option>
       <option>
@@ -5268,66 +6347,7 @@
           <description>Right Win chooses 5th level, locks when pressed together with another 5th-level-chooser</description>
         </configItem>
       </option>
-      <option>
-        <configItem>
-          <name>lv5:lsgt_switch_lock_cancel</name>
-	  <description>&lt;Less/Greater&gt; chooses 5th level, locks when pressed together with another 5th-level-chooser, one press releases the lock</description>
-        </configItem>
-      </option>
-      <option>
-        <configItem>
-          <name>lv5:ralt_switch_lock_cancel</name>
-          <description>Right Alt chooses 5th level, locks when pressed together with another 5th-level-chooser, one press releases the lock</description>
-        </configItem>
-      </option>
-      <option>
-        <configItem>
-          <name>lv5:lwin_switch_lock_cancel</name>
-          <description>Left Win chooses 5th level, locks when pressed together with another 5th-level-chooser, one press releases the lock</description>
-        </configItem>
-      </option>
-      <option>
-        <configItem>
-          <name>lv5:rwin_switch_lock_cancel</name>
-          <description>Right Win chooses 5th level, locks when pressed together with another 5th-level-chooser, one press releases the lock</description>
-        </configItem>
-      </option>
-      <option>
-        <configItem>
-          <name>lv5:lwin_switch_lock</name>
-          <description>Left Win chooses 5th level and toggles level5-Lock when pressed together with another 5th-level-chooser</description>
-        </configItem>
-      </option>
-      <option>
-        <configItem>
-          <name>lv5:rwin_switch_lock</name>
-          <description>Right Win chooses 5th level and toggles level5-Lock when pressed together with another 5th-level-chooser</description>
-        </configItem>
-      </option>
-      <option>
-        <configItem>
-          <name>lv5:lsgt_switch_lock_cancel</name>
-	  <description>&lt;Less/Greater&gt; chooses 5th level and activates level5-Lock when pressed together with another 5th-level-chooser, one press releases the lock</description>
-        </configItem>
-      </option>
-      <option>
-        <configItem>
-          <name>lv5:ralt_switch_lock_cancel</name>
-          <description>Right Alt chooses 5th level and activates level5-Lock when pressed together with another 5th-level-chooser, one press releases the lock</description>
-        </configItem>
-      </option>
-      <option>
-        <configItem>
-          <name>lv5:lwin_switch_lock_cancel</name>
-          <description>Left Win chooses 5th level and activates level5-Lock when pressed together with another 5th-level-chooser, one press releases the lock</description>
-        </configItem>
-      </option>
-      <option>
-        <configItem>
-          <name>lv5:rwin_switch_lock_cancel</name>
-          <description>Right Win chooses 5th level and activates level5-Lock when pressed together with another 5th-level-chooser, one press releases the lock</description>
-        </configItem>
-      </option>
+
     </group>
     <group allowMultipleSelection="false">
       
@@ -5449,6 +6469,12 @@
           <description>NICOLA-F style Backspace</description>
        </configItem>
       </option>
+      <option>
+        <configItem>
+          <name>japan:hztg_escape</name>
+          <description>Make Zenkaku Hankaku an additional ESC</description>
+       </configItem>
+      </option>
     </group>
     <group allowMultipleSelection="false">
       <configItem>
diff --git a/linux/X/symbols/de b/linux/X/symbols/de
index 60b53b5..c8a35a1 100644
--- a/linux/X/symbols/de
+++ b/linux/X/symbols/de
@@ -1,15 +1,11 @@
-
 // based on a keyboard map from an 'xkb/symbols/de' file
-//
-// $XKeyboardConfig$
-// $XFree86: xc/programs/xkbcomp/symbols/de,v 1.6 2003/09/08 13:12:51 pascal Exp $
 
 default
 xkb_symbols "basic" {
 
     include "latin(type4)"
 
-    name[Group1]="Germany";
+    name[Group1]="German";
 
     key <AE02>	{ [         2,   quotedbl,  twosuperior,    oneeighth ]	};
     key <AE03>	{ [         3,    section, threesuperior,    sterling ]	};
@@ -59,7 +55,7 @@ xkb_symbols "nodeadkeys" {
     // modify the basic German layout to not have any dead keys
 
     include "de(basic)"
-    name[Group1]="Germany - Eliminate dead keys";
+    name[Group1]="German (eliminate dead keys)";
 
     key <TLDE>	{ [asciicircum,    degree,      notsign,      notsign ]	};
     key <AE12>	{ [     acute,      grave,      cedilla,      cedilla ]	};
@@ -68,7 +64,6 @@ xkb_symbols "nodeadkeys" {
     key <AC10>	{ [odiaeresis, Odiaeresis,  doubleacute,  doubleacute ]	};
     key <AC11>	{ [adiaeresis, Adiaeresis,  asciicircum,  asciicircum ]	};
     key <BKSL>	{ [numbersign, apostrophe,        grave,        grave ]	};
-    key <AB10>	{ [     minus, underscore, dead_belowdot,    abovedot ]	};
 };
 
 partial alphanumeric_keys
@@ -78,7 +73,7 @@ xkb_symbols "deadgraveacute" {
     // in many programming languages)
 
     include "de(basic)"
-    name[Group1]="Germany - Dead grave acute";
+    name[Group1]="German (dead grave acute)";
 
     key <TLDE>	{ [asciicircum,    degree,      notsign,      notsign ]	};
     key <AD12>	{ [      plus,   asterisk,   asciitilde,  dead_macron ]	};
@@ -93,7 +88,7 @@ xkb_symbols "deadacute" {
 
     include "de(deadgraveacute)"
 
-    name[Group1]="Germany - Dead acute";
+    name[Group1]="German (dead acute)";
 
     key <AE12>	{ [dead_acute,      grave, dead_cedilla,  dead_ogonek ]	};
     key <BKSL>	{ [numbersign, apostrophe,   dead_grave,   dead_grave ]	};
@@ -109,7 +104,7 @@ xkb_symbols "ro" {
 
     include "de(basic)"
 
-    name[Group1]="Germany - Romanian keyboard with German letters";
+    name[Group1]="Romanian (Germany)";
 
     key <AD05> { [         t,    T,           tcedilla,     Tcedilla    ] };
     key <AD08> { [         i,    I,        icircumflex,  Icircumflex    ] };
@@ -124,7 +119,7 @@ xkb_symbols "ro_nodeadkeys" {
     // Read the comment for de_ro !
 
     include "de(nodeadkeys)"
-    name[Group1]="Germany - Romanian keyboard with German letters, eliminate dead keys";
+    name[Group1]="Romanian (Germany, eliminate dead keys)";
 
     key <AD05> { [         t,    T,           tcedilla,     Tcedilla    ] };
     key <AD08> { [         i,    I,        icircumflex,  Icircumflex    ] };
@@ -142,7 +137,7 @@ partial alphanumeric_keys
 xkb_symbols "dvorak" {
     include "us(dvorak)"
 
-    name[Group1]="Germany - Dvorak";
+    name[Group1]="German (Dvorak)";
 
     key <TLDE> { [ asciicircum, degree ] };
 
@@ -208,7 +203,7 @@ xkb_symbols "sundeadkeys" {
 
     include "de(Sundeadkeys)"
 
-    name[Group1]="Germany - Sun dead keys";
+    name[Group1]="German (Sun dead keys)";
 };
 
 
@@ -230,8 +225,6 @@ xkb_symbols "sundeadkeys" {
 partial alphanumeric_keys modifier_keys keypad_keys
 xkb_symbols "neo_base" {
 
-    name[Group1]= "Germany - Neo 2";
-
     // Levels in Neo jargon
     // --------------------------------------------------------------
     // Ebene 1: normal
@@ -386,6 +379,8 @@ xkb_symbols "neo" {
 
     include "de(neo_base)"
 
+    name[Group1]= "German (Neo 2)";
+
     include "shift(both_capslock)"
     include "level3(caps_switch)"
     include "level3(bksl_switch)"
@@ -400,7 +395,7 @@ partial alphanumeric_keys
 xkb_symbols "mac" {
 
     include "de"
-    name[Group1]= "Germany - Macintosh";
+    name[Group1]= "German (Macintosh)";
 
     // Alphanumeric section
     key <AE01>	{ [         1,     exclam,   exclamdown,           at ]	};
@@ -428,7 +423,7 @@ partial alphanumeric_keys
 xkb_symbols "mac_nodeadkeys" {
     // modify the standard German mac layout to not have any dead keys
     include "de(mac)"
-    name[Group1]= "Germany - Macintosh, eliminate dead keys";
+    name[Group1]= "German (Macintosh, eliminate dead keys)";
     key <AE04>	{ [         4,     dollar,   onequarter,     currency ]	};
 
     key <TLDE>	{ [ asciicircum,    degree,     notsign       ]	};
@@ -444,7 +439,7 @@ xkb_symbols "mac_nodeadkeys" {
 partial alphanumeric_keys
 xkb_symbols "dsb"
 {
-	name[Group1] = "Germany - Lower Sorbian";
+	name[Group1] = "Lower Sorbian";
 	include "latin(basic)"
 	include "level3(ralt_switch)"
 	include "kpdl(comma)"
@@ -467,7 +462,7 @@ xkb_symbols "dsb"
 partial alphanumeric_keys
 xkb_symbols "dsb_qwertz"
 {
-	name[Group1] = "Germany - Lower Sorbian (qwertz)";
+	name[Group1] = "Lower Sorbian (qwertz)";
 	include "latin(basic)"
 	include "level3(ralt_switch)"
 	include "kpdl(comma)"
@@ -489,17 +484,144 @@ xkb_symbols "dsb_qwertz"
 	key <AD09> { [              o,              O,         oacute,         Oacute ] };
 };
 
-partial alphanumeric_keys 
-xkb_symbols "qwerty" {
- 
-    // This layout should work exactly as a de with the exception 
-    // of 'Z' and 'Y' keys, which are in the qwerty style (ie. swapped).
-    // 2008 by Matej Košík <kosik@fiit.stuba.sk>
-    
+// layout for Russian letters on an german keyboard
+// based on US-RU layout by Ivan Popov <pin@konvalo.org> 2005-07-17
+// adopted for german layout by Alexey Fisher <bug-track@fisher-privat.net> 2010-08-19
+
+partial alphanumeric_keys
+xkb_symbols "ru" {
+
     include "de(basic)"
+ 
+    name[Group1]= "Russian (Germany, phonetic)";
+
+key.type[group1]="FOUR_LEVEL_ALPHABETIC";
+
+    key <LatA> { [        Cyrillic_a,        Cyrillic_A ] };
+    key <LatB> { [       Cyrillic_be,       Cyrillic_BE ] };
+    key <LatW> { [       Cyrillic_ve,       Cyrillic_VE ] };
+    key <LatG> { [      Cyrillic_ghe,      Cyrillic_GHE ] };
+    key <LatD> { [       Cyrillic_de,       Cyrillic_DE ] };
+    key <LatE> { [       Cyrillic_ie,       Cyrillic_IE ] };
+    key <TLDE> { [       Cyrillic_io,       Cyrillic_IO, asciitilde ] };
+    key <LatX> { [      Cyrillic_zhe,      Cyrillic_ZHE ] };
+    key <LatZ> { [       Cyrillic_ze,       Cyrillic_ZE ] };
+    key <LatI> { [        Cyrillic_i,        Cyrillic_I ] };
+    key <LatJ> { [   Cyrillic_shorti,   Cyrillic_SHORTI ] };
+    key <LatK> { [       Cyrillic_ka,       Cyrillic_KA ] };
+    key <LatL> { [       Cyrillic_el,       Cyrillic_EL ] };
+    key <LatM> { [       Cyrillic_em,       Cyrillic_EM ] };
+    key <LatN> { [       Cyrillic_en,       Cyrillic_EN ] };
+    key <LatO> { [        Cyrillic_o,        Cyrillic_O ] };
+    key <LatP> { [       Cyrillic_pe,       Cyrillic_PE ] };
+    key <LatR> { [       Cyrillic_er,       Cyrillic_ER ] };
+    key <LatS> { [       Cyrillic_es,       Cyrillic_ES ] };
+    key <LatT> { [       Cyrillic_te,       Cyrillic_TE ] };
+    key <LatU> { [        Cyrillic_u,        Cyrillic_U ] };
+    key <LatF> { [       Cyrillic_ef,       Cyrillic_EF ] };
+    key <LatH> { [       Cyrillic_ha,       Cyrillic_HA ] };
+    key <LatC> { [      Cyrillic_tse,      Cyrillic_TSE ] };
+    key <AC10> { [      Cyrillic_che,      Cyrillic_CHE ] };
+    key <AD11> { [      Cyrillic_sha,      Cyrillic_SHA ] };
+    key <AD12> { [    Cyrillic_shcha,    Cyrillic_SHCHA, plus, asterisk ] };
+    key <AE12> { [ Cyrillic_hardsign, Cyrillic_HARDSIGN ] };
+    key <LatY> { [     Cyrillic_yeru,     Cyrillic_YERU ] };
+    key <LatV> { [ Cyrillic_softsign, Cyrillic_SOFTSIGN ] };
+    key <AC11> { [        Cyrillic_e,        Cyrillic_E ] };
+    key <BKSL> { [       Cyrillic_yu,       Cyrillic_YU, numbersign, apostrophe ] };
+    key <LatQ> { [       Cyrillic_ya,       Cyrillic_YA ] };
+
+    include "level3(ralt_switch)"
+};
 
-    name[Group1] = "Germany - qwerty";
+partial alphanumeric_keys
+xkb_symbols "htcdream" {
+        include "inet(htcdream)"
+
+        name[Group1]= "German";
+
+        //second row
+        key <AD01> { [ q, Q, Tab, Tab ] };
+        key <AD02> { [ w, W, grave, grave ] };
+        key <AD03> { [ e, E, EuroSign, EuroSign ] };
+        key <AD04> { [ r, R, underscore, underscore ] };
+        key <AD05> { [ t, T, sterling, sterling] };
+        key <AD06> { [ z, Z, division, division ] };
+        key <AD07> { [ u, U, udiaeresis, udiaeresis ] };
+        key <AD08> { [ i, I, minus, minus ] };
+        key <AD09> { [ o, O, odiaeresis, odiaeresis ] };
+        key <AD10> { [ p, P, equal, equal ] };
+
+        //third row
+        key <AC01> { [ a, A, adiaeresis, adiaeresis ] };
+        key <AC02> { [ s, S, ssharp, ssharp] };
+        key <AC03> { [ d ,D, backslash, backslash ] };
+        key <AC04> { [ f, F, braceleft, braceleft ] };
+        key <AC05> { [ g, G, braceright, braceright ] };
+        key <AC06> { [ h, H, multiply, multiply ] };
+        key <AC07> { [ j, J, colon, colon ] };
+        key <AC08> { [ k, K, plus, plus ] };
+        key <AC09> { [ l, L, apostrophe, apostrophe ] };
+
+        //forth row
+        key <AB01> { [ y, Y, bar, bar ] };
+        key <AB02> { [ x, X, bracketleft, bracketleft ] };
+        key <AB03> { [ c, C, bracketright, bracketright ] };
+        key <AB04> { [ v, V, less, less ] };
+        key <AB05> { [ b, B, greater, greater ] };
+        key <AB06> { [ n, N, semicolon, semicolon ] };
+        key <AB07> { [ m, M, quotedbl, quotedbl ] };
+        key <AB08> { [ comma, comma, question, question ] };
+
+        //fifth row
+        key <FK15> { [ at, at, asciitilde, asciitilde ] };
+
+        include "level3(alt_switch)"
+};
+
+// EXTRAS:
+
+partial alphanumeric_keys
+xkb_symbols "us" {
+    include "us"
+
+    name[Group1]="German (US keyboard with German letters)";
+
+    key <AC01> { [           a,          A, adiaeresis, Adiaeresis ] };
+    key <AC02> { [           s,          S,     ssharp,     ssharp ] };
+    key <AC10> { [   semicolon,      colon, odiaeresis, Odiaeresis ] };
+    key <AC11> { [  apostrophe,   quotedbl, adiaeresis, Adiaeresis ] };
+    key <AD03> { [           e,          E,   EuroSign,   EuroSign ] };
+    key <AD07> { [           u,          U, udiaeresis, Udiaeresis ] };
+    key <AD09> { [           o,          O, odiaeresis, Odiaeresis ] };
+    key <AD11> { [ bracketleft,  braceleft, udiaeresis, Udiaeresis ] };
+    key <AE03> { [           3, numbersign,    section,    section ] };
+    key <AE11> { [       minus, underscore,     ssharp,   question ] };
+
+    include "level3(ralt_switch)"
+};
+
+partial alphanumeric_keys
+xkb_symbols "hu" {
+
+    // modify the basic German layout to not have any dead keys and add Hungarian letters
 
-    key <AB01>	{ [         z,          Z,     leftarrow,         yen ]	};
-    key <AD06>	{ [         y,          Y, guillemotleft,        less ]	};
+    include "de(basic)"
+    name[Group1]="German (with Hungarian letters and no dead keys)";
+
+    key <AB01> { [         y,          Y, guillemotleft,        less ] };
+    key <AC10> { [odiaeresis, Odiaeresis,        eacute,      Eacute ] };
+    key <AC11> { [adiaeresis, Adiaeresis,        aacute,       Aacute] };
+    key <AD03> { [         e,          E,      EuroSign,    EuroSign ] };
+    key <AD06> { [         z,          Z,     leftarrow,         yen ] };
+    key <AD07> { [         u,          U,        uacute,      Uacute ] };
+    key <AD08> { [         i,          I,        iacute,      Iacute ] };
+    key <AD09> { [         o,          O,  odoubleacute,Odoubleacute ] };
+    key <AD11> { [udiaeresis, Udiaeresis,  udoubleacute,Udoubleacute ] };
+    key <AD12> { [      plus,   asterisk,    asciitilde,      macron ] };
+    key <AE12> { [     acute,      grave,        oacute,      Oacute ] };
+    key <BKSL> { [numbersign, apostrophe,         grave,       grave ] };
+    key <TLDE> { [asciicircum,    degree,       notsign,     notsign ] };
+    
+    
 };
diff --git a/linux/X/symbols/level3 b/linux/X/symbols/level3
index c2c6b13..9d49555 100644
--- a/linux/X/symbols/level3
+++ b/linux/X/symbols/level3
@@ -1,10 +1,6 @@
-// $XKeyboardConfig$
-
 // these variants assign various XKB keycodes to ISO_Level3_Shift so that
 // the third shift level can be reached
 //
-// $XFree86: xc/programs/xkbcomp/symbols/level3,v 1.7 2003/09/08 14:25:32 eich Exp $
-//
 
 // the default behavior is for the right Alt key (AltGr) to generate the
 // third engraved symbol
diff --git a/linux/X/symbols/level5 b/linux/X/symbols/level5
index 19db36c..ce219b5 100644
--- a/linux/X/symbols/level5
+++ b/linux/X/symbols/level5
@@ -1,10 +1,6 @@
-// $XKeyboardConfig$
-
 // these variants assign various XKB keycodes to ISO_Level5_Shift so that
 // the third shift level can be reached
 //
-// $XFree86: xc/programs/xkbcomp/symbols/level3,v 1.7 2003/09/08 14:25:32 eich Exp $
-//
 
 // using the level(switch) map, the right Control key temporarily
 // chooses the fifth shift level (until it is released).
@@ -17,6 +13,25 @@ xkb_symbols "rctrl_switch" {
   modifier_map Mod3   { ISO_Level5_Shift };
 };
 
+partial modifier_keys
+xkb_symbols "lsgt_switch" {
+  key <LSGT> {
+    type[Group1]="ONE_LEVEL",
+    symbols[Group1] = [ ISO_Level5_Shift ]
+    };
+  modifier_map Mod3   { ISO_Level5_Shift };
+};
+
+partial modifier_keys
+xkb_symbols "ralt_switch" {
+  key <RALT> {
+    type[Group1]="ONE_LEVEL",
+    symbols[Group1] = [ ISO_Level5_Shift ]
+    };
+  modifier_map Mod3   { ISO_Level5_Shift };
+};
+
+
 // The following modifier keys are used to switch to the third shift and to set a
 // corresponding lock, implemented as NumLock.
 
diff --git a/linux/X/symbols/shift b/linux/X/symbols/shift
index 78951c1..6fbec5b 100644
--- a/linux/X/symbols/shift
+++ b/linux/X/symbols/shift
@@ -1,5 +1,3 @@
-// $XKeyboardConfig$
-
 partial modifier_keys 
 xkb_symbols "breaks_caps" {
     key <LFSH> {
diff --git a/linux/X/types/level5 b/linux/X/types/level5
index 1012d0f..e441ffa 100644
--- a/linux/X/types/level5
+++ b/linux/X/types/level5
@@ -1,6 +1,3 @@
-// $XKeyboardConfig$
-// $XFree86: xc/programs/xkbcomp/types/extra,v 1.3 2002/11/26 02:14:02 dawes Exp $
-
 partial default xkb_types "default" {
     // Definition for a key type used for the czech keymap, for instance.
     // Defines style a with four level shift. It is similar to three_level
@@ -37,7 +34,7 @@ partial default xkb_types "default" {
 //	map[Shift+LevelThree] = Level4;
 //	map[Lock+LevelThree] =  Level4;
 //        map[Lock+Shift+LevelThree] = Level3;
-
+//
 //	map[LevelFive] = Level5;
 //	map[Shift+LevelFive] = Level6;
 //	map[Lock+LevelFive]  = Level6;
@@ -45,7 +42,42 @@ partial default xkb_types "default" {
 //	map[Shift+LevelThree+LevelFive] = Level8;
 //	map[Lock+LevelThree+LevelFive] =  Level8;
 //        map[Lock+Shift+LevelThree+LevelFive] = Level7;
+//
+//	level_name[Level1] = "Base";
+//	level_name[Level2] = "Shift";
+//	level_name[Level3] = "Alt Base";
+//	level_name[Level4] = "Shift Alt";
+//	level_name[Level5] = "X";
+//	level_name[Level6] = "X Shift";
+//	level_name[Level7] = "X Alt Base";
+//	level_name[Level8] = "X Shift Alt";
+//    };
 
+//    type "EIGHT_LEVEL_SEMIALPHABETIC" {
+//	modifiers = Shift+Lock+LevelThree+LevelFive;
+//	map[None] = Level1;
+//	map[Shift] = Level2;
+//	map[Lock]  = Level2;
+//	map[LevelThree] = Level3;
+//	map[Shift+LevelThree] = Level4;
+//	map[Lock+LevelThree] =  Level3;
+//        map[Lock+Shift+LevelThree] = Level4;
+//
+//	map[LevelFive] = Level5;
+//	map[Shift+LevelFive] = Level6;
+//	map[Lock+LevelFive]  = Level6;
+//	map[LevelThree+LevelFive] = Level7;
+//	map[Shift+LevelThree+LevelFive] = Level8;
+//	map[Lock+LevelThree+LevelFive] =  Level7;
+//        map[Lock+Shift+LevelThree+LevelFive] = Level8;
+//
+//	preserve[Lock+LevelThree] = Lock;
+//	preserve[Lock+Shift+LevelThree] = Lock;
+//	preserve[Lock+LevelFive] = Lock;
+//	preserve[Lock+Shift+LevelFive] = Lock;
+//	preserve[Lock+LevelThree+LevelFive] = Lock;
+//	preserve[Lock+Shift+LevelThree+LevelFive] = Lock;
+//
 //	level_name[Level1] = "Base";
 //	level_name[Level2] = "Shift";
 //	level_name[Level3] = "Alt Base";
@@ -178,40 +210,4 @@ partial default xkb_types "default" {
         level_name[Level8] = "X Shift Alt";
     };
 
-//    type "EIGHT_LEVEL_SEMIALPHABETIC" {
-//	modifiers = Shift+Lock+LevelThree+LevelFive;
-//	map[None] = Level1;
-//	map[Shift] = Level2;
-//	map[Lock]  = Level2;
-//	map[LevelThree] = Level3;
-//	map[Shift+LevelThree] = Level4;
-//	map[Lock+LevelThree] =  Level3;
-//        map[Lock+Shift+LevelThree] = Level4;
-
-//	map[LevelFive] = Level5;
-//	map[Shift+LevelFive] = Level6;
-//	map[Lock+LevelFive]  = Level6;
-//	map[LevelThree+LevelFive] = Level7;
-//	map[Shift+LevelThree+LevelFive] = Level8;
-//	map[Lock+LevelThree+LevelFive] =  Level7;
-//        map[Lock+Shift+LevelThree+LevelFive] = Level8;
-
-//	preserve[Lock+LevelThree] = Lock;
-//	preserve[Lock+Shift+LevelThree] = Lock;
-//	preserve[Lock+LevelFive] = Lock;
-//	preserve[Lock+Shift+LevelFive] = Lock;
-//	preserve[Lock+LevelThree+LevelFive] = Lock;
-//	preserve[Lock+Shift+LevelThree+LevelFive] = Lock;
-
-//	level_name[Level1] = "Base";
-//	level_name[Level2] = "Shift";
-//	level_name[Level3] = "Alt Base";
-//	level_name[Level4] = "Shift Alt";
-//	level_name[Level5] = "X";
-//	level_name[Level6] = "X Shift";
-//	level_name[Level7] = "X Alt Base";
-//	level_name[Level8] = "X Shift Alt";
-//    };
-
 };
-
-- 
cgit v1.2.3