Skip to content

[DX / TOOLING] F-00.4 — Internacionalización (i18n) en Español

Épica: EPIC-00 — Setup e Infraestructura Base

🏷️ Categoría

Categoría: DX / ToolingImpacta en: Equipo Fullstack (Livewire/Blade + Laravel)

📦 Dependencias

Backlogs que deben estar completados antes de implementar esta feature.

BacklogMotivo
F-00.3Layout x-layout y vistas Blade base donde se aplican los strings i18n

Prioridad: Should


Descripción: Como administrador del sistema Quiero que toda la interfaz del panel esté en español y que los textos estén externalizados en archivos de idioma Para que sea fácil mantener o traducir la interfaz sin tocar el código de las vistas

Criterios de Aceptación (Checklist):

  • [ ] Escenario 1 (Archivos de idioma): Dado que se revisa la estructura del proyecto, cuando se navega a resources/lang/es/, entonces existen archivos de traducción organizados: app.php (textos generales), dashboard.php, logs.php, historico.php, error_codes.php, validation.php (mensajes de validación en español).
  • [ ] Escenario 2 (Textos en vistas): Dado que cualquier texto visible de la UI se examina en las vistas Blade, cuando se revisa el código, entonces NO hay strings de UI hardcoded — todos usan __('logs.title') o @lang('dashboard.cards.critical').
  • [ ] Escenario 3 (Mensajes de validación en español): Dado que se completa un formulario con datos inválidos, cuando se muestran los errores, entonces los mensajes de validación aparecen en español (ej. "El campo URL es obligatorio").
  • [ ] Escenario 4 (Estructura para valenciano): Dado que en el futuro se quiera añadir valenciano (va), cuando se crea resources/lang/va/, entonces la estructura es idéntica a es/ y solo hay que traducir los strings sin tocar las vistas.
  • [ ] Escenario 5 (Locale configurado): Dado que se revisa config/app.php, cuando se inspecciona, entonces 'locale' => 'es' y 'fallback_locale' => 'es' están configurados.
  • [ ] Requisito Técnico: Ejecutar php artisan lang:publish para publicar los archivos de validación base de Laravel. Crear los archivos de dominio en resources/lang/es/. Configurar APP_LOCALE=es en .env. Las fechas y números también deben usar el locale es (Carbon::setLocale('es')).

MoSCoW: SHOULDSprint: Sprint 1

Notas:

  • Prioridad alta para la primera entrega visible (Sprint 1) porque afecta a TODAS las vistas.
  • Se recomienda crear los archivos de idioma vacíos con los keys desde el principio e irlos rellenando conforme se desarrolla cada feature.
  • Carbon con locale es formatea fechas automáticamente en español (diffForHumans() devuelve "hace 2 horas" etc.).

Log Management Dashboard — Documentación del Proyecto