易截截图软件、单文件、免安装、纯绿色、仅160KB

PHP通过gettext实现多语言国际化支持

之前PHP实现多语言国际化,大部分都会采用把语言直接提出来作为数组来调用,例如比较有名phpMyadmin,discuz等知名开源系统,不过,这里介绍如何通过gettext,即用资源文件来实现。典型的CMS案例-wordpress也是通过它实现的语言国际化,下面来说下php中如何来利用配置文件实现国际化的。
首先介绍下.MO文件,在PHP中是利用.MO文件来做语言包实现的:
PO 是 Portable Object (可移植对象)的缩写形式;
MO 是 Machine Object (机器对象) 的缩写形式。
PO 文件是面向翻译人员的、提取于源代码的一种资源文件。当软件升级的时候,通过使用 gettext 软件包处理 PO 文件,可以在一定程度上使翻译成果得以继承,减轻翻译人员的负担。MO 文件是面向计算机的、由 PO 文件通过 gettext 软件包编译而成的二进制文件。程序通过读取 MO 文件使自身的界面转换成用户使用的语言。
通常人们写程序时都是将文字写死在程序里的,比如:echo “Hello World!”; ,假如要改成它国语言,写国际化程序,就要逐个打开进行修改,程序较短时还行,若程序有上万甚至更多,改起来就不是那么容易了。近来随着 i18n(internationalization的缩写,开头字母i和结尾字母n的中间一共18个字符,由此得来的缩写)的逐渐标准化,我也来讲一讲在PHP中如何实现国际化支持,跟其他程序语言一样,在 PHP 也可以利用 gettext 套件写作 i18n 程序,实现 NLS(Native Language Support) 国际化支持。
具体配置步骤如下:
一、安装设置gettext套件:
1) 类UNIX系统:
1、从 http://www.gnu.org/software/gettext/gettext.html 下载 gettext package,进行安装
2、编译PHP的时候加上“–with-gettext[=DIR]”,其中DIR为gettext安装的目录,缺省为:/usr/local
3、保存,然后 restart server。  
2) WIN32系统:在php中配置服务器支持gettext
1、打开php.ini档,查找extension=php_gettext.dll,去掉前面的“;”,xampp已经开启
2、保存,然后restart server。
重启web服务器(apache 或IIS )即可生效,在浏览phpinfo(); 信息时候,出现“gettext” 的字样就表明配置成功。
二 下载生成.mo文件的软件
php配置成功后,需要下载一个生成.mo文件的软件,点击http://jaist.dl.sourceforge.net/project/gettext/gettext-win32/0.12/gettext-tools-0.12.bin.woe32.zip即可下载,解压后就可使用,在下载目录的bin/文件夹下 有各个命令的可执行


相关文档:

为PHP安装Xdebug调试工具

一、zend studio的配置
1.到zend的安装目录下删除两个文件(可有可无.至少我不删除也不移动可以)
   我的安装目录:D:\Program Files\Zend\Zend Studio - 7.0.2\plugins\
   删除的文件是:com.zend.php.debug.core_7.0.0.v20090607-1658.jar
        &nbs ......

将PHP代码转换到Scala代码

有一个开源项目提供将PHP代码转换成Scala代码的功能,该项目的网站是 http://code.google.com/p/php-to-scala-migration-helper/。
In short, php-to-scala converts PHP code to clean, maintainable Scala source code. To cut to the chase, see ConversionExamples, or the feature-by-feature DesignD ......

PHP缓存技术介绍!


a:
为什么要使用缓存技术?理由很简单:提高效率。在程序开发中,获取信息的方式主要是查询数据库,除此以外,也可能是通过Web Services或者别的某种方法,无论哪种方法,在大量的并发访问面前,它们都可能成为效率的瓶颈,为了解决这些问题,人们提出了很多解决方案,其中一 些是利用优化软件(如:APC,Eaccelerator, ......

PHP发送Email 类


 经测试  没有问题
<?
class smtp
{
/* Public Variables */
var $smtp_port;
var $time_out;
var $host_name;
var $log_file;
var $relay_host;
var $debug;
var $auth;
var $user;
var $pass;
/* Private Variables */
var $sock;
/* Constractor */
function smtp($relay_host = " ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号