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
);
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.
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.
The return value is a language identifier.
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))
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.
National Language Support Overview, National Language Support Macros, EnumSystemLocales, LANGIDFROMLCID, MAKELCID, PRIMARYLANGID, SUBLANGID