9/25/2007

怎样为WordPress做中文翻译和提供中文语言包

WordPress最近热衷于给流行的博客开源软件WordPress添砖加瓦了,先从做做简单的中文翻译开始吧。正好新版本WordPress 2.3还没有人做,所以就试了试。 现在还正在翻译中,如果你只想下载.mo文件,可以从我的后面的帖子找到下载的文件。如果你也感兴趣想自己动手翻译,不妨看看我这两天总结的入门方法。 因为我用的是poEdit软件,所以我的过程分享也只涉及它。想看全面的介绍,不妨参考WordPress的官方网站 http://codex.wordpress.org/Translating_WordPress 首先,要明白WordPress多语言的实现基本原理。一般来说,一个程序、系统要做到能轻松的本地化需要两个步骤。1),程序设计时程序员需要提供一个能顺利本地化的界面,这点WordPress已经做到了。他们用的是 GNU gettext (http://www.gnu.org/software/gettext/gettext.html) 本地化平台,有兴趣的话可以到 gettext 网站了解更多信息。2),第二步就是真正的字符串对应翻译了,这也是我这篇文章要谈的。 二、翻译要用到的三个文件:
POT (Portable Object Template) 文件
也就是英文语言包,在这个文件里有着所有原程序原语言(一般是英语)的字符串归集清单。WordPress的程序员已经负责生成这个文件了,我们需要做的就是从 WordPress 网站下载最新版本程序的POT文件。打个比喻,这个文件就像外国文学的原著
PO (Portable Object)文件
这个就是翻译员所要工作的重要文件。翻译员将 POT 文件 里的字符串逐条翻译成本地语言(中文),然后保存成PO文件,该po文件里的每个程序所要的字符串或句子将同时对应有英文和中文翻译。我将这个比喻成出版社翻译外国名著的手稿
MO (Machine Object) 文件
将PO文件通过特定的程序转化成机器可以读的MO文件,俗称本地文(中文)语言包,以此来作为WordPress多语言的插件。你可以将这个文件想像成出版社提交给印刷机器的模本。作为普通用户,只需要mo文件就可以完成WP本地化了。

三、具体操作步骤

  1. 从poEdit网站下载并安装 poEdit (http://www.poedit.net/)
  2. 从WordPress的官方网站下载程序英文语言包 (http://svn.automattic.com/wordpress-i18n/pot/trunk/wordpress.pot)
  3. 运行poEdit,从 poEdit 的 文件(File)--打开(Open)英文语言包 .pot 文件。
  4. 这样你在 poEdit 的下面框框部分可以看到四个小框。左上框是程序的原文(英文),左下框就是用来翻译填写相应的中文的。右边的两个框是用来加注注释或填写备注的,对团队作业很有帮助。
  5. 开始翻译后,你就可以通过菜单 文件(File) → 保存为 (Save as…) 将这个文件另存为 .po 文件以备再次使用。
  6. 当然,既然目前已经有很多中文语言包存在了,你不用从头开始将英文语言包全部翻译。你可以在已有的中文包基础上进行对新版本的翻译。
    1. 具体做法就是再从 WordPress 网站上下载一个你信赖的老版中文语言包。
    2. 不是直接打开官方的英文语言包,而是用 poEdit 打开这个老版中文语言包。
    3. 然后点击 类目(Catelog) .. 再 从po文件更新(Update from po File),在新窗口中选中你最初下载的官方最新版英文语言包文件。
    4. 当你看到如下图所示的更新摘要窗口(Update Summar)后,点击确认,这样所有新版中新增的字符串就会自动加到你目前工作的 po 文件里,以及将过时的字符串从 po 文件里去掉。
    5. 你所需要的就是翻译这些新增的字符串,再加上修改以前你认为需要改的部分就行了。PoEdit
  7. 当你彻底完成翻译后,再一次 文件 - 另存为 生成一个 mo 文件就可以了。
下面就是核对你的翻译,满意的话就上传的你语言包文件给全世界的 WordPress 用户来分享吧。

标签:

点击此处查看原文...

6/13/2007

中文博客更新消息:请用我的新的域名 http://weblog.lichao.net 来访问本博客

再一次重新调整自己的博客和子域名:这次准备将所有中文技术文章,也就是[超凡博俗 之 数字人生],搬到自己的网站上去。以后的博客平台将采用php语言的WordPress,主题将由自己设计。

新的中文技术博客的域名是 http://weblog.lichao.net,欢迎访问!

由于以前使用的博客平台是能生成静态网页的blogger以及我采用发表的方法是FTP,所有旧的文章仍然可以通过旧的子域名 http://IT.lichao.net 来访问。

而我在blogger的服务还将继续,不过会用来发表英文技术文章,并升级到他们新的blogger版本。新的blogger域名是 http://lichaonet.blogspot.com

标签:

点击此处查看原文...

5/13/2007

如何实现在blogger摘要功能看全文时直接跳到文章的摘要部分之后

blogger.jpg前不久我写过一篇文章来介绍怎样在blogger的新版和旧版里实现文章摘要的功能。这个功能可以让你从文章里取出前面的一部分文字作为摘要,放到博客的首页。如果你的读者看完摘要后对你的文章感兴趣,他们可以点一个链接继续阅读你的全部文章。尤其当你有很多长长的文章的时候,这个功能就更显得用处多多了。

可是,上次介绍的那个设置并不完善。因为,那样并不能使你的读者有看WordPress博客般的感觉。每次当你点那个"继续阅读全文"的连接后,你的全部文章出现,使你又得从头将文章看一遍。这当然不是什么功能上的差错,只是我认为如果能够让读者直接跳到文章摘要后的开头将更好一点。

下面就是我动手改了的代码来实现这个直接跳到摘要后的功能。

  1. 首先,要将你的所有帖子的原码进行一定的修改。找到那个可以实现摘要的代码,然后在它后面插入一个网页内部链接点(name anchor)。名字吗,可以自由取,我取的仍是 "fullpost"。这段代码应该是这样的:
    <span class="fullpost>
    <a name="fullpost"></a>


    如果你不想每次都写这个代码,你可以将它放到你的新文章模板里。
  2. 然后,到你的blogger模板,找到那个可以实现摘要功能的链接,加上那个你刚取好的内部链接点。改后的代码就像下面的一样.(新增的部分用红色表示).。

    (传统模板里)

    <MainOrArchivePage
       <a href="<$BlogItemPermalinkURL$>#fullpost">
    继续阅读全文</a> </MainOrArchivePage>
  3. (新版里)

    <b:if cond='data:blog.pageType != "item"'>
       <a expr:href="data:post.url#fullpost">
    继续阅读全文</a> </b:if>
  4. 保存你改好的模板,再重新发布你的文章。则大功告成了。

如果你知道我在说什么,或者你需要首先了解怎样实现文章的摘要功能,请参考我原来的文章 - 怎样在blogger首页显示文章的摘要并点击后显示全文 或英文的帮助文献 How can I create expandable post summaries

Technorati : , , ,
Del.icio.us : , , ,

标签:

点击此处查看原文...

5/12/2007

101步让你成为一个优秀的博客

原文来自lifehacker博客,先贴上我看到的中文版本,但我会稍后作一些更正。


 我发现最成功的博客都有相似的成功步骤,经过长期的研究和学习,我发现写博客虽然没有表面上看起来那么简单但是,经过一定的努力,我想每个人都能成为一个成功博客。

  下面是成为优秀博客的101个步骤...  

 

  1、首先,使用wordpress,内置的SEO和高性能函数使wordpress很适合搜索引擎;
  2、注册 feedburner 帐号
  3、每天至少发表一篇
  4、搜索引擎优化
  5、拥有一个"about me"页面
  6、向9Rules提交你的博客
  7、向newsnow提交你的博客
  8、让读者看到真实的你,博客比其他的网站更加个性化,不要害怕将一些自己生活中的事,保持真实和个人色彩,你将和读者建立起一种忠诚和信任关系;
  9、坚持写作并ping
  10、在rss and blog directories上提交博客
  11、使用trackbacks
  12、加入博客圈子,开始写博客就是成为某个博客圈子中一员,在别人的博客上留下评论并结识和你相似爱好的博客,
  13、使你的博客保持它自己唯一的声音--你的声音
  14、用你99%的时间写原创内容,"内容为王"
  15、给你的页面添加一个醒目的rss订阅按钮
  16、在每篇日志的底部放一个rss feed链接
  17、建立MyBlogLog Widget
  18、在每篇日志后鼓励交互性的引用、链接以及书签

  安装一些插件来优化你的博客 

  19、Akismet - 用来清除垃圾评论
  20、Optimal Title - 用来优化title,提高搜索引擎评价
  21、Ultimate Tag Warrior - 最好的标签系统
  22、Google Sitemap Generator - 可以自动生成google sitemap
  23、Show Top Commentators - 通过链接最活跃评论者的网站,鼓励反馈和评论
  24、Related Posts - 这个插件可以找到其他博客与这篇日志相关的文章,这将使你的读者阅读到更多的内容,停留更长的时间。
  25、Super Archive - 最好的归档系统之一
  26、WP-Cache - 它是非常高效的caching系统,使你的网站更快
  27、WP-ContactForm - 这个插件使读者方便的给你发电子邮件,并有回避spam的功能
  28、Popularity Contest - 实现热文排行
  29、Adsense Deluxe - 在博客中方便的放置Adsense广告
  30、Sociable - 帮你在Digg, del.icio.us,reddit等社交书签类网站中传播你的内容
  31、Feedburner Feed Replacement - 把你所有的的feed traffic 提交给Feedburner,并告诉你准确的订阅数,这个插件能把任何已有的的订阅者转化为FeedBurner类型
  32、专门设计一个独特的博客标志,你的博客是你形象的代表和象征
  33、给每个日志加照片或图片
  34、使用标签
  35、接受友情链接
  36、发布全文feed而不是概要feed
  37、考虑一个新闻内容,关于你博客的故事,记住新闻撰稿人时刻对独特的内容感兴趣,如果你有一个独特的故事,将得到有一些很好的报道。
  38、坚持不懈是关键,坚持6个月,然后你将从自己的辛勤工作中得到回报
  39、向知名网站提交独家内容
  40、发布新闻稿,花一定时间写一篇吸引眼球并有报道价值的文章,发给知名记者和博客,或者向大型出版社推荐。
  41、把你的文章转换为pdscasts
  42、利用powerpoint把你的文章转化成幻灯视频,提交给流行的视频网站
  43、提交给blog carnivals
  44、参与各大著名的web2.0网站,并提交博客
  45、把你的文章转换成可下载的电子书
  46、参加Blogburst
  47、把文章提交给EzineArticles, GoArticles, iSnare,American Chronicle等知名文章目录网站
  48、和其他博客一起互相发表介绍性的日志
  49、参与关于一个项目的集体写作
  50、在Create a Squidoo lens上创建一个反向链接,这会帮你在特定的领域内树立起业界专家的形象。
  51、面谈业界专家。 这是一个产生原创内容的最好方法。
  52、除了 RSS 之外提供一个电子邮件订阅渠道。邮件订阅将会拉近你和读者的关系,并挽留那些对RSS技术不适应的访客。
  53、向访客询问网站改进建议,因为他们是最终使用者。
  54、建立一个专门的404page
  55、在Technorati上注册你的博客
  56、允许automatic trackback and ping等功能
  57、如果有人在他们的博客上介绍你的网站,在日志下发表感谢的评论,并给他们发送感谢信。你可以利用Google Alerts, Technorati, and Blogpulse等方法监控任何提及你博客的事。
  58、与相关博客建立在线和离线的联系。
  59、利用StumbleUpon Ads建立你的博客读者圈
  60、亲自写作
  61、把网站翻译成多种语言,这是一个好战略,不过使用的人还不多
  62、你的博客用ReviewMe了吗
  63、经常看别人的博客
  64、使用Google Analytics.
  65、检查你Feed的语法.
  66、在Feedster上提交你的博客
  67、与你的读者互动。 博客是一个双向沟通工具。 最成功的博客与他们的读者互动。 他们答案读者电子邮件和意见而且定期询问读者建议。
  68、写你喜欢的东西,做你不喜欢的工作你不会成功。卡内基曾经说, "人很少地成功除非他们做他们喜欢做的事。"
  69、叁加博客会议。
  70、邀请你的读者提交文章

  把你的博客变成"钱途"的好方法

  71. Kontera ContentLink
  72. Text Link Ads
  73. BlogAds
  74. Ad Brite
  75. 直接出售广告位
  76. 收会员费
  77. Google Adsense
  78. ReviewMe
  79. Bidvertiser
  80. AuctionAds
  81、使用FeedBurner Ad NetworkText Link Ads等工具让你的rss为你挣钱

  博客写作技巧

  82、学会写出重要的头条新闻
  83、让你的文章可以被扫描,人们不都在互联网上阅读,他们还可以扫描
  84、在标题中运用数字吸引注意力
  85、改变你的内容。 要独特。 例如:一次小测试、访问同行博客、给你的读者投票、评论一本书等等,使你的读者保持兴趣。
  86、亲自写作(不知原作者为什么重复)
  87、像说话一样书写
  88、以强烈的感情写。
  89、讲一些有价值的东西
  90、在内心中时刻考虑读者,想象你正和他们在一家咖啡馆闲谈
  91、把你最重要的观念放在前面
  92、使用带原点的列表
  93、写"十大..."的文章
  94、写"如何..."的文章
  95、围绕热点问题,定期发表日志
  96、展望行业趋势
  97、饥饿般的学习,并将学到的精华告诉你的读者
  98、如果你经常遇到写作障碍,请看 101 Great Posting Ideas
  99、使你的读者保持渴望,给他们发个精彩的"预告",他们更有可能回来看,"预告"是一种重要的市场策略。
  100、幽默,博客不需要始终严肃,你可以自由的让自己的文章生动有趣。
  101、如果你还在寻找博客写作技巧,这里有一些资源:ProBlogger, JohnChow, Successful Blog

  原文作者:Kim Roach
  英文原文:101 Steps to Becoming a Better Blogger
  中文翻译:wu zhiyong
  译文地址:http://www.wu-zhiyong.cn/post/12.html

Technorati : , ,
Del.icio.us : , ,

标签:

点击此处查看原文...

5/11/2007

如何实现blogger传统模板在不同页面给同一sidebar侧栏显示不同题目

blogger.jpg我一直使用blogger的传统模板来写我的中文博客。我现在用的是自己翻译的英文模板,由于有些中文翻译不能准确表达原意。尤其是同一侧栏出现在首页和单个文章页,英文可以是一个但中文用不同的题目更能表达原意。比方说,我就认为在不同的页面里用 "最近文章" 和 "更早文章" 来翻译Previous Posts更好。

 

通过模板代码的一些小改动,我就实现了这个想法。

首先,找到你想要改的侧栏标题题目的位置。一般来说,他们会在 <div id="sidebar"><!-- End #profile --> 之后。我用的模板这些标题是用 <h2>来包围的。所以,Previous Posts 看起来像 <h2 class="sidebar-title">Previous Posts </h2>.

找到后,复制整个 <h2>...</h2> 代码,然后紧随后粘贴并进行相应的语言翻译。

接着放置不同的页面判断代码。首页或归档主页的判断代码是<MainOrArchivePage> 它可以放在你改好的第一个标题前后。单个文章页面的判断代码是<ItemPag>你可放在第二个你复制并改好的标题前后。

最后,你的代码应该像如下代码:

<MainOrArchivePage>
<h2 class="sidebar-title">最近文章</h2>
</MainOrArchivePage>

<ItemPage>
<h2 class="sidebar-title">更早文章</h2>
</ItemPage>

保存你的blogger模板,然后重新发布你的博客网站就可以了。

注:如果你用的是新版本blogger,请参照相应的<b:if></b:if>语句来实现相同功能。

Technorati : , ,
Del.icio.us : , ,

标签:

点击此处查看原文...

4/24/2007

怎样在blogger首页显示文章的摘要并点击后显示全文

最近同时使用了blogger的新版和旧版,并在进行一定的改动,比方说使 blogger 的工具条消失,和显示文章的摘要和继续阅读链接。开始点是blogger自己的帮助文件,如果你看了它上面的文章(见我下面的连接),一般来说是没有问题的,尤其是对付老版博客。但是我今天在改动新版模版是走了一些弯路。在此特意与大家分享。

难点一:css原码放的位置。按照帮助文件,主要是要用一个显示/隐藏的style,原码是
<b:if cond='data:blog.pageType == "item"'>
span.fullpost {display:inline;}
<b:else/>
span.fullpost {display:none;}
</b:if>
但当我将它放到 <b:skin><![CDATA[/*
]]></b:skin> 标签之中时,这个条件判断不会起作用,因为 <b:skin> 整个代码用 ![CDATA[/* 包了起来。
如果你移出到[[CDATA]]之外但还是在 skin 里,你会收到错误信息说 <b:skin> 里面只能有 ![CDATA[/*代码。

所以,正确的做法是另用一个style标签来实现。下面是我的代码,他们应该在 <head> </head> 之类就行了。

<style>
/* Code to show/hide post
----------------------------------------------- */
<b:if cond='data:blog.pageType == "item"'>
span.fullpost {display:inline;}
<b:else/>
span.fullpost {display:none;}
</b:if>
/* End of code to show/hide post
----------------------------------------------- */
</style>

难点二:看全文的连接的位置。 按照帮助文件,应该在主页的每个帖子的下面放上这样的代码,让读者可以接着读全部原文。
<b:if cond='data:blog.pageType != "item"'><br />
<a href="<data:post.url/>">Read more!</a>
</b:if>

但每当我将它 post widget 后面时,一保存上面这段代码就奇怪地消失了。后来才知道我只能选中 Expand Widget Templates 选项,然后才能将上面那段代码放到 后面也就是post widget的中间才行。

难点三:链接的显示错误。 最后就是我老是被告知 <a href="<data:post.url/>">Read more!</a> 在layout的HTML view是不允许的,经过一定的研究,只好将它修改成 <a expr:href='data:post.url'> 才可以。

所以,希望你们多加留心这新旧版本的区别。

English Keywords: google, blogger, blog hacks, tips, post summary, hide/show posts.
查看英文帮助原文

标签:

点击此处查看原文...

4/18/2007

怎样隐藏、去掉blogger自带的navbar搜索工具条

首先,我不是建议所有人都这么做,尤其你们的博客本身就放在 google 的免费 blogspot 主机上。隐藏blog navbar 工具条可能会导致违反用户使用条约从而遭到被关站。

当然,如果你的博客文章通过 blogger 而后 ftp 到你自己的网站上,就不必担心这个了。如果,你确实不愿那个深蓝的工具条骚扰你的美丽的博客网,或者你就是不喜欢那上面的 next blog 选项。我们还是有办法将整个工具条彻底隐藏掉的,请继续阅读。

由于google谷歌越来越来聪明,以前我找到的几个方法现在不行了。所以不知道我自己琢磨这个方法能持续多久。现在google是将它的工具条做成iframe自动加到每个博客网上。我的解决方法就是通过 css sytle 将它不显示出来。用的代码是:

/* Code to remove blogger navbar
----------------------------------------------- */
#navbar-iframe, #b-navbar, #b-next {
height:0px;
visibility:hidden;
display:none;
}
/* End of code to remove blogger navbar
----------------------------------------------- */

具体放的位置是传统classic blogger里放到<style>....</style> 之间,新的blogger版本是放到<b:skin>...</b:skin>之间。

不妨试试看,若成功了给我一个评论。

English Keywords: google, blogger, blog software, hide navbar, blogging tips

标签:

点击此处查看原文...