帮助文档 > 二次开发 > 程序开发

多语言自定义

火鸟门户系统支持多语言一键切换,模板中所有显示文字的地方都已被多语言标签替换掉,比如:$lang['siteConfig'][0][0]


推荐繁体在线翻译网站:https://tool.lu/en_US/zhconvert/


多语言包配置文件路径:

/include/lang/zh-CN
/include/lang/en-US
...


每个文件夹代表一种语言,在文件夹下会有一个config.xml文件,这个文件是用来描述当前文件夹所代表的语言名称:

<?xml version="1.0" encoding="utf-8"?>
<root>
	<Data>
		<name><![CDATA[简体中文]]></name>
	</Data>
</root>

如果要创建新的语言包,将“简体中文”修改为目标语言即可;


每个文件夹下又会有:

shop.inc.php
siteConfig.inc.php
waimai.inc.php

从文件名就可以理解是可以为商城、系统、外卖等模块独立配置;


文档开头处:$lang['siteConfig'][0][0]  中的“siteConfig”所对应的就是这里所列出来的文件名;


拿siteConfig.inc.php举例,此文件是系统和会员相关的中文语言包,内容如下:

image.png


如果要在页面或者程序中使用“网站首页”,可以使用:$lang['siteConfig'][0][5]来调取;

如果要在页面或者程序中使用“立即注册”,可以使用:$lang['siteConfig'][1][4]来调取;


为了便于管理和使用,每个语言包被设计为了二维数组,当然,这个级别是没有限制的。

其中:

$lang:为固定变量名,不可以修改;

siteConfig:为文件名,可以根据实际情况使用shop、waimai等;

第一位数字是当前要使用文字的上面双斜线后面的数字;  比如:要使用“会员首页”,这个文字上面双斜线后面的数字是0,那这里就填写0;

第二位数字是当前要使用文字的箭头左边的数字;比如:要使用“手机注册”,这个文字箭头左边的数字是2,那这里就填写2;


如果语言包中没有要使用的文字,可以根据当前格式自由增加,数字不要重复就可以,一个语言包添加完成后,也要同步其他语言包,如果不需要其他语言,这一步可以省略;



举例说明分别在程序、页面、脚本中如何使用:


php

<?php

    //系统核心配置文件
    require_once(dirname(__FILE__).'/include/common.inc.php');
    
    global $langData;
    echo $langData['siteConfig'][0][0];  //首页
    
?>


html

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title>DEMO</title>
    </head>
    <body>
    
        {#$langData['siteConfig'][0][0]#}  <!--首页-->
    
    </body>
</html>


js

首先需要引入多语言库:

...
<script type='text/javascript' src='{#$cfg_basehost#}/include/json.php?action=lang'></script>
...

然后在脚本中需要直接使用:

...
alert(langData['siteConfig'][0][0]);  //首页
...