[MS-LCID]: Windows Language Code Identifier (LCID) Reference

This topic lists Errata found in [MS-LCID] since it was last published. Since this topic is updated frequently, we recommend that you subscribe to this RSS feed to receive update notifications.

Errata are subject to the same terms as the Open Specifications documentation referenced.

RSS 

To view a PDF file of the errata for the previous versions of this document, see the following ERRATA Archives:

September 15, 2017 - Download

December 1, 2017 - Download

September 12, 2018 - Download

March 13, 2019 - Download

June 24, 2021 - Download

Errata below are for Protocol Document Version V15.0 – 2021/06/25.

Errata Published*

Description

2022/05/02

In Section 2.2, LCID Structure, added the following language IDs to the table:

0x2000   Unassigned LCID locale temporarily assigned to LCID 0x3000. See section 2.2.1.

0x2400   Unassigned LCID locale temporarily assigned to LCID 0x3000. See section 2.2.1.

0x2800   Unassigned LCID locale temporarily assigned to LCID 0x3000. See section 2.2.1.

0x2C00   Unassigned LCID locale temporarily assigned to LCID 0x3000. See section 2.2.1.

In Section 2.2.1, Locale Names without LCIDs, updated the table:

Changed from:

Name

Value

Conditions

LOCALE_CUSTOM_USER_DEFAULT<15>

0x0C00

When an LCID without a  permanent LCID assignment is also the current user locale, the protocol will  respond with LOCALE_CUSTOM_USER_DEFAULT for that locale. This assignment  persists until the user changes the locale. Because the meaning changes over  time, applications are discouraged from persisting this data. Though this  value will likely refer to the same locale for the lifetime of the current  process, that is not guaranteed. This assignment is a 1-to-1 relationship  between this LCID and the user’s current default locale name.

Transient LCIDs<16>

0x3000, 0x3400, 0x3800, 0x3C00, 0x4000,  0x4400, 0x4800, 0x4C00

Some  user configurations temporarily associate a locale without a permanent LCID  assignment with one of these 8 transient LCIDs. This assignment is transient and it is not guaranteed; it  will likely refer to the same locale for the lifetime of the process.  However, this assignment will differ for other users on the machine, or other  machines, and, as such, is unsuitable for use in protocols or persisted data.  This assignment is a temporary 1-to-1 relationship between an LCID and a  particular locale name and will round trip until that relationship changes.

Changed to:

Name

Value

Conditions

LOCALE_CUSTOM_USER_DEFAULT<15>

0x0C00

When an LCID without a  permanent LCID assignment is also the current user locale, the protocol will  respond with LOCALE_CUSTOM_USER_DEFAULT for that locale. This assignment  persists until the user changes the locale. Because the meaning changes over  time, applications are discouraged from persisting this data. Though this  value will likely refer to the same locale for the lifetime of the current  process, that is not guaranteed. This assignment is a 1-to-1 relationship  between this LCID and the user’s current default locale name.

Transient LCIDs<16>



0x2000, 0x2400, 0x2800, 0x2C00,0x3000, 0x3400, 0x3800, 0x3C00, 0x4000,  0x4400, 0x4800, 0x4C00

Some  user configurations temporarily associate a locale without a permanent LCID  assignment with one of these 12 transient LCIDs. This assignment is transient and it is not guaranteed; it  will likely refer to the same locale for the lifetime of the process.  However, this assignment will differ for other users on the machine, or other  machines, and, as such, is unsuitable for use in protocols or persisted data.  This assignment is a temporary 1-to-1 relationship between an LCID and a  particular locale name and will round trip until that relationship changes.

*Date format: YYYY/MM/DD