【问题标题】:Make yml translations available in Javascript files使 yml 翻译在 Javascript 文件中可用
【发布时间】:2010-01-31 16:24:19
【问题描述】:

我在我当前的 Rails 项目中使用 jQuery,我希望有一些方法可以在 Javascript 中使用我的 yml 文件的翻译。

我知道我可以在我的 .js.erb 模板中轻松使用它们。但是 /public/javascript 中的 javascript 文件呢?

看起来 Babilu (http://github.com/toretore/babilu) 会做我想做的事。我只是想知道是否还有其他插件......这并不是说我对 Babilu 有意见,但我确实喜欢有选择 ;-)

Rails 2.3.5 中也可能有一些默认方式。我不知道,我可能根本不需要使用插件?

【问题讨论】:

    标签: ruby-on-rails internationalization


    【解决方案1】:

    控制器:

    class JavascriptsController < ApplicationController
    
      skip_before_filter :authorize
      respond_to :js
      layout false
      caches_page :locale # don't know if this is reset on server restart.
    
      def locale
    
        # http://edgeguides.rubyonrails.org/caching_with_rails.html
        @translations = I18n.translate('javascripts')
    
      end
    
    end
    

    查看脚本:

    Translations = <%= raw @translations.to_json %>;
    

    在 application.html.haml 中:

    = javascript_include_tag "locale.js?language=#{I18n.locale}" # JavascriptsController
    

    然后添加一些在哈希中查找键的简单 js。相当容易修复。此外,这样您就不会将所有翻译传递给 js,而只是传递 javascript 层中实际使用的子集(不应该太多)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-09-23
      • 2012-10-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多