Translations: Difference between revisions

From GNU MediaGoblin Wiki
Jump to navigation Jump to search
(Instructions on how to mark Jinja2 and Python code for translation)
Line 14: Line 14:


=== In python code ===
=== In python code ===
<pre>

<code lang="python">
from mediagoblin.util import pass_to_ugettext as _
from mediagoblin.util import pass_to_ugettext as _


def some_func(something):
def some_func(something):
return _(u'This string would tooootally be translatable now.')
return _(u'This string would tooootally be translatable now.')
</code>
</pre>


== Extracting translations ==
== Extracting translations ==

Revision as of 14:31, 9 August 2011

For translators

You can translate our tools at Transifex:

https://www.transifex.net/projects/p/mediagoblin/resource/mediagoblin/

For developers

Marking strings for translation

In Jinja2

See: http://jinja.pocoo.org/docs/templates/#i18n

Mostly like Django template i18n support, if you have any experience with that.

In python code

from mediagoblin.util import pass_to_ugettext as _

def some_func(something):
    return _(u'This string would tooootally be translatable now.')

Extracting translations

If you run buildout it should create a script called 'pybabel'. Use it to extract translations like so:

./bin/pybabel extract -F babel.ini -o mediagoblin/i18n/en/LC_MESSAGES/mediagoblin.po .

Compiling translations

./bin/pybabel compile -D mediagoblin -d mediagoblin/i18n/

Pulling translations from Transifex

Unfortunately until the next release of transifex-client which has been patched to have proper entry points, you have to run transifex-client from a virtualenv or from site-packages. But assuming that's done, pulling translations is easy:

tx pull -a

Pushing new translations to Transifex

tx push -s