def availableLocales(): global _availableLocales if _availableLocales is not None: return _availableLocales else: localeQueryResult = subprocess.getstatusoutput("locale -a") # Mac and Unix only if localeQueryResult[0] == 0: # successful _availableLocales = set(locale.partition(".")[0].replace("_", "-") for locale in localeQueryResult[1].split("\n")) else: _availableLocales = set() return _availableLocales
def is_simple_locale_with_region(locale): """Check if a locale is only an ISO and region code.""" # Some locale are unicode names, which are not valid try: lang, sep, qualifier = locale.partition('_') except UnicodeDecodeError: return False if '-' in lang: return False # Only allow qualifiers that look like a country code, without any suffix if qualifier and len(qualifier) == 2: return True else: return False
def installLanguageSupportForLocale(self, locale): locale = locale.partition("_")[0] if subprocess.call( ['gksu', "apt-get -q -y install language-pack-%s" % locale]) != 0: QMessageBox().critical(self.menuNotebook, "Installation Error", self.messages['installLocaleError'], buttons=QMessageBox.Ok, defaultButton=QMessageBox.Ok) else: QMessageBox().information(self.menuNotebook, "Success", self.messages['installLocaleSuccess'], buttons=QMessageBox.Ok, defaultButton=QMessageBox.Ok)
def installLanguageSupportForLocale(self, locale): locale = locale.partition("_")[0] if subprocess.call(['gksu', "apt-get -q -y install language-pack-%s" % locale])!=0: QMessageBox().critical(self.menuNotebook, "Installation Error", self.messages['installLocaleError'], buttons=QMessageBox.Ok, defaultButton=QMessageBox.Ok) else: QMessageBox().information(self.menuNotebook, "Success", self.messages['installLocaleSuccess'], buttons=QMessageBox.Ok, defaultButton=QMessageBox.Ok)