KI18n
klocalizedstring.cpp
45static void splitLocale(const QString &aLocale, QString &language, QString &country, QString &modifier, QString &charset)
66 }
112static void appendLanguagesFromVariable(QStringList &languages, const char *envar, bool isList = false)
203 QString toString(const QByteArray &domain, const QStringList &languages, Kuit::VisualFormat format, bool isArgument = false) const;
204 QString substituteSimple(const QString &translation, const QStringList &arguments, QChar plchar = QLatin1Char('%'), bool isPartial = false) const;
205 QString formatMarkup(const QByteArray &domain, const QString &language, const QString &context, const QString &text, Kuit::VisualFormat format) const;
349KLocalizedString::KLocalizedString(const char *domain, const char *context, const char *text, const char *plural, bool markupAware)
417 msgstr = msgid_plural.isNull() || n == 1 ? QString::fromUtf8(msgid) : QString::fromUtf8(msgid_plural);
421 qCWarning(KI18N) << "KLocalizedString: Domain is not set for this string, translation will not work. Please see https://api.kde.org/frameworks/ki18n/html/prg_guide.html msgid:" << msgid << "msgid_plural:" << msgid_plural
472QString KLocalizedStringPrivate::toString(const QByteArray &domain, const QStringList &languages, Kuit::VisualFormat format, bool isArgument) const
490 qCWarning(KI18N) << "Plural argument to message" << shortenMessage(QString::fromUtf8(text)) << "not supplied before conversion.";
507 translateRaw(resolvedDomain, resolvedLanguages, context, text, plural, number, language, rawTranslation);
539 qCWarning(KI18N) << "Scripted message" << shortenMessage(translation) << "without ordinary translation, discarded.";
540 translation = plural.isEmpty() || number == 1 ? QString::fromUtf8(text) : QString::fromUtf8(plural);
554 QString resdArg = kls.d->toString(kls.d->domain, resolvedLanguages, resolvedFormat, isArgumentSub);
575 finalTranslation = formatMarkup(resolvedDomain, language, QString::fromUtf8(context), finalTranslation, resolvedFormat);
582 scriptedTranslation = substituteTranscript(scriptedTranslation, language, country, finalTranslation, resolvedArguments, resolvedValues, fallback);
588 scriptedTranslation = formatMarkup(resolvedDomain, language, QString::fromUtf8(context), scriptedTranslation, resolvedFormat);
606QString KLocalizedStringPrivate::substituteSimple(const QString &translation, const QStringList &arguments, QChar plchar, bool isPartial) const
703 qCWarning(KI18N).nospace() << "Placeholder %" << QString::number(i + 1) << " skipped in message " << shortenMessage(translation);
709 qCWarning(KI18N) << arguments.size() << "instead of" << ords.size() << "arguments to message" << shortenMessage(translation)
768 QString ptext = substituteSimple(scriptedTranslation.mid(ppos, tpos - ppos), arguments, s->scriptPlchar, true);
774 tpos = resolveInterpolation(scriptedTranslation, tpos, language, country, ordinaryTranslation, arguments, values, result, fallbackLocal);
795 finalTranslation.append(substituteSimple(scriptedTranslation.mid(ppos), arguments, s->scriptPlchar, true));
834 qCWarning(KI18N) << "Unclosed interpolation" << scriptedTranslation.mid(pos, tpos - pos) << "in message" << shortenMessage(scriptedTranslation);
850 while (!scriptedTranslation[tpos].isSpace() && scriptedTranslation.mid(tpos, ielen) != s->endInterp) {
863 qCWarning(KI18N) << "Unclosed quote in interpolation" << scriptedTranslation.mid(pos, tpos - pos) << "in message"
875 tpos = resolveInterpolation(scriptedTranslation, tpos, language, country, ordinaryTranslation, arguments, values, resultLocal, fallbackLocal);
898 qCWarning(KI18N) << "Non-terminated interpolation" << scriptedTranslation.mid(pos, tpos - pos) << "in message"
958 qCWarning(KI18N) << "Interpolation" << scriptedTranslation.mid(pos, tpos - pos) << "in" << shortenMessage(scriptedTranslation)
1019 s->ktrs->eval(iargs, language, country, msgctxt, dynamicContext, msgid, arguments, values, finalTranslation, s->scriptModulesToLoad, scriptError, fallback);
1024 qCWarning(KI18N) << "Post call" << pcall << "for message" << shortenMessage(msgid) << "failed:" << scriptError;
1079KLocalizedString KLocalizedString::subs(ulong a, int fieldWidth, int base, QChar fillChar) const
1088KLocalizedString KLocalizedString::subs(qlonglong a, int fieldWidth, int base, QChar fillChar) const
1097KLocalizedString KLocalizedString::subs(qulonglong a, int fieldWidth, int base, QChar fillChar) const
1106KLocalizedString KLocalizedString::subs(double a, int fieldWidth, char format, int precision, QChar fillChar) const
1134KLocalizedString KLocalizedString::subs(const KLocalizedString &a, int fieldWidth, QChar fillChar) const
1219 return language == s->codeLanguage || !KCatalog::catalogLocaleDir(s->applicationDomain, language).isEmpty();
1239const KCatalog &KLocalizedStringPrivate::getCatalog(const QByteArray &domain, const QString &language)
1257void KLocalizedStringPrivate::locateScriptingModule(const QByteArray &domain, const QString &language)
1264 QStandardPaths::locate(QStandardPaths::GenericDataLocation, QLatin1String("locale/%1/%2/%3/%3.js").arg(language, s->scriptDir, QLatin1String{domain}));
1387KLocalizedString ki18ndcp(const char *domain, const char *context, const char *singular, const char *plural)
1427KLocalizedString kxi18ndcp(const char *domain, const char *context, const char *singular, const char *plural)
Class for producing and handling localized messages.
Definition klocalizedstring.h:47
static QSet< QString > availableDomainTranslations(const QByteArray &domain)
Definition klocalizedstring.cpp:1227
KLocalizedString inContext(const QString &key, const QString &value) const
Add dynamic context to the message.
Definition klocalizedstring.cpp:1148
static QByteArray applicationDomain()
Get the application's main translation domain.
Definition klocalizedstring.cpp:1183
static QStringList languages()
Get the languages for which translations will be made.
Definition klocalizedstring.cpp:1190
KLocalizedString withDomain(const char *domain) const
Indicate to look for translation in the given domain.
Definition klocalizedstring.cpp:1038
static QString localizedFilePath(const QString &filePath)
Find a path to the localized file for the given original path.
Definition klocalizedstring.cpp:1316
KLocalizedString withFormat(Kuit::VisualFormat format) const
Indicate to resolve KUIT markup into given visual format.
Definition klocalizedstring.cpp:1045
KLocalizedString withLanguages(const QStringList &languages) const
Indicate to look for translation only in given languages.
Definition klocalizedstring.cpp:1031
KLocalizedString ignoreMarkup() const
Do not resolve KUIT markup.
Definition klocalizedstring.cpp:1162
KLocalizedString & operator=(const KLocalizedString &rhs)
Assignment operator.
Definition klocalizedstring.cpp:370
static QString removeAcceleratorMarker(const QString &label)
Remove accelerator marker from a UI text label.
Definition klocalizedstring.cpp:1342
static void addDomainLocaleDir(const QByteArray &domain, const QString &path)
Load locales for a domain from a specific location This is useful for resources which have their tran...
Definition klocalizedstring.cpp:1347
static QSet< QString > availableApplicationTranslations()
Definition klocalizedstring.cpp:1222
QByteArray untranslatedText() const
Returns the untranslated text.
Definition klocalizedstring.cpp:1169
KLocalizedString subs(int a, int fieldWidth=0, int base=10, QChar fillChar=QLatin1Char(' ')) const
Substitute an int argument into the message.
Definition klocalizedstring.cpp:1052
static void setLanguages(const QStringList &languages)
Set the languages for which translations will be made.
Definition klocalizedstring.cpp:1197
KLocalizedString relaxSubs() const
Relax matching between placeholders and arguments.
Definition klocalizedstring.cpp:1155
static void setApplicationDomain(const QByteArray &domain)
Set the given domain as application's main domain.
Definition klocalizedstring.cpp:1174
static bool isApplicationTranslatedInto(const QString &language)
Check whether the translation catalog file in the given language for the set application translation ...
Definition klocalizedstring.cpp:1215
KIOCORE_EXPORT QString number(KIO::filesize_t size)
QStringView country(QStringView ifopt)
KGuiItem ok()
bool isEmpty() const const
bool isNull() const const
QString decodeName(const QByteArray &localFileName)
QString fileName() const const
bool isDir() const const
bool isFile() const const
bool isReadable() const const
QString path() const const
QHash::const_iterator constEnd() const const
QHash::const_iterator constFind(const Key &key) const const
bool contains(const Key &key) const const
QHash::iterator end()
QHash::iterator find(const Key &key)
QHash::iterator insert(const Key &key, const T &value)
const T value(const Key &key) const const
void append(const T &value)
const T & at(int i) const const
bool isEmpty() const const
T & last()
int size() const const
QLocale system()
QStringList uiLanguages() const const
QSet::iterator insert(const T &value)
GenericDataLocation
QString locate(QStandardPaths::StandardLocation type, const QString &fileName, QStandardPaths::LocateOptions options)
QStringList split(const QString &sep, QString::SplitBehavior behavior, Qt::CaseSensitivity cs) const const
QString & append(QChar ch)
QString arg(qlonglong a, int fieldWidth, int base, QChar fillChar) const const
void clear()
QString fromUtf8(const char *str, int size)
int indexOf(QChar ch, int from, Qt::CaseSensitivity cs) const const
bool isEmpty() const const
QString left(int n) const const
int length() const const
QString mid(int position, int n) const const
QString number(int n, int base)
QString & replace(int position, int n, QChar after)
bool startsWith(const QString &s, Qt::CaseSensitivity cs) const const
int toInt(bool *ok, int base) const const
void truncate(int position)
QString join(const QString &separator) const const
bool isEmpty() const const
QStringView left(qsizetype length) const const
SkipEmptyParts
bool isValid() const const
This file is part of the KDE documentation.
Documentation copyright © 1996-2024 The KDE developers.
Generated on Sun Feb 25 2024 18:47:44 by doxygen 1.10.0 written by Dimitri van Heesch, © 1997-2006
Documentation copyright © 1996-2024 The KDE developers.
Generated on Sun Feb 25 2024 18:47:44 by doxygen 1.10.0 written by Dimitri van Heesch, © 1997-2006
KDE's Doxygen guidelines are available online.