Ruby on Rails i18n在Ajax中更改文本

时间:2013-03-19 20:44:08

标签: ajax ruby-on-rails-3 internationalization highcharts

我有一张Highcharts图表,里面有文字。如何根据所选语言更改此文本?这是我的代码:

var chart;
chart = new Highcharts.Chart({
(...)
    subtitle: {
        text: document.ontouchstart === undefined ?
        'Click and drag in the plot area to zoom in' :
        'Drag your finger over the plot to zoom in'
        }
(...)

我的en.yml文件如下:

en:
   actions:
      zoom: "Click and drag in the plot area to zoom in"

我试过了

t("actions.zoom")

<% t "actions.zoom" %>

但是他们没有在Ajax中工作。我应该怎么做 ?

2 个答案:

答案 0 :(得分:0)

无论您调用何种文件,只需添加erb扩展名

即可

my_file.js.erb

    subtitle: {
    text: document.ontouchstart === undefined ?
      <%= t "actions.zoom" %> : 'something something'
    }

另请注意,<%=会打印结果,<%不会。

编辑:这假设您正在使用rails资产管道,如果不是,它会更复杂。

答案 1 :(得分:0)

尝试使用i18n-js gem将Rails I18n.locale传递到您的javascript文件中。