diff --git a/autotests/klocalizedstringtest.cpp b/autotests/klocalizedstringtest.cpp --- a/autotests/klocalizedstringtest.cpp +++ b/autotests/klocalizedstringtest.cpp @@ -218,6 +218,12 @@ QString(" 42")); QCOMPARE(ki18n("%1").subs(42, -5, 10, QChar('_')).toString(), QString("42___")); + + QLocale::setDefault(QLocale(QLocale::French)); + QCOMPARE(ki18n("%1").subs(4.2, 5, 'f', 2).toString(), + QString(" 4,20")); + + QLocale::setDefault(QLocale(QLocale::English, QLocale::UnitedStates)); QCOMPARE(ki18n("%1").subs(4.2, 5, 'f', 2).toString(), QString(" 4.20")); } diff --git a/src/klocalizedstring.cpp b/src/klocalizedstring.cpp --- a/src/klocalizedstring.cpp +++ b/src/klocalizedstring.cpp @@ -1138,7 +1138,7 @@ { KLocalizedString kls(*this); kls.d->checkNumber(std::abs(a)); - kls.d->arguments.append(QStringLiteral("%1").arg(a, fieldWidth, base, fillChar)); + kls.d->arguments.append(QStringLiteral("%L1").arg(a, fieldWidth, base, fillChar)); kls.d->values.append(static_cast(a)); return kls; } @@ -1148,7 +1148,7 @@ { KLocalizedString kls(*this); kls.d->checkNumber(a); - kls.d->arguments.append(QStringLiteral("%1").arg(a, fieldWidth, base, fillChar)); + kls.d->arguments.append(QStringLiteral("%L1").arg(a, fieldWidth, base, fillChar)); kls.d->values.append(static_cast(a)); return kls; } @@ -1158,7 +1158,7 @@ { KLocalizedString kls(*this); kls.d->checkNumber(std::abs(a)); - kls.d->arguments.append(QStringLiteral("%1").arg(a, fieldWidth, base, fillChar)); + kls.d->arguments.append(QStringLiteral("%L1").arg(a, fieldWidth, base, fillChar)); kls.d->values.append(static_cast(a)); return kls; } @@ -1168,7 +1168,7 @@ { KLocalizedString kls(*this); kls.d->checkNumber(a); - kls.d->arguments.append(QStringLiteral("%1").arg(a, fieldWidth, base, fillChar)); + kls.d->arguments.append(QStringLiteral("%L1").arg(a, fieldWidth, base, fillChar)); kls.d->values.append(static_cast(a)); return kls; } @@ -1178,7 +1178,7 @@ { KLocalizedString kls(*this); kls.d->checkNumber(qAbs(a)); - kls.d->arguments.append(QStringLiteral("%1").arg(a, fieldWidth, base, fillChar)); + kls.d->arguments.append(QStringLiteral("%L1").arg(a, fieldWidth, base, fillChar)); kls.d->values.append(static_cast(a)); return kls; } @@ -1188,7 +1188,7 @@ { KLocalizedString kls(*this); kls.d->checkNumber(a); - kls.d->arguments.append(QStringLiteral("%1").arg(a, fieldWidth, base, fillChar)); + kls.d->arguments.append(QStringLiteral("%L1").arg(a, fieldWidth, base, fillChar)); kls.d->values.append(static_cast(a)); return kls; } @@ -1198,7 +1198,7 @@ QChar fillChar) const { KLocalizedString kls(*this); - kls.d->arguments.append(QStringLiteral("%1").arg(a, fieldWidth, format, precision, fillChar)); + kls.d->arguments.append(QStringLiteral("%L1").arg(a, fieldWidth, format, precision, fillChar)); kls.d->values.append(static_cast(a)); return kls; }