Add traslations
This commit is contained in:
@@ -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;
|
||||
32
frontend/src/utils/translationHelpers.ts
Normal file
32
frontend/src/utils/translationHelpers.ts
Normal 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 };
|
||||
};
|
||||
Reference in New Issue
Block a user