You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
15 lines
718 B
15 lines
718 B
/* Выбор языка интерфейса независимо от регионального формата дат и чисел. */ |
|
#pragma once |
|
|
|
#include <QString> |
|
#include <QStringList> |
|
#include <QLocale> |
|
|
|
inline QString resolveGuiLanguage(const QString& preference, const QStringList& systemLanguages = QLocale::system().uiLanguages()) { |
|
if (preference == QStringLiteral("en") || preference == QStringLiteral("ru")) return preference; |
|
for (const QString& language : systemLanguages) { |
|
const QString code = language.section('-', 0, 0).section('_', 0, 0).toLower(); |
|
if (code == QStringLiteral("en") || code == QStringLiteral("ru")) return code; |
|
} |
|
return QStringLiteral("en"); |
|
}
|
|
|