feat: add en language
This commit is contained in:
24
client/src/config/AppWrapper.tsx
Normal file
24
client/src/config/AppWrapper.tsx
Normal file
@@ -0,0 +1,24 @@
|
||||
import './i18n';
|
||||
import { ConfigProvider } from 'antd';
|
||||
import { useTranslation } from 'react-i18next';
|
||||
|
||||
import { theme } from './customTheme';
|
||||
|
||||
import en from 'antd/locale/en_US';
|
||||
import ru from 'antd/locale/ru_RU';
|
||||
|
||||
const antdLocales = {
|
||||
en: en,
|
||||
ru: ru,
|
||||
};
|
||||
|
||||
export default function AppWrapper({ children }: any) {
|
||||
const { i18n } = useTranslation();
|
||||
const currentLang = i18n.language.split('-')[0] as 'en' | 'ru';
|
||||
|
||||
return (
|
||||
<ConfigProvider locale={antdLocales[currentLang]} theme={theme}>
|
||||
{children}
|
||||
</ConfigProvider>
|
||||
);
|
||||
}
|
74
client/src/config/i18n.ts
Normal file
74
client/src/config/i18n.ts
Normal file
@@ -0,0 +1,74 @@
|
||||
import i18n from 'i18next';
|
||||
import { initReactI18next } from 'react-i18next';
|
||||
import LanguageDetector from 'i18next-browser-languagedetector';
|
||||
|
||||
i18n
|
||||
.use(LanguageDetector)
|
||||
.use(initReactI18next)
|
||||
.init({
|
||||
fallbackLng: 'en',
|
||||
supportedLngs: ['en', 'ru'],
|
||||
interpolation: { escapeValue: false },
|
||||
resources: {
|
||||
en: {
|
||||
translation: {
|
||||
accounts: 'Accounts',
|
||||
processDiagrams: 'Process diagrams',
|
||||
runningProcesses: 'Running processes',
|
||||
settings: 'Settings',
|
||||
eventsList: 'Events list',
|
||||
configuration: 'Configuration',
|
||||
selectPhoto: 'Select photo',
|
||||
name: 'Name',
|
||||
login: 'Login',
|
||||
password: 'Password',
|
||||
email: 'Email',
|
||||
tenant: 'Tenant',
|
||||
role: 'Role',
|
||||
status: 'Status',
|
||||
nameMessage: 'Enter name',
|
||||
loginMessage: 'Enter login',
|
||||
passwordMessage: 'Enter password',
|
||||
emailMessage: 'Enter email',
|
||||
emailErrorMessage: 'Incorrect email',
|
||||
tenantMessage: 'Enter tenant',
|
||||
roleMessage: 'Choose role',
|
||||
statusMessage: 'Choose status',
|
||||
addAccount: 'Add account',
|
||||
save: 'Save changes',
|
||||
newAccount: 'New account',
|
||||
},
|
||||
},
|
||||
ru: {
|
||||
translation: {
|
||||
accounts: 'Учетные записи',
|
||||
processDiagrams: 'Схемы процессов',
|
||||
runningProcesses: 'Запущенные процессы',
|
||||
settings: 'Настройки',
|
||||
eventsList: 'Справочкин событий',
|
||||
configuration: 'Конфигурация',
|
||||
selectPhoto: 'Выбрать фото',
|
||||
name: 'Имя',
|
||||
login: 'Логин',
|
||||
password: 'Пароль',
|
||||
email: 'Имейл',
|
||||
tenant: 'Привязка',
|
||||
role: 'Роль',
|
||||
status: 'Статус',
|
||||
nameMessage: 'Введите имя',
|
||||
loginMessage: 'Введите логин',
|
||||
passwordMessage: 'Введите пароль',
|
||||
emailMessage: 'Введите имейл',
|
||||
emailErrorMessage: 'Некорректный имейл',
|
||||
tenantMessage: 'Введите привязку',
|
||||
roleMessage: 'Выберите роль',
|
||||
statusMessage: 'Выберите статус',
|
||||
addAccount: 'Добавить аккаунт',
|
||||
save: 'Сохранить изменения',
|
||||
newAccount: 'Новая учетная запись',
|
||||
},
|
||||
},
|
||||
},
|
||||
});
|
||||
|
||||
export default i18n;
|
Reference in New Issue
Block a user