From 98beb339934312a9581cbec77b763d161e6a450e Mon Sep 17 00:00:00 2001 From: ariari04 Date: Tue, 27 Aug 2024 08:52:34 +0600 Subject: [PATCH] Add translations --- messages/en.json | 21 ++++++++++++++++ messages/kg.json | 21 ++++++++++++++++ messages/ru.json | 21 ++++++++++++++++ .../confirm-code/ConfirmCode.tsx | 24 +++++++++---------- .../send-email/SendEmail.tsx | 24 +++++++------------ 5 files changed, 84 insertions(+), 27 deletions(-) diff --git a/messages/en.json b/messages/en.json index aa44104..5111cf0 100644 --- a/messages/en.json +++ b/messages/en.json @@ -83,5 +83,26 @@ "loginGoogle": "Login with Google", "noAccount": "Don't have an account yet?", "register": "Register" + }, + "forgotPasswordEmail": { + "enter": "Enter email", + "desc": "Enter your email and create a password recovery code", + "sendCode": "Get code", + "error": "An error occurred while sending the email", + "emailFormat": "Invalid email format", + "userNotFound": "User with this email was not found", + "serverError": "Server side error", + "errorOccured": "An unexpected error occurred" + }, + "confirmCodeForgot": { + "enterCode": "Enter code", + "enterInfo": "Enter the code to reset and recover your password", + "code": "Confirmation code", + "getPassword": "Reset password", + "getCode": "Get code", + "min": "The verification code consists of 6 digits", + "incorrect": "Incorrect code", + "serverError": "Error on the server side", + "errorOccured": "An unexpected error occurred" } } diff --git a/messages/kg.json b/messages/kg.json index 1fe48ef..b90e38b 100644 --- a/messages/kg.json +++ b/messages/kg.json @@ -83,5 +83,26 @@ "loginGoogle": "Google аркылуу кируңуз", "noAccount": "Аккаунт жок?", "register": "Каттоо" + }, + "forgotPasswordEmail": { + "enter": "Электрондук почтаны киргизиңиз", + "desc": "Электрондук почтаңызды киргизиңиз жана сырсөздү калыбына келтирүү кодун түзүңүз", + "sendCode": "Кодду түзөтүү", + "error": "Электрондук кат жөнөтүүдө ката кетти", + "emailFormat": "Жараксыз электрондук почта форматы", + "userNotFound": "Бул электрондук почтасы бар колдонуучу табылган жок", + "serverError": "Сервер тараптагы ката", + "errorOccured": "Күтүлбөгөн ката кетти" + }, + "confirmCodeForgot": { + "enterCode": "Кодду киргизиңиз", + "enterInfo": "Сырсөзүңүздү калыбына келтирүү жана калыбына келтирүү үчүн кодду киргизиңиз", + "code": "Ырастоо коду", + "getPassword": "Сырсөздү кайра коюу", + "getCode": "Кодду алуу", + "min": "Текшерүү коду 6 сандан турат", + "incorrect": "Код туура эмес", + "serverError": "Сервер тараптагы ката", + "errorOccured": "Күтүлбөгөн ката кетти" } } diff --git a/messages/ru.json b/messages/ru.json index 3570266..b498744 100644 --- a/messages/ru.json +++ b/messages/ru.json @@ -74,5 +74,26 @@ "loginGoogle": "Войти через Google", "noAccount": "Еще нет аккаунта?", "register": "Зарегистрируйтесь" + }, + "forgotPasswordEmail": { + "enter": "Введите email", + "desc": "Введите email и мы отправим код для восстановления пароля", + "sendCode": "Отправить код", + "error": "Произошла ошибка при отправке электронной почты", + "emailFormat": "Неверный формат email", + "userNotFound": "Пользователь с таким email не найден", + "serverError": "Ошибка на стороне сервера", + "errorOccured": "Произошла непредвиденная ошибка" + }, + "confirmCodeForgot": { + "enterCode": "Введите код", + "enterInfo": "Введите код для сброса и восстановления пароля", + "code": "Код подтверждения", + "getPassword": "Сбросить пароль", + "getCode": "Получить код", + "min": "Код подтверждения состоит из 6 цифр", + "incorrect": "Неверный код", + "serverError": "Ошибка на стороне сервера", + "errorOccured": "Произошла непредвиденная ошибка" } } diff --git a/src/widgets/forms/ForgotPasswordForm/confirm-code/ConfirmCode.tsx b/src/widgets/forms/ForgotPasswordForm/confirm-code/ConfirmCode.tsx index 1831d89..c6c92a6 100644 --- a/src/widgets/forms/ForgotPasswordForm/confirm-code/ConfirmCode.tsx +++ b/src/widgets/forms/ForgotPasswordForm/confirm-code/ConfirmCode.tsx @@ -10,6 +10,7 @@ import { z } from "zod"; import { useForm } from "react-hook-form"; import { zodResolver } from "@hookform/resolvers/zod"; import alert from "../../icons/alert-circle.svg"; +import { useTranslations } from "next-intl"; interface IConfirmCodeProps { setChangeForm: (boolean: boolean) => void; @@ -21,9 +22,10 @@ const ConfirmCode: React.FC = ({ const [error, setError] = useState(""); const [loader, setLoader] = useState(false); const router = useRouter(); + const t = useTranslations("confirmCodeForgot"); const confirmCodeScheme = z.object({ - code: z.string().min(6, "Код подтверждения состоит из 6 цифр"), + code: z.string().min(6, t("min")), }); type FormFields = z.infer; @@ -51,12 +53,12 @@ const ConfirmCode: React.FC = ({ } catch (error: unknown) { if (error instanceof AxiosError) { if (error.response?.status === 400) { - setError("Неверный код"); + setError(t("incorrect")); } else { - setError("Ошибка на стороне сервера"); + setError(t("serverError")); } } else { - setError("Произошла непредвиденная ошибка"); + setError(t("errorOccured")); } setLoader(false); } @@ -68,11 +70,9 @@ const ConfirmCode: React.FC = ({

- Введите код + {t("enterCode")}

-

- Введите код для сброса и восстановления пароля -

+

{t("enterInfo")}

= ({ >
= ({ }`} > = ({ type="submit" className=" w-full h-[44px] rounded-md shadow-sm bg-light-blue font-bold leading-6 text-white" > - {loader ? : "Сбросить пароль"} + {loader ? : t("getPassword")} {error &&
{error}
} {errors.root && ( @@ -116,7 +116,7 @@ const ConfirmCode: React.FC = ({ onClick={() => setChangeForm(false)} className="text-light-blue leading-6" > - Получить код + {t("getCode")}
); diff --git a/src/widgets/forms/ForgotPasswordForm/send-email/SendEmail.tsx b/src/widgets/forms/ForgotPasswordForm/send-email/SendEmail.tsx index 1ddea63..cf59653 100644 --- a/src/widgets/forms/ForgotPasswordForm/send-email/SendEmail.tsx +++ b/src/widgets/forms/ForgotPasswordForm/send-email/SendEmail.tsx @@ -8,6 +8,7 @@ import { z } from "zod"; import { useForm } from "react-hook-form"; import { zodResolver } from "@hookform/resolvers/zod"; import alert from "../../icons/alert-circle.svg"; +import { useTranslations } from "next-intl"; interface ISendEmailProps { setChangeForm: (boolean: boolean) => void; @@ -18,9 +19,10 @@ const SendEmail: React.FC = ({ }: ISendEmailProps) => { const [error, setError] = useState(""); const [loader, setLoader] = useState(false); + const t = useTranslations("forgotPasswordEmail"); const sendEmailFormScheme = z.object({ - email: z.string().email("Неверный формат email"), + email: z.string().email(t("emailFormat")), }); type FormFields = z.infer; @@ -46,12 +48,12 @@ const SendEmail: React.FC = ({ if (error instanceof AxiosError) { console.log(error); if (error.response?.status === 400) { - setError("Пользователь с таким email не найден"); + setError(t("userNotFound")); } else { - setError("Ошибка на стороне сервера"); + setError(t("serverError")); } } else { - setError("Произошла непредвиденная ошибка"); + setError(t("errorOccured")); } } finally { setLoader(false); @@ -64,11 +66,9 @@ const SendEmail: React.FC = ({

- Введите email + {t("enter")}

-

- Введите email и мы отправим код для восстановления пароля -

+

{t("desc")}

= ({ type="submit" className="w-full h-[44px] rounded-md shadow-sm bg-light-blue font-bold leading-6 text-white" > - {loader ? : "Отправить код"} + {loader ? : t("sendCode")} {error &&
{error}
} {errors.root &&
{errors.root.message}
} - ); };