先闲话一下:想不通了,本来觉得上午的事也没什么,可是我刚才到Ruby论坛看了看,有很多讨论Ruby方法定义,“<<”符号的意义,讨论也没有深度,怎么就不是新手贴?我发的帖子就被某个有权重的给定了新手贴,无人问津,我觉得太不公平,是不是我这篇帖子也要被评为隐藏???算了,我认了,我也不想说什么了。
我记得以前javaeye有一个简单I10N的帖子,找不到了,现在记录那个localization
插件的用法。
这个地址checkout出location插件:
我用SVN在
http://dev.rubyonrails.org/svn/rails/plugins/localization/
我没有指定check out路径,就默认存放在了/root目录下。
然后把localization插件copy到工程的vendor/plugins目录下。然后我们做的工作就是:
1。在lang目录下定义个.rb文件,类似de_DE
.rb
ruby 代码
Localization.define('de_DE') do |l| l.store "blah", "blub" l.store "testing %d", ["Singular: %d", "Plural: %d"] end
ruby 代码
3。在.rhtml中,用如下形式:
ruby 代码
<% 'testing %d', 1 %>
4。在
application.rb中设置
ruby 代码
Localization.lang = 'de_DE'
别忘了,需要手工指定,不是自动根据操作系统语言来本地化的,郁闷
5。在environment.rb中
ruby 代码
config.plugins = [ 'localization' 。。。]
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