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 相关文章推荐
使用sockets:从新闻组中获取文章(二)
Oct 09 PHP
PHP数据缓存技术
Feb 14 PHP
php Rename 更改文件、文件夹名称
May 24 PHP
php header Content-Type类型小结
Jul 03 PHP
php相对当前文件include其它文件的方法
Mar 13 PHP
CI框架中数据库操作函数$this-&gt;db-&gt;where()相关用法总结
May 17 PHP
php 二维数组时间排序实现代码
Nov 19 PHP
php判断文件上传图片格式的实例详解
Sep 30 PHP
在Laravel5.6中使用Swoole的协程数据库查询
Jun 15 PHP
详细对比php中类继承和接口继承
Oct 11 PHP
Yii框架数据库查询、增加、删除操作示例
Oct 14 PHP
PHP中用Trait封装单例模式的实现
Dec 18 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
php session 预定义数组
2009/03/16 PHP
php number_format() 函数通过千位分组来格式化数字的实现代码
2013/08/06 PHP
PHP导入导出Excel代码
2015/07/07 PHP
php单例模式的简单实现方法
2016/06/10 PHP
ASP Json Parser修正版
2009/12/06 Javascript
jQuery 自动增长的文本输入框实现代码
2010/04/02 Javascript
javascript 动态修改样式和层叠样式表代码
2010/04/27 Javascript
jQuery循环滚动展示代码 可应用到文字和图片上
2012/05/11 Javascript
九种js弹出对话框的方法总结
2013/03/12 Javascript
Javascript 遮罩层和加载效果代码
2013/08/01 Javascript
jquery easyui滚动条部分设置介绍
2013/09/12 Javascript
JS动态添加与删除select中的Option对象(示例代码)
2013/12/20 Javascript
jQuery事件用法实例汇总
2014/08/29 Javascript
直接拿来用的15个jQuery代码片段
2015/09/23 Javascript
js仿支付宝多方框输入支付密码效果
2016/09/27 Javascript
Vuex2.0+Vue2.0构建备忘录应用实践
2016/11/30 Javascript
基于JS实现网页中的选项卡(两种方法)
2017/06/16 Javascript
Three.js实现绘制字体模型示例代码
2017/09/26 Javascript
使用Vue完成一个简单的todolist的方法
2017/12/01 Javascript
利用原生的JavaScript实现简单拼图游戏
2018/11/18 Javascript
小程序Request的另类用法详解
2019/08/09 Javascript
js设计模式之单例模式原理与用法详解
2019/08/15 Javascript
vue框架制作购物车小球动画效果实例代码
2019/09/26 Javascript
js操作两个json数组合并、去重,以及删除某一项元素
2020/09/22 Javascript
Python构造函数及解构函数介绍
2015/02/26 Python
python实现嵌套列表平铺的两种方法
2018/11/08 Python
Python基于argparse与ConfigParser库进行入参解析与ini parser
2021/02/02 Python
Marc Jacobs官方网站:美国奢侈品牌
2017/08/29 全球购物
荷兰鞋类购物网站:Donelli
2019/05/24 全球购物
意大利一家专营包包和配饰的网上商店:Borse Last Minute
2019/08/26 全球购物
超市优秀员工获奖感言
2014/08/15 职场文书
单位工作证明
2014/10/07 职场文书
幼儿园辞职信范文
2015/02/27 职场文书
大学生读书笔记大全
2015/07/01 职场文书
感谢信的技巧及范例
2019/05/15 职场文书
Java实战之课程信息管理系统的实现
2022/04/01 Java/Android