fix auto translation
This commit is contained in:
parent
9c87bc2e46
commit
1b9b476e1d
|
|
@ -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 <br>)
|
||||
if (value.includes('<br>')) {
|
||||
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);
|
||||
Loading…
Reference in New Issue