betty.locale.localizable package¶
Submodules¶
Module contents¶
The localizable API allows objects to be localized at the point of use.
- class betty.locale.localizable.Localizable[source]¶
Bases:
ABC
A localizable object.
Objects of this type can convert themselves to localized strings at the point of use.
- abstract localize(localizer: Localizer) LocalizedStr [source]¶
Localize
self
to a human-readable string.
- final class betty.locale.localizable.OptionalStaticTranslationsLocalizableAttr[source]¶
Bases:
StaticTranslationsLocalizableAttr
An instance attribute that contains
betty.locale.localizable.StaticTranslationsLocalizable
.
- final class betty.locale.localizable.RequiredStaticTranslationsLocalizableAttr[source]¶
Bases:
StaticTranslationsLocalizableAttr
An instance attribute that contains
betty.locale.localizable.StaticTranslationsLocalizable
.
- 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()
.
- class betty.locale.localizable.StaticTranslationsLocalizable[source]¶
Bases:
_FormattableLocalizable
,LinkedDataDumpable
[Object
,MutableMapping
[str
,bool
|int
|float
|str
|None
|MutableSequence
[Dump] |MutableMapping
[str
, Dump]]]Provide a
betty.locale.localizable.Localizable
backed by static translations.- __init__(translations: Mapping[str, str] | str | None = None, *args: Any, required: bool = True, **kwargs: Any)[source]¶
- Parameters:
translations – Keys are locales, values are translations.
- async classmethod linked_data_schema(project: Project) Object [source]¶
Define the JSON Schema for
betty.json.linked_data.LinkedDataDumpable.dump_linked_data()
.
- localize(localizer: Localizer) LocalizedStr [source]¶
Localize
self
to a human-readable string.
- class betty.locale.localizable.StaticTranslationsLocalizableAttr[source]¶
Bases:
LinkedDataDumpableProvider
[object
,Schema
,bool
|int
|float
|str
|None
|MutableSequence
[Dump] |MutableMapping
[str
, Dump]]An instance attribute that contains
betty.locale.localizable.StaticTranslationsLocalizable
.This is internal. It MAY be used anywhere in Betty’s source code, but MUST NOT be used by third-party code.
- async dump_linked_data_for(project: Project, target: object) Dump [source]¶
Dump the given target to JSON-LD.
- async linked_data_schema_for(project: Project) Schema [source]¶
Define the JSON Schema for
betty.json.linked_data.LinkedDataDumpableProvider.dump_linked_data_for()
.
- class betty.locale.localizable.StaticTranslationsLocalizableSchema[source]¶
Bases:
Object
A JSON Schema for
betty.locale.localizable.StaticTranslationsLocalizable
.
- betty.locale.localizable.call(call: Callable[[Localizer], str]) Localizable [source]¶
Create a new localizable that outputs the callable’s return value.
- betty.locale.localizable.do_you_mean(*available_options: str) Localizable [source]¶
Produce a message listing available options.
- betty.locale.localizable.format(localizable: Localizable, *format_args: str | Localizable, **format_kwargs: str | Localizable) Localizable [source]¶
Perform string formatting.
The arguments are identical to those of
str.format()
.
- betty.locale.localizable.gettext(message: str) _GettextLocalizable [source]¶
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 anybetty.locale.localizable.Localizable
will be localized before string formatting.
- betty.locale.localizable.join(*localizables: Localizable, separator: str = ' ') Localizable [source]¶
Join multiple localizables.
- betty.locale.localizable.ngettext(message_singular: str, message_plural: str, n: int) _GettextLocalizable [source]¶
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 anybetty.locale.localizable.Localizable
will be localized before string formatting.
- betty.locale.localizable.npgettext(context: str, message_singular: str, message_plural: str, n: int) _GettextLocalizable [source]¶
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 anybetty.locale.localizable.Localizable
will be localized before string formatting.
- betty.locale.localizable.pgettext(context: str, message: str) _GettextLocalizable [source]¶
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 anybetty.locale.localizable.Localizable
will be localized before string formatting.
- betty.locale.localizable.plain(string: str) Localizable [source]¶
Turns a plain string into a
betty.locale.localizable.Localizable
without any actual translations.