Hide navigation sidebar
Hide table of contents sidebar
Skip to content
Back to top
View this page
Toggle table of contents sidebar

# betty.locale.localizable package

## Submodules

- betty.locale.localizable.assertion module
  - `assert_static_translations()`
- betty.locale.localizable.config module
  - `StaticTranslationsLocalizableConfiguration`
    - `StaticTranslationsLocalizableConfiguration.__init__()`
    - `StaticTranslationsLocalizableConfiguration.dump()`
    - `StaticTranslationsLocalizableConfiguration.load()`
    - `StaticTranslationsLocalizableConfiguration.localize()`
    - `StaticTranslationsLocalizableConfiguration.set()`
    - `StaticTranslationsLocalizableConfiguration.update()`
  - `StaticTranslationsLocalizableConfigurationProperty`
    - `StaticTranslationsLocalizableConfigurationProperty.__init__()`

## Module contents

The localizable API allows objects to be localized at the point of use.

class betty.locale.localizable.Localizable

  Bases: `ABC`

  A localizable object.

  Objects of this type can convert themselves to localized strings at the point of use.

  abstract localize(localizer: Localizer) → str

    Localize `self` to a human-readable string.

betty.locale.localizable.ShorthandStaticTranslations: TypeAlias = collections.abc.Mapping[str, str] | str

  `StaticTranslations` or a string which is the translation for the undetermined locale. See `betty.locale.localizable.assertion.assert_static_translations()`.

betty.locale.localizable.StaticTranslations

  Keys are locales, values are translations. See `betty.locale.localizable.assertion.assert_static_translations()`.

  alias of `Mapping`[`str`, `str`]

class betty.locale.localizable.StaticTranslationsLocalizable

  Bases: `_FormattableLocalizable`

  Provide a `betty.locale.Localizable` backed by static translations.

  __init__(translations: Mapping[str, str] | str)
  localize(localizer: Localizer) → str

    Localize `self` to a human-readable string.

betty.locale.localizable.call(call: Callable[[Localizer], str]) → Localizable

  Create a new localizable that outputs the callable’s return value.

betty.locale.localizable.format(localizable: Localizable, *format_args: str | Localizable, **format_kwargs: str | Localizable) → Localizable

  Perform string formatting.

  The arguments are identical to those of :py:meth:`str.format`.

betty.locale.localizable.gettext(message: str) → _GettextLocalizable

  Like `gettext.gettext()`.

  Positional arguments are identical to those of `gettext.gettext()`. Keyword arguments are identical to those of :py:met:`str.format`, except that any `betty.locale.Localizable` will be localized before string formatting.

betty.locale.localizable.ngettext(message_singular: str, message_plural: str, n: int) → _GettextLocalizable

  Like `gettext.ngettext()`.

  Positional arguments are identical to those of `gettext.ngettext()`. Keyword arguments are identical to those of :py:met:`str.format`, except that any `betty.locale.Localizable` will be localized before string formatting.

betty.locale.localizable.npgettext(context: str, message_singular: str, message_plural: str, n: int) → _GettextLocalizable

  Like `gettext.npgettext()`.

  Positional arguments are identical to those of `gettext.npgettext()`. Keyword arguments are identical to those of :py:met:`str.format`, except that any `betty.locale.Localizable` will be localized before string formatting.

betty.locale.localizable.pgettext(context: str, message: str) → _GettextLocalizable

  Like `gettext.pgettext()`.

  Positional arguments are identical to those of `gettext.pgettext()`. Keyword arguments are identical to those of :py:met:`str.format`, except that any `betty.locale.Localizable` will be localized before string formatting.

betty.locale.localizable.static(translations: Mapping[str, str] | str) → Localizable

  Create a new localizable that outputs the given static translations.