AusweisApp2
LanguageLoader.h
gehe zur Dokumentation dieser Datei
1/*
2 * \brief Loads translation files for different languages.
3 *
4 * \copyright Copyright (c) 2014-2022 Governikus GmbH & Co. KG, Germany
5 */
6
7#pragma once
8
9#include <QLocale>
10#include <QSharedPointer>
11#include <QTranslator>
12#include <QVector>
13
14class test_LanguageLoader;
15class test_ProviderParser;
16class test_ProviderConfigurationParser;
17
18namespace governikus
19{
20
22{
23 Q_DISABLE_COPY(LanguageLoader)
24 friend class ::test_LanguageLoader;
25 friend class ::test_ProviderConfigurationParser;
26
27 private:
28 static const QLocale::Language mFallbackLanguage;
29 static QLocale mDefaultLanguage;
30
31 QString mPath;
32 QVector<QSharedPointer<QTranslator>> mTranslatorList;
33 const QStringList mComponentList;
34 QLocale mUsedLocale;
35
36 bool loadTranslationFiles(const QLocale& pLocale);
37 QSharedPointer<QTranslator> createTranslator(const QLocale& pLocale, const QString& pComponent);
38
39 protected:
41 ~LanguageLoader() = default;
42
43 public:
44 [[nodiscard]] static const QLocale& getDefaultLanguage();
45 static void setDefaultLanguage(const QLocale& pLocale);
47 static QString getLocaleCode(const QLocale& pLocale = getInstance().getUsedLocale());
48
49#ifndef QT_NO_DEBUG
50 [[nodiscard]] const QString& getPath() const;
51 void setPath(const QString& pPath);
52#endif
53
54 void load(const QLocale& pLocale = getDefaultLanguage());
55 void unload();
56 [[nodiscard]] bool isLoaded() const;
57 [[nodiscard]] const QLocale& getUsedLocale() const;
58 [[nodiscard]] QLocale::Language getFallbackLanguage() const;
59 [[nodiscard]] QList<QLocale> getAvailableLocales() const;
60};
61
62} // namespace governikus
Definition: LanguageLoader.h:22
bool isLoaded() const
Definition: LanguageLoader.cpp:123
static const QLocale & getDefaultLanguage()
Definition: LanguageLoader.cpp:44
static void setDefaultLanguage(const QLocale &pLocale)
Definition: LanguageLoader.cpp:50
void unload()
Definition: LanguageLoader.cpp:158
void setPath(const QString &pPath)
Definition: LanguageLoader.cpp:69
const QString & getPath() const
Definition: LanguageLoader.cpp:63
static QString getLocaleCode(const QLocale &pLocale=getInstance().getUsedLocale())
Definition: LanguageLoader.cpp:56
QLocale::Language getFallbackLanguage() const
Definition: LanguageLoader.cpp:184
static LanguageLoader & getInstance()
QList< QLocale > getAvailableLocales() const
Definition: LanguageLoader.cpp:94
void load(const QLocale &pLocale=getDefaultLanguage())
Definition: LanguageLoader.cpp:129
const QLocale & getUsedLocale() const
Definition: LanguageLoader.cpp:178
A simple template renderer.
Definition: ActivationContext.h:15