tet.i18n package

Internationalization support for Tet applications.

This module provides i18n/l10n integration including:

  • Automatic _() and gettext() functions in templates

  • ngettext() for pluralization

  • Request methods for translation (request.translate, request.pluralize)

Example

Enabling i18n:

from tet.config import application_factory

@application_factory(included_features=["i18n"])
def main(config):
    config.add_translation_dirs("myapp:locale")
    config.scan()

Using translations in views:

from pyramid.view import view_config

@view_config(route_name="hello", renderer="json")
def hello(request):
    return {"message": request.translate("Hello, World!")}

In Tonnikala templates:

<p>${_("Welcome to our site!")}</p>
<p>${ngettext("1 item", "{n} items", count, mapping={"n": count})}</p>
tet.i18n.add_renderer_globals(event)[source]

Subscriber that adds i18n functions to renderer globals.

Adds _, gettext, ngettext, and localizer to the template context.

tet.i18n.configure_i18n(config: Configurator, default_domain: str)[source]

Configure i18n support for a Pyramid application.

Adds request.translate and request.pluralize methods, and registers subscribers to add i18n functions to template contexts.

Parameters:
  • config – Pyramid Configurator

  • default_domain – Default translation domain

tet.i18n.includeme(config: Configurator)[source]

Pyramid includeme function for i18n support.

Uses default_i18n_domain setting or the package name as the domain.