LibreOffice Module i18nlangtag (master) 1
mslangid.cxx
Go to the documentation of this file.
1/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2/*
3 * This file is part of the LibreOffice project.
4 *
5 * This Source Code Form is subject to the terms of the Mozilla Public
6 * License, v. 2.0. If a copy of the MPL was not distributed with this
7 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
8 *
9 * This file incorporates work covered by the following license notice:
10 *
11 * Licensed to the Apache Software Foundation (ASF) under one or more
12 * contributor license agreements. See the NOTICE file distributed
13 * with this work for additional information regarding copyright
14 * ownership. The ASF licenses this file to you under the Apache
15 * License, Version 2.0 (the "License"); you may not use this file
16 * except in compliance with the License. You may obtain a copy of
17 * the License at http://www.apache.org/licenses/LICENSE-2.0 .
18 */
19
20#include <sal/config.h>
21#include <sal/log.hxx>
22#include <rtl/ustring.hxx>
23#include <com/sun/star/i18n/ScriptType.hpp>
24
26
27// Only very limited few functions that are guaranteed to not be called from
28// LanguageTag may use LanguageTag ...
30
31
34
38
39// static
41{
43}
44
45
46// static
48{
50}
51
52// static
54{
56}
57
58// static
60{
62}
63
64// static
66{
68}
69
70// static
72{
76 nLang = LANGUAGE_SYSTEM;
77 return nLang;
78}
79
80// static
82{
83 LanguageType simplifyLang = simplifySystemLanguages( nLang);
84 if (simplifyLang == LANGUAGE_SYSTEM )
86 else if (simplifyLang == LANGUAGE_HID_HUMAN_INTERFACE_DEVICE)
88 else
89 {
90 /* TODO: would this be useful here? */
91 //nLang = MsLangId::getReplacementForObsoleteLanguage( nLang);
92 ; // nothing
93 }
94 if (nLang == LANGUAGE_DONTKNOW)
95 nLang = LANGUAGE_ENGLISH_US;
96 return nLang;
97}
98
99
100// static
102{
105 SAL_WARN("i18nlangtag", "MsLangId::getConfiguredSystemLanguage() - not configured yet");
106 return getSystemLanguage();
107}
108
109
110// static
112{
115 SAL_WARN("i18nlangtag", "MsLangId::getConfiguredSystemUILanguage() - not configured yet");
116 return getSystemUILanguage();
117}
118
119
120// static
122{
124}
125
126
127// static
129{
131}
132
133
134// static
136{
137 if (nLang == LANGUAGE_NONE)
138 return nLang;
139
140 nLang = getRealLanguage(nLang);
141 if (nType != css::i18n::ScriptType::WEAK && getScriptType(nLang) != nType)
142 {
143 switch(nType)
144 {
145 case css::i18n::ScriptType::ASIAN:
148 else
150 break;
151 case css::i18n::ScriptType::COMPLEX:
153 nLang = LANGUAGE_HINDI;
154 else
156 break;
157 default:
159 nLang = LANGUAGE_ENGLISH_US;
160 else
162 break;
163 }
164 }
165 return nLang;
166}
167
168// static
170{
171 if (primary(nLang).anyOf(
184 || isCJK(nLang))
185 {
186 return false;
187 }
188 return true;
189}
190
191
192// static
194 LanguageType nLang, bool bIgnoreOverride )
195{
196 css::lang::Locale aLocale;
197 // Still resolve LANGUAGE_DONTKNOW if resolving is not requested,
198 // but not LANGUAGE_SYSTEM or others.
199 LanguageType nOrigLang = nLang;
200 nLang = MsLangId::getRealLanguage(nLang);
201 convertLanguageToLocaleImpl( nLang, aLocale, bIgnoreOverride );
202 if (aLocale.Language.isEmpty() && simplifySystemLanguages(nOrigLang) == LANGUAGE_SYSTEM)
203 {
204 // None found but resolve requested, last resort is "en-US".
205 aLocale.Language = "en";
206 aLocale.Country = "US";
207 aLocale.Variant.clear();
208 }
209 return aLocale;
210}
211
212
213// static
215 const css::lang::Locale& rLocale )
216{
217 // empty language => LANGUAGE_SYSTEM
218 if (rLocale.Language.isEmpty())
219 return LANGUAGE_SYSTEM;
220
221 return convertLocaleToLanguageImpl( rLocale);
222}
223
224
225// static
227 const css::lang::Locale & rLocale )
228{
229 // empty language => LANGUAGE_SYSTEM
230 if (rLocale.Language.isEmpty())
232 else
233 return Conversion::lookupFallbackLocale( rLocale);
234}
235
236// static
238{
239 if (primary(nLang).anyOf(
251 {
252 return true;
253 }
254 if (nLang.anyOf(
265 {
266 return true;
267 }
268 if (LanguageTag::isOnTheFlyID(nLang))
270 return false;
271}
272
273// static
275{
276 //http://www.w3.org/TR/arabic-math/
277 if (nLang == LANGUAGE_FARSI || nLang == LANGUAGE_ARABIC_MOROCCO)
278 return false;
279 return isRightToLeft(nLang);
280}
281
282// static
284{
285 return isChinese(nLang) && !isTraditionalChinese(nLang);
286}
287
288// static
289bool MsLangId::isSimplifiedChinese( const css::lang::Locale & rLocale )
290{
291 return rLocale.Language == "zh" && !isTraditionalChinese(rLocale);
292}
293
294// static
296{
297 return nLang.anyOf(
301}
302
303// static
304bool MsLangId::isTraditionalChinese( const css::lang::Locale & rLocale )
305{
306 return rLocale.Language == "zh" && (rLocale.Country == "TW" || rLocale.Country == "HK" || rLocale.Country == "MO");
307}
308
309//static
311{
314}
315
316//static
318{
320}
321
322// static
324{
325 if (primary(nLang).anyOf(
330 {
331 return true;
332 }
333 if (LanguageTag::isOnTheFlyID(nLang))
335 return false;
336}
337
338// static
340{
341 return isCJK(nLang) || nLang == LANGUAGE_HUNGARIAN;
342}
343
344// static
346{
347 return isCJK(nLang);
348}
349
350
351// static
353{
354 return primary(nLang).anyOf(
359 || nLang.anyOf(
361}
362
363
364// static
366{
367 sal_Int16 nScript;
368
369 // CTL
370 if( nLang.anyOf(
388 {
389 nScript = css::i18n::ScriptType::COMPLEX;
390 }
391 // "Western"
392 else if (nLang.anyOf(
397 {
398 nScript = css::i18n::ScriptType::LATIN;
399 }
400 // CJK catcher
401 else if ( primary(nLang).anyOf(
406 ))
407 {
408 nScript = css::i18n::ScriptType::ASIAN;
409 }
410 // CTL catcher
411 else if (primary(nLang).anyOf(
440 primary(LANGUAGE_TIBETAN ), // also LANGUAGE_DZONGKHA
451 {
452 nScript = css::i18n::ScriptType::COMPLEX;
453 }
454 // Western (actually not necessarily Latin but also Cyrillic,
455 // for example)
456 else if (LanguageTag::isOnTheFlyID(nLang))
457 {
459 {
461 nScript = css::i18n::ScriptType::ASIAN;
462 break;
465 nScript = css::i18n::ScriptType::COMPLEX;
466 break;
469 default:
470 nScript = css::i18n::ScriptType::LATIN;
471 break;
472 }
473 }
474 else
475 {
476 nScript = css::i18n::ScriptType::LATIN;
477 }
478 return nScript;
479}
480
481
482// static
484{
485 if (nLang.anyOf(
505 {
506 return true;
507 }
508 if (getScriptType( nLang) != css::i18n::ScriptType::LATIN)
509 return false;
510 LanguageTag aLanguageTag( nLang);
511 if (aLanguageTag.hasScript())
512 return aLanguageTag.getScript() != "Latn";
513 return false;
514}
515
516
517// static
519{
520 return nLang.anyOf(
523 /* TODO: activate once dictionary was renamed from pap-AN to
524 * pap-CW, or the pap-CW one supports also pap-AN, see fdo#44112 */
525 //case LANGUAGE_PAPIAMENTU:
526}
527
528
529// static
531{
532 if (nLang == LANGUAGE_OBSOLETE_USER_LATIN)
533 nLang = LANGUAGE_LATIN;
534 else if (nLang == LANGUAGE_OBSOLETE_USER_LATIN_VATICAN)
535 nLang = LANGUAGE_LATIN;
536 else if (nLang == LANGUAGE_OBSOLETE_USER_MAORI)
538 else if (nLang == LANGUAGE_OBSOLETE_USER_KINYARWANDA)
540 else if (nLang == LANGUAGE_OBSOLETE_USER_UPPER_SORBIAN)
542 else if (nLang == LANGUAGE_OBSOLETE_USER_LOWER_SORBIAN)
544 else if (nLang == LANGUAGE_OBSOLETE_USER_OCCITAN)
546 else if (nLang == LANGUAGE_OBSOLETE_USER_BRETON)
548 else if (nLang == LANGUAGE_OBSOLETE_USER_KALAALLISUT)
550 else if (nLang == LANGUAGE_OBSOLETE_USER_LUXEMBOURGISH)
552 else if (nLang == LANGUAGE_OBSOLETE_USER_KABYLE)
558 else if (nLang == LANGUAGE_GAELIC_SCOTLAND_LEGACY)
570 else if (nLang == LANGUAGE_OBSOLETE_USER_KURDISH_IRAQ)
572 else if (nLang == LANGUAGE_OBSOLETE_USER_SPANISH_CUBA)
573 nLang = LANGUAGE_SPANISH_CUBA;
576
577 // The following are not strictly obsolete but should be mapped to a
578 // replacement locale when encountered.
579
580 // no_NO is an alias for nb_NO
581 else if (nLang == LANGUAGE_NORWEGIAN)
583
584 // The erroneous Tibetan vs. Dzongkha case, #i53497#
585 // We (and MS) have stored LANGUAGE_TIBETAN_BHUTAN. This will need
586 // special attention if MS one day decides to actually use
587 // LANGUAGE_TIBETAN_BHUTAN for bo-BT instead of having it reserved;
588 // then remove the mapping and hope every dz-BT user used ODF to store
589 // documents ;-)
590 else if (nLang == LANGUAGE_TIBETAN_BHUTAN)
592
593 // en-GB-oed is deprecated, use en-GB-oxendict instead.
594 else if (nLang == LANGUAGE_USER_ENGLISH_UK_OED)
596 return nLang;
597}
598
599/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
Wrapper for liblangtag BCP 47 language tags, MS-LangIDs, locales and conversions in between.
Definition: languagetag.hxx:53
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.
Definition: mslangid.cxx:193
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...
Definition: mslangid.cxx:214
static I18NLANGTAG_DLLPRIVATE css::lang::Locale lookupFallbackLocale(const css::lang::Locale &rLocale)
Definition: isolang.cxx:1107
static I18NLANGTAG_DLLPRIVATE void setConfiguredSystemLanguage(LanguageType nLang)
Configured system locale needs always be synchronized with LanguageTag's system locale.
Definition: mslangid.cxx:40
static LanguageType getConfiguredSystemUILanguage()
Get the configured system UI language/locale.
Definition: mslangid.cxx:111
static bool usesHyphenation(LanguageType nLang)
Whether the language uses hyphenation.
Definition: mslangid.cxx:169
static bool isLegacy(LanguageType nLang)
Whether locale is legacy, i.e.
Definition: mslangid.cxx:518
static bool isRightToLeftMath(LanguageType nLang)
Whether locale has a Right-To-Left orientation for math.
Definition: mslangid.cxx:274
static void setConfiguredComplexFallback(LanguageType nLang)
Definition: mslangid.cxx:65
static LanguageType getPrimaryLanguage(LanguageType nLangID)
Get the primary language of a LangID.
Definition: mslangid.hxx:50
static bool needsSequenceChecking(LanguageType nLang)
Whether locale needs input sequence checking.
Definition: mslangid.cxx:352
static void setConfiguredSystemUILanguage(LanguageType nLang)
@ATTENTION: these are ONLY to be called by the application's configuration!
Definition: mslangid.cxx:47
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...
Definition: mslangid.cxx:226
static bool isFamilyNameFirst(LanguageType nLang)
Whether locale is one where family name comes first, e.g.
Definition: mslangid.cxx:339
static bool isChinese(LanguageType nLang)
Whether locale is a chinese locale.
Definition: mslangid.cxx:310
static LanguageType nConfiguredSystemUILanguage
Definition: mslangid.hxx:323
static LanguageType resolveSystemLanguageByScriptType(LanguageType nLang, sal_Int16 nType)
Definition: mslangid.cxx:135
static bool isKorean(LanguageType nLang)
Whether locale is a korean locale.
Definition: mslangid.cxx:317
static bool isTraditionalChinese(LanguageType nLang)
Whether locale is a traditional chinese locale.
Definition: mslangid.cxx:295
static LanguageType nConfiguredComplexFallback
Definition: mslangid.hxx:327
static LanguageType getPlatformSystemLanguage()
Definition: inunx.cxx:149
static bool isNonLatinWestern(LanguageType nLang)
Whether locale is "Western" but not Latin script, e.g.
Definition: mslangid.cxx:483
static void setConfiguredWesternFallback(LanguageType nLang)
Definition: mslangid.cxx:53
static LanguageType getPlatformSystemUILanguage()
Definition: inunx.cxx:156
static LanguageType nConfiguredWesternFallback
Definition: mslangid.hxx:325
static LanguageType nConfiguredSystemLanguage
Definition: mslangid.hxx:322
static LanguageType getConfiguredSystemLanguage()
Get the configured system language/locale.
Definition: mslangid.cxx:101
static void setConfiguredAsianFallback(LanguageType nLang)
Definition: mslangid.cxx:59
static LanguageType getSystemUILanguage()
Language/locale of category LC_MESSAGES (on Unix, else same as getSystemLanguage()).
Definition: mslangid.cxx:128
static LanguageType getReplacementForObsoleteLanguage(LanguageType nLang)
Map an obsolete user defined LANGID (see lang.h LANGUAGE_OBSOLETE_USER_...) to the new value defined ...
Definition: mslangid.cxx:530
static LanguageType getSystemLanguage()
Language/locale of category LC_CTYPE (on Unix, else the system language).
Definition: mslangid.cxx:121
static LanguageType getRealLanguage(LanguageType nLang)
: A proper language/locale if the nLang parameter designates some special value.
Definition: mslangid.cxx:81
static bool isCJK(LanguageType nLang)
Whether locale is a CJK locale.
Definition: mslangid.cxx:323
static bool isSimplifiedChinese(LanguageType nLang)
Whether locale is a simplified chinese locale.
Definition: mslangid.cxx:283
static LanguageType nConfiguredAsianFallback
Definition: mslangid.hxx:326
static bool isRightToLeft(LanguageType nLang)
Whether locale has a Right-To-Left orientation for text.
Definition: mslangid.cxx:237
static I18NLANGTAG_DLLPRIVATE LanguageType simplifySystemLanguages(LanguageType nLang)
Definition: mslangid.cxx:71
static sal_Int16 getScriptType(LanguageType nLang)
Get css::i18n::ScriptType of locale.
Definition: mslangid.cxx:365
static bool hasForbiddenCharacters(LanguageType nLang)
Whether there are "forbidden characters at start or end of line" in this locale.
Definition: mslangid.cxx:345
#define LANGUAGE_USER_KURDISH_TURKEY
Definition: lang.h:555
#define LANGUAGE_OBSOLETE_USER_OCCITAN
Definition: lang.h:551
#define LANGUAGE_OBSOLETE_USER_TSWANA_BOTSWANA
Definition: lang.h:572
#define LANGUAGE_SANSKRIT
Definition: lang.h:354
#define LANGUAGE_OBSOLETE_USER_KALAALLISUT
Definition: lang.h:568
#define LANGUAGE_UIGHUR_CHINA
Definition: lang.h:431
#define LANGUAGE_MANIPURI
Definition: lang.h:303
#define LANGUAGE_USER_ENGLISH_UK_OED
Definition: lang.h:711
#define LANGUAGE_KINYARWANDA_RWANDA
Definition: lang.h:283
#define LANGUAGE_SERBIAN_LATIN_SERBIA
Definition: lang.h:367
#define LANGUAGE_KURDISH_ARABIC_IRAQ
Definition: lang.h:288
#define LANGUAGE_YIDDISH
Definition: lang.h:446
#define LANGUAGE_SYSTEM
Definition: lang.h:104
#define LANGUAGE_ARABIC_PRIMARY_ONLY
Definition: lang.h:140
#define LANGUAGE_MONGOLIAN_MONGOLIAN_CHINA
Definition: lang.h:311
#define LANGUAGE_TAMAZIGHT_LATIN_ALGERIA
Definition: lang.h:411
#define LANGUAGE_USER_MALAY_ARABIC_BRUNEI
Definition: lang.h:753
#define LANGUAGE_MONGOLIAN_CYRILLIC_LSO
Definition: lang.h:309
#define LANGUAGE_MONGOLIAN_MONGOLIAN_MONGOLIA
Definition: lang.h:310
#define LANGUAGE_OBSOLETE_USER_LATIN_VATICAN
Definition: lang.h:538
#define LANGUAGE_CHINESE_TRADITIONAL
Definition: lang.h:176
#define LANGUAGE_OBSOLETE_USER_KABYLE
Definition: lang.h:650
#define LANGUAGE_SERBIAN_CYRILLIC_SAM
Definition: lang.h:358
#define LANGUAGE_HUNGARIAN
Definition: lang.h:260
#define LANGUAGE_ARABIC_MOROCCO
Definition: lang.h:138
#define LANGUAGE_TIBETAN
Definition: lang.h:421
#define LANGUAGE_THAI
Definition: lang.h:420
#define LANGUAGE_NONE
Definition: lang.h:102
#define LANGUAGE_PUNJABI
Definition: lang.h:328
#define LANGUAGE_BELARUSIAN
Definition: lang.h:155
#define LANGUAGE_OBSOLETE_USER_SERBIAN_CYRILLIC_MONTENEGRO
Definition: lang.h:610
#define LANGUAGE_GAELIC_SCOTLAND_LEGACY
Definition: lang.h:244
#define LANGUAGE_USER_ROHINGYA_HANIFI
Definition: lang.h:786
#define LANGUAGE_AZERI_CYRILLIC
Definition: lang.h:149
#define LANGUAGE_BENGALI
Definition: lang.h:156
#define LANGUAGE_PROCESS_OR_USER_DEFAULT
Definition: lang.h:485
#define LANGUAGE_SERBIAN_CYRILLIC_SERBIA
Definition: lang.h:361
#define LANGUAGE_NEPALI
Definition: lang.h:313
#define LANGUAGE_USER_KURDISH_IRAN
Definition: lang.h:559
#define LANGUAGE_SWAHILI
Definition: lang.h:403
#define LANGUAGE_LOWER_SORBIAN_GERMANY
Definition: lang.h:377
#define LANGUAGE_OBSOLETE_USER_BRETON
Definition: lang.h:566
#define LANGUAGE_USER_XIBE
Definition: lang.h:744
#define LANGUAGE_BOSNIAN_CYRILLIC_LSO
Definition: lang.h:158
#define LANGUAGE_DZONGKHA_BHUTAN
Definition: lang.h:423
#define LANGUAGE_USER_MALAY_ARABIC_MALAYSIA
Definition: lang.h:752
#define LANGUAGE_LATIN
Definition: lang.h:291
#define LANGUAGE_CHINESE
Definition: lang.h:179
#define LANGUAGE_USER_MANCHU
Definition: lang.h:743
#define LANGUAGE_KALAALLISUT_GREENLAND
Definition: lang.h:272
#define LANGUAGE_SYRIAC
Definition: lang.h:406
#define LANGUAGE_USER_PALI_THAI
Definition: lang.h:767
#define LANGUAGE_PASHTO
Definition: lang.h:324
#define LANGUAGE_SERBIAN_LATIN_MONTENEGRO
Definition: lang.h:365
#define LANGUAGE_LAO
Definition: lang.h:290
#define LANGUAGE_USER_KURDISH_SYRIA
Definition: lang.h:556
#define LANGUAGE_OBSOLETE_USER_LATIN
Definition: lang.h:536
#define LANGUAGE_TSWANA_BOTSWANA
Definition: lang.h:428
#define LANGUAGE_CHINESE_SIMPLIFIED
Definition: lang.h:174
#define LANGUAGE_ODIA
Definition: lang.h:321
#define LANGUAGE_TAMIL
Definition: lang.h:416
#define LANGUAGE_UZBEK_CYRILLIC_LSO
Definition: lang.h:436
#define LANGUAGE_OBSOLETE_USER_SERBIAN_LATIN_SERBIA
Definition: lang.h:608
#define LANGUAGE_USER_LIMBU
Definition: lang.h:648
#define LANGUAGE_JAPANESE
Definition: lang.h:271
#define LANGUAGE_OBSOLETE_USER_MALAGASY_PLATEAU
Definition: lang.h:637
#define LANGUAGE_OBSOLETE_USER_LOWER_SORBIAN
Definition: lang.h:549
#define LANGUAGE_SINHALESE_SRI_LANKA
Definition: lang.h:372
#define LANGUAGE_SPANISH_LATIN_AMERICA
Definition: lang.h:535
#define LANGUAGE_GREEK
Definition: lang.h:252
#define LANGUAGE_SERBIAN_CYRILLIC_MONTENEGRO
Definition: lang.h:360
#define LANGUAGE_GAELIC_SCOTLAND
Definition: lang.h:243
#define LANGUAGE_USER_KURDISH_SOUTHERN_IRAN
Definition: lang.h:561
#define LANGUAGE_OBSOLETE_USER_CATALAN_VALENCIAN
Definition: lang.h:588
#define LANGUAGE_RUSSIAN
Definition: lang.h:338
#define LANGUAGE_CHINESE_MACAU
Definition: lang.h:173
#define LANGUAGE_USER_BODO_INDIA
Definition: lang.h:615
#define LANGUAGE_MAORI_NEW_ZEALAND
Definition: lang.h:304
#define LANGUAGE_KOREAN
Definition: lang.h:286
#define LANGUAGE_SOMALI
Definition: lang.h:375
#define LANGUAGE_SERBIAN_CYRILLIC_LSO
Definition: lang.h:357
#define LANGUAGE_UZBEK_CYRILLIC
Definition: lang.h:435
#define LANGUAGE_OBSOLETE_USER_SPANISH_LATIN_AMERICA
Definition: lang.h:534
#define LANGUAGE_OBSOLETE_USER_KINYARWANDA
Definition: lang.h:544
#define LANGUAGE_USER_KYRGYZ_CHINA
Definition: lang.h:667
#define LANGUAGE_KONKANI
Definition: lang.h:285
#define LANGUAGE_OCCITAN_FRANCE
Definition: lang.h:320
#define LANGUAGE_BRETON_FRANCE
Definition: lang.h:164
#define LANGUAGE_OBSOLETE_USER_SPANISH_CUBA
Definition: lang.h:601
#define LANGUAGE_BURMESE
Definition: lang.h:166
#define LANGUAGE_BOSNIAN_CYRILLIC_BOSNIA_HERZEGOVINA
Definition: lang.h:159
#define LANGUAGE_DHIVEHI
Definition: lang.h:186
#define LANGUAGE_UPPER_SORBIAN_GERMANY
Definition: lang.h:376
#define LANGUAGE_ASSAMESE
Definition: lang.h:148
#define LANGUAGE_LUXEMBOURGISH_LUXEMBOURG
Definition: lang.h:296
#define LANGUAGE_UKRAINIAN
Definition: lang.h:432
#define LANGUAGE_SYSTEM_DEFAULT
Definition: lang.h:481
#define LANGUAGE_KHMER
Definition: lang.h:281
#define LANGUAGE_HID_HUMAN_INTERFACE_DEVICE
Definition: lang.h:103
#define LANGUAGE_USER_MAITHILI_INDIA
Definition: lang.h:617
#define LANGUAGE_USER_KURDISH_SOUTHERN_IRAQ
Definition: lang.h:560
#define LANGUAGE_VIETNAMESE
Definition: lang.h:440
#define LANGUAGE_CHINESE_HONGKONG
Definition: lang.h:171
#define LANGUAGE_ARABIC_SAUDI_ARABIA
Definition: lang.h:142
#define LANGUAGE_DONTKNOW
Definition: lang.h:101
#define LANGUAGE_OBSOLETE_USER_SERBIAN_CYRILLIC_SERBIA
Definition: lang.h:606
#define LANGUAGE_HEBREW
Definition: lang.h:258
#define LANGUAGE_USER_SARAIKI
Definition: lang.h:785
#define LANGUAGE_OBSOLETE_USER_LUXEMBOURGISH
Definition: lang.h:577
#define LANGUAGE_NORWEGIAN
Definition: lang.h:315
#define LANGUAGE_HINDI
Definition: lang.h:259
#define LANGUAGE_NORWEGIAN_BOKMAL
Definition: lang.h:316
#define LANGUAGE_OBSOLETE_USER_UPPER_SORBIAN
Definition: lang.h:547
#define LANGUAGE_USER_DOGRI_INDIA
Definition: lang.h:616
#define LANGUAGE_SINDHI
Definition: lang.h:369
#define LANGUAGE_USER_NKO
Definition: lang.h:705
#define LANGUAGE_YUE_CHINESE_HONGKONG
Definition: lang.h:448
#define LANGUAGE_KANNADA
Definition: lang.h:273
#define LANGUAGE_MARATHI
Definition: lang.h:306
#define LANGUAGE_MALAYALAM
Definition: lang.h:299
constexpr LanguageType primary(LanguageType lt)
Definition: lang.h:89
#define LANGUAGE_OBSOLETE_USER_KURDISH_IRAQ
Definition: lang.h:557
#define LANGUAGE_URDU_INDIA
Definition: lang.h:433
#define LANGUAGE_CATALAN_VALENCIAN
Definition: lang.h:168
#define LANGUAGE_BULGARIAN
Definition: lang.h:165
#define LANGUAGE_URDU_PAKISTAN
Definition: lang.h:434
#define LANGUAGE_KASHMIRI
Definition: lang.h:275
#define LANGUAGE_FARSI
Definition: lang.h:218
#define LANGUAGE_AMHARIC_ETHIOPIA
Definition: lang.h:129
#define LANGUAGE_USER_ENGLISH_UK_OXENDICT
Definition: lang.h:732
#define LANGUAGE_GUJARATI
Definition: lang.h:254
#define LANGUAGE_SERBIAN_LATIN_SAM
Definition: lang.h:363
#define LANGUAGE_SPANISH_CUBA
Definition: lang.h:386
#define LANGUAGE_MALAGASY_PLATEAU
Definition: lang.h:298
#define LANGUAGE_RUSSIAN_MOLDOVA
Definition: lang.h:339
#define LANGUAGE_TELUGU
Definition: lang.h:419
#define LANGUAGE_KURDISH_ARABIC_LSO
Definition: lang.h:289
#define LANGUAGE_MONGOLIAN_CYRILLIC_MONGOLIA
Definition: lang.h:308
#define LANGUAGE_ENGLISH_US
Definition: lang.h:213
#define LANGUAGE_TIGRIGNA_ETHIOPIA
Definition: lang.h:425
#define LANGUAGE_SERBIAN_CYRILLIC_BOSNIA_HERZEGOVINA
Definition: lang.h:359
#define LANGUAGE_OBSOLETE_USER_MAORI
Definition: lang.h:542
#define LANGUAGE_MONGOLIAN_MONGOLIAN_LSO
Definition: lang.h:312
#define LANGUAGE_TIBETAN_BHUTAN
Definition: lang.h:422
#define LANGUAGE_OBSOLETE_USER_SERBIAN_LATIN_MONTENEGRO
Definition: lang.h:612
#define LANGUAGE_USER_HUNGARIAN_ROVAS
Definition: lang.h:742
#define LANGUAGE_AZERI_CYRILLIC_LSO
Definition: lang.h:150
#define SAL_WARN(area, stream)
QPRO_FUNC_TYPE nType
bool anyOf(strong_int v) const