ROR I10N问题及关于javaeye论坛的一些闲话

先来一点闲话:众所周知,javaeye是国内开发者知名论坛,因为昨天下了个Typo(ROR开源的weblog引擎),想打造自己的一个blog,因为没有看源码,大致跑了一下,首先想到的一个问题就是本地化(I10N),就到javaeye发了个帖子,无可厚非的发到了Ruby区,可是管理员通知我了,被评为新手贴,郁闷的我,我的问题是太简单了,是因为我比较懒,没有时间去看源码具体实现,然后就挨javaeye老大的批斗了。。。因为这件事,发了个牢骚贴,被设置为隐藏贴,搞的我论坛回帖功能被封了4天,郁闷呀。。。javaeye这种制度,我知道是为了维护javaeye帖子的高质量,可是我看了其他的帖子,有很多都是研究Ruby语法,讨论的没有深度,还不如PR2ed上面说的透彻呢,这些帖子都不是新手贴,凭什么就把我的帖子放到那个无人问津的地方?这一点欠公平,我就不服这一点,因为这牢骚贴要发到javaeye又被隐藏了,又该挨批,所以就发到51cto吧。。。当然javaeye的技术氛围我还是很喜欢的,robbin老大对于我问过的及其菜的问题也能回复,也许是javaeye某个有权重的人看我不顺眼吧。。。姑且这么认为了。。。。。。牢骚发完了,下面给出一个本地化解决方案,而且是pure Ruby实现的适合少量种类语言的本地化Rails插件,和gettext比起来属于轻量级。
这帖子下面这部分我也发在了javaeye。。。

现在记录那个localization插件的用法。
    我用SVN在这个地址checkout出location插件:
         [url]http://dev.rubyonrails.org/svn/rails/plugins/localization/[/url]
         我没有指定check out路径,就默认存放在了/root目录下。
         然后把localization插件copy到工程的vendor/plugins目录下。然后我们做的工作就是:
    1。在lang目录下定义个.rb文件,类似de_DE.rb      
      Localization.define('de_DE') do |l|
  	l.store "blah", "blub" 
l.store "testing %d", ["Singular: %d", "Plural: %d"]
end
2。假设blash和testing %d就是你要替换的文本,再你程序里这两个文本出现的地方使用如下形式:
_('blah')
_('testing %d', 5)
    3。在.rhtml中,用如下形式:      
                  <%=_ 'testing %d', 1 %>
    4。在application.rb中设置
      Localization.lang = 'de_DE'
(别忘了。。。Typo不是自动根据操作系统来本地化的,需要人工加载。。。郁闷的一点)

5。在environment.rb中
config.plugins = [ 'localization'
。。。]
6。别忘了include localization.rb
当然Typo用了好多插件,为了一次性的导入全部插件,就用了sidebar_generator.rb,大家可以参考一下。


(才发现SuseLinux里自带的gedit支持Ruby语法,但是奇怪的是SuseLinux10里没有自带Ruby)
        现在觉得很简单的,难怪那些高手们懒的留口水。。。可是有投票的功夫也能打出如下这一行字了:       
   请参考
localization插件和读Typo源码!
   参考资料:
[url]http://mir.aculo.us/2005/10/03/ruby-on-rails-i18n-revisited[/url]
 
 
 
 


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值