huzhi

没有关于该用户的信息

首页: http://www.blags.org


由huzhi撰写的日志

php+gettext多多语言的探讨

Web程序中使用php-gettext做多语言的探讨
一直在开发LAP电子商城系统,很多国内客户做外贸生意,不仅需要中英文,还通常要翻译成德文;研究了下php-gettext做多语言方案。写出来和大家分享下。
1,php-gettext的安装
1.1 gettext扩展在php5.2默认是开启的。
1.2 如果没开启,windows用户印象中是在php.ini开启php_gettext.dll扩展。
1.3 ubuntu系统中安装扩展很方便。sudo apt-get install php-gettext
1.4 如果服务器(如centos)是自己编译安装的。如果编译的时候没有–with-gettext.需要phpize编译安装gettext
进入php源码包,如 cd /usr/local/src/php/ext/gettext
phpize //运行后此目录下多出了一些configure文件
make
make install
按提示。将生成的gettext.so文件写入到php.ini中。如 extension=gettext.so;
重启 /etc/init.d/apache restart
2,php-gettext的使用.以一个具体的例子说明
如果debian系列的linux用户,注意查看本地语言支持。 vim /usr/share/i18n/SUPPORTED
中文:zh_CN.UTF-8
英文:en_US.UTF-8
德文:de_DE.UTF-8
法文:fr_FR.UTF-8
如果没有,则相应的安装之。方法:sudo apt-get locale-gen zh_CN.UTF-8
在php程序中,可以使用gettext()来标记需要翻译的语言包,gettext()函数常用_()代替;
2.1 建立文件目录
mkdir gettext
cd gettext
touch Locale.php
touch test.php
//中文mo文件的地方.
mkdir -p Locale/zh_CN/LC_MESSAGES
//英文文mo文件的地方.
mkdir -p Locale/en_US/LC_MESSAGES
2.2 Locale.php文件代码
<?php
/**
* Dh_Locale 语言包类
*
* 系统语言包采用的是php-gettext模块.
* 如果模板使用的是smarty.使用了smarty-gettext插件.插件地址http://sourceforge.net/projects/smarty-gettext/
*  php-gettext的安装和使用(ubuntu平台下)
*  1 Installation of gettext package: sudo apt-get install php-gettext
*  2 Install locales: see all locales in the file vim /usr/share/i18n/SUPPORTED
* More >

centos+zendce+red5+ffmpeg安装配置

本文主要是讲叙在centos服务器下如何快速的搭建AMP环境和流媒体服务器。至于性能测试和调优暂不涉及。
首先假设服务器已经安装了centos系统。推荐一款小软件。nmon for linux 服务器系统监测工具: wget http://sourceforge.net/projects/nmon/files/download/nmon_mainframe_12a_v2.zip/download
第一步,AMP环境采用Zend server 社区班Zend CE。
1.首先你要在建立Zend CE的下载库路径
vi /etc/yum.repos.d/zend.repo
添加的内容如下:

View Code ZEND[Zend]
name=Zend CE $releasever – $basearch – Released Updates
baseurl=http://repos.zend.com/rpm/ce/$basearch/
enabled=1
gpgcheck=0
[Zendce-noarch]
name=Zend CE – noarch
baseurl=http://repos.zend.com/rpm/ce/noarch
enabled=1
gpgcheck=0

2.开始安装如果服务器没有安装svn则需
yum install svn
如果服务器svn版本比较老。可以先删除在从yum安装。
# rpm -qa | grep -i subversion
subversion-1.4.2-2.el5
subversion-1.4.2-2.el5
rpm -evf –allmatches subversion-1.4.2-2.el5
3.yum install zend-ce
yum clean all//清楚缓存
4.让linux自动加载zend库文件
vim /etc/profile
在最后面添加内容:
PATH=$PATH:/usr/local/zend/bin
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/zend/lib
保存退出
source /etc/profile   //生效
zendtpl.sh status //查看Zend server运行状态
zendtpl.sh start  //apache start
zendtpl.sh stop
zendtpl.sh restart  等同于 /etc/init.d/httpd restart 和 service More >

gvim的配置和使用

     我旁边的同事以前隔一个星期就会换一个编辑器,eclipe、zendstudio5.5、6.0、7.0、Aphta、ultredit、netbeans等,几乎所有主流的IDE都使用过了。最终常用的还是gvim。做程序这行,每天看代码、写代码,没有一个快速、方便、强大的编辑器是很头疼的;程序界中流传这样一个说法,编辑器分三种,一个Vim,一个emacs,一个是其他所有的IDE;至于是否是公论,仁者见仁,智者见智,关键是要适合自己。不过,Vim和emacs的确是很优秀的编辑器了;两者之间的战争从来就没有停息过;我记得一个笑话vim说使用emacs恨不得给计算机安装两个脚踏板,一脚踏ctrl,一脚踏alt;呵呵,这只是笑话,因为你在vim里,使用esc或者ctrl+c进入命令模式,按i,a退回编辑模式。而emacs是没有这样的模式的。但emacs更像一个操作系统,可以收发邮件、听歌、读新闻,有人几乎就是login->emacs->logout;当然,对于这些争论,比如还有windows vs linux ,gnome vs kde等争论,可以当一下茶余饭后的谈资即可,不必去争论什么,毕竟适合自己的才是最好的。
     我去年也是老换编辑器,今年一直是使用gvim。gvim是vim的图形界面。不得不承认,相比其他的IDE,vim的入门不是很容易。 但资源占用少,速度快,而且需要什么,自己动手配置,这恰是vim的优点,又是缺点。下面是我的gvim的配置文件。至于怎样入门,常用命令找些资料,花点时间,细心学习是值得的。

View Code SHELL * "文件编码设置
* set fileencodings=ucs-bom,utf-8,gbk,default,latin
* "图形界面字体和颜色设置 字体为Monaco需安装,背景选择自带的morning, 看习惯了就好了
* if has("gui_running")
* set guifont=Monaco
* colorscheme morning
* endif
* "默认关闭菜单栏和工具条 More >

Ubuntu使用经验分享

      我对linux的使用是从ubuntu7.10开始,那时候我对windows也很不熟。既然学习编程,恰好是LAMP,我想,反正都不熟,学个人少的。这期间一直从8.04,8.10,9.04,9.10到最近的10.04。
这款与天下人共享的操作系统,我的确是喜欢上了。对这款系统赞不绝口的人不是少数。尤其有趣的是一个叫袁萌的老头,各大IT网站都会转载他的博文,开口闭口必谈Ubuntu,而且行文常用括号解释,生怕人不懂。
      呵呵,这老头,70来岁,如此痴迷ubuntu,真是可爱。桌面系统使用ubuntu的确不错,虽然易用,游戏方面不如windows,然开放分享的精神可嘉。而且,做LAMP这行,不用LINUX,说不过去。
      上次我问金浩,你们金山的linux服务器是什么版本。他答ubuntu server 8.04 。呵呵,我还真不信,毕竟大多数都用 centos(和redhat一样,更自由,支持yum);我说为什么选择它,他答,简单,就那么几条命令。维基百科也是采用ubuntu8.04。最近从9.10直接更新到了10.04,出现了一点小问题。主要是显示亮度和Flash乱码.比起以往繁琐的配置,这次安装没有什么配置了。积累了一些使用经验,上次老师要我写一份ubuntu文档,一直没有写,这次补上,和大家分享。

源列表:我是电信用户,一直用163的源,还不错。
查看cpu温度,同事笑我用笔记本,是对着CPU,内存用的,此话不假,我常输入top看看哪些东西占用资源。cpu温度很重要。
sudo apt-get install lm-sensors
sudo sensors-detect
查看: sensors
9.10中提供palimpset磁盘工具,我装完提示“one or more disks are failing” 我吓了一跳,心想磁盘坏了,提示有坏道。赶紧清理,呵呵,清理完重启就无法进入系统了。又重装了一次。10.04中这个问题没有了。 磁盘温度查看:
sudo apt-get install hddtemp
sudo hddtemp /dev/sda
安装硬件检测工具。ubuntu电源管理存在缺陷,这个Bug一直在官方Bug列表里,却没有重视。使用电源时候,Load_Cycle_Count每几分钟就增加了2次。开始时我也到处找解决办法,到后来发现这根本不重要,磁盘可以Load_Cycle_Count可以有60多万次。看看我使用半年的结果(2373):
sudo apt-get install smartmontools //安装
man smartctl //不懂的先问下男人,他会告诉你怎么做,养成习惯。不见得比gogole,baidu出来的差
sudo smartctl -a /dev/sda | grep Load_Cycle_Count
193 Load_Cycle_Count 0×0032 100 More >