예제 #1
0
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
예제 #2
0
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
예제 #3
0
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
예제 #4
0
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
예제 #5
0
 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)
예제 #6
0
 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)