const translations = {"t0": {"fr": "Musique", "en": "Music", "es": "Música"}, "t1": {"fr": "Bio", "en": "About", "es": "Biografía"}, "t2": {"fr": "Réseaux", "en": "Connect", "es": "Redes"}, "t3": {"fr": "Contact", "en": "Contact", "es": "Contacto"}, "t4": {"fr": "FRENCH PRODUCER · SYNTH / POP", "en": "FRENCH PRODUCER · SYNTH / POP", "es": "PRODUCTOR FRANCÉS · SYNTH / POP"}, "t5": {"fr": "L’esprit des 80s.
L’émotion au présent.", "en": "The spirit of the 80s.
The feeling of now.", "es": "El espíritu de los 80.
La emoción del presente."}, "t6": {"fr": "▶ Entrer dans la musique", "en": "▶ Step into the music", "es": "▶ Entra en la música"}, "t7": {"fr": "MARSEILLE, FRANCE", "en": "MARSEILLE, FRANCE", "es": "MARSELLA, FRANCIA"}, "t8": {"fr": "Découvrir l’artiste ↓", "en": "Meet the artist ↓", "es": "Descubre al artista ↓"}, "t9": {"fr": "SOUNDTRACKS FOR YOUR DAYDREAMS", "en": "SOUNDTRACKS FOR YOUR DAYDREAMS", "es": "BANDAS SONORAS PARA SOÑAR DESPIERTO"}, "t10": {"fr": "SYNTHS. POP. EMOTION.", "en": "SYNTHS. POP. EMOTION.", "es": "SINTETIZADORES. POP. EMOCIÓN."}, "t11": {"fr": "THE MORGAN WILLIS WORLD", "en": "THE MORGAN WILLIS WORLD", "es": "EL UNIVERSO DE MORGAN WILLIS"}, "t12": {"fr": "01 / LA MUSIQUE", "en": "01 / THE MUSIC", "es": "01 / LA MÚSICA"}, "t13": {"fr": "Press play.
Feel everything.", "en": "Press play.
Feel everything.", "es": "Dale al play.
Siéntelo todo."}, "t14": {"fr": "Toute la discographie ↗", "en": "Full discography ↗", "es": "Discografía completa ↗"}, "t15": {"fr": "2026 · French touch & voyages cosmiques", "en": "2026 · French touch & cosmic journeys", "es": "2026 · French touch y viajes cósmicos"}, "t16": {"fr": "À ÉCOUTER MAINTENANT", "en": "LISTEN NOW", "es": "ESCUCHA AHORA"}, "t17": {"fr": "Choisis ton prochain voyage.", "en": "Choose your next journey.", "es": "Elige tu próximo viaje."}, "t18": {"fr": "02 / L’ARTISTE", "en": "02 / THE ARTIST", "es": "02 / EL ARTISTA"}, "t19": {"fr": "Une âme rétro.
Un regard libre.", "en": "A retro soul.
An open mind.", "es": "Un alma retro.
Una mirada libre."}, "t20": {"fr": "Une discographie, autant de voyages.", "en": "A discography of journeys.", "es": "Una discografía llena de viajes."}, "t21": {"fr": "De Marseille aux scènes internationales.", "en": "From Marseille to international stages.", "es": "De Marsella a los escenarios internacionales."}, "t22": {"fr": "Des rencontres qui jalonnent le parcours.", "en": "Creative connections along the way.", "es": "Encuentros que marcan el camino."}, "t23": {"fr": "Booking & presse ↗", "en": "Bookings & press ↗", "es": "Contratación y prensa ↗"}, "t24": {"fr": "03 / RESTONS CONNECTÉS", "en": "03 / STAY CONNECTED", "es": "03 / SIGAMOS EN CONTACTO"}, "t25": {"fr": "Un univers.
Tous les accès.", "en": "One world.
Every way in.", "es": "Un universo.
Todas las puertas."}, "t26": {"fr": "Les albums, les vidéos, les coulisses.
Retrouvons-nous là où tu écoutes.", "en": "Albums, videos, behind the scenes.
Meet me wherever you listen.", "es": "Álbumes, vídeos y entre bastidores.
Nos vemos donde escuchas música."}, "t27": {"fr": "BOOKING · PRESSE · COLLABORATIONS", "en": "BOOKINGS · PRESS · COLLABORATIONS", "es": "CONTRATACIÓN · PRENSA · COLABORACIONES"}, "t28": {"fr": "Let’s make
some noise. ↗", "en": "Let’s make
some noise. ↗", "es": "Hagamos
algo de ruido. ↗"}, "t29": {"fr": "Retour en haut ↑", "en": "Back to top ↑", "es": "Volver arriba ↑"}, "t30": {"fr": "Producteur et compositeur originaire de Marseille, Morgan Willis développe depuis 2012 un univers à la croisée de la synthwave, de la retrowave et de la pop électronique. Synthétiseurs vintage, mélodies sensibles et atmosphères cinématographiques dessinent une signature nourrie par les années 80, mais résolument tournée vers le présent.", "en": "Producer and composer from Marseille, Morgan Willis has been developing a world at the crossroads of synthwave, retrowave and electronic pop since 2012. Vintage synthesizers, heartfelt melodies and cinematic atmospheres define a signature inspired by the 80s, yet firmly looking ahead.", "es": "Productor y compositor de Marsella, Morgan Willis desarrolla desde 2012 un universo en el que se cruzan el synthwave, el retrowave y el pop electrónico. Sintetizadores vintage, melodías emotivas y atmósferas cinematográficas definen una identidad inspirada en los años 80, pero con la mirada puesta en el futuro."}, "t31": {"fr": "De Night Rider et Miami Calling à Turbo Flash et Sophie Teenage Dream, ses premiers albums posent les fondations d’un monde fait de nuits électriques et d’émotions pop. L’aventure se poursuit avec Supernova, The Jenkins House, Dreamer, Supernova (à la recherche d’Adhara) et Skyline.", "en": "From Night Rider and Miami Calling to Turbo Flash and Sophie Teenage Dream, his early albums laid the foundations of a world of electric nights and pop emotion. The adventure continued with Supernova, The Jenkins House, Dreamer, Supernova (à la recherche d’Adhara) and Skyline.", "es": "Desde Night Rider y Miami Calling hasta Turbo Flash y Sophie Teenage Dream, sus primeros álbumes sentaron las bases de un mundo de noches eléctricas y emoción pop. La aventura continuó con Supernova, The Jenkins House, Dreamer, Supernova (à la recherche d’Adhara) y Skyline."}, "t32": {"fr": "À cette discographie s’ajoutent Damier Club, DANCE, Street Dreams, Hotline Summer, puis HEAT et COSMOPHORIA. Chaque disque ouvre un nouveau décor : récit fantastique, échappée estivale, énergie du dancefloor ou exploration cosmique.", "en": "His discography also includes Damier Club, DANCE, Street Dreams, Hotline Summer, followed by HEAT and COSMOPHORIA. Each record opens a new setting: a supernatural story, a summer escape, dancefloor energy or cosmic exploration.", "es": "Su discografía también incluye Damier Club, DANCE, Street Dreams, Hotline Summer y, más adelante, HEAT y COSMOPHORIA. Cada disco abre un nuevo escenario: un relato fantástico, una escapada de verano, la energía de la pista de baile o la exploración del cosmos."}, "t33": {"fr": "Ses EP et autres projets prolongent cet univers, de Into the Grid et No Limit à Rage, Stay the Night, The Last Chase et OROMA, sans oublier sa collaboration avec Paradise Walk.", "en": "His EPs and other projects expand this world, from Into the Grid and No Limit to Rage, Stay the Night, The Last Chase and OROMA, alongside his collaboration with Paradise Walk.", "es": "Sus EP y otros proyectos amplían este universo, desde Into the Grid y No Limit hasta Rage, Stay the Night, The Last Chase y OROMA, además de su colaboración con Paradise Walk."}, "t34": {"fr": "Sur scène, Morgan Willis donne une dimension vivante à ses compositions. Il s’est produit à Berlin, Cologne, Barcelone, Helsinki, Londres, New York et Los Angeles, ainsi qu’à Paris, Amsterdam, Darmstadt, Marseille et Sinalunga. Ces performances live font voyager son univers bien au-delà des frontières françaises.", "en": "On stage, Morgan Willis brings his compositions to life. He has performed in Berlin, Cologne, Barcelona, Helsinki, London, New York and Los Angeles, as well as Paris, Amsterdam, Darmstadt, Marseille and Sinalunga. These live performances take his world far beyond France.", "es": "En el escenario, Morgan Willis da vida a sus composiciones. Ha actuado en Berlín, Colonia, Barcelona, Helsinki, Londres, Nueva York y Los Ángeles, así como en París, Ámsterdam, Darmstadt, Marsella y Sinalunga. Estas actuaciones en directo llevan su universo mucho más allá de Francia."}, "t35": {"fr": "Au fil de ses sorties et collaborations, il a travaillé avec NewRetroWave Records, Rosso Corsa Records, Outland Recordings, Lazerdiscs Records, TimeSlave Recordings et Cézame Music Agency. Un parcours qui relie la scène électronique indépendante, la culture synthwave et la musique à l’image.", "en": "Through his releases and collaborations, he has worked with NewRetroWave Records, Rosso Corsa Records, Outland Recordings, Lazerdiscs Records, TimeSlave Recordings and Cézame Music Agency. His journey connects independent electronic music, synthwave culture and music for the screen.", "es": "A lo largo de sus lanzamientos y colaboraciones, ha trabajado con NewRetroWave Records, Rosso Corsa Records, Outland Recordings, Lazerdiscs Records, TimeSlave Recordings y Cézame Music Agency. Su trayectoria conecta la electrónica independiente, la cultura synthwave y la música para la imagen."}, "t36": {"fr": "Morgan Willis accueil", "en": "Morgan Willis home", "es": "Morgan Willis inicio"}, "t37": {"fr": "Navigation principale", "en": "Main navigation", "es": "Navegación principal"}, "t38": {"fr": "Morgan Willis en costume noir et chapeau sur fond bleu", "en": "Morgan Willis in a black suit and hat against a blue backdrop", "es": "Morgan Willis con traje negro y sombrero sobre fondo azul"}, "t39": {"fr": "Pochette officielle de HEAT, Morgan Willis", "en": "Official HEAT artwork, Morgan Willis", "es": "Portada oficial de HEAT, Morgan Willis"}, "t40": {"fr": "Pochette officielle de COSMOPHORIA, Morgan Willis", "en": "Official COSMOPHORIA artwork, Morgan Willis", "es": "Portada oficial de COSMOPHORIA, Morgan Willis"}, "t41": {"fr": "Écouter HEAT", "en": "Listen to HEAT", "es": "Escuchar HEAT"}, "t42": {"fr": "Écouter COSMOPHORIA", "en": "Listen to COSMOPHORIA", "es": "Escuchar COSMOPHORIA"}, "t43": {"fr": "Écouter Morgan Willis sur Spotify", "en": "Listen to Morgan Willis on Spotify", "es": "Escuchar a Morgan Willis en Spotify"}, "t44": {"fr": "Portrait de Morgan Willis sur fond rose vif", "en": "Portrait of Morgan Willis against a vivid pink backdrop", "es": "Retrato de Morgan Willis sobre fondo rosa intenso"}, "igLabel": {"en": "NEWS / INSTAGRAM", "fr": "ACTU / INSTAGRAM", "es": "NOVEDADES / INSTAGRAM"}, "igTitle": {"en": "Latest posts.
Behind the music.", "fr": "Derniers posts.
Les coulisses.", "es": "Últimos posts.
Entre bastidores."}, "igIntro": {"en": "New releases, studio moments and life on stage. Follow the latest from Morgan Willis on Instagram.", "fr": "Nouvelles sorties, moments en studio et vie sur scène. Toute l’actualité de Morgan Willis se retrouve sur Instagram.", "es": "Nuevos lanzamientos, momentos en el estudio y vida en el escenario. Sigue la actualidad de Morgan Willis en Instagram."}, "igFollow": {"en": "Follow on Instagram ↗", "fr": "Suivre sur Instagram ↗", "es": "Seguir en Instagram ↗"}, "igHelp": {"en": "Preview not showing? Open Instagram to see the latest posts.", "fr": "L’aperçu ne s’affiche pas ? Ouvre Instagram pour voir les derniers posts.", "es": "¿No aparece la vista previa? Abre Instagram para ver los últimos posts."}, "igFrame": {"en": "Morgan Willis on Instagram", "fr": "Morgan Willis sur Instagram", "es": "Morgan Willis en Instagram"}, "igNav": {"en": "News", "fr": "Actu", "es": "Novedades"}}; const languageSelect = document.getElementById('language-select'); const pageText = { en: ['Language', 'Morgan Willis — Official Music & World', 'The world of Morgan Willis: electronic pop, synthwave and cinematic emotion. Listen to the albums, discover his story and connect on his official channels.'], fr: ['Langue', 'Morgan Willis — Musique & univers officiel', 'L’univers de Morgan Willis : pop électronique, synthwave et émotions cinématographiques. Écoutez ses albums, découvrez sa bio et retrouvez ses réseaux officiels.'], es: ['Idioma', 'Morgan Willis — Música y universo oficial', 'El universo de Morgan Willis: pop electrónico, synthwave y emoción cinematográfica. Escucha sus álbumes, descubre su historia y encuentra sus redes oficiales.'] }; function setLanguage(lang, remember = false) { if (!Object.prototype.hasOwnProperty.call(pageText, lang)) lang = 'en'; document.querySelectorAll('[data-i18n]').forEach(el => { el.innerHTML = translations[el.dataset.i18n][lang]; }); document.querySelectorAll('[data-i18n-attr]').forEach(el => { el.setAttribute(el.dataset.i18nAttr, translations[el.dataset.i18nKey][lang]); }); document.documentElement.lang = lang; document.title = pageText[lang][1]; document.querySelector('meta[name="description"]').content = pageText[lang][2]; document.getElementById('language-label').textContent = pageText[lang][0]; languageSelect.value = lang; if (remember) { try { localStorage.setItem('morgan-willis-language', lang); } catch {} } } let initialLanguage = 'en'; try { initialLanguage = localStorage.getItem('morgan-willis-language') || 'en'; } catch {} setLanguage(initialLanguage); languageSelect.addEventListener('change', event => setLanguage(event.target.value, true));