MAKELANGID

The MAKELANGID macro creates a language identifier from a primary language identifier and a sublanguage identifier.

WORD MAKELANGID(

USHORT usPrimaryLanguage, // primary language identifier
USHORT usSubLanguage // sublanguage identifier
);  

Parameters

usPrimaryLanguage

Specifies the primary language identifier. This parameter can be one of the following values:

LANG_AFRIKAANS LANG_ICELANDIC
LANG_ALBANIAN LANG_INDONESIAN
LANG_ARABIC LANG_ITALIAN
LANG_BASQUE LANG_JAPANESE
LANG_BELARUSIAN LANG_KOREAN
LANG_BULGARIAN LANG_LATVIAN
LANG_CATALAN LANG_LITHUANIAN
LANG_CHINESE LANG_NEUTRAL
LANG_CROATIAN LANG_NORWEGIAN
LANG_CZECH LANG_POLISH
LANG_DANISH LANG_PORTUGUESE
LANG_DUTCH LANG_ROMANIAN
LANG_ENGLISH LANG_RUSSIAN
LANG_ESTONIAN LANG_SERBIAN
LANG_FAEROESE LANG_SLOVAK
LANG_FARSI LANG_SLOVENIAN
LANG_FINNISH LANG_SPANISH
LANG_FRENCH LANG_SWEDISH
LANG_GERMAN LANG_THAI
LANG_GREEK LANG_TURKISH
LANG_HEBREW LANG_UKRANIAN
LANG_HUNGARIAN LANG_VIETNAMESE

For a user-defined language, usPrimaryLanguage can be a value in the range 0x0200 to 0x03FF. All other values are reserved for system use.

usSubLanguage

Specifies the sublanguage identifier. This parameter can be one of the following values:

SUBLANG_ARABIC_SAUDI_ARABIA SUBLANG_GERMAN
SUBLANG_ARABIC_IRAQ SUBLANG_GERMAN_SWISS
SUBLANG_ARABIC_EGYPT SUBLANG_GERMAN_AUSTRIAN
SUBLANG_ARABIC_LIBYA SUBLANG_GERMAN_LUXEMBOURG
SUBLANG_ARABIC_ALGERIA SUBLANG_GERMAN_LIECHTENSTEIN
SUBLANG_ARABIC_MOROCCO SUBLANG_ITALIAN
SUBLANG_ARABIC_TUNISIA SUBLANG_ITALIAN_SWISS
SUBLANG_ARABIC_OMAN SUBLANG_KOREAN
SUBLANG_ARABIC_YEMEN SUBLANG_KOREAN_JOHAB
SUBLANG_ARABIC_SYRIA SUBLANG_NEUTRAL
SUBLANG_ARABIC_JORDAN SUBLANG_NORWEGIAN_BOKMAL
SUBLANG_ARABIC_LEBANON SUBLANG_NORWEGIAN_NYNORSK
SUBLANG_ARABIC_KUWAIT SUBLANG_PORTUGUESE
SUBLANG_ARABIC_UAE SUBLANG_PORTUGUESE_BRAZILIAN
SUBLANG_ARABIC_BAHRAIN SUBLANG_SERBIAN_LATIN
SUBLANG_ARABIC_QATAR SUBLANG_SERBIAN_CYRILLIC
SUBLANG_CHINESE_TRADITIONAL SUBLANG_SPANISH
SUBLANG_CHINESE_SIMPLIFIED SUBLANG_SPANISH_MEXICAN
SUBLANG_CHINESE_HONGKONG SUBLANG_SPANISH_MODERN
SUBLANG_CHINESE_SINGAPORE SUBLANG_SPANISH_GUATEMALA
SUBLANG_DEFAULT SUBLANG_SPANISH_COSTA_RICA
SUBLANG_DUTCH SUBLANG_SPANISH_PANAMA
SUBLANG_DUTCH_BELGIAN SUBLANG_SPANISH_DOMINICAN_
REPUBLIC
SUBLANG_ENGLISH_US SUBLANG_SPANISH_VENEZUELA
SUBLANG_ENGLISH_UK SUBLANG_SPANISH_COLOMBIA
SUBLANG_ENGLISH_AUS SUBLANG_SPANISH_PERU
SUBLANG_ENGLISH_CAN SUBLANG_SPANISH_ARGENTINA
SUBLANG_ENGLISH_NZ SUBLANG_SPANISH_ECUADOR
SUBLANG_ENGLISH_EIRE SUBLANG_SPANISH_CHILE
SUBLANG_ENGLISH_SOUTH_
AFRICA
SUBLANG_SPANISH_URUGUAY
SUBLANG_ENGLISH_JAMAICA SUBLANG_SPANISH_PARAGUAY
SUBLANG_ENGLISH_CARIBBEAN SUBLANG_SPANISH_BOLIVIA
SUBLANG_ENGLISH_BELIZE SUBLANG_SPANISH_EL_SALVADOR
SUBLANG_ENGLISH_TRINIDAD SUBLANG_SPANISH_HONDURAS
SUBLANG_FRENCH SUBLANG_SPANISH_NICARAGUA
SUBLANG_FRENCH_BELGIAN SUBLANG_SPANISH_PUERTO_RICO
SUBLANG_FRENCH_CANADIAN SUBLANG_SWEDISH
SUBLANG_FRENCH_SWISS SUBLANG_SWEDISH_FINLAND
SUBLANG_FRENCH_LUXEMBOURG SUBLANG_SYS_DEFAULT

For a user-defined sublanguage, usSubLanguage can be a value in the range 0x20 to 0x3F. All other values are reserved for system use.

Return Values

The return value is a language identifier.

Remarks

The following three combinations of usPrimaryLanguage and usSubLanguage have special meaning:

Primary language ID Sublanguage ID Meaning
LANG_NEUTRAL SUBLANG_NEUTRAL Language neutral
LANG_NEUTRAL SUBLANG_DEFAULT User default language
LANG_NEUTRAL SUBLANG_SYS_DEFAULT System default language

The MAKELANGID macro is defined as follows:

#define MAKELANGID(p, s) ((((WORD) (s)) << 10) | (WORD) (p))

See Also

EnumSystemLocales, LANGIDFROMLCID, MAKELCID, PRIMARYLANGID, SUBLANGID