Skip to main content

No project description provided

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

Requirements

  • python >= 3.5.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!')

Jinja2

The Muffin-Babel has integration with Muffin-Jinja2, so if you have muffin_jinja2 plugin enabled, the plugin provides gettext and ngettext function in Jinja2 templates’ context.

Options

BABEL_CONFIGURE_JINJA2

Install i18n support to Muffin-Jinja2 (True)

BABEL_DEFAULT_LOCALE

Set default locale (en)

BABEL_DOMAIN

Set default domain (messages)

BABEL_LOCALES_DIRS

List of directories where locales are leaving

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.4.0.tar.gz (7.1 kB view details)

Uploaded Source

Built Distribution

muffin_babel-0.4.0-py2.py3-none-any.whl (7.0 kB view details)

Uploaded Python 2 Python 3

File details

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

File metadata

  • Download URL: muffin-babel-0.4.0.tar.gz
  • Upload date:
  • Size: 7.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.12.1 pkginfo/1.4.2 requests/2.19.1 setuptools/40.4.3 requests-toolbelt/0.8.0 tqdm/4.27.0 CPython/3.6.3

File hashes

Hashes for muffin-babel-0.4.0.tar.gz
Algorithm Hash digest
SHA256 3162ec58b176de63bb3995817ed72db4207106ee652aa15797ffbe2e61f36c3e
MD5 c78caee8882634f1d260cd4d09b2ffae
BLAKE2b-256 2665514d32bb014fe5e44c1ac1c9d6dfe54b85776f9bb92b0409da1ef48a4b67

See more details on using hashes here.

File details

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

File metadata

  • Download URL: muffin_babel-0.4.0-py2.py3-none-any.whl
  • Upload date:
  • Size: 7.0 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.12.1 pkginfo/1.4.2 requests/2.19.1 setuptools/40.4.3 requests-toolbelt/0.8.0 tqdm/4.27.0 CPython/3.6.3

File hashes

Hashes for muffin_babel-0.4.0-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 7f5d741084bc5210c8038a60b433df2904e9a233e23eeda31840dc627df358c1
MD5 f17befa4a3fbe3b4e9a4517f8dbbc4fd
BLAKE2b-256 c606f4ff98df4a01654686fa6d5a3f758b79e00b36426005952888d06d2b2adf

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