為模板添加多語(yǔ)言能力

2018-06-13 16:58 更新

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

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

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

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

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




##如何制作制作語(yǔ)言包?


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


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

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)