MAKELANGID

The MAKELANGID macro creates a language identifier from a primary language identifier and a secondary language 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 predefined values:
LANG_AFRIKAANS LANG_KONKANI
LANG_ALBANIAN LANG_KOREAN
LANG_ARABIC LANG_LATVIAN
LANG_ARMENIAN LANG_LITHUANIAN
LANG_ASSAMESE LANG_MACEDONIAN
LANG_AZERI LANG_MALAY
LANG_BASQUE LANG_MALAYALAM
LANG_BELARUSIAN LANG_MANIPURI
LANG_BENGALI LANG_MARATHI
LANG_BULGARIAN LANG_NEPALI
LANG_CATALAN LANG_NEUTRAL
LANG_CHINESE LANG_NORWEGIAN
LANG_CROATIAN LANG_ORIYA
LANG_CZECH LANG_POLISH
LANG_DANISH LANG_PORTUGUESE
LANG_DUTCH LANG_PUNJABI
LANG_ENGLISH LANG_ROMANIAN
LANG_ESTONIAN LANG_RUSSIAN
LANG_FAEROESE LANG_SANSKRIT
LANG_FARSI LANG_SERBIAN
LANG_FINNISH LANG_SINDHI
LANG_FRENCH LANG_SLOVAK
LANG_GEORGIAN LANG_SLOVENIAN
LANG_GERMAN LANG_SPANISH
LANG_GREEK LANG_SWAHILI
LANG_GUJARATI LANG_SWEDISH
LANG_HEBREW LANG_TAMIL
LANG_HINDI LANG_TATAR
LANG_HUNGARIAN LANG_TELUGU
LANG_ICELANDIC LANG_THAI
LANG_INDONESIAN LANG_TURKISH
LANG_ITALIAN LANG_UKRANIAN
LANG_JAPANESE LANG_URDU
LANG_KANNADA LANG_UZBEK
LANG_KASHMIRI LANG_VIETNAMESE
LANG_KAZAK

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 secondary language identifier. This parameter can be one of the following values:
SUBLANG_ARABIC_SAUDI_ARABIA SUBLANG_GERMAN_AUSTRIAN
SUBLANG_ARABIC_IRAQ SUBLANG_GERMAN_LUXEMBOURG
SUBLANG_ARABIC_EGYPT SUBLANG_GERMAN_LIECHTENSTEIN
SUBLANG_ARABIC_LIBYA SUBLANG_ITALIAN
SUBLANG_ARABIC_ALGERIA SUBLANG_ITALIAN_SWISS
SUBLANG_ARABIC_MOROCCO SUBLANG_KASHMIRI_INDIA
SUBLANG_ARABIC_TUNISIA SUBLANG_KOREAN
SUBLANG_ARABIC_OMAN SUBLANG_LITHUANIAN
SUBLANG_ARABIC_YEMEN SUBLANG_LITHUANIAN_CLASSIC
SUBLANG_ARABIC_SYRIA SUBLANG_MALAY_BRUNEI_DARUSSALAM
SUBLANG_ARABIC_JORDAN SUBLANG_MALAY_MALAYSIA
SUBLANG_ARABIC_LEBANON SUBLANG_NEPALI_INDIA
SUBLANG_ARABIC_KUWAIT SUBLANG_NEUTRAL
SUBLANG_ARABIC_UAE SUBLANG_NORWEGIAN_BOKMAL
SUBLANG_ARABIC_BAHRAIN SUBLANG_NORWEGIAN_NYNORSK
SUBLANG_ARABIC_QATAR SUBLANG_PORTUGUESE
SUBLANG_AZERI_CYRILLIC SUBLANG_PORTUGUESE_BRAZILIAN
SUBLANG_AZERI_LATIN SUBLANG_SERBIAN_LATIN
SUBLANG_CHINESE_TRADITIONAL SUBLANG_SERBIAN_CYRILLIC
SUBLANG_CHINESE_SIMPLIFIED SUBLANG_SPANISH
SUBLANG_CHINESE_HONGKONG SUBLANG_SPANISH_MEXICAN
SUBLANG_CHINESE_SINGAPORE SUBLANG_SPANISH_MODERN
SUBLANG_CHINESE_MACAU 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_ENGLISH_PHILIPPINES SUBLANG_SPANISH_NICARAGUA
SUBLANG_ENGLISH_ZIMBABWE SUBLANG_SPANISH_PUERTO_RICO
SUBLANG_FRENCH SUBLANG_SWEDISH
SUBLANG_FRENCH_BELGIAN SUBLANG_SWEDISH_FINLAND
SUBLANG_FRENCH_CANADIAN SUBLANG_SYS_DEFAULT
SUBLANG_FRENCH_SWISS SUBLANG_URDU_INDIA
SUBLANG_FRENCH_LUXEMBOURG SUBLANG_URDU_PAKISTAN
SUBLANG_FRENCH_MONACO SUBLANG_UZBEK_CYRILLIC
SUBLANG_GERMAN SUBLANG_UZBEK_LATIN
SUBLANG_GERMAN_SWISS

For a user-defined secondary language, 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 Secondary language 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)) 
 

QuickInfo

  Windows NT: Requires version 3.1 or later.
  Windows: Requires Windows 95 or later.
  Windows CE: Requires version 1.0 or later.
  Header: Declared in winnt.h.

See Also

National Language Support Overview, National Language Support Macros, EnumSystemLocales, LANGIDFROMLCID, MAKELCID, PRIMARYLANGID, SUBLANGID