craft-forge/filament-language-switcher 问题修复 & 功能扩展

解决BUG、新增功能、兼容多环境部署,快速响应你的开发需求

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

craft-forge/filament-language-switcher

最新稳定版本:v1.0.1

Composer 安装命令:

composer require craft-forge/filament-language-switcher

包简介

Zero-config language switcher for Filament admin panels. Automatically scans available translations, renders dropdown with country flags, persists selection via sessions.

README 文档

README

A simple and elegant language switcher plugin for Filament admin panels. Automatically detects available Filament translations or allows custom language configuration with optional flag icons.

Language Switcher Demo

Language Switcher In Dark Mode

Installation

Plugin Version Filament Version PHP Version
1.x 3.x, 4.x > 8.1

Install the package via Composer:

composer require craft-forge/filament-language-switcher

Usage

Register the plugin in your Filament panel configuration: (e.g. AdminPanelProvider).

use CraftForge\FilamentLanguageSwitcher\FilamentLanguageSwitcherPlugin;
use Filament\Panel;

public function panel(Panel $panel): Panel
{
    return $panel
        // ...
        ->plugins([
            FilamentLanguageSwitcherPlugin::make(),
        ]);
}

The plugin will automatically detect available Filament language files and display them in a dropdown menu.

Configuration

Custom Languages

Define your own language list instead of auto-detection:

FilamentLanguageSwitcherPlugin::make()
    ->locales([
        ['code' => 'en', 'name' => 'English', 'flag' => 'gb'],
        ['code' => 'uk', 'name' => 'Українська', 'flag' => 'ua'],
        ['code' => 'de', 'name' => 'Deutsch', 'flag' => 'de'],
    ])

The name and flag parameters are optional. When omitted, the plugin automatically generates them from its built-in language dictionary:

FilamentLanguageSwitcherPlugin::make()
    ->locales([
        ['code' => 'en', 'flag' => 'us'],
        ['code' => 'fr'],
        ['code' => 'de'],
    ])

For flag codes, please refer to https://flagicons.lipis.dev (e.g., pl for Poland).

Language Switcher Custom Languages

Hide Flags

Display only language codes and names without flag icons:

FilamentLanguageSwitcherPlugin::make()
    ->showFlags(false)

Language Switcher with text-only display

Custom Render Hook

Change where the language switcher appears in your panel:

use Filament\View\PanelsRenderHook;

FilamentLanguageSwitcherPlugin::make()
    ->renderHook(PanelsRenderHook::USER_MENU_PROFILE_AFTER)

Available render hooks: https://filamentphp.com/docs/4.x/advanced/render-hooks#panel-builder-render-hooks

Language Switcher Render Hook

License

The MIT License (MIT). Please see License File for more information.

统计信息

  • 总下载量: 5.76k
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 9
  • 点击次数: 1
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 8
  • Watchers: 0
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2025-09-12