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

Joomla语言翻译类Jtext用法分析

鲁峰
2023-03-14
本文向大家介绍Joomla语言翻译类Jtext用法分析,包括了Joomla语言翻译类Jtext用法分析的使用技巧和注意事项,需要的朋友参考一下

本文实例讲述了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相关内容感兴趣的读者可查看本站专题:《Symfony框架入门教程》、《Yii框架入门及常用技巧总结》、《php优秀开发框架总结》、《smarty模板入门基础教程》、《ThinkPHP常用方法总结》、《php面向对象程序设计入门教程》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》

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

 类似资料:
  • 问题内容: 是否有Python模块可将文本从一种人类语言翻译成另一种语言?我打算使用Python脚本对文本进行前后处理。可以使用其他哪些Python集成方法? 问题答案: 如果您实际上想在两种语言之间翻译文本字符串,例如从英语“ Hello”到西班牙语“ Hola”,则可能需要研究Google Language API 。 由于Google API的免费版本最近被弃用,另一个替代方法是Bing T

  • 问题内容: 我知道大多数人都使用下面的方法,并为需要翻译的特定表创建翻译表,但这可能会导致大量的表。 以下方法可行吗?假设您有很多表需要翻译超过1列。您能将以下所有翻译都保留在一张表格中吗?我想这张桌子的大小会随着时间的推移而大大增加。 因此,使用第二种方法,您将获得像这样的文本 问题答案: 我不确定您为什么担心表的数量:减少表的数量并不能自动意味着您的数据库更小,更高效或设计更好。特别是如果减少

  • 我有英文的php gettext默认语言 我想在我的一个控制器,翻译一些词在2个其他语言,并把他们全部在一个数组。 理想情况下我可以 但它并不存在。 是每次更改gettext设置的唯一方法吗? 相关:在Google:i18n之后用gettext看到了它,但没有地方设置的麻烦? 以下是建议的已回答的解决方案: https://github.com/philip15b/php-i18n(似乎是最佳解决

  • 我有一个应用程序可以翻译成10种语言。当然,我们试图保持最新的翻译,但它从来都不是完美的,许多是社区贡献,我们经常发布更新的翻译,只有在不同的水平(在)完整(比如说80%)。 所以翻译缺失是一个现实。默认情况下,当翻译不可用时,返回源语言(英语)。 我有pt_PT、pt_BR和es_ES等的翻译。在那种情况下,我想还是退后为好 从pt_PT到pt_BR到es_ES,然后只有英语; 从pt_BR到p

  • 我正在尝试在一个反冲上使用分类属性值翻译。我有一些例子,类分类属性翻译工作,但不能使这个工作。 我得到了这个错误

  • 我正在使用wpml翻译我正在构建的wordpress站点。我已经创建了一个自定义主题,正在使用wp_get_archives()在博客部分显示归档。当我切换到网站的法语部分时,日期不会被翻译。wordpress不会自动拥有自己的翻译文件吗?