aristonis / laravel-language-switcher
auto detected user language and set it for application with manully option for user to slelect language
Installs: 4
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 0
Forks: 0
Open Issues: 0
Type:laravel-package
pkg:composer/aristonis/laravel-language-switcher
Requires (Dev)
- orchestra/testbench: ^10.6
README
Auto-detects user language from browser/session and sets it for the Laravel application. Provides manual selection via a form component.
Features
- Automatic language detection (browser, session, custom detectors).
- Session-based persistence.
- User profile integration for authenticated users.
- Blade component for language switcher.
- Configurable supported languages and detectors.
Installation
-
Install via Composer:
composer require aristonis/laravel-language-switcher
-
Publish config file:
php artisan vendor:publish --provider="Aristonis\LaravelLanguageSwitcher\LaravelLanguageSwitcherServiceProvider" --tag="config"
-
Register middleware
-
Add route in
routes/web.php
:Route::post('/language-switch', [\Aristonis\LaravelLanguageSwitcher\Http\Controllers\LanguageSwitchController::class, 'update'])->name('language-switch.update');
Configuration
In config/language-switcher.php
:
supported_languages
: Array of supported locales (e.g.,['en' => 'English', 'ar' => 'Arabic']
).detectors
: Enabled detectors (e.g.,['browser']
).session_key
: Session key for locale (default:__lang
).
Usage
Middleware
Automatically sets app()->setLocale()
on each request.
Language Switcher Component
In Blade views:
<x-laravel-language-switcher-switcher />
Detectors
- Browser: Detects from
Accept-Language
header. - Custom:
- Extends:
LanguageDetectorInterface
- add new class on config file with array
detectors
- Extends:
Manual Update
POST to /language-switch
with locale
field.
Publishing Views
php artisan vendor:publish --provider="Aristonis\LaravelLanguageSwitcher\LaravelLanguageSwitcherServiceProvider" --tag="views"
Changelog
Please see CHANGELOG for more information on what has changed recently.
Issues
Report issues at GitHub Issues.
Collaboration
Contributions welcome! Fork the repo, create a feature branch, and submit a pull request. See CONTRIBUTING for details.
Security Vulnerabilities
Email aristonis@outlook.com or report via Issues.
License
The MIT License (MIT). Please see License File for more information.
Support
For support, open an issue.