Stemmers e listas de stopwords para Lunr.js que adicionam busca multilíngue em texto completo, em dezenas de idiomas, no navegador ou no Node.js.
mcamara/laravel-localization
Pacote Laravel para localização de URLs em projetos i18n: rotas com prefixo de idioma, detecção do idioma do navegador, slugs de rota traduzíveis e helpers para seletores de idioma.
- Estrelas
- 3,558
- Forks
- 505
- Issues abertas
- 11
- Último commit
- há 3 meses
O que é?
Laravel Localization adiciona suporte a URLs multilíngues em aplicações Laravel. As rotas são definidas uma única vez em um grupo com prefixo de idioma, e o pacote define o idioma da aplicação com base no segmento da URL. Assim, /en/about e /es/acerca levam ao mesmo controller, enquanto App::getLocale() retorna o idioma ativo.
O pacote pode detectar o idioma do visitante pelo cabeçalho Accept-Language do navegador, armazenar o idioma escolhido em uma sessão ou cookie e redirecionar as requisições para a URL localizada. Também pode ocultar o idioma padrão nas URLs, traduzir segmentos de rota por meio de arquivos lang e oferece helpers como localizeUrl, getSupportedLocales e getCurrentLocaleDirection para criar seletores de idioma e links adaptados ao idioma.
As rotas são geradas a cada requisição, então php artisan route:cache não é compatível por padrão; o pacote oferece a trait LoadsTranslatedCachedRoutes e o comando route:trans:cache para fazer o cache. O README também recomenda o pacote sucessor niels-numbers/laravel-localizer para novos projetos que precisam de suporte nativo a route caching.
Recursos principais
- 01Grupos de rotas com prefixo de idioma, que permitem definir as rotas uma única vez para todos os idiomas.
- 02Detecção do idioma do navegador pelo cabeçalho Accept-Language.
- 03Middleware de redirecionamento de idioma baseado em sessão e cookie.
- 04Segmentos de rota traduzíveis, definidos em arquivos lang/**/routes.php.
- 05Helpers para URLs localizadas, nomes de idiomas, nomes nativos, direção e escrita.
- 06Opção para ocultar o idioma padrão nas URLs e configurar mapeamentos personalizados de URLs por idioma.
Casos de uso
- Criar um site Laravel que disponibiliza conteúdo em vários idiomas, cada um com seu próprio prefixo de URL.
- Adicionar um seletor de idioma que vincule cada página à URL equivalente nos outros idiomas.
- Disponibilizar slugs traduzidos, como /en/article/... e /es/articulo/..., em sites multilíngues otimizados para SEO.
Início rápido
- 1
Instale o pacote com o Composer
composer require mcamara/laravel-localization - 2
Publique o arquivo de configuração
php artisan vendor:publish --provider="Mcamara\LaravelLocalization\LaravelLocalizationServiceProvider" - 3
Agrupe suas rotas localizadas no grupo de rotas LaravelLocalization::setLocale() em routes/web.php
Antes de usar
- As rotas são geradas a cada solicitação, por isso php artisan route:cache não é compatível por padrão.
- O suporte às versões do Laravel e do PHP depende das versões específicas do pacote listadas na tabela de compatibilidade.
Tópicos
Perguntas frequentes
- O que é laravel-localization?
- Pacote Laravel para localização de URLs em projetos i18n: rotas com prefixo de idioma, detecção do idioma do navegador, slugs de rota traduzíveis e helpers para seletores de idioma. Laravel Localization adiciona suporte a URLs multilíngues em aplicações Laravel. As rotas são definidas uma única vez em um grupo com prefixo de idioma, e o pacote define o idioma da aplicação com base no segmento da URL. Assim, /en/about e /es/acerca levam ao mesmo controller, enquanto App::getLocale() retorna o idioma ativo.
- laravel-localization é gratuito? Qual é a licença?
- laravel-localization é open source sob a licença MIT. Confira os termos da licença antes de usá-lo em produtos comerciais.
- laravel-localization ainda é mantido?
- Atualizado nos últimos 6 meses. O último commit de laravel-localization foi em 24 de ago. de 2026.
- Para que posso usar laravel-localization?
- Criar um site Laravel que disponibiliza conteúdo em vários idiomas, cada um com seu próprio prefixo de URL. Adicionar um seletor de idioma que vincule cada página à URL equivalente nos outros idiomas. Disponibilizar slugs traduzidos, como /en/article/... e /es/articulo/..., em sites multilíngues otimizados para SEO.
- Como instalar laravel-localization?
- Instale o pacote com o Composer: composer require mcamara/laravel-localization Publique o arquivo de configuração: php artisan vendor:publish --provider="Mcamara\LaravelLocalization\LaravelLocalizationServiceProvider" Agrupe suas rotas localizadas no grupo de rotas LaravelLocalization::setLocale() em routes/web.php
- Onde consigo laravel-localization?
- O código-fonte e as instruções de instalação estão no GitHub: https://github.com/mcamara/laravel-localization
Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.
Projetos relacionados
Plugin de WordPress mantido pela comunidade que adiciona conteúdo multilíngue a posts e páginas, armazenando os idiomas juntos em um único post.
Um wrapper para Laravel que usa o PhpSpreadsheet para exportar collections, queries e views do Blade para Excel ou CSV e importar planilhas em modelos Eloquent.
Um SDK PHP para criar bots do Telegram usando a Telegram Bot API, com suporte integrado ao Laravel.
Um pacote de chat em tempo real para Laravel que adiciona mensagens diretas, grupos, anexos e uma interface de mensagens integrada ao app.
Um driver do Laravel Scout que adiciona busca full-text a modelos Eloquent usando o mecanismo PHP TNTSearch, sem exigir um servidor de busca externo.