File: i18n.py

package info (click to toggle)
fontypython 0.4.6-1
  • links: PTS, VCS
  • area: main
  • in suites: stretch
  • size: 1,152 kB
  • ctags: 559
  • sloc: python: 3,619; makefile: 10
file content (58 lines) | stat: -rw-r--r-- 2,124 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
##	Fonty Python Copyright (C) 2006, 2007, 2008, 2009 Donn.C.Ingle
##	Contact: donn.ingle@gmail.com - I hope this email lasts.
##
##	This file is part of Fonty Python.
##	Fonty Python is free software: you can redistribute it and/or modify
##	it under the terms of the GNU General Public License as published by
##	the Free Software Foundation, either version 3 of the License, or
##	(at your option) any later version.
##
##	Fonty Python is distributed in the hope that it will be useful,
##	but WITHOUT ANY WARRANTY; without even the implied warranty of
##	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
##	GNU General Public License for more details.
##
##	You should have received a copy of the GNU General Public License
##	along with Fonty Python.  If not, see <http://www.gnu.org/licenses/>.

import locale, gettext, sys, os

## Had to copy this from fpsys. When doing a proper installation
## the relative links to locale stop working. I need to know
## where fontypythonmodules actually lives.
root = __file__
if os.path.islink(root):
	root = os.path.realpath(root)
fontyroot = os.path.dirname(os.path.abspath(root)) 
		
## Dec 2007
## Try to setup the proper locale to get i18n started:
localedir = os.path.join(fontyroot, "locale")

try:
	loc = locale.setlocale( locale.LC_ALL, "" ) # This sets the locale to the system's default.
except:
	print "And now for something completely different..."
	print "setlocale failed. Please report this to us."
	raise SystemExit
			
## REMEMBER:
## locale.getlocale() -- DON'T USE getlocale
## ALWAYS use locale.getpreferredencoding()
## On my system when LANG=C or LANG=
## This returns "ANSI_X3.4-1968"

## The .mo file is called "all.mo"
domain = "all"
gettext.install( domain, localedir, unicode = True )

try:
	lang = gettext.translation (domain, localedir, languages=[loc])#have to have last param ...
	lang.install(unicode = True )

except IOError:
	## Could not find the domain.mo file.
	## I won't print a message because this file runs twice (fontypython and start_fontypython)
	## and that dumps two messages, which sucks.
	pass # default to English.