Cutelee 6.1.0
abstractlocalizer.h
1/*
2 This file is part of the Cutelee 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 CUTELEE_ABSTRACTLOCALIZER_H
22#define CUTELEE_ABSTRACTLOCALIZER_H
23
24#include "cutelee_templates_export.h"
25
26#include <QtCore/QLocale>
27#include <QtCore/QVariantList>
28
29class QDateTime;
30
31namespace Cutelee
32{
33
42class CUTELEE_TEMPLATES_EXPORT AbstractLocalizer
43{
44public:
49
53 virtual ~AbstractLocalizer();
54
61 virtual QString localize(const QVariant &variant) const;
62
66 virtual QString currentLocale() const = 0;
67
71 virtual void pushLocale(const QString &localeName) = 0;
72
76 virtual void popLocale() = 0;
77
81 virtual void loadCatalog(const QString &path, const QString &catalog) = 0;
82
86 virtual void unloadCatalog(const QString &catalog) = 0;
87
91 virtual QString localizeNumber(int number) const = 0;
92
96 virtual QString localizeNumber(qreal number) const = 0;
97
102 virtual QString localizeMonetaryValue(qreal value, const QString &currencyCode
103 = {}) const = 0;
104
108 virtual QString localizeDate(const QDate &date,
109 QLocale::FormatType formatType
110 = QLocale::ShortFormat) const = 0;
111
115 virtual QString localizeTime(const QTime &time,
116 QLocale::FormatType formatType
117 = QLocale::ShortFormat) const = 0;
118
122 virtual QString localizeDateTime(const QDateTime &dateTime,
123 QLocale::FormatType formatType
124 = QLocale::ShortFormat) const = 0;
125
129 virtual QString localizeString(const QString &string,
130 const QVariantList &arguments = {}) const = 0;
131
136 virtual QString
137 localizeContextString(const QString &string, const QString &context,
138 const QVariantList &arguments = {}) const = 0;
139
144 virtual QString
145 localizePluralString(const QString &string, const QString &pluralForm,
146 const QVariantList &arguments = {}) const = 0;
147
152 virtual QString
153 localizePluralContextString(const QString &string, const QString &pluralForm,
154 const QString &context,
155 const QVariantList &arguments = {}) const = 0;
156
157private:
158 Q_DISABLE_COPY(AbstractLocalizer)
159};
160}
161
162#endif
Interface for implementing an internationalization system.
virtual void loadCatalog(const QString &path, const QString &catalog)=0
virtual void popLocale()=0
virtual QString currentLocale() const =0
virtual QString localizePluralString(const QString &string, const QString &pluralForm, const QVariantList &arguments={}) const =0
virtual void unloadCatalog(const QString &catalog)=0
virtual QString localizeDate(const QDate &date, QLocale::FormatType formatType=QLocale::ShortFormat) const =0
virtual QString localizeMonetaryValue(qreal value, const QString &currencyCode={}) const =0
virtual QString localizeNumber(qreal number) const =0
virtual QString localizeNumber(int number) const =0
virtual void pushLocale(const QString &localeName)=0
virtual QString localizePluralContextString(const QString &string, const QString &pluralForm, const QString &context, const QVariantList &arguments={}) const =0
virtual QString localizeTime(const QTime &time, QLocale::FormatType formatType=QLocale::ShortFormat) const =0
virtual QString localizeContextString(const QString &string, const QString &context, const QVariantList &arguments={}) const =0
virtual QString localizeDateTime(const QDateTime &dateTime, QLocale::FormatType formatType=QLocale::ShortFormat) const =0
virtual QString localizeString(const QString &string, const QVariantList &arguments={}) const =0
The Cutelee namespace holds all public Cutelee API.
Definition Mainpage.dox:8