google loader ClientLocation and PHP Code

这几天一直在捣鼓wordpres,想弄一份关于自动识辨用户的一些语言环境以切换themes的语言包.

在做测试时,参考了部分优秀的开源themes,但大多数并不支持多语言的切换的.

只找到一份K2的风格,里面带有这方面的功能.

wordpress中,取得语言包的函数为 load_theme_textdomain(),其语言的定义取决于wp-config.phpWP-LANG的定义.也就是说,是由博主手动指定的,默认为en_US.

而我想实现的是判断目标用户的环境,自动匹配语言包.其实我只想实现zh_cn和en_US两种语言的自动匹配.呵呵~

用PHP代码,网上有很多,我也稀里糊涂地查阅了一些.

ThinkPHP中,其实已经有一段很好的代码了.

preg_match('/^([a-z-]+)/i', $_SERVER['HTTP_ACCEPT_LANGUAGE'], $matches);
$langSet = $matches[1];

但这仍有不足的地方,搜索到的一些网站上也有提及到,就是用户可以手动改变这个值!
其实这不违背我的要求,依目标用户的喜好,提供友好的语言环境,这正是交互页面所追求的~

只是我在IE,FF,Chrome这三个浏览器下,分别测试,结果却有所不同.FF和Chrome都能正常提取到我所处的环境,但IE却始终是en_US.

这让我很苦恼,我不知道这是什么原因.哎,所以得想办法完善一下.
在我的测试页面里,我一直使用的是google Ajax api;
今天无意去查看了一下这个api的源文件.很意外地发现,google已经在这个文件里将用户的一些环境信息列举了出来,比如用户所在的经度,纬度,所在的国家,省份,城市以及所在国家的语种,这不是一般的兴奋…

随后我做了个测试页面

<script src="http://www.google.com/jsapi"></script>
<script>
var obj = google.loader.ClientLocation.address;
var text = '';
for (var key in obj  )
{
   text += key +':'+obj[key]+'n';
}
alert(text);
</script>

让不同地方的朋友打开测试,呵呵.能很准确标示出他们所在的地理位置;

这让我小激动了一下.呵呵~随后上google搜索google.loader.ClientLocation,找到了这篇靠前的文章:google.loader.ClientLocation,这篇日志发布于2008-10-8日,呵呵~而我今天才发现…后知后觉啊~~

看来还是得好好看看GG的相关文档的.

现在给我的问题是,有了这些客户端资料,如何能让服务器端知晓并能第一时间作出处理呢?
网上也搜索了些有关JS和PHP参数传递的问题,呵呵,有提到用cookie,也有提到用

<img src="img.php?args=..." />

的方法.

可是我觉得不管用哪种方法,都不能在用户第一次访问时就作出判断并选择正确的语言包~条件是不刷新不跳转!
该如何处理?…你知道吗?
看来只能通过交互提示的方式实现了~再研究研究去!呵呵~

七款精美页面样式切换元素

总喜欢在夜深人静的时候,游走于全世界各优秀网站之间,以期许能够获取一些有助于做出一份属于自己风格的元素;

今天很走运,呵呵!在smashingmagazine看到了一篇有关样式切换元素设计的竞赛结果展示(Style Switchers Contest Results);其中有很多很多优秀的设计与创意,在大饱眼福之后挑了几款我最最喜欢的. Continue reading 七款精美页面样式切换元素

WP插件:Best Slugs

不知道大家有没有接触过google code

其中有个language产品,是用来ajax返回翻译结果的(结果可以是你指定的其范围内的任一语种);呵呵,在做了些简单的测试后,发现其利用价值还是很高的。尽管其翻译的结果还不算太尽如人意,但对于我这个英语平庸的人来讲,如获至宝一样。
Continue reading WP插件:Best Slugs

WordPress扩展变量输出函数:dump()

今天在弄$permalink(永久链接)的相关插件时,不明白add_filter(‘name_save_pre’, ‘your_function’, 1)的含义.

add_filter的作用是向$wp_filter这个全局变量添加一个新的Hooks.以便在向数据库输入及用户屏幕输出时,执行自定义函数. Continue reading WordPress扩展变量输出函数:dump()

WP中文标题转换英文或拼音的插件比较

WP中文标题转换英文或拼音的插件比较

通常情况下,如果你发布一篇文章,标题是中文,WordPress会自动产生一个类似”**%96%87%e6%8b%bc%e9%9f%b3** ”的缩略名,往往名字是很长,而且看上去没有什么含义的。一方面不好看,另一方面不方便记录、流通。

现在我见到的两个插件是月光博客的Chinese PinYin Slug 和我爱偶家的slug from title ,下边具体介绍下。 Continue reading WP中文标题转换英文或拼音的插件比较