暂无 |

项目多语言实例

下面以一个中英双语的例子来看项目多语言支持的具体实现。

在 项目目录/Lang/zh-cn/ 下创建 common.php 文件,并在内设定简体中文语言定义:

<?php
return array(
    'welcome'=>'欢迎使用 ThinkPHP !',
    'message'=>'这是一条测试消息!',
);
?>

在 项目目录/Lang/en-us/ 下创建 common.php 文件,并在内设定美国英语语言定义:

<?php
return array(
    'welcome'=>'Welcome to ThinkPHP!',
    'message'=>'This is a test message!',
);
?>

在操作中(如 Index 模块 lang 操作)中:

public function lang(){
    $this->assign('message', L('message'));
    $this->display();
}

对应的模板(Tpl/default/Index/lang.html):

<p>{$Think.lang.welcome}</p>
<p>{$message}</p>
<p>切换到:<a href="?l=zh-cn">简体中文</a> | <a href="?l=en-us">English</a></p>

当我们访问该操作时,系统会根据当前浏览器语言来自动获取对应的语言包内容。上面的例子中,直接在模板中显示的内容使用 {$Think.lang.welcome} 来输出,而在操作中获取语言包内容时,需要使用 L 快捷方法。当点击 English 链接时,由于 URL 中传入了 l=en-us 参数,系统会获取对应的英语语言包,从而显示:

Welcome to ThinkPHP!
This is a test message!

L 快捷方法

L 快捷方法用于获取和设置语言定义,语法如下:

L(name, value)

如果 name 和 value 参数都存在时,表示设定语言变量名 name=value;当 value 省略时,表示获取 name 语言变量对应的值,若 name 未定义时,将 name 以大写返回。

java教程
php教程
php+mysql教程
ThinkPHP教程
MySQL
C语言
css
javascript
Django教程

发表评论

    评价:
    验证码: 点击我更换图片
    最新评论