Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Loading...
Searching...
No Matches
numerus.cpp File Reference

(6d47929dfeb03c9abf1a41e4a18061050af31560)

#include "translator.h"
#include <QtCore/QByteArray>
#include <QtCore/QDebug>
#include <QtCore/QDir>
#include <QtCore/QFile>
#include <QtCore/QFileInfo>
#include <QtCore/QMap>
#include <private/qtranslator_p.h>
+ Include dependency graph for numerus.cpp:

Go to the source code of this file.

Classes

struct  NumerusTableEntry
 

Macros

#define EOL   QLocale::C
 

Functions

bool getNumerusInfo (QLocale::Language language, QLocale::Territory country, QByteArray *rules, QStringList *forms, const char **gettextRules)
 
QString getNumerusInfoString ()
 

Variables

static QT_BEGIN_NAMESPACE const uchar englishStyleRules []
 
static const uchar frenchStyleRules []
 
static const uchar latvianRules []
 
static const uchar icelandicRules []
 
static const uchar irishStyleRules []
 
static const uchar gaelicStyleRules []
 
static const uchar slovakStyleRules []
 
static const uchar macedonianRules []
 
static const uchar lithuanianRules []
 
static const uchar russianStyleRules []
 
static const uchar polishRules []
 
static const uchar romanianRules []
 
static const uchar slovenianRules []
 
static const uchar malteseRules []
 
static const uchar welshRules []
 
static const uchar arabicRules []
 
static const uchar tagalogRules []
 
static const char *const japaneseStyleForms [] = { "Universal Form", 0 }
 
static const char *const englishStyleForms [] = { "Singular", "Plural", 0 }
 
static const char *const frenchStyleForms [] = { "Singular", "Plural", 0 }
 
static const char *const icelandicForms [] = { "Singular", "Plural", 0 }
 
static const char *const latvianForms [] = { "Singular", "Plural", "Nullar", 0 }
 
static const char *const irishStyleForms [] = { "Singular", "Dual", "Plural", 0 }
 
static const char *const gaelicStyleForms [] = { "1/11", "2/12", "Few", "Many", 0 }
 
static const char *const slovakStyleForms [] = { "Singular", "Paucal", "Plural", 0 }
 
static const char *const macedonianForms [] = { "Singular", "Dual", "Plural", 0 }
 
static const char *const lithuanianForms [] = { "Singular", "Paucal", "Plural", 0 }
 
static const char *const russianStyleForms [] = { "Singular", "Dual", "Plural", 0 }
 
static const char *const polishForms [] = { "Singular", "Paucal", "Plural", 0 }
 
static const char *const romanianForms [] = { "Singular", "Paucal", "Plural", 0 }
 
static const char *const slovenianForms [] = { "Singular", "Dual", "Trial", "Plural", 0 }
 
static const char *const malteseForms []
 
static const char *const welshForms []
 
static const char *const arabicForms []
 
static const char *const tagalogForms []
 
static const QLocale::Language japaneseStyleLanguages []
 
static const QLocale::Language englishStyleLanguages []
 
static const QLocale::Language frenchStyleLanguages []
 
static const QLocale::Language latvianLanguage [] = { QLocale::Latvian, EOL }
 
static const QLocale::Language icelandicLanguage [] = { QLocale::Icelandic, EOL }
 
static const QLocale::Language irishStyleLanguages []
 
static const QLocale::Language gaelicStyleLanguages [] = { QLocale::Gaelic, EOL }
 
static const QLocale::Language slovakStyleLanguages [] = { QLocale::Slovak, QLocale::Czech, EOL }
 
static const QLocale::Language macedonianLanguage [] = { QLocale::Macedonian, EOL }
 
static const QLocale::Language lithuanianLanguage [] = { QLocale::Lithuanian, EOL }
 
static const QLocale::Language russianStyleLanguages []
 
static const QLocale::Language polishLanguage [] = { QLocale::Polish, EOL }
 
static const QLocale::Language romanianLanguages []
 
static const QLocale::Language slovenianLanguage [] = { QLocale::Slovenian, EOL }
 
static const QLocale::Language malteseLanguage [] = { QLocale::Maltese, EOL }
 
static const QLocale::Language welshLanguage [] = { QLocale::Welsh, EOL }
 
static const QLocale::Language arabicLanguage [] = { QLocale::Arabic, EOL }
 
static const QLocale::Language tagalogLanguage [] = { QLocale::Filipino, EOL }
 
static const QLocale::Territory frenchStyleCountries []
 
static const NumerusTableEntry numerusTable []
 
static const int NumerusTableSize = sizeof(numerusTable) / sizeof(numerusTable[0])
 

Macro Definition Documentation

◆ EOL

#define EOL   QLocale::C

Definition at line 99 of file numerus.cpp.

Function Documentation

◆ getNumerusInfo()

bool getNumerusInfo ( QLocale::Language language,
QLocale::Territory country,
QByteArray * rules,
QStringList * forms,
const char ** gettextRules )

◆ getNumerusInfoString()

QString getNumerusInfoString ( )

Definition at line 361 of file numerus.cpp.

References numerusTable, and NumerusTableSize.

Variable Documentation

◆ arabicForms

static const char *const arabicForms
static
Initial value:
=
{ "Nullar", "Singular", "Dual", "Minority Plural", "Plural", "Plural (100-102, ...)", 0 }

Definition at line 94 of file numerus.cpp.

◆ arabicLanguage

static const QLocale::Language arabicLanguage = { QLocale::Arabic, EOL }
static

Definition at line 266 of file numerus.cpp.

◆ arabicRules

static const uchar arabicRules
static
Initial value:
=
{ Q_EQ, 0, Q_NEWRULE,
Q_MOD_100 | Q_GEQ, 11 }
@ Q_NEWRULE
@ Q_MOD_100
@ Q_EQ
@ Q_BETWEEN
@ Q_GEQ

Definition at line 64 of file numerus.cpp.

◆ englishStyleForms

static const char *const englishStyleForms = { "Singular", "Plural", 0 }
static

Definition at line 75 of file numerus.cpp.

◆ englishStyleLanguages

static const QLocale::Language englishStyleLanguages
static

Definition at line 128 of file numerus.cpp.

◆ englishStyleRules

static QT_BEGIN_NAMESPACE const uchar englishStyleRules
static
Initial value:
=
{ Q_EQ, 1 }

Definition at line 17 of file numerus.cpp.

◆ frenchStyleCountries

◆ frenchStyleForms

static const char *const frenchStyleForms = { "Singular", "Plural", 0 }
static

Definition at line 76 of file numerus.cpp.

◆ frenchStyleLanguages

static const QLocale::Language frenchStyleLanguages
static
Initial value:

Definition at line 220 of file numerus.cpp.

◆ frenchStyleRules

static const uchar frenchStyleRules
static
Initial value:
=
{ Q_LEQ, 1 }
@ Q_LEQ

Definition at line 19 of file numerus.cpp.

◆ gaelicStyleForms

static const char *const gaelicStyleForms = { "1/11", "2/12", "Few", "Many", 0 }
static

Definition at line 82 of file numerus.cpp.

◆ gaelicStyleLanguages

static const QLocale::Language gaelicStyleLanguages = { QLocale::Gaelic, EOL }
static

Definition at line 245 of file numerus.cpp.

◆ gaelicStyleRules

static const uchar gaelicStyleRules
static
Initial value:
=
{ Q_EQ, 1, Q_OR, Q_EQ, 11, Q_NEWRULE,
Q_EQ, 2, Q_OR, Q_EQ, 12, Q_NEWRULE,
Q_BETWEEN, 3, 19 }
@ Q_OR

Definition at line 29 of file numerus.cpp.

◆ icelandicForms

static const char *const icelandicForms = { "Singular", "Plural", 0 }
static

Definition at line 77 of file numerus.cpp.

◆ icelandicLanguage

static const QLocale::Language icelandicLanguage = { QLocale::Icelandic, EOL }
static

Definition at line 232 of file numerus.cpp.

◆ icelandicRules

static const uchar icelandicRules
static
Initial value:
=
{ Q_MOD_10 | Q_EQ, 1, Q_AND, Q_MOD_100 | Q_NEQ, 11 }
@ Q_MOD_10
@ Q_AND
@ Q_NEQ

Definition at line 24 of file numerus.cpp.

◆ irishStyleForms

static const char *const irishStyleForms = { "Singular", "Dual", "Plural", 0 }
static

Definition at line 79 of file numerus.cpp.

◆ irishStyleLanguages

static const QLocale::Language irishStyleLanguages
static

◆ irishStyleRules

static const uchar irishStyleRules
static
Initial value:
=
{ Q_EQ, 1, Q_NEWRULE,
Q_EQ, 2 }

Definition at line 26 of file numerus.cpp.

◆ japaneseStyleForms

static const char *const japaneseStyleForms = { "Universal Form", 0 }
static

Definition at line 74 of file numerus.cpp.

◆ japaneseStyleLanguages

static const QLocale::Language japaneseStyleLanguages
static
Initial value:
= {
}
@ NauruLanguage
Definition qlocale.h:240
@ Zhuang
Definition qlocale.h:370
@ Dzongkha
Definition qlocale.h:117
@ Korean
Definition qlocale.h:186
@ Tatar
Definition qlocale.h:330
@ Chinese
Definition qlocale.h:102
@ Persian
Definition qlocale.h:272
@ Japanese
Definition qlocale.h:164
@ Javanese
Definition qlocale.h:165
@ Burmese
Definition qlocale.h:90
@ Indonesian
Definition qlocale.h:156
@ Hungarian
Definition qlocale.h:151
@ Tibetan
Definition qlocale.h:334
@ Guarani
Definition qlocale.h:141
@ Oromo
Definition qlocale.h:264
@ Malay
Definition qlocale.h:220
@ Vietnamese
Definition qlocale.h:354
@ Yoruba
Definition qlocale.h:368
@ Turkish
Definition qlocale.h:342
@ Sundanese
Definition qlocale.h:316
@ Fijian
Definition qlocale.h:126
@ Bislama
Definition qlocale.h:83

Definition at line 101 of file numerus.cpp.

◆ latvianForms

static const char *const latvianForms = { "Singular", "Plural", "Nullar", 0 }
static

Definition at line 78 of file numerus.cpp.

◆ latvianLanguage

static const QLocale::Language latvianLanguage = { QLocale::Latvian, EOL }
static

Definition at line 231 of file numerus.cpp.

◆ latvianRules

static const uchar latvianRules
static
Initial value:
=
Q_NEQ, 0 }

Definition at line 21 of file numerus.cpp.

◆ lithuanianForms

static const char *const lithuanianForms = { "Singular", "Paucal", "Plural", 0 }
static

Definition at line 85 of file numerus.cpp.

◆ lithuanianLanguage

static const QLocale::Language lithuanianLanguage = { QLocale::Lithuanian, EOL }
static

Definition at line 248 of file numerus.cpp.

◆ lithuanianRules

static const uchar lithuanianRules
static
Initial value:
=
@ Q_NOT_BETWEEN

Definition at line 39 of file numerus.cpp.

◆ macedonianForms

static const char *const macedonianForms = { "Singular", "Dual", "Plural", 0 }
static

Definition at line 84 of file numerus.cpp.

◆ macedonianLanguage

static const QLocale::Language macedonianLanguage = { QLocale::Macedonian, EOL }
static

Definition at line 247 of file numerus.cpp.

◆ macedonianRules

static const uchar macedonianRules
static
Initial value:
=
Q_MOD_10 | Q_EQ, 2 }

Definition at line 36 of file numerus.cpp.

◆ malteseForms

static const char *const malteseForms
static
Initial value:
=
{ "Singular", "Paucal", "Greater Paucal", "Plural", 0 }

Definition at line 90 of file numerus.cpp.

◆ malteseLanguage

static const QLocale::Language malteseLanguage = { QLocale::Maltese, EOL }
static

Definition at line 264 of file numerus.cpp.

◆ malteseRules

static const uchar malteseRules
static
Initial value:
=
{ Q_EQ, 1, Q_NEWRULE,
Q_MOD_100 | Q_BETWEEN, 11, 19 }

Definition at line 55 of file numerus.cpp.

◆ numerusTable

static const NumerusTableEntry numerusTable
static

Definition at line 288 of file numerus.cpp.

Referenced by getNumerusInfo(), and getNumerusInfoString().

◆ NumerusTableSize

static const int NumerusTableSize = sizeof(numerusTable) / sizeof(numerusTable[0])
static

Definition at line 326 of file numerus.cpp.

Referenced by getNumerusInfo(), and getNumerusInfoString().

◆ polishForms

static const char *const polishForms = { "Singular", "Paucal", "Plural", 0 }
static

Definition at line 87 of file numerus.cpp.

◆ polishLanguage

static const QLocale::Language polishLanguage = { QLocale::Polish, EOL }
static

Definition at line 258 of file numerus.cpp.

◆ polishRules

static const uchar polishRules
static
Initial value:
=
{ Q_EQ, 1, Q_NEWRULE,

Definition at line 45 of file numerus.cpp.

◆ romanianForms

static const char *const romanianForms = { "Singular", "Paucal", "Plural", 0 }
static

Definition at line 88 of file numerus.cpp.

◆ romanianLanguages

static const QLocale::Language romanianLanguages
static
Initial value:

Definition at line 259 of file numerus.cpp.

◆ romanianRules

static const uchar romanianRules
static
Initial value:
=
{ Q_EQ, 1, Q_NEWRULE,
Q_EQ, 0, Q_OR, Q_MOD_100 | Q_BETWEEN, 1, 19 }

Definition at line 48 of file numerus.cpp.

◆ russianStyleForms

static const char *const russianStyleForms = { "Singular", "Dual", "Plural", 0 }
static

Definition at line 86 of file numerus.cpp.

◆ russianStyleLanguages

static const QLocale::Language russianStyleLanguages
static

◆ russianStyleRules

static const uchar russianStyleRules
static
Initial value:

Definition at line 42 of file numerus.cpp.

◆ slovakStyleForms

static const char *const slovakStyleForms = { "Singular", "Paucal", "Plural", 0 }
static

Definition at line 83 of file numerus.cpp.

◆ slovakStyleLanguages

static const QLocale::Language slovakStyleLanguages = { QLocale::Slovak, QLocale::Czech, EOL }
static

Definition at line 246 of file numerus.cpp.

◆ slovakStyleRules

static const uchar slovakStyleRules
static
Initial value:
=
{ Q_EQ, 1, Q_NEWRULE,
Q_BETWEEN, 2, 4 }

Definition at line 33 of file numerus.cpp.

◆ slovenianForms

static const char *const slovenianForms = { "Singular", "Dual", "Trial", "Plural", 0 }
static

Definition at line 89 of file numerus.cpp.

◆ slovenianLanguage

static const QLocale::Language slovenianLanguage = { QLocale::Slovenian, EOL }
static

Definition at line 263 of file numerus.cpp.

◆ slovenianRules

static const uchar slovenianRules
static
Initial value:

Definition at line 51 of file numerus.cpp.

◆ tagalogForms

static const char *const tagalogForms
static
Initial value:
=
{ "Singular", "Plural (consonant-ended)", "Plural (vowel-ended)", 0 }

Definition at line 96 of file numerus.cpp.

◆ tagalogLanguage

static const QLocale::Language tagalogLanguage = { QLocale::Filipino, EOL }
static

Definition at line 267 of file numerus.cpp.

◆ tagalogRules

static const uchar tagalogRules
static
Initial value:
=

Definition at line 70 of file numerus.cpp.

◆ welshForms

static const char *const welshForms
static
Initial value:
=
{ "Nullar", "Singular", "Dual", "Sexal", "Plural", 0 }

Definition at line 92 of file numerus.cpp.

◆ welshLanguage

static const QLocale::Language welshLanguage = { QLocale::Welsh, EOL }
static

Definition at line 265 of file numerus.cpp.

◆ welshRules

static const uchar welshRules
static
Initial value:
=
{ Q_EQ, 0, Q_NEWRULE,
Q_EQ, 6 }

Definition at line 59 of file numerus.cpp.