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的类树(支持无限分类)
Oct 09 PHP
PHP生成月历代码
Jun 14 PHP
php print EOF实现方法
May 21 PHP
php-cli简介(不会Shell语言一样用Shell)
Jun 03 PHP
ThinkPHP中URL路径访问与模块控制器之间的关系
Aug 23 PHP
php实现指定字符串中查找子字符串的方法
Mar 17 PHP
php计算函数执行时间的方法
Mar 20 PHP
如何判断php mysqli扩展类是否开启
Dec 24 PHP
PHP排序二叉树基本功能实现方法示例
May 26 PHP
Yii框架页面渲染操作实例详解
Jul 19 PHP
使用Laravel中的查询构造器实现增删改查功能
Sep 03 PHP
php生成随机数/生成随机字符串的方法小结【5种方法】
May 27 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
实用函数2
2007/11/08 PHP
php allow_url_include的应用和解释
2010/04/22 PHP
在PHP中实现Javascript的escape()函数代码
2010/08/08 PHP
php邮件发送,php发送邮件的类
2011/03/24 PHP
php实现字符串首字母大写和单词首字母大写的方法
2015/03/14 PHP
解决php扩展安装不生效问题
2019/10/25 PHP
jQuery学习4 浏览器的事件模型
2010/02/07 Javascript
js png图片(有含有透明)在IE6中为什么不透明了
2010/02/07 Javascript
Jquery加载时从后台读取数据绑定到dropdownList实例
2013/06/09 Javascript
使用js判断数组中是否包含某一元素(类似于php中的in_array())
2013/12/12 Javascript
Bootstrap每天必学之标签页(Tab)插件
2020/08/09 Javascript
jQuery内容筛选选择器实例代码
2017/02/06 Javascript
Angularjs自定义指令实现三级联动 选择地理位置
2017/02/13 Javascript
基于Vue自定义指令实现按钮级权限控制思路详解
2018/05/23 Javascript
详解JavaScript事件循环机制
2018/09/07 Javascript
layDate日期控件使用方法详解
2018/11/15 Javascript
解决vue组件中click事件失效的问题
2019/11/09 Javascript
js实现简单的日历显示效果函数示例
2019/11/25 Javascript
python在linux中输出带颜色的文字的方法
2014/06/19 Python
详细解读Python中解析XML数据的方法
2015/10/15 Python
python中快速进行多个字符替换的方法小结
2016/12/15 Python
python 多个参数不为空校验方法
2019/02/14 Python
python 猴子补丁(monkey patch)
2019/06/26 Python
pycharm设置鼠标悬停查看方法设置
2019/07/29 Python
Python 、Pycharm、Anaconda三者的区别与联系、安装过程及注意事项
2019/10/11 Python
如何修复使用 Python ORM 工具 SQLAlchemy 时的常见陷阱
2019/11/19 Python
Python安装tar.gz格式文件方法详解
2020/01/19 Python
JackJones官方旗舰店:杰克琼斯男装
2018/03/27 全球购物
介绍一下Java的事务处理
2012/12/07 面试题
人事专员工作职责
2014/02/22 职场文书
土木工程师职业规划范文
2014/03/07 职场文书
个人贷款授权委托书样本
2014/10/07 职场文书
欢迎词范文
2015/01/27 职场文书
幼儿园六一儿童节主持词
2015/06/30 职场文书
MySQL之PXC集群搭建的方法步骤
2021/05/25 MySQL
利用Sharding-Jdbc进行分库分表的操作代码
2022/01/22 Java/Android