天天看點

PHP Laravel 本地化語言支援

    That`s it. 我發現在網上Laravel的學習資料實在是太少了.好多東西需要自己去弄.去了解.

我的方法還有一個,就是去github上面下載下傳老外寫的Laravel網站,然後拿下來自己運作,分析代碼,然後找出其中的出彩的地方.恩,很不錯的方法.今天讓我找到了一個好東西,就是Laravel 本地化語言的功能.

所謂本地化語言,就是說在不同的的國家可能使用不同的語言.那麼如果沒有适應各個語言的程式,也就意味着程式需要重寫.現在Laravel提供了一個友善的功能,本地化語言支援.

好了,下面讓我們來看看這些神奇的功能吧.

Laravel設計模式中很好的展現了門面的設計模式.将内部細節封裝,向外部暴露統一的接口.

這裡本地化語言使用的就是Lang這個類.

我們如果想要讓程式支援中文和英文.

第一步:

在app目錄下有個lang的檔案夾,裡面有個en的檔案夾,這個表示的是英文.

我們再在裡面建立一個zh的檔案夾,表示中文.

加入我們我們在頁面中要實作這樣的功能

中國的使用者顯示 : "你好,世界!"

美國的使用者顯示:"hello world"

我們在en和zh裡面建立都一個叫做 tag.php

en/tag.php 裡這樣寫

return array(

  "welcome" =>"hello world"

);

zh/tag.php裡這樣寫:

  "welcome" =>"你好,世界"

好了,這就是我們要做的第一步

第二步:

我們在我們的config/app.php中可以看到

裡面有個

‘locale‘=>‘en‘, //這個表示預設使用的是lang哪個檔案夾中的内容

‘fallback_locale‘ => ‘en‘, //這個表示的是如果上面檔案夾中的内容不存在時,使用哪個檔案夾中的内容.

第三步:

聽起來似乎很繞口.下面上例子.

在我們的模闆頁面中我們這樣寫道

{{Lang::get(‘tag.welcome‘)}}

是不是很熟悉.tag表示的就是tag.php ,welcome表示的就是我們傳回數組中的一個鍵名.進而擷取到了資料.

那麼到底是擷取哪個檔案夾中的資料呢...

不要問我了吧.上面說的很清楚了啊...就是通過配置檔案中得到的啊...

那麼現在如果我們将config/app.php配置檔案進行修改.

‘locale‘=>‘zh‘,

‘fallback_locale‘=>‘en‘,

那麼如果我們在zh檔案中沒有找到相應的内容,那麼就到en檔案夾中進行查找.如果也沒有.

那麼不好意思,頁面中就會顯示 例如 tag.welcome的東西.

好了,該部分介紹完畢了.我要繼續研究了哦.

Persistence makes life valuable.

Best Wishes.

上一篇: 12.4. Maatkit