diff --git a/src/frontend/apps/desk/src/i18n/__tests__/utils.spec.ts b/src/frontend/apps/desk/src/i18n/__tests__/utils.spec.ts deleted file mode 100644 index 03515b4..0000000 --- a/src/frontend/apps/desk/src/i18n/__tests__/utils.spec.ts +++ /dev/null @@ -1,55 +0,0 @@ -import { LANGUAGE_LOCAL_STORAGE } from '../conf'; -import { getLanguage, splitLocaleCode } from '../utils'; - -describe('i18n utils', () => { - afterEach(() => { - localStorage.removeItem(LANGUAGE_LOCAL_STORAGE); - }); - - it('checks language code is correctly splitted', () => { - expect(splitLocaleCode('fr_FR')).toEqual({ language: 'fr', region: 'FR' }); - expect(splitLocaleCode('en_US')).toEqual({ language: 'en', region: 'US' }); - expect(splitLocaleCode('en')).toEqual({ - language: 'en', - region: undefined, - }); - expect(splitLocaleCode('fr-FR')).toEqual({ language: 'fr', region: 'FR' }); - expect(splitLocaleCode('en-US')).toEqual({ language: 'en', region: 'US' }); - }); - - it('checks that we get expected language from local storage', () => { - localStorage.setItem(LANGUAGE_LOCAL_STORAGE, 'fr_FR'); - expect(getLanguage()).toEqual('fr'); - localStorage.removeItem(LANGUAGE_LOCAL_STORAGE); - - localStorage.setItem(LANGUAGE_LOCAL_STORAGE, 'en_FR'); - expect(getLanguage()).toEqual('en'); - - localStorage.setItem(LANGUAGE_LOCAL_STORAGE, 'xx_XX'); - expect(getLanguage()).toEqual('en'); - }); - - it('checks that we get expected language from browser', () => { - Object.defineProperty(navigator, 'language', { - value: 'fr', - writable: false, - configurable: true, - }); - - expect(getLanguage()).toEqual('fr'); - - Object.defineProperty(navigator, 'language', { - value: 'en', - writable: false, - configurable: true, - }); - expect(getLanguage()).toEqual('en'); - - Object.defineProperty(navigator, 'language', { - value: 'xx', - writable: false, - configurable: true, - }); - expect(getLanguage()).toEqual('en'); - }); -}); diff --git a/src/frontend/apps/desk/src/i18n/utils.ts b/src/frontend/apps/desk/src/i18n/utils.ts deleted file mode 100644 index edf5171..0000000 --- a/src/frontend/apps/desk/src/i18n/utils.ts +++ /dev/null @@ -1,28 +0,0 @@ -import { - BASE_LANGUAGE, - LANGUAGES_ALLOWED, - LANGUAGE_LOCAL_STORAGE, -} from './conf'; - -export const splitLocaleCode = (language: string) => { - const locale = language.split(/[-_]/); - return { - language: locale[0], - region: locale.length === 2 ? locale[1] : undefined, - }; -}; - -export const getLanguage = () => { - if (typeof window === 'undefined') { - return BASE_LANGUAGE; - } - - const languageStore = - localStorage.getItem(LANGUAGE_LOCAL_STORAGE) || navigator?.language; - - const language = splitLocaleCode(languageStore).language; - - return Object.keys(LANGUAGES_ALLOWED).includes(language) - ? language - : BASE_LANGUAGE; -};