From bd737ef7274fb4edce850577801afe94c1c57c6d Mon Sep 17 00:00:00 2001 From: Maikel Linke Date: Thu, 1 Oct 2015 16:38:47 +1000 Subject: [PATCH] I18n object file for karma --- app/assets/javascripts/darkswarm/i18n.js.erb | 3 +++ .../{i18n.js.coffee.erb => i18n.translate.js.coffee} | 4 ---- config/ng-test.conf.js | 1 + lib/tasks/karma.rake | 12 +++++++++++- 4 files changed, 15 insertions(+), 5 deletions(-) create mode 100644 app/assets/javascripts/darkswarm/i18n.js.erb rename app/assets/javascripts/darkswarm/{i18n.js.coffee.erb => i18n.translate.js.coffee} (66%) diff --git a/app/assets/javascripts/darkswarm/i18n.js.erb b/app/assets/javascripts/darkswarm/i18n.js.erb new file mode 100644 index 0000000000..7016fa77f1 --- /dev/null +++ b/app/assets/javascripts/darkswarm/i18n.js.erb @@ -0,0 +1,3 @@ +<%# Defines a global I18n object containing the language of the current locale %> +<%- I18n.backend.send(:init_translations) unless I18n.backend.initialized? %> +window.I18n = <%= I18n.backend.send(:translations)[I18n.locale].with_indifferent_access.to_json.html_safe %> diff --git a/app/assets/javascripts/darkswarm/i18n.js.coffee.erb b/app/assets/javascripts/darkswarm/i18n.translate.js.coffee similarity index 66% rename from app/assets/javascripts/darkswarm/i18n.js.coffee.erb rename to app/assets/javascripts/darkswarm/i18n.translate.js.coffee index 4286fa2304..15ee584400 100644 --- a/app/assets/javascripts/darkswarm/i18n.js.coffee.erb +++ b/app/assets/javascripts/darkswarm/i18n.translate.js.coffee @@ -1,7 +1,3 @@ -# Defines a global I18n object containing the language of the current locale -<%- I18n.backend.send(:init_translations) unless I18n.backend.initialized? %> -window.I18n = <%= I18n.backend.send(:translations)[I18n.locale].with_indifferent_access.to_json.html_safe %> - # Declares the translation function t. # You can use t('login') in Javascript. window.t = (key, options = {}) -> diff --git a/config/ng-test.conf.js b/config/ng-test.conf.js index 56df589f0c..0cc4fc385e 100644 --- a/config/ng-test.conf.js +++ b/config/ng-test.conf.js @@ -25,6 +25,7 @@ module.exports = function(config) { '**/.#*', 'app/assets/javascripts/darkswarm/all.js.coffee', 'app/assets/javascripts/darkswarm/overrides.js.coffee', + 'app/assets/javascripts/darkswarm/i18n.js.erb', 'app/assets/javascripts/admin/util.js.erb' ], diff --git a/lib/tasks/karma.rake b/lib/tasks/karma.rake index 4ebd4ae278..848a5b6238 100644 --- a/lib/tasks/karma.rake +++ b/lib/tasks/karma.rake @@ -10,8 +10,10 @@ namespace :karma do private def with_tmp_config(command, args = nil) + + I18n.backend.send(:init_translations) unless I18n.backend.initialized? Tempfile.open('karma_unit.js', Rails.root.join('tmp') ) do |f| - f.write unit_js(application_spec_files) + f.write unit_js(application_spec_files << i18n_file) f.flush trap('SIGINT') { puts "Killing Karma"; exit } exec "karma #{command} #{f.path} #{args}" @@ -29,4 +31,12 @@ namespace :karma do unit_js = File.open('config/ng-test.conf.js', 'r').read unit_js.gsub "APPLICATION_SPEC", "\"#{files.join("\",\n\"")}\"" end + + def i18n_file + f = Tempfile.open('i18n.js', Rails.root.join('tmp') ) + f.write 'window.I18n = ' + f.write I18n.backend.send(:translations)[I18n.locale].with_indifferent_access.to_json.html_safe + f.flush + f.path + end end