Internationalization: Supporting 4 Languages
Gerardo
gerardo@devlog.ist
Going Global with i18n
Devlog.ist now supports 4 languages: English, Spanish, French, and German! 🌍
Why Internationalization Matters
Developers are everywhere. By supporting multiple languages, we can:
- Reach a global audience
- Improve user experience for non-English speakers
- Open doors to new markets
Implementation
Laravel's Translation System
We use Laravel's built-in translation system:
// In views
{{ __('welcome.hero.title') }}
// In PHP
trans('filament.posts.actions.publish_now')
File Structure
lang/
├── en/
│ ├── welcome.php
│ ├── filament.php
│ └── vlog.php
├── es/
├── fr/
└── de/
Language Switching
Users can switch languages from the header:
Route::get('/locale', [LocaleController::class, 'set'])
->name('locale.set');
Translation Tips
- Use meaningful keys -
welcome.hero.titlenottext1 - Keep translations close to features - Easier to maintain
- Test all languages - Layouts can break with longer text
Contributing Translations
Want to help translate Devlog.ist? Reach out! We'd love community contributions.