1

我正在创建一个类似 API 的网站,其中大部分是 JSON 响应和 jQuery ajax 回调。为了响应而不通过控制器操作通过 JSON 发送所有文本,我想在我的资产中使用 I18n。由于资产是静态的,我必须为每种语言预编译一个版本,然后根据数据库中的用户语言设置提供版本。

目前我真的不知道如何解决这个问题。我可以只创建 js 文件并将其中的所有 I18n 变量定义为 javascript - 然后使用javascript_include_tag. 但是通过这种方式,我让所有用户都可以访问完整的语言文件,而且我已经觉得我只使用 JSON 响应让我的应用程序过于开放。有没有办法只在我的资产中使用 I18n?以及如何单独预编译和提供它们?

4

1 回答 1

-1

坦率地说,我没有完全理解。但它可能对您有用:您可以在 js 文件中定义 I18n,如下所示:

意见/example.html.erb

<%= javascript_tag do %>
  window.variable = '<%= j t('variable') %>';
<% end -%>
于 2013-10-11T21:57:01.550 回答