aharen/language

Laravel 5.3+ 多语言支持

v1.0.6 2017-10-18 07:25 UTC

This package is auto-updated.

Last update: 2024-09-25 21:58:16 UTC


README

Laravel 5.3+ 多语言支持

安装

composer require aharen/language

配置

将服务提供者添加到 providers 数组中的 config/app.php

aharen\Language\LanguageServiceProvider::class,

将外观添加到 aliases 数组中的 config/app.php

'Language' => 'aharen\Language\Facades\Language::class',

运行 vendor:publish artisan 命令以发布数据库迁移文件和默认种子文件

php artisan vendor:publish

现在将 DefaultLanguageSeeder 添加到 database/DatabaseSeeder.php

$this->call(DefaultLanguageSeeder::class);

您可能需要运行 composer dumpautoload 以使种子开始工作

可选 提供的种子将创建英语作为默认语言,但您可以将种子更改为任何您喜欢的语言。

此外,您还必须在 config/app.php 中更新 localefallback_locale 为您想要的默认语言,因为该包使用这些来维护设置的区域设置和默认区域设置。

这将启用使用 Laravel 的默认本地化方法和指令,例如 'echo trans('messages.welcome');@lang('messages.welcome'). 您可以将翻译存储在默认的 resources/lang` 目录中。

设置

您应该以以下方式之一将路由前缀添加到您的路由中

  1. 在您的路由文件中到路由组

     Route::group(['prefix' => \App::getLocale()], function () {
       // your routes here
     });
    
  2. 或者您可以直接修改 mapWebRoutes() 方法中的 App\RouteServiceProvider,如下所示

     Route::group([
         'middleware' => 'web',
         'namespace'  => $this->namespace,
         'prefix'     => \App::getLocale(),
     ], function ($router) {
         require base_path('routes/web.php');
     });