🔏
🔏
🔏
🔏
Laravel 4.2 入門
Search…
🔏
🔏
🔏
🔏
Laravel 4.2 入門
前言
Laravel 介紹
Laravel 介紹
認識 Laravel
開始之前
進入 Laravel 的世界
進入 Laravel 的世界
安裝 Composer
建立 Laravel 專案
Laravel 框架目錄說明
Artisan 常用指令說明
基本配置設定
基本配置設定
設定伺服器
建立開發環境
設定 Laravel 網站
動手做-入門
動手做-入門
Laravel 的 MVC 模型
使用 Route
使用 View
使用 Controller
使用 Migration 和 Model
使用 Form
第一個小專案:迷你部落格
動手做 - 進階
動手做 - 進階
Route 進階
Blade 樣板系統
Form 進階
Form 的資料驗證
資料庫
資料庫
Query Builder
Eloquent ORM
Schema Builder
Migrations & Seeding
常用功能實作
常用功能實作
登入驗證
在地化 (多國語言)
分頁
寄信
附錄
附錄
移除 public 結尾
Sublime Text 的開發套件
Powered By
GitBook
在地化 (多國語言)
概念
所謂的在地化,就是讓網站中的文字以當地的語言來表示。在 Laravel 中製作多國語言的方法,是在 app/lang 目錄下,建立以各國的名稱命名的目錄,雖然這些目錄的命名並沒有特別規定,但是你可以使用
ISO 639-1
[1] 的標準來命名,例如:
app/lang/en
app/lang/tw
app/lang/jp
app/lang/fr
各個語言目錄中會使用 php 檔來儲存相對應的語言文字,這個檔案的只做一件事,回傳陣列型態的語言文字。
當你的多國語言資料都設定好後,Laravel 提供 Lang 類別在程式中取用指定的語言的字串。
建立語系檔
我們先在預設的 app/lang/en 中新增一個 default.php:
<?php
return array(
'title' => 'My Blog'
);
回傳一個陣列,該陣列只有一筆資料。接著建立第 2 個語言的目錄 app/lang/tw,直接把 en 目錄中的 default.php 複製到 tw 目錄中,編輯:
<?php
return array(
'title' => '我的部落格'
);
現在我們有兩種語言的文字了,兩個檔案裡的陣列 key 必須是一樣的,value 就換成該語系的內容。
預設語系
每個 Laravel 網站都有一個預設語系,在 app/config/app.php 中可以修改預設的語系:
'locale' => 'en',
'fallback_locale' => 'en',
將 'en' 改成你要的語系,例如 'tw',如此網站就會載入 tw 目錄中的語言文字。
指定語系
你也可以在每個 Controller 中指定目前要顯示哪個語系的內容。假設要指定以 tw 來顯示:
App::setLocale('tw');
這行必須寫在最前面,這樣之後要取語言文字時才知道要取哪一個,所以
[email protected]
可以改成:
public function index()
{
App::setLocale('tw');
$title = Lang::get('default.title');
$posts = Post::all();
return View::make('site.home')
->with('title', $title)
->with('posts', $posts);
}
使用 Lang::get('檔案名稱.key'); 就能取得某一語言檔案內某 key 的值。所以,記得語言檔案在任何語言目錄中都必須是同樣的名稱,key 也必須是同一名稱。
如果要在 View 裡面使用語言文字:
@lang('default.title')
它會依預設語系或在 Controller 中指定的語系來取得文字。
[1]
https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes
常用功能實作 - Previous
登入驗證
Next - 常用功能實作
分頁
Last modified
2yr ago
Copy link
Outline
概念
建立語系檔
預設語系
指定語系