Archives

Archive for September, 2008

由于某些原因,我需要在 WP 插件页面自定义 Locale,使插件的页面能够以用户选择的语言呈现,并且不影响 WordPress 的整体 Locale。

我们知道插件通过 API load_plugin_textdomain() 载入 Gettext mo 文件实现国际化,那么我们只要在载入 mo 之前 hook WordPress Locale 不就可以了?

粗略看了一下源码,发现其实很简单,WP 的 Locale 保存在全局变量 $locale 中,那么劫持它就好了。

以下是 fanfou-tools 的部分实现代码,非常简单:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
// {{{ fanfou_init
 
/**
 * fanfou_init
 *
 * @access public
 * @return void
 */
function fanfou_init() {
    global $wpdb, $fanfou;
    $wpdb->fanfou = $wpdb->prefix . 'fanfou';
    if (isset($_GET['activate']) and $_GET['activate'] == 'true') {
        $fanfou->install_table();
        $fanfou->install_options();
    }
    $fanfou->get_settings();
 
    if (($fanfou->last_download + $fanfou->download_interval) < time()) {
        add_action('shutdown', 'fanfou_update_posts');
    }
 
    if (is_admin()) {
        wp_enqueue_script('prototype');
    }
 
    // Using our own locale
    $custom_locale = get_option('fanfou_locale');
    if (!$custom_locale or $custom_locale == 'default') {
        $custom_locale = WPLANG;
    }
    $GLOBALS['locale'] = $custom_locale;
    load_plugin_textdomain('fanfou-tools', 'wp-content/plugins/fanfou-tools');
}
add_action('init', 'fanfou_init');
 
// }}}
Comments Off on WordPress 的插件语言
Sep 8th, 2008 | Filed under PHP, WordPress

换上了新的模板 Devart,由设计师deniartru制作,它采用了DeviantART的设计风格,如果喜欢这款模板,可以再 DeviantART 上下载。

http://deniartru.deviantart.com

Sep 7th, 2008 | Filed under WordPress

Ubuntu 下的播放器有很多,系统默认的是 Totem,而貌似更多人都喜欢 mplayer。

首先可以卸载 Totem,如果你不喜欢系统中同时存在两个播放器的话,这一步可以使用 apt 或者 synaptic 轻松搞定。

安装 mplayer:

sudo apt-get install mplayer mplayer-fonts mplayer-skin mozilla-mplayer

然后登录 mplayer 官方网站,进入下载页面: http://www.mplayerhq.hu/design7/dload.html
下载解码器(Binary Codec Packages),由于我是安装的 64 位系统,所以选择了 64 位解码器(Linux AMD64 20071007)。
解压后,释放到 /usr/lib/codecs 目录中,指令如下:

sudo mkdir /usr/lib/codecs
tar jxvf essential-amd64-20071007.tar.bz2
sudo cp essential-amd64-20071007/* /usr/lib/codecs

做完这两步以后,mplayer 应该就可以正常播放 rmvb 文件了,但是打开 rmvb 文件后,我得到了如下的错误:

[VO_XV] It seems there is no Xvideo support for your video card available.
[VO_XV] Run 'xvinfo' to verify its Xv support and read
[VO_XV] DOCS/HTML/en/video.html#xv!
[VO_XV] See 'mplayer -vo help' for other (non-xv) video out drivers.
[VO_XV] Try -vo x11.
Error opening/initializing the selected video_out (-vo) device.

使用 gedit 或者 vim 打开配置文件,修改一下视频驱动:

sudo vim /etc/mplayer/mplayer.conf

将 vo=xv 修改为 vo=x11,保存退出。
然后启动 mplayer 后,打开 Preference -> Video,选择 X11 (XImage/Shm),保存,重启 mplayer。

OK,这样不论是 Terminal 中命令行启动,还是 File Browser 中双击 rmvb 文件,都可以正常播放 rmvb 了。

其它一些设置可以参考 http://wiki.ubuntu.org.cn

Comments Off on 64位 Ubuntu 8.10 中使用 mplayer 播放 RMVB
Sep 4th, 2008 | Filed under Ubuntu
Tags: , ,