WinBatch Tech Support Home

Database Search

If you can't find the information using the categories below, post a question over in our WinBatch Tech Support Forum.

TechHome

Language Vers - Regional Settings

Can't find the information you are looking for here? Then leave a message over on our WinBatch Tech Support Forum.

Determine Language Version

Keywords:    foreign language

Question:

Is there an easy way to determine the language version of the operating system? The problem I have is: MS translated the names of the network providers into localized versions (Very Helpfull feature indeed. Are there Status Codes (Language Codes )available as return values ?

Answer:

You have to peek in the registry, or maybe the win.ini file. We use the language code at...
code=IniRead("INTL", "sLanguage", "enu")
Message("Language code is",code)
Here is the location in the Registry for languange information.
; User selection in Control Panel, Regional Settings:
Hive = @REGCURRENT
subkey = "Control Panel\International"
item = "[Locale]"
value(string) ="00000C0C" ; see note, below

; Machine initial setting (original user?)
; I think this is the original setting on Setting up a fresh Win95 workstation, but am keeping my eye out in
case there is something more definitive:

Hive = @REGMACHINE
subkey = "System\CurrentControlSet\control\Nls\Locale"
item = "[]" ; default
value(string) ="00000C0C" ; see note, below
There is more than one French value, and more than one English value (we in Canada must constantly make allowances for both possibilities, as some people use UK English, and some US English, and some Canadian English, etc.). However, in by research, the last digit of every French value is "C", whereas the last digit of every English value is "9", so StrSub(value,8,1) and test for "9" or "C" will decide on the language.

Here is a list of English and French values (from a French-installed Registry, in the @REGMACHINE subkey listed above):

"00000409"="Anglais (U.S.)"
"00000809"="Anglais (G.B.)"
"00000C09"="Anglais (Australie)"
"00001009"="Anglais (Canada)"
"00001409"="Anglais (Nouvelle-Z_lande)"
"00001809"="Anglais (Irlande)"
"00001C09"="Anglais (Afrique du Sud)"

"0000040C"="Francais (standard)"
"0000080C"="Francais (Belgique)"
"00000C0C"="Francais (Canada)"
"0000100C"="Francais (Suisse)"
"0000140C"="Francais (Luxembourg)"
And here's a more complete list. Our defaults pick up *most* common codes. Pick one from Column A and one from Column B.

First half can be (language type).

Code Language

0x0401 Arabic 
0x0402 Bulgarian 
0x0403 Catalan 
0x0404 Traditional Ch0x0418 
0x0405 Czech 
0x0406 Danish 
0x0407 German 
0x0408 Greek 
0x0409 U.S. English 
0x040A Castilian Span0x041E 
0x040B Finnish 
0x040C French 
0x040D Hebrew 
0x040E Hungarian 
0x040F Icelandic 
0x0410 Italian 
0x0411 Japanese 
0x0412 Korean 
0x0413 Dutch 
0x0414 Norwegian - Bo0x100C 
0x0415 Polish 
0x0416 Brazilian Portuguese 
0x0417 Rhaeto-Romanic 
0x0418 Romanian 
0x0419 Russian 
0x041A Croato-Serbian (Latin) 
0x041B Slovak 
0x041C Albanian 
0x041D Swedish 
0x041E Thai 
0x041F Turkish 
0x0420 Urdu 
0x0421 Bahasa 
0x0804 Simplified Chinese 
0x0807 Swiss German 
0x0809 U.K. English 
0x0810 Swiss Italian 
0x0813 Belgian Dutch 
0x0814 Norwegian - Nynorsk 
0x080A Mexican Spanish 
0x080C Belgian French 
0x0C0C Canadian French 
0x100C Swiss French 
0x0816 Portuguese 
0x081A Serbo-Croatian (Cyrillic) 
Second half (characterset).

Identifier Character Set

0000 7-bit ASCII		  <==  Language neutral. 7-bit Ascii.  Usually US English.
03A4 Windows, Japan (Shift - JIS X-0208)
03B5 Windows, Korea (Shift - KSC 5601)
03B6 Windows, Taiwan (GB5)
04B0 Unicode
04E2 Windows, Latin-2 (Eastern European)
04E3 Windows, Cyrillic
04E4 Windows, Multilingual
04E5 Windows, Greek
O4E6 Windows, Turkish
04E7 Windows, Hebrew
04E8 Windows, Arabic

Article ID:   W13421
Filename:   Location in Registry of Language Stuff.txt
File Created: 2002:02:13:10:38:16
Last Updated: 2002:02:13:10:38:16