From kde-commits Tue Jul 07 08:36:44 2009 From: Chusslove Illich Date: Tue, 07 Jul 2009 08:36:44 +0000 To: kde-commits Subject: branches/KDE/4.3/kdelibs/kdecore/localization Message-Id: <1246955804.974678.9560.nullmailer () svn ! kde ! org> X-MARC-Message: https://marc.info/?l=kde-commits&m=124695584123894 SVN commit 992548 by ilic: Thoroughly use locale supplied to toString(). (bport: 992545) M +16 -9 klocalizedstring.cpp M +4 -4 ktranscript.cpp M +2 -2 ktranscript_p.h --- branches/KDE/4.3/kdelibs/kdecore/localization/klocalizedstring.cpp #992547:992548 @@ -82,11 +82,13 @@ const QString &ctxt) const; QString substituteTranscript (const QString &trans, const QString &lang, + const QString &ctry, const QString &lscr, const QString &final, bool &fallback) const; int resolveInterpolation (const QString &trans, int pos, const QString &lang, + const QString &ctry, const QString &lscr, const QString &final, QString &result, @@ -94,6 +96,7 @@ QVariant segmentToValue (const QString &arg) const; QString postTranscript (const QString &pcall, const QString &lang, + const QString &ctry, const QString &lscr, const QString &final) const; @@ -232,7 +235,7 @@ .arg(shortenMessage(QString::fromUtf8(msg))); // Get raw translation. - QString lang, rawtrans, lscr; + QString lang, rawtrans, lscr, ctry; if (locale != NULL) { if (!ctxt.isEmpty() && !plural.isEmpty()) @@ -244,12 +247,15 @@ else locale->translateRaw(msg, &lang, &rawtrans); + ctry = locale->country(); + // Find any higher priority writing script for the current language. lscr = KTranslit::higherPriorityScript(lang, locale); } else { lang = KLocale::defaultLanguage(); + ctry = "C"; rawtrans = selectForEnglish(); } @@ -299,7 +305,7 @@ if (!strans.isEmpty()) { // Evaluate scripted translation. bool fallback; - QString sfinal = substituteTranscript(strans, lang, lscr, final, fallback); + QString sfinal = substituteTranscript(strans, lang, ctry, lscr, final, fallback); // If any translation produced and no fallback requested. if (!sfinal.isEmpty() && !fallback) { @@ -313,7 +319,7 @@ { QStringList pcalls = s->ktrs->postCalls(lang); foreach(const QString &pcall, pcalls) - postTranscript(pcall, lang, lscr, final); + postTranscript(pcall, lang, ctry, lscr, final); } return final; @@ -487,6 +493,7 @@ QString KLocalizedStringPrivate::substituteTranscript (const QString &strans, const QString &lang, + const QString &ctry, const QString &lscr, const QString &final, bool &fallback) const @@ -513,7 +520,7 @@ // Resolve interpolation. QString result; bool fallbackLocal; - tpos = resolveInterpolation(strans, tpos, lang, lscr, final, + tpos = resolveInterpolation(strans, tpos, lang, ctry, lscr, final, result, fallbackLocal); // If there was a problem in parsing the interpolation, cannot proceed @@ -544,6 +551,7 @@ int KLocalizedStringPrivate::resolveInterpolation (const QString &strans, int pos, const QString &lang, + const QString &ctry, const QString &lscr, const QString &final, QString &result, @@ -618,7 +626,7 @@ else if (strans.mid(tpos, islen) == s->startInterp) { // sub-interpolation QString resultLocal; bool fallbackLocal; - tpos = resolveInterpolation(strans, tpos, lang, lscr, final, + tpos = resolveInterpolation(strans, tpos, lang, ctry, lscr, final, resultLocal, fallbackLocal); if (tpos < 0) { // unrecoverable problem in sub-interpolation // Error reported in the subcall. @@ -683,10 +691,9 @@ // Evaluate interpolation. QString msgctxt = QString::fromUtf8(ctxt); QString msgid = QString::fromUtf8(msg); - QString ctry = KGlobal::locale()->country(); QString scriptError; bool fallbackLocal; - result = s->ktrs->eval(iargs, lang, lscr, ctry, + result = s->ktrs->eval(iargs, lang, ctry, lscr, msgctxt, dynctxt, msgid, args, vals, final, s->scriptModulesToLoad, scriptError, fallbackLocal); @@ -739,6 +746,7 @@ QString KLocalizedStringPrivate::postTranscript (const QString &pcall, const QString &lang, + const QString &ctry, const QString &lscr, const QString &final) const { @@ -755,10 +763,9 @@ iargs.append(pcall); QString msgctxt = QString::fromUtf8(ctxt); QString msgid = QString::fromUtf8(msg); - QString ctry = KGlobal::locale()->country(); QString scriptError; bool fallback; - QString dummy = s->ktrs->eval(iargs, lang, lscr, ctry, + QString dummy = s->ktrs->eval(iargs, lang, ctry, lscr, msgctxt, dynctxt, msgid, args, vals, final, s->scriptModulesToLoad, scriptError, fallback); --- branches/KDE/4.3/kdelibs/kdecore/localization/ktranscript.cpp #992547:992548 @@ -62,8 +62,8 @@ QString eval (const QList &argv, const QString &lang, + const QString &ctry, const QString &modf, - const QString &ctry, const QString &msgctxt, const QHash &dynctxt, const QString &msgid, @@ -179,8 +179,8 @@ const QStringList *subs; const QList *vals; const QString *final; + const QString *ctry; const QString *modf; - const QString *ctry; // Fallback request handle. bool *fallback; @@ -459,8 +459,8 @@ QString KTranscriptImp::eval (const QList &argv, const QString &lang, + const QString &ctry, const QString &modf, - const QString &ctry, const QString &msgctxt, const QHash &dynctxt, const QString &msgid, @@ -520,8 +520,8 @@ sface->vals = &vals; sface->final = &final; sface->fallback = &fallback; + sface->ctry = &ctry; sface->modf = &modf; - sface->ctry = &ctry; // Find corresponding JS function. int argc = argv.size(); --- branches/KDE/4.3/kdelibs/kdecore/localization/ktranscript_p.h #992547:992548 @@ -44,8 +44,8 @@ * * @param argv list of interpolation tokens * @param lang language of the translation + * @param ctry locale country * @param modf locale modifier - * @param ctry locale country * @param msgctxt message context * @param dynctxt dynamic context * @param msgid original message @@ -62,8 +62,8 @@ */ virtual QString eval (const QList &argv, const QString &lang, + const QString &ctry, const QString &modf, - const QString &ctry, const QString &msgctxt, const QHash &dynctxt, const QString &msgid,