impl_get_information and impl_set_information are, now, persistent in storage
[tiramisu.git] / tiramisu / i18n.py
1 #!/usr/bin/env python
2 # -*- coding: UTF-8 -*-
3 "internationalisation utilities"
4 import gettext
5 import os
6 import sys
7 import locale
8
9 # Application Name
10 APP_NAME = 'tiramisu'
11
12 # Traduction dir
13 APP_DIR = os.path.join(sys.prefix, 'share')
14 LOCALE_DIR = os.path.join(APP_DIR, 'locale')
15
16 # Default Lanugage
17 DEFAULT_LANG = os.environ.get('LANG', '').split(':')
18 DEFAULT_LANG += ['en_US']
19
20 languages = []
21 lc, encoding = locale.getdefaultlocale()
22 if lc:
23     languages = [lc]
24
25 languages += DEFAULT_LANG
26 mo_location = LOCALE_DIR
27
28
29 if sys.version_info[0] >= 3:
30     gettext.install(True, localedir=None)
31 else:
32     gettext.install(True, localedir=None, unicode=1)
33 gettext.find(APP_NAME, mo_location)
34 gettext.textdomain(APP_NAME)
35 gettext.bind_textdomain_codeset(APP_NAME, "UTF-8")
36 gettext.translation(APP_NAME, fallback=True)
37
38 _ = gettext.gettext