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

演示
现在就试试,在我们的在线演示中 这里。
安装
- 在你的 Laravel 项目中,安装此包
composer require hncore/language-switcher # optional: publish the config file php artisan vendor:publish --provider="Backpack\LanguageSwitcher\LanguageSwitcherServiceProvider" --tag="config"
- 将中间件添加到 hncore 配置
config/hncore/base.php
'middleware_class' => [ ... \Backpack\LanguageSwitcher\Http\Middleware\LanguageSwitcherMiddleware::class, ],
可选地,你可以在 app/Http/Kernel.php
中将中间件添加到 web
、api
或其他你可能想使用语言切换器的中间件组。
- 将下拉视图添加到
topbar_right_content.blade.php
或你需要的任何地方
@include('hncore.language-switcher::language-switcher')
- 为了添加你应用程序的可用语言,你需要在 hncore crud 配置文件
config/hncore/crud.php
中启用它们
'locales' => [ 'en' => 'English', 'pt' => 'Portuguese', 'ro' => 'Romanian', ...
在那里你可以设置应用程序使用的 locales
数组。请注意,应用程序的默认语言应保持在 config.app.locale
和 config.app.fallback_locale
中。
用法
我能否显示/隐藏主要标签或旗帜?
是的!
你可以通过向组件发送特殊参数来实现
@include('hncore.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" ])
我能否在 hncore/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@hncoreforlaravel.com 报告,而不是使用问题跟踪器。
鸣谢
许可证
该项目是在 MIT 许可证下发布的,因此你可以在任何 Backpack & Laravel 项目上安装它。有关更多信息,请参阅 许可证文件。