    # Clean up registry value for translating LCID value
    # by using only the last 10 bits (last 2 hex digits), since 
    # the upper bits are the country...  For example
    #     0409 - English - United States
    #     0809 - English - United Kingdom
    #
    set locale [string trimleft $locale "0"]
    set locale [string tolower $locale]
    switch -- [string range $locale end-1 end] {
	01      { mclocale "ar" }
	02      { mclocale "bg" }
	03      { mclocale "ca" }
	04      { mclocale "zh" }
	05      { mclocale "cs" }
	06      { mclocale "da" }
	07      { mclocale "de" }
	08      { mclocale "el" }
	09      { mclocale "en" }
	0a      { mclocale "es" }
	0b      { mclocale "fi" }
	0c      { mclocale "fr" }
	0d      { mclocale "he" }
	0e      { mclocale "hu" }
	0f      { mclocale "is" }
	10      { mclocale "it" }
	11      { mclocale "ja" }
	12      { mclocale "ko" }
	13      { mclocale "da" }
	14      { mclocale "no" }
	15      { mclocale "pl" }
	16      { mclocale "pt" }
	17      { mclocale "rm" }
	18      { mclocale "ro" }
	19      { mclocale "ru" }
	1a      { mclocale "hr" }
	1b      { mclocale "sk" }
	1c      { mclocale "sq" }
	1d      { mclocale "sv" }
	1e      { mclocale "th" }
	1f      { mclocale "tr" }
	20      { mclocale "ur" }
	21      { mclocale "id" }
	22      { mclocale "uk" }
	23      { mclocale "be" }
	24      { mclocale "sl" }
	25      { mclocale "et" }
	26      { mclocale "lv" }
	27      { mclocale "lt" }
	28      { mclocale "tg" }
	29      { mclocale "fa" }
	2a      { mclocale "vi" }
	2b      { mclocale "hy" }
	2c      { mclocale "az" }
	2d      { mclocale "eu" }
	2e      { mclocale "wen" }
	2f      { mclocale "mk" }
	30      { mclocale "bnt" }
	31      { mclocale "ts" }
	33      { mclocale "ven" }
	34      { mclocale "xh" }
	35      { mclocale "zu" }
	36      { mclocale "af" }
	37      { mclocale "ka" }
	38      { mclocale "fo" }
	39      { mclocale "hi" }
	3a      { mclocale "mt" }
	3b      { mclocale "se" }
	3c      {
		    switch -- $locale {
			43c     { mclocale "gd" }
			83c     { mclocale "ga" }
			default	{ mclocale "C" }
		    }
		}
	3d      { mclocale "yi" }
	3e      { mclocale "ms" }
	3f      { mclocale "kk" }
	40      { mclocale "ky" }
	41      { mclocale "sw" }
	42      { mclocale "tk" }
	43      { mclocale "uz" }
	44      { mclocale "tt" }
	45      { mclocale "bn" }
	46      { mclocale "pa" }
	47      { mclocale "gu" }
	48      { mclocale "or" }
	49      { mclocale "ta" }
	4a      { mclocale "te" }
	4b      { mclocale "kn" }
	4c      { mclocale "ml" }
	4d      { mclocale "as" }
	4e      { mclocale "mr" }
	4f      { mclocale "sa" }
	50      { mclocale "mn" }
	51      { mclocale "bo" }
	52      { mclocale "cy" }
	53      { mclocale "km" }
	54      { mclocale "lo" }
	55      { mclocale "my" }
	56      { mclocale "gl" }
	57      { mclocale "kok" }
	58      { mclocale "mni" }
	59      { mclocale "sd" }
	5a      { mclocale "syr" }
	5b      { mclocale "si" }
	5c      { mclocale "chr" }
	5d      { mclocale "iu" }
	5e      { mclocale "am" }
	5f      { mclocale "ber" }
	60      { mclocale "ks" }
	61      { mclocale "ne" }
	62      { mclocale "fy" }
	63      { mclocale "ps" }
	64      { mclocale "tl" }
	65      { mclocale "div" }
	66      { mclocale "bin" }
	67      { mclocale "ful" }
	68      { mclocale "ha" }
	69      { mclocale "nic" }
	6a      { mclocale "yo" }
	70      { mclocale "ibo" }
	71      { mclocale "kau" }
	72      { mclocale "om" }
	73      { mclocale "ti" }
	74      { mclocale "gn" }
	75      { mclocale "cpe" }
	76      { mclocale "la" }
	77      { mclocale "so" }
	78      { mclocale "sit" }
	79      { mclocale "pap" }
	default	{ mclocale "C" }
    }
