Making Sense of LCID Language Codes

Reading Kari’s post today about how to Change Windows system language, I found it raised some interesting questions. I found myself asking things like What’s that hyphenated four letter language name called? How many versions of English are supported in Windows? Where is this information available, and how is it organized? It took a bit of digging to find the answers, but the information proved interesting enough to share. So here goes…

Microsoft Handles Many Languages in Many Ways

I found the first source of information at Microsoft Docs under the heading of Language Packs. But interestingly enough, there’s a dead link on that page that should have taken me to information I wanted further that appears as follows:

For a complete list of supported languages and locales, see Locale Identifier Constants and Strings.

If you try to follow that link, it goes nowhere useful. A search on the link string proves more productive Ultimately it took me to a webpage entitled [MS-LCID]: Windows Language Code Identifier (LCID) Reference. (The heading from this document provides the lead-in graphic for this story, in fact — but I found it less usable than I’d hoped it would be.)  Alas, however, this reference points to a bunch of document files (PDF, docx, and diff) that aren’t terribly computer- or reader-friendly. In a quest for searchable/sortable information about Windows Locale Codes, I did manage to find a gem from (of all places) the Israel Science and Technology Directory entitled “Windows Local Codes — Sortable List.” Believe it or not, it provided answers to all of my questions and could be helpful to other polyglot users with multiple Windows UI languages to identify and manage.

Windows Language Questions, with Answers

Q: What’s that hyphenated four-letter language name called?
A: It’s called an LCID string where LCID stands for “Language Code IDentifier” where most such codes have decimal and hexadecimal numeric values as well as 4 character, hyphenated strings.

Q: How many versions of English are supported in Windows?
A: I find 14 in the afore-linked sortable list, from Australia (en-au) to Zimbabwe (en-zw). Other variants include Belize (en-bz), Canada (en-ca), Caribbean (en-cb), Great Britain (en-gb), India (en-in), Ireland (en-ie), Jamaica (en-jm), New Zealand (en-nz), Philippines (en-ph), Southern Africa (en-za), Trinidad (en-tt) and United States (en-us). That final entry is also the default language for Windows. There are 22 entries of the form “en-XX” in the Microsoft downloadable docx version, but some of them are marked reserved. Looks like there are entries for en-029 (which is a synonym for en-cb/Caribbean), Malaysia (en-my), Hong Kong (en-hk), Singapore (en-sg), United Arab Emirates (en-ae), Bahrain (en-bh), Egypt (en-eg), Jordan (en-jo), and Kuwait (en-kw), but many of these are still reserved. Interesting!

Q: Where is this information available? How is it organized?
A: Lots of fragmentary, poorly organized references all over Microsoft Docs and Developer info. The Israel Science and Technology Directory item remains the only well-organized version I found, with the ability to sort on all column heads.

This turned out to be an interesting, and hopefully useful exercise, for me. I hope my findings and information will prove likewise for readers here at Win10.Guru. And FWIW, Kari also strongly suggests that interested readers consult the MS Docs item Default Input Profiles (Input Locales) in Windows as well. Now that I’ve looked it over myself, I concur!


Author: Ed Tittel

Ed Tittel is a 30-plus-year computer industry veteran. He’s a Princeton and multiple University of Texas graduate who’s worked in IT since 1981 when he started his first programming job. Over the past three decades he’s also worked as a manager, technical evangelist, consultant, trainer, and an expert witness. See his professional bio for all the details.