為模板添加多語言能力

2018-06-13 16:58 更新

ModPHP 模板的多語言功能是通過使用 lang() 函數(shù)實現(xiàn)的。這有兩方面的含義,一是為 lang() 函數(shù)設(shè)置運行時配置,二是在模版中使用 lang() 函數(shù)進行輸出。示例如下:

在模板函數(shù)文件中為 lang() 設(shè)置運行時配置:

<?php
$lang = strtolower(config('mod.language')).'.php';
/** 推薦在模板文件夾下使用一個獨立的文件夾存放語言包,如 lang/ */
$file = template_dir('lang/'.$lang);
if(file_exists($file)){
 lang(include($file));
}
/** 為了確保你的語言包能夠被 CMS 系統(tǒng)發(fā)現(xiàn)并啟用,你還應(yīng)該這樣做 */
$file2 = __ROOT__.'user/lang/'.$lang;
if(!file_exists($file2)){
 export(include($file), $file2);
}

然后在模板中使用 lang() 函數(shù)進行輸出:

```<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> </head> <body> <!-- 例如這樣 --> 該網(wǎng)站正在使用的語言是 <?php echo lang('name'); ?>。 <!-- 或者使用模板編譯引擎 --><br> 該網(wǎng)站正在使用的語言是 {lang('name')}。 </body> </html>




##如何制作制作語言包?


ModPHP 的語言包制作起來非常簡單,只需要參考默認的語言包文件即可。你可以自由添加消息項目,但默認語言包中所有的項目都應(yīng)該被翻譯,并且,你必需為語言包設(shè)置一個?***name => 語言名稱***?鍵值對,來讓使用者和 CMS 系統(tǒng)辨識該語言包所使用的語言。在保存為文件時,盡量保存為和語言名稱相對應(yīng)的英文名稱,例如?**中文(簡體)**?應(yīng)該保存問?**zh_cn.php**?或者**chinese_simpfied.php**。


你可以[點擊此處](http://modphp.hyurl.com/viewcode/mod/lang/zh-cn.php)查看默認語言包 zh-cn.php 是如何編寫的。
以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號