Problème de traductions après passage a gtkbuilder
Bonjour,
Actuellement je suis en train de convertir un logiciel utilisant libglade vers gtkbuilder, en prévision desd prochaines version de gnome. Tout fonctionne parfaitement excepté une chose : les traductions.
En effet je n'arrive toujours pas à me passer de libglade pour charger les traductions et ne vois pas comment faire pour migrer le tout vers gtkbuilder.
Voila mon code pour la traduction :
Code:
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
| # import modules needed for language translation & gtk support
import os, sys
import gettext, locale
import gtk, gtk.glade
########################################################################
class Translator:
"""Class that contains functions to initiate language translations"""
#----------------------------------------------------------------------
def __init__(self, project):
"""Constructor"""
self.project = project
# Setup foreign language support
langs = []
lc, encoding = locale.getdefaultlocale()
if (lc):
langs = [lc]
language = os.environ.get('LANGUAGE', None)
if (language):
langs += language.split(":")
# Add languages... for testing
#langs += ["es", "fr"]
gtk.glade.textdomain("OpenShot")
gtk.glade.bindtextdomain("OpenShot", self.project.LOCALE_DIR)
gettext.textdomain("OpenShot")
gettext.bindtextdomain("OpenShot", self.project.LOCALE_DIR)
gettext.install(domain="OpenShot", unicode = True, codeset = 'utf-8')
# This reference is used by other classes to define the _ method
self.lang = gettext.translation("OpenShot", self.project.LOCALE_DIR, languages = langs, fallback = True) |
Et voilà comment je l'utilise :
Code:
1 2 3
| # Add language support
_ = Language_Init.Translator(project).lang.gettext
self._ = _ |
Est ce que quelqu'un voit comment faire ? Je suis sûr que c'est une astuce stupide mais je n'ai trouvé aucun exemple.