Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/470.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
具有资源管道的特定于语言环境的javascript文件_Javascript_Ruby On Rails 3.1_Internationalization_Asset Pipeline - Fatal编程技术网

具有资源管道的特定于语言环境的javascript文件

具有资源管道的特定于语言环境的javascript文件,javascript,ruby-on-rails-3.1,internationalization,asset-pipeline,Javascript,Ruby On Rails 3.1,Internationalization,Asset Pipeline,所以我想知道的是,以下这些是否可能。我有一个网站,我们使用标准的i18ngem进行国际化(翻译为config/locales/*.yml)。目前,我们依靠各种(相当不雅观的)修复让javascript获取翻译的单词(主要是通过使用HTML5数据属性)。现在我们已经将我们的站点升级到Rails 3.1,并且我们喜欢新的资产管道,如果我们能够国际化我们的js文件(如以下所示),那就太好了: app/assets/jsfile.js.erb alert(<%= I18n.t('javascrip

所以我想知道的是,以下这些是否可能。我有一个网站,我们使用标准的i18ngem进行国际化(翻译为config/locales/*.yml)。目前,我们依靠各种(相当不雅观的)修复让javascript获取翻译的单词(主要是通过使用HTML5数据属性)。现在我们已经将我们的站点升级到Rails 3.1,并且我们喜欢新的资产管道,如果我们能够国际化我们的js文件(如以下所示),那就太好了:

app/assets/jsfile.js.erb

alert(<%= I18n.t('javascript.key.name') %>)
alert()
然后让assets管道在文件上迭代生成public/assets/jsfile.en.js、public/assets/jsfile.de.js等(我猜一个区域设置感知的
javascripts\u include\u标记也会很有用)


是否有人知道有任何示例/gem/插件可以完成这类工作,或者是时候破解IDE并开始自己编写代码了?

我也遇到了同样的问题,最后我决定实现一些东西。 我向assets.rake添加了一些任务,这些任务创建中指定的本地化文件 config.assets.localized\u预编译,例如:

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

如果你感兴趣,我可以分享更多细节。这看起来和我们正在寻找的解决方案大致相同。谢谢分享这个概念。我有权提取宝石:。HthI像这样,似乎也在rails 4中工作!但是需要将新的js添加到
Rails.application.config.assets.precompile+=