OpenProject is the leading open source project management software.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
openproject/app/helpers/crowdin_helper.rb

29 lines
1.1 KiB

module CrowdinHelper
def crowdin_in_context_translation
return unless OpenProject::Configuration.crowdin_in_context_translations?
return unless ::I18n.locale == :lol
# Enable CSP to load the following script by whitelisting for this request.
# This will be slower than manually adding it to the initializer, but we wouldn't want to
# allow cdn.crowdin.com for users without in context translations.
controller.append_content_security_policy_directives(
# initial script and setup API calls
script_src: %w(cdn.crowdin.com crowdin.com),
# Form action to crowdin, github etc.
form_action: %w[https://crowdin.com
https://accounts.google.com
https://api.twitter.com
https://github.com
https://gitlab.com],
# Iframe
frame_src: %w(crowdin.com),
# CSS loaded from cdn
style_src: %w(cdn.crowdin.com)
)
concat(nonced_javascript_tag do
"var _jipt = []; _jipt.push(['project', 'openproject']);".html_safe
end)
concat javascript_include_tag 'https://cdn.crowdin.com/jipt/jipt.js'
end
end