If you've ever built a Laravel app that needed to speak more than one language, you know the drill. Laravel ships with English only. So for French, Spanish, Arabic, or any of the other 127 languages your users might speak — you're on your own.
Or you were, before Laravel-Lang/lang.
What it is
Laravel-Lang/lang is a community-maintained package that ships ready-to-use translations for 128 languages. And it doesn't just cover the Laravel core — it covers the full ecosystem:
- Laravel Jetstream
- Laravel Fortify
- Laravel Breeze
- Laravel Cashier
- Laravel Nova
- Laravel Spark
- Laravel UI
Every auth screen, every validation message, every payment error — already translated, already formatted the way Laravel expects them.
Install and add a language
composer require --dev laravel-lang/lang
Then add the language you need:
php artisan lang:add fr
php artisan lang:add ar
php artisan lang:add ja
That's it. Your resources/lang/ directory gets populated with proper, human-reviewed translations. No copy-pasting from StackOverflow, no running a translation API over generic strings and hoping it makes sense in context.
Why it's worth installing on every project
The thing I like most about this package is that there's nothing to configure. It follows the exact same file structure as Laravel's native language files. You run the command, the files appear, you're done.
It's also one of the better-maintained packages in the ecosystem — 7,700+ GitHub stars and regular updates as new Laravel packages come out. When new Laravel packages ship new strings, this one catches up.
If you're building anything that will be used by people who don't speak English — which is most things — this is the first package to add after laravel/framework.