Skip to main content

Hetman Pipeline Plugin I18n is a plugin for Hetman Pipeline that provides i18n support.

Project description

Hetman Logo

Hetman Pipeline Plugin I18n is a plugin for Hetman Pipeline that provides internationalization (i18n) support.

Features

  • Comprehensive translations for all standard Condition and Match handlers.
  • Simple initialization to register all translations globally.

Installation

pip install hetman-pipeline[i18n]

Quick Start

Initialize the plugin at the start of your application to register the translations.

You must call set_base_locale before running the first handler to ensure the system correctly maps the initial translation state.

from pipeline_plugin_i18n import initialize_pipeline_plugin_i18n

# Register translations for standard handlers
initialize_pipeline_plugin_i18n()

# Set the base locale
PipelinePluginI18n.set_base_locale("en")

Context Management

The plugin uses contextvars to manage the locale state, making it thread-safe and safe for asynchronous applications (e.g., FastAPI, Falcon, Flask).

Setting the Locale

You can set the locale for the current context (e.g., per request).

from pipeline_plugin_i18n import PipelinePluginI18n

# Set to Polish
PipelinePluginI18n.set_locale("pl")

Getting the Locale

from pipeline_plugin_i18n import PipelinePluginI18n

current_locale = PipelinePluginI18n.get_locale()
print(current_locale)  # Output: "pl"

Custom Translations

You can register your own translations for any Condition or Match handler.

from pipeline.handlers import Match
from pipeline.handlers.base_handler.resources.constants import HandlerMode
from pipeline_plugin_i18n import PipelinePluginI18n

PipelinePluginI18n.register_handler(
    handler=Match.Text.Letters,
    translations={
        HandlerMode.ROOT: {
            "en": Match.Text.Letters.ERROR_TEMPLATES[HandlerMode.ROOT],
            "pl": "Musi zawierać tylko litery (np. Aaaaa).",
        }
    },
)

Supported Languages

  • English (en)
  • Polish (pl)

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

hetman_pipeline_plugin_i18n-1.0.3.tar.gz (9.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

hetman_pipeline_plugin_i18n-1.0.3-py3-none-any.whl (10.9 kB view details)

Uploaded Python 3

File details

Details for the file hetman_pipeline_plugin_i18n-1.0.3.tar.gz.

File metadata

File hashes

Hashes for hetman_pipeline_plugin_i18n-1.0.3.tar.gz
Algorithm Hash digest
SHA256 bec6f36f9a05a55137a4607d93f5f36c69aa808c67a01ab4e38350ba1e7f86f7
MD5 56bce6b1cb7fff417b722302594b3b51
BLAKE2b-256 21cc3e5c6b7c2fa9098f97ef5c105a544e10922ab49e64c0f2afa66a47c459df

See more details on using hashes here.

Provenance

The following attestation bundles were made for hetman_pipeline_plugin_i18n-1.0.3.tar.gz:

Publisher: python-publish.yml on hetman-app/hetman-pipeline-plugin-i18n

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file hetman_pipeline_plugin_i18n-1.0.3-py3-none-any.whl.

File metadata

File hashes

Hashes for hetman_pipeline_plugin_i18n-1.0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 3b8df871457f446d7dfafd22bf7a737ded798bffdbf5b7b04da023b9afea1eda
MD5 6c170726ec57cad091e1aab247a1ba4f
BLAKE2b-256 b845c3660a47b1aaca43c4a65710a2a9c58aa93ffe7d181d759f762776c61b1c

See more details on using hashes here.

Provenance

The following attestation bundles were made for hetman_pipeline_plugin_i18n-1.0.3-py3-none-any.whl:

Publisher: python-publish.yml on hetman-app/hetman-pipeline-plugin-i18n

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

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