Mudanças entre as edições de "Widget:Droflax"

De Wiki Gla
Ir para navegação Ir para pesquisar
Linha 1: Linha 1:
<div class="language-switch">
<div class="language-switch">
   <a href="?lang=pt" title="Português">
   <a href="#" data-lang="pt" title="Português">
     <img src="https://upload.wikimedia.org/wikipedia/en/0/05/Flag_of_Brazil.svg" width="32" height="24">
     <img src="https://upload.wikimedia.org/wikipedia/en/0/05/Flag_of_Brazil.svg" width="32" height="24">
   </a>
   </a>
   <a href="?lang=es" title="Español">
   <a href="#" data-lang="es" title="Español">
     <img src="https://upload.wikimedia.org/wikipedia/en/9/9a/Flag_of_Spain.svg" width="32" height="24">
     <img src="https://upload.wikimedia.org/wikipedia/en/9/9a/Flag_of_Spain.svg" width="32" height="24">
   </a>
   </a>
   <a href="?lang=en" title="English">
   <a href="#" data-lang="en" title="English">
     <img src="https://upload.wikimedia.org/wikipedia/en/a/a4/Flag_of_the_United_States.svg" width="32" height="24">
     <img src="https://upload.wikimedia.org/wikipedia/en/a/a4/Flag_of_the_United_States.svg" width="32" height="24">
   </a>
   </a>
   <a href="?lang=pl" title="Polski">
   <a href="#" data-lang="pl" title="Polski">
     <img src="https://upload.wikimedia.org/wikipedia/en/1/12/Flag_of_Poland.svg" width="32" height="24">
     <img src="https://upload.wikimedia.org/wikipedia/en/1/12/Flag_of_Poland.svg" width="32" height="24">
   </a>
   </a>
Linha 16: Linha 16:
<script>
<script>
function setLang(lang) {
function setLang(lang) {
  // Cambiar descripción de skills
   document.querySelectorAll('.skill-icon').forEach(icon => {
   document.querySelectorAll('.skill-icon').forEach(icon => {
     const idx = icon.dataset.index;
     const idx = icon.dataset.index;
     let desc;
     const descBox = document.querySelector('.skill-desc[data-index="' + idx + '"]');
     switch(lang) {
     if(descBox) {
       case 'pt': desc = icon.dataset.descPt; break;
       descBox.textContent = icon.dataset['desc' + lang.charAt(0).toUpperCase() + lang.slice(1)] || icon.dataset.descPt;
      case 'es': desc = icon.dataset.descEs; break;
    }
      case 'en': desc = icon.dataset.descEn; break;
  });
      case 'pl': desc = icon.dataset.descPl; break;
 
       default: desc = icon.dataset.descPt;
  // Cambiar nombre del personaje si existe
  document.querySelectorAll('.character-name-box').forEach(box => {
    const nameElem = box.querySelector('.character-name');
    if(nameElem && box.dataset['name' + lang.charAt(0).toUpperCase() + lang.slice(1)]) {
       nameElem.textContent = box.dataset['name' + lang.charAt(0).toUpperCase() + lang.slice(1)];
     }
     }
    const descBox = document.querySelector('.skill-desc[data-index="' + idx + '"]');
    if(descBox) descBox.textContent = desc;
   });
   });
}
}
Linha 33: Linha 36:
// Espera a que el DOM esté listo
// Espera a que el DOM esté listo
document.addEventListener("DOMContentLoaded", function() {
document.addEventListener("DOMContentLoaded", function() {
   // Inicializa idioma por defecto
   const savedLang = localStorage.getItem('preferedLang') || 'pt';
   setLang('pt');
   setLang(savedLang);


   // Selector de banderas
   // Selector de banderas
   document.querySelectorAll('.language-switch img').forEach(img => {
   document.querySelectorAll('.language-switch a').forEach(link => {
     img.addEventListener('click', e => {
     link.addEventListener('click', e => {
       e.preventDefault();
       e.preventDefault();
       const lang = img.parentElement.getAttribute('href').replace('?lang=','');
       const lang = link.dataset.lang;
       setLang(lang);
       setLang(lang);
      localStorage.setItem('preferedLang', lang);
     });
     });
   });
   });

Edição das 18h28min de 27 de agosto de 2025

 <a href="#" data-lang="pt" title="Português">
   <img src="https://upload.wikimedia.org/wikipedia/en/0/05/Flag_of_Brazil.svg" width="32" height="24">
 </a>
 <a href="#" data-lang="es" title="Español">
   <img src="https://upload.wikimedia.org/wikipedia/en/9/9a/Flag_of_Spain.svg" width="32" height="24">
 </a>
 <a href="#" data-lang="en" title="English">
   <img src="https://upload.wikimedia.org/wikipedia/en/a/a4/Flag_of_the_United_States.svg" width="32" height="24">
 </a>
 <a href="#" data-lang="pl" title="Polski">
   <img src="https://upload.wikimedia.org/wikipedia/en/1/12/Flag_of_Poland.svg" width="32" height="24">
 </a>

<script> function setLang(lang) {

 // Cambiar descripción de skills
 document.querySelectorAll('.skill-icon').forEach(icon => {
   const idx = icon.dataset.index;
   const descBox = document.querySelector('.skill-desc[data-index="' + idx + '"]');
   if(descBox) {
     descBox.textContent = icon.dataset['desc' + lang.charAt(0).toUpperCase() + lang.slice(1)] || icon.dataset.descPt;
   }
 });
 // Cambiar nombre del personaje si existe
 document.querySelectorAll('.character-name-box').forEach(box => {
   const nameElem = box.querySelector('.character-name');
   if(nameElem && box.dataset['name' + lang.charAt(0).toUpperCase() + lang.slice(1)]) {
     nameElem.textContent = box.dataset['name' + lang.charAt(0).toUpperCase() + lang.slice(1)];
   }
 });

}

// Espera a que el DOM esté listo document.addEventListener("DOMContentLoaded", function() {

 const savedLang = localStorage.getItem('preferedLang') || 'pt';
 setLang(savedLang);
 // Selector de banderas
 document.querySelectorAll('.language-switch a').forEach(link => {
   link.addEventListener('click', e => {
     e.preventDefault();
     const lang = link.dataset.lang;
     setLang(lang);
     localStorage.setItem('preferedLang', lang);
   });
 });

}); </script>

<style> .language-switch {

 display: flex;
 gap: 6px;
 margin: 8px 0;

} .language-switch img {

 border: 1px solid #ccc;
 border-radius: 6px;
 cursor: pointer;
 transition: transform 0.2s ease, border-color 0.2s ease;

} .language-switch img:hover {

 transform: scale(1.1);
 border-color: #333;

} </style>