Springe zum Hauptinhalt

10_lokalisation.py (Source)

#!/usr/bin/python
# -*- coding: utf-8 -*-

import gettext
import locale
import os

import gi
gi.require_version("Gtk", "3.0")
from gi.repository import Gtk

_ = gettext.gettext


class Handler:

    def on_window_destroy(self, *args):
        Gtk.main_quit()


class Example:
    
    def __init__(self):

        #setting up localization
        locales_dir = os.path.join(os.getcwd(),
                                    "10_localization",
                                    "locale",
                                    )
        appname = "TUT"

        #required for showing Glade file translations
        locale.bindtextdomain(appname, locales_dir)
        locale.textdomain(locales_dir)
        #required for code translations
        gettext.bindtextdomain(appname, locales_dir)
        gettext.textdomain(appname)

        self.builder = Gtk.Builder()
        self.builder.set_translation_domain(appname)

        self.builder.add_from_file("10_lokalisation.glade")
        self.builder.connect_signals(Handler())

        #translatable strings
        print(_("It's a trap!"))
        print(_("""These aren't the droids you're looking for.\n"""))

        #not translatable
        nonono = """\"Jar Jar is the key to all of this.\""""
        george = "...ruined it."
        print(nonono, george)

        window = self.builder.get_object("window")
        window.show_all()

    def main(self):
        Gtk.main()


x = Example()
x.main()