Joomla语言翻译类Jtext用法分析


Posted in PHP onMay 05, 2016

本文实例讲述了Joomla语言翻译类Jtext用法。分享给大家供大家参考,具体如下:

基本使用方法:

Jtext是Joomla中实现多语言翻译的一个对象,最基本的使用方法如下:

Jtext::_('LANGUAGE CODE');

如果是作为变量的话,则直接使用,如:

$var = Jtext::_('LANGUAGE CODE');

如果需要显示出来,可以用echo的命令让它显示,这种方式在模板文件中是最常见的,如:

echo Jtext::_('LANGUAGE CODE');

语言包文件:

Joomla可以支持多语言,每一种语言包的文件以文件夹的形式存在languages的文件夹下,如:

英文的语言包的文件夹名是: languages/en-GB/

繁体中文的语言包的文件夹名称是:languages/zh-TW/

每种语言有一个基本的语言包文件,这个文件在Joomla的任何一个程序运行中都会被载入,如:

英文的语言包文件为:en-GB.ini

繁体中文的语言包文件为:zh-TW.ini

每个组件(Component)的每个语言都会有一个语言包文件,这个语言包文件默认在该组件运行时才被载入,如:

com_community的英文语言包为:en-GB.com_community.ini

com_community的中文语言包为:zh-TW.com_community.ini

如何跨组件引用语言包文件:

如果要使用其他组件的语言包,必须先引入该组件的语言包才可以使用。如com_community中要使用com_stock的语言包,可以采用以下的方式引入:

$lang =& JFactory::getLanguage();
$lang->load('com_stock');//组件的名称,即语言包文件名的中间部分:en-GB.com_stock.ini

高级使用方法:

如果在要翻译的语句中出现变量,那么需要用到JText::sprintf()的方法进行翻译,JText::sprintf()支持在语言包中使用变量,最多可以支持3个变量。JText::sprintf()的格式如下:

Jtext::sprintf('LANGUAGE CODE',$var1,$var2,$var3);

对应的语言包的写法:

LANGUAGE CODE=语言代码%1$s,%2$s,%3$s

如:

JomSocial有一段代码是这样写的,需要传入会员链接和名称即视频的链接三个变量,程序的代码是这样写的:

JText::sprintf('CC ACTIVITIES FEATURED VIDEO', $ownerUrl, $ownerName, $videoUrl);

对应的语言包则是这样写的:

CC ACTIVITIES FEATURED VIDEO=<a href=\”%1$s\”>%2$s</a>的 <a href=\”%3$s\”>??</a> 被列??精?。

希望本文所述对大家基于joomla程序设计有所帮助。

PHP 相关文章推荐
生成卡号php代码
Apr 09 PHP
php设计模式 Facade(外观模式)
Jun 26 PHP
批量去除PHP文件中bom的PHP代码
Mar 13 PHP
浅析echo(),print(),print_r(),return之间的区别
Nov 27 PHP
codeigniter数据库操作函数汇总
Jun 12 PHP
ThinkPHP之foreach标签使用概述
Jun 30 PHP
php获取从百度、谷歌等搜索引擎进入网站关键词的方法
Jul 08 PHP
PHP实现合并discuz用户
Aug 05 PHP
php封装的单文件(图片)上传类完整实例
Oct 18 PHP
PHP 二级子目录(后台目录)设置二级域名
Mar 02 PHP
PHP PDOStatement::errorCode讲解
Jan 31 PHP
Laravel框架实现简单的学生信息管理平台案例
May 07 PHP
Yii2超好用的日期和时间组件(值得收藏)
May 05 #PHP
joomla实现注册用户添加新字段的方法
May 05 #PHP
Joomla数据库操作之JFactory::getDBO用法
May 05 #PHP
100多行PHP代码实现socks5代理服务器[2]
May 05 #PHP
PHP随机数 C扩展随机数
May 04 #PHP
PHP正则表达式过滤html标签属性(DEMO)
May 04 #PHP
Joomla使用Apache重写模式的方法
May 04 #PHP
You might like
改写ThinkPHP的U方法使其路由下分页正常
2014/07/02 PHP
Yii2中如何使用modal弹窗(基本使用)
2016/05/30 PHP
PHP编程实现的TCP服务端和客户端功能示例
2018/04/13 PHP
laravel框架分组控制器和分组路由实现方法示例
2020/01/25 PHP
javascript下IE与FF兼容函数收集
2008/09/17 Javascript
JS链式调用的实现方法
2013/03/07 Javascript
使用js检测浏览器的实现代码
2013/05/14 Javascript
javascript制作坦克大战全纪录(1)
2014/11/27 Javascript
javascript 事件处理示例分享
2014/12/31 Javascript
jQuery实现的经典竖向伸缩菜单效果代码
2015/09/24 Javascript
详解js中class的多种函数封装方法
2016/01/03 Javascript
Vue.js学习笔记之修饰符详解
2017/07/25 Javascript
JS实现把一个页面层数据传递到另一个页面的两种方式
2018/08/13 Javascript
NodeJs实现简易WEB上传下载服务器
2019/08/10 NodeJs
[43:35]TI4 循环赛第二日Liquid vs Fnatic
2014/07/11 DOTA
[00:35]DOTA2上海特级锦标赛 MVP.Phx战队宣传片
2016/03/04 DOTA
[02:11]完美世界DOTA2联赛10月28日赛事精彩集锦:来吧展示实力强劲
2020/10/29 DOTA
Python中time模块与datetime模块在使用中的不同之处
2015/11/24 Python
Python在for循环中更改list值的方法【推荐】
2018/08/17 Python
用python生成1000个txt文件的方法
2018/10/25 Python
Python3.5内置模块之random模块用法实例分析
2019/04/26 Python
10款最好的Python开发编辑器
2019/07/03 Python
Django文件存储 默认存储系统解析
2019/08/02 Python
python中的Elasticsearch操作汇总
2019/10/30 Python
python字符串替换re.sub()实例解析
2020/02/09 Python
Django-rest-framework中过滤器的定制实例
2020/04/01 Python
Python 改变数组类型为uint8的实现
2020/04/09 Python
Python unittest单元测试openpyxl实现过程解析
2020/05/27 Python
Pycharm常用快捷键总结及配置方法
2020/11/14 Python
小学美术教学反思
2014/02/01 职场文书
会计与出纳自荐书范文
2014/03/16 职场文书
网络营销计划书
2015/01/17 职场文书
2015年教师业务工作总结
2015/05/26 职场文书
新闻稿格式范文
2015/07/18 职场文书
分析设计模式之模板方法Java实现
2021/06/23 Java/Android
如何利用python实现Simhash算法
2022/06/28 Python