Krita Source Code Documentation
Loading...
Searching...
No Matches
LocaleHandler.cpp File Reference
#include <QDebug>
#include <text/KoWritingSystemUtils.h>
#include <KLocalizedString>
#include <KConfigGroup>
#include <KSharedConfig>
#include "LocaleHandler.h"

Go to the source code of this file.

Classes

struct  LocaleHandler::Private
 
struct  AllLanguagesModel::Private
 
struct  FavoriteLocaleModel::Private
 

Functions

const QString localeName (const KoWritingSystemUtils::Bcp47Locale &locale)
 

Function Documentation

◆ localeName()

const QString localeName ( const KoWritingSystemUtils::Bcp47Locale & locale)

Definition at line 15 of file LocaleHandler.cpp.

15 {
16 if (!locale.isValid()) return i18nc("Empty locale", "Empty");
17
18 QString name;
19 const QLocale l = KoWritingSystemUtils::localeFromBcp47Locale(locale);
20 const QString lang = QLocale::languageToString(l.language());
21 const QString region = QLocale::countryToString(l.country());
22
23 if (!lang.isEmpty() && lang != "C") {
24 if (!locale.regionTag.isEmpty()) {
25 if (!locale.variantTags.isEmpty()) {
26 name = i18nc("language, region, variant", "%1, %2, variant: %3", lang, region, locale.variantTags.join("-"));
27 } else {
28 name = i18nc("language, variant", "%1, variant: %2", lang, region);
29 }
30 } else {
31 if (!locale.variantTags.isEmpty()) {
32 name = i18nc("language, variant", "%1, variant: %2", lang, locale.variantTags.join("-"));
33 } else {
34 name = lang;
35 }
36 }
37 } else {
38 name = locale.toString();
39 }
40
41 return name;
42}
static QLocale localeFromBcp47Locale(const Bcp47Locale &locale)
const char * name(StandardAction id)

References KoWritingSystemUtils::Bcp47Locale::isValid(), KoWritingSystemUtils::localeFromBcp47Locale(), KoWritingSystemUtils::Bcp47Locale::regionTag, KoWritingSystemUtils::Bcp47Locale::toString(), and KoWritingSystemUtils::Bcp47Locale::variantTags.