From 34a910ec3a1ab545db29156552a0d31d56e5996c Mon Sep 17 00:00:00 2001 From: Peter Landgren Date: Sun, 7 Feb 2010 18:01:17 +0000 Subject: [PATCH] Step towards fix of translation in Windows. svn: r14268 --- src/TransUtils.py | 6 ++-- src/Utils.py | 31 ------------------ src/constfunc.py | 80 +++++++++++++++++++++++++++++++++++++++++++++++ src/gramps.py | 16 +++++----- 4 files changed, 92 insertions(+), 41 deletions(-) create mode 100644 src/constfunc.py diff --git a/src/TransUtils.py b/src/TransUtils.py index 46c3870ea..1713d0d1b 100644 --- a/src/TransUtils.py +++ b/src/TransUtils.py @@ -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" diff --git a/src/Utils.py b/src/Utils.py index 60b2db379..93882a73d 100644 --- a/src/Utils.py +++ b/src/Utils.py @@ -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 diff --git a/src/constfunc.py b/src/constfunc.py new file mode 100644 index 000000000..3b5111a7a --- /dev/null +++ b/src/constfunc.py @@ -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 diff --git a/src/gramps.py b/src/gramps.py index a0891d9e7..a34ced148 100644 --- a/src/gramps.py +++ b/src/gramps.py @@ -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())