From 31e7ca9fa265384d1f0cbfc51cdd89fe2369018e Mon Sep 17 00:00:00 2001 From: Maikel Linke Date: Thu, 1 Oct 2015 15:54:46 +1000 Subject: [PATCH] locale data as js asset --- .../darkswarm/{i18n.js.coffee => i18n.js.coffee.erb} | 4 ++++ app/views/layouts/_i18n_translations.html.haml | 5 ----- app/views/layouts/darkswarm.html.haml | 1 - app/views/layouts/registration.html.haml | 1 - 4 files changed, 4 insertions(+), 7 deletions(-) rename app/assets/javascripts/darkswarm/{i18n.js.coffee => i18n.js.coffee.erb} (66%) delete mode 100644 app/views/layouts/_i18n_translations.html.haml diff --git a/app/assets/javascripts/darkswarm/i18n.js.coffee b/app/assets/javascripts/darkswarm/i18n.js.coffee.erb similarity index 66% rename from app/assets/javascripts/darkswarm/i18n.js.coffee rename to app/assets/javascripts/darkswarm/i18n.js.coffee.erb index 15ee584400..4286fa2304 100644 --- a/app/assets/javascripts/darkswarm/i18n.js.coffee +++ b/app/assets/javascripts/darkswarm/i18n.js.coffee.erb @@ -1,3 +1,7 @@ +# 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/app/views/layouts/_i18n_translations.html.haml b/app/views/layouts/_i18n_translations.html.haml deleted file mode 100644 index 376c162d60..0000000000 --- a/app/views/layouts/_i18n_translations.html.haml +++ /dev/null @@ -1,5 +0,0 @@ -- # TODO: load json from separate file that can be cached -%script - window.I18n = - = I18n.backend.send(:translations)[I18n.locale].with_indifferent_access.to_json.html_safe - diff --git a/app/views/layouts/darkswarm.html.haml b/app/views/layouts/darkswarm.html.haml index b97efc0ed0..88075a3171 100644 --- a/app/views/layouts/darkswarm.html.haml +++ b/app/views/layouts/darkswarm.html.haml @@ -11,7 +11,6 @@ %link{href: "https://fonts.googleapis.com/css?family=Roboto:400,300italic,400italic,300,700,700italic|Oswald:300,400,700", rel: "stylesheet", type: "text/css"} = yield :scripts - = render "layouts/i18n_translations" %script{src: "//maps.googleapis.com/maps/api/js?libraries=places,geometry&sensor=false"} = split_stylesheet_link_tag "darkswarm/all" = javascript_include_tag "darkswarm/all" diff --git a/app/views/layouts/registration.html.haml b/app/views/layouts/registration.html.haml index 320c80d35e..4709393fd0 100644 --- a/app/views/layouts/registration.html.haml +++ b/app/views/layouts/registration.html.haml @@ -11,7 +11,6 @@ %link{href: "https://fonts.googleapis.com/css?family=Roboto:400,300italic,400italic,300,700,700italic|Oswald:300,400,700", rel: "stylesheet", type: "text/css"} = yield :scripts - = render "layouts/i18n_translations" %script{src: "//maps.googleapis.com/maps/api/js?libraries=places&sensor=false"} = stylesheet_link_tag "darkswarm/all" = javascript_include_tag "darkswarm/all"