core.i18n.translation_string

Classes

HasHTML

Base class for protocol classes.

TranslationMarkup

Markup aware version of TranslationString

Functions

TranslationStringFactory(→ TStrCallable)

Creates a TranslationMarkup for Markup and a TranslationString

Module Contents

class core.i18n.translation_string.HasHTML[source]

Bases: Protocol

Base class for protocol classes.

Protocol classes are defined as:

class Proto(Protocol):
    def meth(self) -> int:
        ...

Such classes are primarily used with static type checkers that recognize structural subtyping (static duck-typing).

For example:

class C:
    def meth(self) -> int:
        return 0

def func(x: Proto) -> int:
    return x.meth()

func(C())  # Passes static type check

See PEP 544 for details. Protocol classes decorated with @typing.runtime_checkable act as simple-minded runtime protocols that check only the presence of given attributes, ignoring their type signatures. Protocol classes can be generic, they are defined as:

class GenProto(Protocol[T]):
    def meth(self) -> T:
        ...
__html__(/) str[source]
class core.i18n.translation_string.TranslationMarkup[source]

Bases: translationstring.TranslationString

Markup aware version of TranslationString

__slots__ = ('domain', 'context', 'default', 'mapping')[source]
domain: str | None[source]
context: str | None[source]
default: markupsafe.Markup[source]
mapping: dict[str, markupsafe.Markup] | None[source]
__mod__(options: Any) Self[source]

Create a new TranslationString instance with an updated mapping. This makes it possible to use the standard python %-style string formatting with translatable strings. Only dictionary arguments are supported.

interpolate(translated: str | None = None) markupsafe.Markup[source]

Interpolate the value translated which is assumed to be a Unicode object containing zero or more replacement markers ($foo or ${bar}) using the mapping dictionary attached to this instance. If the mapping dictionary is empty or None, no interpolation is performed.

If translated is None, interpolation will be performed against the default value.

classmethod escape(s: object) Self[source]
__html__() markupsafe.Markup[source]
core.i18n.translation_string.TranslationStringFactory(factory_domain: str) TStrCallable[source]

Creates a TranslationMarkup for Markup and a TranslationString otherwise.