Grantlee 5.2.0

abstractlocalizer.h
1 /*
2 This file is part of the Grantlee template system.
3
4 Copyright (c) 2010 Stephen Kelly <steveire@gmail.com>
5
6 This library is free software; you can redistribute it and/or
7 modify it under the terms of the GNU Lesser General Public
8 License as published by the Free Software Foundation; either version
9 2.1 of the Licence, or (at your option) any later version.
10
11 This library is distributed in the hope that it will be useful,
12 but WITHOUT ANY WARRANTY; without even the implied warranty of
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 Lesser General Public License for more details.
15
16 You should have received a copy of the GNU Lesser General Public
17 License along with this library. If not, see <http://www.gnu.org/licenses/>.
18
19 */
20
21 #ifndef GRANTLEE_ABSTRACTLOCALIZER_H
22 #define GRANTLEE_ABSTRACTLOCALIZER_H
23
24 #include "grantlee_templates_export.h"
25
26 #include <QtCore/QLocale>
27 #include <QtCore/QSharedPointer>
28 #include <QtCore/QVariantList>
29
30 class QDateTime;
31
32 namespace Grantlee
33 {
34
43 class GRANTLEE_TEMPLATES_EXPORT AbstractLocalizer
44 {
45 public:
49 AbstractLocalizer();
50
54 virtual ~AbstractLocalizer();
55
62 virtual QString localize(const QVariant &variant) const;
63
67 virtual QString currentLocale() const = 0;
68
72 virtual void pushLocale(const QString &localeName) = 0;
73
77 virtual void popLocale() = 0;
78
82 virtual void loadCatalog(const QString &path, const QString &catalog) = 0;
83
87 virtual void unloadCatalog(const QString &catalog) = 0;
88
92 virtual QString localizeNumber(int number) const = 0;
93
97 virtual QString localizeNumber(qreal number) const = 0;
98
103 virtual QString localizeMonetaryValue(qreal value, const QString &currencyCode
104 = {}) const = 0;
105
109 virtual QString localizeDate(const QDate &date,
110 QLocale::FormatType formatType
111 = QLocale::ShortFormat) const = 0;
112
116 virtual QString localizeTime(const QTime &time,
117 QLocale::FormatType formatType
118 = QLocale::ShortFormat) const = 0;
119
123 virtual QString localizeDateTime(const QDateTime &dateTime,
124 QLocale::FormatType formatType
125 = QLocale::ShortFormat) const = 0;
126
130 virtual QString localizeString(const QString &string,
131 const QVariantList &arguments = {}) const = 0;
132
137 virtual QString
138 localizeContextString(const QString &string, const QString &context,
139 const QVariantList &arguments = {}) const = 0;
140
145 virtual QString
146 localizePluralString(const QString &string, const QString &pluralForm,
147 const QVariantList &arguments = {}) const = 0;
148
153 virtual QString
154 localizePluralContextString(const QString &string, const QString &pluralForm,
155 const QString &context,
156 const QVariantList &arguments = {}) const = 0;
157
158 private:
159 Q_DISABLE_COPY(AbstractLocalizer)
160 };
161 }
162
163 #endif
Grantlee
The Grantlee namespace holds all public Grantlee API.
Definition: Mainpage.dox:7
Grantlee::AbstractLocalizer
Interface for implementing an internationalization system.
Definition: abstractlocalizer.h:43