Joomla模块开发实战06-语言文件

Joomla模块开发实战06-语言文件

在这一节中我们来介绍一下joomla的语言文件。如何实现让我们的模块能够轻松支持多语言。

关于joomla多语言的基础,在这里就不多说。如果不清楚,请查看本站多语言相关的文章。首先我们需要新建两个语言文件。然后将语言文件包含到xml文件中,好让安装程序能够将语言文件放到正确的地方。其他的事情就交给joomla来做了。

重点看一下XML文件是如何包含语言文件的


1

2

3

4

5

6

7

8

9

10

11

12

13

14


<files>

<filename  module="mod_articletree">mod_articletree.php</filename>

<folder>tmpl</folder>

<folder>language</folder>

<filename>helper.php</filename>

<filename>index.html</filename>

<filename>mod_articletree.xml</filename>

</files>

<languages folder="language">

<language  tag="zh-CN">zh-CN/zh-CN.mod_articletree.sys.ini</language>

<language  tag="zh-CN">zh-CN/zh-CN.mod_articletree.ini</language>

<language  tag="en-GB">en-GB/en-GB.mod_articletree.sys.ini</language>

<language tag="en-GB">en-GB/en-GB.mod_articletree.ini</language>

</languages>

上面的代码是一个比较通用的XML文件对语言文件的包含。注意,这里的language文件夹应该和组件的更目录在一个目录下。下面是一个文件结构的截图:


当然上面的<folder>language</folder>是可以没有的。如果有,那么系统会将语言文件拷贝一份到模块的安装目录。并且同时将语言文件分别放到JSIte/languages中对应的目录(en-GB和zh-CN)。

系统检索语言文件的顺序

系统首先会去查找JSITE/language中对应于的语言文件。如果找到了就加载。如果没有找到,就查找模块的安装目录下的language文 件夹中的语言文件。如果当前系统的语言为中文(zh-CN).那么系统会首先在/languages/zh-CN/中寻找zh-CN.mod_articletree.ini ,zh-CN.mod_articletree.sys.ini。如果没有找到,那么就去 /modules/mod_articletree/language/zh-CN下寻找。如果依旧没有找到,就会寻找en-GB.mod_****文 件。如果还是没有,那么就直接显示原始字符。

语言文件的范围

joomla有两种语言文件 ,一种是.ini 另一种是.sys.ini.他们的管辖范围是不一样的。

.sys.ini 负责模块的类型,组件的类型,组件安装时显示的提示信息翻译。当然这里可能列举不全。

.ini 负责除此之外其他的信息的翻译

注意

模块的描述信息在两个地方会使用到。一个是在模块安装的时候,这个时候的描述信息是从.sys.ini中翻译的。另外一个是在模块管理中,查看模块详情或者新建模块的页面中的模块的描述信息。这个是在.ini中翻译的。

这是我们的网站:http://www.zmax99.com,里面有很多免费的joomla开发教程,欢迎前去下载!zmax-----中国joomla开发团队!

时间: 2024-10-28 22:41:58

Joomla模块开发实战06-语言文件的相关文章

React Native Android原生模块开发实战|教程|心得|如何创建React Native Android原生模块

尊重版权,未经授权不得转载 本文出自:贾鹏辉的技术博客(http://blog.csdn.net/fengyuzhengfan/article/details/54691503) 前言 一直想写一下我在React Native原生模块封装方面的一些经验和心得,来分享给大家,但实在抽不开身,今天看了一下日历发现马上就春节了,所以就赶在春节之前将这篇博文写好并发布(其实是两篇:要看iOS篇的点这里<React Native iOS原生模块开发>). 我平时在用React Native开发App时会

React Native iOS原生模块开发实战|教程|心得|如何创建React Native iOS原生模块

尊重版权,未经授权不得转载 本文出自:贾鹏辉的技术博客(http://blog.csdn.net/fengyuzhengfan/article/details/54691432) 前言 一直想写一下我在React Native原生模块封装方面的一些经验和心得,来分享给大家,但实在抽不开身,今天看了一下日历发现马上就春节了,所以就赶在春节之前将这篇博文写好并发布(其实是两篇:要看Android篇的点这里<React Native Android原生模块开发>). 我平时在用React Nativ

React Native Android原生模块开发实战|教程|心得|怎样创建React Native Android原生模块

尊重版权,未经授权不得转载 本文出自:贾鹏辉的技术博客(http://blog.csdn.net/fengyuzhengfan/article/details/54691503) 告诉大家一个好消息.为大家精心准备的React Native视频教程公布了,大家现能够看视频学React Native了. 前言 一直想写一下我在React Native原生模块封装方面的一些经验和心得.来分享给大家,但实在抽不开身.今天看了一下日历发现立即就春节了.所以就赶在春节之前将这篇博文写好并公布(事实上是两篇

Nginx模块开发入门(转)

前言 Nginx是当前最流行的HTTP Server之一,根据W3Techs的统计,目前世界排名(根据Alexa)前100万的网站中,Nginx的占有率为6.8%.与Apache相比,Nginx在高并发情况下具有巨大的性能优势. Nginx属于典型的微内核设计,其内核非常简洁和优雅,同时具有非常高的可扩展性.Nginx最初仅仅主要被用于做反向代理,后来随着HTTP核心的成熟和各种HTTP扩展模块的丰富,Nginx越来越多被用来取代Apache而单独承担HTTP Server的责任,例如目前淘宝内

Nginx模块开发入门

前言 Nginx是当前最流行的HTTP Server之一,根据W3Techs的统计,目前世界排名(根据Alexa)前100万的网站中,Nginx的占有率为6.8%.与Apache相比,Nginx在高并发情况下具有巨大的性能优势. Nginx属于典型的微内核设计,其内核非常简洁和优雅,同时具有非常高的可扩展性.Nginx最初仅仅主要被用于做反向代理,后来随着HTTP核心的成熟和各种HTTP扩展模块的丰富,Nginx越来越多被用来取代Apache而单独承担HTTP Server的责任,例如目前淘宝内

Nginx模块开发入门(转)

前言 Nginx是当前最流行的HTTP Server之一,根据W3Techs的统计,目前世界排名(根据Alexa)前100万的网站中,Nginx的占有率为6.8%.与Apache相比,Nginx在高并发情况下具有巨大的性能优势. Nginx属于典型的微内核设计,其内核非常简洁和优雅,同时具有非常高的可扩展性.Nginx最初仅仅主要被用于做反向代理,后来随着HTTP核心的成熟和各种HTTP扩展模块的丰富,Nginx越来越多被用来取代Apache而单独承担HTTP Server的责任,例如目前淘宝内

[转] Nginx模块开发入门

前言 Nginx是当前最流行的HTTP Server之一,根据W3Techs的统计,目前世界排名(根据Alexa)前100万的网站中,Nginx的占有率为6.8%.与Apache相比,Nginx在高并发情况下具有巨大的性能优势. Nginx属于典型的微内核设计,其内核非常简洁和优雅,同时具有非常高的可扩展性.Nginx最初仅仅主要被用于做反向代理,后来随着HTTP核 心的成熟和各种HTTP扩展模块的丰富,Nginx越来越多被用来取代Apache而单独承担HTTP Server的责任,例如目前淘宝

FW: Nginx模块开发入门

前言 Nginx是当前最流行的HTTP Server之一,根据W3Techs的统计,目前世界排名(根据Alexa)前100万的网站中,Nginx的占有率为6.8%.与Apache相比,Nginx在高并发情况下具有巨大的性能优势. Nginx属于典型的微内核设计,其内核非常简洁和优雅,同时具有非常高的可扩展性.Nginx最初仅仅主要被用于做反向代理,后来随着HTTP核心的成熟和各种HTTP扩展模块的丰富,Nginx越来越多被用来取代Apache而单独承担HTTP Server的责任,例如目前淘宝内

新书:Scala语言基础与开发实战

大数据科学丛书系列的最新一本<Scala语言基础与开发实战>即将面市,预计月底上架.内容还是不错的,文笔简介,内容实用,值得学.用. 大数据资深培训师王家林新作. 详细介绍大数据开发语言Scala及其在分布式框架Akka和Kafka中的应用. 秉承"实战"类图书特点,解析大量代码的编写操作,具有较强的可操作性,便于读者学习和理解. 算上再过几个月出版的<Spark内核解析及性能调优>,一年时间,大数据科学丛书系列之Spark的小套系基本形成了:从学习Spark的