wiRedPanda
Logic Circuit Simulator
Loading...
Searching...
No Matches
LanguageManager.h
Go to the documentation of this file.
1// Copyright 2015 - 2026, GIBIS-UNIFESP and the wiRedPanda contributors
2// SPDX-License-Identifier: GPL-3.0-or-later
3
7
8#pragma once
9
10#include <QObject>
11#include <QStringList>
12
13class QTranslator;
14
24class LanguageManager : public QObject
25{
26 Q_OBJECT
27
28public:
29 // --- Lifecycle ---
30
31 explicit LanguageManager(QObject *parent = nullptr);
32 ~LanguageManager() override;
33
34 // --- Translation ---
35
42 void loadTranslation(const QString &language);
43
45 QStringList availableLanguages() const;
46
51 QString displayName(const QString &langCode) const;
52
57 QString flagIcon(const QString &langCode) const;
58
59signals:
62
63private:
64 // --- Members ---
65
66 QTranslator *m_translator = nullptr;
67};
void loadTranslation(const QString &language)
Loads and installs the Qt translation for language.
LanguageManager(QObject *parent=nullptr)
void translationChanged()
Emitted after a translation has been successfully loaded (or reset to English).
QString flagIcon(const QString &langCode) const
Returns the flag icon resource path for langCode.
QStringList availableLanguages() const
Returns all available translation language codes, sorted, with "en" first.
~LanguageManager() override
QString displayName(const QString &langCode) const
Returns the native display name for langCode (e.g. "Deutsch" for "de").