Commit 3173d778cc3fdb49a23b2a5a6450b52e777a43c1
Fix locale handling
- Prefer querystring parameter or cookie over request header - Don't try to pick undefined catalog - Type check locale catalog functioncel committed on 1/3/2020, 3:56:27 PM
Parent: ee7729c797a61c6136cd8038c951561464e48476
Files changed
index.js | changed |
index.js | ||
---|---|---|
@@ -219,11 +219,11 @@ | ||
219 | 219 … | var reqLocales = req.headers['accept-language'] |
220 | 220 … | var locales = reqLocales ? reqLocales.split(/, */).map(function (item) { |
221 | 221 … | return item.split(';')[0] |
222 | 222 … | }) : [] |
223 | - req._locale = locales[0] || locale || this.i18n.fallback | |
223 … | + req._locale = locale || locales[0] || this.i18n.fallback | |
224 | 224 … | |
225 | - this.i18n.pickCatalog(reqLocales, locale, function (err, t) { | |
225 … | + this.i18n.pickCatalog(reqLocales, req._locale, function (err, t) { | |
226 | 226 … | if (err) return pull(this.serveError(req, err, 500), serve(req, res)) |
227 | 227 … | req._t = t |
228 | 228 … | pull(this.handleRequest(req), serve(req, res)) |
229 | 229 … | }.bind(this)) |
@@ -508,9 +508,10 @@ | ||
508 | 508 … | return this.serveTemplate.bind(this, req, title, code) |
509 | 509 … | var q = req._u.query.q && u.escape(req._u.query.q) || '' |
510 | 510 … | var app = 'git ssb' |
511 | 511 … | var appName = this.ssbAppname |
512 | - if (req._t) app = req._t(app) | |
512 … | + if (typeof req._t === 'function') app = req._t(app) | |
513 … | + else console.trace('Missing locale data') | |
513 | 514 … | return cat([ |
514 | 515 … | pull.values([ |
515 | 516 … | [code || 200, { |
516 | 517 … | 'Content-Type': 'text/html' |
Built with git-ssb-web