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 ......

可以简单的有两个for循环表示 九九乘法表,但是并不知道如何进行URL的设置.

for($a =1;$a<=9;$a++)

{

for($b =1;$b<=$a;$b++)

{$c =$a *$b;

echo "$a*$b=$c  ";

}

echo "

";

}

?> ......

1.global在整个页面起作用。

2.static只在function和class内起作用。

global和$GLOBALS使用基本相同,但在实际开发中大不相同。

global在函数产生一个指向函数外部变量的别名变量,而不是真正的函数外部变量,一但改变了别名变量的指向地址,就会发生一些意料不到情况,例如例子1.

$GLOBALS[]确确实实调用是外部的变量� ......

openpne开源SNS

用PHP模拟126邮箱的登陆过程来收取邮件:http://www.cnblogs.com/amboyna/archive/2009/04/29/1446487.html

php调用其他系统的接口整理:http://blog.chinaunix.net/u2/84280/showart_2065156.html

问题:我是想写一个网上给手机发短信的功能 调用了一个第三方的飞信接口

飞信接口PHP版 (免费发短信) v1. ......

在 PHP 编程早期,PHP 代码在本质上是限于面向过程的。过程代码 的特征在于使用过程构建应用程序块。过程通过允许过程之间的调用提供某种程度的重用。

但是,没有面向对象的语言构造,程序员仍然可以把 OO 特性引入到 PHP 代码中。这样做有点困难并且会使代码难于阅读,因为它是混合范例(含有伪 OO 设计的过程语言� ......

php国际化多语言,php 通过include方式实现国际化多语言(i18n)相关推荐

  1. c语言以只写方式打开二进制文件,C语言采用文本方式和二进制方式打开文件的区别分析...

    稍微了解C程序设计的人都知道,文本文件和二进制文件在计算机上面都是以0,1存储的,那么两者怎么还存在差别呢?对于编程人员来说,文本文件和二进制文件就是一个声明,指明了你应该以什么方式(文本方式/二进制 ...

  2. qt linux 国际化,多语言,配置CLion管理Qt项目国际化支持

    随着Qt 6的发布,cmake也正式宣告接管qmake的工作了. 在之前的一篇博客里我介绍了如何使用cmake管理你的qt项目,不过有一点我没有讲,那就是对国际化(i18n)的处理. 今天我们就来介绍 ...

  3. struts2 国际化 cookie保存语言, 下次访问时显示当前设置的语言

    最近在看struts2的国际化, i18n拦截器代码很简单, 具体是根据访问参数和session方式来控制语言, 其实每次都更改语言还是很麻烦的, 特别做了一个Cookie保存当前语言设置, 仅仅一个 ...

  4. 计算机语言phal语言,2.7 PhalApi 2.x 国际化

    i18n国际化 一直以来,在项目开发中,都是以硬编码方式返回中文文案或者提示信息的,如: $rs['msg'] = '用户不存在'; 这种写法在根本不需要考虑国际化翻译的项目中是没问题的,但当开发的项 ...

  5. C语言字符数组显示钻石,c++两种字符串赋值方式 并介绍 C语言下遍历目录文件的方式...

    c++字符串声明:一种是声明字符数组并赋值,另一种是直接声明string类 #define _CRT_SECURE_NO_WARNINGS #include #include #include &qu ...

  6. 【应用C】C语言实现基于中断方式的旋转编码器方向识别(编码器有空闲状态)

    文章目录 01 - 编码器旋转波形 02 - 编程思路 03 - 源代码   编码器类型是有空闲状态,当没有旋转的时候,AB相都为高电平,而且当旋转旋钮后无动作,AB相会恢复到高电平,所以方向的一个方 ...

  7. C语言的4种方式实现空格转换为%20

    C语言的4种方式实现空格转换为%20 下面介绍C语言将空格的转换为%20的四种方法 方法一 介绍: //在 C 语言标准(C89)没有定义布尔类型,所以 C 语言判断真假时以 0 为假,非 0 为真. ...

  8. C语言文件——字符串的方式读出与写入

    C语言文件--字符串的方式读出与写入 conclusion: the steps of wirte into file process 1.定义文件路径和文件操作 2.定义文件指针以及存储变量 3.打 ...

  9. C语言的数组定义方式

    C语言的数组定义方式 c语言数组定义方式 1.一维数组 2.一维数组初始化 3.一维数组元素的引用 数组是存储数据的结构.由于单个变量所能存储的数据很有限,所以有了数组存储结构.不仅如此,数组和指针是 ...

最新文章

  1. 用这种方法实现无监督端到端图像分类!(附论文)
  2. python 网络聊天服务端
  3. maven不能加载ojdbc6.jar的解决方法
  4. html css 极简模板,极简主义作品展示HTML模板
  5. java基础之集合类
  6. 离散数学序关系与相容关系
  7. Linux tcpdump命令用法详解
  8. 使用c#创建php可以调用的dll
  9. axis1.4 java.sql_web Service问题。。。用axis1.4求帮助
  10. java 访问权限控制
  11. Atitit. 获取cpu占有率的 java c# .net php node.js的实现
  12. 自建gitHub的webhook消息通知设计思路及成功验证结果
  13. shotcut视频压缩
  14. 清理 Chrome DNS Cache
  15. 快速排序的时间复杂度和空间复杂度
  16. iqooneo3 如何不用vivo账号下载外部应用_VIVO市场ASO实战详解
  17. 3D全景+展馆,带来不一样的参观体验_华锐互动
  18. 短视频三要素之封面,如何设计引人关注的封面呢?
  19. 将png格式的图像转换为jpg
  20. 【Stanford Online】Engineering: Algorithms1 NO.2 Asymptotic analysis

热门文章

  1. selenum登录网页版有道词典
  2. 信捷PLC动态分期付款程序,动态解锁安全性高,无限期锁机直到 终极解锁
  3. 科技行者公布人工智能2017年度评选: 10大AI事件、50家AI概念股、61位AI人物
  4. PPNP和APPNP
  5. 漫谈手机多媒体的杀手级应用
  6. 阅读(1)-----六级
  7. 三国杀服务器维护中,三国杀(新区)—【三国杀】更新维护
  8. DBA数据库管理员要求
  9. 免费版Typora的使用
  10. js移动端调试控制台_移动端js调试工具:eruda