BabelGladeExtractor

Babel l10n support for Glade, GtkBuilder, and .desktop files


Keywords
PyGTK, PyGObject, Glade, GtkBuilder, gettext, Babel, I18n, L10n
License
BSD-3-Clause
Install
pip install BabelGladeExtractor==0.7.0

Documentation

BabelGladeExtractor

This package contains message catalog extractors for the following formats, extending Babel so it can handle them.

Getting started

To make these formats translatable, install this package using pip:

pip3 install BabelGladeExtractor

Then in your own projects, map some source and data files to the simple extractor names "glade" and "desktop" that are provided by this package. In your setup.py, add a section like

[extract_messages]
mapping_file = babel.cfg
output_file = subdir/myproject.pot
input_dirs = .

Next, create a separate babel.cfg file, and add sections to it for each format you want to translate.

[glade: **.ui]

[desktop: **.desktop]

You can then use Babel's setuptools integration or its command line interface for your routine i18n lifecycle tasks.

python3 setup.py extract_messages

There's a lot more to it than this, naturally. See Babel's extensive Working with Message Catalogs documentation for a detailed explanation of how to get translatable strings into your Python code.

In Glade 3.22, when you are editing a string property in a sidebar, click the edit icon on the right hand side of the text entry. In the dialog that pops up, enter the text in the main text box, and make sure that the Translatable checkbox is ticked. You can also add some helpful context or comments for your translators if you need to give them a hint. BabelGladeExtractor will handle the corresponding XML attributes appropriately when it extracts strings for translation.