diff --git a/packages/vulcan-accounts/imports/emailTemplates.js b/packages/vulcan-accounts/imports/emailTemplates.js index 9865ad78e..d69b4a8cc 100644 --- a/packages/vulcan-accounts/imports/emailTemplates.js +++ b/packages/vulcan-accounts/imports/emailTemplates.js @@ -1,5 +1,12 @@ -import { Accounts } from 'meteor/accounts-base'; -import { getSetting } from 'meteor/vulcan:core'; +import {Accounts} from 'meteor/accounts-base'; +import {getSetting} from 'meteor/vulcan:core'; -Accounts.emailTemplates.siteName = getSetting('public.title', ''); -Accounts.emailTemplates.from = getSetting('public.title', '')+ ' <' + getSetting('defaultEmail', 'no-reply@example.com') +'>'; +// the emailTemplates are made available by accounts-password, which we don't want to depend on +if (Package['accounts-password']) { + Accounts.emailTemplates.siteName = getSetting('public.title', ''); + Accounts.emailTemplates.from = + getSetting('public.title', '') + + ' <' + + getSetting('defaultEmail', 'no-reply@example.com') + + '>'; +} diff --git a/packages/vulcan-forms/lib/components/FormError.jsx b/packages/vulcan-forms/lib/components/FormError.jsx index 725ae535e..93187beda 100644 --- a/packages/vulcan-forms/lib/components/FormError.jsx +++ b/packages/vulcan-forms/lib/components/FormError.jsx @@ -8,12 +8,14 @@ const FormError = ({ error, errorContext, getLabel }) => { if (error.message) { return error.message; } + // in case this is a nested fields, only keep last segment of path + const errorName = error.properties.name.split('.').slice(-1)[0]; return ( API', - 'app.required_field_missing': '{fieldName} es obligatorio.', - 'app.field_is_too_long': '{fieldName} no puede superar {limit} caracteres.', - 'app.schema_validation_error': 'Error de validación de esquema', 'cards.edit': 'Editar', 'datatable.new': 'Nuevo', @@ -140,5 +137,20 @@ addStrings('es', { 'errors.expectedType': 'Se esperaba un campo “{label}” de tipo {dataType}, se ha recibido “{value}” en su lugar.', 'errors.required': 'El campo “{label}” es obligatorio.', - 'errors.maxString': 'El campo “{label}” está limitado a {max} carácteres.', + 'errors.minString': 'El campo “{label}” debe tener al menos {max} caracteres.', + 'errors.maxString': 'El campo “{label}” está limitado a {max} caracteres.', + 'errors.generic':'Ha ocurrido un error: {errorMessage}', + 'errors.generic_report':'Algo ha ido mal: {errorMessage}.
Se ha reportado el error.', + 'errors.minNumber':'El campo “{label}” debe ser superior a {min}.', + 'errors.maxNumber':'El campo “{label}” debe ser inferior a {max}.', + 'errors.minCount':'El campo “{label}” debe tener al menos {count}.', + 'errors.maxCount':'El campo “{label}” está limitado a {count}.', + 'errors.regEx':'El campo “{label}” está mal formateado.', + 'errors.badDate':'El campo “{label}” debe ser una fecha.', + 'errors.notAllowed':'El valor del campo “{label}” no està permitido.', + 'errors.noDecimal':'El campo “{label}” no puede ser un decimal.', + + 'errors.minNumberExclusive':'', + 'errors.maxNumberExclusive':'', + 'errors.keyNotInSchema':'', }); diff --git a/packages/vulcan-i18n-fr-fr/lib/fr_FR.js b/packages/vulcan-i18n-fr-fr/lib/fr_FR.js index 493f8a945..d1d895ea1 100644 --- a/packages/vulcan-i18n-fr-fr/lib/fr_FR.js +++ b/packages/vulcan-i18n-fr-fr/lib/fr_FR.js @@ -129,18 +129,31 @@ addStrings('fr', { 'app.disallowed_property_detected': 'Propriété refusée détectée: {value}', 'app.something_bad_happened': 'Quelque chose s\'est mal passé...', 'app.embedly_not_authorized': 'Clé d\'API Embedly invalide renseignée dans les paramètres. Pour trouver votre clé, connectez-vous sur: https://app.embed.ly -> API', - 'app.required_field_missing': '{fieldName} requis.', - 'app.field_is_too_long': '{fieldName} ne peut pas dépasser {limit} caractères.', - 'app.schema_validation_error': 'Erreur de validation du schéma', 'cards.edit': 'Modifier', 'datatable.new': 'Nouveau', 'datatable.edit': 'Modifier', 'datatable.search': 'Rechercher', + 'admin': 'Admin', 'notifications': 'Notifications', 'errors.expectedType': 'Un champ “{label}” de type {dataType} était attendu, “{value}” a été reçu à la place.', 'errors.required': 'Le champ “{label}” est requis.', + 'errors.minString': 'Le champ "{label}" doit faire au moins {min} caractères.', 'errors.maxString': 'Le champ “{label}” est limité à {max} caractères.', + 'errors.generic':'Désolé, une erreur est survenue: {errorMessage}', + 'errors.generic_report':'Désolé, une erreur est survenue: {errorMessage}.
Un message d\'erreur a été envoyé.', + 'errors.minNumber':'Le champ “{label}” doit être supérieur à {min}.', + 'errors.maxNumber':'Le champ “{label}” doit être inférieur à {max}.', + 'errors.minCount':'Il faut au moins {count} objets dans le champ “{label}”.', + 'errors.maxCount':'Le champ “{label}” est limité à {count} objets', + 'errors.regEx':'Le champ “{label}” est mal formatté', + 'errors.badDate':'Le champ “{label}” n\'est pas une date', + 'errors.notAllowed':'La valeur du champ "{label}" est interdite.', + 'errors.noDecimal':'La valeur du champ "{label}" ne peut être décimale.', + + 'errors.minNumberExclusive':'', + 'errors.maxNumberExclusive':'', + 'errors.keyNotInSchema':'', });