~doctormo/gdm-commmunity-greeter/tails-merge

« back to all changes in this revision

Viewing changes to GdmGreeter/language.py

  • Committer: Martin Owens
  • Date: 2011-07-11 20:31:10 UTC
  • Revision ID: doctormo@gmail.com-20110711203110-tizszx4wcqko98yh
Use locale -a to list the supported languages.

Show diffs side-by-side

added added

removed removed

Lines of Context:
26
26
import gettext
27
27
 
28
28
from gi.repository import Gtk
29
 
 
 
29
from subprocess import Popen, PIPE
30
30
from gtkme import Window, FormWindow
31
31
 
32
32
MOFILES = '/usr/share/locale/'
33
33
DOMAIN  = 'gdm-community-greeter'
34
34
GDM_MOFILES = '/usr/share/locale-langpack/'
35
35
 
36
 
LANGS = [babel.Locale.parse(path.split('/')[-3]) for path in gettext.find(
37
 
    'gdm', GDM_MOFILES, languages=babel.Locale('en').languages.keys(), all=True)]
 
36
def get_supported_languages():
 
37
    """Runs locale -a to find supported languages"""
 
38
    unique = []
 
39
    cmd = Popen(['locale', '-a'], stdout=PIPE)
 
40
    for lang in str.split(cmd.communicate()[0]):
 
41
        if '_' in lang:
 
42
            lang = lang.split('_')[0]
 
43
            if lang not in unique:
 
44
                unique.append(lang)
 
45
                yield babel.Locale.parse(lang)
 
46
 
 
47
LANGS = list(get_supported_languages())
 
48
print LANGS
38
49
 
39
50
def get_texts(langs):
40
51
    result = {}