diff options
author | Konstantin Ritt <ritt.ks@gmail.com> | 2012-11-21 15:45:18 +0200 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2012-11-21 18:23:59 +0100 |
commit | e7c79face6ec361e4ad0ff8303f1becafac8b2b6 (patch) | |
tree | 1218fa5b00471fa4ed4d9416e0e637081de2e46a /src/corelib/tools/qlocale.cpp | |
parent | 7a49d8dc06f1cf0d0c12cce9d12747df397c7fe2 (diff) |
[SIC/BIC] QLocale: update enums up to CLRD 1.9.1
This patch adds some missing codes (two-letter ones only),
removes an outdated ones, and updates some names.
The legacy language codes are handled in QLocalePrivate::codeToLanguage()
(fortunately, there are only 4 of such codes).
Change-Id: Iff50aecd1c762b6399cd151aebb955f341d366c6
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Diffstat (limited to 'src/corelib/tools/qlocale.cpp')
-rw-r--r-- | src/corelib/tools/qlocale.cpp | 21 |
1 files changed, 18 insertions, 3 deletions
diff --git a/src/corelib/tools/qlocale.cpp b/src/corelib/tools/qlocale.cpp index 97946b52c8..42cb3eda18 100644 --- a/src/corelib/tools/qlocale.cpp +++ b/src/corelib/tools/qlocale.cpp @@ -99,15 +99,30 @@ QLocale::Language QLocalePrivate::codeToLanguage(const QString &code) ushort uc2 = len-- > 0 ? code[1].toLower().unicode() : 0; ushort uc3 = len-- > 0 ? code[2].toLower().unicode() : 0; - if (uc1 == 'n' && uc2 == 'o' && uc3 == 0) - uc2 = 'b'; - const unsigned char *c = language_code_list; for (; *c != 0; c += 3) { if (uc1 == c[0] && uc2 == c[1] && uc3 == c[2]) return QLocale::Language((c - language_code_list)/3); } + // legacy codes + if (uc1 == 'n' && uc2 == 'o' && uc3 == 0) { // no -> nb + Q_STATIC_ASSERT(QLocale::Norwegian == QLocale::NorwegianBokmal); + return QLocale::Norwegian; + } + if (uc1 == 't' && uc2 == 'l' && uc3 == 0) { // tl -> fil + Q_STATIC_ASSERT(QLocale::Tagalog == QLocale::Filipino); + return QLocale::Tagalog; + } + if (uc1 == 's' && uc2 == 'h' && uc3 == 0) { // sh -> sr[_Latn] + Q_STATIC_ASSERT(QLocale::SerboCroatian == QLocale::Serbian); + return QLocale::SerboCroatian; + } + if (uc1 == 'm' && uc2 == 'o' && uc3 == 0) { // mo -> ro + Q_STATIC_ASSERT(QLocale::Moldavian == QLocale::Romanian); + return QLocale::Moldavian; + } + return QLocale::C; } |