Translate python application
<p>I wrote a Simple program that I want to translate in different languages depending on the current locale, but I can't get it work</p>

<p>I'm was following various websites. This was one of them: <a href="http://www.learningpython.com/2006/12/03/translating-your-pythonpygtk-application/" rel="nofollow">translating your python</a></p>

<p>I have no problems until execution where I get that the locale isn't available and it has to use 'C' locale</p>

<p>So, I can get the pot compiled file with both glade and non glade strings. This is what the website says to write on my program:</p>

<p>One thing that I checked, is that the os.environ.get is returning something like es_ES.UTF-8 and then the code says to put the default without .UTF-8</p>

<pre><code>#!/usr/bin/python
# -*- coding: UTF-8 -*-

import gi
from gi.repository import Gtk
import subprocess, sys, os
import threading
import gettext

# # Algunas cosas para gettext (para las traducciones)
APP_NAME="welcn"



WELCN_DIR = '/home/pruebas/welcn-0.1/'


class main():


    def __init__(self):



        #Translation stuff

        #Get the local directory since we are not installing anything
        self.local_path = os.path.realpath(os.path.dirname(sys.argv[0]))
        # Init the list of languages to support
        langs = []
        #Check the default locale
        lc, encoding = locale.getdefaultlocale()
        if (lc):
            #If we have a default, it's the first in the list
            langs = [lc]
        # Now lets get all of the supported languages on the system
        language = os.environ.get('LANG', None)
        if (language):
            """langage comes back something like en_CA:en_US:en_GB:en
            on linuxy systems, on Win32 it's nothing, so we need to
            split it up into a list"""
            langs += language.split(":")
        """Now add on to the back of the list the translations that we
        know that we have, our defaults"""
        langs += ["en_CA", "en_US"]

        """Now langs is a list of all of the languages that we are going
        to try to use.  First we check the default, then what the system
        told us, and finally the 'known' list"""

        gettext.bindtextdomain(APP_NAME, self.local_path)
        gettext.textdomain(APP_NAME)
        # Get the language to use
        self.lang = gettext.translation(APP_NAME, self.local_path
            , languages=langs, fallback = True)
        """Install the language, map _() (which we marked our
        strings to translate with) to self.lang.gettext() which will
        translate them."""
        _ = self.lang.gettext



        builder = Gtk.Builder()
        builder.add_from_file(WELCN_DIR + "welcn.ui")


        #### Language and Keymap window
        self.window = builder.get_object("window1")
        self.button_try = builder.get_object("button1")
        self.button_cli_installer = builder.get_object("button2")



        self.window.connect("delete-event", Gtk.main_quit)
        builder.connect_signals(self)
        self.window.set_title(_('Welcome!'))
        self.window.set_position(Gtk.WindowPosition.CENTER)


        self.window.show_all()

    def on_button1_clicked(self, widget, data=None):
        Gtk.main_quit()

    def on_button2_clicked(self, widget, data=None):
        subprocess.Popen(["cinnarch-setup"])
        sys.exit(0)





if __name__ == '__main__':
    main()
    Gtk.main()
</code></pre>

<p>What am I doing wrong?</p>
