具有资产管道的区域设置特定javascript文件

时间:2011-12-01 14:33:34

标签: javascript ruby-on-rails-3.1 internationalization asset-pipeline

所以我想知道的是以下是否可行。我有一个网站,我们使用标准的I18n gem进行国际化(在config / locales / *。yml中有翻译)。目前我们依靠各种(非常不优雅的)修复来获取javascript以获取翻译的单词(主要通过使用HTML5数据属性)。既然我们已经将我们的网站升级到Rails 3.1,并且我们喜欢新的资产管道,那么如果我们能够将我们的js文件国际化,那就更好了:

应用/资产/ jsfile.js.erb

alert(<%= I18n.t('javascript.key.name') %>)

然后获取资产管道迭代文件以生成public / assets / jsfile.en.js,public / assets / jsfile.de.js等(我猜这是一个区域设置{{1} }也很有用)

是否有人知道可以做这种工作的任何示例/宝石/插件,或者是时候破解IDE并开始自己编写代码?

1 个答案:

答案 0 :(得分:5)

我有同样的问题,最后我决定实施一些东西。 我添加了assets.rake一些创建指定的本地化文件的任务 config.assets.localized_precompile,例如:

config.assets.localized_precompile = ['application-it.js', 'application-fr.js', 'application-de.js', 'application-en.js']

然后我正在使用

=javascript_include_tag "application-#{I18n.locale}"

application-xx.js就像:

//= require application

如果您有兴趣,我可以分享更多细节