Welcome to the course! In this first episode, we kick things off by talking about localization (or translations) in Laravel apps. If you've used Blade templates before, you know translating content is pretty straightforward. But once you start working with things like view components and inertia, it gets trickier since the handy translation helpers aren’t available on the frontend. We're going to tackle this by building a language switcher and making client-side translations simple to use everywhere in our app — even supporting placeholders and validation error messages.
You'll see a quick demo of what we'll build: a language dropdown driven by a PHP enum (making it crazy easy to add new languages), instant UI updates when you switch languages (no page reloads!), and localized validation error messages. The goal is a super lean and clean solution — not relying on heavy packages, but building just what we need.
We then set up a fresh Laravel app using Breeze, wire up our database, and pick options like Inertia, Vue, and Pest for testing. Once installed, we do some quick config—setting up environment variables, migrating the database, and confirming everything runs smoothly in the browser. Now we’ve got our playground ready, with authentication set up and tests passing, all set for the upcoming episodes where we dive deeper into localization, starting with managing available languages using a PHP enum.
So, by the end of this episode, you’ll be ready to follow along as we enhance the app with multilingual support step-by-step!