mirror of https://github.com/tooot-app/app
171 lines
5.9 KiB
TypeScript
171 lines
5.9 KiB
TypeScript
import * as Localization from 'expo-localization'
|
|
import i18n from 'i18next'
|
|
import { initReactI18next } from 'react-i18next'
|
|
|
|
import be from './be'
|
|
import ca from './ca'
|
|
import de from './de'
|
|
import el from './el'
|
|
import en from './en'
|
|
import es from './es'
|
|
import eu from './eu'
|
|
import fr from './fr'
|
|
import it from './it'
|
|
import ja from './ja'
|
|
import ko from './ko'
|
|
import nl from './nl'
|
|
import no from './no'
|
|
import pl from './pl'
|
|
import pt_BR from './pt_BR'
|
|
import sv from './sv'
|
|
import uk from './uk'
|
|
import vi from './vi'
|
|
import zh_Hans from './zh-Hans'
|
|
import zh_Hant from './zh-Hant'
|
|
|
|
import '@formatjs/intl-getcanonicallocales/polyfill'
|
|
import '@formatjs/intl-locale/polyfill'
|
|
|
|
import '@formatjs/intl-pluralrules/polyfill'
|
|
import '@formatjs/intl-pluralrules/locale-data/be'
|
|
import '@formatjs/intl-pluralrules/locale-data/ca'
|
|
import '@formatjs/intl-pluralrules/locale-data/de'
|
|
import '@formatjs/intl-pluralrules/locale-data/el'
|
|
import '@formatjs/intl-pluralrules/locale-data/en'
|
|
import '@formatjs/intl-pluralrules/locale-data/es'
|
|
import '@formatjs/intl-pluralrules/locale-data/eu'
|
|
import '@formatjs/intl-pluralrules/locale-data/fr'
|
|
import '@formatjs/intl-pluralrules/locale-data/it'
|
|
import '@formatjs/intl-pluralrules/locale-data/ja'
|
|
import '@formatjs/intl-pluralrules/locale-data/ko'
|
|
import '@formatjs/intl-pluralrules/locale-data/nl'
|
|
import '@formatjs/intl-pluralrules/locale-data/no'
|
|
import '@formatjs/intl-pluralrules/locale-data/pl'
|
|
import '@formatjs/intl-pluralrules/locale-data/pt'
|
|
import '@formatjs/intl-pluralrules/locale-data/sv'
|
|
import '@formatjs/intl-pluralrules/locale-data/uk'
|
|
import '@formatjs/intl-pluralrules/locale-data/vi'
|
|
import '@formatjs/intl-pluralrules/locale-data/zh'
|
|
|
|
import '@formatjs/intl-numberformat/polyfill'
|
|
import '@formatjs/intl-numberformat/locale-data/be'
|
|
import '@formatjs/intl-numberformat/locale-data/ca'
|
|
import '@formatjs/intl-numberformat/locale-data/de'
|
|
import '@formatjs/intl-numberformat/locale-data/el'
|
|
import '@formatjs/intl-numberformat/locale-data/en'
|
|
import '@formatjs/intl-numberformat/locale-data/es'
|
|
import '@formatjs/intl-numberformat/locale-data/eu'
|
|
import '@formatjs/intl-numberformat/locale-data/fr'
|
|
import '@formatjs/intl-numberformat/locale-data/it'
|
|
import '@formatjs/intl-numberformat/locale-data/ja'
|
|
import '@formatjs/intl-numberformat/locale-data/ko'
|
|
import '@formatjs/intl-numberformat/locale-data/nl'
|
|
import '@formatjs/intl-numberformat/locale-data/no'
|
|
import '@formatjs/intl-numberformat/locale-data/pl'
|
|
import '@formatjs/intl-numberformat/locale-data/pt'
|
|
import '@formatjs/intl-numberformat/locale-data/sv'
|
|
import '@formatjs/intl-numberformat/locale-data/uk'
|
|
import '@formatjs/intl-numberformat/locale-data/vi'
|
|
import '@formatjs/intl-numberformat/locale-data/zh-Hans'
|
|
import '@formatjs/intl-numberformat/locale-data/zh-Hant'
|
|
|
|
import '@formatjs/intl-datetimeformat/polyfill'
|
|
import '@formatjs/intl-datetimeformat/add-all-tz'
|
|
import '@formatjs/intl-datetimeformat/locale-data/be'
|
|
import '@formatjs/intl-datetimeformat/locale-data/ca'
|
|
import '@formatjs/intl-datetimeformat/locale-data/de'
|
|
import '@formatjs/intl-datetimeformat/locale-data/el'
|
|
import '@formatjs/intl-datetimeformat/locale-data/en'
|
|
import '@formatjs/intl-datetimeformat/locale-data/es'
|
|
import '@formatjs/intl-datetimeformat/locale-data/eu'
|
|
import '@formatjs/intl-datetimeformat/locale-data/fr'
|
|
import '@formatjs/intl-datetimeformat/locale-data/it'
|
|
import '@formatjs/intl-datetimeformat/locale-data/ja'
|
|
import '@formatjs/intl-datetimeformat/locale-data/ko'
|
|
import '@formatjs/intl-datetimeformat/locale-data/nl'
|
|
import '@formatjs/intl-datetimeformat/locale-data/no'
|
|
import '@formatjs/intl-datetimeformat/locale-data/pl'
|
|
import '@formatjs/intl-datetimeformat/locale-data/pt'
|
|
import '@formatjs/intl-datetimeformat/locale-data/sv'
|
|
import '@formatjs/intl-datetimeformat/locale-data/uk'
|
|
import '@formatjs/intl-datetimeformat/locale-data/vi'
|
|
import '@formatjs/intl-datetimeformat/locale-data/zh-Hans'
|
|
import '@formatjs/intl-datetimeformat/locale-data/zh-Hant'
|
|
|
|
import '@formatjs/intl-relativetimeformat/polyfill'
|
|
import '@formatjs/intl-relativetimeformat/locale-data/be'
|
|
import '@formatjs/intl-relativetimeformat/locale-data/ca'
|
|
import '@formatjs/intl-relativetimeformat/locale-data/de'
|
|
import '@formatjs/intl-relativetimeformat/locale-data/el'
|
|
import '@formatjs/intl-relativetimeformat/locale-data/en'
|
|
import '@formatjs/intl-relativetimeformat/locale-data/es'
|
|
import '@formatjs/intl-relativetimeformat/locale-data/eu'
|
|
import '@formatjs/intl-relativetimeformat/locale-data/fr'
|
|
import '@formatjs/intl-relativetimeformat/locale-data/it'
|
|
import '@formatjs/intl-relativetimeformat/locale-data/ja'
|
|
import '@formatjs/intl-relativetimeformat/locale-data/ko'
|
|
import '@formatjs/intl-relativetimeformat/locale-data/nl'
|
|
import '@formatjs/intl-relativetimeformat/locale-data/no'
|
|
import '@formatjs/intl-relativetimeformat/locale-data/pl'
|
|
import '@formatjs/intl-relativetimeformat/locale-data/pt'
|
|
import '@formatjs/intl-relativetimeformat/locale-data/sv'
|
|
import '@formatjs/intl-relativetimeformat/locale-data/uk'
|
|
import '@formatjs/intl-relativetimeformat/locale-data/vi'
|
|
import '@formatjs/intl-relativetimeformat/locale-data/zh-Hans'
|
|
import '@formatjs/intl-relativetimeformat/locale-data/zh-Hant'
|
|
|
|
i18n.use(initReactI18next).init({
|
|
lng: 'en',
|
|
fallbackLng: { nb: ['no'], nn: ['no'], default: ['en'] },
|
|
|
|
ns: ['common'],
|
|
defaultNS: 'common',
|
|
|
|
resources: {
|
|
be,
|
|
ca,
|
|
de,
|
|
el,
|
|
en,
|
|
es,
|
|
eu,
|
|
fr,
|
|
it,
|
|
ja,
|
|
ko,
|
|
nl,
|
|
no,
|
|
pl,
|
|
'pt-BR': pt_BR,
|
|
sv,
|
|
uk,
|
|
vi,
|
|
'zh-Hans': zh_Hans,
|
|
'zh-Hant': zh_Hant
|
|
},
|
|
returnNull: false,
|
|
returnEmptyString: false,
|
|
|
|
saveMissing: true,
|
|
missingKeyHandler: (_, ns, key) => {
|
|
console.log('i18n missing', ns, key)
|
|
},
|
|
|
|
interpolation: {
|
|
escapeValue: false
|
|
},
|
|
react: {
|
|
useSuspense: false
|
|
}
|
|
})
|
|
|
|
const timezone = Localization.getCalendars()[0].timeZone
|
|
if (timezone && '__setDefaultTimeZone' in Intl.DateTimeFormat) {
|
|
try {
|
|
// @ts-ignore
|
|
Intl.DateTimeFormat.__setDefaultTimeZone(timezone)
|
|
} catch {}
|
|
}
|
|
|
|
export default i18n
|