mirror of
https://github.com/kevinveenbirkenbach/computer-playbook.git
synced 2026-11-09 12:17:13 +00:00
locale/<code>/LC_MESSAGES/core.po now exists for all 183 non-source languages with the 407 core messages. German is machine-translated in full; the 29 languages the logout panel shipped are carried over from logout_i18n.yml. The keycloak logout panel reads every language but English from core.po through the new i18n_catalogue lookup, so logout_i18n.yml keeps only the English source strings. Each language takes its text direction from meta/languages.yml. The Playwright spec asserts the German catalogue on the served logout page. Catalogs no longer carry Babel's placeholders: render() writes the author, kevinveenbirkenbach@infinito.nexus, https://infinito.nexus, the Infinito.Nexus Community License and contact@infinito.nexus as the bug address into every header it writes, from constants in utils/software.py. tests/lint/repository/test_i18n_catalogs.py holds that every language has a core catalog, none exists for an unknown language, the core catalogs hold exactly the current sources, and every translation keeps its protected spans. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
15 lines
624 B
Python
15 lines
624 B
Python
"""The software's identity: its repository, read from the group_vars SPOT, its author and address."""
|
|
|
|
from __future__ import annotations
|
|
|
|
from utils.cache.files import PROJECT_ROOT
|
|
from utils.cache.yaml import load_yaml
|
|
|
|
SOFTWARE_VARS = PROJECT_ROOT / "group_vars" / "all" / "00_general.yml"
|
|
SOFTWARE_REPOSITORY: str = load_yaml(str(SOFTWARE_VARS))["SOFTWARE_REPOSITORY"]
|
|
SOFTWARE_AUTHOR = "Kevin Veen-Birkenbach"
|
|
SOFTWARE_EMAIL = "kevinveenbirkenbach@infinito.nexus"
|
|
SOFTWARE_URL = "https://infinito.nexus"
|
|
SOFTWARE_CONTACT = "contact@infinito.nexus"
|
|
SOFTWARE_LICENSE = "Infinito.Nexus Community License (Non-Commercial)"
|