mirror of https://git.lenooby09.tech/LeNooby09/social-app.git
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

at session-alignment 97 lines 2.4 kB view raw
1import {useEffect} from 'react' 2import {i18n} from '@lingui/core' 3 4import {sanitizeAppLanguageSetting} from '#/locale/helpers' 5import {AppLanguage} from '#/locale/languages' 6import {useLanguagePrefs} from '#/state/preferences' 7 8/** 9 * We do a dynamic import of just the catalog that we need 10 */ 11export async function dynamicActivate(locale: AppLanguage) { 12 let mod: any 13 14 switch (locale) { 15 case AppLanguage.ca: { 16 mod = await import(`./locales/ca/messages`) 17 break 18 } 19 case AppLanguage.de: { 20 mod = await import(`./locales/de/messages`) 21 break 22 } 23 case AppLanguage.es: { 24 mod = await import(`./locales/es/messages`) 25 break 26 } 27 case AppLanguage.fi: { 28 mod = await import(`./locales/fi/messages`) 29 break 30 } 31 case AppLanguage.fr: { 32 mod = await import(`./locales/fr/messages`) 33 break 34 } 35 case AppLanguage.ga: { 36 mod = await import(`./locales/ga/messages`) 37 break 38 } 39 case AppLanguage.hi: { 40 mod = await import(`./locales/hi/messages`) 41 break 42 } 43 case AppLanguage.id: { 44 mod = await import(`./locales/id/messages`) 45 break 46 } 47 case AppLanguage.it: { 48 mod = await import(`./locales/it/messages`) 49 break 50 } 51 case AppLanguage.ja: { 52 mod = await import(`./locales/ja/messages`) 53 break 54 } 55 case AppLanguage.ko: { 56 mod = await import(`./locales/ko/messages`) 57 break 58 } 59 case AppLanguage.pt_BR: { 60 mod = await import(`./locales/pt-BR/messages`) 61 break 62 } 63 case AppLanguage.tr: { 64 mod = await import(`./locales/tr/messages`) 65 break 66 } 67 case AppLanguage.uk: { 68 mod = await import(`./locales/uk/messages`) 69 break 70 } 71 case AppLanguage.zh_CN: { 72 mod = await import(`./locales/zh-CN/messages`) 73 break 74 } 75 case AppLanguage.zh_TW: { 76 mod = await import(`./locales/zh-TW/messages`) 77 break 78 } 79 default: { 80 mod = await import(`./locales/en/messages`) 81 break 82 } 83 } 84 85 i18n.load(locale, mod.messages) 86 i18n.activate(locale) 87} 88 89export async function useLocaleLanguage() { 90 const {appLanguage} = useLanguagePrefs() 91 useEffect(() => { 92 const sanitizedLanguage = sanitizeAppLanguageSetting(appLanguage) 93 94 document.documentElement.lang = sanitizedLanguage 95 dynamicActivate(sanitizedLanguage) 96 }, [appLanguage]) 97}