Merge pull request #30676 from JounQin/feat/no_en_lang

feat(core-app-api): support no en languages
This commit is contained in:
Ben Lambert
2025-09-15 09:16:45 +02:00
committed by GitHub
3 changed files with 22 additions and 4 deletions
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/core-app-api': patch
---
feat: support no en languages
@@ -144,11 +144,26 @@ describe('AppLanguageSelector', () => {
AppLanguageSelector.createWithStorage({
availableLanguages: ['de'],
}),
).toThrow("Supported languages must include 'en'");
).toThrow(
"Initial language must be one of the supported languages, got 'en'",
);
const selector = AppLanguageSelector.createWithStorage(baseOptions);
expect(() => selector.setLanguage('sv')).toThrow(
"Failed to change language to 'sv', available languages are 'en', 'de'",
);
});
it('should support no en languages', () => {
const selector = AppLanguageSelector.createWithStorage({
availableLanguages: ['de'],
defaultLanguage: 'de',
});
expect(selector.getLanguage()).toEqual({ language: 'de' });
expect(() => selector.setLanguage('en')).toThrow(
"Failed to change language to 'en', available languages are 'de'",
);
});
});
@@ -44,11 +44,9 @@ export class AppLanguageSelector implements AppLanguageApi {
)}'`,
);
}
if (!languages.includes(DEFAULT_LANGUAGE)) {
throw new Error(`Supported languages must include '${DEFAULT_LANGUAGE}'`);
}
const initialLanguage = options?.defaultLanguage ?? DEFAULT_LANGUAGE;
if (!languages.includes(initialLanguage)) {
throw new Error(
`Initial language must be one of the supported languages, got '${initialLanguage}'`,