1(* 2 Copyright (c) 2001, 2015 3 David C.J. Matthews 4 5 This library is free software; you can redistribute it and/or 6 modify it under the terms of the GNU Lesser General Public 7 License version 2.1 as published by the Free Software Foundation. 8 9 This library is distributed in the hope that it will be useful, 10 but WITHOUT ANY WARRANTY; without even the implied warranty of 11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 Lesser General Public License for more details. 13 14 You should have received a copy of the GNU Lesser General Public 15 License along with this library; if not, write to the Free Software 16 Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 17*) 18 19structure Locale: 20sig 21 datatype PrimaryLanguage = 22 LANG_AFRIKAANS | LANG_ALBANIAN | LANG_ARABIC | LANG_BASQUE | LANG_BELARUSIAN 23 | LANG_BULGARIAN | LANG_CATALAN | LANG_CHINESE | LANG_CROATIAN | LANG_CZECH 24 | LANG_DANISH | LANG_DUTCH | LANG_ENGLISH | LANG_ESTONIAN | LANG_FAEROESE 25 | LANG_FARSI | LANG_FINNISH | LANG_FRENCH | LANG_GERMAN | LANG_GREEK | LANG_HEBREW 26 | LANG_HUNGARIAN | LANG_ICELANDIC | LANG_INDONESIAN | LANG_ITALIAN | LANG_JAPANESE 27 | LANG_KOREAN | LANG_LATVIAN | LANG_LITHUANIAN | LANG_NORWEGIAN | LANG_POLISH 28 | LANG_PORTUGUESE | LANG_ROMANIAN | LANG_RUSSIAN | LANG_SERBIAN | LANG_SLOVAK 29 | LANG_SLOVENIAN | LANG_SPANISH | LANG_SWEDISH | LANG_THAI | LANG_TURKISH 30 | LANG_UKRANIAN | LANG_VIETNAMESE | LANG_NEUTRAL 31 datatype SubLanguage = 32 SUBLANG_ARABIC_ALGERIA | SUBLANG_ARABIC_BAHRAIN | SUBLANG_ARABIC_EGYPT 33 | SUBLANG_ARABIC_IRAQ | SUBLANG_ARABIC_JORDAN | SUBLANG_ARABIC_KUWAIT 34 | SUBLANG_ARABIC_LEBANON | SUBLANG_ARABIC_LIBYA | SUBLANG_ARABIC_MOROCCO 35 | SUBLANG_ARABIC_OMAN | SUBLANG_ARABIC_QATAR | SUBLANG_ARABIC_SAUDI_ARABIA 36 | SUBLANG_ARABIC_SYRIA | SUBLANG_ARABIC_TUNISIA | SUBLANG_ARABIC_UAE 37 | SUBLANG_ARABIC_YEMEN | SUBLANG_CHINESE_HONGKONG | SUBLANG_CHINESE_SIMPLIFIED 38 | SUBLANG_CHINESE_SINGAPORE | SUBLANG_CHINESE_TRADITIONAL | SUBLANG_DUTCH 39 | SUBLANG_DUTCH_BELGIAN | SUBLANG_ENGLISH_AUS | SUBLANG_ENGLISH_BELIZE 40 | SUBLANG_ENGLISH_CAN | SUBLANG_ENGLISH_CARIBBEAN | SUBLANG_ENGLISH_EIRE 41 | SUBLANG_ENGLISH_JAMAICA | SUBLANG_ENGLISH_NZ | SUBLANG_ENGLISH_SOUTH_AFRICA 42 | SUBLANG_ENGLISH_TRINIDAD | SUBLANG_ENGLISH_UK | SUBLANG_ENGLISH_US 43 | SUBLANG_FRENCH | SUBLANG_FRENCH_BELGIAN | SUBLANG_FRENCH_CANADIAN 44 | SUBLANG_FRENCH_LUXEMBOURG | SUBLANG_FRENCH_SWISS | SUBLANG_GERMAN 45 | SUBLANG_GERMAN_AUSTRIAN | SUBLANG_GERMAN_LIECHTENSTEIN 46 | SUBLANG_GERMAN_LUXEMBOURG | SUBLANG_GERMAN_SWISS | SUBLANG_ITALIAN 47 | SUBLANG_ITALIAN_SWISS | SUBLANG_KOREAN | SUBLANG_KOREAN_JOHAB 48 | SUBLANG_NORWEGIAN_BOKMAL | SUBLANG_NORWEGIAN_NYNORSK | SUBLANG_PORTUGUESE 49 | SUBLANG_PORTUGUESE_BRAZILIAN | SUBLANG_SERBIAN_CYRILLIC | SUBLANG_SERBIAN_LATIN 50 | SUBLANG_SPANISH | SUBLANG_SPANISH_ARGENTINA | SUBLANG_SPANISH_BOLIVIA 51 | SUBLANG_SPANISH_CHILE | SUBLANG_SPANISH_COLOMBIA | SUBLANG_SPANISH_COSTA_RICA 52 | SUBLANG_SPANISH_DOMINICAN_REPUBLIC | SUBLANG_SPANISH_ECUADOR 53 | SUBLANG_SPANISH_EL_SALVADOR | SUBLANG_SPANISH_GUATEMALA | SUBLANG_SPANISH_HONDURAS 54 | SUBLANG_SPANISH_MEXICAN | SUBLANG_SPANISH_MODERN | SUBLANG_SPANISH_NICARAGUA 55 | SUBLANG_SPANISH_PANAMA | SUBLANG_SPANISH_PARAGUAY | SUBLANG_SPANISH_PERU 56 | SUBLANG_SPANISH_PUERTO_RICO | SUBLANG_SPANISH_URUGUAY | SUBLANG_SPANISH_VENEZUELA 57 | SUBLANG_SWEDISH | SUBLANG_SWEDISH_FINLAND 58 | SUBLANG_NEUTRAL | SUBLANG_DEFAULT | SUBLANG_SYS_DEFAULT 59 60 datatype LANGID = MAKELANGID of PrimaryLanguage * SubLanguage 61 val GetUserDefaultLangID: unit -> LANGID 62 and GetSystemDefaultLangID: unit -> LANGID 63end = 64struct 65 local 66 open Foreign Base 67 in 68 open LocaleBase 69 val GetUserDefaultLangID = winCall0 (kernel "GetUserDefaultLangID") () LANGID 70 and GetSystemDefaultLangID = winCall0 (kernel "GetSystemDefaultLangID") () LANGID 71 end 72end; 73