auto-load extension i18n catalogs; add the missing tab-title ones

Five builtins (tickets, decisions, git, pql, problems) declared a
localized tab title but shipped no catalog and weren't in the hand-kept
preload list, so each logged "namespace not registered" on boot.
ExtensionManager now loads the i18n namespace of every localized
TabContribution when its extension activates — no manual list edit for a
new tab — and the five missing en_US catalogs are added.

T-155.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-05-23 16:49:56 +02:00
co-authored by Claude Opus 4.7
parent e5fa6302d3
commit 2fd911d01d
11 changed files with 91 additions and 1 deletions
+2 -1
View File
@@ -18,6 +18,7 @@ class KernelFixture {
static Future<KernelFixture> create({
List<ThemeDefinition>? bundledThemes,
Map<String, Map<Locale, Map<String, Object?>>>? i18nCatalogs,
List<String>? preloadNamespaces,
Locale? initialLocale,
Locale defaultLocale = const Locale('en', 'US'),
}) async {
@@ -29,7 +30,7 @@ class KernelFixture {
appDir: tempDir,
bundledThemes: themes,
i18nLoader: InMemoryCatalogLoader(catalogs),
preloadNamespaces: catalogs.keys.toList(),
preloadNamespaces: preloadNamespaces ?? catalogs.keys.toList(),
defaultLocale: defaultLocale,
initialLocale: initialLocale,
daemonClientFactory: (log, events, _) {