Cutelee 6.1.0
Cutelee::QtLocalizer Class Reference

Provides internationalization based on QLocale and QTranslator. More...

#include <qtlocalizer.h>

Inheritance diagram for Cutelee::QtLocalizer:

Public Member Functions

 QtLocalizer (const QLocale &locale=QLocale::system())
 ~QtLocalizer () override
QString currentLocale () const override
void installTranslator (QTranslator *translator, const QString &localeName=QLocale::system().name())
void loadCatalog (const QString &path, const QString &catalog) override
QString localizeContextString (const QString &string, const QString &context, const QVariantList &arguments={}) const override
QString localizeDate (const QDate &date, QLocale::FormatType formatType=QLocale::ShortFormat) const override
QString localizeDateTime (const QDateTime &dateTime, QLocale::FormatType formatType=QLocale::ShortFormat) const override
QString localizeMonetaryValue (qreal value, const QString &currencyCode={}) const override
QString localizeNumber (int number) const override
QString localizeNumber (qreal number) const override
QString localizePluralContextString (const QString &string, const QString &pluralForm, const QString &context, const QVariantList &arguments={}) const override
QString localizePluralString (const QString &string, const QString &pluralForm, const QVariantList &arguments={}) const override
QString localizeString (const QString &string, const QVariantList &arguments={}) const override
QString localizeTime (const QTime &time, QLocale::FormatType formatType=QLocale::ShortFormat) const override
void popLocale () override
void pushLocale (const QString &localeName) override
void setAppTranslatorPath (const QString &path)
void setAppTranslatorPrefix (const QString &prefix)
void unloadCatalog (const QString &catalog) override
Public Member Functions inherited from Cutelee::AbstractLocalizer
 AbstractLocalizer ()
virtual ~AbstractLocalizer ()
virtual QString localize (const QVariant &variant) const

Detailed Description

This class implements access to the Qt Localization system. Localizable types such as strings, numbers, dates and times can be processed.

auto t = m_engine->loadTemplate(someTemplate);
auto c = getContext();
// Render with the German locale
c.setLocalizer(m_de_Localizer);
auto deText = t->render(&c);
de_display->setText(deText);
// Render with the French locale
c.setLocalizer(m_fr_Localizer);
auto frText = t->render(&c);
fr_display->setText(frText);

Definition at line 55 of file qtlocalizer.h.

Constructor & Destructor Documentation

◆ QtLocalizer()

◆ ~QtLocalizer()

QtLocalizer::~QtLocalizer ( )
override

Destructor

Definition at line 161 of file qtlocalizer.cpp.

Member Function Documentation

◆ currentLocale()

QString QtLocalizer::currentLocale ( ) const
overridevirtual

Returns the current locale as a string.

Implements Cutelee::AbstractLocalizer.

Definition at line 294 of file qtlocalizer.cpp.

References QtLocalizer().

◆ installTranslator()

void QtLocalizer::installTranslator ( QTranslator * translator,
const QString & localeName = QLocale::system().name() )

Install a translator to use for a particular localeName.

auto deTranslator = new QTranslator(this);
auto loaded = deTranslator->load("myapp_de_DE");
if (!loaded)
return;
de_localizer->installTranslator(deTranslator, "de_DE");

Definition at line 175 of file qtlocalizer.cpp.

References QtLocalizer().

◆ loadCatalog()

void QtLocalizer::loadCatalog ( const QString & path,
const QString & catalog )
overridevirtual

Loads the catalog from path.

Implements Cutelee::AbstractLocalizer.

Definition at line 333 of file qtlocalizer.cpp.

References QtLocalizer(), QTranslator::load(), and QObject::setObjectName().

◆ localizeContextString()

QString QtLocalizer::localizeContextString ( const QString & string,
const QString & context,
const QVariantList & arguments = {} ) const
overridevirtual

Localizes string, disambiguated by context with the specified arguments for substitution

Implements Cutelee::AbstractLocalizer.

Definition at line 253 of file qtlocalizer.cpp.

References QtLocalizer().

◆ localizeDate()

QString QtLocalizer::localizeDate ( const QDate & date,
QLocale::FormatType formatType = QLocale::ShortFormat ) const
overridevirtual

Localizes date with the specified formatType

Implements Cutelee::AbstractLocalizer.

Definition at line 187 of file qtlocalizer.cpp.

References QtLocalizer().

◆ localizeDateTime()

QString QtLocalizer::localizeDateTime ( const QDateTime & dateTime,
QLocale::FormatType formatType = QLocale::ShortFormat ) const
overridevirtual

Localizes dateTime with the specified formatType

Implements Cutelee::AbstractLocalizer.

Definition at line 201 of file qtlocalizer.cpp.

References QtLocalizer().

◆ localizeMonetaryValue()

QString QtLocalizer::localizeMonetaryValue ( qreal value,
const QString & currencyCode = {} ) const
overridevirtual

Localizes value as a monetary value in the currency specified by currencyCode.

Implements Cutelee::AbstractLocalizer.

Definition at line 220 of file qtlocalizer.cpp.

References QtLocalizer().

◆ localizeNumber() [1/2]

QString QtLocalizer::localizeNumber ( int number) const
overridevirtual

Localizes number

Implements Cutelee::AbstractLocalizer.

Definition at line 208 of file qtlocalizer.cpp.

References QtLocalizer().

◆ localizeNumber() [2/2]

QString QtLocalizer::localizeNumber ( qreal number) const
overridevirtual

Localizes number

Implements Cutelee::AbstractLocalizer.

Definition at line 214 of file qtlocalizer.cpp.

References QtLocalizer().

◆ localizePluralContextString()

QString QtLocalizer::localizePluralContextString ( const QString & string,
const QString & pluralForm,
const QString & context,
const QVariantList & arguments = {} ) const
overridevirtual

Localizes string or its pluralForm, disambiguated by context with the specified arguments for substitution

Implements Cutelee::AbstractLocalizer.

Definition at line 270 of file qtlocalizer.cpp.

References QtLocalizer().

◆ localizePluralString()

QString QtLocalizer::localizePluralString ( const QString & string,
const QString & pluralForm,
const QVariantList & arguments = {} ) const
overridevirtual

Localizes string or its pluralForm with the specified arguments for substitution

Implements Cutelee::AbstractLocalizer.

Definition at line 282 of file qtlocalizer.cpp.

References QtLocalizer().

◆ localizeString()

QString QtLocalizer::localizeString ( const QString & string,
const QVariantList & arguments = {} ) const
overridevirtual

Localizes string with the specified arguments for substitution

Implements Cutelee::AbstractLocalizer.

Definition at line 262 of file qtlocalizer.cpp.

References QtLocalizer().

◆ localizeTime()

QString QtLocalizer::localizeTime ( const QTime & time,
QLocale::FormatType formatType = QLocale::ShortFormat ) const
overridevirtual

Localizes time with the specified formatType

Implements Cutelee::AbstractLocalizer.

Definition at line 194 of file qtlocalizer.cpp.

References QtLocalizer().

◆ popLocale()

void QtLocalizer::popLocale ( )
overridevirtual

Makes this localizer use the previous locale for output.

Implements Cutelee::AbstractLocalizer.

Definition at line 326 of file qtlocalizer.cpp.

References QtLocalizer().

◆ pushLocale()

void QtLocalizer::pushLocale ( const QString & localeName)
overridevirtual

Makes this localizer use the locale specified by localeName for output.

Implements Cutelee::AbstractLocalizer.

Definition at line 300 of file qtlocalizer.cpp.

References QtLocalizer(), QVector::append(), QTranslator::load(), QLibraryInfo::location(), and QLibraryInfo::TranslationsPath.

◆ setAppTranslatorPath()

void QtLocalizer::setAppTranslatorPath ( const QString & path)

Set the path to look for translations of the application strings.

Definition at line 163 of file qtlocalizer.cpp.

References QtLocalizer().

◆ setAppTranslatorPrefix()

void QtLocalizer::setAppTranslatorPrefix ( const QString & prefix)

Set the prefix of translation files. For example, if the German translation file is called myapp_de_DE.qm, the prefix should be set to myapp_.

Definition at line 169 of file qtlocalizer.cpp.

References QtLocalizer().

◆ unloadCatalog()

void QtLocalizer::unloadCatalog ( const QString & catalog)
overridevirtual

Unloads the catalog

Implements Cutelee::AbstractLocalizer.

Definition at line 351 of file qtlocalizer.cpp.

References QtLocalizer().