当前位置: 首页 > 编程笔记 >

ThinkPHP多语言支持与多模板支持概述

满雨石
2023-03-14
本文向大家介绍ThinkPHP多语言支持与多模板支持概述,包括了ThinkPHP多语言支持与多模板支持概述的使用技巧和注意事项,需要的朋友参考一下

本文以实例形式简述了ThinkPHP的多语言支持与多模板支持。是ThinkPHP中非常重要的技巧,分享给大家供大家参考。具体如下:

一、ThinkPHP多语言支持:

config.php配置文件中添加:

//多语言支持设置
'LANG_SWITCH_ON'=>true,
'DEFAULT_LANG'=>'zh-cn',
'LANG_AUTO_DETECT'=>true,
'LANG_LIST'=>'en-us,zh-cn,zh-tw',

Home/Lang/文件夹下建立三个文件夹,分别为zh-cn ,en-us ,zh-tw 分别代表简体中文,英文,繁体中文

文件夹下可以建立与模板对应的文件,或者公用文件common.php

zh-cn/common.php页面如下:

<?php
return array(
 'welcome'=>'你好',
 'lan'=>'简体中文', 
);
?>

en-us/common.php页面如下:

<?php
return array(
 'welcome'=>'how are you fine?',
 'lan'=>'english', 
);
?>

zh-tw/common.php页面如下:

<?php
return array(
 'welcome'=>'你好',
 'lan'=>'簡體中文', 
);
?>

模板index.php代码如下:

欢迎:{$Think.lang.welcome} 语言:{$Think.lang.lan}
<a href="?l=zh-cn" rel="external nofollow" >简体中文</a>
<a href="?l=en-us" rel="external nofollow" >english</a>
<a href="?l=zh-tw" rel="external nofollow" >繁體中文</a>

或者在Action的方法里直接定义:L('demo','测试');这样,在模板里就可以直接应用了:{$Think.lang.demo}
对于在模型中,比如有:array('uname','require','用户名必填');可以这么用:array('uname','require','%name');

二、ThinkPHP多模板支持:

config.php配置文件中添加

//多模板支持
 'TMPL_SWITCH_ON'=>true,
 'TMPL_DETECT_THEME'=>true,

/Home/Tpl/下建立其它皮肤文件夹,比如文件夹red,其中的文件与default文件中的一样。

在模板文件中添加:

<a href="?t=red" rel="external nofollow" >红</a>
<a href="?t=default" rel="external nofollow" >默认</a>

相信本文所述实例对大家ThinkPHP学习和开发有所帮助。

 类似资料:
  • 为您的 Flarum 添加新的界面语言很简单。按照下面的说明,下载并安装语言包即可。 在您安装并启用一个语言包后,您可以将其 设置为您论坛的默认语言。当您可以 随时禁用 用不到的语言。如果您有使用任何第三方扩展,请务必在开始前 阅读社区扩展说明。 欲开始,请访问 Flarum 社区上的 Extensions > Languages 标签,并找到您想要安装的语言包。 语言包的安装方式与 扩展 相同。

  • 我们在第十章介绍过国际化和本地化,开发了一个go-i18n库,这小节我们将把该库集成到beego框架里面来,使得我们的框架支持国际化和本地化。 i18n集成 beego中设置全局变量如下: Translation i18n.IL Lang string //设置语言包,zh、en LangPath string //设置语言包所在位置 初始化多语言函数: fu

  • 下表列出了社区提供的用于将Neo4j工作在嵌入模式的不同语言以及相应的框架。 表 8.1. 由社区贡献的Neo4j嵌入驱动 name language / framework URL Neo4j.rb JRuby https://github.com/andreasronge/neo4j Neo4django Python, Django https://github.com/scholrly/n

  • 我正在开发Oracle Forms 10g应用程序。该应用程序是在Oracle Forms 6i和Oracle 10g中开发的,因此我将该应用程序升级为Oracle Forms 10g,并使用Oracle Express 10g报告10g。 问题是应用程序是设计在沙特阿拉伯,NLS_LANG="ARABIC_SAUDI_ARABIA. AR8MSWIN1256",所以表单开发人员和运行时给所有的错

  • 很抱歉,本文介绍的 i18n 游戏多语言支持这部分内容,目前暂时没有人力维护也很久没有更新了,可能会无法正常运行,建议使用动态加载来自行实现多语言切换功能。 游戏多语言支持是通过 Cocos Creator 编辑器扩展插件实现的,这个插件实现了 Label 和 Sprite 组件的多语言国际化(i18n)。 注意,多语言国际化和本地化的区别是,国际化需要软件里包括多种语言的文本和图片数据,并根据用