|
constexpr | KLazyLocalizedString ()=default |
| Construct an empty message.
|
|
KLocalizedString | ignoreMarkup () const |
| Do not resolve KUIT markup.
|
|
KLocalizedString | inContext (const QString &key, const QString &value) const |
| Add dynamic context to the message.
|
|
constexpr bool | isEmpty () const |
| Check whether the message is empty.
|
|
| operator KLocalizedString () const |
| Convert to a KLocalizedString to actually perform the translation and obtain a concrete localized string.
|
|
KLocalizedString | relaxSubs () const |
| Relax matching between placeholders and arguments.
|
|
KLocalizedString | subs (const KLocalizedString &a, int fieldWidth=0, QChar fillChar=QLatin1Char(' ')) const |
| Substitute another KLocalizedString into the message.
|
|
KLocalizedString | subs (const QString &a, int fieldWidth=0, QChar fillChar=QLatin1Char(' ')) const |
| Substitute a QString argument into the message.
|
|
KLocalizedString | subs (double a, int fieldWidth=0, char format='g', int precision=-1, QChar fillChar=QLatin1Char(' ')) const |
| Substitute a double argument into the message.
|
|
KLocalizedString | subs (int a, int fieldWidth=0, int base=10, QChar fillChar=QLatin1Char(' ')) const |
| Substitute an int argument into the message.
|
|
KLocalizedString | subs (long a, int fieldWidth=0, int base=10, QChar fillChar=QLatin1Char(' ')) const |
| Substitute a long argument into the message.
|
|
KLocalizedString | subs (QChar a, int fieldWidth=0, QChar fillChar=QLatin1Char(' ')) const |
| Substitute a QChar argument into the message.
|
|
KLocalizedString | subs (qlonglong a, int fieldWidth=0, int base=10, QChar fillChar=QLatin1Char(' ')) const |
| Substitute a long long argument into the message.
|
|
KLocalizedString | subs (qulonglong a, int fieldWidth=0, int base=10, QChar fillChar=QLatin1Char(' ')) const |
| Substitute an unsigned long long argument into the message.
|
|
KLocalizedString | subs (uint a, int fieldWidth=0, int base=10, QChar fillChar=QLatin1Char(' ')) const |
| Substitute an unsigned int argument into the message.
|
|
KLocalizedString | subs (ulong a, int fieldWidth=0, int base=10, QChar fillChar=QLatin1Char(' ')) const |
| Substitute an unsigned long argument into the message.
|
|
QString | toString () const |
| Finalize the translation.
|
|
QString | toString (const char *domain) const |
| Like toString(), but look for translation in the given domain.
|
|
QString | toString (const QStringList &languages) const |
| Like toString(), but look for translation only in given languages.
|
|
QString | toString (Kuit::VisualFormat format) const |
| Like toString(), but resolve KUIT markup into given visual format.
|
|
constexpr const char * | untranslatedText () const |
| Returns the raw untranslated text as passed to kli18n* .
|
|
KLocalizedString | withDomain (const char *domain) const |
| Indicate to look for translation in the given domain.
|
|
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.
|
|
Lazy-initialized variant of KLocalizedString.
This is a safer replacement for the I18N_NOOP set of macros and allows marking strings for extraction without runtime-initializing KLocalizedString instances, for storing in static data tables.
Instances of KLazyLocalizedString are not created directly, unless they should be empty. Instead they have to be obtained via the kli18n* functions (similar to KLocalizedString and the ki18n* functions).
Example usage in a static message table:
struct {
MyClass::VehicleType type;
} static constexpr const vehicle_msg_table[] = {
{ MyClass::Train, kli18np("%1 train", "%1 trains") },
{ MyClass::Bus,
kli18ncp(
"the vehicle, not the USB one",
"%1 bus",
"%1 buses") },
...
};
...
const auto it = std::find_if(std::begin(vehicle_msg_table), std::end(vehicle_msg_table), [vehicleType](const auto &m) { return m.type == vehicleType; });
QString translatedMessage = (*it).msg.
subs(vehicleCount).
toString();
Lazy-initialized variant of KLocalizedString.
Definition klazylocalizedstring.h:51
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
friend constexpr KLazyLocalizedString kli18ncp(const char(&context)[ContextSize], const char(&singular)[SingularSize], const char(&plural)[PluralSize])
Mark the string singular and plural with context for extraction.
Definition klazylocalizedstring.h:494
QString toString() const
Finalize the translation.
- Note
- KLazyLocalizedString is primarily meant for storage in e.g. message tables, not for use in API, especially not across translation domains. This is due to it not carrying the translation domain in which it was created, but using the active translation domain at the point of converting to a KLocalizedString.
- Since
- 5.89
Relax matching between placeholders and arguments.
Normally the placeholders should start from %1 and have no gaps, and on finalization there must be exactly as many arguments supplied through subs
methods as there are unique plaecholders. If this is not satisfied, in debug mode warnings are printed and the finalized string may contain error marks.
This method relaxes the placeholder-argument matching, such that there must only be an argument available for every present unique placeholder (taking placeholder numbers to be 1-based indices into the argument list). This can come useful in some situations.
- Returns
- updated KLocalizedString