backpack / language-switcher
Backpack 的语言切换器
Requires
- backpack/crud: ^6.0
- outhebox/blade-flags: ^1.2
Requires (Dev)
- phpstan/phpstan: ^1.10
README
此包为使用 Backpack for Laravel 的项目添加语言切换下拉菜单。
预览

演示
现在就试试我们的在线演示 我们的在线演示。
安装
- 在你的 Laravel 项目中,安装此包
composer require backpack/language-switcher # optional: publish the config file php artisan vendor:publish --provider="Backpack\LanguageSwitcher\LanguageSwitcherServiceProvider" --tag="config"
- 将中间件添加到 backpack 配置
config/backpack/base.php
'middleware_class' => [ ... \Backpack\LanguageSwitcher\Http\Middleware\LanguageSwitcherMiddleware::class, ],
可选地,你还可以在 app/Http/Kernel.php
中将中间件添加到 web
、api
或其他你可能想要使用语言切换器的中间件组。
- 将下拉视图添加到
topbar_right_content.blade.php
或你需要的任何位置
@include('backpack.language-switcher::language-switcher')
- 为了添加你应用中可用的语言,你需要在 backpack crud 配置文件
config/backpack/crud.php
中启用它们
'locales' => [ 'en' => 'English', 'pt' => 'Portuguese', 'ro' => 'Romanian', ...
在那里你可以设置你的应用使用的 locales
数组。请注意,你的应用默认区域应保留在 config.app.locale
和 config.app.fallback_locale
中。
用法
我可以显示/隐藏主要标签或旗帜吗?
是的!
你可以通过向组件发送特殊参数来实现
@include('backpack.language-switcher::LanguageSwitcher', [ 'flags' => true, // true by default, change it to hide flags 'main_label' => false, // false by default, it may also be a string, for instance "Language" ])
我可以在 backpack/admin 范围之外使用这个包吗?
是的!
如果你希望在应用的其他部分使用语言切换器,你可以在 app/Http/Kernel.php
中添加中间件。例如,你可以为整个 web
中间件组或 api
启用此功能。
protected $middlewareGroups = [ 'web' => [ ... \Backpack\LanguageSwitcher\Http\Middleware\LanguageSwitcherMiddleware::class, ],
我可以自定义端点路由吗?
是的! 你可以通过发布配置文件 php artisan vendor:publish --provider="Backpack\LanguageSwitcher\LanguageSwitcherServiceProvider" --tag="config"
来实现。在那里,你可以完全禁用包路由并注册自己的路由,或者更改与显示 URL 相关的某些行为。
请注意,如果你重写路由,请使用节流或其他安全措施来保护端点。默认包路由使用:'throttle:60,1'
注意
此包使用 outhebox/blade-flags
来获取代表语言/区域的旗帜。
如果你发现任何问题,如缺失或错误的旗帜,可以直接向维护者报告。
安全
如果你发现任何安全相关的问题,请通过电子邮件 cristian.tabacitu@backpackforlaravel.com 报告,而不是使用问题跟踪器。
鸣谢
许可证
本项目根据 MIT 许可证发布,因此你可以在任何 Backpack & Laravel 项目上安装它。有关更多信息,请参阅许可证文件。