Download the PHP package prunacatalin/filament-locale-switcher without Composer
On this page you can find all versions of the php package prunacatalin/filament-locale-switcher. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download prunacatalin/filament-locale-switcher
More information about prunacatalin/filament-locale-switcher
Files in prunacatalin/filament-locale-switcher
Package filament-locale-switcher
Short Description Drop-in topbar locale switcher for Filament v4/v5 panels. Session + per-user persistence, explicit locale list, render-hook dropdown.
License MIT
Informations about the package filament-locale-switcher
Filament Locale Switcher
Drop-in locale switcher for Filament v4/v5 panels. Topbar dropdown (or user-menu items), session / per-user / cookie persistence, explicit locale whitelist, six-step resolution chain.
Install
Publish the config (optional — the plugin works without it, but config is the recommended source of truth):
If you intend to persist the user's choice on their account, run the migration to add a locale column to users:
Configure
config/filament-locale-switcher.php:
Wire it into your panel
Two lines: register the plugin, append the middleware to your panel middleware list (it MUST run after StartSession).
That's it. The plugin reads from config/filament-locale-switcher.php; the dropdown renders in the panel topbar; clicking a flag persists the choice and reloads the current page in that language.
Per-panel override
Every config key has a matching fluent setter. Useful when a single Laravel app hosts two panels with different policies:
Setters always win over config.
Resolution chain (per request)
?lang=xxquery parameter- session value (last switch in this browser)
- cookie (when
persist=cookie) - authenticated user's column (when
persist=user) Accept-Languageheaderconfig('app.locale')
Anything outside the configured locales whitelist is rejected — tampered session/cookie values can never load an arbitrary lang path.
Testing
Pest suite uses Orchestra Testbench with SQLite :memory:. 21 tests / 39 assertions cover the resolver chain, the plugin's config hydration, the middleware, and every controller persistence branch.
License
MIT.
All versions of filament-locale-switcher with dependencies
filament/filament Version ^3.0|^4.0|^5.0
illuminate/contracts Version ^10.0|^11.0|^12.0|^13.0
illuminate/support Version ^10.0|^11.0|^12.0|^13.0