diff --git a/js/translations.js b/js/translations.js index efec22b..4e5d847 100644 --- a/js/translations.js +++ b/js/translations.js @@ -41,62 +41,49 @@ const translations = { } }; -let currentLang = localStorage.getItem('language') || 'en'; +let currentLanguage = 'en'; function toggleLanguage() { - // Toggle between English and Arabic - currentLang = currentLang === 'en' ? 'ar' : 'en'; - localStorage.setItem('language', currentLang); + // Toggle between languages + currentLanguage = currentLanguage === 'en' ? 'ar' : 'en'; // Update the language toggle text - document.getElementById('langText').textContent = - currentLang === 'en' ? 'EN / عربي' : 'عربي / EN'; - - // Update document direction - document.body.dir = currentLang === 'ar' ? 'rtl' : 'ltr'; - document.body.classList.toggle('rtl', currentLang === 'ar'); - - // Update all translatable content - updateContent(); -} - -function updateContent() { - // Combine all translations for the current language - const translations = { - ...homeTranslations[currentLang], - ...aboutTranslations[currentLang], - ...workTranslations[currentLang], - ...supportTranslations[currentLang], - ...contactTranslations[currentLang] - }; - - // Update the content based on your translation structure - for (const [key, value] of Object.entries(translations)) { - const elements = document.querySelectorAll(`[data-translate="${key}"]`); - elements.forEach(element => { - // Handle elements that might contain HTML (like
) - if (value.includes('
')) { - element.innerHTML = value; - } else { - element.textContent = value; - } - }); + const langText = document.getElementById('langText'); + if (langText) { + langText.textContent = currentLanguage === 'en' ? 'EN / عربي' : 'عربي / EN'; } + + // Update text direction for Arabic + document.documentElement.dir = currentLanguage === 'ar' ? 'rtl' : 'ltr'; + + // Translate all elements with data-translate attribute + translatePage(); } -// Initialize language on page load -document.addEventListener('DOMContentLoaded', () => { - // Set initial direction and language - document.body.dir = currentLang === 'ar' ? 'rtl' : 'ltr'; - document.body.classList.toggle('rtl', currentLang === 'ar'); +function translatePage() { + const elements = document.querySelectorAll('[data-translate]'); - // Set initial language toggle text - document.getElementById('langText').textContent = - currentLang === 'en' ? 'EN / عربي' : 'عربي / EN'; - - // Update initial content - updateContent(); -}); + elements.forEach(element => { + const key = element.getAttribute('data-translate'); + + // Get translations from all translation files + const translations = { + ...homeTranslations, + ...aboutTranslations, + ...workTranslations, + ...supportTranslations, + ...contactTranslations + }; + + // Update text content if translation exists + if (translations[currentLanguage] && translations[currentLanguage][key]) { + element.textContent = translations[currentLanguage][key]; + } + }); +} + +// Don't automatically translate on page load +// document.addEventListener('DOMContentLoaded', translatePage); // Add click handler to language toggle document.querySelector('.language-toggle').addEventListener('click', toggleLanguage); \ No newline at end of file