diff options
Diffstat (limited to 'src/core/kconfigini.cpp')
| -rw-r--r-- | src/core/kconfigini.cpp | 7 | 
1 files changed, 6 insertions, 1 deletions
| diff --git a/src/core/kconfigini.cpp b/src/core/kconfigini.cpp index f4ce9410..5fe4de03 100644 --- a/src/core/kconfigini.cpp +++ b/src/core/kconfigini.cpp @@ -85,6 +85,8 @@ KConfigIniBackend::parseConfig(const QByteArray ¤tLocale, KEntryMap &entry          return ParseOk;      } +    const QByteArray currentLanguage = currentLocale.split('_').first(); +      bool bDefault = options & ParseDefaults;      bool allowExecutableValues = options & ParseExpansions; @@ -251,7 +253,7 @@ KConfigIniBackend::parseConfig(const QByteArray ¤tLocale, KEntryMap &entry              }              printableToString(&aKey, file, lineNo);              if (!locale.isEmpty()) { -                if (locale != currentLocale) { +                if (locale != currentLocale && locale != currentLanguage) {                      // backward compatibility. C == en_US                      if (locale.at(0) != 'C' || currentLocale != "en_US") {                          if (merging) { @@ -275,6 +277,9 @@ KConfigIniBackend::parseConfig(const QByteArray ¤tLocale, KEntryMap &entry              }              if (!locale.isNull()) {                  entryOptions |= KEntryMap::EntryLocalized; +                if (locale.indexOf('_') != -1) { +                    entryOptions |= KEntryMap::EntryLocalizedCountry; +                }              }              printableToString(&line, file, lineNo);              if (entryOptions & KEntryMap::EntryRawKey) { | 
