adamibrahim/localization 问题修复 & 功能扩展

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

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

adamibrahim/localization

Composer 安装命令:

composer require adamibrahim/localization

包简介

Laravel 5.6 Localization package with language chooser

README 文档

README

Latest Version on Packagist Software License Build Status Coverage Status Quality Score Total Downloads

Laravel 5.6 Localization package with

  • Language chooser
  • Different language sessions for website and CMS / back
  • List of languages stored at Database table languages
  • At table languages you can set boolean values for [active, default]

Demo

You can see working demo

Install

Install the package Via Composer
$ composer require adamibrahim/localization
If you installing at laravel 5.5 or higher then you may go directly to Publish other wise you will need to edit composer.json, register the Service Provider and middleware

composer.json

Add this code to your composer.json under the autoload at your main directory

"psr-4": {
            "Adam\\Localization\\": "vendor/adamibrahim/localization/src"
        }

Service Provider

At file config/app.php register service provider under * Package Service Providers...

Adam\Localization\LocalizationServiceProvider::class,
Middleware

if you are using Laravel version lower than 5.5 then you need to register the lang middleware at your App\Http\Kernel.php

  • At protected $routeMiddleware = [ ] array add the below code
'lang' => \Adam\Localization\Middleware\Localization::class,

Publishing

Optional publishing flags folder with flags svg images / and config file

$ php artisan vendor:publish --tag=Localization --force

Database Migrating

run the Artisan migration command

$ php artisan migrate

Seeding

Run the Artisan Seeding command

$ php artisan db:seed --class=Adam\Localization\database\seeds\LanguagesTableSeeder

Artisan Seed Error

If you receive this Error:

Class Adam\Localization\database\seeds\LanguagesTableSeeder does not exist

Then you may need to dump-autoload by running this command

$ composer dump-autoload

Then run the seeding command once again

$ php artisan db:seed --class=Adam\Localization\database\seeds\LanguagesTableSeeder

Usage

You need to add 'lang' middleware to all your routes

->middleware('lang')

Add the Bootstrap language change buttons to your website page/s

@if (($languages)->count() > 1)
    <li class="nav-item dropdown">
        <a class="nav-link dropdown-toggle" href="#" id="navbarDropdownMenuLink" 
        data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
            <img src="{{ asset('img/flags/'.$lang['flag']) }}"> {{ $lang['abbr'] }}<span class="caret"></span>
        </a>

        <div class="dropdown-menu dropdown-menu-right" aria-labelledby="navbarDropdownMenuLink">
            @foreach($languages as $language)
                <a href="{{ route('language.change', $language->abbr) }}" class="dropdown-item">
                    <img src="{{ asset('img/flags/'.$language->flag) }}"> {{$language->native}}
                </a>
            @endforeach
        </div>
    </li>
@endif

Optional you can add different language session if needed for example admin control panel

@if (($languages_back)->count() > 1)
    <li class="nav-item dropdown">
        <a class="nav-link dropdown-toggle" href="#" id="navbarDropdownMenuLink" 
        data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
            <img src="{{ asset('img/flags/'.$lang_back['flag']) }}"> {{ $lang_back['abbr'] }}<span class="caret"></span>
        </a>

        <div class="dropdown-menu dropdown-menu-right" aria-labelledby="navbarDropdownMenuLink">
            @foreach($languages_back as $language)
                <a href="{{ route('admin.back.language', $language->abbr) }}" class="dropdown-item">
                    <img src="{{ asset('img/flags/'.$language->flag) }}"> {{$language->native}}
                </a>
            @endforeach
        </div>
    </li>
@endif

Optional The lang_back session set the app locale if the rote prefix is 'admin' if you wish to change the route prefix simple modify prefix at the config file config\localization.php

Contributing

Contributing

Please see CONTRIBUTING and CODE_OF_CONDUCT for details.

Security

If you discover any security related issues, please email :author_email instead of using the issue tracker.

Credits

License

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

统计信息

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

GitHub 信息

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

其他信息

  • 授权协议: MIT
  • 更新时间: 2018-02-18

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固