Step towards fix of translation in Windows.

svn: r14268
This commit is contained in:
Peter Landgren 2010-02-07 18:01:17 +00:00
parent 22c4ec78cb
commit 34a910ec3a
4 changed files with 92 additions and 41 deletions

View File

@ -34,7 +34,7 @@ import gettext
import sys
import os
import locale
import ctypes
#-------------------------------------------------------------------------
#
# gramps modules
@ -83,10 +83,10 @@ def setup_windows_gtk():
""" function to decide if needed on windows
This function should be called on windows instead of locale.bindtextdomain
"""
from Utils import win
from constfunc import win
if win():
try:
libintl = ctypes.cdll.LoadLibrary("C:\\GTK\\gtk-2.18.5\\bin\\intl.dll")
libintl = ctypes.cdll.LoadLibrary("intl.dll")
libintl.bindtextdomain(LOCALEDOMAIN, LOCALEDIR)
except:
print "Error Loading translations into gtk.builder files"

View File

@ -212,37 +212,6 @@ def family_upper_name(family, db):
name = mother.get_primary_name().get_upper_name()
return name
#-------------------------------------------------------------------------
#
# Platform determination functions
#
#-------------------------------------------------------------------------
def lin():
"""
Return True if a linux system
Note: Normally do as linux in else statement of a check !
"""
if platform.system() in LINUX:
return True
return False
def mac():
"""
Return True if a Macintosh system
"""
if platform.system() in MACOS:
return True
return False
def win():
"""
Return True if a windows system
"""
if platform.system() in WINDOWS:
return True
return False
#-------------------------------------------------------------------------
#
# String Encoding functions

80
src/constfunc.py Normal file
View File

@ -0,0 +1,80 @@
#
# Gramps - a GTK+/GNOME based genealogy program
#
# Copyright (C) 2000-2006 Donald N. Allingham
# Copyright (C) 2009 Brian G. Matherly
# Copyright (C) 2009 Peter G. Landgren
# This program 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 2 of the License, or
# (at your option) any later version.
#
# This program 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 this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
#
# $Id:TransUtils.py 9912 2008-01-22 09:17:46Z acraphae $
"""
Some independet constants
"""
#------------------------------------------------------------------------
#
# python modules
#
#------------------------------------------------------------------------
import sys
import os
import platform
#import locale
#-------------------------------------------------------------------------
#
# Gramps modules
#
#-------------------------------------------------------------------------
from const import WINDOWS, MACOS, LINUX
#-------------------------------------------------------------------------
#
# Public Functions
#
#-------------------------------------------------------------------------
#-------------------------------------------------------------------------
#
# Platform determination functions
#
#-------------------------------------------------------------------------
def lin():
"""
Return True if a linux system
Note: Normally do as linux in else statement of a check !
"""
if platform.system() in LINUX:
return True
return False
def mac():
"""
Return True if a Macintosh system
"""
if platform.system() in MACOS:
return True
return False
def win():
"""
Return True if a windows system
"""
if platform.system() in WINDOWS:
return True
return False

View File

@ -44,7 +44,7 @@ LOG = logging.getLogger(".")
#-------------------------------------------------------------------------
from gen.mime import mime_type_is_defined
import TransUtils
import constfunc
#-------------------------------------------------------------------------
#
# Load internationalization setup
@ -67,12 +67,14 @@ except ValueError:
gettext.textdomain(TransUtils.LOCALEDOMAIN)
gettext.install(TransUtils.LOCALEDOMAIN, localedir=None, unicode=1) #None is sys default locale
try:
locale.bindtextdomain(TransUtils.LOCALEDOMAIN, TransUtils.LOCALEDIR)
#locale.textdomain(TransUtils.LOCALEDOMAIN)
except locale.Error:
print 'No translation in some gtk.Builder strings, '\
'call TransUtils.setup_windows_gtk ??'
if not constfunc.win():
try:
locale.bindtextdomain(TransUtils.LOCALEDOMAIN, TransUtils.LOCALEDIR)
#locale.textdomain(TransUtils.LOCALEDOMAIN)
except locale.Error:
print 'No translation in some gtk.Builder strings, '
else:
TransUtils.setup_windows_gtk()
LOG.debug('Using locale:', locale.getlocale())