chaim-chv/filament-browser-locale

Automatically set Filament locale from browser preferred language

Maintainers

Package info

github.com/chaim-chv/filament-browser-locale

pkg:composer/chaim-chv/filament-browser-locale

Statistics

Installs: 13

Dependents: 0

Suggesters: 0

Stars: 0

Open Issues: 0

v1.0.0 2026-01-11 21:36 UTC

This package is auto-updated.

Last update: 2026-03-11 21:59:25 UTC


README

Filament panel plugin that Automatically sets the Filament panel locale based on the browser's Accept-Language header ("preferred languages").

Features

  • Laravel 12 compatible
  • Filament v3+ compatible
  • Normalizes en-USen (configurable)
  • Configurable supported locales
  • No global middleware required

Installation

composer require chaim-chv/filament-browser-locale

Usage

To use the plugin, simply add it to your Filament panel's plugins array.

BrowserLocalePlugin::make()

To specify supported locales, use the supportedLocales method:

BrowserLocalePlugin::make()
    ->supportedLocales(['en', 'he'])

To disable language code normalization (e.g., to keep en-US as en-US instead of normalizing to en):

BrowserLocalePlugin::make()
    ->supportedLocales(['en-US', 'en-GB', 'he'])
    ->normalize(false)

Full filament panel example:

use ChaimChv\FilamentBrowserLocale\BrowserLocalePlugin;

class ExamplePanel extends PanelProvider
{
    public function panel(Panel $panel): Panel
    {
        return $panel
            ->id('example')
            ->path('/example')
            ->plugins([
                BrowserLocalePlugin::make()
                    ->supportedLocales(['en', 'he']),
            ]);
    }
}

You can also set the supported locales via global configuration (see below), in which case you can initialize the plugin without any options.

Configuration

Publish the configuration file:

php artisan vendor:publish --tag=filament-browser-locale-config

Available options in config/filament-browser-locale.php:

  • supported_locales: Array of supported locale codes (default: [])
  • normalize: Whether to normalize language codes like en-US to en (default: true)

@chaim-chv © 2026