Skip to content

Commit 5778b8e

Browse files
committed
Fix language switcher
1 parent 95be444 commit 5778b8e

File tree

2 files changed

+11
-11
lines changed

2 files changed

+11
-11
lines changed

content/_layouts/default.html

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,9 @@
2020
<head>
2121
{% include head.html %}
2222
{% include head/custom.html %}
23+
<script type="text/javascript">
24+
localStorage.setItem("page_language", "{{ page_language }}");
25+
</script>
2326
</head>
2427

2528
<body class="layout--{{ page.layout | default: layout.layout }}{% if page.classes or layout.classes %}{{ page.classes | default: layout.classes | join: ' ' | prepend: ' ' }}{% endif %}" dir="{% if site.rtl %}rtl{% else %}ltr{% endif %}">
Lines changed: 8 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,9 @@
11
window.addEventListener("DOMContentLoaded", function() {
2-
let current_language = localStorage.getItem("current_language");
3-
if (current_language === null) {
2+
let page_language = localStorage.getItem("page_language");
3+
4+
if (page_language !== null) {
45
// No language set, defaulting to English
5-
current_language = "en";
6+
current_language = page_language || "en";
67
}
78
// Set the option in the select element to have the "selected" attribute
89
var selectElement = document.getElementById("select_language");
@@ -16,18 +17,14 @@ window.addEventListener("DOMContentLoaded", function() {
1617

1718
// Change language for current page
1819
function change_language() {
20+
let page_language = localStorage.getItem("page_language");
1921
var selectElement = document.getElementById("select_language");
20-
var value = selectElement.options[selectElement.selectedIndex].value;
22+
var new_language = selectElement.options[selectElement.selectedIndex].value;
2123

2224
// Get the current page URL
2325
const currentPageUrl = window.location.href;
24-
const old_language = localStorage.getItem("current_language");
25-
26-
localStorage.setItem("current_language", value);
27-
// Update the lang attribute of the HTML element
28-
document.documentElement.setAttribute("lang", value);
2926
window.location.href = currentPageUrl.replace(
30-
"/" + old_language + "/",
31-
"/" + value + "/"
27+
"/" + page_language + "/",
28+
"/" + new_language + "/"
3229
);
3330
}

0 commit comments

Comments
 (0)