{"id":1499,"date":"2026-06-16T19:35:34","date_gmt":"2026-06-16T22:35:34","guid":{"rendered":"https:\/\/rjsites.com.br\/?p=1499"},"modified":"2026-06-16T19:37:38","modified_gmt":"2026-06-16T22:37:38","slug":"traduzir-laravel-13-e-filament-para-o-portugues-do-brasil","status":"publish","type":"post","link":"https:\/\/rjsites.com.br\/index.php\/2026\/06\/16\/traduzir-laravel-13-e-filament-para-o-portugues-do-brasil\/","title":{"rendered":"Traduzir Laravel 13 e Filament para o Portugu\u00eas do Brasil"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Para traduzir completamente o seu painel <strong>Laravel 13<\/strong> e <strong>Filament<\/strong> para o Portugu\u00eas do Brasil, voc\u00ea precisa configurar a localiza\u00e7\u00e3o do pr\u00f3prio framework (mensagens de valida\u00e7\u00e3o, pagina\u00e7\u00e3o, etc.) e a do painel administrativo.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">O Filament possui tradu\u00e7\u00e3o nativa e autom\u00e1tica baseada no idioma configurado no Laravel. Segue o passo a passo direto para fazer essa configura\u00e7\u00e3o.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">Passo 1: Traduzir o Laravel 13<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Por padr\u00e3o, as instala\u00e7\u00f5es modernas do Laravel n\u00e3o trazem a pasta de idiomas exposta. Vamos public\u00e1-la e instalar os arquivos traduzidos.<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Publique o scaffold de idiomas do Laravel:<\/strong><code>php artisan lang:publish<\/code><\/li>\n\n\n\n<li><strong>Instale as tradu\u00e7\u00f5es comunit\u00e1rias (pt-BR):<\/strong><br>A forma mais r\u00e1pida e eficiente \u00e9 utilizando o pacote <a href=\"https:\/\/github.com\/lucascudo\/laravel-pt-br-localization\">lucascudo\/laravel-pt-BR-localization<\/a>:\n<ul class=\"wp-block-list\">\n<li><code>composer require lucascudo\/laravel-pt-br-localization --dev<\/code><\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Publique os arquivos de tradu\u00e7\u00e3o do pacote:<\/strong>\n<ul class=\"wp-block-list\">\n<li><code>php artisan localization:pt-br <\/code><\/li>\n\n\n\n<li><em>Isso criar\u00e1 os arquivos necess\u00e1rios dentro do diret\u00f3rio <code>lang\/pt_BR\/<\/code>.<\/em> <\/li>\n<\/ul>\n<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">OBS: Se o passo 3 der problema execute o seguinte comando:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Esse processo deve gerar o arquivo: [\\lang\\pt_BR.json]<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>php artisan vendor:publish --tag=laravel-pt-br-localization<\/code><\/pre>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Passo 2: Configurar o idioma no Sistema<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Altere as configura\u00e7\u00f5es globais do aplicativo para apontar para o novo idioma.<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Abra o arquivo <code>.env<\/code> na raiz do seu projeto.<\/li>\n\n\n\n<li>Atualize ou adicione as chaves de localidade:<code>APP_LOCALE=pt_BR APP_FALLBACK_LOCALE=pt_BR<\/code><\/li>\n\n\n\n<li><em>(Opcional)<\/em> Limpe o cache de configura\u00e7\u00f5es para garantir que o Laravel leia os novos dados:<code>php artisan config:clear<\/code> [3, 4]<\/li>\n<\/ol>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">Passo 3: Configurar o Filament<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">O Filament identifica automaticamente o <code>APP_LOCALE<\/code> do Laravel e carrega seus pr\u00f3prios arquivos internos em portugu\u00eas. No entanto, \u00e9 uma boa pr\u00e1tica garantir que as configura\u00e7\u00f5es regionais de formato de data e fuso hor\u00e1rio estejam alinhadas no seu <code>PanelProvider<\/code>.<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Abra o arquivo do seu painel (geralmente localizado em <code>app\/Providers\/Filament\/AdminPanelProvider.php<\/code>).<\/li>\n\n\n\n<li>O Filament j\u00e1 traduzir\u00e1 os menus internos, bot\u00f5es de a\u00e7\u00e3o (&#8220;Create&#8221;, &#8220;Edit&#8221;, &#8220;Delete&#8221;) e alertas automaticamente. [5]<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">Se voc\u00ea precisar registrar recursos e deseja que os nomes deles no plural\/singular apare\u00e7am traduzidos na barra lateral, defina explicitamente as propriedades dentro do seu arquivo de <strong>Resource<\/strong> (ex: <code>app\/Filament\/Resources\/UserResource.php<\/code>):<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>protected static ?string $modelLabel = 'Usu\u00e1rio';\nprotected static ?string $pluralModelLabel = 'Usu\u00e1rios';\n<\/code><\/pre>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">Resumo da Estrutura de Pastas<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Ap\u00f3s os comandos, sua estrutura de pastas deve se parecer com isto:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>lang\/pt_BR\/auth.php<\/code><\/li>\n\n\n\n<li><code>lang\/pt_BR\/pagination.php<\/code><\/li>\n\n\n\n<li><code>lang\/pt_BR\/passwords.php<\/code><\/li>\n\n\n\n<li><code>lang\/pt_BR\/validation.php<\/code><\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Qualquer nova string customizada que voc\u00ea criar no c\u00f3digo usando <code>__('Minha Mensagem')<\/code> pode ser traduzida criando um arquivo <code>lang\/pt_BR.json<\/code>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Para traduzir completamente o seu painel Laravel 13 e Filament para o Portugu\u00eas do Brasil, voc\u00ea precisa configurar a localiza\u00e7\u00e3o do pr\u00f3prio framework (mensagens de valida\u00e7\u00e3o, pagina\u00e7\u00e3o, etc.) e a do painel administrativo. O Filament possui tradu\u00e7\u00e3o nativa e autom\u00e1tica baseada no idioma configurado no Laravel. Segue o passo a passo direto para fazer essa [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":1500,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"disabled","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"set","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"categories":[29],"tags":[28,27],"class_list":["post-1499","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-desenvolvimento","tag-laravel","tag-php"],"jetpack_featured_media_url":"https:\/\/rjsites.com.br\/wp-content\/uploads\/2026\/06\/image_baaeef6c.png","_links":{"self":[{"href":"https:\/\/rjsites.com.br\/index.php\/wp-json\/wp\/v2\/posts\/1499","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/rjsites.com.br\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/rjsites.com.br\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/rjsites.com.br\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/rjsites.com.br\/index.php\/wp-json\/wp\/v2\/comments?post=1499"}],"version-history":[{"count":1,"href":"https:\/\/rjsites.com.br\/index.php\/wp-json\/wp\/v2\/posts\/1499\/revisions"}],"predecessor-version":[{"id":1501,"href":"https:\/\/rjsites.com.br\/index.php\/wp-json\/wp\/v2\/posts\/1499\/revisions\/1501"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/rjsites.com.br\/index.php\/wp-json\/wp\/v2\/media\/1500"}],"wp:attachment":[{"href":"https:\/\/rjsites.com.br\/index.php\/wp-json\/wp\/v2\/media?parent=1499"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/rjsites.com.br\/index.php\/wp-json\/wp\/v2\/categories?post=1499"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/rjsites.com.br\/index.php\/wp-json\/wp\/v2\/tags?post=1499"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}