cgv / localized-resource
Comando para crear recursos localizados de Filament
Requires
- php: ^8.3
- doctrine/inflector: ^2.0
- filament/filament: ^5.0
Requires (Dev)
None
Suggests
None
Provides
None
Conflicts
None
Replaces
None
This package is not auto-updated.
Last update: 2026-11-07 02:47:03 UTC
README
Crea un recurso de Filament y los archivos de idioma de su nombre singular y plural. El recurso generado usa CGV\LocalizedResource\Filament\Resource, que lee esas traducciones en el panel.
Hace falta una aplicación Laravel con PHP 8.3 y Filament 5.
Instalación
composer require cgv/localized-resource
Los idiomas por defecto son es, en y fr. Para cambiarlos:
php artisan vendor:publish --tag=localized-resource-config
Eso copia config/localized-resource.php. Lo que edites ahí sustituye a los valores del paquete.
Comando
php artisan make:localized-resource {model?} {--label=} {--plural_label=}
| Entrada | Qué hace |
|---|---|
model | Nombre del modelo. Si lo omites, el comando lo pregunta. Si no es el singular en Studly (Customer), propone ese nombre y pide confirmación. |
--label | Respuesta de la etiqueta singular en cada idioma elegido. Si el inflector la cambia, pregunta si aceptas el cambio. |
--plural_label | Igual para el plural. La sugerencia sale de la etiqueta singular ya aceptada. |
--label y --plural_label son un solo valor para todos los idiomas de esa ejecución. Sirven cuando rellenas un idioma, o cuando la palabra es la misma en los que elijas.
El idioma marcado por defecto en la lista es config('app.locale').
Qué deja escrito
Para un modelo Customer con la tabla ya creada:
app/Filament/Resources/Customers/CustomerResource.php, con página de vista y borrado lógico. Si la tabla existe, Filament genera el formulario y la tabla a partir de las columnas.lang/{locale}/filament/resources/customer.phppor cada idioma elegido.
return array (
'label' => 'Cliente',
'plural_label' => 'Clientes',
);
En el panel, label y plural_label salen de ese archivo cuando la clave existe. Si no existe, Filament usa su propio nombre.
Casos de uso
El modelo y la tabla ya existen
php artisan make:localized-resource Customer
Comprueba app/Models/Customer.php y que su tabla esté en la base de datos. Después propone una columna de título, saltando id, created_at, updated_at y deleted_at. Puedes aceptar la primera, elegir otra de la lista o escribir el nombre. Esa columna se pasa a Filament como atributo del título del registro.
El nombre llega en plural o en minúsculas
php artisan make:localized-resource customers
Propone Customer. Si lo rechazas, sigue con el texto que escribiste.
La tabla no existe
El comando avisa y ofrece tres caminos:
- Crear el modelo con migración, factory y seeder, editar la migración y ejecutar
migrate. - Esperar y continuar cuando la tabla ya esté creada.
- Seguir sin tabla. En ese caso la columna de título queda en
namey Filament no genera el formulario desde la base de datos.
Si migrate falla, el comando lo dice y espera a que la corrijas en otra terminal.
Etiquetas desde las opciones
php artisan make:localized-resource Customer --label=Cliente --plural_label=Clientes
No pregunta el texto de esas dos variables. Sigue preguntando el idioma y, si el inflector devuelve otra forma, si quieres sustituirla. El inflector usa español, inglés o francés según el idioma; en cualquier otro usa las reglas del inglés.
Varios idiomas
En la lista eliges uno o más de supported_locales. Por cada uno pide la etiqueta singular y la plural, muestra el resumen y pide confirmación antes de escribir el archivo.
El archivo de idioma ya existe
Pregunta si lo sobrescribe. Si dices que no, imprime el contenido para copiarlo a mano y no sigue con los idiomas que quedaran pendientes.