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.4.tar.gz (9.8 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.4-py3-none-any.whl (11.0 kB view details)

Uploaded Python 3

File details

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

File metadata

File hashes

Hashes for hetman_pipeline_plugin_i18n-1.0.4.tar.gz
Algorithm Hash digest
SHA256 3b02a25986275396425ae004ffb61d47187768026df6cce07383b32aebc4504f
MD5 1f3148097aa60a35c81b591f6e3a92f7
BLAKE2b-256 dada98d064de7de85af67057b5346aa38023b204e8c8d990f12ea615a9ef81f9

See more details on using hashes here.

Provenance

The following attestation bundles were made for hetman_pipeline_plugin_i18n-1.0.4.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.4-py3-none-any.whl.

File metadata

File hashes

Hashes for hetman_pipeline_plugin_i18n-1.0.4-py3-none-any.whl
Algorithm Hash digest
SHA256 af40f454b8540ed58a0494191c296d37cb7a42e7b80227a927c42c95cf0d3433
MD5 9dd3d2f967909f250c07857afb49f7b5
BLAKE2b-256 1217ed4c21ae44502d9b3cd5867c585515b6a96041645e3de9375c54e35f51fd

See more details on using hashes here.

Provenance

The following attestation bundles were made for hetman_pipeline_plugin_i18n-1.0.4-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