diff --git a/apps/dashboard/src/lib/components/CourseLandingPage/components/Editor/ReviewsForm.svelte b/apps/dashboard/src/lib/components/CourseLandingPage/components/Editor/ReviewsForm.svelte index 1af700bd..e02c7ca4 100644 --- a/apps/dashboard/src/lib/components/CourseLandingPage/components/Editor/ReviewsForm.svelte +++ b/apps/dashboard/src/lib/components/CourseLandingPage/components/Editor/ReviewsForm.svelte @@ -45,26 +45,46 @@ const review = reviews.find((r) => r.id === id); const reviewSchema = z.object({ name: z.string().min(5, { - message: 'Name is too short, min of 5 character', - invalid_type_error: 'Must not be empty' + message: `${$t( + 'course.navItem.landing_page.editor.reviews_form.validations.name.min_char' + )}`, + invalid_type_error: `${$t( + 'course.navItem.landing_page.editor.reviews_form.validations.invalid_type_error' + )}` }), avatar_url: z.string().min(6, { - message: 'Upload an image', - invalid_type_error: 'Must not be empty' + message: `${$t( + 'course.navItem.landing_page.editor.reviews_form.validations.avatar_url.message' + )}`, + invalid_type_error: `${$t( + 'course.navItem.landing_page.editor.reviews_form.validations.invalid_type_error' + )}` }), rating: z .number() .min(1, { - message: 'Rating must be from 1-5', - invalid_type_error: 'Must not be empty' + message: `${$t( + 'course.navItem.landing_page.editor.reviews_form.validations.rating.message' + )}`, + invalid_type_error: `${$t( + 'course.navItem.landing_page.editor.reviews_form.validations.invalid_type_error' + )}` }) .max(5, { - message: 'Rating must be from 1-5', - invalid_type_error: 'Must not be empty' + message: `${$t( + 'course.navItem.landing_page.editor.reviews_form.validations.rating.message' + )}`, + invalid_type_error: `${$t( + 'course.navItem.landing_page.editor.reviews_form.validations.invalid_type_error' + )}` }), description: z.string().min(10, { - message: 'Description is too short, min of 5 character', - invalid_type_error: 'Must not be empty' + message: `${$t( + 'course.navItem.landing_page.editor.reviews_form.validations.description.min_char' + )}`, + invalid_type_error: `${$t( + 'course.navItem.landing_page.editor.reviews_form.validations.invalid_type_error' + )}` }) }); diff --git a/apps/dashboard/src/lib/utils/functions/validator.js b/apps/dashboard/src/lib/utils/functions/validator.js index fa464661..f395d0ea 100644 --- a/apps/dashboard/src/lib/utils/functions/validator.js +++ b/apps/dashboard/src/lib/utils/functions/validator.js @@ -1,28 +1,29 @@ import isNumber from 'lodash/isNumber'; import z from 'zod'; import { validateEmail } from './validateEmail'; +import { t } from '$lib/utils/functions/translations'; const getOrgNameValidation = () => z .string() - .min(5, { message: 'Organization must contain 5 or more characters' }) + .min(5, { message: `${t.get('validations.organization_name.min_char')}` }) .refine((val) => !/^[-]|[-]$/.test(val), { - message: 'Organization name cannot start or end with a hyphen' + message: `${t.get('validations.organization_name.hyphen_rule')}` }); const getSiteNameValidation = () => z .string() - .min(5, { message: 'Site name must contain 5 or more characters' }) + .min(5, { message: `${t.get('validations.site_name.min_char')}` }) .refine((val) => !/^[-]|[-]$/.test(val), { - message: 'Site name cannot start or end with a hyphen' + message: `${t.get('validations.site_name.hyphen_rule')}` }); const getNewsfeedValidation = () => - z.string().min(5, { message: 'Field must contain 5 or more characters' }); + z.string().min(5, { message: `${t.get('validations.news_feed.min_char')}` }); const lessonSchema = z.object({ - title: z.string().nonempty({ message: 'Title cannot be empty' }), + title: z.string().nonempty({ message: `${t.get('validations.lesson_schema.empty_title')}` }), lesson_at: z.string().optional(), call_url: z.string().nullable().optional(), is_unlocked: z.boolean() @@ -31,92 +32,94 @@ const lessonSchema = z.object({ const createQuizValidationSchema = z.object({ title: z.string().min(6, { message: 'Must be 6 or more characters long', - invalid_type_error: 'Must not be empty' + invalid_type_error: `${t.get('validations.invalid_type_error')}` }) }); const askCommunityValidationSchema = z.object({ title: z.string().min(6, { - message: 'Must be 6 or more characters long', - invalid_type_error: 'Must not be empty' + message: `${t.get('validations.ask_community.title.min_char')}`, + invalid_type_error: `${t.get('validations.invalid_type_error')}` }), body: z.string().min(20, { - message: 'Must be 10 or more characters long', - invalid_type_error: 'Must not be empty' + message: `${t.get('validations.ask_community.body.min_char')}`, + invalid_type_error: `${t.get('validations.invalid_type_error')}` }), courseId: z.string().min(36, { - message: 'Select a course', - invalid_type_error: 'Select a course' + message: `${t.get('validations.ask_community.course_id.select_course')}`, + invalid_type_error: `${t.get('validations.ask_community.course_id.select_course')}` }) }); const commentInCommunityValidationSchema = z.object({ comment: z.string().min(6, { - message: 'Must be 6 or more characters long', - invalid_type_error: 'Must not be empty' + message: `${t.get('validations.comment_in_community.min_char')}`, + invalid_type_error: `${t.get('validations.invalid_type_error')}` }) }); const orgLandingpageValidationSchema = z.object({ name: z.string().min(6, { - message: 'Must be 6 or more characters long', - invalid_type_error: 'Must not be empty' + message: `${t.get('validations.org_landing_page.name.min_char')}`, + invalid_type_error: `${t.get('validations.invalid_type_error')}` }), email: z.string().email({ - message: 'Invalid email address', - invalid_type_error: 'Must not be empty' + message: `${t.get('validations.org_landing_page.email.invalid_email')}`, + invalid_type_error: `${t.get('validations.invalid_type_error')}` }), phone: z.string().min(6, { - message: 'Must be 6 or more characters long', - invalid_type_error: 'Must not be empty' + message: `${t.get('validations.org_landing_page.phone.min_char')}`, + invalid_type_error: `${t.get('validations.invalid_type_error')}` }), message: z.string().min(20, { - message: 'Must be 10 or more characters long', - invalid_type_error: 'Must not be empty' + message: `${t.get('validations.org_landing_page.message.min_char')}`, + invalid_type_error: `${t.get('validations.invalid_type_error')}` }) }); const forgotValidationSchema = z.object({ email: z.string().email({ - message: 'Invalid email address', - invalid_type_error: 'Must not be empty' + message: `${t.get('validations.forgot.invalid_email')}`, + invalid_type_error: `${t.get('validations.invalid_type_error')}` }) }); const authValidationSchema = z.object({ email: z.string().email({ - message: 'Invalid email address', - invalid_type_error: 'Must not be empty' + message: `${t.get('validations.auth.email.invalid_email')}`, + invalid_type_error: `${t.get('validations.invalid_type_error')}` }), password: z.string().min(6, { - message: 'Must be 6 or more characters long', - invalid_type_error: 'Must not be empty' + message: `${t.get('validations.auth.password.min_char')}`, + invalid_type_error: `${t.get('validations.invalid_type_error')}` }) }); const resetValidationSchema = z.object({ password: z.string().min(6, { - message: 'Must be 6 or more characters long', - invalid_type_error: 'Must not be empty' + message: `${t.get('validations.reset.password.min_char')}`, + invalid_type_error: `${t.get('validations.invalid_type_error')}` }) }); const onboardingValidationSchema = { stepOne: z.object({ - fullname: z.string().min(5, { message: 'Fullname must contain 5 or more characters' }), + fullname: z + .string() + .min(5, { message: `${t.get('validations.onboarding.step_one.full_name.min_char')}` }), orgName: getOrgNameValidation(), siteName: getSiteNameValidation() }), stepTwo: z.object({ goal: z .string({ - required_error: 'Select an option', - invalid_type_error: 'Select an option' + required_error: `${t.get('validations.onboarding.step_two.goal.required')}`, + invalid_type_error: `${t.get('validations.onboarding.step_two.goal.required')}` }) .min(1), source: z .string({ - required_error: 'Select an option', - invalid_type_error: 'Select an option' + required_error: `${t.get('validations.onboarding.step_two.source.required')}`, + invalid_type_error: `${t.get('validations.onboarding.step_two.source.required')}` }) .min(1) }) @@ -124,7 +127,7 @@ const onboardingValidationSchema = { export const getConfirmPasswordError = ({ password, confirmPassword }) => { return password > 6 && confirmPassword > 6 && password !== confirmPassword - ? 'Does not match password' + ? `${t.get('validations.confirm_password.not_match')}` : undefined; }; @@ -171,12 +174,12 @@ export const lessonValidation = (lesson = {}) => { export const coursePaymentValidation = (fields = {}) => { const schema = z.object({ fullname: z.string().min(6, { - message: 'Must be 6 or more characters long', - invalid_type_error: 'Must not be empty' + message: `${t.get('validations.course_payment.full_name.min_char')}`, + invalid_type_error: `${t.get('validations.invalid_type_error')}` }), email: z.string().email({ - message: 'Invalid email address', - invalid_type_error: 'Must not be empty' + message: `${t.get('validations.course_payment.email.invalid_email')}`, + invalid_type_error: `${t.get('validations.invalid_type_error')}` }) }); const { error } = schema.safeParse(fields); @@ -308,7 +311,7 @@ export const validateEmailInString = (emailsStr) => { if (!validateEmail(email)) { hasError = true; - error += !error.length ? `Not valid email: ${email}` : `, ${email}`; + error += !error.length ? `${t.get('validations.email.not_valid')}: ${email}` : `, ${email}`; } return email; diff --git a/apps/dashboard/src/lib/utils/translations/de.json b/apps/dashboard/src/lib/utils/translations/de.json index 9b14479d..0cabd36d 100644 --- a/apps/dashboard/src/lib/utils/translations/de.json +++ b/apps/dashboard/src/lib/utils/translations/de.json @@ -356,7 +356,22 @@ "fullname": "Vollständiger Name", "description": "Beschreibung", "rating": "Bewertung", - "hide": "Bewertung ausblenden" + "hide": "Bewertung ausblenden", + "validations": { + "invalid_type_error": "Darf nicht leer sein", + "description": { + "min_char": "„Beschreibung ist zu kurz, mindestens 5 Zeichen.“" + }, + "rating": { + "message": "Die Bewertung muss zwischen 1 und 5 liegen" + }, + "avatar_url": { + "message": "Lade ein Bild hoch" + }, + "name": { + "min_char": "Der Name ist zu kurz, mindestens 5 Zeichen" + } + } }, "header_form": { "title": "Titel", @@ -1244,5 +1259,98 @@ }, "specialization": { "course_tag": "Spezialisierung" + }, + "validations": { + "invalid_type_error": "Darf nicht leer sein", + "email": { + "not_valid": "Ungültige E-Mail-Adresse" + }, + "course_payment": { + "email": { + "invalid_email": "Ungültige E-Mail-Adresse" + }, + "full_name": { + "min_char": "Muss mindestens 6 Zeichen lang sein" + } + }, + "confirm_password": { + "not_match": "Passt nicht zum Passwort" + }, + "onboarding": { + "step_two": { + "source": { + "required": "Wähle eine Option" + }, + "goal": { + "required": "Wähle eine Option" + } + }, + "step_one": { + "full_name": { + "min_char": "Der vollständige Name muss mindestens 5 Zeichen enthalten" + } + } + }, + "reset": { + "password": { + "min_char": "Muss mindestens 6 Zeichen lang sein" + } + }, + "auth": { + "password": { + "min_char": "Muss mindestens 6 Zeichen lang sein" + }, + "email": { + "invalid_email": "Ungültige E-Mail-Adresse" + } + }, + "forgot": { + "invalid_email": "Ungültige E-Mail-Adresse" + }, + "org_landing_page": { + "message": { + "min_char": "Muss mindestens 10 Zeichen lang sein" + }, + "phone": { + "min_char": "Muss mindestens 6 Zeichen lang sein" + }, + "email": { + "invalid_email": "Ungültige E-Mail-Adresse" + }, + "name": { + "min_char": "Muss mindestens 6 Zeichen lang sein" + } + }, + "comment_in_community": { + "min_char": "Muss mindestens 6 Zeichen lang sein" + }, + "ask_community": { + "course_id": { + "select_course": "Wählen Sie einen Kurs aus" + }, + "body": { + "min_char": "Muss mindestens 10 Zeichen lang sein" + }, + "title": { + "min_char": "Muss mindestens 6 Zeichen lang sein" + } + }, + "create_quiz": { + "min_char": "Muss mindestens 6 Zeichen lang sein" + }, + "lesson_schema": { + "empty_title": "Der Titel darf nicht leer sein" + }, + "news_feed": { + "min_char": "Das Feld muss 5 oder mehr Zeichen enthalten" + }, + "site_name": { + "min_char": "Der Site-Name muss mindestens 5 Zeichen enthalten", + "hyphen_rule": "Der Site-Name darf nicht mit einem Bindestrich beginnen oder enden" + }, + "organization_name": { + "min_char": "Die Organisation muss 5 oder mehr Zeichen enthalten", + "hyphen_rule": "Der Name der Organisation darf nicht mit einem Bindestrich beginnen oder enden" + } } } \ No newline at end of file diff --git a/apps/dashboard/src/lib/utils/translations/en.json b/apps/dashboard/src/lib/utils/translations/en.json index 89e920d6..4cc53120 100644 --- a/apps/dashboard/src/lib/utils/translations/en.json +++ b/apps/dashboard/src/lib/utils/translations/en.json @@ -885,7 +885,22 @@ "fullname": "Full Name", "description": "Description", "rating": "Rating", - "hide": "Hide Review" + "hide": "Hide Review", + "validations": { + "invalid_type_error": "Must not be empty", + "name": { + "min_char": "Name is too short, min of 5 character" + }, + "avatar_url": { + "message": "Upload an image" + }, + "rating": { + "message": "Rating must be from 1-5" + }, + "description": { + "min_char": "'Description is too short, min of 5 characters" + } + } }, "instructor_form": { @@ -1286,5 +1301,99 @@ "generic": { "locked": "Locked", "unlocked": "Unlocked" + }, + + "validations": { + "organization_name": { + "min_char": "Organization must contain 5 or more characters", + "hyphen_rule": "Organization name cannot start or end with a hyphen" + }, + "site_name": { + "min_char": "Site name must contain 5 or more characters", + "hyphen_rule": "Site name cannot start or end with a hyphen" + }, + "news_feed": { + "min_char": "Field must contain 5 or more characters" + }, + "lesson_schema": { + "empty_title": "Title cannot be empty" + }, + "create_quiz": { + "min_char": "Must be 6 or more characters long" + }, + "ask_community": { + "title": { + "min_char": "Must be 6 or more characters long" + }, + "body": { + "min_char": "Must be 10 or more characters long" + }, + "course_id": { + "select_course": "Select a Course" + } + }, + "comment_in_community": { + "min_char": "Must be 6 or more characters long" + }, + "org_landing_page": { + "name": { + "min_char": "Must be 6 or more characters long" + }, + "email": { + "invalid_email": "Invalid email address" + }, + "phone": { + "min_char": "Must be 6 or more characters long" + }, + "message": { + "min_char": "Must be 10 or more characters long" + } + }, + "forgot": { + "invalid_email": "Invalid email address" + }, + "auth": { + "email": { + "invalid_email": "Invalid email address" + }, + "password": { + "min_char": "Must be 6 or more characters long" + } + }, + "reset": { + "password": { + "min_char": "Must be 6 or more characters long" + } + }, + "onboarding": { + "step_one": { + "full_name": { + "min_char": "Fullname must contain 5 or more characters" + } + }, + "step_two": { + "goal": { + "required": "Select an option" + }, + "source": { + "required": "Select an option" + } + } + }, + "confirm_password": { + "not_match": "Does not match password" + }, + "course_payment": { + "full_name": { + "min_char": "Must be 6 or more characters long" + }, + "email": { + "invalid_email": "Invalid email address" + } + }, + "email": { + "not_valid": "Not valid email" + }, + "invalid_type_error": "Must not be empty" } } diff --git a/apps/dashboard/src/lib/utils/translations/es.json b/apps/dashboard/src/lib/utils/translations/es.json index f20ca167..049f44f4 100644 --- a/apps/dashboard/src/lib/utils/translations/es.json +++ b/apps/dashboard/src/lib/utils/translations/es.json @@ -356,7 +356,22 @@ "fullname": "Nombre completo", "description": "Descripción", "rating": "Clasificación", - "hide": "Ocultar reseña" + "hide": "Ocultar reseña", + "validations": { + "invalid_type_error": "No debe estar vacío", + "description": { + "min_char": "'La descripción es demasiado corta, mínimo de 5 caracteres." + }, + "rating": { + "message": "La calificación debe ser del 1 al 5." + }, + "avatar_url": { + "message": "Subir una imagen" + }, + "name": { + "min_char": "El nombre es demasiado corto, mínimo de 5 caracteres." + } + } }, "header_form": { "title": "Título", @@ -1244,5 +1259,98 @@ }, "specialization": { "course_tag": "Especialización" + }, + "validations": { + "invalid_type_error": "No debe estar vacío", + "email": { + "not_valid": "Correo electrónico no válido" + }, + "course_payment": { + "email": { + "invalid_email": "Dirección de correo electrónico no válida" + }, + "full_name": { + "min_char": "Debe tener 6 o más caracteres" + } + }, + "confirm_password": { + "not_match": "No coincide con la contraseña" + }, + "onboarding": { + "step_two": { + "source": { + "required": "Seleccione una opción" + }, + "goal": { + "required": "Seleccione una opción" + } + }, + "step_one": { + "full_name": { + "min_char": "El nombre completo debe contener 5 o más caracteres." + } + } + }, + "reset": { + "password": { + "min_char": "Debe tener 6 o más caracteres" + } + }, + "auth": { + "password": { + "min_char": "Debe tener 6 o más caracteres" + }, + "email": { + "invalid_email": "Dirección de correo electrónico no válida" + } + }, + "forgot": { + "invalid_email": "Dirección de correo electrónico no válida" + }, + "org_landing_page": { + "message": { + "min_char": "Debe tener 10 o más caracteres" + }, + "phone": { + "min_char": "Debe tener 6 o más caracteres" + }, + "email": { + "invalid_email": "Dirección de correo electrónico no válida" + }, + "name": { + "min_char": "Debe tener 6 o más caracteres" + } + }, + "comment_in_community": { + "min_char": "Debe tener 6 o más caracteres" + }, + "ask_community": { + "course_id": { + "select_course": "Seleccione un curso" + }, + "body": { + "min_char": "Debe tener 10 o más caracteres" + }, + "title": { + "min_char": "Debe tener 6 o más caracteres" + } + }, + "create_quiz": { + "min_char": "Debe tener 6 o más caracteres" + }, + "lesson_schema": { + "empty_title": "El título no puede estar vacío." + }, + "news_feed": { + "min_char": "El campo debe contener 5 o más caracteres." + }, + "site_name": { + "min_char": "El nombre del sitio debe contener 5 o más caracteres.", + "hyphen_rule": "El nombre del sitio no puede comenzar ni terminar con un guión." + }, + "organization_name": { + "min_char": "La organización debe contener 5 o más caracteres.", + "hyphen_rule": "El nombre de la organización no puede comenzar ni terminar con un guión." + } } } \ No newline at end of file diff --git a/apps/dashboard/src/lib/utils/translations/fr.json b/apps/dashboard/src/lib/utils/translations/fr.json index a3aba4c2..5dfbb053 100644 --- a/apps/dashboard/src/lib/utils/translations/fr.json +++ b/apps/dashboard/src/lib/utils/translations/fr.json @@ -356,7 +356,22 @@ "fullname": "Nom et prénom", "description": "Description", "rating": "Notation", - "hide": "Masquer l'avis" + "hide": "Masquer l'avis", + "validations": { + "invalid_type_error": "Ne doit pas être vide", + "description": { + "min_char": "'La description est trop courte, minimum 5 caractères" + }, + "rating": { + "message": "La note doit être comprise entre 1 et 5" + }, + "avatar_url": { + "message": "Télécharger une image" + }, + "name": { + "min_char": "Le nom est trop court, minimum 5 caractères" + } + } }, "header_form": { "title": "Titre", @@ -1244,5 +1259,98 @@ }, "specialization": { "course_tag": "Spécialisation" + }, + "validations": { + "invalid_type_error": "Ne doit pas être vide", + "email": { + "not_valid": "E-mail non valide" + }, + "course_payment": { + "email": { + "invalid_email": "Adresse e-mail invalide" + }, + "full_name": { + "min_char": "Doit contenir au moins 6 caractères" + } + }, + "confirm_password": { + "not_match": "Ne correspond pas au mot de passe" + }, + "onboarding": { + "step_two": { + "source": { + "required": "Choisir une option" + }, + "goal": { + "required": "Choisir une option" + } + }, + "step_one": { + "full_name": { + "min_char": "Le nom complet doit contenir 5 caractères ou plus" + } + } + }, + "reset": { + "password": { + "min_char": "Doit contenir au moins 6 caractères" + } + }, + "auth": { + "password": { + "min_char": "Doit contenir au moins 6 caractères" + }, + "email": { + "invalid_email": "Adresse e-mail invalide" + } + }, + "forgot": { + "invalid_email": "Adresse e-mail invalide" + }, + "org_landing_page": { + "message": { + "min_char": "Doit contenir au moins 10 caractères" + }, + "phone": { + "min_char": "Doit contenir au moins 6 caractères" + }, + "email": { + "invalid_email": "Adresse e-mail invalide" + }, + "name": { + "min_char": "Doit contenir au moins 6 caractères" + } + }, + "comment_in_community": { + "min_char": "Doit contenir au moins 6 caractères" + }, + "ask_community": { + "course_id": { + "select_course": "Sélectionnez un cours" + }, + "body": { + "min_char": "Doit contenir au moins 10 caractères" + }, + "title": { + "min_char": "Doit contenir au moins 6 caractères" + } + }, + "create_quiz": { + "min_char": "Doit contenir au moins 6 caractères" + }, + "lesson_schema": { + "empty_title": "Le titre ne peut pas être vide" + }, + "news_feed": { + "min_char": "Le champ doit contenir 5 caractères ou plus" + }, + "site_name": { + "min_char": "Le nom du site doit contenir 5 caractères ou plus", + "hyphen_rule": "Le nom du site ne peut pas commencer ou se terminer par un trait d'union" + }, + "organization_name": { + "min_char": "L'organisation doit contenir 5 caractères ou plus", + "hyphen_rule": "Le nom de l'organisation ne peut pas commencer ou se terminer par un trait d'union" + } } } \ No newline at end of file diff --git a/apps/dashboard/src/lib/utils/translations/hi.json b/apps/dashboard/src/lib/utils/translations/hi.json index bf0be24c..62ff668e 100644 --- a/apps/dashboard/src/lib/utils/translations/hi.json +++ b/apps/dashboard/src/lib/utils/translations/hi.json @@ -356,7 +356,22 @@ "fullname": "पूरा नाम", "description": "विवरण", "rating": "रेटिंग", - "hide": "समीक्षा छिपाएँ" + "hide": "समीक्षा छिपाएँ", + "validations": { + "invalid_type_error": "खाली नहीं होना चाहिए", + "description": { + "min_char": "'विवरण बहुत छोटा है, न्यूनतम 5 अक्षर" + }, + "rating": { + "message": "रेटिंग 1-5 तक होनी चाहिए" + }, + "avatar_url": { + "message": "एक छवि अपलोड करें" + }, + "name": { + "min_char": "नाम बहुत छोटा है, न्यूनतम 5 अक्षर है" + } + } }, "header_form": { "title": "शीर्षक", @@ -1244,5 +1259,98 @@ }, "specialization": { "course_tag": "विशेषज्ञता" + }, + "validations": { + "invalid_type_error": "खाली नहीं होना चाहिए", + "email": { + "not_valid": "वैध ईमेल नहीं" + }, + "course_payment": { + "email": { + "invalid_email": "अमान्य ईमेल पता" + }, + "full_name": { + "min_char": "6 या अधिक अक्षर लंबा होना चाहिए" + } + }, + "confirm_password": { + "not_match": "पासवर्ड से मेल नहीं खाता" + }, + "onboarding": { + "step_two": { + "source": { + "required": "कोई विकल्प चुनें" + }, + "goal": { + "required": "कोई विकल्प चुनें" + } + }, + "step_one": { + "full_name": { + "min_char": "पूरे नाम में 5 या अधिक अक्षर होने चाहिए" + } + } + }, + "reset": { + "password": { + "min_char": "6 या अधिक अक्षर लंबा होना चाहिए" + } + }, + "auth": { + "password": { + "min_char": "6 या अधिक अक्षर लंबा होना चाहिए" + }, + "email": { + "invalid_email": "अमान्य ईमेल पता" + } + }, + "forgot": { + "invalid_email": "अमान्य ईमेल पता" + }, + "org_landing_page": { + "message": { + "min_char": "10 या अधिक अक्षर लंबा होना चाहिए" + }, + "phone": { + "min_char": "6 या अधिक अक्षर लंबा होना चाहिए" + }, + "email": { + "invalid_email": "अमान्य ईमेल पता" + }, + "name": { + "min_char": "6 या अधिक अक्षर लंबा होना चाहिए" + } + }, + "comment_in_community": { + "min_char": "6 या अधिक अक्षर लंबा होना चाहिए" + }, + "ask_community": { + "course_id": { + "select_course": "एक कोर्स चुनें" + }, + "body": { + "min_char": "10 या अधिक अक्षर लंबा होना चाहिए" + }, + "title": { + "min_char": "6 या अधिक अक्षर लंबा होना चाहिए" + } + }, + "create_quiz": { + "min_char": "6 या अधिक अक्षर लंबा होना चाहिए" + }, + "lesson_schema": { + "empty_title": "शीर्षक खाली नहीं हो सकता" + }, + "news_feed": { + "min_char": "फ़ील्ड में 5 या अधिक वर्ण होने चाहिए" + }, + "site_name": { + "min_char": "साइट नाम में 5 या अधिक अक्षर होने चाहिए", + "hyphen_rule": "साइट का नाम किसी हाइफ़न से प्रारंभ या समाप्त नहीं हो सकता" + }, + "organization_name": { + "min_char": "संगठन में 5 या अधिक वर्ण होने चाहिए", + "hyphen_rule": "संगठन का नाम हाइफ़न से प्रारंभ या समाप्त नहीं हो सकता" + } } } \ No newline at end of file diff --git a/apps/dashboard/src/lib/utils/translations/pt.json b/apps/dashboard/src/lib/utils/translations/pt.json index ca9389d8..b61ea1bf 100644 --- a/apps/dashboard/src/lib/utils/translations/pt.json +++ b/apps/dashboard/src/lib/utils/translations/pt.json @@ -356,7 +356,22 @@ "fullname": "Nome completo", "description": "Descrição", "rating": "Avaliação", - "hide": "Ocultar revisão" + "hide": "Ocultar revisão", + "validations": { + "invalid_type_error": "Não deve estar vazio", + "description": { + "min_char": "'A descrição é muito curta, com no mínimo 5 caracteres" + }, + "rating": { + "message": "A classificação deve ser de 1 a 5" + }, + "avatar_url": { + "message": "Carregar uma imagem" + }, + "name": { + "min_char": "O nome é muito curto, com no mínimo 5 caracteres" + } + } }, "header_form": { "title": "Título", @@ -1244,5 +1259,98 @@ }, "specialization": { "course_tag": "Especialização" + }, + "validations": { + "invalid_type_error": "Não deve estar vazio", + "email": { + "not_valid": "E-mail inválido" + }, + "course_payment": { + "email": { + "invalid_email": "Endereço de email invalido" + }, + "full_name": { + "min_char": "Deve ter 6 ou mais caracteres" + } + }, + "confirm_password": { + "not_match": "Não corresponde à senha" + }, + "onboarding": { + "step_two": { + "source": { + "required": "Selecione uma opção" + }, + "goal": { + "required": "Selecione uma opção" + } + }, + "step_one": { + "full_name": { + "min_char": "O nome completo deve conter 5 ou mais caracteres" + } + } + }, + "reset": { + "password": { + "min_char": "Deve ter 6 ou mais caracteres" + } + }, + "auth": { + "password": { + "min_char": "Deve ter 6 ou mais caracteres" + }, + "email": { + "invalid_email": "Endereço de email invalido" + } + }, + "forgot": { + "invalid_email": "Endereço de email invalido" + }, + "org_landing_page": { + "message": { + "min_char": "Deve ter 10 ou mais caracteres" + }, + "phone": { + "min_char": "Deve ter 6 ou mais caracteres" + }, + "email": { + "invalid_email": "Endereço de email invalido" + }, + "name": { + "min_char": "Deve ter 6 ou mais caracteres" + } + }, + "comment_in_community": { + "min_char": "Deve ter 6 ou mais caracteres" + }, + "ask_community": { + "course_id": { + "select_course": "Selecione um curso" + }, + "body": { + "min_char": "Deve ter 10 ou mais caracteres" + }, + "title": { + "min_char": "Deve ter 6 ou mais caracteres" + } + }, + "create_quiz": { + "min_char": "Deve ter 6 ou mais caracteres" + }, + "lesson_schema": { + "empty_title": "O título não pode ficar vazio" + }, + "news_feed": { + "min_char": "O campo deve conter 5 ou mais caracteres" + }, + "site_name": { + "min_char": "O nome do site deve conter cinco ou mais caracteres", + "hyphen_rule": "O nome do site não pode começar ou terminar com um hífen" + }, + "organization_name": { + "min_char": "A organização deve conter 5 ou mais caracteres", + "hyphen_rule": "O nome da organização não pode começar ou terminar com um hífen" + } } } \ No newline at end of file diff --git a/apps/dashboard/src/lib/utils/translations/ru.json b/apps/dashboard/src/lib/utils/translations/ru.json index 8daec37e..bf59ff50 100644 --- a/apps/dashboard/src/lib/utils/translations/ru.json +++ b/apps/dashboard/src/lib/utils/translations/ru.json @@ -356,7 +356,22 @@ "fullname": "Полное имя", "description": "Описание", "rating": "Рейтинг", - "hide": "Скрыть обзор" + "hide": "Скрыть обзор", + "validations": { + "invalid_type_error": "Не должно быть пустым", + "description": { + "min_char": "'Описание слишком короткое, минимум 5 символов." + }, + "rating": { + "message": "Оценка должна быть от 1 до 5." + }, + "avatar_url": { + "message": "Загрузите изображение" + }, + "name": { + "min_char": "Имя слишком короткое, минимум 5 символов." + } + } }, "header_form": { "title": "Заголовок", @@ -1244,5 +1259,98 @@ }, "specialization": { "course_tag": "Специализация" + }, + "validations": { + "invalid_type_error": "Не должно быть пустым", + "email": { + "not_valid": "Недействительный адрес электронной почты" + }, + "course_payment": { + "email": { + "invalid_email": "Неверный адрес электронной почты" + }, + "full_name": { + "min_char": "Должно быть 6 или более символов." + } + }, + "confirm_password": { + "not_match": "Не соответствует паролю" + }, + "onboarding": { + "step_two": { + "source": { + "required": "Выберите вариант" + }, + "goal": { + "required": "Выберите вариант" + } + }, + "step_one": { + "full_name": { + "min_char": "Полное имя должно содержать 5 или более символов." + } + } + }, + "reset": { + "password": { + "min_char": "Должно быть 6 или более символов." + } + }, + "auth": { + "password": { + "min_char": "Должно быть 6 или более символов." + }, + "email": { + "invalid_email": "Неверный адрес электронной почты" + } + }, + "forgot": { + "invalid_email": "Неверный адрес электронной почты" + }, + "org_landing_page": { + "message": { + "min_char": "Должно быть 10 или более символов." + }, + "phone": { + "min_char": "Должно быть 6 или более символов." + }, + "email": { + "invalid_email": "Неверный адрес электронной почты" + }, + "name": { + "min_char": "Должно быть 6 или более символов." + } + }, + "comment_in_community": { + "min_char": "Должно быть 6 или более символов." + }, + "ask_community": { + "course_id": { + "select_course": "Выберите курс" + }, + "body": { + "min_char": "Должно быть 10 или более символов." + }, + "title": { + "min_char": "Должно быть 6 или более символов." + } + }, + "create_quiz": { + "min_char": "Должно быть 6 или более символов." + }, + "lesson_schema": { + "empty_title": "Название не может быть пустым" + }, + "news_feed": { + "min_char": "Поле должно содержать 5 или более символов" + }, + "site_name": { + "min_char": "Название сайта должно содержать 5 или более символов.", + "hyphen_rule": "Имя сайта не может начинаться или заканчиваться дефисом." + }, + "organization_name": { + "min_char": "Организация должна содержать 5 или более символов.", + "hyphen_rule": "Название организации не может начинаться или заканчиваться дефисом." + } } } \ No newline at end of file diff --git a/apps/dashboard/src/lib/utils/translations/vi.json b/apps/dashboard/src/lib/utils/translations/vi.json index 0d3d26bb..c66693bd 100644 --- a/apps/dashboard/src/lib/utils/translations/vi.json +++ b/apps/dashboard/src/lib/utils/translations/vi.json @@ -356,7 +356,22 @@ "fullname": "Họ và tên", "description": "Sự miêu tả", "rating": "Xếp hạng", - "hide": "Ẩn đánh giá" + "hide": "Ẩn đánh giá", + "validations": { + "invalid_type_error": "Không được để trống", + "description": { + "min_char": "'Mô tả quá ngắn, tối thiểu 5 ký tự" + }, + "rating": { + "message": "Đánh giá phải từ 1-5" + }, + "avatar_url": { + "message": "Tải lên một hình ảnh" + }, + "name": { + "min_char": "Tên quá ngắn, tối thiểu 5 ký tự" + } + } }, "header_form": { "title": "Tiêu đề", @@ -1244,5 +1259,98 @@ }, "specialization": { "course_tag": "Chuyên môn" + }, + "validations": { + "invalid_type_error": "Không được để trống", + "email": { + "not_valid": "Email không hợp lệ" + }, + "course_payment": { + "email": { + "invalid_email": "địa chỉ email không hợp lệ" + }, + "full_name": { + "min_char": "Phải dài từ 6 ký tự trở lên" + } + }, + "confirm_password": { + "not_match": "Không khớp với mật khẩu" + }, + "onboarding": { + "step_two": { + "source": { + "required": "Chọn một tùy chọn" + }, + "goal": { + "required": "Chọn một tùy chọn" + } + }, + "step_one": { + "full_name": { + "min_char": "Tên đầy đủ phải chứa 5 ký tự trở lên" + } + } + }, + "reset": { + "password": { + "min_char": "Phải dài từ 6 ký tự trở lên" + } + }, + "auth": { + "password": { + "min_char": "Phải dài từ 6 ký tự trở lên" + }, + "email": { + "invalid_email": "địa chỉ email không hợp lệ" + } + }, + "forgot": { + "invalid_email": "địa chỉ email không hợp lệ" + }, + "org_landing_page": { + "message": { + "min_char": "Phải dài từ 10 ký tự trở lên" + }, + "phone": { + "min_char": "Phải dài từ 6 ký tự trở lên" + }, + "email": { + "invalid_email": "địa chỉ email không hợp lệ" + }, + "name": { + "min_char": "Phải dài từ 6 ký tự trở lên" + } + }, + "comment_in_community": { + "min_char": "Phải dài từ 6 ký tự trở lên" + }, + "ask_community": { + "course_id": { + "select_course": "Chọn một khóa học" + }, + "body": { + "min_char": "Phải dài từ 10 ký tự trở lên" + }, + "title": { + "min_char": "Phải dài từ 6 ký tự trở lên" + } + }, + "create_quiz": { + "min_char": "Phải dài từ 6 ký tự trở lên" + }, + "lesson_schema": { + "empty_title": "Tiêu đề không được để trống" + }, + "news_feed": { + "min_char": "Trường phải chứa 5 ký tự trở lên" + }, + "site_name": { + "min_char": "Tên trang web phải chứa 5 ký tự trở lên", + "hyphen_rule": "Tên trang web không thể bắt đầu hoặc kết thúc bằng dấu gạch nối" + }, + "organization_name": { + "min_char": "Tổ chức phải chứa 5 ký tự trở lên", + "hyphen_rule": "Tên tổ chức không thể bắt đầu hoặc kết thúc bằng dấu gạch nối" + } } } \ No newline at end of file