document.addEventListener('DOMContentLoaded', function () {
const translations = {
// نوع القطاع
'حكومي': 'Government',
'خاص': 'Private',
'غير ربحي': 'Non-Profit',
// نوع الجهاز
'ماموجرام': 'Mammogram',
' الترا ساوند': 'Ultrasound',
// المناطق
'الرياض': 'Riyadh',
'الشرقية': 'Eastern Province',
'مكة المكرمة': 'Makkah',
'المدينة المنورة': 'Madinah',
'القصيم': 'Qassim',
'عسير': 'Asir',
'نجران': 'Najran',
'الباحة': 'Al Bahah',
'حائل': 'Hail',
'الجوف': 'Al Jawf',
'جازان': 'Jazan',
'الحدود الشمالية': 'Northern Borders',
'تبوك': 'Tabuk'
};
function translateText(root) {
const walker = document.createTreeWalker(
root,
NodeFilter.SHOW_TEXT,
{
acceptNode: function (node) {
return node.nodeValue.trim()
? NodeFilter.FILTER_ACCEPT
: NodeFilter.FILTER_REJECT;
}
}
);
const nodes = [];
while (walker.nextNode()) {
nodes.push(walker.currentNode);
}
nodes.forEach(function (node) {
let text = node.nodeValue;
Object.keys(translations).forEach(function (arabic) {
const english = translations[arabic];
// Replace the Arabic value wherever it appears
text = text.split(arabic).join(english);
});
node.nodeValue = text;
});
}
function translateListings() {
// JetEngine Listing items
document.querySelectorAll('.jet-listing-grid__item').forEach(function (listing) {
translateText(listing);
});
}
// Initial translation
translateListings();
// Watch for JetEngine/AJAX/dynamic listing changes
const observer = new MutationObserver(function (mutations) {
let shouldTranslate = false;
mutations.forEach(function (mutation) {
if (mutation.addedNodes.length) {
shouldTranslate = true;
}
});
if (shouldTranslate) {
translateListings();
}
});
observer.observe(document.body, {
childList: true,
subtree: true
});
});
document.addEventListener('DOMContentLoaded', function () {
const cityTranslations = {
'الرياض': 'Riyadh',
'الشرقية': 'Eastern Province',
'مكة المكرمة': 'Makkah',
'المدينة المنورة': 'Madinah',
'القصيم': 'Qassim',
'عسير': 'Asir',
'نجران': 'Najran',
'الباحة': 'Al Bahah',
'حائل': 'Hail',
'الجوف': 'Al Jawf',
'جازان': 'Jazan',
'الحدود الشمالية': 'Northern Borders',
'تبوك': 'Tabuk'
};
document.querySelectorAll('.jet-select__control[name="city"] option').forEach(function (option) {
const arabicName = option.textContent.trim().replace(/\uFEFF/g, '');
if (cityTranslations[arabicName]) {
option.textContent = cityTranslations[arabicName];
}
});
});