22#include <rtl/ustring.hxx>
23#include <com/sun/star/i18n/ScriptType.hpp>
105 SAL_WARN(
"i18nlangtag",
"MsLangId::getConfiguredSystemLanguage() - not configured yet");
115 SAL_WARN(
"i18nlangtag",
"MsLangId::getConfiguredSystemUILanguage() - not configured yet");
145 case css::i18n::ScriptType::ASIAN:
151 case css::i18n::ScriptType::COMPLEX:
196 css::lang::Locale aLocale;
201 convertLanguageToLocaleImpl( nLang, aLocale, bIgnoreOverride );
205 aLocale.Language =
"en";
206 aLocale.Country =
"US";
207 aLocale.Variant.clear();
215 const css::lang::Locale& rLocale )
218 if (rLocale.Language.isEmpty())
221 return convertLocaleToLanguageImpl( rLocale);
227 const css::lang::Locale & rLocale )
230 if (rLocale.Language.isEmpty())
306 return rLocale.Language ==
"zh" && (rLocale.Country ==
"TW" || rLocale.Country ==
"HK" || rLocale.Country ==
"MO");
389 nScript = css::i18n::ScriptType::COMPLEX;
392 else if (nLang.
anyOf(
398 nScript = css::i18n::ScriptType::LATIN;
401 else if (
primary(nLang).anyOf(
408 nScript = css::i18n::ScriptType::ASIAN;
452 nScript = css::i18n::ScriptType::COMPLEX;
461 nScript = css::i18n::ScriptType::ASIAN;
465 nScript = css::i18n::ScriptType::COMPLEX;
470 nScript = css::i18n::ScriptType::LATIN;
476 nScript = css::i18n::ScriptType::LATIN;
512 return aLanguageTag.
getScript() !=
"Latn";
Wrapper for liblangtag BCP 47 language tags, MS-LangIDs, locales and conversions in between.
OUString getScript() const
Get ISO 15924 script code, if not the default script according to BCP 47.
bool hasScript() const
If language tag has a non-default script specified.
static bool isOnTheFlyID(LanguageType nLang)
If nLang is a generated on-the-fly LangID.
static ScriptType getOnTheFlyScriptType(LanguageType nLang)
static I18NLANGTAG_DLLPRIVATE css::lang::Locale convertLanguageToLocale(LanguageType nLang, bool bIgnoreOverride)
Convert a LanguageType to a Locale.
static I18NLANGTAG_DLLPRIVATE LanguageType convertLocaleToLanguage(const css::lang::Locale &rLocale)
Convert a Locale to a LanguageType with handling of an empty language name designating LANGUAGE_SYSTE...
static I18NLANGTAG_DLLPRIVATE css::lang::Locale lookupFallbackLocale(const css::lang::Locale &rLocale)
static I18NLANGTAG_DLLPRIVATE void setConfiguredSystemLanguage(LanguageType nLang)
Configured system locale needs always be synchronized with LanguageTag's system locale.
static LanguageType getConfiguredSystemUILanguage()
Get the configured system UI language/locale.
static bool usesHyphenation(LanguageType nLang)
Whether the language uses hyphenation.
static bool isLegacy(LanguageType nLang)
Whether locale is legacy, i.e.
static bool isRightToLeftMath(LanguageType nLang)
Whether locale has a Right-To-Left orientation for math.
static void setConfiguredComplexFallback(LanguageType nLang)
static LanguageType getPrimaryLanguage(LanguageType nLangID)
Get the primary language of a LangID.
static bool needsSequenceChecking(LanguageType nLang)
Whether locale needs input sequence checking.
static void setConfiguredSystemUILanguage(LanguageType nLang)
@ATTENTION: these are ONLY to be called by the application's configuration!
static css::lang::Locale getFallbackLocale(const css::lang::Locale &rLocale)
Get fall-back Locale for Locale with handling of an empty language name designating the SYSTEM langua...
static bool isFamilyNameFirst(LanguageType nLang)
Whether locale is one where family name comes first, e.g.
static bool isChinese(LanguageType nLang)
Whether locale is a chinese locale.
static LanguageType nConfiguredSystemUILanguage
static LanguageType resolveSystemLanguageByScriptType(LanguageType nLang, sal_Int16 nType)
static bool isKorean(LanguageType nLang)
Whether locale is a korean locale.
static bool isTraditionalChinese(LanguageType nLang)
Whether locale is a traditional chinese locale.
static LanguageType nConfiguredComplexFallback
static LanguageType getPlatformSystemLanguage()
static bool isNonLatinWestern(LanguageType nLang)
Whether locale is "Western" but not Latin script, e.g.
static void setConfiguredWesternFallback(LanguageType nLang)
static LanguageType getPlatformSystemUILanguage()
static LanguageType nConfiguredWesternFallback
static LanguageType nConfiguredSystemLanguage
static LanguageType getConfiguredSystemLanguage()
Get the configured system language/locale.
static void setConfiguredAsianFallback(LanguageType nLang)
static LanguageType getSystemUILanguage()
Language/locale of category LC_MESSAGES (on Unix, else same as getSystemLanguage()).
static LanguageType getReplacementForObsoleteLanguage(LanguageType nLang)
Map an obsolete user defined LANGID (see lang.h LANGUAGE_OBSOLETE_USER_...) to the new value defined ...
static LanguageType getSystemLanguage()
Language/locale of category LC_CTYPE (on Unix, else the system language).
static LanguageType getRealLanguage(LanguageType nLang)
: A proper language/locale if the nLang parameter designates some special value.
static bool isCJK(LanguageType nLang)
Whether locale is a CJK locale.
static bool isSimplifiedChinese(LanguageType nLang)
Whether locale is a simplified chinese locale.
static LanguageType nConfiguredAsianFallback
static bool isRightToLeft(LanguageType nLang)
Whether locale has a Right-To-Left orientation for text.
static I18NLANGTAG_DLLPRIVATE LanguageType simplifySystemLanguages(LanguageType nLang)
static sal_Int16 getScriptType(LanguageType nLang)
Get css::i18n::ScriptType of locale.
static bool hasForbiddenCharacters(LanguageType nLang)
Whether there are "forbidden characters at start or end of line" in this locale.
#define LANGUAGE_USER_KURDISH_TURKEY
#define LANGUAGE_OBSOLETE_USER_OCCITAN
#define LANGUAGE_OBSOLETE_USER_TSWANA_BOTSWANA
#define LANGUAGE_SANSKRIT
#define LANGUAGE_OBSOLETE_USER_KALAALLISUT
#define LANGUAGE_UIGHUR_CHINA
#define LANGUAGE_MANIPURI
#define LANGUAGE_USER_ENGLISH_UK_OED
#define LANGUAGE_KINYARWANDA_RWANDA
#define LANGUAGE_SERBIAN_LATIN_SERBIA
#define LANGUAGE_KURDISH_ARABIC_IRAQ
#define LANGUAGE_ARABIC_PRIMARY_ONLY
#define LANGUAGE_MONGOLIAN_MONGOLIAN_CHINA
#define LANGUAGE_TAMAZIGHT_LATIN_ALGERIA
#define LANGUAGE_USER_MALAY_ARABIC_BRUNEI
#define LANGUAGE_MONGOLIAN_CYRILLIC_LSO
#define LANGUAGE_MONGOLIAN_MONGOLIAN_MONGOLIA
#define LANGUAGE_OBSOLETE_USER_LATIN_VATICAN
#define LANGUAGE_CHINESE_TRADITIONAL
#define LANGUAGE_OBSOLETE_USER_KABYLE
#define LANGUAGE_SERBIAN_CYRILLIC_SAM
#define LANGUAGE_HUNGARIAN
#define LANGUAGE_ARABIC_MOROCCO
#define LANGUAGE_BELARUSIAN
#define LANGUAGE_OBSOLETE_USER_SERBIAN_CYRILLIC_MONTENEGRO
#define LANGUAGE_GAELIC_SCOTLAND_LEGACY
#define LANGUAGE_USER_ROHINGYA_HANIFI
#define LANGUAGE_AZERI_CYRILLIC
#define LANGUAGE_PROCESS_OR_USER_DEFAULT
#define LANGUAGE_SERBIAN_CYRILLIC_SERBIA
#define LANGUAGE_USER_KURDISH_IRAN
#define LANGUAGE_LOWER_SORBIAN_GERMANY
#define LANGUAGE_OBSOLETE_USER_BRETON
#define LANGUAGE_USER_XIBE
#define LANGUAGE_BOSNIAN_CYRILLIC_LSO
#define LANGUAGE_DZONGKHA_BHUTAN
#define LANGUAGE_USER_MALAY_ARABIC_MALAYSIA
#define LANGUAGE_USER_MANCHU
#define LANGUAGE_KALAALLISUT_GREENLAND
#define LANGUAGE_USER_PALI_THAI
#define LANGUAGE_SERBIAN_LATIN_MONTENEGRO
#define LANGUAGE_USER_KURDISH_SYRIA
#define LANGUAGE_OBSOLETE_USER_LATIN
#define LANGUAGE_TSWANA_BOTSWANA
#define LANGUAGE_CHINESE_SIMPLIFIED
#define LANGUAGE_UZBEK_CYRILLIC_LSO
#define LANGUAGE_OBSOLETE_USER_SERBIAN_LATIN_SERBIA
#define LANGUAGE_USER_LIMBU
#define LANGUAGE_JAPANESE
#define LANGUAGE_OBSOLETE_USER_MALAGASY_PLATEAU
#define LANGUAGE_OBSOLETE_USER_LOWER_SORBIAN
#define LANGUAGE_SINHALESE_SRI_LANKA
#define LANGUAGE_SPANISH_LATIN_AMERICA
#define LANGUAGE_SERBIAN_CYRILLIC_MONTENEGRO
#define LANGUAGE_GAELIC_SCOTLAND
#define LANGUAGE_USER_KURDISH_SOUTHERN_IRAN
#define LANGUAGE_OBSOLETE_USER_CATALAN_VALENCIAN
#define LANGUAGE_CHINESE_MACAU
#define LANGUAGE_USER_BODO_INDIA
#define LANGUAGE_MAORI_NEW_ZEALAND
#define LANGUAGE_SERBIAN_CYRILLIC_LSO
#define LANGUAGE_UZBEK_CYRILLIC
#define LANGUAGE_OBSOLETE_USER_SPANISH_LATIN_AMERICA
#define LANGUAGE_OBSOLETE_USER_KINYARWANDA
#define LANGUAGE_USER_KYRGYZ_CHINA
#define LANGUAGE_OCCITAN_FRANCE
#define LANGUAGE_BRETON_FRANCE
#define LANGUAGE_OBSOLETE_USER_SPANISH_CUBA
#define LANGUAGE_BOSNIAN_CYRILLIC_BOSNIA_HERZEGOVINA
#define LANGUAGE_UPPER_SORBIAN_GERMANY
#define LANGUAGE_ASSAMESE
#define LANGUAGE_LUXEMBOURGISH_LUXEMBOURG
#define LANGUAGE_UKRAINIAN
#define LANGUAGE_SYSTEM_DEFAULT
#define LANGUAGE_HID_HUMAN_INTERFACE_DEVICE
#define LANGUAGE_USER_MAITHILI_INDIA
#define LANGUAGE_USER_KURDISH_SOUTHERN_IRAQ
#define LANGUAGE_VIETNAMESE
#define LANGUAGE_CHINESE_HONGKONG
#define LANGUAGE_ARABIC_SAUDI_ARABIA
#define LANGUAGE_DONTKNOW
#define LANGUAGE_OBSOLETE_USER_SERBIAN_CYRILLIC_SERBIA
#define LANGUAGE_USER_SARAIKI
#define LANGUAGE_OBSOLETE_USER_LUXEMBOURGISH
#define LANGUAGE_NORWEGIAN
#define LANGUAGE_NORWEGIAN_BOKMAL
#define LANGUAGE_OBSOLETE_USER_UPPER_SORBIAN
#define LANGUAGE_USER_DOGRI_INDIA
#define LANGUAGE_USER_NKO
#define LANGUAGE_YUE_CHINESE_HONGKONG
#define LANGUAGE_MALAYALAM
constexpr LanguageType primary(LanguageType lt)
#define LANGUAGE_OBSOLETE_USER_KURDISH_IRAQ
#define LANGUAGE_URDU_INDIA
#define LANGUAGE_CATALAN_VALENCIAN
#define LANGUAGE_BULGARIAN
#define LANGUAGE_URDU_PAKISTAN
#define LANGUAGE_KASHMIRI
#define LANGUAGE_AMHARIC_ETHIOPIA
#define LANGUAGE_USER_ENGLISH_UK_OXENDICT
#define LANGUAGE_GUJARATI
#define LANGUAGE_SERBIAN_LATIN_SAM
#define LANGUAGE_SPANISH_CUBA
#define LANGUAGE_MALAGASY_PLATEAU
#define LANGUAGE_RUSSIAN_MOLDOVA
#define LANGUAGE_KURDISH_ARABIC_LSO
#define LANGUAGE_MONGOLIAN_CYRILLIC_MONGOLIA
#define LANGUAGE_ENGLISH_US
#define LANGUAGE_TIGRIGNA_ETHIOPIA
#define LANGUAGE_SERBIAN_CYRILLIC_BOSNIA_HERZEGOVINA
#define LANGUAGE_OBSOLETE_USER_MAORI
#define LANGUAGE_MONGOLIAN_MONGOLIAN_LSO
#define LANGUAGE_TIBETAN_BHUTAN
#define LANGUAGE_OBSOLETE_USER_SERBIAN_LATIN_MONTENEGRO
#define LANGUAGE_USER_HUNGARIAN_ROVAS
#define LANGUAGE_AZERI_CYRILLIC_LSO
#define SAL_WARN(area, stream)
bool anyOf(strong_int v) const