我在当前的Rails项目中使用jQuery,我想在Javascript中使用yml文件中的翻译。
我知道我可以在我的.js.erb模板中轻松使用它们。但是/ public / javascript中的javascript文件呢?
看起来像Babilu(http://github.com/toretore/babilu)会完全按照我的意愿行事。我只是想知道是否还有其他的插件......这不是我对Babilu的反对意见,但我确实喜欢选择;-)
也可能是Rails 2.3.5中有一些默认方式。我不知道,我可能根本不需要使用插件?
答案 0 :(得分:5)
控制器:
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图层中实际使用的子集(不应该太多)。