vrnvgasu / localization
用于更改本地化的简单按钮。
0.1.0
2020-07-16 12:24 UTC
Requires
- php: ^7.2.5
- illuminate/container: ^7.20
- illuminate/database: ^7.20
- illuminate/http: ^7.20
- illuminate/routing: ^7.20
- illuminate/support: ^7.20
- symfony/http-foundation: ^5.1
Requires (Dev)
This package is auto-updated.
Last update: 2024-09-30 00:22:51 UTC
README
为 Laravel 项目更改语言的语言按钮。
默认支持俄语和英语。但你可以扩展本地化。
安装
安装库
composer require vrnvgasu/localization
除了加密本地化cookie
如果你使用这个中间件,将中间件cookie名称 \Vrnvgasu\Localization\Services\Locale\Locale::USER_LOCALE
添加到 $except
数组中,用于 \App\Http\Middleware\EncryptCookies。
namespace App\Http\Middleware; use Illuminate\Cookie\Middleware\EncryptCookies as Middleware; use Vrnvgasu\Localization\Services\Locale\Locale; class EncryptCookies extends Middleware { protected $except = [ Locale::USER_LOCALE, ]; }
运行迁移
默认情况下,将向用户表添加一个区域设置列。如果该列已存在,则不需要迁移。如果用户表名称不同,则需要更改配置(详细描述在配置配置中)。
php artisan migrate
设置中间件
为支持本地化的路由设置中间件。
use Illuminate\Support\Facades\Route; use Vrnvgasu\Localization\Middleware\Localization; Route::group(array( 'middleware' => Localization::ALIAS, ), function() { // });
配置管理
将配置发布到项目中
php artisan vendor:publish --tag=vrnvgasu_localization__config
将 config/vrnvgasu_localization.php
发布。
然后你可以在 locales
数组中添加新的区域设置
'locales' => [ 'en' => [ 'lang' => 'lang', 'name' => 'en', ], 'ru' => [ 'lang' => 'яз', 'name' => 'рус', ], 'new_locale' => [ 'lang' => 'drop_down_button_name', 'name' => 'language_name', ], ],
更改默认区域设置
'default' => 'new_locale',
更改用户表名称(对于迁移是必要的)
'users_table' => 'users_table_name',
包括语言按钮
在你的 blade 中使用 @include('vrnvgasu::localization.index')
<nav class="navbar navbar-expand-sm bg-dark navbar-dark"> <ul class="navbar-nav mr-auto"> <li class="nav-item dropdown"> @include('vrnvgasu::localization.index') </li> </ul> </nav>
视图管理
将视图发布到项目中
php artisan vendor:publish --tag=vrnvgasu_localization__view
将 resources/views/vendor/vrnvgasu/localization/index.blade.php
发布。
你可以更改此视图。使用 @include('vrnvgasu::localization.index')
将使用你的模板。