aeat.application.user_profile._language_resolver module

Active-profile output-language resolver wiring for core.i18n.

The core layer must not import application modules, so it resolves the active profile’s preferences.output_language preference through a registered callback (see aeat.core.i18n.register_profile_language_resolver()).

This module owns the application-side resolver and registers it as a module-import side-effect. Importing it is cheap — every heavyweight import (workflow persistence, orchestration) is deferred inside the resolver body so registration cannot trigger an import cascade.

resolve_active_profile_output_language()[source]

Return the active profile’s preferences.output_language fact.

Performs a pure read of workflow state — no mutation, no bucket events — and returns None when there is no active profile or no language fact, so the caller falls back to the settings default. When the bucket session is closed or cannot open, reads the bucket-local non-secret language hint instead of the encrypted profile envelope.

Return type:

str | None

resolve_active_profile_output_language_hint()[source]

Return the active bucket’s last-known output-language hint, if present.

Return type:

str | None

resolve_profile_output_language_hint(bucket_id)[source]

Return a named bucket’s last-known output-language hint, if present.

Return type:

str | None

Parameters:

bucket_id (str)

register_language_resolver()[source]

Register resolve_active_profile_output_language() with core.i18n.

Replaces the prior module-import side-effect registration: callers now invoke this function from a known initialiser (the aeat.application.user_profile package import) so the registration point is explicit and greppable rather than hidden in a noqa-protected import line.

Return type:

None