#define DS_3DLOOK            0x0004L
#define DS_CONTROL           0x0400L
#define DS_MODALFRAME        0x80L
#define LANG_ENGLISH         0x09
#define SUBLANG_ENGLISH_US   0x01
#define WS_POPUP             0x80000000L
#define WS_CHILD             0x40000000L
#define WS_VISIBLE           0x10000000L
#define WS_CLIPSIBLINGS      0x04000000L
#define WS_CAPTION           0x00c00000L
#define WS_BORDER            0x00800000L
#define WS_VSCROLL           0x00200000L
#define WS_HSCROLL           0x00100000L
#define WS_SYSMENU           0x00080000L
#define WS_GROUP             0x00020000L
#define WS_TABSTOP           0x00010000L
#define IDOK                 1
#define IDCANCEL             2
#define IDC_STATIC           (-1)
#define BS_AUTOCHECKBOX      0x00000003L
#define BS_AUTORADIOBUTTON   0x00000009L
#define CBS_DROPDOWN         0x0002L
#define CBS_DROPDOWNLIST     0x0003L
#define CBS_AUTOHSCROLL      0x0040L
#define CBS_SORT             0x0100L
#define LBS_NOTIFY           0x0001L
#define LBS_NOSEL            0x4000L
#define LBS_NOINTEGRALHEIGHT 0x0100L
#define TBS_AUTOTICKS        0x0001
#define TBS_BOTH             0x0008
#define TBS_NOTICKS          0x0010
#define ES_READONLY          0x0800L
#define ES_AUTOHSCROLL       0x0080L

#define RT_MANIFEST 24

#define LANG_NEUTRAL    0x00
#define LANG_INVARIANT  0x7f

#define LANG_AFRIKAANS  0x36
#define LANG_ALBANIAN   0x1c
#define LANG_ARABIC     0x01
#define LANG_ARMENIAN   0x2b
#define LANG_ASSAMESE   0x4d
#define LANG_AZERI      0x2c
#define LANG_BASQUE     0x2d
#define LANG_BELARUSIAN 0x23
#define LANG_BENGALI    0x45
#define LANG_BOSNIAN    0x1a
#define LANG_BULGARIAN  0x02
#define LANG_CATALAN    0x03
#define LANG_CHINESE    0x04
#define LANG_CROATIAN   0x1a
#define LANG_CZECH      0x05
#define LANG_DANISH     0x06
#define LANG_DIVEHI     0x65
#define LANG_DUTCH      0x13
#define LANG_ENGLISH    0x09
#define LANG_ESTONIAN   0x25
#define LANG_FAEROESE   0x38
#define LANG_FARSI      0x29
#define LANG_FINNISH    0x0b
#define LANG_FRENCH     0x0c
#define LANG_GALICIAN   0x56
#define LANG_GEORGIAN   0x37
#define LANG_GERMAN     0x07
#define LANG_GREEK      0x08
#define LANG_GUJARATI   0x47
#define LANG_HEBREW     0x0d
#define LANG_HINDI      0x39
#define LANG_HUNGARIAN  0x0e
#define LANG_ICELANDIC  0x0f
#define LANG_INDONESIAN 0x21
#define LANG_ITALIAN    0x10
#define LANG_JAPANESE   0x11
#define LANG_KANNADA    0x4b
#define LANG_KASHMIRI   0x60
#define LANG_KAZAK      0x3f
#define LANG_KONKANI    0x57
#define LANG_KOREAN     0x12
#define LANG_KYRGYZ     0x40
#define LANG_LATVIAN    0x26
#define LANG_LITHUANIAN 0x27
#define LANG_MACEDONIAN 0x2f   // the Former Yugoslav Republic of Macedonia
#define LANG_MALAY      0x3e
#define LANG_MALAYALAM  0x4c
#define LANG_MALTESE    0x3a
#define LANG_MANIPURI   0x58
#define LANG_MAORI      0x81
#define LANG_MARATHI    0x4e
#define LANG_MONGOLIAN  0x50
#define LANG_NEPALI     0x61
#define LANG_NORWEGIAN  0x14
#define LANG_ORIYA      0x48
#define LANG_POLISH     0x15
#define LANG_PORTUGUESE 0x16
#define LANG_PUNJABI    0x46
#define LANG_QUECHUA    0x6b
#define LANG_ROMANIAN   0x18
#define LANG_RUSSIAN    0x19
#define LANG_SAMI       0x3b
#define LANG_SANSKRIT   0x4f
#define LANG_SERBIAN    0x1a
#define LANG_SINDHI     0x59
#define LANG_SLOVAK     0x1b
#define LANG_SLOVENIAN  0x24
#define LANG_SOTHO      0x6c
#define LANG_SPANISH    0x0a
#define LANG_SWAHILI    0x41
#define LANG_SWEDISH    0x1d
#define LANG_SYRIAC     0x5a
#define LANG_TAMIL      0x49
#define LANG_TATAR      0x44
#define LANG_TELUGU     0x4a
#define LANG_THAI       0x1e
#define LANG_TSWANA     0x32
#define LANG_TURKISH    0x1f
#define LANG_UKRAINIAN  0x22
#define LANG_URDU       0x20
#define LANG_UZBEK      0x43
#define LANG_VIETNAMESE 0x2a
#define LANG_WELSH      0x52
#define LANG_XHOSA      0x34
#define LANG_ZULU       0x35

#define SUBLANG_NEUTRAL                             0x00    // language neutral
#define SUBLANG_DEFAULT                             0x01    // user default
#define SUBLANG_SYS_DEFAULT                         0x02    // system default

#define SUBLANG_ARABIC_SAUDI_ARABIA                 0x01    // Arabic (Saudi Arabia)
#define SUBLANG_ARABIC_IRAQ                         0x02    // Arabic (Iraq)
#define SUBLANG_ARABIC_EGYPT                        0x03    // Arabic (Egypt)
#define SUBLANG_ARABIC_LIBYA                        0x04    // Arabic (Libya)
#define SUBLANG_ARABIC_ALGERIA                      0x05    // Arabic (Algeria)
#define SUBLANG_ARABIC_MOROCCO                      0x06    // Arabic (Morocco)
#define SUBLANG_ARABIC_TUNISIA                      0x07    // Arabic (Tunisia)
#define SUBLANG_ARABIC_OMAN                         0x08    // Arabic (Oman)
#define SUBLANG_ARABIC_YEMEN                        0x09    // Arabic (Yemen)
#define SUBLANG_ARABIC_SYRIA                        0x0a    // Arabic (Syria)
#define SUBLANG_ARABIC_JORDAN                       0x0b    // Arabic (Jordan)
#define SUBLANG_ARABIC_LEBANON                      0x0c    // Arabic (Lebanon)
#define SUBLANG_ARABIC_KUWAIT                       0x0d    // Arabic (Kuwait)
#define SUBLANG_ARABIC_UAE                          0x0e    // Arabic (U.A.E)
#define SUBLANG_ARABIC_BAHRAIN                      0x0f    // Arabic (Bahrain)
#define SUBLANG_ARABIC_QATAR                        0x10    // Arabic (Qatar)
#define SUBLANG_AZERI_LATIN                         0x01    // Azeri (Latin)
#define SUBLANG_AZERI_CYRILLIC                      0x02    // Azeri (Cyrillic)
#define SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_LATIN    0x05 // Bosnian (Bosnia and Herzegovina - Latin)
#define SUBLANG_CHINESE_TRADITIONAL                 0x01    // Chinese (Taiwan)
#define SUBLANG_CHINESE_SIMPLIFIED                  0x02    // Chinese (PR China)
#define SUBLANG_CHINESE_HONGKONG                    0x03    // Chinese (Hong Kong S.A.R., P.R.C.)
#define SUBLANG_CHINESE_SINGAPORE                   0x04    // Chinese (Singapore)
#define SUBLANG_CHINESE_MACAU                       0x05    // Chinese (Macau S.A.R.)
#define SUBLANG_CROATIAN_CROATIA                    0x01    // Croatian (Croatia)
#define SUBLANG_CROATIAN_BOSNIA_HERZEGOVINA_LATIN   0x04 // Croatian (Bosnia and Herzegovina - Latin)
#define SUBLANG_DUTCH                               0x01    // Dutch
#define SUBLANG_DUTCH_BELGIAN                       0x02    // Dutch (Belgian)
#define SUBLANG_ENGLISH_US                          0x01    // English (USA)
#define SUBLANG_ENGLISH_UK                          0x02    // English (UK)
#define SUBLANG_ENGLISH_AUS                         0x03    // English (Australian)
#define SUBLANG_ENGLISH_CAN                         0x04    // English (Canadian)
#define SUBLANG_ENGLISH_NZ                          0x05    // English (New Zealand)
#define SUBLANG_ENGLISH_EIRE                        0x06    // English (Irish)
#define SUBLANG_ENGLISH_SOUTH_AFRICA                0x07    // English (South Africa)
#define SUBLANG_ENGLISH_JAMAICA                     0x08    // English (Jamaica)
#define SUBLANG_ENGLISH_CARIBBEAN                   0x09    // English (Caribbean)
#define SUBLANG_ENGLISH_BELIZE                      0x0a    // English (Belize)
#define SUBLANG_ENGLISH_TRINIDAD                    0x0b    // English (Trinidad)
#define SUBLANG_ENGLISH_ZIMBABWE                    0x0c    // English (Zimbabwe)
#define SUBLANG_ENGLISH_PHILIPPINES                 0x0d    // English (Philippines)
#define SUBLANG_FRENCH                              0x01    // French
#define SUBLANG_FRENCH_BELGIAN                      0x02    // French (Belgian)
#define SUBLANG_FRENCH_CANADIAN                     0x03    // French (Canadian)
#define SUBLANG_FRENCH_SWISS                        0x04    // French (Swiss)
#define SUBLANG_FRENCH_LUXEMBOURG                   0x05    // French (Luxembourg)
#define SUBLANG_FRENCH_MONACO                       0x06    // French (Monaco)
#define SUBLANG_GERMAN                              0x01    // German
#define SUBLANG_GERMAN_SWISS                        0x02    // German (Swiss)
#define SUBLANG_GERMAN_AUSTRIAN                     0x03    // German (Austrian)
#define SUBLANG_GERMAN_LUXEMBOURG                   0x04    // German (Luxembourg)
#define SUBLANG_GERMAN_LIECHTENSTEIN                0x05    // German (Liechtenstein)
#define SUBLANG_ITALIAN                             0x01    // Italian
#define SUBLANG_ITALIAN_SWISS                       0x02    // Italian (Swiss)
#define SUBLANG_KASHMIRI_SASIA                      0x02    // Kashmiri (South Asia)
#define SUBLANG_KASHMIRI_INDIA                      0x02    // For app compatibility only
#define SUBLANG_KOREAN                              0x01    // Korean (Extended Wansung)
#define SUBLANG_LITHUANIAN                          0x01    // Lithuanian
#define SUBLANG_MALAY_MALAYSIA                      0x01    // Malay (Malaysia)
#define SUBLANG_MALAY_BRUNEI_DARUSSALAM             0x02    // Malay (Brunei Darussalam)
#define SUBLANG_NEPALI_INDIA                        0x02    // Nepali (India)
#define SUBLANG_NORWEGIAN_BOKMAL                    0x01    // Norwegian (Bokmal)
#define SUBLANG_NORWEGIAN_NYNORSK                   0x02    // Norwegian (Nynorsk)
#define SUBLANG_PORTUGUESE                          0x02    // Portuguese
#define SUBLANG_PORTUGUESE_BRAZILIAN                0x01    // Portuguese (Brazilian)
#define SUBLANG_QUECHUA_BOLIVIA                     0x01    // Quechua (Bolivia)
#define SUBLANG_QUECHUA_ECUADOR                     0x02    // Quechua (Ecuador)
#define SUBLANG_QUECHUA_PERU                        0x03    // Quechua (Peru)
#define SUBLANG_SAMI_NORTHERN_NORWAY                0x01    // Northern Sami (Norway)
#define SUBLANG_SAMI_NORTHERN_SWEDEN                0x02    // Northern Sami (Sweden)
#define SUBLANG_SAMI_NORTHERN_FINLAND               0x03    // Northern Sami (Finland)
#define SUBLANG_SAMI_LULE_NORWAY                    0x04    // Lule Sami (Norway)
#define SUBLANG_SAMI_LULE_SWEDEN                    0x05    // Lule Sami (Sweden)
#define SUBLANG_SAMI_SOUTHERN_NORWAY                0x06    // Southern Sami (Norway)
#define SUBLANG_SAMI_SOUTHERN_SWEDEN                0x07    // Southern Sami (Sweden)
#define SUBLANG_SAMI_SKOLT_FINLAND                  0x08    // Skolt Sami (Finland)
#define SUBLANG_SAMI_INARI_FINLAND                  0x09    // Inari Sami (Finland)
#define SUBLANG_SERBIAN_BOSNIA_HERZEGOVINA_LATIN    0x06 // Serbian (Bosnia and Herzegovina - Latin)
#define SUBLANG_SERBIAN_BOSNIA_HERZEGOVINA_CYRILLIC 0x07 // Serbian (Bosnia and Herzegovina - Cyrillic)
#define SUBLANG_SERBIAN_LATIN                       0x02    // Serbian (Latin)
#define SUBLANG_SERBIAN_CYRILLIC                    0x03    // Serbian (Cyrillic)
#define SUBLANG_SOTHO_NORTHERN_SOUTH_AFRICA         0x01    // Northern Sotho (South Africa)
#define SUBLANG_SPANISH                             0x01    // Spanish (Castilian)
#define SUBLANG_SPANISH_MEXICAN                     0x02    // Spanish (Mexican)
#define SUBLANG_SPANISH_MODERN                      0x03    // Spanish (Modern)
#define SUBLANG_SPANISH_GUATEMALA                   0x04    // Spanish (Guatemala)
#define SUBLANG_SPANISH_COSTA_RICA                  0x05    // Spanish (Costa Rica)
#define SUBLANG_SPANISH_PANAMA                      0x06    // Spanish (Panama)
#define SUBLANG_SPANISH_DOMINICAN_REPUBLIC          0x07  // Spanish (Dominican Republic)
#define SUBLANG_SPANISH_VENEZUELA                   0x08    // Spanish (Venezuela)
#define SUBLANG_SPANISH_COLOMBIA                    0x09    // Spanish (Colombia)
#define SUBLANG_SPANISH_PERU                        0x0a    // Spanish (Peru)
#define SUBLANG_SPANISH_ARGENTINA                   0x0b    // Spanish (Argentina)
#define SUBLANG_SPANISH_ECUADOR                     0x0c    // Spanish (Ecuador)
#define SUBLANG_SPANISH_CHILE                       0x0d    // Spanish (Chile)
#define SUBLANG_SPANISH_URUGUAY                     0x0e    // Spanish (Uruguay)
#define SUBLANG_SPANISH_PARAGUAY                    0x0f    // Spanish (Paraguay)
#define SUBLANG_SPANISH_BOLIVIA                     0x10    // Spanish (Bolivia)
#define SUBLANG_SPANISH_EL_SALVADOR                 0x11    // Spanish (El Salvador)
#define SUBLANG_SPANISH_HONDURAS                    0x12    // Spanish (Honduras)
#define SUBLANG_SPANISH_NICARAGUA                   0x13    // Spanish (Nicaragua)
#define SUBLANG_SPANISH_PUERTO_RICO                 0x14    // Spanish (Puerto Rico)
#define SUBLANG_SWEDISH                             0x01    // Swedish
#define SUBLANG_SWEDISH_FINLAND                     0x02    // Swedish (Finland)
#define SUBLANG_URDU_PAKISTAN                       0x01    // Urdu (Pakistan)
#define SUBLANG_URDU_INDIA                          0x02    // Urdu (India)
#define SUBLANG_UZBEK_LATIN                         0x01    // Uzbek (Latin)
#define SUBLANG_UZBEK_CYRILLIC                      0x02    // Uzbek (Cyrillic)
