tooot/src/i18n/index.ts

171 lines
5.9 KiB
TypeScript
Raw Normal View History

2023-01-14 16:29:28 +01:00
import * as Localization from 'expo-localization'
2021-01-27 00:35:34 +01:00
import i18n from 'i18next'
import { initReactI18next } from 'react-i18next'
2023-03-08 23:40:28 +01:00
import be from './be'
import ca from './ca'
import de from './de'
2023-04-17 23:21:00 +02:00
import el from './el'
import en from './en'
import es from './es'
2023-03-14 21:44:13 +01:00
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'
2023-03-14 21:49:14 +01:00
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'
2020-11-29 18:08:31 +01:00
import '@formatjs/intl-getcanonicallocales/polyfill'
import '@formatjs/intl-locale/polyfill'
2022-06-01 00:40:24 +02:00
import '@formatjs/intl-pluralrules/polyfill'
2023-03-08 23:40:28 +01:00
import '@formatjs/intl-pluralrules/locale-data/be'
2022-12-04 01:24:37 +01:00
import '@formatjs/intl-pluralrules/locale-data/ca'
import '@formatjs/intl-pluralrules/locale-data/de'
2023-04-17 23:21:00 +02:00
import '@formatjs/intl-pluralrules/locale-data/el'
import '@formatjs/intl-pluralrules/locale-data/en'
2022-11-17 20:02:56 +01:00
import '@formatjs/intl-pluralrules/locale-data/es'
2023-03-14 21:44:13 +01:00
import '@formatjs/intl-pluralrules/locale-data/eu'
2022-11-11 23:59:16 +01:00
import '@formatjs/intl-pluralrules/locale-data/fr'
2022-06-01 00:40:24 +02:00
import '@formatjs/intl-pluralrules/locale-data/it'
2022-09-14 23:04:35 +02:00
import '@formatjs/intl-pluralrules/locale-data/ja'
import '@formatjs/intl-pluralrules/locale-data/ko'
2022-12-04 01:20:49 +01:00
import '@formatjs/intl-pluralrules/locale-data/nl'
import '@formatjs/intl-pluralrules/locale-data/no'
2023-03-14 21:49:14 +01:00
import '@formatjs/intl-pluralrules/locale-data/pl'
import '@formatjs/intl-pluralrules/locale-data/pt'
2022-11-20 16:47:11 +01:00
import '@formatjs/intl-pluralrules/locale-data/sv'
2022-12-15 00:16:13 +01:00
import '@formatjs/intl-pluralrules/locale-data/uk'
import '@formatjs/intl-pluralrules/locale-data/vi'
import '@formatjs/intl-pluralrules/locale-data/zh'
2022-06-01 00:40:24 +02:00
import '@formatjs/intl-numberformat/polyfill'
2023-03-08 23:40:28 +01:00
import '@formatjs/intl-numberformat/locale-data/be'
2022-12-04 01:24:37 +01:00
import '@formatjs/intl-numberformat/locale-data/ca'
import '@formatjs/intl-numberformat/locale-data/de'
2023-04-17 23:21:00 +02:00
import '@formatjs/intl-numberformat/locale-data/el'
import '@formatjs/intl-numberformat/locale-data/en'
2022-11-17 20:02:56 +01:00
import '@formatjs/intl-numberformat/locale-data/es'
2023-03-14 21:44:13 +01:00
import '@formatjs/intl-numberformat/locale-data/eu'
2022-11-11 23:59:16 +01:00
import '@formatjs/intl-numberformat/locale-data/fr'
2022-06-01 00:40:24 +02:00
import '@formatjs/intl-numberformat/locale-data/it'
2022-09-14 23:04:35 +02:00
import '@formatjs/intl-numberformat/locale-data/ja'
import '@formatjs/intl-numberformat/locale-data/ko'
2022-12-04 01:20:49 +01:00
import '@formatjs/intl-numberformat/locale-data/nl'
import '@formatjs/intl-numberformat/locale-data/no'
2023-03-14 21:49:14 +01:00
import '@formatjs/intl-numberformat/locale-data/pl'
import '@formatjs/intl-numberformat/locale-data/pt'
2022-11-20 16:47:11 +01:00
import '@formatjs/intl-numberformat/locale-data/sv'
2022-12-15 00:16:13 +01:00
import '@formatjs/intl-numberformat/locale-data/uk'
import '@formatjs/intl-numberformat/locale-data/vi'
import '@formatjs/intl-numberformat/locale-data/zh-Hans'
2022-10-30 14:29:43 +01:00
import '@formatjs/intl-numberformat/locale-data/zh-Hant'
2022-06-01 00:40:24 +02:00
import '@formatjs/intl-datetimeformat/polyfill'
import '@formatjs/intl-datetimeformat/add-all-tz'
2023-03-08 23:40:28 +01:00
import '@formatjs/intl-datetimeformat/locale-data/be'
2022-12-04 01:24:37 +01:00
import '@formatjs/intl-datetimeformat/locale-data/ca'
import '@formatjs/intl-datetimeformat/locale-data/de'
2023-04-17 23:21:00 +02:00
import '@formatjs/intl-datetimeformat/locale-data/el'
import '@formatjs/intl-datetimeformat/locale-data/en'
2022-11-17 20:02:56 +01:00
import '@formatjs/intl-datetimeformat/locale-data/es'
2023-03-14 21:44:13 +01:00
import '@formatjs/intl-datetimeformat/locale-data/eu'
2022-11-11 23:59:16 +01:00
import '@formatjs/intl-datetimeformat/locale-data/fr'
2022-06-01 00:40:24 +02:00
import '@formatjs/intl-datetimeformat/locale-data/it'
2022-09-14 23:04:35 +02:00
import '@formatjs/intl-datetimeformat/locale-data/ja'
import '@formatjs/intl-datetimeformat/locale-data/ko'
2022-12-04 01:20:49 +01:00
import '@formatjs/intl-datetimeformat/locale-data/nl'
import '@formatjs/intl-datetimeformat/locale-data/no'
2023-03-14 21:49:14 +01:00
import '@formatjs/intl-datetimeformat/locale-data/pl'
import '@formatjs/intl-datetimeformat/locale-data/pt'
2022-11-20 16:47:11 +01:00
import '@formatjs/intl-datetimeformat/locale-data/sv'
2022-12-15 00:16:13 +01:00
import '@formatjs/intl-datetimeformat/locale-data/uk'
import '@formatjs/intl-datetimeformat/locale-data/vi'
import '@formatjs/intl-datetimeformat/locale-data/zh-Hans'
2022-10-30 14:29:43 +01:00
import '@formatjs/intl-datetimeformat/locale-data/zh-Hant'
2022-06-01 00:40:24 +02:00
import '@formatjs/intl-relativetimeformat/polyfill'
2023-03-08 23:40:28 +01:00
import '@formatjs/intl-relativetimeformat/locale-data/be'
2022-12-04 01:24:37 +01:00
import '@formatjs/intl-relativetimeformat/locale-data/ca'
import '@formatjs/intl-relativetimeformat/locale-data/de'
2023-04-17 23:21:00 +02:00
import '@formatjs/intl-relativetimeformat/locale-data/el'
import '@formatjs/intl-relativetimeformat/locale-data/en'
2022-11-17 20:02:56 +01:00
import '@formatjs/intl-relativetimeformat/locale-data/es'
2023-03-14 21:44:13 +01:00
import '@formatjs/intl-relativetimeformat/locale-data/eu'
2022-11-11 23:59:16 +01:00
import '@formatjs/intl-relativetimeformat/locale-data/fr'
2022-06-01 00:40:24 +02:00
import '@formatjs/intl-relativetimeformat/locale-data/it'
2022-09-14 23:04:35 +02:00
import '@formatjs/intl-relativetimeformat/locale-data/ja'
import '@formatjs/intl-relativetimeformat/locale-data/ko'
2022-12-04 01:20:49 +01:00
import '@formatjs/intl-relativetimeformat/locale-data/nl'
import '@formatjs/intl-relativetimeformat/locale-data/no'
2023-03-14 21:49:14 +01:00
import '@formatjs/intl-relativetimeformat/locale-data/pl'
import '@formatjs/intl-relativetimeformat/locale-data/pt'
2022-11-20 16:47:11 +01:00
import '@formatjs/intl-relativetimeformat/locale-data/sv'
2022-12-15 00:16:13 +01:00
import '@formatjs/intl-relativetimeformat/locale-data/uk'
import '@formatjs/intl-relativetimeformat/locale-data/vi'
import '@formatjs/intl-relativetimeformat/locale-data/zh-Hans'
2022-10-30 14:29:43 +01:00
import '@formatjs/intl-relativetimeformat/locale-data/zh-Hant'
2021-01-27 00:35:34 +01:00
i18n.use(initReactI18next).init({
lng: 'en',
2023-02-17 13:53:16 +01:00
fallbackLng: { nb: ['no'], nn: ['no'], default: ['en'] },
ns: ['common'],
defaultNS: 'common',
2022-11-17 20:02:56 +01:00
resources: {
2023-03-08 23:40:28 +01:00
be,
2022-12-04 01:24:37 +01:00
ca,
2022-11-17 20:02:56 +01:00
de,
2023-04-17 23:21:00 +02:00
el,
2022-11-17 20:02:56 +01:00
en,
es,
2023-03-14 21:44:13 +01:00
eu,
2022-11-17 20:02:56 +01:00
fr,
it,
ja,
ko,
2022-12-04 01:20:49 +01:00
nl,
no,
2023-03-14 21:49:14 +01:00
pl,
2022-11-17 20:02:56 +01:00
'pt-BR': pt_BR,
2022-11-20 16:47:11 +01:00
sv,
2022-12-15 00:16:13 +01:00
uk,
2022-11-17 20:02:56 +01:00
vi,
'zh-Hans': zh_Hans,
'zh-Hant': zh_Hant
},
2022-12-23 15:53:40 +01:00
returnNull: false,
2022-05-13 10:53:04 +02:00
returnEmptyString: false,
saveMissing: true,
2022-06-06 22:49:43 +02:00
missingKeyHandler: (_, ns, key) => {
console.log('i18n missing', ns, key)
},
interpolation: {
escapeValue: false
2021-01-27 00:35:34 +01:00
},
react: {
useSuspense: false
2021-02-20 19:12:44 +01:00
}
})
2023-01-14 16:29:28 +01:00
const timezone = Localization.getCalendars()[0].timeZone
if (timezone && '__setDefaultTimeZone' in Intl.DateTimeFormat) {
try {
// @ts-ignore
Intl.DateTimeFormat.__setDefaultTimeZone(timezone)
} catch {}
}
2021-01-27 00:35:34 +01:00
export default i18n