3

所以我想知道的是以下是否可能。我有一個使用標準I18n gem進行國際化的網站(在config/locales/*。yml中有翻譯)。目前我們依靠各種(非常不雅觀的)修復來獲取JavaScript來獲取翻譯的詞(主要是使用HTML5數據屬性)。現在我們已經將我們的網站升級到了Rails 3.1,並且我們喜歡新的資產管道工具,如果我們可以將我們的js文件國際化,如下所示:具有資產管道的特定於語言環境的JavaScript文件

app/assets/jsfile.js.erb

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

然後拿到資產管道遍歷文件生成公鑰/資產/ jsfile.en.js,公共/資產/ jsfile.de.js等等等等(我」 m猜測區域知道javascripts_include_tag也將是有用的)

是否有人意識到任何可以做t的示例/寶石/插件他的工作,還是應該開發IDE並開始編碼自己的東西的時候了?

回答

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}" 

和應用-XX。 JS都是這樣:

//= require application 

如果你有興趣,我可以分享更多的細節

+0

嗯有趣。這看起來大致類似於我們正在尋找的解決方案。感謝分享這個概念。 –

+0

我有權提取gem:https://github.com/simplificator/asset_pipeline_i18n。 Hth – pic

+0

我喜歡這個,似乎也在rails 4中工作!但需要添加新的js到'Rails.application.config.assets.precompile + =' –

相關問題