经过三个月断断续续的翻译,终于翻译好了Smarty的使用手册。
纯手工翻译,价格便宜量又足。地球人(以及火星人、前冥王星人)的最爱!
下载地址:在这里,在这里。
PHP中如何实现i18n?如果你和我一样,最近也在集中精力解决一个多语种的站点的建设问题,那么也许你已经在考虑这个问题的解决方法了,或者已经有了自己的解决方案。那么就来看看我的吧。
PHP手册中,有一个关于gettext函数的说明,是这样说的:
The gettext functions implement an NLS (Native Language Support) API which can be used to internationalize your PHP applications.
gettext函数实施了一个NLS(本地语言支持)API,可以用来国际化你的PHP应用。
今天测试了一下从MySQL中获得中文数据,发现需要进行一些处理才能在网页中完美显示中文(在PHPMYADMIN中插入、显示是正常的):
首先,当然是你的MySQL数据库是基于UTF-8建立的。 然后是在PHP中的常规连接:
$hostname_test = localhost;
$database_test = test;
$username_test = root;
$password_test = xxxxxx;
$test = mysql_pconnect($hostname_test, $username_test, $password_test) or trigger_error(mysql_error(),E_USER_ERROR);
$query=select * from chinese; mysql_select_db($database_test, $test);
**$xx=set names utf8; mysql_query($xx);**
$rs=mysql_query($query, $test);
while($row=mysql_fetch_object($rs))
{
echo $row->id.<br/>;
echo $row->desc.<br/>;
echo =====================
<br/>;
}
注意上面的黑体部分,这两行很关键。
再然后是在PHP文件中要指定字符集:
<head> <meta http-equiv=Content-Type content=text/html; charset=utf-8> </head>
注意,这里要写utf-8,而set names时要写utf8。
今天完成了一个类似Accordion的DEMO。
今天完成了所谓的Autocomplete,又称作Incremental Search的XAJAX实现。
还不是很完整,有一个地方还需要改进:可以使用键盘在各个选择项中来回移动,按回车选择,按ESC关闭弹出框等。
Demo地址在这里
昨天完成了一个新的XAJAX的DEMO,是一个类似digg.com样式的在线投票(“顶”或者“拍”)系统。
暂时没有考虑重新刷新页面后可以重新投票的问题,不过在实际应用中必须加以考虑的。
Demo 5: 在线“顶/拍”系统。
昨天完成了两个DEMO,都是关于级联下拉框的。应该说这个应用还是很多的,比如:先选择省、再选择市、然后可以继续选择区这样的结构。
实施本身没有什么太大的问题,但是在考虑IE/FF的兼容性时却遇到了一些问题。主要是出在如何将一个select下拉框中已有的option去掉上。IE和FF的代码是不一样的:
function clearOption(selectId)
{
var obj;
if(document.all) // IE implementation
{
obj=document.all[selectId];
var i;
for(i=0;i<obj.length else="" for="" i="" i--="" obj="document.getElementById(selectId);" obj.options.remove="" obj.remove="" return="" var="">
请注意粗体部分。</obj.length>
学习XAJAX第二天,有两点体会,和大家共享一下。
第一,关于addAssign中修改一个块属性的问题。
假定我有一段HTML代码如下:
<div id=div01 class=en-us>This line will be changed.</div>
通常我们想在程序中通过一个操作(通常是一个按钮或一个超级链接)来改变其外观,如文本内容、字体、颜色、大小等。如果你对CSS比较熟悉,可能会这样做:
前几天玩的是.NET + AJAX,而且还有.NET Ajax Control Toolkit,所以一下子体验了很多D’N’D编程的威力。
当然,也是有代价的,比如:对AJAX底层的实现就不会太关心;而且对控件的调整也会囿于MS的框架;因此,从某种程度上说,要真正的去体会.NET + AJAX,而特别是后者,必需深入到更底层的框架中去。 当然,我也很讨厌一下子就跳到最底层的,所以在网络上搜索了一下,发现在PHP下还是有一个AJAX框架的,那就是XAJAX。 用XAJAX开发还是相对简单的,不过有一点还是要注意。普通的PHP文件中,<?php和?>是可以出现在任意位置的,但是如果使用了XAJAX,那么以下这些代码必需出现在PHP文件的最开始: