Warning, file /pim/grantleetheme/src/grantleeki18nlocalizer.h was not indexed or was modified since last indexation (in which case cross-reference links may be missing, inaccurate or erroneous).

0001 /*
0002  * SPDX-FileCopyrightText: 2015 Daniel Vrátil <dvratil@redhat.com>
0003  *
0004  * SPDX-License-Identifier: LGPL-2.1-or-later
0005  *
0006  */
0007 
0008 #pragma once
0009 #include "grantleetheme_export.h"
0010 #include <KTextTemplate/QtLocalizer>
0011 #include <QObject>
0012 
0013 #include <QLocale>
0014 #include <QVariantHash>
0015 
0016 class KLocalizedString;
0017 namespace GrantleeTheme
0018 {
0019 /**
0020  * @brief The GrantleeKi18nLocalizer class
0021  */
0022 class GRANTLEETHEME_EXPORT GrantleeKi18nLocalizer : public KTextTemplate::QtLocalizer
0023 {
0024 public:
0025     explicit GrantleeKi18nLocalizer();
0026     ~GrantleeKi18nLocalizer() override;
0027 
0028     // Only reimplement string localization to use KLocalizedString instead of
0029     // tr(), the remaining methods use QLocale internally, so we can reuse them
0030     [[nodiscard]] QString localizeContextString(const QString &string, const QString &context, const QVariantList &arguments) const override;
0031     [[nodiscard]] QString localizeString(const QString &string, const QVariantList &arguments) const override;
0032     [[nodiscard]] QString
0033     localizePluralContextString(const QString &string, const QString &pluralForm, const QString &context, const QVariantList &arguments) const override;
0034     [[nodiscard]] QString localizePluralString(const QString &string, const QString &pluralForm, const QVariantList &arguments) const override;
0035 
0036     // Only exception, Grantlee's implementation is not using QLocale for this
0037     // for some reason
0038     [[nodiscard]] QString localizeMonetaryValue(qreal value, const QString &currentCode) const override;
0039 
0040     [[nodiscard]] QString currentLocale() const override;
0041 
0042     void setApplicationDomain(const QByteArray &domain);
0043 
0044 private:
0045     [[nodiscard]] GRANTLEETHEME_NO_EXPORT QString processArguments(const KLocalizedString &str, const QVariantList &arguments) const;
0046     QByteArray mApplicationDomain;
0047 };
0048 }