Deskflow 1.24.0.365
Keyboard and mouse sharing utility
Loading...
Searching...
No Matches
I18N.h
Go to the documentation of this file.
1/*
2 * Deskflow -- mouse and keyboard sharing utility
3 * SPDX-FileCopyrightText: (C) 2025 Chris Rizzitello <sithlord48@gmail.com>
4 * SPDX-License-Identifier: GPL-2.0-only WITH LicenseRef-OpenSSL-Exception
5 */
6
7#pragma once
8
9#include <QMap>
10#include <QObject>
11
12class QTranslator;
16class I18N : public QObject
17{
18 Q_OBJECT
19
20public:
21 static I18N *instance();
26 static QStringList detectedLanguages();
27
32 static QString currentLanguage();
33
38 static void setLanguage(const QString &langName);
39
43 static void reDetectLanguages();
44
45Q_SIGNALS:
50 void languageChanged(const QString language);
55 void langaugesChanged(const QStringList languages);
56
57private:
58 explicit I18N(QObject *parent = nullptr);
59
60 I18N *operator=(I18N &other) = delete;
61 I18N(const I18N &other) = delete;
62 ~I18N() override = default;
63 void detectLanguages();
64
65 QMap<QString, QStringList> m_translations;
66 QList<QTranslator *> m_currentTranslations;
67 QString m_currentLang = QStringLiteral("English");
68 QString m_appTrPath;
69 QString m_qtTrPath;
70};
static void setLanguage(const QString &langName)
setLanguage Sets the current language
Definition I18N.cpp:110
static QString currentLanguage()
currentLanguage
Definition I18N.cpp:105
void languageChanged(const QString language)
languageChanged Emitted when the current language changes
static I18N * instance()
Definition I18N.cpp:19
void langaugesChanged(const QStringList languages)
langaugesChanged Emitted when the detected languages changes
static QStringList detectedLanguages()
detectedLanguages
Definition I18N.cpp:100
static void reDetectLanguages()
detectLanguages Detect new language files
Definition I18N.cpp:141