pardalsalcap/linter-translations
Translation manager for Linter-based Laravel applications.
3
| Install | |
|---|---|
composer require pardalsalcap/linter-translations |
|
| Latest Version: | 5.0.0 |
| PHP: | ^8.2 |
| License: | MIT |
| Last Updated: | Mar 18, 2026 |
| Links: | GitHub · Packagist |
Maintainer: pardalsalcap
Linter Translations
pardalsalcap/linter-translations extrae a package reusable el gestor de traducciones para aplicaciones Laravel basadas en Linter / Filament.
v5 supports Filament 5
Qué resuelve
- Persistencia de traducciones en tabla
language_lines - Sincronización desde
lang/{locale}/*.php,lang/{locale}.jsonylang/vendor/*/{locale}/*.php - Prioridad de base de datos sobre ficheros en runtime
- Soporte para grupos locales y vendor namespace como
demo::panel - Recurso Filament reutilizable para editar traducciones
Instalación
composer require pardalsalcap/linter-translations
php artisan migrate
Si quieres publicar la configuración:
php artisan vendor:publish --tag="linter-translations-config"
Registro en Filament
Registra el plugin en tu panel:
use Pardalsalcap\LinterTranslations\Filament\LinterTranslationsPlugin;
public function panel(Panel $panel): Panel
{
return $panel
->plugins([
LinterTranslationsPlugin::make(),
]);
}
Configuración
Archivo: config/linter-translations.php
Opciones principales:
locales: lista explícita de idiomas. Acepta['en', 'es']o['en' => 'English', 'es' => 'Español'].locales_config: clave de config alternativa desde la que leer los idiomas silocalesestá vacío.navigation_group: grupo de navegación del recurso Filament.model: modelo usado porspatie/laravel-translation-loader.translation_manager: manager runtime que da prioridad a BD.export_command: comando opcional para exponer una acción de exportación en el recurso.export_role: rol requerido para ver la acción de exportación si está habilitada.
Sincronización
El package expone:
php artisan linter-translations:sync
También mantiene el alias:
php artisan app:translations-sync
Comportamiento por defecto:
- crea claves nuevas
- rellena idiomas faltantes
- no sobrescribe valores ya existentes en
language_lines
Para forzar sobreescritura:
php artisan linter-translations:sync --overwrite
Para limitar idiomas:
php artisan linter-translations:sync --locale=es --locale=en
Runtime
Cuando una traducción existe tanto en fichero como en language_lines, prevalece la de base de datos. Eso permite editar textos desde el CMS sin tocar el repositorio.
Testing
El package incluye tests de integración con orchestra/testbench para cubrir:
- sync desde ficheros PHP, JSON y vendor namespace
- comportamiento conservador sin
--overwrite - sobreescritura explícita con
--overwrite - prioridad de BD en runtime, incluyendo namespaces vendor
Ejecutar:
composer test