Chr*_*ley 3 javascript internationalization ruby-on-rails-3.1 asset-pipeline
所以我想知道的是以下是否可行.我有一个网站,我们使用标准的I18n gem进行国际化(在config/locales/*.yml中有翻译).目前我们依靠各种(非常不优雅的)修复来获取javascript以获取翻译的单词(主要通过使用HTML5数据属性).既然我们已经将我们的站点升级到Rails 3.1,并且我们喜欢新的资产管道,那么如果我们能够将我们的js文件国际化,那就更好了,如下所示:
应用程序/资产/ jsfile.js.erb
alert(<%= I18n.t('javascript.key.name') %>)
Run Code Online (Sandbox Code Playgroud)
然后获取资产管道迭代文件以生成public/assets/jsfile.en.js,public/assets/jsfile.de.js等等(我猜测一个语言环境javascripts_include_tag也很有用)
有没有人知道任何可以做这种工作的例子/宝石/插件,或者是时候破解IDE并开始自己编写代码?
我有同样的问题,最后我决定实施一些东西.我添加了assets.rake一些创建config.assets.localized_precompile中指定的本地化文件的任务,例如:
config.assets.localized_precompile = ['application-it.js', 'application-fr.js', 'application-de.js', 'application-en.js']
Run Code Online (Sandbox Code Playgroud)
然后我正在使用
=javascript_include_tag "application-#{I18n.locale}"
Run Code Online (Sandbox Code Playgroud)
而application-xx.js都是这样的:
//= require application
Run Code Online (Sandbox Code Playgroud)
如果您有兴趣,我可以分享更多细节
| 归档时间: |
|
| 查看次数: |
1857 次 |
| 最近记录: |