2
0
Fork 0
mirror of https://github.com/discourse/discourse.git synced 2025-09-06 10:50:21 +08:00
discourse/app/controllers/extra_locales_controller.rb

35 lines
873 B
Ruby
Raw Normal View History

2016-08-25 16:33:29 -04:00
class ExtraLocalesController < ApplicationController
layout :false
skip_before_filter :check_xhr, :preload_json
def show
bundle = params[:bundle]
raise Discourse::InvalidAccess.new unless bundle =~ /^[a-z]+$/
locale_str = I18n.locale.to_s
translations = JsLocaleHelper.translations_for(locale_str)
for_key = translations[locale_str]["#{bundle}_js"]
2016-08-25 16:33:29 -04:00
if plugin_for_key = JsLocaleHelper.plugin_translations(locale_str)["#{bundle}_js"]
for_key.deep_merge!(plugin_for_key)
end
js =
if for_key.present?
<<~JS
2016-08-25 16:33:29 -04:00
(function() {
if (window.I18n) {
window.I18n.extras = window.I18n.extras || [];
window.I18n.extras.push(#{for_key.to_json});
}
})();
JS
else
""
end
2016-08-25 16:33:29 -04:00
render text: js, content_type: "application/javascript"
end
end