From b68ee4df98c41c358c0a15050219f2af7840cfa7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gina=20H=C3=A4u=C3=9Fge?= Date: Fri, 18 Nov 2016 07:55:16 +0100 Subject: [PATCH] If l10n is set on page load, set OctoPrint.options.locale to its value That way API requests will be made with the locale the page was requested in. See #1593 --- src/octoprint/static/js/app/helpers.js | 13 +++++++++++++ src/octoprint/static/js/app/main.js | 5 +++++ 2 files changed, 18 insertions(+) diff --git a/src/octoprint/static/js/app/helpers.js b/src/octoprint/static/js/app/helpers.js index 81c3b9c9..ef4a4d6f 100644 --- a/src/octoprint/static/js/app/helpers.js +++ b/src/octoprint/static/js/app/helpers.js @@ -865,3 +865,16 @@ var sizeObservable = function(observable) { } }) }; + +var getQueryParameterByName = function(name, url) { + // from http://stackoverflow.com/a/901144/2028598 + if (!url) { + url = window.location.href; + } + name = name.replace(/[\[\]]/g, "\\$&"); + var regex = new RegExp("[?&]" + name + "(=([^&#]*)|&|#|$)"), + results = regex.exec(url); + if (!results) return null; + if (!results[2]) return ''; + return decodeURIComponent(results[2].replace(/\+/g, " ")); +}; diff --git a/src/octoprint/static/js/app/main.js b/src/octoprint/static/js/app/main.js index a870ecc7..127643b5 100644 --- a/src/octoprint/static/js/app/main.js +++ b/src/octoprint/static/js/app/main.js @@ -13,6 +13,11 @@ $(function() { OctoPrint.options.baseurl = BASEURL; OctoPrint.options.apikey = UI_API_KEY; + var l10n = getQueryParameterByName("l10n"); + if (l10n) { + OctoPrint.options.locale = l10n; + } + OctoPrint.socket.onMessage("connected", function(data) { var payload = data.data; OctoPrint.options.apikey = payload.apikey;