|
深入模板应用:多语言篇 |
如何开发多语言网站?
这个问题对于很多程序员来说是既头疼又不好解决的问题。Ease Template 为程序员量身打造了多语言功能。只需在需要翻译的文字上定义标签即可记录在语言包中,就算一段很长的文字也能定义到语言包且不用担心语言包过大,因为Ease Template会自动将过大的语言包分成不同的小语言包,读取的时候会自动载入。默认语言包会写入当前程序目录下的language目录。没有写入权限的时候程序会放弃建立语言包。
注意:开发ET多语言功能时,考虑默认语言包与其他国家语言包冲突,所以强制用户必须拥有一个母板语言包,而且名称必须是language/default.php。否则您在增加了新的语言标签是不会自动增加的。
语言包结构讲解:例如下面“Ease Template 非常棒!”这段文字,记录在语言包中由注释语句、校验数据及翻译语句组成。
注释语句第一句为记录日期,第二行为原始语言文字,翻译人员可以对比来进行翻译。
/**2008.07.06
Ease Template 非常棒!
*/
$lang["7ec49c5eb48abf8293354daedb9e2820"] = "Ease Template 非常棒!";
翻译好数据如下:
/**2008.07.06
Ease Template 非常棒!
*/
$lang["7ec49c5eb48abf8293354daedb9e2820"] = "Ease Template Very Good!";
当语言包翻译完成后将名称修改为:en.php,这样就可以在两种语言之间切换。下面示例提供切换演示效果:
test_15.php
-
<?php
- include"./template.ease.php";
- //获得语言类型
- $lang = $_GET['lang'];
- if($lang=='en'){
- $lang = 'en';
- }else{
- $lang = 'default';
- }
- $tpl = new template(
- array(
- 'LangDir' =>'language' , //语言文件存放的目录
- 'Language' =>$lang , //语言的默认文件
- )
- );
- echo $tpl->lang('中国加油!');
- $tpl->set_file('test_15');
- $tpl->p();
- ?>
模板中载入了语言标签,下面提供两个切换语言的链接:
test_15.htm
-
{lang:Ease Template 非常棒!}
- <a href="test_15.php">Chiese</a> <a href="test_15.php?lang=en">English</a>
默认语言包,根据模板的语言产生的语言包与原始信息相同,请将此文件放入程序目录下的language目录中
default.php
-
<?
- /**
- /* SYSTN ET Language For default
- */
- /**2008.07.06
- 中国加油!
- */
- $lang["e0b19b05e5c28de806d92ef5991842e4"] = "中国加油!";
- /**2008.07.06
- Ease Template 非常棒!
- */
- $lang["7ec49c5eb48abf8293354daedb9e2820"] = "Ease Template 非常棒!";
下面的语言包为翻译后内容,请将此文件放入程序目录下的language目录中
en.php
-
<?
- /**
- /* SYSTN ET Language For default
- */
- /**2008.07.06
- 中国加油!
- */
- $lang["e0b19b05e5c28de806d92ef5991842e4"] = "Cheer up China!";
- /**2008.07.06
- Ease Template 非常棒!
- */
- $lang["7ec49c5eb48abf8293354daedb9e2820"] = "Ease Template Very Good!";
|
|