Para traduzir completamente o seu painel Laravel 13 e Filament para o Português do Brasil, você precisa configurar a localização do próprio framework (mensagens de validação, paginação, etc.) e a do painel administrativo.
O Filament possui tradução nativa e automática baseada no idioma configurado no Laravel. Segue o passo a passo direto para fazer essa configuração.
Passo 1: Traduzir o Laravel 13
Por padrão, as instalações modernas do Laravel não trazem a pasta de idiomas exposta. Vamos publicá-la e instalar os arquivos traduzidos.
- Publique o scaffold de idiomas do Laravel:
php artisan lang:publish - Instale as traduções comunitárias (pt-BR):
A forma mais rápida e eficiente é utilizando o pacote lucascudo/laravel-pt-BR-localization:composer require lucascudo/laravel-pt-br-localization --dev
- Publique os arquivos de tradução do pacote:
php artisan localization:pt-br- Isso criará os arquivos necessários dentro do diretório
lang/pt_BR/.
OBS: Se o passo 3 der problema execute o seguinte comando:
Esse processo deve gerar o arquivo: [\lang\pt_BR.json]
php artisan vendor:publish --tag=laravel-pt-br-localization
Passo 2: Configurar o idioma no Sistema
Altere as configurações globais do aplicativo para apontar para o novo idioma.
- Abra o arquivo
.envna raiz do seu projeto. - Atualize ou adicione as chaves de localidade:
APP_LOCALE=pt_BR APP_FALLBACK_LOCALE=pt_BR - (Opcional) Limpe o cache de configurações para garantir que o Laravel leia os novos dados:
php artisan config:clear[3, 4]
Passo 3: Configurar o Filament
O Filament identifica automaticamente o APP_LOCALE do Laravel e carrega seus próprios arquivos internos em português. No entanto, é uma boa prática garantir que as configurações regionais de formato de data e fuso horário estejam alinhadas no seu PanelProvider.
- Abra o arquivo do seu painel (geralmente localizado em
app/Providers/Filament/AdminPanelProvider.php). - O Filament já traduzirá os menus internos, botões de ação (“Create”, “Edit”, “Delete”) e alertas automaticamente. [5]
Se você precisar registrar recursos e deseja que os nomes deles no plural/singular apareçam traduzidos na barra lateral, defina explicitamente as propriedades dentro do seu arquivo de Resource (ex: app/Filament/Resources/UserResource.php):
protected static ?string $modelLabel = 'Usuário';
protected static ?string $pluralModelLabel = 'Usuários';
Resumo da Estrutura de Pastas
Após os comandos, sua estrutura de pastas deve se parecer com isto:
lang/pt_BR/auth.phplang/pt_BR/pagination.phplang/pt_BR/passwords.phplang/pt_BR/validation.php
Qualquer nova string customizada que você criar no código usando __('Minha Mensagem') pode ser traduzida criando um arquivo lang/pt_BR.json.
