LibreOffice Module i18nlangtag (master) 1
|
Public Member Functions | |
LanguageTagImpl (const LanguageTag &rLanguageTag) | |
LanguageTagImpl (const LanguageTagImpl &rLanguageTagImpl) | |
~LanguageTagImpl () | |
LanguageTagImpl & | operator= (const LanguageTagImpl &rLanguageTagImpl) |
Private Types | |
enum | Decision { DECISION_DONTKNOW , DECISION_NO , DECISION_YES } |
enum | Extraction { EXTRACTED_NONE , EXTRACTED_LSC , EXTRACTED_LV , EXTRACTED_LR , EXTRACTED_C_LOCALE , EXTRACTED_X , EXTRACTED_X_JOKER , EXTRACTED_KNOWN_BAD } |
Private Member Functions | |
OUString const & | getBcp47 () const |
OUString const & | getLanguage () const |
OUString const & | getScript () const |
OUString const & | getCountry () const |
OUString | getRegion () const |
OUString const & | getVariants () const |
bool | hasScript () const |
OUString const & | getGlibcLocaleString () const |
void | setScriptType (LanguageTag::ScriptType st) |
LanguageTag::ScriptType | getScriptType () const |
bool | isIsoLocale () const |
bool | isIsoODF () const |
bool | isValidBcp47 () const |
void | convertLocaleToBcp47 () |
bool | convertLocaleToLang (bool bAllowOnTheFlyID) |
void | convertBcp47ToLocale () |
void | convertBcp47ToLang () |
void | convertLangToLocale () |
void | convertLangToBcp47 () |
bool | canonicalize () |
bool | synCanonicalize () |
Canonicalize if not yet done and synchronize initialized conversions. More... | |
OUString | getLanguageFromLangtag () |
OUString | getScriptFromLangtag () |
OUString | getRegionFromLangtag () |
OUString | getVariantsFromLangtag () |
LanguageTag::ImplPtr | registerOnTheFly (LanguageType nRegisterID) |
Generates on-the-fly LangID and registers the maBcp47,mnLangID pair. More... | |
bool | cacheSimpleLSCV () |
Obtain Language, Script, Country and Variants via simpleExtract() and assign them to the cached variables if successful. More... | |
Static Private Member Functions | |
static Extraction | simpleExtract (const OUString &rBcp47, OUString &rLanguage, OUString &rScript, OUString &rCountry, OUString &rRegion, OUString &rVariants) |
Of a language tag of the form lll[-Ssss][-CC][-vvvvvvvv] extract the portions. More... | |
static OUString | convertToBcp47 (const css::lang::Locale &rLocale) |
Convert Locale to BCP 47 string without resolving system and creating temporary LanguageTag instances. More... | |
Private Attributes | |
css::lang::Locale | maLocale |
OUString | maBcp47 |
OUString | maCachedLanguage |
cache getLanguage() More... | |
OUString | maCachedScript |
cache getScript() More... | |
OUString | maCachedCountry |
cache getCountry() More... | |
OUString | maCachedVariants |
cache getVariants() More... | |
OUString | maCachedGlibcString |
cache getGlibcLocaleString() More... | |
lt_tag_t * | mpImplLangtag |
liblangtag pointer More... | |
LanguageType | mnLangID |
LanguageTag::ScriptType | meScriptType |
Decision | meIsValid |
Decision | meIsIsoLocale |
Decision | meIsIsoODF |
Decision | meIsLiblangtagNeeded |
whether processing with liblangtag needed More... | |
bool | mbSystemLocale: 1 |
bool | mbInitializedBcp47: 1 |
bool | mbInitializedLocale: 1 |
bool | mbInitializedLangID: 1 |
bool | mbCachedLanguage: 1 |
bool | mbCachedScript: 1 |
bool | mbCachedCountry: 1 |
bool | mbCachedVariants: 1 |
bool | mbCachedGlibcString: 1 |
Friends | |
class | LanguageTag |
Definition at line 258 of file languagetag.cxx.
|
private |
Enumerator | |
---|---|
DECISION_DONTKNOW | |
DECISION_NO | |
DECISION_YES |
Definition at line 271 of file languagetag.cxx.
|
private |
Enumerator | |
---|---|
EXTRACTED_NONE | |
EXTRACTED_LSC | |
EXTRACTED_LV | |
EXTRACTED_LR | |
EXTRACTED_C_LOCALE | |
EXTRACTED_X | |
EXTRACTED_X_JOKER | |
EXTRACTED_KNOWN_BAD |
Definition at line 358 of file languagetag.cxx.
|
explicit |
Definition at line 399 of file languagetag.cxx.
References UNKNOWN.
|
explicit |
Definition at line 423 of file languagetag.cxx.
References mpImplLangtag.
LanguageTagImpl::~LanguageTagImpl | ( | ) |
Definition at line 492 of file languagetag.cxx.
References mpImplLangtag.
|
private |
Obtain Language, Script, Country and Variants via simpleExtract() and assign them to the cached variables if successful.
Definition at line 2042 of file languagetag.cxx.
References EXTRACTED_LR, EXTRACTED_LSC, EXTRACTED_LV, maBcp47, maCachedCountry, maCachedLanguage, maCachedScript, maCachedVariants, mbCachedCountry, mbCachedLanguage, mbCachedScript, mbCachedVariants, and simpleExtract().
Referenced by getLanguageFromLangtag(), getRegionFromLangtag(), getScriptFromLangtag(), and getVariantsFromLangtag().
|
private |
Definition at line 1086 of file languagetag.cxx.
References aBuf, aStr, convertLangToLocale(), convertLocaleToLang(), convertToBcp47(), DECISION_DONTKNOW, DECISION_NO, DECISION_YES, EXTRACTED_C_LOCALE, EXTRACTED_LR, EXTRACTED_LSC, EXTRACTED_LV, EXTRACTED_NONE, getBcp47(), getKnowns(), MsLangId::Conversion::getOverride(), MsLangId::getRealLanguage(), I18NLANGTAG_QLT, LANGUAGE_DONTKNOW, LANGUAGE_SYSTEM, lt_tag_parse_disabled, maBcp47, maLocale, mbInitializedLangID, mbInitializedLocale, mbSystemLocale, meIsIsoLocale, meIsIsoODF, meIsLiblangtagNeeded, meIsValid, mnLangID, mpImplLangtag, NULL, OUStringToOString(), SAL_INFO, SAL_WARN, SAL_WARN_IF, and simpleExtract().
Referenced by LanguageTag::LanguageTag(), and synCanonicalize().
|
private |
Definition at line 1477 of file languagetag.cxx.
References convertBcp47ToLocale(), convertLocaleToLang(), MsLangId::getRealLanguage(), LANGUAGE_SYSTEM, mbInitializedLangID, mbInitializedLocale, mbSystemLocale, and mnLangID.
Referenced by LanguageTag::convertBcp47ToLang(), and synCanonicalize().
|
private |
Definition at line 1451 of file languagetag.cxx.
References getCountry(), getLanguageFromLangtag(), getRegionFromLangtag(), I18NLANGTAG_QLT, isIsoLocale(), maBcp47, maLocale, and mbInitializedLocale.
Referenced by convertBcp47ToLang(), LanguageTag::convertBcp47ToLocale(), and synCanonicalize().
|
private |
Definition at line 1520 of file languagetag.cxx.
References convertLangToLocale(), convertLocaleToBcp47(), mbInitializedBcp47, and mbInitializedLocale.
Referenced by getBcp47().
|
private |
Definition at line 1500 of file languagetag.cxx.
References MsLangId::Conversion::convertLanguageToLocale(), MsLangId::getRealLanguage(), LANGUAGE_SYSTEM, maLocale, mbInitializedLangID, mbInitializedLocale, mbSystemLocale, and mnLangID.
Referenced by canonicalize(), convertLangToBcp47(), LanguageTag::convertLangToLocale(), convertLocaleToBcp47(), and convertLocaleToLang().
|
private |
Definition at line 1353 of file languagetag.cxx.
References convertLangToLocale(), MsLangId::Conversion::convertLanguageToLocale(), LanguageTag::convertToBcp47(), DECISION_NO, I18NLANGTAG_QLT, LANGUAGE_SYSTEM, maBcp47, maLocale, mbInitializedBcp47, mbInitializedLocale, mbSystemLocale, and meIsIsoLocale.
Referenced by convertLangToBcp47(), convertLocaleToLang(), and getBcp47().
|
private |
Definition at line 1383 of file languagetag.cxx.
References MsLangId::Conversion::convertIsoNamesToLanguage(), convertLangToLocale(), convertLocaleToBcp47(), MsLangId::Conversion::convertLocaleToLanguage(), getCountry(), getLanguage(), MsLangId::getPrimaryLanguage(), MsLangId::getRealLanguage(), isIsoODF(), isValidBcp47(), LANGUAGE_DONTKNOW, LANGUAGE_SYSTEM, MsLangId::Conversion::lookupFallbackLocale(), maBcp47, maLocale, mbInitializedLangID, mbSystemLocale, mnLangID, registerOnTheFly(), and SAL_WARN.
Referenced by canonicalize(), convertBcp47ToLang(), and LanguageTag::convertLocaleToLang().
|
staticprivate |
Convert Locale to BCP 47 string without resolving system and creating temporary LanguageTag instances.
Definition at line 2831 of file languagetag.cxx.
References I18NLANGTAG_QLT.
Referenced by canonicalize(), LanguageTag::convertToBcp47(), LanguageTag::registerImpl(), and registerOnTheFly().
|
private |
Definition at line 1569 of file languagetag.cxx.
References convertLangToBcp47(), convertLocaleToBcp47(), maBcp47, mbInitializedBcp47, and mbInitializedLocale.
Referenced by canonicalize(), and LanguageTag::getBcp47().
|
private |
Definition at line 1904 of file languagetag.cxx.
References getRegionFromLangtag(), LanguageTag::isIsoCountry(), maCachedCountry, and mbCachedCountry.
Referenced by convertBcp47ToLocale(), convertLocaleToLang(), and LanguageTag::getCountry().
|
private |
Definition at line 1955 of file languagetag.cxx.
References DECISION_YES, maCachedGlibcString, mbCachedGlibcString, meIsLiblangtagNeeded, mpImplLangtag, and synCanonicalize().
Referenced by LanguageTag::getGlibcLocaleString().
|
private |
Definition at line 1848 of file languagetag.cxx.
References getLanguageFromLangtag(), maCachedLanguage, and mbCachedLanguage.
Referenced by convertLocaleToLang(), LanguageTag::getLanguage(), isIsoLocale(), and isIsoODF().
|
private |
Definition at line 1599 of file languagetag.cxx.
References cacheSimpleLSCV(), maBcp47, maCachedLanguage, mbCachedLanguage, mpImplLangtag, SAL_WARN_IF, and synCanonicalize().
Referenced by convertBcp47ToLocale(), and getLanguage().
|
private |
Definition at line 1928 of file languagetag.cxx.
References getRegionFromLangtag().
Referenced by isIsoLocale(), and isIsoODF().
|
private |
Definition at line 1653 of file languagetag.cxx.
References cacheSimpleLSCV(), maBcp47, maCachedCountry, mbCachedCountry, mpImplLangtag, SAL_WARN_IF, and synCanonicalize().
Referenced by convertBcp47ToLocale(), getCountry(), and getRegion().
|
private |
Definition at line 1870 of file languagetag.cxx.
References getScriptFromLangtag(), maCachedScript, and mbCachedScript.
Referenced by LanguageTag::getScript(), hasScript(), and isIsoODF().
|
private |
Definition at line 1627 of file languagetag.cxx.
References cacheSimpleLSCV(), maBcp47, maCachedScript, mbCachedScript, mpImplLangtag, SAL_WARN_IF, and synCanonicalize().
Referenced by getScript().
|
private |
Definition at line 2017 of file languagetag.cxx.
References meScriptType.
Referenced by LanguageTag::getScriptType().
|
private |
Definition at line 1934 of file languagetag.cxx.
References getVariantsFromLangtag(), maCachedVariants, and mbCachedVariants.
Referenced by LanguageTag::getVariants(), and isIsoODF().
|
private |
Definition at line 1687 of file languagetag.cxx.
References cacheSimpleLSCV(), maBcp47, maCachedVariants, mbCachedVariants, mpImplLangtag, p, pE, and synCanonicalize().
Referenced by getVariants().
|
private |
Definition at line 2001 of file languagetag.cxx.
References getScript(), maCachedScript, and mbCachedScript.
Referenced by LanguageTag::hasScript().
|
private |
Definition at line 2059 of file languagetag.cxx.
References DECISION_DONTKNOW, DECISION_NO, DECISION_YES, getLanguage(), getRegion(), LanguageTag::isIsoCountry(), LanguageTag::isIsoLanguage(), maBcp47, meIsIsoLocale, and synCanonicalize().
Referenced by convertBcp47ToLocale(), LanguageTag::isIsoLocale(), and isIsoODF().
|
private |
Definition at line 2082 of file languagetag.cxx.
References DECISION_DONTKNOW, DECISION_NO, DECISION_YES, getLanguage(), getRegion(), getScript(), getVariants(), LanguageTag::isIsoCountry(), LanguageTag::isIsoLanguage(), isIsoLocale(), LanguageTag::isIsoScript(), maBcp47, meIsIsoODF, and synCanonicalize().
Referenced by convertLocaleToLang(), and LanguageTag::isIsoODF().
|
private |
Definition at line 2117 of file languagetag.cxx.
References DECISION_DONTKNOW, DECISION_YES, meIsValid, SAL_WARN_IF, and synCanonicalize().
Referenced by convertLocaleToLang(), and LanguageTag::isValidBcp47().
LanguageTagImpl & LanguageTagImpl::operator= | ( | const LanguageTagImpl & | rLanguageTagImpl | ) |
Definition at line 455 of file languagetag.cxx.
References maBcp47, maCachedCountry, maCachedGlibcString, maCachedLanguage, maCachedScript, maCachedVariants, maLocale, mbCachedCountry, mbCachedGlibcString, mbCachedLanguage, mbCachedScript, mbCachedVariants, mbInitializedBcp47, mbInitializedLangID, mbInitializedLocale, mbSystemLocale, meIsIsoLocale, meIsIsoODF, meIsLiblangtagNeeded, meIsValid, meScriptType, mnLangID, and mpImplLangtag.
|
private |
Generates on-the-fly LangID and registers the maBcp47,mnLangID pair.
nRegisterID | If not 0 and not LANGUAGE_DONTKNOW, suggest (!) to use that ID instead of generating an on-the-fly ID. Implementation may still generate an ID if the suggested ID is already used for another language tag. |
Definition at line 600 of file languagetag.cxx.
References convertToBcp47(), getNextOnTheFlyLanguage(), LANGUAGE_DONTKNOW, maBcp47, maLocale, mbInitializedBcp47, mbInitializedLangID, mbInitializedLocale, mnLangID, SAL_INFO, and SAL_WARN.
Referenced by convertLocaleToLang().
|
private |
Definition at line 2029 of file languagetag.cxx.
References meScriptType, and LanguageTag::UNKNOWN.
Referenced by LanguageTag::setScriptType().
|
staticprivate |
Of a language tag of the form lll[-Ssss][-CC][-vvvvvvvv] extract the portions.
Does not check case or content!
Definition at line 2447 of file languagetag.cxx.
References EXTRACTED_C_LOCALE, EXTRACTED_KNOWN_BAD, EXTRACTED_LR, EXTRACTED_LSC, EXTRACTED_LV, EXTRACTED_NONE, EXTRACTED_X, EXTRACTED_X_JOKER, and SAL_INFO.
Referenced by cacheSimpleLSCV(), and canonicalize().
|
private |
Canonicalize if not yet done and synchronize initialized conversions.
Definition at line 1286 of file languagetag.cxx.
References canonicalize(), convertBcp47ToLang(), convertBcp47ToLocale(), DECISION_NO, mbInitializedLangID, mbInitializedLocale, meIsLiblangtagNeeded, and mpImplLangtag.
Referenced by getGlibcLocaleString(), getLanguageFromLangtag(), getRegionFromLangtag(), getScriptFromLangtag(), getVariantsFromLangtag(), isIsoLocale(), isIsoODF(), isValidBcp47(), and LanguageTag::synCanonicalize().
|
friend |
Definition at line 269 of file languagetag.cxx.
|
mutableprivate |
Definition at line 279 of file languagetag.cxx.
Referenced by cacheSimpleLSCV(), canonicalize(), convertBcp47ToLocale(), convertLocaleToBcp47(), convertLocaleToLang(), getBcp47(), getLanguageFromLangtag(), getRegionFromLangtag(), getScriptFromLangtag(), getVariantsFromLangtag(), isIsoLocale(), isIsoODF(), operator=(), registerOnTheFly(), LanguageTag::syncFromImpl(), and LanguageTag::syncVarsFromRawImpl().
|
mutableprivate |
cache getCountry()
Definition at line 282 of file languagetag.cxx.
Referenced by cacheSimpleLSCV(), getCountry(), LanguageTag::getCountry(), getRegionFromLangtag(), and operator=().
|
mutableprivate |
cache getGlibcLocaleString()
Definition at line 284 of file languagetag.cxx.
Referenced by getGlibcLocaleString(), and operator=().
|
mutableprivate |
cache getLanguage()
Definition at line 280 of file languagetag.cxx.
Referenced by cacheSimpleLSCV(), getLanguage(), LanguageTag::getLanguage(), getLanguageFromLangtag(), and operator=().
|
mutableprivate |
cache getScript()
Definition at line 281 of file languagetag.cxx.
Referenced by cacheSimpleLSCV(), getScript(), LanguageTag::getScript(), getScriptFromLangtag(), hasScript(), and operator=().
|
mutableprivate |
cache getVariants()
Definition at line 283 of file languagetag.cxx.
Referenced by cacheSimpleLSCV(), getVariants(), LanguageTag::getVariants(), getVariantsFromLangtag(), and operator=().
|
mutableprivate |
Definition at line 278 of file languagetag.cxx.
Referenced by canonicalize(), convertBcp47ToLocale(), convertLangToLocale(), convertLocaleToBcp47(), convertLocaleToLang(), operator=(), registerOnTheFly(), and LanguageTag::syncVarsFromRawImpl().
|
mutableprivate |
Definition at line 298 of file languagetag.cxx.
Referenced by cacheSimpleLSCV(), getCountry(), LanguageTag::getCountry(), getRegionFromLangtag(), and operator=().
|
mutableprivate |
Definition at line 300 of file languagetag.cxx.
Referenced by getGlibcLocaleString(), and operator=().
|
mutableprivate |
Definition at line 296 of file languagetag.cxx.
Referenced by cacheSimpleLSCV(), getLanguage(), LanguageTag::getLanguage(), getLanguageFromLangtag(), and operator=().
|
mutableprivate |
Definition at line 297 of file languagetag.cxx.
Referenced by cacheSimpleLSCV(), getScript(), LanguageTag::getScript(), getScriptFromLangtag(), hasScript(), and operator=().
|
mutableprivate |
Definition at line 299 of file languagetag.cxx.
Referenced by cacheSimpleLSCV(), getVariants(), LanguageTag::getVariants(), getVariantsFromLangtag(), and operator=().
|
mutableprivate |
Definition at line 293 of file languagetag.cxx.
Referenced by convertLangToBcp47(), convertLocaleToBcp47(), getBcp47(), operator=(), registerOnTheFly(), and LanguageTag::syncVarsFromRawImpl().
|
mutableprivate |
Definition at line 295 of file languagetag.cxx.
Referenced by canonicalize(), convertBcp47ToLang(), convertLangToLocale(), convertLocaleToLang(), operator=(), registerOnTheFly(), synCanonicalize(), and LanguageTag::syncVarsFromRawImpl().
|
mutableprivate |
Definition at line 294 of file languagetag.cxx.
Referenced by canonicalize(), convertBcp47ToLang(), convertBcp47ToLocale(), convertLangToBcp47(), convertLangToLocale(), convertLocaleToBcp47(), getBcp47(), operator=(), registerOnTheFly(), synCanonicalize(), and LanguageTag::syncVarsFromRawImpl().
|
private |
Definition at line 292 of file languagetag.cxx.
Referenced by canonicalize(), convertBcp47ToLang(), convertLangToLocale(), convertLocaleToBcp47(), convertLocaleToLang(), LanguageTag::isSystemLocale(), and operator=().
|
mutableprivate |
Definition at line 289 of file languagetag.cxx.
Referenced by canonicalize(), convertLocaleToBcp47(), isIsoLocale(), and operator=().
|
mutableprivate |
Definition at line 290 of file languagetag.cxx.
Referenced by canonicalize(), isIsoODF(), and operator=().
|
mutableprivate |
whether processing with liblangtag needed
Definition at line 291 of file languagetag.cxx.
Referenced by canonicalize(), getGlibcLocaleString(), operator=(), and synCanonicalize().
|
mutableprivate |
Definition at line 288 of file languagetag.cxx.
Referenced by canonicalize(), isValidBcp47(), and operator=().
|
mutableprivate |
Definition at line 287 of file languagetag.cxx.
Referenced by getScriptType(), operator=(), and setScriptType().
|
mutableprivate |
Definition at line 286 of file languagetag.cxx.
Referenced by canonicalize(), convertBcp47ToLang(), convertLangToLocale(), convertLocaleToLang(), operator=(), registerOnTheFly(), LanguageTag::syncFromImpl(), and LanguageTag::syncVarsFromRawImpl().
|
mutableprivate |
liblangtag pointer
Definition at line 285 of file languagetag.cxx.
Referenced by canonicalize(), getGlibcLocaleString(), getLanguageFromLangtag(), getRegionFromLangtag(), getScriptFromLangtag(), getVariantsFromLangtag(), LanguageTagImpl(), operator=(), synCanonicalize(), and ~LanguageTagImpl().