Using gettext to provide different language-version of a script

Tony Nelson *firstname*nlsnews at georgea*lastname*.com
Tue Nov 22 20:23:41 EST 2005


In article <1132661256.664435.311520 at g14g2000cwa.googlegroups.com>,
 "Thomas W" <thomas.weholt at gmail.com> wrote:

> I'm trying to wrap my head around the docs at python.org related to the
> gettext-module, but I'm having some problem getting it to work. Is
> there any really simple, step-by-step on how to use this module
> available?
> 
> This is my script so far :
> 
> import gettext
> gettext.install('test2', '.', unicode=1)
> lang1 = gettext.translation('test2', languages=['no'])
> print  _('writing a log to file')

I do:

    # assume the script is named "myscript.py":
    us = os.path.splitext(os.path.basename(sys.argv[0]))[0]
    usdir = os.path.dirname(sys.argv[0])

    import gettext
    gettext.install(us, usdir)


> in the folder where the test2.py-script lives I've created a
> folder-structure like
> 
> ./locales/NO/LC_MESSAGES/messages.mo

Mine looks like:

    ./en_PL/LC_MESSAGES/myscript.mo


> the messages.mo-file I've created using the scripts in the
> \Tools\i18l\-folder by running :
> 
> python pygettext.py test2.py
> 
> and renaming the generated messages.pot-file to messages.po, and
> editing it to look like :
> 
> # SOME DESCRIPTIVE TITLE.
> # Copyright (C) YEAR ORGANIZATION
> # FIRST AUTHOR <EMAIL at ADDRESS>, YEAR.
> #
> msgid ""
> msgstr ""
> "Project-Id-Version: PACKAGE VERSION\n"
> "POT-Creation-Date: 2005-11-22 13:02+W. Europe Standard Time\n"
> "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
> "Last-Translator: FULL NAME <EMAIL at ADDRESS>\n"
> "Language-Team: LANGUAGE <LL at li.org>\n"
> "MIME-Version: 1.0\n"
> "Content-Type: text/plain; charset=CHARSET\n"
> "Content-Transfer-Encoding: ENCODING\n"
> "Generated-By: pygettext.py 1.5\n"
 ...

You need to set the "Content-Type: charset" and 
"Content-Transfer-Encoding:".  I use:

    "Content-Type: text/plain; charset=UTF-8\n"
    "Content-Transfer-Encoding: 8bit\n"
________________________________________________________________________
TonyN.:'                        *firstname*nlsnews at georgea*lastname*.com
      '                                  <http://www.georgeanelson.com/>



More information about the Python-list mailing list