From aa93ea2a42ebe74460d6e39389769ba1fd85cc88 Mon Sep 17 00:00:00 2001 From: Jeff Emmett Date: Wed, 9 Apr 2025 16:59:46 -0700 Subject: [PATCH] preserve language choice across pages --- js/translations.js | 25 ++++++++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) diff --git a/js/translations.js b/js/translations.js index f19cb68..30d871f 100644 --- a/js/translations.js +++ b/js/translations.js @@ -46,11 +46,34 @@ const translations = { } }; -let currentLanguage = 'en'; +// Get stored language or default to 'en' +let currentLanguage = localStorage.getItem('selectedLanguage') || 'en'; + +// Initialize page with stored language +document.addEventListener('DOMContentLoaded', () => { + // Update language toggle text + const langText = document.getElementById('langText'); + if (langText) { + langText.textContent = currentLanguage === 'en' ? 'EN / عربي' : 'عربي / EN'; + } + + // Set initial direction and translate if not English + if (currentLanguage === 'ar') { + document.documentElement.dir = 'rtl'; + document.querySelectorAll('main, section, footer').forEach(element => { + element.style.direction = 'rtl'; + }); + document.querySelector('header').style.direction = 'ltr'; + translatePage(); + } +}); function toggleLanguage() { currentLanguage = currentLanguage === 'en' ? 'ar' : 'en'; + // Store language preference + localStorage.setItem('selectedLanguage', currentLanguage); + const langText = document.getElementById('langText'); if (langText) { langText.textContent = currentLanguage === 'en' ? 'EN / عربي' : 'عربي / EN';