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 patch-expo-modules-core 126 lines 4.7 kB view raw
1import '@formatjs/intl-locale/polyfill' 2import '@formatjs/intl-pluralrules/polyfill' 3import '@formatjs/intl-pluralrules/locale-data/en' 4 5import {useEffect} from 'react' 6import {i18n} from '@lingui/core' 7 8import {sanitizeAppLanguageSetting} from '#/locale/helpers' 9import {AppLanguage} from '#/locale/languages' 10import {messages as messagesCa} from '#/locale/locales/ca/messages' 11import {messages as messagesDe} from '#/locale/locales/de/messages' 12import {messages as messagesEn} from '#/locale/locales/en/messages' 13import {messages as messagesEs} from '#/locale/locales/es/messages' 14import {messages as messagesFi} from '#/locale/locales/fi/messages' 15import {messages as messagesFr} from '#/locale/locales/fr/messages' 16import {messages as messagesGa} from '#/locale/locales/ga/messages' 17import {messages as messagesHi} from '#/locale/locales/hi/messages' 18import {messages as messagesId} from '#/locale/locales/id/messages' 19import {messages as messagesIt} from '#/locale/locales/it/messages' 20import {messages as messagesJa} from '#/locale/locales/ja/messages' 21import {messages as messagesKo} from '#/locale/locales/ko/messages' 22import {messages as messagesPt_BR} from '#/locale/locales/pt-BR/messages' 23import {messages as messagesTr} from '#/locale/locales/tr/messages' 24import {messages as messagesUk} from '#/locale/locales/uk/messages' 25import {messages as messagesZh_CN} from '#/locale/locales/zh-CN/messages' 26import {messages as messagesZh_TW} from '#/locale/locales/zh-TW/messages' 27import {useLanguagePrefs} from '#/state/preferences' 28 29/** 30 * We do a dynamic import of just the catalog that we need 31 */ 32export async function dynamicActivate(locale: AppLanguage) { 33 switch (locale) { 34 case AppLanguage.ca: { 35 i18n.loadAndActivate({locale, messages: messagesCa}) 36 await import('@formatjs/intl-pluralrules/locale-data/ca') 37 break 38 } 39 case AppLanguage.de: { 40 i18n.loadAndActivate({locale, messages: messagesDe}) 41 await import('@formatjs/intl-pluralrules/locale-data/de') 42 break 43 } 44 case AppLanguage.es: { 45 i18n.loadAndActivate({locale, messages: messagesEs}) 46 await import('@formatjs/intl-pluralrules/locale-data/es') 47 break 48 } 49 case AppLanguage.fi: { 50 i18n.loadAndActivate({locale, messages: messagesFi}) 51 await import('@formatjs/intl-pluralrules/locale-data/fi') 52 break 53 } 54 case AppLanguage.fr: { 55 i18n.loadAndActivate({locale, messages: messagesFr}) 56 await import('@formatjs/intl-pluralrules/locale-data/fr') 57 break 58 } 59 case AppLanguage.ga: { 60 i18n.loadAndActivate({locale, messages: messagesGa}) 61 await import('@formatjs/intl-pluralrules/locale-data/ga') 62 break 63 } 64 case AppLanguage.hi: { 65 i18n.loadAndActivate({locale, messages: messagesHi}) 66 await import('@formatjs/intl-pluralrules/locale-data/hi') 67 break 68 } 69 case AppLanguage.id: { 70 i18n.loadAndActivate({locale, messages: messagesId}) 71 await import('@formatjs/intl-pluralrules/locale-data/id') 72 break 73 } 74 case AppLanguage.it: { 75 i18n.loadAndActivate({locale, messages: messagesIt}) 76 await import('@formatjs/intl-pluralrules/locale-data/it') 77 break 78 } 79 case AppLanguage.ja: { 80 i18n.loadAndActivate({locale, messages: messagesJa}) 81 await import('@formatjs/intl-pluralrules/locale-data/ja') 82 break 83 } 84 case AppLanguage.ko: { 85 i18n.loadAndActivate({locale, messages: messagesKo}) 86 await import('@formatjs/intl-pluralrules/locale-data/ko') 87 break 88 } 89 case AppLanguage.pt_BR: { 90 i18n.loadAndActivate({locale, messages: messagesPt_BR}) 91 await import('@formatjs/intl-pluralrules/locale-data/pt') 92 break 93 } 94 case AppLanguage.tr: { 95 i18n.loadAndActivate({locale, messages: messagesTr}) 96 await import('@formatjs/intl-pluralrules/locale-data/tr') 97 break 98 } 99 case AppLanguage.uk: { 100 i18n.loadAndActivate({locale, messages: messagesUk}) 101 await import('@formatjs/intl-pluralrules/locale-data/uk') 102 break 103 } 104 case AppLanguage.zh_CN: { 105 i18n.loadAndActivate({locale, messages: messagesZh_CN}) 106 await import('@formatjs/intl-pluralrules/locale-data/zh') 107 break 108 } 109 case AppLanguage.zh_TW: { 110 i18n.loadAndActivate({locale, messages: messagesZh_TW}) 111 await import('@formatjs/intl-pluralrules/locale-data/zh') 112 break 113 } 114 default: { 115 i18n.loadAndActivate({locale, messages: messagesEn}) 116 break 117 } 118 } 119} 120 121export async function useLocaleLanguage() { 122 const {appLanguage} = useLanguagePrefs() 123 useEffect(() => { 124 dynamicActivate(sanitizeAppLanguageSetting(appLanguage)) 125 }, [appLanguage]) 126}