Skip to main content

UNKNOWN

Project description

Muffin-Babel – an extension to Muffin that adds localization support with help of babel.

Build Status http://img.shields.io/pypi/v/muffin-babel.svg?style=flat-square http://img.shields.io/pypi/dm/muffin-babel.svg?style=flat-square Donate

Requirements

  • python >= 3.3

Installation

Muffin-Babel should be installed using pip:

pip install muffin-babel

Usage

Add muffin_babel to PLUGINS in your Muffin application config:

import muffin

app = muffin.Application(
    'example',

    PLUGINS=(
        'muffin_jinja2',
        'muffin_babel',
    )

)

Setup a locale selector function:

@app.ps.babel.locale_selector
def set_locale(request):
    """ Return locale from GET lang-param or automatically. """
    return request.GET.get(
        'lang',

        # Get locale based on user settings
        app.ps.babel.select_locale_by_request(request)
    )

Use app.ps.babel.gettext, app.ps.babel.pgettext, app.ps.babel.lazy_gettext function in your code:

@app.register('/')
def index(request):
    return app.ps.babel.gettext('Hello!')

Options

BABEL_CONFIGURE_JINJA2

Install i18n support to Muffin-Jinja2 (False)

BABEL_DEFAULT_LOCALE

Set default locale (en)

BABEL_LOCALES_DIR

A path to directory with locales files (locales)

BABEL_SOURCES_MAP

Babel sources map

BABEL_OPTIONS_MAP

Babel options map

Commands

The plugin adds two commands to your Muffin application.

Extract messages

Extract strings from your application to locales:

$ muffin app_module extract_messages [OPTIONS] appdir

Translate .po files and compile translations:

$ muffin app_module compile_messages [OPTIONS]

Bug tracker

If you have any suggestions, bug reports or annoyances please report them to the issue tracker at https://github.com/klen/muffin-babel/issues

Contributing

Development of Muffin-Babel happens at: https://github.com/klen/muffin-babel

Contributors

  • klen (Kirill Klenov)

License

Licensed under a MIT license.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

muffin-babel-0.0.1.tar.gz (6.7 kB view details)

Uploaded Source

Built Distribution

muffin_babel-0.0.1-py2.py3-none-any.whl (7.8 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file muffin-babel-0.0.1.tar.gz.

File metadata

File hashes

Hashes for muffin-babel-0.0.1.tar.gz
Algorithm Hash digest
SHA256 c2e4aeae4252bfa59ece13e5caacb60b4a37629e5460e8b1e7cf3ecea87e65cd
MD5 f6c39da22153c9efaa709df351061fda
BLAKE2b-256 0a8da5fd1bf6bbefcfc86c875749be658861b75483cfc330bd5dbfab42eee1eb

See more details on using hashes here.

File details

Details for the file muffin_babel-0.0.1-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for muffin_babel-0.0.1-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 44ba5d57b4b3bb4b64378593f7fffd25251be34b594dd8c376dfeee81ada9cc7
MD5 df2253d7217f81ed97fa3159c1bbc2e9
BLAKE2b-256 45f41fb4e652dc7a08a9d8a49e885e4605b52f743520c5f9f0d1a06ae7b6e97b

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page