From 64bf542d1705eb3cb78e6a9a573ab8eb2466d1a0 Mon Sep 17 00:00:00 2001
From: Peter Jaszkowiak <p.jaszkow@gmail.com>
Date: Fri, 21 Apr 2017 23:55:58 -0600
Subject: [PATCH] Fix HTML `lang` attribute using the `defaultLang`

Themes need `lang="{function.localeToHTML, userLang, defaultLang}"` in
their header.tpl file
---
 public/src/modules/helpers.js | 3 ++-
 src/middleware/header.js      | 1 +
 2 files changed, 3 insertions(+), 1 deletion(-)

diff --git a/public/src/modules/helpers.js b/public/src/modules/helpers.js
index 3f02a86758..e1cf620607 100644
--- a/public/src/modules/helpers.js
+++ b/public/src/modules/helpers.js
@@ -176,7 +176,8 @@
 		}).join('');
 	};
 
-	helpers.localeToHTML = function (locale) {
+	helpers.localeToHTML = function (locale, fallback) {
+		locale = locale || fallback || 'en-GB';
 		return locale.replace('_', '-');
 	};
 
diff --git a/src/middleware/header.js b/src/middleware/header.js
index 70c0755def..0eb9cc9a1f 100644
--- a/src/middleware/header.js
+++ b/src/middleware/header.js
@@ -133,6 +133,7 @@ module.exports = function (middleware) {
 				templateValues.customJS = templateValues.useCustomJS ? meta.config.customJS : '';
 				templateValues.maintenanceHeader = parseInt(meta.config.maintenanceMode, 10) === 1 && !results.isAdmin;
 				templateValues.defaultLang = meta.config.defaultLang || 'en-GB';
+				templateValues.userLang = res.locals.config.userLang;
 				templateValues.privateUserInfo = parseInt(meta.config.privateUserInfo, 10) === 1;
 				templateValues.privateTagListing = parseInt(meta.config.privateTagListing, 10) === 1;