feat(core-app-api): support no en languages
Signed-off-by: JounQin <admin@1stg.me>
This commit is contained in:
@@ -0,0 +1,5 @@
|
||||
---
|
||||
'@backstage/core-app-api': patch
|
||||
---
|
||||
|
||||
feat: support no en languages
|
||||
+16
-1
@@ -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'",
|
||||
);
|
||||
});
|
||||
});
|
||||
|
||||
+1
-3
@@ -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}'`,
|
||||
|
||||
Reference in New Issue
Block a user