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 ¤tCode) 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 }