6#ifndef KLAZYLOCALIZEDSTRING_H
7#define KLAZYLOCALIZEDSTRING_H
76#ifdef TRANSLATION_DOMAIN
77 return KLocalizedString(TRANSLATION_DOMAIN, m_context, m_text, m_plural, m_markupAware);
79 return KLocalizedString(
nullptr, m_context, m_text, m_plural, m_markupAware);
95 Q_REQUIRED_RESULT
constexpr inline bool isEmpty()
const
97 return (m_text ==
nullptr) || (m_text[0] ==
'\0');
130 Q_REQUIRED_RESULT
inline QString
toString(
const QStringList &languages)
const
141 Q_REQUIRED_RESULT
inline QString
toString(
const char *domain)
const
207 Q_REQUIRED_RESULT
inline KLocalizedString subs(
int a,
int fieldWidth = 0,
int base = 10, QChar fillChar = QLatin1Char(
' '))
const
224 Q_REQUIRED_RESULT
inline KLocalizedString subs(uint a,
int fieldWidth = 0,
int base = 10, QChar fillChar = QLatin1Char(
' '))
const
241 Q_REQUIRED_RESULT
inline KLocalizedString subs(
long a,
int fieldWidth = 0,
int base = 10, QChar fillChar = QLatin1Char(
' '))
const
258 Q_REQUIRED_RESULT
inline KLocalizedString subs(ulong a,
int fieldWidth = 0,
int base = 10, QChar fillChar = QLatin1Char(
' '))
const
275 Q_REQUIRED_RESULT
inline KLocalizedString subs(qlonglong a,
int fieldWidth = 0,
int base = 10, QChar fillChar = QLatin1Char(
' '))
const
292 Q_REQUIRED_RESULT
inline KLocalizedString subs(qulonglong a,
int fieldWidth = 0,
int base = 10, QChar fillChar = QLatin1Char(
' '))
const
308 Q_REQUIRED_RESULT
inline KLocalizedString subs(
double a,
int fieldWidth = 0,
char format =
'g',
int precision = -1, QChar fillChar = QLatin1Char(
' '))
const
323 Q_REQUIRED_RESULT
inline KLocalizedString subs(QChar a,
int fieldWidth = 0, QChar fillChar = QLatin1Char(
' '))
const
338 Q_REQUIRED_RESULT
inline KLocalizedString subs(
const QString &a,
int fieldWidth = 0, QChar fillChar = QLatin1Char(
' '))
const
410 template<std::
size_t TextSize>
412 template<std::
size_t ContextSize, std::
size_t TextSize>
413 friend constexpr inline KLazyLocalizedString kli18nc(
const char (&context)[ContextSize],
const char (&text)[TextSize]);
414 template<std::
size_t SingularSize, std::
size_t PluralSize>
415 friend constexpr inline KLazyLocalizedString kli18np(
const char (&singular)[SingularSize],
const char (&plural)[PluralSize]);
416 template<std::
size_t ContextSize, std::
size_t SingularSize, std::
size_t PluralSize>
418 kli18ncp(
const char (&context)[ContextSize],
const char (&singular)[SingularSize],
const char (&plural)[PluralSize]);
419 template<std::
size_t TextSize>
421 template<std::
size_t ContextSize, std::
size_t TextSize>
422 friend constexpr inline KLazyLocalizedString klxi18nc(
const char (&context)[ContextSize],
const char (&text)[TextSize]);
423 template<std::
size_t SingularSize, std::
size_t PluralSize>
424 friend constexpr inline KLazyLocalizedString klxi18np(
const char (&singular)[SingularSize],
const char (&plural)[PluralSize]);
425 template<std::
size_t ContextSize, std::
size_t SingularSize, std::
size_t PluralSize>
427 klxi18ncp(
const char (&context)[ContextSize],
const char (&singular)[SingularSize],
const char (&plural)[PluralSize]);
429 constexpr inline KLazyLocalizedString(
const char *context,
const char *text,
const char *plural,
bool markupAware)
433 , m_markupAware(markupAware)
437 const char *m_context =
nullptr;
438 const char *m_text =
nullptr;
439 const char *m_plural =
nullptr;
440 bool m_markupAware =
false;
450template<std::
size_t TextSize>
464template<std::
size_t ContextSize, std::
size_t TextSize>
478template<std::
size_t SingularSize, std::
size_t PluralSize>
479constexpr inline KLazyLocalizedString kli18np(
const char (&singular)[SingularSize],
const char (&plural)[PluralSize])
493template<std::
size_t ContextSize, std::
size_t SingularSize, std::
size_t PluralSize>
494constexpr inline KLazyLocalizedString kli18ncp(
const char (&context)[ContextSize],
const char (&singular)[SingularSize],
const char (&plural)[PluralSize])
506template<std::
size_t TextSize>
520template<std::
size_t ContextSize, std::
size_t TextSize>
521constexpr inline KLazyLocalizedString klxi18nc(
const char (&context)[ContextSize],
const char (&text)[TextSize])
534template<std::
size_t SingularSize, std::
size_t PluralSize>
535constexpr inline KLazyLocalizedString klxi18np(
const char (&singular)[SingularSize],
const char (&plural)[PluralSize])
549template<std::
size_t ContextSize, std::
size_t SingularSize, std::
size_t PluralSize>
550constexpr inline KLazyLocalizedString klxi18ncp(
const char (&context)[ContextSize],
const char (&singular)[SingularSize],
const char (&plural)[PluralSize])
Lazy-initialized variant of KLocalizedString.
Definition klazylocalizedstring.h:51
KLocalizedString withLanguages(const QStringList &languages) const
Indicate to look for translation only in given languages.
Definition klazylocalizedstring.h:166
constexpr const char * untranslatedText() const
Returns the raw untranslated text as passed to kli18n*.
Definition klazylocalizedstring.h:101
KLocalizedString subs(qulonglong a, int fieldWidth=0, int base=10, QChar fillChar=QLatin1Char(' ')) const
Substitute an unsigned long long argument into the message.
Definition klazylocalizedstring.h:292
constexpr KLazyLocalizedString()=default
Construct an empty message.
QString toString() const
Finalize the translation.
Definition klazylocalizedstring.h:116
KLocalizedString subs(int a, int fieldWidth=0, int base=10, QChar fillChar=QLatin1Char(' ')) const
Substitute an int argument into the message.
Definition klazylocalizedstring.h:207
KLocalizedString subs(qlonglong a, int fieldWidth=0, int base=10, QChar fillChar=QLatin1Char(' ')) const
Substitute a long long argument into the message.
Definition klazylocalizedstring.h:275
KLocalizedString subs(const KLocalizedString &a, int fieldWidth=0, QChar fillChar=QLatin1Char(' ')) const
Substitute another KLocalizedString into the message.
Definition klazylocalizedstring.h:353
KLocalizedString withFormat(Kuit::VisualFormat format) const
Indicate to resolve KUIT markup into given visual format.
Definition klazylocalizedstring.h:190
KLocalizedString subs(const QString &a, int fieldWidth=0, QChar fillChar=QLatin1Char(' ')) const
Substitute a QString argument into the message.
Definition klazylocalizedstring.h:338
KLocalizedString subs(long a, int fieldWidth=0, int base=10, QChar fillChar=QLatin1Char(' ')) const
Substitute a long argument into the message.
Definition klazylocalizedstring.h:241
KLocalizedString subs(uint a, int fieldWidth=0, int base=10, QChar fillChar=QLatin1Char(' ')) const
Substitute an unsigned int argument into the message.
Definition klazylocalizedstring.h:224
QString toString(const char *domain) const
Like toString(), but look for translation in the given domain.
Definition klazylocalizedstring.h:141
QString toString(const QStringList &languages) const
Like toString(), but look for translation only in given languages.
Definition klazylocalizedstring.h:130
KLocalizedString subs(double a, int fieldWidth=0, char format='g', int precision=-1, QChar fillChar=QLatin1Char(' ')) const
Substitute a double argument into the message.
Definition klazylocalizedstring.h:308
KLocalizedString subs(ulong a, int fieldWidth=0, int base=10, QChar fillChar=QLatin1Char(' ')) const
Substitute an unsigned long argument into the message.
Definition klazylocalizedstring.h:258
constexpr bool isEmpty() const
Check whether the message is empty.
Definition klazylocalizedstring.h:95
KLocalizedString inContext(const QString &key, const QString &value) const
Add dynamic context to the message.
Definition klazylocalizedstring.h:367
KLocalizedString relaxSubs() const
Relax matching between placeholders and arguments.
Definition klazylocalizedstring.h:389
KLocalizedString ignoreMarkup() const
Do not resolve KUIT markup.
Definition klazylocalizedstring.h:404
QString toString(Kuit::VisualFormat format) const
Like toString(), but resolve KUIT markup into given visual format.
Definition klazylocalizedstring.h:155
KLocalizedString subs(QChar a, int fieldWidth=0, QChar fillChar=QLatin1Char(' ')) const
Substitute a QChar argument into the message.
Definition klazylocalizedstring.h:323
KLocalizedString withDomain(const char *domain) const
Indicate to look for translation in the given domain.
Definition klazylocalizedstring.h:177
Class for producing and handling localized messages.
Definition klocalizedstring.h:99
KLocalizedString inContext(const QString &key, const QString &value) const
Add dynamic context to the message.
KLocalizedString withDomain(const char *domain) const
Indicate to look for translation in the given domain.
QString toString() const
Finalize the translation.
KLocalizedString withFormat(Kuit::VisualFormat format) const
Indicate to resolve KUIT markup into given visual format.
KLocalizedString withLanguages(const QStringList &languages) const
Indicate to look for translation only in given languages.
KLocalizedString ignoreMarkup() const
Do not resolve KUIT markup.
KLocalizedString subs(int a, int fieldWidth=0, int base=10, QChar fillChar=QLatin1Char(' ')) const
Substitute an int argument into the message.
KLocalizedString relaxSubs() const
Relax matching between placeholders and arguments.
VisualFormat
Visual formats into which KUIT markup can be resolved.
Definition kuitsetup.h:27