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"))) {
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);
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"))) {
154 arguments.removeFirst();
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(Qt::DateFormat format) const const
int indexOf(QChar ch, int from, Qt::CaseSensitivity cs) const const
QString toString(Qt::DateFormat format) const const
QString toString(Qt::DateFormat format) const const
The Cutelee namespace holds all public Cutelee API.
QDateTime toDateTime() const const
QString number(int n, int base)
int userType() const const
bool contains(QChar ch, Qt::CaseSensitivity cs) const const
QString & replace(int position, int n, QChar after)
QString arg(qlonglong a, int fieldWidth, int base, QChar fillChar) const const
const QChar at(int position) const const
QString toString() const const