Add traslations

This commit is contained in:
Urtzi Alfaro
2025-12-18 20:12:32 +01:00
parent f10a2b92ea
commit acb3a40844
15 changed files with 726 additions and 228 deletions

View File

@@ -339,30 +339,30 @@ export const ERROR_CODES = {
// Success messages
export const SUCCESS_MESSAGES = {
SAVED: 'Guardado correctamente',
CREATED: 'Creado correctamente',
UPDATED: 'Actualizado correctamente',
DELETED: 'Eliminado correctamente',
SENT: 'Enviado correctamente',
IMPORTED: 'Importado correctamente',
EXPORTED: 'Exportado correctamente',
LOGGED_IN: 'Sesión iniciada',
LOGGED_OUT: 'Sesión cerrada',
SAVED: 'common:messages.saved',
CREATED: 'common:messages.created',
UPDATED: 'common:messages.updated',
DELETED: 'common:messages.deleted',
SENT: 'common:messages.sent',
IMPORTED: 'common:messages.imported',
EXPORTED: 'common:messages.exported',
LOGGED_IN: 'common:messages.logged_in',
LOGGED_OUT: 'common:messages.logged_out',
} as const;
// Error messages
export const ERROR_MESSAGES = {
REQUIRED_FIELD: 'Este campo es obligatorio',
INVALID_EMAIL: 'Email no válido',
INVALID_PHONE: 'Teléfono no válido',
WEAK_PASSWORD: 'La contraseña debe ser más segura',
PASSWORDS_NOT_MATCH: 'Las contraseñas no coinciden',
NETWORK_ERROR: 'Error de conexión',
SERVER_ERROR: 'Error del servidor',
UNAUTHORIZED: 'No autorizado',
FORBIDDEN: 'Acceso denegado',
NOT_FOUND: 'No encontrado',
VALIDATION_ERROR: 'Error de validación',
FILE_TOO_LARGE: 'Archivo demasiado grande',
INVALID_FILE_TYPE: 'Tipo de archivo no válido',
REQUIRED_FIELD: 'common:errors.required_field',
INVALID_EMAIL: 'common:errors.invalid_email',
INVALID_PHONE: 'common:errors.invalid_phone',
WEAK_PASSWORD: 'common:errors.weak_password',
PASSWORDS_NOT_MATCH: 'common:errors.passwords_not_match',
NETWORK_ERROR: 'common:errors.network_error',
SERVER_ERROR: 'common:errors.server_error',
UNAUTHORIZED: 'common:errors.unauthorized',
FORBIDDEN: 'common:errors.forbidden',
NOT_FOUND: 'common:errors.not_found',
VALIDATION_ERROR: 'common:errors.validation_error',
FILE_TOO_LARGE: 'common:errors.file_too_large',
INVALID_FILE_TYPE: 'common:errors.invalid_file_type',
} as const;

View File

@@ -0,0 +1,32 @@
import { useTranslation } from 'react-i18next';
import { SUCCESS_MESSAGES, ERROR_MESSAGES } from '../utils/constants';
/**
* Hook to get translated success messages
*/
export const useSuccessMessages = () => {
const { t } = useTranslation();
const getMessage = (key: keyof typeof SUCCESS_MESSAGES): string => {
const translationKey = SUCCESS_MESSAGES[key];
const [namespace, path] = translationKey.split(':');
return t(`${namespace}:${path}`);
};
return { getMessage };
};
/**
* Hook to get translated error messages
*/
export const useErrorMessages = () => {
const { t } = useTranslation();
const getMessage = (key: keyof typeof ERROR_MESSAGES): string => {
const translationKey = ERROR_MESSAGES[key];
const [namespace, path] = translationKey.split(':');
return t(`${namespace}:${path}`);
};
return { getMessage };
};