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 相关文章推荐
通过ODBC连接的SQL SERVER实例
Oct 09 PHP
解决MySQL中文输出变成问号的问题
Jun 05 PHP
smarty简单入门实例
Nov 28 PHP
PHP获取远程图片并保存到本地的方法
May 12 PHP
php自动给网址加上链接的方法
Jun 02 PHP
ThinkPHP模型详解
Jul 27 PHP
Thinkphp自定义代码生成工具及用法说明(附下载地址)
May 27 PHP
无需数据库在线投票调查php代码
Jul 20 PHP
PHP MYSQL简易交互式站点开发
Dec 27 PHP
PHP设计模式之装饰器模式定义与用法简单示例
Aug 13 PHP
PHP保留两位小数的几种方法
Jul 24 PHP
PHP常见的序列化与反序列化操作实例分析
Oct 28 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函数与传递参数实例分析
2014/11/15 PHP
PHP实现删除字符串中任何字符的函数
2015/08/11 PHP
js基于qrcode.js生成二维码的方法【附demo插件源码下载】
2016/12/28 PHP
laravel-admin表单提交隐藏一些数据,回调时获取数据的方法
2019/10/08 PHP
Js 获取HTML DOM节点元素的方法小结
2009/04/24 Javascript
动态样式类封装JS代码
2009/09/02 Javascript
firefox下对ajax的onreadystatechange的支持情况分析
2009/12/14 Javascript
jquery实现心算练习代码
2010/12/06 Javascript
jQuery获取上传文件的名称的正则表达式
2015/05/21 Javascript
JavaScript实现级联菜单的方法
2015/06/29 Javascript
jQuery+Ajax+PHP+Mysql实现分页显示数据实例讲解
2015/09/27 Javascript
微信开发 微信授权详解
2016/10/21 Javascript
javascript中mouseenter与mouseover的异同
2017/06/06 Javascript
获取本机IP地址的实例(JavaScript / Node.js)
2017/11/24 Javascript
微信小程序实践之动态控制组件的显示/隐藏功能
2018/07/18 Javascript
深入理解Vue父子组件生命周期执行顺序及钩子函数
2018/08/12 Javascript
vue 使用localstorage实现面包屑的操作
2020/11/16 Javascript
连接Python程序与MySQL的教程
2015/04/29 Python
Python中函数的参数定义和可变参数用法实例分析
2015/06/04 Python
用pandas按列合并两个文件的实例
2018/04/12 Python
解决python中无法自动补全代码的问题
2018/12/04 Python
python 回溯法模板详解
2020/02/26 Python
浅谈python多线程和多线程变量共享问题介绍
2020/04/17 Python
python将unicode和str互相转化的实现
2020/05/11 Python
一文轻松掌握python语言命名规范规则
2020/06/18 Python
CSS3 圆角效果
2009/07/15 HTML / CSS
iframe与window.onload如何使用详解
2020/05/07 HTML / CSS
健康监测猫砂:Pretty Litter
2017/05/25 全球购物
分别介绍一下Session Bean和Entity Bean
2015/03/13 面试题
生产管理的三大手法
2013/11/11 职场文书
国贸专业个人求职信分享
2013/12/04 职场文书
青年志愿者先进事迹
2014/05/06 职场文书
委托书格式
2014/08/01 职场文书
实操Python爬取觅知网素材图片示例
2021/11/27 Python
Mysql如何实现不存在则插入,存在则更新
2022/03/25 MySQL
详解Go语言中Get/Post请求测试
2022/06/01 Golang