Laravel 語系檔案設定與使用

變更 Laravel 預設語系

Laravel 預設使用英文語系,若要切換為繁體中文,請編輯 config/app.php

// config/app.php
'locale' => 'zh-TW',

設定後執行以下指令清除設定快取:

php artisan config:clear

建立語系目錄與檔案

建立繁體中文語系目錄

mkdir -p resources/lang/zh-TW

常見語系檔案說明

檔案名稱 用途說明
auth.php 登入、註冊、密碼驗證相關訊息
pagination.php 分頁按鈕文字(上一頁、下一頁)
passwords.php 忘記密碼與重設密碼的提示訊息
validation.php 表單驗證錯誤訊息
messages.php 自訂的應用程式訊息(需自行建立)

這些檔案可複製 Laravel 預設英文語系檔案為基礎,翻譯後使用。Laravel 預設語系檔案位於 resources/lang/en/

你也可以使用社群翻譯的語系檔,如 Laravel-Lang/lang 提供多語系支援。


範例語系檔案內容

以下為 auth.php 的繁體中文範例:

<?php

return [
    'failed'   => '這些憑證與我們的記錄不符。',
    'password' => '提供的密碼不正確。',
    'throttle' => '登入嘗試次數過多,請於 :seconds 秒後再試。',
];

使用語系文字

Laravel 提供兩種方式來載入語系字串:

<!-- 使用 __() 函式 -->
<p>{{ __('auth.failed') }}</p>

<!-- 或使用 trans() 函式(Laravel 9 起已不建議使用,但仍可用) -->
<p>{{ trans('auth.failed') }}</p>

補充:語系切換方式

若需要在程式中動態切換語系,可以使用:

App::setLocale('zh-TW');

也可以在 Middleware 或控制器中根據使用者選擇來設定。


補充資源