所以我想知道的是以下是否可行。我有一个网站,我们使用标准的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并开始自己编写代码?
答案 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
如果您有兴趣,我可以分享更多细节