Laravel 提供 Lang 類別讓你方便取用不同語言的字串。檔案存放在 app/lang 目錄下,在依不同語言各自建立目錄。例如:
app/lang/en
app/lang/tw
app/lang/jp
app/lang/fr
語言目錄名稱可自訂。目錄中可放置多個 php 檔,每個 php 內都是做回傳一個陣列的動作。
建立語系檔
我們先在預設的 app/lang/en 中新增一個 default.php:<?php
return array(
'title' => 'My Blog'
);
然後建立一個 app/lang/tw 的目錄,把 en/default.php 複製到 tw 目錄中,修改 app/lang/tw/default.php:
<?php
return array(
'title' => '我的部落格'
);
現在我們有兩種語言的文字了。兩個檔案裡的陣列除了 key 是一樣的,value 就換成該語系的內容。
使用語系檔
你可以在 app/config/app.php 中修改整個網站預設的語系:'locale' => 'en',
'fallback_locale' => 'en',
或是在 HomeController@index 中使用App::setLocale('tw');
來更改某一次請求的語系。在 HomeController@index Controller 的方法中取得語系文字:
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 的值。你也可以在 view 裡面使用
@lang('default.title')
來取得。
本文網址:http://blog.tonycube.com/2015/01/laravel-20-localication.html
由 Tony Blog 撰寫,請勿全文複製,轉載時請註明出處及連結,謝謝 😀
由 Tony Blog 撰寫,請勿全文複製,轉載時請註明出處及連結,謝謝 😀
赞
回覆刪除