git ssb

30+

cel / git-ssb-web



Commit 3173d778cc3fdb49a23b2a5a6450b52e777a43c1

Fix locale handling

- Prefer querystring parameter or cookie over request header
- Don't try to pick undefined catalog
- Type check locale catalog function
cel committed on 1/3/2020, 3:56:27 PM
Parent: ee7729c797a61c6136cd8038c951561464e48476

Files changed

index.jschanged
index.jsView
@@ -219,11 +219,11 @@
219219 var reqLocales = req.headers['accept-language']
220220 var locales = reqLocales ? reqLocales.split(/, */).map(function (item) {
221221 return item.split(';')[0]
222222 }) : []
223- req._locale = locales[0] || locale || this.i18n.fallback
223 + req._locale = locale || locales[0] || this.i18n.fallback
224224
225- this.i18n.pickCatalog(reqLocales, locale, function (err, t) {
225 + this.i18n.pickCatalog(reqLocales, req._locale, function (err, t) {
226226 if (err) return pull(this.serveError(req, err, 500), serve(req, res))
227227 req._t = t
228228 pull(this.handleRequest(req), serve(req, res))
229229 }.bind(this))
@@ -508,9 +508,10 @@
508508 return this.serveTemplate.bind(this, req, title, code)
509509 var q = req._u.query.q && u.escape(req._u.query.q) || ''
510510 var app = 'git ssb'
511511 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')
513514 return cat([
514515 pull.values([
515516 [code || 200, {
516517 'Content-Type': 'text/html'

Built with git-ssb-web