/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ /* * This file is part of the LibreOffice project. * * This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. * * This file incorporates work covered by the following license notice: * * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed * with this work for additional information regarding copyright * ownership. The ASF licenses this file to you under the Apache * License, Version 2.0 (the "License"); you may not use this file * except in compliance with the License. You may obtain a copy of * the License at http://www.apache.org/licenses/LICENSE-2.0 . */ #ifndef INCLUDED_I18NLANGTAG_LANG_H #define INCLUDED_I18NLANGTAG_LANG_H /** These are MS LANGIDs, the lower 10 bits (mask 0x03ff, values below 0x0400 aren't real locale IDs) represent the primary language ID, the upper 6 bits represent the sublanguage ID, which in most cases together with the primary language simply designates a country. A LANGID is constructed by UINT16 nLangID = ((((UINT16)(SubLangId)) << 10) | (UINT16)(PriLangId)); A user-defined primary language ID is a value in the range 0x0200 to 0x03ff. All other values are reserved for Windows system use. A user-defined sublanguage identifier is a value in the range 0x20 to 0x3f. All other values are reserved for Windows system use. If there is no sublanguage ID for a primary language ID, use SUBLANG_DEFAULT (0x01, which shifted to the left by 10 bits results in the frequently seen 0x0400). OR'ed with a 0x0200 primary results in 0x0600. Values added as of 2006-04-18, a helper script: ../../source/isolang/lcid.awk Utility to compare MS-LANGID definitions with those defined in this file. For further information about MS-LANGIDs please see include/winnt.h of a recent MSDEV version and the following web pages. The once complete list, not necessarily supported by Windows: List of Locale ID (LCID) Values as Assigned by Microsoft http://www.microsoft.com/globaldev/reference/lcid-all.mspx As a complete list is never complete, some more that came with WinXP SP2: Windows XP/Server 2003 - List of Locale IDs, Input Locale, and Language Collection http://www.microsoft.com/globaldev/reference/winxp/xp-lcid.mspx And of course 2 lists aren't enough, so Windows Vista needs an extra one. Which at least seems to include values of other versions of Windows. Language Identifier Constants and Strings http://msdn.microsoft.com/en-us/library/ms776294.aspx ! Hey, yet another list, maybe this one will not move around? It seems to be ! quite complete.. ! Language Identifier Constants and Strings (Windows) ! http://msdn.microsoft.com/en-us/library/dd318693.aspx ! ! Use THAT ^^^ as of 2013-09-17 it includes also Windows 8 ! BUT, you can download a PDF document from ! http://msdn.microsoft.com/library/cc233965.aspx ! that has YET MORE definitions, sigh.. didn't cross-check if any are missing ! from that.. however, it also contains a few MS-reserved definitions that use ! ISO 639-3 codes reserved for local use, such as 'qps-ploc' and 'qps-ploca' ! (sic!), or strange things like 'ar-Ploc-SA' and 'ja-Ploc-JP' ('Ploc'??). ! ! Use THAT ^^^ as the ultimate reference source (haha?) as of 2013-10-17 it ! includes also Windows 8.1 (Release: Monday, July 22, 2013; well, its table ! says 08/08/2013 Revision 6.0, but hey, who cares...) For completeness, you can never have enough lists: List of supported locale identifiers in Word Applies to Microsoft Word 2000 and 2002 http://support.microsoft.com/default.aspx?scid=KB;en-us;q221435 */ #include #include #include typedef o3tl::strong_int LanguageType; inline std::ostream& operator<<(std::ostream& os, LanguageType const & lt) { os << sal_uInt16(lt); return os; } constexpr LanguageType primary(LanguageType lt) { return LanguageType(sal_uInt16(lt) & 0x03ff); } namespace o3tl { // delete "sal_Int16" constructor via specialization: values > 0x7FFF are // actually used, and unfortunately passed around in the API as signed // "short", so use this to find all places where casts must be inserted template<> template<> constexpr strong_int::strong_int(short, std::enable_if::value, int>::type) = delete; } #define LANGUAGE_MASK_PRIMARY 0x03ff #define LANGUAGE_DONTKNOW LanguageType(0x03FF) /* yes, the mask */ #define LANGUAGE_NONE LanguageType(0x00FF) #define LANGUAGE_HID_HUMAN_INTERFACE_DEVICE LanguageType(0x04FF) #define LANGUAGE_SYSTEM LanguageType(0x0000) /* OOo/SO definition */ /* The Invariant Locale (Locale ID = 0x007f) is a locale that can be used by * applications when a consistent and locale-independent result is required. * The invariant locale can be used, for example, when comparing character * strings using the CompareString() API and a consistent result regardless of * the User Locale is expected. * The settings of the Invariant Locale are similar to US-English international * standards, but should not be used to display formatted data. */ /* NOTE: this is taken from the MS documentation! Not supported by OOo/SO! */ #define LANGUAGE_INVARIANT LanguageType(0x007F) /* Naming conventions: * * ..._LSO suffix indicates a Language-Script-Only mapping, i.e. no country * assignment in i18nlangtag/source/isolang/isolang.cxx. * Used for backward compatibility or where MS assigned such values and they * should be explicitly handled. * * LANGUAGE_USER_... for our user-defined IDs. * * LANGUAGE_OBSOLETE_USER_... for a user-defined ID that has been replaced by * a value defined by MS. */ #define LANGUAGE_AFRIKAANS LanguageType(0x0436) #define LANGUAGE_ALBANIAN LanguageType(0x041C) #define LANGUAGE_ALSATIAN_FRANCE LanguageType(0x0484) #define LANGUAGE_AMHARIC_ETHIOPIA LanguageType(0x045E) #define LANGUAGE_ARABIC_ALGERIA LanguageType(0x1401) #define LANGUAGE_ARABIC_BAHRAIN LanguageType(0x3C01) #define LANGUAGE_ARABIC_EGYPT LanguageType(0x0C01) #define LANGUAGE_ARABIC_IRAQ LanguageType(0x0801) #define LANGUAGE_ARABIC_JORDAN LanguageType(0x2C01) #define LANGUAGE_ARABIC_KUWAIT LanguageType(0x3401) #define LANGUAGE_ARABIC_LEBANON LanguageType(0x3001) #define LANGUAGE_ARABIC_LIBYA LanguageType(0x1001) #define LANGUAGE_ARABIC_MOROCCO LanguageType(0x1801) #define LANGUAGE_ARABIC_OMAN LanguageType(0x2001) #define LANGUAGE_ARABIC_PRIMARY_ONLY LanguageType(0x0001) /* primary only, not a locale! */ #define LANGUAGE_ARABIC_QATAR LanguageType(0x4001) #define LANGUAGE_ARABIC_SAUDI_ARABIA LanguageType(0x0401) #define LANGUAGE_ARABIC_SYRIA LanguageType(0x2801) #define LANGUAGE_ARABIC_TUNISIA LanguageType(0x1C01) #define LANGUAGE_ARABIC_UAE LanguageType(0x3801) #define LANGUAGE_ARABIC_YEMEN LanguageType(0x2401) #define LANGUAGE_ARMENIAN LanguageType(0x042B) /* Eastern Armenian */ #define LANGUAGE_ASSAMESE LanguageType(0x044D) #define LANGUAGE_AZERI_CYRILLIC LanguageType(0x082C) #define LANGUAGE_AZERI_CYRILLIC_LSO LanguageType(0x742C) #define LANGUAGE_AZERI_LATIN LanguageType(0x042C) #define LANGUAGE_AZERI_LATIN_LSO LanguageType(0x782C) #define LANGUAGE_BASHKIR_RUSSIA LanguageType(0x046D) #define LANGUAGE_BASQUE LanguageType(0x042D) #define LANGUAGE_BELARUSIAN LanguageType(0x0423) #define LANGUAGE_BENGALI LanguageType(0x0445) /* in India */ #define LANGUAGE_BENGALI_BANGLADESH LanguageType(0x0845) #define LANGUAGE_BOSNIAN_CYRILLIC_LSO LanguageType(0x641A) #define LANGUAGE_BOSNIAN_CYRILLIC_BOSNIA_HERZEGOVINA LanguageType(0x201A) #define LANGUAGE_BOSNIAN_LATIN_LSO LanguageType(0x681A) #define LANGUAGE_BOSNIAN_LSO LanguageType(0x781A) #define LANGUAGE_BOSNIAN_LATIN_BOSNIA_HERZEGOVINA LanguageType(0x141A) #define LANGUAGE_BOSNIAN_BOSNIA_HERZEGOVINA LANGUAGE_BOSNIAN_LATIN_BOSNIA_HERZEGOVINA /* TODO: remove, only for langtab.src & localize.sdf compatibility */ #define LANGUAGE_BRETON_FRANCE LanguageType(0x047E) /* obsoletes LANGUAGE_USER_BRETON 0x0629 */ #define LANGUAGE_BULGARIAN LanguageType(0x0402) #define LANGUAGE_BURMESE LanguageType(0x0455) #define LANGUAGE_CATALAN LanguageType(0x0403) #define LANGUAGE_CATALAN_VALENCIAN LanguageType(0x0803) /* obsoletes LANGUAGE_USER_CATALAN_VALENCIAN 0x8003 */ #define LANGUAGE_CHEROKEE_UNITED_STATES LanguageType(0x045C) #define LANGUAGE_CHEROKEE_CHEROKEE_LSO LanguageType(0x7C5C) #define LANGUAGE_CHINESE_HONGKONG LanguageType(0x0C04) #define LANGUAGE_CHINESE_LSO LanguageType(0x7804) #define LANGUAGE_CHINESE_MACAU LanguageType(0x1404) #define LANGUAGE_CHINESE_SIMPLIFIED LanguageType(0x0804) #define LANGUAGE_CHINESE_SINGAPORE LanguageType(0x1004) #define LANGUAGE_CHINESE_TRADITIONAL LanguageType(0x0404) #define LANGUAGE_CHINESE_SIMPLIFIED_LEGACY LanguageType(0x0004) /* MS-.NET 'zh-CHS', primary only! but maps to 'zh-CN' */ #define LANGUAGE_CHINESE_TRADITIONAL_LSO LanguageType(0x7C04) /* MS-.NET 'zh-CHT' but maps to 'zh-Hant' */ #define LANGUAGE_CHINESE LANGUAGE_CHINESE_SIMPLIFIED /* most code uses LANGUAGE_CHINESE */ #define LANGUAGE_CORSICAN_FRANCE LanguageType(0x0483) #define LANGUAGE_CROATIAN LanguageType(0x041A) #define LANGUAGE_CROATIAN_BOSNIA_HERZEGOVINA LanguageType(0x101A) #define LANGUAGE_CZECH LanguageType(0x0405) #define LANGUAGE_DANISH LanguageType(0x0406) #define LANGUAGE_DARI_AFGHANISTAN LanguageType(0x048C) /* AKA Zoroastrian Dari */ #define LANGUAGE_DHIVEHI LanguageType(0x0465) /* AKA Divehi */ #define LANGUAGE_DUTCH LanguageType(0x0413) #define LANGUAGE_DUTCH_BELGIAN LanguageType(0x0813) #define LANGUAGE_EDO LanguageType(0x0466) #define LANGUAGE_ENGLISH LanguageType(0x0009) /* primary only, not a locale! */ #define LANGUAGE_ENGLISH_ARAB_EMIRATES LanguageType(0x4C09) #define LANGUAGE_ENGLISH_AUS LanguageType(0x0C09) #define LANGUAGE_ENGLISH_BAHRAIN LanguageType(0x5009) #define LANGUAGE_ENGLISH_BELIZE LanguageType(0x2809) #define LANGUAGE_ENGLISH_CAN LanguageType(0x1009) #define LANGUAGE_ENGLISH_CARRIBEAN LanguageType(0x2409) #define LANGUAGE_ENGLISH_EGYPT LanguageType(0x5409) #define LANGUAGE_ENGLISH_EIRE LanguageType(0x1809) #define LANGUAGE_ENGLISH_HONG_KONG_SAR LanguageType(0x3C09) #define LANGUAGE_ENGLISH_INDIA LanguageType(0x4009) #define LANGUAGE_ENGLISH_INDONESIA LanguageType(0x3809) #define LANGUAGE_ENGLISH_JAMAICA LanguageType(0x2009) #define LANGUAGE_ENGLISH_JORDAN LanguageType(0x5809) #define LANGUAGE_ENGLISH_KUWAIT LanguageType(0x5C09) #define LANGUAGE_ENGLISH_MALAYSIA LanguageType(0x4409) #define LANGUAGE_ENGLISH_NZ LanguageType(0x1409) #define LANGUAGE_ENGLISH_PHILIPPINES LanguageType(0x3409) #define LANGUAGE_ENGLISH_SAFRICA LanguageType(0x1C09) #define LANGUAGE_ENGLISH_SINGAPORE LanguageType(0x4809) #define LANGUAGE_ENGLISH_TRINIDAD LanguageType(0x2C09) #define LANGUAGE_ENGLISH_TURKEY LanguageType(0x6009) #define LANGUAGE_ENGLISH_UK LanguageType(0x0809) #define LANGUAGE_ENGLISH_US LanguageType(0x0409) #define LANGUAGE_ENGLISH_YEMEN LanguageType(0x6409) #define LANGUAGE_ENGLISH_ZIMBABWE LanguageType(0x3009) #define LANGUAGE_ESTONIAN LanguageType(0x0425) #define LANGUAGE_FAEROESE LanguageType(0x0438) #define LANGUAGE_FARSI LanguageType(0x0429) #define LANGUAGE_FILIPINO LanguageType(0x0464) #define LANGUAGE_FINNISH LanguageType(0x040B) #define LANGUAGE_FRENCH LanguageType(0x040C) #define LANGUAGE_FRENCH_BELGIAN LanguageType(0x080C) #define LANGUAGE_FRENCH_CAMEROON LanguageType(0x2C0C) #define LANGUAGE_FRENCH_CANADIAN LanguageType(0x0C0C) #define LANGUAGE_FRENCH_COTE_D_IVOIRE LanguageType(0x300C) #define LANGUAGE_FRENCH_HAITI LanguageType(0x3C0C) #define LANGUAGE_FRENCH_LUXEMBOURG LanguageType(0x140C) #define LANGUAGE_FRENCH_MALI LanguageType(0x340C) #define LANGUAGE_FRENCH_MONACO LanguageType(0x180C) #define LANGUAGE_FRENCH_MOROCCO LanguageType(0x380C) #define LANGUAGE_FRENCH_NORTH_AFRICA LanguageType(0xE40C) #define LANGUAGE_FRENCH_REUNION LanguageType(0x200C) #define LANGUAGE_FRENCH_SENEGAL LanguageType(0x280C) #define LANGUAGE_FRENCH_SWISS LanguageType(0x100C) #define LANGUAGE_FRENCH_WEST_INDIES LanguageType(0x1C0C) /* MS in its MS-LCID.pdf now says "Neither defined nor reserved" */ #define LANGUAGE_FRENCH_ZAIRE LanguageType(0x240C) #define LANGUAGE_FRISIAN_NETHERLANDS LanguageType(0x0462) #define LANGUAGE_FULFULDE_LATIN_LSO LanguageType(0x7C67) #define LANGUAGE_FULFULDE_NIGERIA LanguageType(0x0467) #define LANGUAGE_FULFULDE_SENEGAL LanguageType(0x0867) #define LANGUAGE_GAELIC_IRELAND LanguageType(0x083C) #define LANGUAGE_GAELIC_SCOTLAND LanguageType(0x0491) /* apparently it occurred to MS that those are different languages */ #define LANGUAGE_GAELIC_SCOTLAND_LEGACY LanguageType(0x043C) #define LANGUAGE_GALICIAN LanguageType(0x0456) #define LANGUAGE_GEORGIAN LanguageType(0x0437) #define LANGUAGE_GERMAN LanguageType(0x0407) #define LANGUAGE_GERMAN_AUSTRIAN LanguageType(0x0C07) #define LANGUAGE_GERMAN_LIECHTENSTEIN LanguageType(0x1407) #define LANGUAGE_GERMAN_LUXEMBOURG LanguageType(0x1007) #define LANGUAGE_GERMAN_SWISS LanguageType(0x0807) #define LANGUAGE_GREEK LanguageType(0x0408) #define LANGUAGE_GUARANI_PARAGUAY LanguageType(0x0474) #define LANGUAGE_GUJARATI LanguageType(0x0447) #define LANGUAGE_HAUSA_LATIN_LSO LanguageType(0x7C68) #define LANGUAGE_HAUSA_NIGERIA LanguageType(0x0468) #define LANGUAGE_HAWAIIAN_UNITED_STATES LanguageType(0x0475) #define LANGUAGE_HEBREW LanguageType(0x040D) #define LANGUAGE_HINDI LanguageType(0x0439) #define LANGUAGE_HUNGARIAN LanguageType(0x040E) #define LANGUAGE_IBIBIO_NIGERIA LanguageType(0x0469) #define LANGUAGE_ICELANDIC LanguageType(0x040F) #define LANGUAGE_IGBO_NIGERIA LanguageType(0x0470) #define LANGUAGE_INDONESIAN LanguageType(0x0421) #define LANGUAGE_INUKTITUT_SYLLABICS_CANADA LanguageType(0x045D) #define LANGUAGE_INUKTITUT_SYLLABICS_LSO LanguageType(0x785D) #define LANGUAGE_INUKTITUT_LATIN_CANADA LanguageType(0x085D) #define LANGUAGE_INUKTITUT_LATIN_LSO LanguageType(0x7C5D) #define LANGUAGE_ITALIAN LanguageType(0x0410) #define LANGUAGE_ITALIAN_SWISS LanguageType(0x0810) #define LANGUAGE_JAPANESE LanguageType(0x0411) #define LANGUAGE_KALAALLISUT_GREENLAND LanguageType(0x046F) /* obsoletes LANGUAGE_USER_KALAALLISUT 0x062A */ #define LANGUAGE_KANNADA LanguageType(0x044B) #define LANGUAGE_KANURI_NIGERIA LanguageType(0x0471) #define LANGUAGE_KASHMIRI LanguageType(0x0460) #define LANGUAGE_KASHMIRI_INDIA LanguageType(0x0860) #define LANGUAGE_KAZAKH LanguageType(0x043F) #define LANGUAGE_KHMER LanguageType(0x0453) #define LANGUAGE_KICHE_GUATEMALA LanguageType(0x0486) /* AKA K'iche', West Central Quiche, */ #define LANGUAGE_KINYARWANDA_RWANDA LanguageType(0x0487) /* obsoletes LANGUAGE_USER_KINYARWANDA 0x0621 */ #define LANGUAGE_KIRGHIZ LanguageType(0x0440) /* AKA Kyrgyz */ #define LANGUAGE_KONKANI LanguageType(0x0457) #define LANGUAGE_KOREAN LanguageType(0x0412) #define LANGUAGE_KOREAN_JOHAB LanguageType(0x0812) /* not mentioned in MS-LCID.pdf, oh joy */ #define LANGUAGE_KURDISH_ARABIC_IRAQ LanguageType(0x0492) /* obsoletes LANGUAGE_USER_KURDISH_IRAQ 0x0E26 */ #define LANGUAGE_KURDISH_ARABIC_LSO LanguageType(0x7C92) #define LANGUAGE_LAO LanguageType(0x0454) #define LANGUAGE_LATIN_LSO LanguageType(0x0476) /* obsoletes LANGUAGE_USER_LATIN 0x0610 */ #define LANGUAGE_LATVIAN LanguageType(0x0426) #define LANGUAGE_LITHUANIAN LanguageType(0x0427) #define LANGUAGE_LITHUANIAN_CLASSIC LanguageType(0x0827) /* MS in its MS-LCID.pdf now says "Neither defined nor reserved" */ #define LANGUAGE_LU_CHINA LanguageType(0x0490) #define LANGUAGE_LUXEMBOURGISH_LUXEMBOURG LanguageType(0x046E) /* obsoletes LANGUAGE_USER_LUXEMBOURGISH 0x0630 */ #define LANGUAGE_MACEDONIAN LanguageType(0x042F) #define LANGUAGE_MALAGASY_PLATEAU LanguageType(0x048D) /* obsoletes LANGUAGE_OBSOLETE_USER_MALAGASY_PLATEAU */ #define LANGUAGE_MALAYALAM LanguageType(0x044C) /* in India */ #define LANGUAGE_MALAY_BRUNEI_DARUSSALAM LanguageType(0x083E) #define LANGUAGE_MALAY_MALAYSIA LanguageType(0x043E) #define LANGUAGE_MALTESE LanguageType(0x043A) #define LANGUAGE_MANIPURI LanguageType(0x0458) #define LANGUAGE_MAORI_NEW_ZEALAND LanguageType(0x0481) /* obsoletes LANGUAGE_USER_MAORI 0x0620 */ #define LANGUAGE_MAPUDUNGUN_CHILE LanguageType(0x047A) /* AKA Araucanian */ #define LANGUAGE_MARATHI LanguageType(0x044E) #define LANGUAGE_MOHAWK_CANADA LanguageType(0x047C) #define LANGUAGE_MONGOLIAN_CYRILLIC_MONGOLIA LanguageType(0x0450) #define LANGUAGE_MONGOLIAN_CYRILLIC_LSO LanguageType(0x7850) #define LANGUAGE_MONGOLIAN_MONGOLIAN_MONGOLIA LanguageType(0x0C50) #define LANGUAGE_MONGOLIAN_MONGOLIAN_CHINA LanguageType(0x0850) #define LANGUAGE_MONGOLIAN_MONGOLIAN_LSO LanguageType(0x7C50) #define LANGUAGE_NEPALI LanguageType(0x0461) #define LANGUAGE_NEPALI_INDIA LanguageType(0x0861) #define LANGUAGE_NORWEGIAN LanguageType(0x0014) /* primary only, not a locale! */ #define LANGUAGE_NORWEGIAN_BOKMAL LanguageType(0x0414) #define LANGUAGE_NORWEGIAN_BOKMAL_LSO LanguageType(0x7C14) #define LANGUAGE_NORWEGIAN_NYNORSK LanguageType(0x0814) #define LANGUAGE_NORWEGIAN_NYNORSK_LSO LanguageType(0x7814) #define LANGUAGE_OCCITAN_FRANCE LanguageType(0x0482) /* obsoletes LANGUAGE_USER_OCCITAN 0x0625 */ #define LANGUAGE_ODIA LanguageType(0x0448) #define LANGUAGE_OROMO LanguageType(0x0472) #define LANGUAGE_PAPIAMENTU LanguageType(0x0479) #define LANGUAGE_PASHTO LanguageType(0x0463) #define LANGUAGE_POLISH LanguageType(0x0415) #define LANGUAGE_PORTUGUESE LanguageType(0x0816) #define LANGUAGE_PORTUGUESE_BRAZILIAN LanguageType(0x0416) #define LANGUAGE_PUNJABI LanguageType(0x0446) #define LANGUAGE_PUNJABI_ARABIC_LSO LanguageType(0x7C46) #define LANGUAGE_PUNJABI_PAKISTAN LanguageType(0x0846) #define LANGUAGE_QUECHUA_BOLIVIA LanguageType(0x046B) #define LANGUAGE_QUECHUA_COLOMBIA LanguageType(0x0493) /* different primary ID */ #define LANGUAGE_QUECHUA_ECUADOR LanguageType(0x086B) #define LANGUAGE_QUECHUA_PERU LanguageType(0x0C6B) #define LANGUAGE_RHAETO_ROMAN LanguageType(0x0417) #define LANGUAGE_ROMANIAN LanguageType(0x0418) #define LANGUAGE_ROMANIAN_MOLDOVA LanguageType(0x0818) #define LANGUAGE_RUSSIAN LanguageType(0x0419) #define LANGUAGE_RUSSIAN_MOLDOVA LanguageType(0x0819) #define LANGUAGE_SAMI_NORTHERN_NORWAY LanguageType(0x043B) #define LANGUAGE_SAMI_LAPPISH LANGUAGE_SAMI_NORTHERN_NORWAY /* the old MS definition */ #define LANGUAGE_SAMI_INARI LanguageType(0x243B) #define LANGUAGE_SAMI_INARI_LSO LanguageType(0x703B) #define LANGUAGE_SAMI_LULE_LSO LanguageType(0x7C3B) #define LANGUAGE_SAMI_LULE_NORWAY LanguageType(0x103B) #define LANGUAGE_SAMI_LULE_SWEDEN LanguageType(0x143B) #define LANGUAGE_SAMI_NORTHERN_FINLAND LanguageType(0x0C3B) #define LANGUAGE_SAMI_NORTHERN_SWEDEN LanguageType(0x083B) #define LANGUAGE_SAMI_SKOLT LanguageType(0x203B) #define LANGUAGE_SAMI_SKOLT_LSO LanguageType(0x743B) #define LANGUAGE_SAMI_SOUTHERN_LSO LanguageType(0x783B) #define LANGUAGE_SAMI_SOUTHERN_NORWAY LanguageType(0x183B) #define LANGUAGE_SAMI_SOUTHERN_SWEDEN LanguageType(0x1C3B) #define LANGUAGE_SANSKRIT LanguageType(0x044F) #define LANGUAGE_SEPEDI LanguageType(0x046C) #define LANGUAGE_NORTHERNSOTHO LANGUAGE_SEPEDI /* just an alias for the already existing localization */ #define LANGUAGE_SERBIAN_CYRILLIC_LSO LanguageType(0x6C1A) #define LANGUAGE_SERBIAN_CYRILLIC_SAM LanguageType(0x0C1A) /* Serbia and Montenegro (former) */ #define LANGUAGE_SERBIAN_CYRILLIC_BOSNIA_HERZEGOVINA LanguageType(0x1C1A) #define LANGUAGE_SERBIAN_CYRILLIC_MONTENEGRO LanguageType(0x301A) #define LANGUAGE_SERBIAN_CYRILLIC_SERBIA LanguageType(0x281A) #define LANGUAGE_SERBIAN_LATIN_LSO LanguageType(0x701A) #define LANGUAGE_SERBIAN_LATIN_SAM LanguageType(0x081A) #define LANGUAGE_SERBIAN_LATIN_BOSNIA_HERZEGOVINA LanguageType(0x181A) #define LANGUAGE_SERBIAN_LATIN_MONTENEGRO LanguageType(0x2C1A) #define LANGUAGE_SERBIAN_LATIN_NEUTRAL LanguageType(0x7C1A) #define LANGUAGE_SERBIAN_LATIN_SERBIA LanguageType(0x241A) #define LANGUAGE_SESOTHO LanguageType(0x0430) /* also called Sutu now by MS */ #define LANGUAGE_SINDHI LanguageType(0x0459) #define LANGUAGE_SINDHI_ARABIC_LSO LanguageType(0x7C59) #define LANGUAGE_SINDHI_PAKISTAN LanguageType(0x0859) #define LANGUAGE_SINHALESE_SRI_LANKA LanguageType(0x045B) #define LANGUAGE_SLOVAK LanguageType(0x041B) #define LANGUAGE_SLOVENIAN LanguageType(0x0424) #define LANGUAGE_SOMALI LanguageType(0x0477) #define LANGUAGE_UPPER_SORBIAN_GERMANY LanguageType(0x042E) /* obsoletes LANGUAGE_USER_UPPER_SORBIAN 0x0623 */ #define LANGUAGE_LOWER_SORBIAN_GERMANY LanguageType(0x082E) /* obsoletes LANGUAGE_USER_LOWER_SORBIAN 0x0624. NOTE: the primary ID is identical to Upper Sorbian, which is not quite correct because they're distinct languages */ #define LANGUAGE_LOWER_SORBIAN_LSO LanguageType(0x7C2E) #define LANGUAGE_SORBIAN LANGUAGE_USER_UPPER_SORBIAN /* a strange MS definition */ #define LANGUAGE_SPANISH_DATED LanguageType(0x040A) /* old collation, not supported, see #i94435# */ #define LANGUAGE_SPANISH_ARGENTINA LanguageType(0x2C0A) #define LANGUAGE_SPANISH_BOLIVIA LanguageType(0x400A) #define LANGUAGE_SPANISH_CHILE LanguageType(0x340A) #define LANGUAGE_SPANISH_COLOMBIA LanguageType(0x240A) #define LANGUAGE_SPANISH_COSTARICA LanguageType(0x140A) #define LANGUAGE_SPANISH_CUBA LanguageType(0x5C0A) #define LANGUAGE_SPANISH_DOMINICAN_REPUBLIC LanguageType(0x1C0A) #define LANGUAGE_SPANISH_ECUADOR LanguageType(0x300A) #define LANGUAGE_SPANISH_EL_SALVADOR LanguageType(0x440A) #define LANGUAGE_SPANISH_GUATEMALA LanguageType(0x100A) #define LANGUAGE_SPANISH_HONDURAS LanguageType(0x480A) #define LANGUAGE_SPANISH_LATIN_AMERICA LanguageType(0xE40A) /* no locale possible */ #define LANGUAGE_SPANISH_MEXICAN LanguageType(0x080A) #define LANGUAGE_SPANISH_MODERN LanguageType(0x0C0A) #define LANGUAGE_SPANISH_NICARAGUA LanguageType(0x4C0A) #define LANGUAGE_SPANISH_PANAMA LanguageType(0x180A) #define LANGUAGE_SPANISH_PARAGUAY LanguageType(0x3C0A) #define LANGUAGE_SPANISH_PERU LanguageType(0x280A) #define LANGUAGE_SPANISH_PUERTO_RICO LanguageType(0x500A) #define LANGUAGE_SPANISH_UNITED_STATES LanguageType(0x540A) #define LANGUAGE_SPANISH_URUGUAY LanguageType(0x380A) #define LANGUAGE_SPANISH_VENEZUELA LanguageType(0x200A) #define LANGUAGE_SPANISH LANGUAGE_SPANISH_MODERN /* modern collation, see #i94435# */ #define LANGUAGE_SWAHILI LanguageType(0x0441) /* Kenya */ #define LANGUAGE_SWEDISH LanguageType(0x041D) #define LANGUAGE_SWEDISH_FINLAND LanguageType(0x081D) #define LANGUAGE_SYRIAC LanguageType(0x045A) #define LANGUAGE_TAI_NUA_CHINA LanguageType(0x048F) #define LANGUAGE_TAJIK LanguageType(0x0428) #define LANGUAGE_TAJIK_LSO LanguageType(0x7C28) #define LANGUAGE_TAMAZIGHT_ARABIC_MOROCCO LanguageType(0x045F) #define LANGUAGE_TAMAZIGHT_LATIN_ALGERIA LanguageType(0x085F) #define LANGUAGE_TAMAZIGHT_LATIN_LSO LanguageType(0x7C5F) #define LANGUAGE_TAMAZIGHT_MOROCCO LanguageType(0x0C5F) #define LANGUAGE_TAMAZIGHT_TIFINAGH_MOROCCO LanguageType(0x105F) #define LANGUAGE_TAMAZIGHT_TIFINAGH_LSO LanguageType(0x785F) #define LANGUAGE_TAMIL LanguageType(0x0449) #define LANGUAGE_TAMIL_SRI_LANKA LanguageType(0x0849) #define LANGUAGE_TATAR LanguageType(0x0444) #define LANGUAGE_TELUGU LanguageType(0x044A) #define LANGUAGE_THAI LanguageType(0x041E) #define LANGUAGE_TIBETAN LanguageType(0x0451) #define LANGUAGE_TIBETAN_BHUTAN LanguageType(0x0851) /* was used as Dzongkha, a MS error, see #i53497# */ #define LANGUAGE_DZONGKHA_BHUTAN LanguageType(0x0C51) /* they finally got it ... ([MS-LCID] rev. 7.0 2015-06-30) */ #define LANGUAGE_TIGRIGNA_ERITREA LanguageType(0x0873) #define LANGUAGE_TIGRIGNA_ETHIOPIA LanguageType(0x0473) #define LANGUAGE_TSONGA LanguageType(0x0431) #define LANGUAGE_TSWANA LanguageType(0x0432) /* AKA Setsuana, for South Africa */ #define LANGUAGE_TSWANA_BOTSWANA LanguageType(0x0832) /* obsoletes LANGUAGE_USER_TSWANA_BOTSWANA 0x8032 */ #define LANGUAGE_TURKISH LanguageType(0x041F) #define LANGUAGE_TURKMEN LanguageType(0x0442) #define LANGUAGE_UIGHUR_CHINA LanguageType(0x0480) #define LANGUAGE_UKRAINIAN LanguageType(0x0422) #define LANGUAGE_URDU_INDIA LanguageType(0x0820) #define LANGUAGE_URDU_PAKISTAN LanguageType(0x0420) #define LANGUAGE_UZBEK_CYRILLIC LanguageType(0x0843) #define LANGUAGE_UZBEK_CYRILLIC_LSO LanguageType(0x7843) #define LANGUAGE_UZBEK_LATIN LanguageType(0x0443) #define LANGUAGE_UZBEK_LATIN_LSO LanguageType(0x7C43) #define LANGUAGE_VENDA LanguageType(0x0433) #define LANGUAGE_VIETNAMESE LanguageType(0x042A) #define LANGUAGE_WELSH LanguageType(0x0452) #define LANGUAGE_WOLOF_SENEGAL LanguageType(0x0488) #define LANGUAGE_XHOSA LanguageType(0x0434) /* AKA isiZhosa */ #define LANGUAGE_YAKUT_RUSSIA LanguageType(0x0485) #define LANGUAGE_YI LanguageType(0x0478) /* Sichuan Yi */ #define LANGUAGE_YIDDISH LanguageType(0x043D) #define LANGUAGE_YORUBA LanguageType(0x046A) #define LANGUAGE_YUE_CHINESE_HONGKONG LanguageType(0x048E) #define LANGUAGE_ZULU LanguageType(0x0435) #define LANGUAGE_qps_ploc LanguageType(0x0501) /* 'qps-ploc', qps is a reserved for local use code */ #define LANGUAGE_qps_ploca LanguageType(0x05FE) /* 'qps-ploca', qps is a reserved for local use code */ #define LANGUAGE_qps_plocm LanguageType(0x09FF) /* 'qps-plocm', qps is a reserved for local use code */ #define LANGUAGE_ar_Ploc_SA_reserved LanguageType(0x4401) /* 'ar-Ploc-SA', 'Ploc'?? */ #define LANGUAGE_ja_Ploc_JP_reserved LanguageType(0x0811) /* 'ja-Ploc-JP', 'Ploc'?? */ #define LANGUAGE_pap_029_reserved LanguageType(0x0479) /* 'pap-029' */ #define LANGUAGE_ar_145_reserved LanguageType(0x4801) /* 'ar-145' */ #define LANGUAGE_es_419 LanguageType(0x580A) /* 'es-419', not reserved, used? */ /* Seems these values were used or reserved at one point of time ... */ #define LANGUAGE_Neither_defined_nor_reserved_0x007B LanguageType(0x007B) #define LANGUAGE_Neither_defined_nor_reserved_0x007D LanguageType(0x007D) #define LANGUAGE_Neither_defined_nor_reserved_0x0089 LanguageType(0x0089) #define LANGUAGE_Neither_defined_nor_reserved_0x008A LanguageType(0x008A) #define LANGUAGE_Neither_defined_nor_reserved_0x008B LanguageType(0x008B) #define LANGUAGE_Neither_defined_nor_reserved_0x008D LanguageType(0x008D) #define LANGUAGE_Neither_defined_nor_reserved_0x008E LanguageType(0x008E) #define LANGUAGE_Neither_defined_nor_reserved_0x008F LanguageType(0x008F) #define LANGUAGE_Neither_defined_nor_reserved_0x0090 LanguageType(0x0090) #define LANGUAGE_Neither_defined_nor_reserved_0x0827 LanguageType(0x0827) #define LANGUAGE_Neither_defined_nor_reserved_0x1C0C LanguageType(0x1C0C) #define LANGUAGE_Neither_defined_nor_reserved_0x2008 LanguageType(0x2008) /*! use only for import/export of MS documents, number formatter maps it to *! LANGUAGE_SYSTEM and then to effective system language */ #define LANGUAGE_SYSTEM_DEFAULT LanguageType(0x0800) /*! use only for import/export of MS documents, number formatter maps it to *! LANGUAGE_SYSTEM and then to effective system language */ #define LANGUAGE_PROCESS_OR_USER_DEFAULT LanguageType(0x0400) /* Number format code modifier attribute for system time. * Primary language 0x000, sublanguage 0x3D. */ #define LANGUAGE_NF_SYSTEM_TIME LanguageType(0xF400) /* Number format code modifier attribute for system date. * Primary language 0x000, sublanguage 0x3E. */ #define LANGUAGE_NF_SYSTEM_DATE LanguageType(0xF800) /* And now the extensions we define, * with primary language IDs from 0x200 to 0x3FF valid in blocks from * * 0x0610 to 0x07FF with sublanguage ID 0x01 (default) * 0x0A00 to 0x0BFF with sublanguage ID 0x02 * ... * 0x8200 to 0x83FF with sublanguage ID 0x20 * 0x8600 to 0x87FF with sublanguage ID 0x21 * ... * 0xFA00 to 0xFBFF with sublanguage ID 0x3E * 0xFE00 to 0xFFFF with sublanguage ID 0x3F * * Of which we define reserved blocks: * All primary language IDs 0x3E0 to 0x3FE with any sublanguage ID, not to be * assigned as user-defined IDs: * * 0x07E0 to 0x07FE with sublanguage ID 0x01, first on-the-fly block * 0x0BE0 to 0x0BFE with sublanguage ID 0x02, second on-the-fly block * ... * 0x83E0 to 0x83FE with sublanguage ID 0x20 * 0x87E0 to 0x87FE with sublanguage ID 0x21 * ... * 0xFBE0 to 0xFBFE with sublanguage ID 0x3E, last on-the-fly block * 0xFFE0 to 0xFFFE with sublanguage ID 0x3F, 32 privateuse and specials * * This leaves room for 479 user-defined primary language IDs (instead of 512) * with primary bitmask comparability, and 1922 on-the-fly IDs (instead of 0) * with arbitrary assignment ((0x3E - 0x01 + 1) * (0x3FE - 0x3E0 + 1)). * * The primary ID 0x3FF is reserved and unassigned as it is the same as the * LANGUAGE_MASK_PRIMARY and LANGUAGE_DONTKNOW value, so to not be mistaken as * such. * * Obsolete OOo user defines now have other values assigned by MS, and * different name. Mapping an obsolete value to ISO code should work provided * that such a mapping exists in i18nlangtag/source/isolang/isolang.cxx, but * mapping ISO back to LANGID will return the new value. */ #define LANGUAGE_OBSOLETE_USER_LATIN LanguageType(0x0610) #define LANGUAGE_USER_LATIN LANGUAGE_LATIN_LSO #define LANGUAGE_USER_LATIN_VATICAN LanguageType(0x8076) /* makeLangID( 0x20, getPrimaryLanguage( LANGUAGE_LATIN_LSO)) */ #define LANGUAGE_USER_ESPERANTO LanguageType(0x0611) /* no locale possible */ #define LANGUAGE_USER_INTERLINGUA LanguageType(0x0612) /* no locale, but conventions */ #define LANGUAGE_OBSOLETE_USER_MAORI LanguageType(0x0620) #define LANGUAGE_USER_MAORI LANGUAGE_MAORI_NEW_ZEALAND #define LANGUAGE_OBSOLETE_USER_KINYARWANDA LanguageType(0x0621) #define LANGUAGE_USER_KINYARWANDA LANGUAGE_KINYARWANDA_RWANDA /* was reserved for Northern Sotho but never used: 0x0622 */ /* obsoleted by LANGUAGE_SEPEDI */ #define LANGUAGE_OBSOLETE_USER_UPPER_SORBIAN LanguageType(0x0623) #define LANGUAGE_USER_UPPER_SORBIAN LANGUAGE_UPPER_SORBIAN_GERMANY #define LANGUAGE_OBSOLETE_USER_LOWER_SORBIAN LanguageType(0x0624) #define LANGUAGE_USER_LOWER_SORBIAN LANGUAGE_LOWER_SORBIAN_GERMANY #define LANGUAGE_OBSOLETE_USER_OCCITAN LanguageType(0x0625) #define LANGUAGE_USER_OCCITAN LANGUAGE_OCCITAN_FRANCE /* reserved to languedocian */ #define LANGUAGE_USER_KOREAN_NORTH LanguageType(0x8012) /* North Korean as opposed to South Korean, makeLangID( 0x20, getPrimaryLanguage( LANGUAGE_KOREAN)) */ #define LANGUAGE_USER_KURDISH_TURKEY LanguageType(0x0626) /* sublang 0x01, Latin script */ #define LANGUAGE_USER_KURDISH_SYRIA LanguageType(0x0A26) /* sublang 0x02, Latin script */ #define LANGUAGE_OBSOLETE_USER_KURDISH_IRAQ LanguageType(0x0E26) /* sublang 0x03, Arabic script */ #define LANGUAGE_USER_KURDISH_IRAQ LANGUAGE_KURDISH_ARABIC_IRAQ #define LANGUAGE_USER_KURDISH_IRAN LanguageType(0x1226) /* sublang 0x04, Arabic script */ #define LANGUAGE_USER_KURDISH_SOUTHERN_IRAQ LanguageType(0x8092) /* makeLangID( 0x20, getPrimaryLanguage( LANGUAGE_KURDISH_ARABIC_LSO)) */ #define LANGUAGE_USER_KURDISH_SOUTHERN_IRAN LanguageType(0x8492) /* makeLangID( 0x21, getPrimaryLanguage( LANGUAGE_KURDISH_ARABIC_LSO)) */ #define LANGUAGE_USER_SARDINIAN LanguageType(0x0627) /* was reserved for Dzongkha but turned down with #i53497#: 0x0628 */ /* obsoleted by LANGUAGE_DZONGKHA_BHUTAN */ #define LANGUAGE_USER_DZONGKHA_MAP_LONLY LanguageType(0xF851) /* to map "dz" only, because of the MS error, and preserve CTL information, sub 0x3e */ #define LANGUAGE_USER_SWAHILI_TANZANIA LanguageType(0x8041) /* makeLangID( 0x20, getPrimaryLanguage( LANGUAGE_SWAHILI)) */ #define LANGUAGE_OBSOLETE_USER_BRETON LanguageType(0x0629) #define LANGUAGE_USER_BRETON LANGUAGE_BRETON_FRANCE #define LANGUAGE_OBSOLETE_USER_KALAALLISUT LanguageType(0x062A) #define LANGUAGE_USER_KALAALLISUT LANGUAGE_KALAALLISUT_GREENLAND #define LANGUAGE_USER_SWAZI LanguageType(0x062B) #define LANGUAGE_USER_NDEBELE_SOUTH LanguageType(0x062C) #define LANGUAGE_OBSOLETE_USER_TSWANA_BOTSWANA LanguageType(0x8032) /* makeLangID( 0x20, getPrimaryLanguage( LANGUAGE_TSWANA)) */ #define LANGUAGE_USER_TSWANA_BOTSWANA LANGUAGE_TSWANA_BOTSWANA #define LANGUAGE_USER_MOORE LanguageType(0x062D) #define LANGUAGE_USER_BAMBARA LanguageType(0x062E) #define LANGUAGE_USER_AKAN LanguageType(0x062F) #define LANGUAGE_OBSOLETE_USER_LUXEMBOURGISH LanguageType(0x0630) #define LANGUAGE_USER_LUXEMBOURGISH LANGUAGE_LUXEMBOURGISH_LUXEMBOURG #define LANGUAGE_USER_FRIULIAN LanguageType(0x0631) #define LANGUAGE_USER_FIJIAN LanguageType(0x0632) #define LANGUAGE_USER_AFRIKAANS_NAMIBIA LanguageType(0x8036) /* makeLangID( 0x20, getPrimaryLanguage( LANGUAGE_AFRIKAANS)) */ #define LANGUAGE_USER_ENGLISH_NAMIBIA LanguageType(0x8009) /* makeLangID( 0x20, getPrimaryLanguage( LANGUAGE_ENGLISH_US)) */ #define LANGUAGE_USER_WALLOON LanguageType(0x0633) #define LANGUAGE_USER_COPTIC LanguageType(0x0634) #define LANGUAGE_USER_CHUVASH LanguageType(0x0635) #define LANGUAGE_USER_GASCON LanguageType(0x0636) /* Gascon France */ #define LANGUAGE_USER_GERMAN_BELGIUM LanguageType(0x8007) /* makeLangID( 0x20, getPrimaryLanguage( LANGUAGE_GERMAN)) */ #define LANGUAGE_OBSOLETE_USER_CATALAN_VALENCIAN LanguageType(0x8003) /* makeLangID( 0x20, getPrimaryLanguage( LANGUAGE_CATALAN)) */ #define LANGUAGE_USER_CATALAN_VALENCIAN LANGUAGE_CATALAN_VALENCIAN #define LANGUAGE_USER_HAUSA_GHANA LanguageType(0x8068) /* makeLangID( 0x20, getPrimaryLanguage( LANGUAGE_HAUSA_NIGERIA)) */ #define LANGUAGE_USER_EWE_GHANA LanguageType(0x0637) #define LANGUAGE_USER_ENGLISH_GHANA LanguageType(0x8409) /* makeLangID( 0x21, getPrimaryLanguage( LANGUAGE_ENGLISH_US)) */ #define LANGUAGE_USER_TAGALOG LanguageType(0x0638) #define LANGUAGE_USER_LINGALA_DRCONGO LanguageType(0x0639) #define LANGUAGE_USER_SANGO LanguageType(0x063A) #define LANGUAGE_USER_GANDA LanguageType(0x063B) #define LANGUAGE_USER_LOW_GERMAN LanguageType(0x063C) #define LANGUAGE_USER_HILIGAYNON LanguageType(0x063D) #define LANGUAGE_USER_NYANJA LanguageType(0x063E) #define LANGUAGE_USER_KASHUBIAN LanguageType(0x063F) #define LANGUAGE_OBSOLETE_USER_SPANISH_CUBA LanguageType(0x800A) /* makeLangID( 0x20, getPrimaryLanguage( LANGUAGE_SPANISH)) */ #define LANGUAGE_USER_SPANISH_CUBA LANGUAGE_SPANISH_CUBA #define LANGUAGE_USER_TETUN LanguageType(0x0640) #define LANGUAGE_USER_QUECHUA_NORTH_BOLIVIA LanguageType(0x0641) #define LANGUAGE_USER_QUECHUA_SOUTH_BOLIVIA LanguageType(0x0642) #define LANGUAGE_OBSOLETE_USER_SERBIAN_CYRILLIC_SERBIA LanguageType(0x8C1A) /* makeLangID( 0x20+0x03, getPrimaryLanguage( LANGUAGE_SERBIAN_CYRILLIC_LSO)) */ #define LANGUAGE_USER_SERBIAN_CYRILLIC_SERBIA LANGUAGE_SERBIAN_CYRILLIC_SERBIA #define LANGUAGE_OBSOLETE_USER_SERBIAN_LATIN_SERBIA LanguageType(0x881A) /* makeLangID( 0x20+0x02, getPrimaryLanguage( LANGUAGE_SERBIAN_LATIN_LSO)) */ #define LANGUAGE_USER_SERBIAN_LATIN_SERBIA LANGUAGE_SERBIAN_LATIN_SERBIA #define LANGUAGE_OBSOLETE_USER_SERBIAN_CYRILLIC_MONTENEGRO LanguageType(0xCC1A) /* makeLangID( 0x20+0x13, getPrimaryLanguage( LANGUAGE_SERBIAN_CYRILLIC_LSO)) */ #define LANGUAGE_USER_SERBIAN_CYRILLIC_MONTENEGRO LANGUAGE_SERBIAN_CYRILLIC_MONTENEGRO #define LANGUAGE_OBSOLETE_USER_SERBIAN_LATIN_MONTENEGRO LanguageType(0xC81A) /* makeLangID( 0x20+0x12, getPrimaryLanguage( LANGUAGE_SERBIAN_LATIN_LSO)) */ #define LANGUAGE_USER_SERBIAN_LATIN_MONTENEGRO LANGUAGE_SERBIAN_LATIN_MONTENEGRO #define LANGUAGE_USER_SAMI_KILDIN_RUSSIA LanguageType(0x803B) /* makeLangID( 0x20, getPrimaryLanguage( LANGUAGE_SAMI_NORTHERN_NORWAY)) */ #define LANGUAGE_USER_BODO_INDIA LanguageType(0x0643) #define LANGUAGE_USER_DOGRI_INDIA LanguageType(0x0644) #define LANGUAGE_USER_MAITHILI_INDIA LanguageType(0x0645) #define LANGUAGE_USER_SANTALI_INDIA LanguageType(0x0646) #define LANGUAGE_USER_TETUN_TIMOR_LESTE LanguageType(0x0A40) /* makeLangID( 0x20, getPrimaryLanguage( LANGUAGE_USER_TETUN)) */ #define LANGUAGE_USER_TOK_PISIN LanguageType(0x0647) #define LANGUAGE_USER_SHUSWAP LanguageType(0x0648) #define LANGUAGE_USER_ARABIC_CHAD LanguageType(0x8001) /* makeLangID( 0x20, getPrimaryLanguage( LANGUAGE_ARABIC_SAUDI_ARABIA)) */ #define LANGUAGE_USER_ARABIC_COMOROS LanguageType(0x8401) /* makeLangID( 0x21, getPrimaryLanguage( LANGUAGE_ARABIC_SAUDI_ARABIA)) */ #define LANGUAGE_USER_ARABIC_DJIBOUTI LanguageType(0x8801) /* makeLangID( 0x22, getPrimaryLanguage( LANGUAGE_ARABIC_SAUDI_ARABIA)) */ #define LANGUAGE_USER_ARABIC_ERITREA LanguageType(0x8C01) /* makeLangID( 0x23, getPrimaryLanguage( LANGUAGE_ARABIC_SAUDI_ARABIA)) */ #define LANGUAGE_USER_ARABIC_ISRAEL LanguageType(0x9001) /* makeLangID( 0x24, getPrimaryLanguage( LANGUAGE_ARABIC_SAUDI_ARABIA)) */ #define LANGUAGE_USER_ARABIC_MAURITANIA LanguageType(0x9401) /* makeLangID( 0x25, getPrimaryLanguage( LANGUAGE_ARABIC_SAUDI_ARABIA)) */ #define LANGUAGE_USER_ARABIC_PALESTINE LanguageType(0x9801) /* makeLangID( 0x26, getPrimaryLanguage( LANGUAGE_ARABIC_SAUDI_ARABIA)) */ #define LANGUAGE_USER_ARABIC_SOMALIA LanguageType(0x9C01) /* makeLangID( 0x27, getPrimaryLanguage( LANGUAGE_ARABIC_SAUDI_ARABIA)) */ #define LANGUAGE_USER_ARABIC_SUDAN LanguageType(0xA001) /* makeLangID( 0x28, getPrimaryLanguage( LANGUAGE_ARABIC_SAUDI_ARABIA)) */ #define LANGUAGE_USER_ANCIENT_GREEK LanguageType(0x0649) #define LANGUAGE_USER_ASTURIAN LanguageType(0x064A) #define LANGUAGE_USER_LATGALIAN LanguageType(0x064B) #define LANGUAGE_USER_MAORE LanguageType(0x064C) #define LANGUAGE_USER_BUSHI LanguageType(0x064D) #define LANGUAGE_USER_TAHITIAN LanguageType(0x064E) #define LANGUAGE_OBSOLETE_USER_MALAGASY_PLATEAU LanguageType(0x064F) #define LANGUAGE_USER_PAPIAMENTU_ARUBA LanguageType(0x8079) /* makeLangID( 0x20, getPrimaryLanguage( LANGUAGE_PAPIAMENTU)) */ #define LANGUAGE_USER_SARDINIAN_CAMPIDANESE LanguageType(0x0650) #define LANGUAGE_USER_SARDINIAN_GALLURESE LanguageType(0x0651) #define LANGUAGE_USER_SARDINIAN_LOGUDORESE LanguageType(0x0652) #define LANGUAGE_USER_SARDINIAN_SASSARESE LanguageType(0x0653) #define LANGUAGE_USER_BAFIA LanguageType(0x0654) #define LANGUAGE_USER_GIKUYU LanguageType(0x0655) #define LANGUAGE_USER_RUSYN_UKRAINE LanguageType(0x0656) #define LANGUAGE_USER_RUSYN_SLOVAKIA LanguageType(0x8256) /* makeLangID( 0x20, getPrimaryLanguage( LANGUAGE_USER_RUSYN_UKRAINE)) */ #define LANGUAGE_USER_YIDDISH_US LanguageType(0x803D) /* makeLangID( 0x20, getPrimaryLanguage( LANGUAGE_YIDDISH)) */ #define LANGUAGE_USER_LIMBU LanguageType(0x0657) #define LANGUAGE_USER_LOJBAN LanguageType(0x0658) /* no locale */ #define LANGUAGE_OBSOLETE_USER_KABYLE LanguageType(0x0659) #define LANGUAGE_USER_KABYLE LANGUAGE_TAMAZIGHT_LATIN_ALGERIA #define LANGUAGE_USER_HAITIAN LanguageType(0x065A) #define LANGUAGE_USER_BEEMBE LanguageType(0x065B) #define LANGUAGE_USER_BEKWEL LanguageType(0x065C) #define LANGUAGE_USER_KITUBA LanguageType(0x065D) #define LANGUAGE_USER_LARI LanguageType(0x065E) #define LANGUAGE_USER_MBOCHI LanguageType(0x065F) #define LANGUAGE_USER_TEKE_IBALI LanguageType(0x0660) #define LANGUAGE_USER_TEKE_TYEE LanguageType(0x0661) #define LANGUAGE_USER_VILI LanguageType(0x0662) #define LANGUAGE_USER_PORTUGUESE_ANGOLA LanguageType(0x8016) /* makeLangID( 0x20, getPrimaryLanguage( LANGUAGE_PORTUGUESE)) */ #define LANGUAGE_USER_MANX LanguageType(0x0663) #define LANGUAGE_USER_TEKE_EBOO LanguageType(0x0664) #define LANGUAGE_USER_ARAGONESE LanguageType(0x0665) #define LANGUAGE_USER_KEYID LanguageType(0x0666) /* key id pseudolanguage */ #define LANGUAGE_USER_PALI_LATIN LanguageType(0x0667) #define LANGUAGE_USER_KYRGYZ_CHINA LanguageType(0x0668) /* not derived from LANGUAGE_KIRGHIZ as these may be different scripts, see http://www.omniglot.com/writing/kirghiz.htm */ #define LANGUAGE_USER_KOMI_ZYRIAN LanguageType(0x0669) #define LANGUAGE_USER_KOMI_PERMYAK LanguageType(0x066A) #define LANGUAGE_USER_PITJANTJATJARA LanguageType(0x066B) #define LANGUAGE_USER_ENGLISH_MALAWI LanguageType(0x8809) /* makeLangID( 0x22, getPrimaryLanguage( LANGUAGE_ENGLISH_UK)) */ #define LANGUAGE_USER_ERZYA LanguageType(0x066C) #define LANGUAGE_USER_MARI_MEADOW LanguageType(0x066D) #define LANGUAGE_USER_KHANTY LanguageType(0x066E) #define LANGUAGE_USER_LIVONIAN LanguageType(0x066F) #define LANGUAGE_USER_MOKSHA LanguageType(0x0670) #define LANGUAGE_USER_MARI_HILL LanguageType(0x0671) #define LANGUAGE_USER_NGANASAN LanguageType(0x0672) #define LANGUAGE_USER_OLONETS LanguageType(0x0673) #define LANGUAGE_USER_VEPS LanguageType(0x0674) #define LANGUAGE_USER_VORO LanguageType(0x0675) #define LANGUAGE_USER_NENETS LanguageType(0x0676) #define LANGUAGE_USER_PAPIAMENTU_CURACAO LanguageType(0x8479) /* makeLangID( 0x21, getPrimaryLanguage( LANGUAGE_PAPIAMENTU)) */ #define LANGUAGE_USER_PAPIAMENTU_BONAIRE LanguageType(0x8879) /* makeLangID( 0x22, getPrimaryLanguage( LANGUAGE_PAPIAMENTU)) */ #define LANGUAGE_USER_AKA LanguageType(0x0677) #define LANGUAGE_USER_AKA_CONGO LanguageType(0x8277) /* makeLangID( 0x20, getPrimaryLanguage( LANGUAGE_USER_AKA)) */ #define LANGUAGE_USER_DIBOLE LanguageType(0x0678) #define LANGUAGE_USER_DOONDO LanguageType(0x0679) #define LANGUAGE_USER_KAAMBA LanguageType(0x067A) #define LANGUAGE_USER_KOONGO LanguageType(0x067B) #define LANGUAGE_USER_KOONGO_CONGO LanguageType(0x827B) /* makeLangID( 0x20, getPrimaryLanguage( LANGUAGE_USER_KOONGO)) */ #define LANGUAGE_USER_KUNYI LanguageType(0x067C) #define LANGUAGE_USER_NGUNGWEL LanguageType(0x067D) #define LANGUAGE_USER_NJYEM LanguageType(0x067E) #define LANGUAGE_USER_NJYEM_CONGO LanguageType(0x827E) /* makeLangID( 0x20, getPrimaryLanguage( LANGUAGE_USER_NJYEM)) */ #define LANGUAGE_USER_PUNU LanguageType(0x067F) #define LANGUAGE_USER_PUNU_CONGO LanguageType(0x827F) /* makeLangID( 0x20, getPrimaryLanguage( LANGUAGE_USER_PUNU)) */ #define LANGUAGE_USER_SUUNDI LanguageType(0x0680) #define LANGUAGE_USER_TEKE_KUKUYA LanguageType(0x0681) #define LANGUAGE_USER_TSAANGI LanguageType(0x0682) #define LANGUAGE_USER_YAKA LanguageType(0x0683) #define LANGUAGE_USER_YOMBE LanguageType(0x0684) #define LANGUAGE_USER_YOMBE_CONGO LanguageType(0x8284) /* makeLangID( 0x20, getPrimaryLanguage( LANGUAGE_USER_YOMBE)) */ #define LANGUAGE_USER_SIDAMA LanguageType(0x0685) #define LANGUAGE_USER_NKO LanguageType(0x0686) #define LANGUAGE_USER_UDMURT LanguageType(0x0687) #define LANGUAGE_USER_TIBETAN_INDIA LanguageType(0x8051) /* makeLangID( 0x20, getPrimaryLanguage( LANGUAGE_TIBETAN)) */ #define LANGUAGE_USER_CORNISH LanguageType(0x0688) #define LANGUAGE_USER_SAMI_PITE_SWEDEN LanguageType(0x843B) /* makeLangID( 0x21, getPrimaryLanguage( LANGUAGE_SAMI_NORTHERN_NORWAY)) */ #define LANGUAGE_USER_NGAEBERE LanguageType(0x0689) #define LANGUAGE_USER_ENGLISH_UK_OED LanguageType(0x8C09) /* makeLangID( 0x23, getPrimaryLanguage( LANGUAGE_ENGLISH_UK)) */ #define LANGUAGE_USER_KUMYK LanguageType(0x068A) #define LANGUAGE_USER_NOGAI LanguageType(0x068B) #define LANGUAGE_USER_KARAKALPAK_LATIN LanguageType(0x068C) #define LANGUAGE_USER_LADIN LanguageType(0x068D) #define LANGUAGE_USER_TIBETAN_BHUTAN LanguageType(0x8451) /* makeLangID( 0x21, getPrimaryLanguage( LANGUAGE_TIBETAN)) */ #define LANGUAGE_USER_FRENCH_BURKINA_FASO LanguageType(0x800C) /* makeLangID( 0x20, getPrimaryLanguage( LANGUAGE_FRENCH)) */ #define LANGUAGE_USER_PUINAVE LanguageType(0x068E) #define LANGUAGE_USER_MANINKAKAN_EASTERN_LATIN LanguageType(0x068F) #define LANGUAGE_USER_AVAR LanguageType(0x0690) #define LANGUAGE_USER_CREE_PLAINS_LATIN LanguageType(0x0691) #define LANGUAGE_USER_CREE_PLAINS_SYLLABICS LanguageType(0x8291) /* makeLangID( 0x20, getPrimaryLanguage( LANGUAGE_USER_CREE_PLAINS_LATIN)) */ #define LANGUAGE_USER_LENGO LanguageType(0x0692) #define LANGUAGE_USER_FRENCH_BENIN LanguageType(0x840C) /* makeLangID( 0x21, getPrimaryLanguage( LANGUAGE_FRENCH)) */ #define LANGUAGE_USER_FRENCH_NIGER LanguageType(0x880C) /* makeLangID( 0x22, getPrimaryLanguage( LANGUAGE_FRENCH)) */ #define LANGUAGE_USER_FRENCH_TOGO LanguageType(0x8C0C) /* makeLangID( 0x23, getPrimaryLanguage( LANGUAGE_FRENCH)) */ #define LANGUAGE_USER_KVEN_FINNISH LanguageType(0x0693) #define LANGUAGE_USER_CHURCH_SLAVIC LanguageType(0x0694) #define LANGUAGE_USER_VENETIAN LanguageType(0x0695) #define LANGUAGE_USER_ENGLISH_GAMBIA LanguageType(0x9009) /* makeLangID( 0x24, getPrimaryLanguage( LANGUAGE_ENGLISH_UK)) */ #define LANGUAGE_USER_OCCITAN_ARANESE LanguageType(0x8082) /* makeLangID( 0x20, getPrimaryLanguage( LANGUAGE_OCCITAN_FRANCE)) */ #define LANGUAGE_USER_ENGLISH_UK_OXENDICT LanguageType(0x9409) /* makeLangID( 0x25, getPrimaryLanguage( LANGUAGE_ENGLISH_UK)) */ #define LANGUAGE_USER_ARPITAN_FRANCE LanguageType(0x0696) #define LANGUAGE_USER_ARPITAN_ITALY LanguageType(0x0A96) /* makeLangID( 0x02, getPrimaryLanguage( LANGUAGE_USER_ARPITAN_FRANCE)) */ #define LANGUAGE_USER_ARPITAN_SWITZERLAND LanguageType(0x0E96) /* makeLangID( 0x03, getPrimaryLanguage( LANGUAGE_USER_ARPITAN_FRANCE)) */ #define LANGUAGE_USER_ENGLISH_BOTSWANA LanguageType(0x9809) /* makeLangID( 0x26, getPrimaryLanguage( LANGUAGE_ENGLISH_UK)) */ #define LANGUAGE_USER_INTERLINGUE LanguageType(0x0697) /* no locale */ #define LANGUAGE_USER_APATANI LanguageType(0x0698) #define LANGUAGE_USER_ENGLISH_MAURITIUS LanguageType(0x9C09) /* makeLangID( 0x27, getPrimaryLanguage( LANGUAGE_ENGLISH_UK)) */ #define LANGUAGE_USER_FRENCH_MAURITIUS LanguageType(0x900C) /* makeLangID( 0x24, getPrimaryLanguage( LANGUAGE_FRENCH)) */ #define LANGUAGE_USER_SILESIAN LanguageType(0x0699) #define LANGUAGE_USER_HUNGARIAN_ROVAS LanguageType(0x800E) /* makeLangID( 0x20, getPrimaryLanguage( LANGUAGE_HUNGARIAN)) */ #define LANGUAGE_USER_MANCHU LanguageType(0x069A) #define LANGUAGE_USER_XIBE LanguageType(0x069B) #define LANGUAGE_USER_KITUBA_DRCONGO LanguageType(0x069C) #define LANGUAGE_USER_FON LanguageType(0x069D) #define LANGUAGE_USER_PLAUTDIETSCH LanguageType(0x069E) #define LANGUAGE_USER_ARMENIAN_RUSSIA LanguageType(0x802B) /* makeLangID( 0x20, getPrimaryLanguage( LANGUAGE_ARMENIAN)) */ #define LANGUAGE_USER_ARMENIAN_IRAN LanguageType(0x842B) /* makeLangID( 0x21, getPrimaryLanguage( LANGUAGE_ARMENIAN)) */ #define LANGUAGE_USER_ARMENIAN_WESTERN LanguageType(0x069F) #define LANGUAGE_USER_ARMENIAN_CLASSIC LanguageType(0x06A0) #define LANGUAGE_USER_MALAY_ARABIC_MALAYSIA LanguageType(0x803E) /* makeLangID( 0x20, getPrimaryLanguage( LANGUAGE_MALAY_MALAYSIA)) */ #define LANGUAGE_USER_MALAY_ARABIC_BRUNEI LanguageType(0x843E) /* makeLangID( 0x21, getPrimaryLanguage( LANGUAGE_MALAY_BRUNEI_DARUSSALAM)) */ #define LANGUAGE_USER_JUHOAN LanguageType(0x06A1) #define LANGUAGE_USER_NARO LanguageType(0x06A2) #define LANGUAGE_USER_ILOKO LanguageType(0x06A3) /* XXX Add new user defined LCIDs ^^^ there. * Note that we run out of IDs with sublanguage ID 0x01 after 0x07DF ... */ /* Primary language ID range for on-the-fly assignment. */ #define LANGUAGE_ON_THE_FLY_START LanguageType(0x03E0) #define LANGUAGE_ON_THE_FLY_END LanguageType(0x03FE) /* Sublanguage ID range for on-the-fly assignment. */ #define LANGUAGE_ON_THE_FLY_SUB_START LanguageType(0x01) #define LANGUAGE_ON_THE_FLY_SUB_END LanguageType(0x3E) /* 0xFFE0 to 0xFFFF reserved for privateuse and specials. */ #define LANGUAGE_USER_PRIV_JOKER LanguageType(0xFFEB) /* privateuse "*" (sic! bad! nasty!), primary 0x3eb, sub 0x3f */ #define LANGUAGE_USER_PRIV_COMMENT LanguageType(0xFFEC) /* privateuse "x-comment", primary 0x3ec, sub 0x3f */ #define LANGUAGE_USER_PRIV_DEFAULT LanguageType(0xFFED) /* privateuse "x-default", primary 0x3ed, sub 0x3f */ #define LANGUAGE_USER_PRIV_NOTRANSLATE LanguageType(0xFFEE) /* privateuse "x-no-translate" (sic!), primary 0x3ee, sub 0x3f */ #define LANGUAGE_MULTIPLE LanguageType(0xFFEF) /* multiple languages, primary 0x3ef, sub 0x3f */ #define LANGUAGE_UNDETERMINED LanguageType(0xFFF0) /* undetermined language, primary 0x3f0, sub 0x3f */ #define LANGUAGE_USER_SYSTEM_CONFIG LanguageType(0xFFFE) /* not a locale, to be used only in configuration context to obtain system default, primary 0x3fe, sub 0x3f */ #endif /* INCLUDED_I18NLANGTAG_LANG_H */ /* vim:set shiftwidth=4 softtabstop=4 expandtab: */