Laravel - 中文語言包

GucciLee發表於2019-01-29

本地化

環境: 使用 php artisan make:auth 使用者認證腳手架

登入表單是英文版本的,開啟模板檔案,此模板檔案是我們剛剛使用 make:auth 命令生成的:

    resources/views/auth/login.blade.php

可以看到很多 __() 函式的呼叫:

<div class="card-header">{{ __('Login') }}</div>
<label for="password" class="col-md-4 col-form-label text-md-right">{{ __('Password') }}</label>
{{ __('Remember Me') }}

這是 Laravel 提供的本地化特性,使用__() 函式來輔助實現。按照約定,本地化檔案儲存在 resources/lang 資料夾中,為 JSON 格式。在 config/app.php 檔案中,我們設定了:

'locale' => 'zh-CN',

對應翻譯檔案就是 resources/lang/zh-CN.json ,需新建此檔案:

resources/lang/zh-CN.json

{
    "Login": "登入",
    "Password": "密碼",
    "Remember Me": "記住我"
}

再次重新整理登入頁面,可以看到翻譯的內容:

中文語言包

會有很多人會遇到翻譯 Laravel 自帶模板的問題,所以我們無需自己一個個去翻譯,這種通用的問題找找擴充套件包來處理即可。

我們將使用 Laravel Lang 專案來實現,此專案支援了 52 個國家的語言,使用以下命令安裝:

$ composer require "overtrue/laravel-lang:~3.0"

安裝完成後重新整理頁面,完美翻譯:

Laravel Lang 同自定義語言包一樣,都是根據 config/app.phplocale 的選項來選擇語言的。

值得一提的是,如果你想修改擴充套件包提供的語言檔案,可以使用以下命令釋出語言檔案到專案裡:

$ php artisan lang:publish zh-CN

相關文章