Deskflow 1.25.0.128
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
33 static QString nativeTo639Name(QString nativeName);
34
40 static QString toNativeName(QString shortName);
41
46 static QString currentLanguage();
47
52 static void setLanguage(const QString &langName);
53
57 static void reDetectLanguages();
58
59Q_SIGNALS:
64 void languageChanged(const QString language);
69 void languagesChanged(const QStringList languages);
70
71private:
72 explicit I18N(QObject *parent = nullptr);
73
74 I18N *operator=(I18N &other) = delete;
75 I18N(const I18N &other) = delete;
76 ~I18N() override = default;
77 void detectLanguages();
78
79 QMap<QString, QStringList> m_translations;
80 QMap<QString, QString> m_nameMap;
81 QList<QTranslator *> m_currentTranslations;
82 QString m_currentLang = QStringLiteral("en");
83 QString m_appTrPath;
84 QString m_qtTrPath;
85};
void languagesChanged(const QStringList languages)
languagesChanged Emitted when the detected languages changes
static QString toNativeName(QString shortName)
toNativeName Convert a 639 Name into a Native Language string
Definition I18N.cpp:124
static void setLanguage(const QString &langName)
setLanguage Sets the current language
Definition I18N.cpp:134
static QString currentLanguage()
currentLanguage
Definition I18N.cpp:129
void languageChanged(const QString language)
languageChanged Emitted when the current language changes
static QString nativeTo639Name(QString nativeName)
nativeTo639Name Convert a native Language name into a 639 name
Definition I18N.cpp:119
static I18N * instance()
Definition I18N.cpp:19
static QStringList detectedLanguages()
detectedLanguages
Definition I18N.cpp:114
static void reDetectLanguages()
detectLanguages Detect new language files
Definition I18N.cpp:165