feat: add multilingualism (#35)

This commit is contained in:
2024-11-23 15:19:44 +03:00
parent a63304b5e4
commit 4e8bc2fca5
11 changed files with 175 additions and 102 deletions

View File

@@ -12,7 +12,7 @@ import {
DrawerHeader,
DrawerOverlay,
} from '@chakra-ui/react';
import i18next from 'i18next';
import { useTranslation } from 'react-i18next';
const MasterDrawer = ({ isOpen, onClose }) => {
const [newMaster, setNewMaster] = useState({ name: '', phone: '' });
@@ -22,51 +22,44 @@ const MasterDrawer = ({ isOpen, onClose }) => {
onClose();
};
const { t } = useTranslation('~', {
keyPrefix: 'dry-wash.arm.master.drawer',
});
return (
<Drawer isOpen={isOpen} onClose={onClose} size='md'>
<DrawerOverlay />
<DrawerContent>
<DrawerCloseButton />
<DrawerHeader>
{i18next.t('dry-wash.arm.master.drawer.title')}
</DrawerHeader>
<DrawerHeader>{t('title')}</DrawerHeader>
<DrawerBody>
<FormControl mb='4'>
<FormLabel>
{i18next.t('dry-wash.arm.master.drawer.inputName.label')}
</FormLabel>
<FormLabel>{t('inputName.label')}</FormLabel>
<Input
value={newMaster.name}
onChange={(e) =>
setNewMaster({ ...newMaster, name: e.target.value })
}
placeholder={i18next.t(
'dry-wash.arm.master.drawer.inputName.placeholder',
)}
placeholder={t('inputName.placeholder')}
/>
</FormControl>
<FormControl>
<FormLabel>
{' '}
{i18next.t('dry-wash.arm.master.drawer.inputPhone.label')}
</FormLabel>
<FormLabel> {t('inputPhone.label')}</FormLabel>
<Input
value={newMaster.phone}
onChange={(e) =>
setNewMaster({ ...newMaster, phone: e.target.value })
}
placeholder={i18next.t(
'dry-wash.arm.master.drawer.inputPhone.placeholder',
)}
placeholder={t('inputPhone.placeholder')}
/>
</FormControl>
</DrawerBody>
<DrawerFooter>
<Button colorScheme='teal' mr={3} onClick={handleSave}>
{i18next.t('dry-wash.arm.master.drawer.button.save')}
{t('button.save')}
</Button>
<Button variant='ghost' onClick={onClose}>
{i18next.t('dry-wash.arm.master.drawer.button.cancel')}
{t('button.cancel')}
</Button>
</DrawerFooter>
</DrawerContent>