Assets Pipelineを使用したロケール固有のJavaScriptファイル
-
27-10-2019 - |
質問
だから私が知りたいのは、以下が可能かどうかです。標準のi18n gemを使用して国際化するウェブサイトがあります(config/config/*。ymlの翻訳)。現時点では、javaScriptに翻訳された単語をピックアップするために、さまざまな(かなり不可能な)修正に依存しています(主にHTML5データ属性を使用して)。サイトをRails 3.1にアップグレードし、新しい資産パイプラインのものが好きなので、JSファイルを次のような国際化できれば素晴らしいことです。
App/Assets/jsfile.js.erb
alert(<%= I18n.t('javascript.key.name') %>)
そして、アセットパイプラインをファイル上で反復してパブリック/アセット/jsfile.en.js、public/assets/jsfile.de.jsなどを生成します(ロケールが認識していると推測しています javascripts_include_tag
また、便利です)
この種の仕事をすることができる例/宝石/プラグインを知っている人はいますか、それともIDEをクラックして自分で何かをコーディングし始める時ですか?
解決
私は同じ問題を抱えていたので、最終的に何かを実装することにしました。 assets.lake 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
興味があれば詳細を共有できます
所属していません StackOverflow