21 #include "nulllocalizer_p.h" 23 #include <QtCore/QDateTime> 27 NullLocalizer::NullLocalizer() {}
29 NullLocalizer::~NullLocalizer() {}
52 QString NullLocalizer::localizeNumber(
int number)
const 57 QString NullLocalizer::localizeNumber(qreal number)
const 62 QString NullLocalizer::localizeMonetaryValue(qreal value,
63 const QString ¤cyCode)
const 65 Q_UNUSED(currencyCode)
69 static 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>())
112 NullLocalizer::localizeContextString(
const QString &
string,
114 const QVariantList &arguments)
const 117 return substituteArguments(
string, arguments);
120 QString 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"))) {
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);
145 NullLocalizer::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"))) {
155 replacePercentN(&
string, count);
156 replacePercentN(&pluralForm, count);
158 return count > 0 ? substituteArguments(pluralForm, arguments)
159 : substituteArguments(string, arguments);
162 QString NullLocalizer::currentLocale()
const {
return QString(); }
164 void NullLocalizer::pushLocale(
const QString &localeName)
169 void NullLocalizer::popLocale() {}
171 void NullLocalizer::loadCatalog(
const QString &path,
const QString &catalog)
177 void NullLocalizer::unloadCatalog(
const QString &catalog) { Q_UNUSED(catalog) }
QString toString(QStringView format, QCalendar cal) const const
qsizetype indexOf(QChar ch, qsizetype from, Qt::CaseSensitivity cs) const const
QString toString(QStringView format) const const
QString toString(QStringView format, QCalendar cal) const const
The Cutelee namespace holds all public Cutelee API.
QDateTime toDateTime() const const
QString number(double n, char format, int precision)
int userType() const const
bool contains(QChar ch, Qt::CaseSensitivity cs) const const
QString & replace(QChar before, QChar after, Qt::CaseSensitivity cs)
const QChar at(qsizetype position) const const
qsizetype length() const const
QString first(qsizetype n) const const
QString arg(Args &&... args) const const
QString toString() const const