Multi-locale applications
Serve translated UI and validation messages across locales.
App config
typescript
// config/app.ts
export default {
locale: env('APP_LOCALE', 'en'),
fallback_locale: env('APP_FALLBACK_LOCALE', 'en'),
locales_path: 'lang',
available_locales: ['en', 'de', 'fr'],
};Publish locale files
bash
tyravel lang:publishCreates lang/en.json. Copy to lang/de.json, lang/fr.json, etc.
Views
html
{{ __('messages.welcome') }}Lang facade resolves keys from JSON locale files. See Support utilities for Str helpers.
Missing keys
bash
tyravel lang:missingReports keys used in views but absent from locale files — useful in CI.
HTTP locale switching
Set locale per request in middleware:
typescript
import { Lang } from '@tyravel/core';
Lang.setLocale(request.headers.get('Accept-Language')?.split(',')[0] ?? 'en');Or derive from authenticated user preferences.
Factories
APP_FAKER_LOCALE in config/app.ts controls factory-generated sample text.