MediaWiki:Common.js: differenze tra le versioni
Nessun oggetto della modifica |
Nessun oggetto della modifica |
||
Riga 7: | Riga 7: | ||
console.log("Common.js is loaded"); | console.log("Common.js is loaded"); | ||
$( | function addTranslateButton() { | ||
// Trova l'ul con la classe 'vector-menu-content-list' figlio di 'p-views' | |||
var pViewsList = $('#p-views .vector-menu-content-list'); | |||
if (pViewsList.length) { | |||
console.log("p-views list found"); | |||
// Ottieni la lingua del browser | |||
var userLang = navigator.language || navigator.userLanguage; | |||
var targetLanguage = userLang.split('-')[0]; // Prendi solo la parte principale della lingua (es. "it" da "it-IT") | |||
// Crea il collegamento per la traduzione | |||
var translateLink = $('<a>', { | |||
href: '#', | |||
text: 'Traduci Pagina', | |||
id: 'translate-page-link', | |||
click: function(event) { | |||
event.preventDefault(); | |||
var currentUrl = window.location.href; | |||
var translateUrl = "https://translate.google.com/translate?hl=&sl=auto&tl=" + targetLanguage + "&u=" + encodeURIComponent(currentUrl); | |||
window.open(translateUrl, '_blank'); | |||
console.log("Link clicked, translating to: " + targetLanguage); | |||
} | |||
}); | |||
// Crea l'elemento <li> con le classi specificate | |||
var translateListItem = $('<li>', { | |||
class: 'vector-tab-noicon mw-list-item' | |||
}).append(translateLink); | |||
// Aggiungi il nuovo <li> alla lista | // Aggiungi il nuovo <li> alla lista | ||
translateListItem.prependTo( | translateListItem.prependTo(pViewsList); | ||
console.log("Translate link added to p-views list"); | console.log("Translate link added to p-views list"); | ||
// Pulisce l'intervallo una volta che il bottone è stato aggiunto | |||
clearInterval(intervalId); | |||
} else { | } else { | ||
console.log("p-views list not found"); | console.log("p-views list not found, retrying..."); | ||
} | } | ||
}); | } | ||
// Controlla ogni 500ms fino a quando l'elemento non viene trovato | |||
var intervalId = setInterval(addTranslateButton, 500); | |||
}); | }); |
Versione delle 13:36, 3 lug 2024
/* Any JavaScript here will be loaded for all users on every page load. */ console.error('TEST EX') // CODICE PER IL TRANSLATE BUTTON mw.loader.using('mediawiki.util', function() { console.log("Common.js is loaded"); function addTranslateButton() { // Trova l'ul con la classe 'vector-menu-content-list' figlio di 'p-views' var pViewsList = $('#p-views .vector-menu-content-list'); if (pViewsList.length) { console.log("p-views list found"); // Ottieni la lingua del browser var userLang = navigator.language || navigator.userLanguage; var targetLanguage = userLang.split('-')[0]; // Prendi solo la parte principale della lingua (es. "it" da "it-IT") // Crea il collegamento per la traduzione var translateLink = $('<a>', { href: '#', text: 'Traduci Pagina', id: 'translate-page-link', click: function(event) { event.preventDefault(); var currentUrl = window.location.href; var translateUrl = "https://translate.google.com/translate?hl=&sl=auto&tl=" + targetLanguage + "&u=" + encodeURIComponent(currentUrl); window.open(translateUrl, '_blank'); console.log("Link clicked, translating to: " + targetLanguage); } }); // Crea l'elemento <li> con le classi specificate var translateListItem = $('<li>', { class: 'vector-tab-noicon mw-list-item' }).append(translateLink); // Aggiungi il nuovo <li> alla lista translateListItem.prependTo(pViewsList); console.log("Translate link added to p-views list"); // Pulisce l'intervallo una volta che il bottone è stato aggiunto clearInterval(intervalId); } else { console.log("p-views list not found, retrying..."); } } // Controlla ogni 500ms fino a quando l'elemento non viene trovato var intervalId = setInterval(addTranslateButton, 500); });