Add i18n to mussorgsky
[mussorgsky] / src / i18n.py
1 import os, sys
2 import locale
3 import gettext
4
5 APP_NAME = "mussorgsky"
6
7 APP_DIR = os.path.join (sys.prefix,
8                         'share',
9                         APP_NAME)
10
11 LOCALE_DIR = os.path.join(APP_DIR, 'locale')
12
13 DEFAULT_LANGUAGES = os.environ.get('LANGUAGE', '').split(':')
14 DEFAULT_LANGUAGES += ['en_US']
15
16 # Init i18n stuff
17 lc, encoding = locale.getdefaultlocale()
18
19 if lc:
20     languages = [lc]
21
22 # DEBUG: to test translation without installation
23 #languages = ["es_ES"]
24 #mo_location = os.path.realpath(os.path.dirname(sys.argv[1]))
25 #print languages
26
27 languages += DEFAULT_LANGUAGES
28 mo_location = LOCALE_DIR
29
30 #print "Loading translations from: ", mo_location
31
32 gettext.install (True)
33 gettext.bindtextdomain (APP_NAME,
34                         mo_location)
35 gettext.textdomain (APP_NAME)
36 language = gettext.translation (APP_NAME,
37                                 mo_location,
38                                 languages = languages,
39                                 fallback = True)