[mirotalksfu] - use mutationObserver
هذا الالتزام موجود في:
@@ -1,9 +1,15 @@
|
|||||||
'use strict';
|
'use strict';
|
||||||
|
|
||||||
|
function loadScript(src) {
|
||||||
|
return new Promise((resolve, reject) => {
|
||||||
const script = document.createElement('script');
|
const script = document.createElement('script');
|
||||||
script.setAttribute('async', '');
|
script.async = true;
|
||||||
script.setAttribute('src', 'https://translate.google.com/translate_a/element.js?cb=googleTranslateElementInit');
|
script.src = src;
|
||||||
|
script.onload = resolve;
|
||||||
|
script.onerror = reject;
|
||||||
document.head.appendChild(script);
|
document.head.appendChild(script);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
function googleTranslateElementInit() {
|
function googleTranslateElementInit() {
|
||||||
new google.translate.TranslateElement(
|
new google.translate.TranslateElement(
|
||||||
@@ -14,18 +20,25 @@ function googleTranslateElementInit() {
|
|||||||
'google_translate_element',
|
'google_translate_element',
|
||||||
);
|
);
|
||||||
|
|
||||||
const interval = setInterval(() => {
|
const language = BRAND?.app?.language || 'en';
|
||||||
const language = BRAND.app.language ? BRAND.app.language : 'en';
|
if (language === 'en') return; // No need to switch if default is 'en'
|
||||||
|
|
||||||
if (language === 'en') {
|
|
||||||
clearInterval(interval);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
const observer = new MutationObserver(() => {
|
||||||
const select = document.querySelector('.goog-te-combo');
|
const select = document.querySelector('.goog-te-combo');
|
||||||
if (select) {
|
if (select) {
|
||||||
select.value = language;
|
select.value = language;
|
||||||
select.dispatchEvent(new Event('change'));
|
select.dispatchEvent(new Event('change'));
|
||||||
clearInterval(interval);
|
observer.disconnect();
|
||||||
}
|
}
|
||||||
}, 500);
|
});
|
||||||
|
|
||||||
|
observer.observe(document.body, { childList: true, subtree: true });
|
||||||
}
|
}
|
||||||
|
|
||||||
|
(async function initGoogleTranslate() {
|
||||||
|
try {
|
||||||
|
await loadScript('https://translate.google.com/translate_a/element.js?cb=googleTranslateElementInit');
|
||||||
|
} catch (error) {
|
||||||
|
console.error('Failed to load Google Translate script:', error);
|
||||||
|
}
|
||||||
|
})();
|
||||||
|
|||||||
المرجع في مشكلة جديدة
حظر مستخدم