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

(d9e43af7ece745ef0922db12351d44f5933a8d5d)

#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)
bool getCountNeed (QLocale::Language lang, QLocale::Territory territory, QList< bool > &countRefNeeds, QStringList *forms)
QString getNumerusInfoString ()

Variables

static 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 101 of file numerus.cpp.

Function Documentation

◆ getCountNeed()

bool getCountNeed ( QLocale::Language lang,
QLocale::Territory territory,
QList< bool > & countRefNeeds,
QStringList * forms )

Definition at line 363 of file numerus.cpp.

◆ getNumerusInfo()

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

◆ getNumerusInfoString()

QString getNumerusInfoString ( )

Definition at line 378 of file numerus.cpp.

References numerusTable, and NumerusTableSize.

Variable Documentation

◆ arabicForms

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

Definition at line 96 of file numerus.cpp.

◆ arabicLanguage

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

Definition at line 268 of file numerus.cpp.

◆ arabicRules

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 66 of file numerus.cpp.

◆ englishStyleForms

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

Definition at line 77 of file numerus.cpp.

◆ englishStyleLanguages

const QLocale::Language englishStyleLanguages
static

Definition at line 130 of file numerus.cpp.

◆ englishStyleRules

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

Definition at line 19 of file numerus.cpp.

◆ frenchStyleCountries

◆ frenchStyleForms

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

Definition at line 78 of file numerus.cpp.

◆ frenchStyleLanguages

const QLocale::Language frenchStyleLanguages
static
Initial value:

Definition at line 222 of file numerus.cpp.

◆ frenchStyleRules

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

Definition at line 21 of file numerus.cpp.

◆ gaelicStyleForms

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

Definition at line 84 of file numerus.cpp.

◆ gaelicStyleLanguages

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

Definition at line 247 of file numerus.cpp.

◆ gaelicStyleRules

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 31 of file numerus.cpp.

◆ icelandicForms

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

Definition at line 79 of file numerus.cpp.

◆ icelandicLanguage

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

Definition at line 234 of file numerus.cpp.

◆ icelandicRules

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 26 of file numerus.cpp.

◆ irishStyleForms

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

Definition at line 81 of file numerus.cpp.

◆ irishStyleLanguages

const QLocale::Language irishStyleLanguages
static

◆ irishStyleRules

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

Definition at line 28 of file numerus.cpp.

◆ japaneseStyleForms

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

Definition at line 76 of file numerus.cpp.

◆ japaneseStyleLanguages

const QLocale::Language japaneseStyleLanguages
static
Initial value:
= {
}
@ NauruLanguage
Definition qlocale.h:241
@ Zhuang
Definition qlocale.h:371
@ Dzongkha
Definition qlocale.h:118
@ Korean
Definition qlocale.h:187
@ Tatar
Definition qlocale.h:331
@ Chinese
Definition qlocale.h:103
@ Persian
Definition qlocale.h:273
@ Japanese
Definition qlocale.h:165
@ Javanese
Definition qlocale.h:166
@ Burmese
Definition qlocale.h:91
@ Indonesian
Definition qlocale.h:157
@ Hungarian
Definition qlocale.h:152
@ Tibetan
Definition qlocale.h:335
@ Guarani
Definition qlocale.h:142
@ Oromo
Definition qlocale.h:265
@ Malay
Definition qlocale.h:221
@ Vietnamese
Definition qlocale.h:355
@ Yoruba
Definition qlocale.h:369
@ Turkish
Definition qlocale.h:343
@ Sundanese
Definition qlocale.h:317
@ Fijian
Definition qlocale.h:127
@ Bislama
Definition qlocale.h:84

Definition at line 103 of file numerus.cpp.

◆ latvianForms

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

Definition at line 80 of file numerus.cpp.

◆ latvianLanguage

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

Definition at line 233 of file numerus.cpp.

◆ latvianRules

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

Definition at line 23 of file numerus.cpp.

◆ lithuanianForms

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

Definition at line 87 of file numerus.cpp.

◆ lithuanianLanguage

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

Definition at line 250 of file numerus.cpp.

◆ lithuanianRules

const uchar lithuanianRules
static
Initial value:
=
@ Q_NOT_BETWEEN

Definition at line 41 of file numerus.cpp.

◆ macedonianForms

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

Definition at line 86 of file numerus.cpp.

◆ macedonianLanguage

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

Definition at line 249 of file numerus.cpp.

◆ macedonianRules

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

Definition at line 38 of file numerus.cpp.

◆ malteseForms

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

Definition at line 92 of file numerus.cpp.

◆ malteseLanguage

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

Definition at line 266 of file numerus.cpp.

◆ malteseRules

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

Definition at line 57 of file numerus.cpp.

◆ numerusTable

const NumerusTableEntry numerusTable
static

Definition at line 290 of file numerus.cpp.

Referenced by getNumerusInfo(), and getNumerusInfoString().

◆ NumerusTableSize

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

Definition at line 328 of file numerus.cpp.

Referenced by getNumerusInfo(), and getNumerusInfoString().

◆ polishForms

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

Definition at line 89 of file numerus.cpp.

◆ polishLanguage

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

Definition at line 260 of file numerus.cpp.

◆ polishRules

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

Definition at line 47 of file numerus.cpp.

◆ romanianForms

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

Definition at line 90 of file numerus.cpp.

◆ romanianLanguages

const QLocale::Language romanianLanguages
static
Initial value:

Definition at line 261 of file numerus.cpp.

◆ romanianRules

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 50 of file numerus.cpp.

◆ russianStyleForms

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

Definition at line 88 of file numerus.cpp.

◆ russianStyleLanguages

const QLocale::Language russianStyleLanguages
static

◆ russianStyleRules

const uchar russianStyleRules
static
Initial value:

Definition at line 44 of file numerus.cpp.

◆ slovakStyleForms

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

Definition at line 85 of file numerus.cpp.

◆ slovakStyleLanguages

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

Definition at line 248 of file numerus.cpp.

◆ slovakStyleRules

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

Definition at line 35 of file numerus.cpp.

◆ slovenianForms

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

Definition at line 91 of file numerus.cpp.

◆ slovenianLanguage

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

Definition at line 265 of file numerus.cpp.

◆ slovenianRules

const uchar slovenianRules
static
Initial value:

Definition at line 53 of file numerus.cpp.

◆ tagalogForms

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

Definition at line 98 of file numerus.cpp.

◆ tagalogLanguage

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

Definition at line 269 of file numerus.cpp.

◆ tagalogRules

const uchar tagalogRules
static
Initial value:
=

Definition at line 72 of file numerus.cpp.

◆ welshForms

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

Definition at line 94 of file numerus.cpp.

◆ welshLanguage

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

Definition at line 267 of file numerus.cpp.

◆ welshRules

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

Definition at line 61 of file numerus.cpp.