21#include "nulllocalizer_p.h"
23#include <QtCore/QDateTime>
27NullLocalizer::NullLocalizer() {}
29NullLocalizer::~NullLocalizer() {}
52QString NullLocalizer::localizeNumber(
int number)
const
57QString NullLocalizer::localizeNumber(qreal number)
const
62QString NullLocalizer::localizeMonetaryValue(qreal value,
63 const QString ¤cyCode)
const
65 Q_UNUSED(currencyCode)
69static void replacePercentN(
QString *result,
int n)
80 fmt = QStringLiteral(
"%L1");
82 fmt = QStringLiteral(
"%1");
87 result->
replace(percentPos, len, fmt);
95 const QVariantList &arguments)
98 Q_FOREACH (
const QVariant &arg, arguments) {
99 if (arg.
userType() == qMetaTypeId<int>())
100 string =
string.
arg(arg.
value<
int>());
101 else if (arg.
userType() == qMetaTypeId<double>())
102 string =
string.
arg(arg.
value<
double>());
103 else if (arg.
userType() == qMetaTypeId<QDateTime>())
112NullLocalizer::localizeContextString(
const QString &
string,
114 const QVariantList &arguments)
const
117 return substituteArguments(
string, arguments);
120QString NullLocalizer::localizePluralContextString(
122 const QVariantList &_arguments)
const
125 const auto count = _arguments.first().value<
int>();
126 auto arguments = _arguments;
127 auto string = _string;
128 auto pluralForm = _pluralForm;
129 if (_string.
contains(QStringLiteral(
"%n"))) {
130 arguments.removeFirst();
131 replacePercentN(&
string, count);
132 replacePercentN(&pluralForm, count);
134 return count > 0 ? substituteArguments(pluralForm, arguments)
135 : substituteArguments(string, arguments);
139 const QVariantList &arguments)
const
141 return substituteArguments(
string, arguments);
145NullLocalizer::localizePluralString(
const QString &_string,
147 const QVariantList &_arguments)
const
149 const auto count = _arguments.first().value<
int>();
150 auto arguments = _arguments;
151 auto string = _string;
152 auto pluralForm = _pluralForm;
153 if (_string.
contains(QStringLiteral(
"%n"))) {
154 arguments.removeFirst();
155 replacePercentN(&
string, count);
156 replacePercentN(&pluralForm, count);
158 return count > 0 ? substituteArguments(pluralForm, arguments)
159 : substituteArguments(string, arguments);
164void NullLocalizer::pushLocale(
const QString &localeName)
169void NullLocalizer::popLocale() {}
171void NullLocalizer::loadCatalog(
const QString &path,
const QString &catalog)
177void NullLocalizer::unloadCatalog(
const QString &catalog) { Q_UNUSED(catalog) }
The Cutelee namespace holds all public Cutelee API.
QString toString(Qt::DateFormat format) const const
QString toString(Qt::DateFormat format) const const
QString arg(qlonglong a, int fieldWidth, int base, QChar fillChar) const const
const QChar at(int position) const const
bool contains(QChar ch, Qt::CaseSensitivity cs) const const
int indexOf(QChar ch, int from, Qt::CaseSensitivity cs) const const
QString number(int n, int base)
QString & replace(int position, int n, QChar after)
QString toString(Qt::DateFormat format) const const
QDateTime toDateTime() const const
QString toString() const const
int userType() const const