2010-01 Flickr@eyes

没有评论 2010年1月23日

every riven thing
every riven thing
http://www.flickr.com/photos/safetylast/4268311087/

a woman’s red shoes. aka ’sit still for me stranger’.
a woman's red shoes. aka 'sit still for me stranger'.
http://www.flickr.com/photos/jonnytaise/4268987112/

Winterland
Winterland
http://www.flickr.com/photos/luislx/4269646261/

on Flickr – Photo Sharing!
 on Flickr - Photo Sharing!
http://www.flickr.com/photos/leightphotography/4269195391/

The Beach
The Beach
http://www.flickr.com/photos/darwishh/4263505103/

Go ahead…Git It Belly
Go ahead...Git It Belly
http://www.flickr.com/photos/brucelemons/4270797988/

cozy
cozy
http://www.flickr.com/photos/dejona/4269230512/

on Flickr – Photo Sharing!
 on Flickr - Photo Sharing!
http://www.flickr.com/photos/micaelamurero/4269950928/

wintery reds
wintery reds
http://www.flickr.com/photos/ekristina/4268921380/

11 Jan 10
11 Jan 10
http://www.flickr.com/photos/safariphotogirl23/4269247803/

Captive of those thoughts >Captive of those thoughts
http://www.flickr.com/photos/cereal-killer72/4270415227/

softly
softly
http://www.flickr.com/photos/charlaneg/4270783568/

ISL22_06
ISL22_06
http://www.flickr.com/photos/tkjaer/4269265935/

I’m so cute, I pinch my own cheeks! :-)
I'm so cute, I pinch my own cheeks! :-)
http://www.flickr.com/photos/zstheday/4270569270/

on Flickr – Photo Sharing!
 on Flickr - Photo Sharing!
http://www.flickr.com/photos/thewhiteelephant/4270009259/

Metropolis
Metropolis
http://www.flickr.com/photos/ender079/4253446597/

2 | 52 weeks
2 | 52 weeks
http://www.flickr.com/photos/11832768@N04/4258298860/

green tree
green tree
http://www.flickr.com/photos/tylerdingman/4253072140/

to let go
to let go
http://www.flickr.com/photos/chiie/4251911554/

in her world
in her world
http://www.flickr.com/photos/pacifictheme/4254984547/in/set-72157622422641283/

Hummingbird, the magificient
Hummingbird, the magificient
http://www.flickr.com/photos/michelroy/4263181476/

Sunset from the Porch
Sunset from the Porch
http://www.flickr.com/photos/pathdoc/4262815838/

Chain Locker
Chain Locker
http://www.flickr.com/photos/atoach/4290796506/

falling down
falling down
http://www.flickr.com/photos/ashleyrosex/4291443108/

Lake Crescent
Lake Crescent
http://www.flickr.com/photos/beingmichael/4263766484/

don’t leave me [Commuters]
don't leave me [Commuters]
http://www.flickr.com/photos/luca_napoli/4257594926/

backyard cardinal
backyard cardinal
http://www.flickr.com/photos/vernman/4251352463/

well
well
http://www.flickr.com/photos/ccken/4280824880/

14/365
14/365
http://www.flickr.com/photos/margbarks/4273508509/

i am coming
i am coming
http://www.flickr.com/photos/24789570@N03/4266808096/

Any man can be a father. It takes someone special to be a dad.
Any man can be a father. It takes someone special to be a dad.
http://www.flickr.com/photos/aspidistra/4281666213/

解决mplayer中文字幕显示乱码与ibus不能输入中文

没有评论 2009年12月30日

解决mplayer中文字幕显示乱码

忘记啥时候开始,我的mplayer显示中文字幕是乱码,其实也不完全叫做乱码就是所有字幕只显示一根横线偶尔能显示正确的数字,而我的mplayer的配置文件很久都没改动过了,配置文件的内容也是这种网上能找到的:
在mplayer得gui界面点击右键打开配置,字幕选项卡下设置Encoding为cp936;在字体选项卡下设置中文字体,并使用Encoding为Unicode。
当上面的方法无效时,请输入

locale

查看下LC_CTYPE是否为zh_CN.*,如果不是请打开”/etc/environment”,修改或添加

LC_CTYPE="zh_CN.UTF-8"

我也是在前段时间更换系统字体的时候,发现很多字体在全英文界面下表现很不错,这时我才反应过来,我使用的英文操作系统,虽然有中文语言包,但是locale的设置应该全是en_US.UTF-8,估计是LC_CTYPE的原因造成的,于是在/etc/environment里加了一段LC_CTYPE=”zh_CN.UTF-8″便解决中文字幕乱码(其实该说是横码)问题。

解决ibus不能输入中文

同时得以解决的是ibus拼音输入法有时不能输入中文的问题。之前ibus拼音输入法动不动就会“失灵”,没法输入中文,状态条直接消失不见。
我估计的原因是,ibus只是一个输入法框架,它会为各种语言输入提供一个基础,其中包括英文,所以LC_CTYPE为en_US.UTF-8的时候能启动ibus,但是在具体负责中文输入的还是ibus-pinyin这个模块,就是说最后中文输入法还是得和LC_CTYPE挂上勾,还是要设置为zh_CN.*。

2009-12 Flickr@eyes

没有评论 2009年12月29日

Sun & Snow . . .
Sun & Snow . . .
http://www.flickr.com/photos/57979744@N00/4196003713/

Oneonta Gorge
Oneonta Gorge
http://www.flickr.com/photos/zebandrews/4168937201/

Snow Angel
Snow Angel
http://www.flickr.com/photos/jeffbalke/4167352897/

160/365 – bench monday – kiss me!
160/365 - bench monday - kiss me!
http://www.flickr.com/photos/xantheberkeley/4165767627/

He held it on his own…
He held it on his own...
http://www.flickr.com/photos/39651037@N08/4162835908/

K20D3504
K20D3504
http://www.flickr.com/photos/bob_west/4166213898/

go to heaven
go to heaven
http://www.flickr.com/photos/11280154@N06/4165819713/

baby, it’s cold outside. (EXPLORE!)
baby, it's cold outside. (EXPLORE!)
http://www.flickr.com/photos/iamlowercasepeople/4195689927/

magic window light
magic window light
http://www.flickr.com/photos/chiie/4168650587/

An innocent kiss?
An innocent kiss?
http://www.flickr.com/photos/saruworld/4164399691/

The secret is revealed
The secret is revealed
http://www.flickr.com/photos/reelgeek/4202888742/

secret number twenty six
secret number twenty six
http://www.flickr.com/photos/glenncoco-vc/4204798966/

漫步
漫步
http://www.flickr.com/photos/whiteeyeboy/4202346919/

robin
robin
http://www.flickr.com/photos/meshl/4164426594/

First Snow.
First Snow.
http://www.flickr.com/photos/laumichelle/4164156013/

Panal
Panal
http://www.flickr.com/photos/sinpire/4174701329/

canvas
canvas
http://www.flickr.com/photos/rebeccanathan/4191944925/

low-light meal
low-light meal
http://www.flickr.com/photos/abenedetti/4203714358/

focus
focus
http://www.flickr.com/photos/halomymiddle/4192808047/


...
http://www.flickr.com/photos/michaelchandler/4220160639/

looking down
looking down
http://www.flickr.com/photos/benbenbenbenben/4210571957/

اللي جابك هو حبي …؟
اللي جابك هو حبي ...؟
http://www.flickr.com/photos/soso_sosale/4169074231/

La solución
La solución
http://www.flickr.com/photos/miabuelanoloentiende/4203302335/

.wish.
.wish.
http://www.flickr.com/photos/blusuncarrie/4193693956/

breana rich
breana rich
http://www.flickr.com/photos/tmccutchan/4164676658/

wrodpress代码高显亮插件SyntaxHighlighter Evolved

没有评论 2009年12月22日

wordpress的代码高显亮插件Google一下便会发现很多相关的介绍。在这里推荐SyntaxHighlighter Evolved这个我认为wordpress下最好的代码高显亮插件。

SyntaxHighlighter Evolved

SyntaxHighlighter Evolved其前身是Google Syntax Highlighter for WordPress,也就是SyntaxHighlighter 1.5,这是很多使用wordpress的人在推荐的一款代码高显亮插件。而现在的SyntaxHighlighter Evolved可以说是其后续版本,在Google Syntax Highlighter for WordPress的页面上可以看见2.0版本的网址直接指向了SyntaxHighlighter Evolved的官方网站。

为什么推荐SyntaxHighlighter Evolved

  • SyntaxHighlighter Evolved是Google Syntax Highlighter for WordPress的2.0版本
  • SyntaxHighlighter Evolved支持更多的程序语言,现在支持的程序语言有20种,包括很少有插件支持的Bash/shell
  • SyntaxHighlighter Evolved支持高显亮配色主题。根据不同的blog主题,可以选择6种主题显示方案
  • SyntaxHighlighter Evolved使用更为简单和方便

安装SyntaxHighlighter Evolved

插件地址 http://wordpress.org/extend/plugins/syntaxhighlighter/
安装方式和其他的wordpress插件一样,可以从wordpress的插件管理器里安装也可以自行下载并解压到wordpress所在目录。

SyntaxHighlighter Evolved的使用方法

使用方法很简单,在其配置说明里也有简单的因为介绍。
最简单的使用格式

[程序语言]代码内容[/程序语言]

以php的代码为例,在编辑框里输入以下内容

[php]
<?php
/*
*SyntaxHighlighter Evolved使用例子
*/

echo "SyntaxHighlighter Evolved";

?>
[/php]

其在网页上的显示结果如下

<?php
/*
*SyntaxHighlighter Evolved使用例子
*/

echo "SyntaxHighlighter Evolved";

?>

关于SyntaxHighlighter Evolved的具体配置及其参数你可以在其配置页面里查看或者访问其官方网站

为gtk程序实现国际化和本地化

1条评论 2009年12月22日

这是一个学习笔记,内容是在Linux系统下以一个简单的gtk程序为基础,为其添加对i18n和l10n的支持。从而了解怎么实现gtk程序的国际化和本地化。

基本的概念

  • 什么是i18n,i18n是internationalization的简称,指程序能提供不同语言显示的国际化支持。
  • 什么是l10n,l10n是localization的简称,指程序的能拥有某一特定语言支持的本地化。

更多的信息可以自行google或者参看一下这里 http://www.linuxforum.net/doc/i18n-new.html

  • 基本原则:标记代码中用户在程序使用过程可见的字符串。
  • 基本原理:整个过程是代码中使用 _()和N_()的方式来标记你需要翻译的字符串(即用户在使用过程可见的字符串),提取并翻译这些字符串后,将其单独格式化,存放到语言文件夹。

国际化

  1. 首先寻找你要翻译的字符串
  2. 然后gettext()函数将需要翻译的字符串进行标记
  3. 进行编译

本地化

  1. 提取被比较的字符串
  2. 进行翻译
  3. 格式化
  4. 将文件存放到本地文件夹

国际化具体过程

我们先来看看gtk程序的国际化。
首先是在需要提供国际化的程序代码里增加一些我们将要用到的库和申明。

//要包含一个头文件。
#include    <glib/gi18n.h>    //versions 2.4及更高版本使用

//同时需要一些基本的申明。
#define  GETTEXT_PACKAGE    "Hello_I18n" // 可以换成你需要的名字
#define  LOCALEDIR    "mo"        //定义本地语言文件存放路径

//以及对gettext()进行初始化
bindtextdomain(GETTEXT_PACKAGE, LOCALEDIR);
bind_textdomain_codeset(GETTEXT_PACKAGE, "UTF-8");
textdomain(GETTEXT_PACKAGE);

现在可以对我们代码中需要翻译的字符串进行标记了。
例:
原代码如下

gtk_window_set_title(GTK_WINDOW(window),  "Hello I18n!");

需要标记的字符串为“Hello I18n!”,上面的语句说明了在程序的标题栏里要显示的字符串为“Hello I18n!”,那么需要将上面的语句改为下面这样:

gtk_window_set_title(GTK_WINDOW(window),  _("Hello I18n!"));

但是如果我们要对静态字符串进行标记的话,就要使用另一种方式N_().
例:

const char *warning = "The alien is behind you! \n";

我们需要将其改为:

const char *warning = N_("The alien is behind you! \n");

就这样我们完成了程序的国际化,你可以编译你的程序。

本地化具体过程

而做完国际化后,我们需要做的是本地化。
在终端下面通过xgettext命令,我们可以将我们代码test.c中标记的字符串提取出来并保存在test.po里:

xgettext -a -o test.po test.c

我们打开test.po可以看见一些信息
例如:

msgid "test.\n"
msgstr ""

那么我们本地化就是对这样的字符串根据不同的地区语言进行翻译,例如我们的中文:

msgid "test.\n"
msgstr "测试。\n"

并且修改

charset=CHARSET\n

charset=utf-8\n

然后保存。
接下来格式化文件:

msgfmt -o test.mo test.po

然后将test.mo文件复制到LOCALEDIR下面对应的文件夹里。例如,我们在前面的例子里定义LOCALEDIR为mo。

cp test.mo mo/zh_CN/LC_MESSAGES

现在如果我们的LC_ALL为zh_CN,那么我们如果执行这个程序,就可以看见中文了。而不是原来的英文或者其他语言。

一个国际化以后的简单例子:

#include    <gtk/gtk.h>
#include    <glib/gi18n.h>

#define GETTEXT_PACKAGE    "Test"
#define LOCALEDIR    "mo"

int main ( int   argc,
 char *argv[] )
{
 GtkWidget *frame;
 GtkWidget *label;

 bindtextdomain(GETTEXT_PACKAGE, LOCALEDIR);
 bind_textdomain_codeset(GETTEXT_PACKAGE, "UTF-8");
 textdomain(GETTEXT_PACKAGE);

 window=gtk_window_new(GTK_WINDOW_TOPLEVEL);
 gtk_window_set_title(GTK_WINDOW(window),  _("Hello I18n!"));
 gtk_window_set_position(GTK_WINDOW(window), GTK_WIN_POS_CENTER);
 g_signal_connect(G_OBJECT(window), "destroy",
 G_CALLBACK(gtk_main_quit),
 NULL);
 gtk_container_set_border_width(GTK_CONTAINER(window), 10);
 frame = gtk_frame_new(_("WARNING"));
 label = gtk_label_new(_("\n  The alien is behind you!\n"));
 gtk_container_add(GTK_CONTAINER(frame), label);
 gtk_container_add(window, frame);
 gtk_widget_show_all(window);
}

清理电脑里的文件时发现的笔记,写了有些年头了,而现在,似乎大家都用python在写gtk的程序了。
P.S 有时做一些贡献很简单,比如为自己喜欢的软件实现本地化。