Coverage for src/lexigram/admin/settings/panel/i18n_spec.py: 93%
15 statements
« prev ^ index » next coverage.py v7.15.4, created at 2026-08-24 23:18 +0800
« prev ^ index » next coverage.py v7.15.4, created at 2026-08-24 23:18 +0800
1"""Internationalization configuration specification."""
3from __future__ import annotations
5from lexigram.admin.settings.panel.models import I18nSettings
6from lexigram.admin.settings.panel.nodes import PydanticConfigSpec
7from lexigram.admin.settings.panel.registry import ConfigRegistry
9__all__ = ["I18nSpec", "register_spec"]
12class I18nSpec(PydanticConfigSpec):
13 """Internationalization configuration spec."""
15 namespace = "admin.i18n"
16 label = "Internationalization"
17 icon = "globe"
18 description = "Default locale and timezone for admin pages."
19 model = I18nSettings
20 required_permissions = frozenset({"admin.settings.edit"})
21 scope = "tenant"
24def register_spec(registry: ConfigRegistry) -> None:
25 """Register this spec with the config registry."""
26 registry.register_spec(I18nSpec)