chore: lots of i18n

This commit is contained in:
2026-02-21 12:34:06 +01:00
parent c991015ea8
commit b27a3e6885
18 changed files with 1355 additions and 661 deletions

View File

@@ -33,13 +33,19 @@ describe('renderer i18n', () => {
expect(resolveSupportedUiLanguage('')).toBe('en');
});
it('returns translated text with english fallback', () => {
it('returns translated text for supported languages without per-key english fallback', () => {
expect(translateUi('de', 'common.save')).toBe('Speichern');
expect(translateUi('fr', 'common.cancel')).toBe('Annuler');
expect(translateUi('de', 'settings.language.english')).toBe('Englisch');
expect(translateUi('it', 'missing.key')).toBe('missing.key');
});
it('falls back to english only when requested language is unsupported', () => {
const resolved = resolveSupportedUiLanguage('pt-BR');
expect(resolved).toBe('en');
expect(translateUi(resolved, 'common.save')).toBe('Save');
});
it('uses system locale for ui language when no persisted choice exists', async () => {
localStorage.removeItem(UI_LANGUAGE_STORAGE_KEY);
(window.electronAPI.app as { getSystemLanguage?: () => Promise<string> }).getSystemLanguage = async () => 'de-DE';