Merge pull request #3314 from overleaf/jpa-i18n-safe-html-substitute

[misc] i18n: safe html substitute

GitOrigin-RevId: be74605d24084b419324509a403933cf71ed1c8a
This commit is contained in:
Miguel Serrano
2020-10-28 03:04:27 +00:00
committed by Copybot
parent 2e7e64578f
commit 120df0bfa2
3 changed files with 210 additions and 2 deletions
@@ -12,6 +12,7 @@ const Features = require('./Features')
const AuthenticationController = require('../Features/Authentication/AuthenticationController')
const PackageVersions = require('./PackageVersions')
const Modules = require('./Modules')
const SafeHTMLSubstitute = require('../Features/Helpers/SafeHTMLSubstitution')
let webpackManifest
if (!IS_DEV_ENV) {
@@ -176,10 +177,15 @@ module.exports = function(webRouter, privateApiRouter, publicApiRouter) {
})
webRouter.use(function(req, res, next) {
res.locals.translate = function(key, vars) {
res.locals.translate = function(key, vars, components) {
vars = vars || {}
vars.appName = Settings.appName
return req.i18n.translate(key, vars)
const locale = req.i18n.translate(key, vars)
if (components) {
return SafeHTMLSubstitute.render(locale, components)
} else {
return locale
}
}
// Don't include the query string parameters, otherwise Google
// treats ?nocdn=true as the canonical version