gitscope
https://dev.kronoz.win/r/marzneshin.git
app/dashboard/src/locales/i18n.ts · v0.2.1
Source
1 bf7c131 Mardin 2y ago import { joinPaths } from '@remix-run/router';
2 a47eb4c Dawsh 2y ago
3 bf7c131 Mardin 2y ago import fa from 'date-fns/locale/fa-IR';
4 bf7c131 Mardin 2y ago import ru from 'date-fns/locale/ru';
5 bf7c131 Mardin 2y ago import zh from 'date-fns/locale/zh-CN';
6 bf7c131 Mardin 2y ago import dayjs from 'dayjs';
7 bf7c131 Mardin 2y ago import i18n from 'i18next';
8 bf7c131 Mardin 2y ago import LanguageDetector from 'i18next-browser-languagedetector';
9 bf7c131 Mardin 2y ago import HttpApi from 'i18next-http-backend';
10 bf7c131 Mardin 2y ago import { registerLocale } from 'react-datepicker';
11 bf7c131 Mardin 2y ago import { initReactI18next } from 'react-i18next';
12 a47eb4c Dawsh 2y ago
13 bf7c131 Mardin 2y ago declare module 'i18next' {
14 a47eb4c Dawsh 2y ago interface CustomTypeOptions {
15 a47eb4c Dawsh 2y ago returnNull: false;
16 a47eb4c Dawsh 2y ago }
17 a47eb4c Dawsh 2y ago }
18 a47eb4c Dawsh 2y ago
19 a47eb4c Dawsh 2y ago i18n
20 a47eb4c Dawsh 2y ago .use(LanguageDetector)
21 a47eb4c Dawsh 2y ago .use(initReactI18next)
22 a47eb4c Dawsh 2y ago .use(HttpApi)
23 a47eb4c Dawsh 2y ago .init(
24 a47eb4c Dawsh 2y ago {
25 bf7c131 Mardin 2y ago debug: import.meta.env.NODE_ENV === 'development',
26 a47eb4c Dawsh 2y ago returnNull: false,
27 bf7c131 Mardin 2y ago fallbackLng: 'en',
28 a47eb4c Dawsh 2y ago interpolation: {
29 a47eb4c Dawsh 2y ago escapeValue: false,
30 a47eb4c Dawsh 2y ago },
31 a47eb4c Dawsh 2y ago react: {
32 a47eb4c Dawsh 2y ago useSuspense: false,
33 a47eb4c Dawsh 2y ago },
34 bf7c131 Mardin 2y ago load: 'languageOnly',
35 a47eb4c Dawsh 2y ago detection: {
36 bf7c131 Mardin 2y ago caches: ['localStorage', 'sessionStorage', 'cookie'],
37 a47eb4c Dawsh 2y ago },
38 a47eb4c Dawsh 2y ago backend: {
39 bf7c131 Mardin 2y ago loadPath: joinPaths([import.meta.env.BASE_URL, 'locales/{{lng}}.json']),
40 a47eb4c Dawsh 2y ago },
41 a47eb4c Dawsh 2y ago },
42 bf7c131 Mardin 2y ago function() {
43 a47eb4c Dawsh 2y ago dayjs.locale(i18n.language);
44 a47eb4c Dawsh 2y ago }
45 a47eb4c Dawsh 2y ago );
46 a47eb4c Dawsh 2y ago
47 bf7c131 Mardin 2y ago i18n.on('languageChanged', (lng) => {
48 a47eb4c Dawsh 2y ago dayjs.locale(lng);
49 a47eb4c Dawsh 2y ago });
50 a47eb4c Dawsh 2y ago
51 a47eb4c Dawsh 2y ago // DataPicker
52 bf7c131 Mardin 2y ago registerLocale('zh-cn', zh);
53 bf7c131 Mardin 2y ago registerLocale('ru', ru);
54 bf7c131 Mardin 2y ago registerLocale('fa', fa);
55 a47eb4c Dawsh 2y ago
56 a47eb4c Dawsh 2y ago export default i18n;