gitscope
https://dev.kronoz.win/r/marzneshin.git
dashboard/src/features/i18n/index.ts · v0.3.0-alpha4
Source
1 6badc43 Mrdn 2y ago import dayjs from 'dayjs';
2 6badc43 Mrdn 2y ago import i18n from 'i18next';
3 6badc43 Mrdn 2y ago import LanguageDetector from 'i18next-browser-languagedetector';
4 6badc43 Mrdn 2y ago import HttpApi from 'i18next-http-backend';
5 6badc43 Mrdn 2y ago import { initReactI18next } from 'react-i18next';
6 7b6fa39 Mrdn 2y ago import { joinPaths } from '@remix-run/router';
7 6badc43 Mrdn 2y ago
8 6badc43 Mrdn 2y ago declare module 'i18next' {
9 6badc43 Mrdn 2y ago interface CustomTypeOptions {
10 6badc43 Mrdn 2y ago returnNull: false;
11 6badc43 Mrdn 2y ago }
12 6badc43 Mrdn 2y ago }
13 6badc43 Mrdn 2y ago
14 6badc43 Mrdn 2y ago i18n
15 6badc43 Mrdn 2y ago .use(LanguageDetector)
16 6badc43 Mrdn 2y ago .use(initReactI18next)
17 6badc43 Mrdn 2y ago .use(HttpApi)
18 6badc43 Mrdn 2y ago .init(
19 6badc43 Mrdn 2y ago {
20 6badc43 Mrdn 2y ago debug: import.meta.env.NODE_ENV === 'development',
21 6badc43 Mrdn 2y ago returnNull: false,
22 6badc43 Mrdn 2y ago fallbackLng: 'en',
23 6badc43 Mrdn 2y ago interpolation: {
24 6badc43 Mrdn 2y ago escapeValue: false,
25 6badc43 Mrdn 2y ago },
26 6badc43 Mrdn 2y ago react: {
27 6badc43 Mrdn 2y ago useSuspense: false,
28 6badc43 Mrdn 2y ago },
29 6badc43 Mrdn 2y ago load: 'languageOnly',
30 6badc43 Mrdn 2y ago detection: {
31 6badc43 Mrdn 2y ago caches: ['localStorage', 'sessionStorage', 'cookie'],
32 6badc43 Mrdn 2y ago },
33 6badc43 Mrdn 2y ago backend: {
34 7b6fa39 Mrdn 2y ago loadPath: joinPaths([import.meta.env.BASE_URL, 'locales/{{lng}}.json']),
35 6badc43 Mrdn 2y ago },
36 3b7feef Mrdn 2y ago supportedLngs: ['en', 'ku-kur', 'ku-sor', 'ku-sor-latin', 'fa', 'ru'],
37 6badc43 Mrdn 2y ago },
38 6badc43 Mrdn 2y ago function() {
39 6badc43 Mrdn 2y ago dayjs.locale(i18n.language);
40 6badc43 Mrdn 2y ago }
41 6badc43 Mrdn 2y ago );
42 6badc43 Mrdn 2y ago
43 6badc43 Mrdn 2y ago i18n.on('languageChanged', (lng) => {
44 6badc43 Mrdn 2y ago dayjs.locale(lng);
45 6badc43 Mrdn 2y ago });
46 6badc43 Mrdn 2y ago
47 6badc43 Mrdn 2y ago export default i18n;