Typo本地化问题解决全记录

         先闲话一下:想不通了,本来觉得上午的事也没什么,可是我刚才到Ruby论坛看了看,有很多讨论Ruby方法定义,“<<”符号的意义,讨论也没有深度,怎么就不是新手贴?我发的帖子就被某个有权重的给定了新手贴,无人问津,我觉得太不公平,是不是我这篇帖子也要被评为隐藏???算了,我认了,我也不想说什么了。

         我记得以前javaeye有一个简单I10N的帖子,找不到了,现在记录那个localization插件的用法。
    我用SVN在
这个地址checkout出location插件:
         http://dev.rubyonrails.org/svn/rails/plugins/localization/
         我没有指定check out路径,就默认存放在了/root目录下。
         然后把localization插件copy到工程的vendor/plugins目录下。然后我们做的工作就是:
    1。在lang目录下定义个.rb文件,类似
de_DE.rb

     ruby 代码
  1.   Localization.define('de_DE') do |l|  
  2.     l.store "blah""blub"   
  3.     l.store "testing %d", ["Singular: %d""Plural: %d"]  
  4.   end 

    2。假设blash和testing %d就是你要替换的文本,
你程序里这两个文本出现的地方使用如下形式:
 
ruby 代码
        _('blah')
_('testing %d', 5)
3。在.rhtml中,用如下形式:      
ruby 代码
  1. <% 'testing %d', 1 %> 
4。在application.rb中设置
ruby 代码
  
  1. Localization.lang = 'de_DE'  

别忘了,需要手工指定,不是自动根据操作系统语言来本地化的,郁闷

5。在environment.rb中
ruby 代码
  1. config.plugins = [ 'localization'  
  2.                         。。。]  

6。别忘了include localization.rb
当然Typo用了好多插件,为了一次性的导入全部插件,就用了sidebar_generator.rb,大家可以参考一下。


(才发现SuseLinux里自带的gedit支持Ruby语法,但是奇怪的是SuseLinux10里没有自带Ruby)

这些是我今天晚上看源码得出的结论。希望可以给和我一样的菜菜帮助!

参考资料:
http://mir.aculo.us/2005/10/03/ruby-on-rails-i18n-revisited































 

你可能感兴趣的:(工作,SVN,Ruby,D语言,Rails)