【发布时间】:2013-10-11 21:41:07
【问题描述】:
我正在创建一个类似 API 的网站,其中大部分是 JSON 响应和 jQuery ajax 回调。 为了响应而不通过控制器操作通过 JSON 发送所有文本,我想在我的资产中使用 I18n。由于资产是静态的,我必须为每种语言预编译一个版本,然后根据数据库中的用户语言设置提供版本。
目前我真的不知道如何解决这个问题。我可以只创建 js 文件并将其中的所有 I18n 变量定义为 javascript - 然后使用 javascript_include_tag 加载正确的变量。但是通过这种方式,我让所有用户都可以访问完整的语言文件,而且我已经觉得我只使用 JSON 响应让我的应用程序过于开放。
有没有办法只在我的资产中使用 I18n?以及如何单独预编译和提供它们?
【问题讨论】:
-
看看i18n-js gem
-
@Stefan 如果我理解正确的话,gem 基本上所做的是我想要避免的——在一个 .js 文件中提供所有 I18n 翻译。我不希望用户能够一次访问和复制所有翻译。但我想如果没有其他办法,这可能是一个替代方案......
标签: javascript ruby-on-rails internationalization rake asset-pipeline