php 通过include方式实现国际化多语言(i18n)
include实现国际化
将index.php进行翻译:
Index内容
1. Index
2. About us
我们可以将index.php设置为一个翻译模版,所有出现字符的地方,都定义为变量,如1,2部分设置为翻译的变量$menu_index, $menu_aboutus.
多种语言就有多种语言包,可以做成配置文件,比如en.inc.php cn.inc.php 等等
内容如下:
cn.inc.php
$menu_index='首页';
$menu_aboutus='关于我们';
en.inc.php
$menu_index='index';
$menu_about_us='about_us';
那么index.php根据参数的不同进行include不同的语言包,就翻译成相应的语言。
include方式 与 gettext() 比较
Gettext 优点:
Gettext()是实现i18n国际化,由于现在i18n越来越趋于国际化标准,得到广泛的支持,
缺点:
1.Php6版本之前还未完全的支持unicode,所以只支持常用的部分语言。
2.对已经存在的mo语言包文件进行了修改,得重启apache。
include方式 优点:
国际化实现简单,能支持所有语言。
缺点:
对要进行翻译的页面进行变量格式化,也就是做成一个翻译模版。比较繁杂。
php gettext方式实现UTF-8国际化多语言(i18n):
http://blog.csdn.net/wangking717/archive/2009/10/28/4739465.aspx
相关文档:
普通PHP程序员笔试题
1. 用PHP打印出前一天的时间,打印格式是2007年5月10日 22:21:21
2. PHP代码如下:
$a="hello";
$b=&$a;
unset($b);
$b="world";
echo $a;
其结果是?
3. PHP代码如下:
$str="cd";
$$str="landog";
$$st ......
可用于php的计数器和表单的提交,防止反复刷新。
复制代码
<?php
session_start();
$allow_sep = "30000";
if (isset($_SESSION["post_sep"]))
{
if (time() - $_SESSION["post_sep"] < $allow_sep)
{
exit("请不要反复刷新");
}
else
{
$_SESSION["post_sep"] = time();
}
}
e ......
1、mysql_connect()-建立数据库连接 {3RY4HVT?
格式: Fv n:V\eb
resource mysql_connect([string hostname [:port] [:/path/to/socket] [, string username] [, string password]]) _I;+p eq
例: 1(V>8}zn
$conn = @mysql_connect("localhost", "username", "password") or dir(" ......
可以简单的有两个for循环表示 九九乘法表,但是并不知道如何进行URL的设置.
<?php
for($a =1;$a<=9;$a++)
{
for($b =1;$b<=$a;$b++)
{$c =$a *$b;
echo "$a*$b=$c ";
}
echo "<p>";
}
?> ......