backpack/language-switcher

Backpack 的语言切换器

2.0.0 2024-01-17 13:50 UTC

This package is auto-updated.

Last update: 2024-09-17 15:39:10 UTC


README

Latest Version on Packagist Total Downloads The Whole Fruit Manifesto

此包为使用 Backpack for Laravel 的项目添加语言切换下拉菜单。

预览

演示

现在就试试我们的在线演示 我们的在线演示

安装

  1. 在你的 Laravel 项目中,安装此包
composer require backpack/language-switcher

# optional: publish the config file
php artisan vendor:publish --provider="Backpack\LanguageSwitcher\LanguageSwitcherServiceProvider" --tag="config"
  1. 将中间件添加到 backpack 配置 config/backpack/base.php
'middleware_class' => [
    ...
    \Backpack\LanguageSwitcher\Http\Middleware\LanguageSwitcherMiddleware::class,
],

可选地,你还可以在 app/Http/Kernel.php 中将中间件添加到 webapi 或其他你可能想要使用语言切换器的中间件组。

  1. 将下拉视图添加到 topbar_right_content.blade.php 或你需要的任何位置
@include('backpack.language-switcher::language-switcher')
  1. 为了添加你应用中可用的语言,你需要在 backpack crud 配置文件 config/backpack/crud.php 中启用它们
'locales' => [
    'en' => 'English',
    'pt' => 'Portuguese',
    'ro' => 'Romanian',
    ...

在那里你可以设置你的应用使用的 locales 数组。请注意,你的应用默认区域应保留在 config.app.localeconfig.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 项目上安装它。有关更多信息,请参阅许可证文件