chore: add translations for validation messages (#345) (#347)

* chore: add translations for validation messages (#345)

* chore: add validation texts to locale file

* feat: switch all validations from plain text to use i18n locale

* feat: switch review form validations from plain text to use locale file

* run translation script

---------

Co-authored-by: Iniubong Obonguko <iniubongobonguko2018@gmail.com>
This commit is contained in:
Rotimi Best
2024-05-31 13:17:17 +01:00
committed by GitHub
co-authored by Iniubong Obonguko
parent 4dd25a84ea
commit 563418cbf4
10 changed files with 948 additions and 60 deletions
@@ -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'
)}`
})
});
@@ -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;
@@ -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"
}
}
}
@@ -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"
}
}
@@ -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."
}
}
}
@@ -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"
}
}
}
@@ -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": "संगठन का नाम हाइफ़न से प्रारंभ या समाप्त नहीं हो सकता"
}
}
}
@@ -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"
}
}
}
@@ -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": "Название организации не может начинаться или заканчиваться дефисом."
}
}
}
@@ -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"
}
}
}