# laravel 多國語系 https://hackmd.io/@javck/ByJgF8HRP/%2FQTkf293kT424pTFoNJkjZQ ## 設定語系 可透過app.php檔案來設定語系 `//config/app.php` 設定預設語系 `'locale' => 'zh_TW', ` 設定替代語系,作為當預設語系本地化內容不存在時的替代語系 `'fallback_locale' => 'en',` 如需動態設定,可透過以下程式來加以設定 `App::setLocale('zh_TW');` ## 取得與確認語系 取得預設語系 `App::getLocale();` 確認預設語系是否為某個語系 ``` if(App::isLocale('zh_TW')){ //確實預設語系為zh_TW } ``` ## 定義本地化內容 **短字串** 副檔名為.php,存放在resources/lang/語系資料夾(如zh_TW),每個語系可有多個檔案 ``` //resources/lang/zh_TW/generic.php return [ "welcome" => "歡迎使用我們的網頁服務"; ]; ``` **翻譯字串** 檔名為 語系.json(如zh_TW.json),存放在resources/lang,每個語系只有一個檔案 ``` //resources/lang/zh_TW.json { "welcome to our webiste" : "歡迎使用我們的網頁服務" } ``` ## 取用本地化內容 取用短字串本地化內容,需要在.符號前說明檔案名稱,取用翻譯字串則不需要 如果找不到本地化內容,將會顯示key值做為內容 **透過幫助函式()** `//resources/views/auth/login.blade.php` **取用短字串本地化內容** `{{ __('generic.username') }}` **取用翻譯字串本地化內容** `{{ __('Login From Facebook') }}` ## 透過Blade標籤@lang //resources/views/auth/login.blade.php 取用短字串本地化內容 `@lang('generic.username')` 取用翻譯字串本地化內容 `@lang('Login From Facebook')` ## 帶參數的本地化內容 可建立包含佔位參數的本地化內容,於取用本地化內容時傳入。佔位參數與傳入時的Key只需字母相同,大小寫視為相同 ``` //resources/lang/zh_TW/generic.php return [ 'remember' => '記得:name' ]; ``` ``` //resources/views/auth/login.blade.php {{ __('generic.remember',['name' => '我']) }} ``` **佔位參數如取名全大寫,則顯示時的內容將為全大寫,否則一般顯示為首字母大寫。** ###### tags: `Laravel`
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up