def _initLocales(self): locales = QLocale.matchingLocales(QLocale.AnyLanguage, QLocale.AnyScript, QLocale.AnyCountry) localeDict = {} for loc in locales: langName = QLocale.languageToString(loc.language()) if langName == "C": continue if langName in localeDict: continue localeDict[langName] = loc self._localeDict = localeDict
def _expand(self, language): ''' @param: QLocale::Language @return: QStringList ''' allLanguages = [] countries = QLocale.matchingLocales(language, QLocale.AnyScript, QLocale.AnyCountry) for jdx in range(0, len(countries)): languageString = '' country = countries[jdx].country() if len(countries) == 1: languageString = '%s [%s]' % (QLocale.languageToString( language), QLocale(language).name().split('_')[0]) else: languageString = '%s/%s [%s]' % (QLocale.languageToString( language), QLocale.countryToString(country), ('-'.join( QLocale(language, country).name().split('_'))).lower()) if languageString not in allLanguages: allLanguages.append(languageString) return allLanguages