vibe.linguistics.registry

Language registry for discovering and managing language rule implementations.

LanguageRegistry

Central registry for language plugins and filter/tag aliases.

This singleton class: - Auto-discovers language modules in the languages/ package - Resolves filter aliases for a given locale - Provides fallback to base language (e.g., de-CH -> de)

instance

instance() -> LanguageRegistry

Get the singleton registry instance.

reset

reset() -> None

Reset the singleton (primarily for testing).

register

register(rules: LanguageRules) -> None

Register a language rules implementation.

Parameters:
  • rules (LanguageRules) –

    An instance of a LanguageRules subclass

get_rules

get_rules(locale: str) -> Optional[LanguageRules]

Get rules for a locale, with fallback to base language.

Parameters:
  • locale (str) –

    Locale code (e.g., "sv", "de-CH")

Returns:
  • Optional[LanguageRules]

    LanguageRules instance or None if not found

get_filter_aliases

get_filter_aliases(locale: str) -> dict[str, str]

Get filter aliases for a locale.

Parameters:
  • locale (str) –

    Locale code

Returns:
  • dict[str, str]

    Dict mapping alias -> canonical filter name

get_tag_aliases

get_tag_aliases(locale: str) -> dict[str, str]

Get tag aliases for a locale (for enumerate extension).

Parameters:
  • locale (str) –

    Locale code

Returns:
  • dict[str, str]

    Dict mapping alias -> canonical tag name

get_tag_parameter_aliases

get_tag_parameter_aliases(locale: str) -> dict[str, str]

Get tag parameter aliases for a locale.

Parameters:
  • locale (str) –

    Locale code

Returns:
  • dict[str, str]

    Dict mapping alias -> canonical parameter name

resolve_filter_alias

resolve_filter_alias(locale: str, name: str) -> str

Resolve a filter alias to its canonical name.

Parameters:
  • locale (str) –

    Locale code

  • name (str) –

    Filter name (possibly an alias)

Returns:
  • str

    Canonical filter name

resolve_tag_alias

resolve_tag_alias(locale: str, name: str) -> str

Resolve a tag alias to its canonical name.

Parameters:
  • locale (str) –

    Locale code

  • name (str) –

    Tag name (possibly an alias)

Returns:
  • str

    Canonical tag name

resolve_tag_parameter_alias

resolve_tag_parameter_alias(locale: str, name: str) -> str

Resolve a tag parameter alias to its canonical name.

Parameters:
  • locale (str) –

    Locale code

  • name (str) –

    Parameter name (possibly an alias)

Returns:
  • str

    Canonical parameter name

get_supported_locales

get_supported_locales() -> list[str]

Get list of all supported locale codes.