/* locales.js — 11 langues pour Metal from Europe */
(function () {
"use strict";
const H = "font-size:14px;color:rgba(231,226,218,0.95)";
const T = "color:rgba(162,176,194,0.90)";
const A = "color:rgba(198,26,26,0.85);text-decoration:none";
function lk(href, text) {
return `${text}`;
}
const L = {
contact: `contact@metalfrom.eu`,
ma: lk("https://www.metal-archives.com/", "Metal Archives"),
geoapify: lk("https://www.geoapify.com/", "Geoapify"),
osm: lk("https://www.openstreetmap.org/", "OpenStreetMap"),
leaflet: lk("https://leafletjs.com/", "Leaflet"),
gc: lk("https://www.goatcounter.com/", "GoatCounter"),
};
function lb(title, content) {
return `
${title}
${content}
`;
}
function faqBlock(q, a) {
return `${q}
${a}
`;
}
function buildLegal(d) {
const blocks = [
lb(d.ed_title,
`${d.ed_name}
${d.ed_status}
${d.ed_contact} ${L.contact}`),
lb(d.host_title, d.host_text),
lb(d.ip_title, d.ip_text.replace("__MA__", L.ma)),
lb(d.prv_title, d.prv_text.replace("__GC__", L.gc)),
lb(d.pub_title, d.pub_name),
lb(d.thanks_title,
`${d.thanks_intro}
• ${d.thanks_map} : ${L.osm} + ${L.leaflet}
• ${d.thanks_geo} : Powered by ${L.geoapify}
• ${d.thanks_data} : ${L.ma}
• ${d.thanks_hb}`),
];
return `${blocks.join("")}
`;
}
function buildFaq(d) {
const blocks = d.faq.map(([q, a]) => faqBlock(q, a));
return `${blocks.join("")}
`;
}
/* ================================================================
Données par langue
================================================================ */
const RAW = {
fr: {
search_placeholder: "Rechercher (nom, genre, ville, pays)…",
displayed: "affichés", total_bands: "total", localities: "localités", located: "localisés",
view_section: "Vue", reset_view: "Reset vue", heatmap_label: "Heatmap",
filters_section: "Filtres", without_coords_btn: "Sans coords",
country_label: "Pays", all_label: "Tous", status_label: "Statut",
genres_label: "Genres", subgenres_label: "Sous-genres", selection_label: "Sélection",
themes_label: "Thèmes", timeline_label: "Timeline (année de formation)",
sort_label: "Tri de la liste", sort_az: "A → Z", sort_status: "Par statut",
sort_genre: "Par genre", sort_country: "Par pays", sort_year: "Par année (récent → ancien)",
list_section: "Liste", legal_link: "Mentions légales", faq_link: "FAQ",
visits_label: "Visites", this_month_label: "Ce mois", options_btn: "Options", close_btn: "Fermer",
all_years_label: "toutes", year_data_missing: "données manquantes",
year_data_unavailable: "Données d’année indisponibles", results_label: "résultat(s)",
loading_text: "Chargement…", without_coords_modal: "Groupes sans coordonnées",
group_s: "groupe", group_p: "groupes", location_fallback: "Localisation",
legal_title: "Mentions légales", faq_title: "FAQ",
// legal
ed_title: "Éditeur du site", ed_name: "Auteur : Nico", ed_status: "Statut : particulier", ed_contact: "Contact :",
host_title: "Hébergeur", host_text: "OVH SAS – 2 rue Kellermann - 59100 Roubaix - France",
ip_title: "Propriété intellectuelle",
ip_text: "Les contenus (textes, visuels, données agrégées) sont proposés à titre informatif. Les logos et noms de groupes restent la propriété de leurs auteurs. L’ensemble des données provient du site __MA__, avec l’autorisation des webmasters.",
prv_title: "Données personnelles",
prv_text: "Ce site ne collecte pas d’informations personnelles ni ne dépose de cookies de suivi. Des logs techniques peuvent être conservés par l’hébergeur. Le trafic est analysé via __GC__ (sans cookie).",
pub_title: "Responsable de publication", pub_name: "Nico",
thanks_title: "Remerciements",
thanks_intro: "Ce site repose sur des outils et services formidables :",
thanks_map: "Cartographie", thanks_geo: "Géocodage", thanks_data: "Données",
thanks_hb: "Remerciements spéciaux à HellBlazer (webmaster Metal Archives) pour l’autorisation de scraping.",
faq: [
["Q : D’où viennent les données ?", "R : Metal Archives + enrichissement géographique automatisé. Quelques corrections manuelles, mais c’est fastidieux."],
["Q : Puis-je corriger une erreur ?", "R : Oui, si elle concerne le site, contacte-moi via l’adresse dans les mentions légales. Pour les données, corrige directement sur Metal Archives."],
["Q : Pourquoi certains groupes ne sont pas visibles ?", "R : Il y a des erreurs inhérentes au géocodage automatique. La correction manuelle des localisations est fastidieuse."],
["Q : Je viens de créer mon groupe sur Metal Archives mais il n’apparaît pas.", "R : Aucune synchronisation automatique n’est implémentée pour l’instant."],
["Q : Est-ce que le site me traque ?", "R : Uniquement pour l’analyse de trafic via GoatCounter (sans cookie). Les adblockers bloquent ces appels sans problème."],
],
},
en: {
search_placeholder: "Search (name, genre, city, country)…",
displayed: "displayed", total_bands: "total", localities: "localities", located: "located",
view_section: "View", reset_view: "Reset view", heatmap_label: "Heatmap",
filters_section: "Filters", without_coords_btn: "Without coords",
country_label: "Country", all_label: "All", status_label: "Status",
genres_label: "Genres", subgenres_label: "Subgenres", selection_label: "Selection",
themes_label: "Themes", timeline_label: "Timeline (formation year)",
sort_label: "Sort list", sort_az: "A → Z", sort_status: "By status",
sort_genre: "By genre", sort_country: "By country", sort_year: "By year (recent → oldest)",
list_section: "List", legal_link: "Legal notice", faq_link: "FAQ",
visits_label: "Visits", this_month_label: "This month", options_btn: "Options", close_btn: "Close",
all_years_label: "all", year_data_missing: "data missing",
year_data_unavailable: "Year data unavailable", results_label: "result(s)",
loading_text: "Loading…", without_coords_modal: "Bands without coordinates",
group_s: "band", group_p: "bands", location_fallback: "Location",
legal_title: "Legal notice", faq_title: "FAQ",
ed_title: "Site Editor", ed_name: "Author: Nico", ed_status: "Status: individual", ed_contact: "Contact:",
host_title: "Hosting", host_text: "OVH SAS – 2 rue Kellermann - 59100 Roubaix - France",
ip_title: "Intellectual Property",
ip_text: "Content (texts, visuals, aggregated data) is provided for informational purposes. Band logos and names remain the property of their authors. All data originates from __MA__, with the webmasters’ permission.",
prv_title: "Personal Data",
prv_text: "This site does not collect personal information or set tracking cookies. Technical logs may be kept by the hosting provider. Traffic is analyzed via __GC__ (cookie-free).",
pub_title: "Publication Manager", pub_name: "Nico",
thanks_title: "Acknowledgments",
thanks_intro: "This site relies on outstanding tools and services:",
thanks_map: "Mapping", thanks_geo: "Geocoding", thanks_data: "Data",
thanks_hb: "Special thanks to HellBlazer (Metal Archives webmaster) for granting scraping permission.",
faq: [
["Q: Where does the data come from?", "A: Metal Archives + automated geographic enrichment. Some manual corrections, but it’s tedious."],
["Q: Can I correct an error?", "A: Yes, for site issues contact me via the email in the legal notice. For data issues, correct directly on Metal Archives."],
["Q: Why are some bands not visible?", "A: Automatic geocoding has inherent errors. Manual correction of locations is tedious, so some data may be inaccurate."],
["Q: I just created my band on Metal Archives but it doesn’t appear.", "A: No automatic sync with Metal Archives is currently implemented."],
["Q: Does the site track me?", "A: Only for traffic analysis via GoatCounter (no cookies). Ad blockers block these requests without issue."],
],
},
de: {
search_placeholder: "Suchen (Name, Genre, Stadt, Land)…",
displayed: "angezeigt", total_bands: "gesamt", localities: "Orte", located: "geortet",
view_section: "Ansicht", reset_view: "Ansicht zurücksetzen", heatmap_label: "Heatmap",
filters_section: "Filter", without_coords_btn: "Ohne Koordinaten",
country_label: "Land", all_label: "Alle", status_label: "Status",
genres_label: "Genres", subgenres_label: "Subgenres", selection_label: "Auswahl",
themes_label: "Themen", timeline_label: "Zeitstrahl (Gründungsjahr)",
sort_label: "Liste sortieren", sort_az: "A → Z", sort_status: "Nach Status",
sort_genre: "Nach Genre", sort_country: "Nach Land", sort_year: "Nach Jahr (neueste → älteste)",
list_section: "Liste", legal_link: "Impressum", faq_link: "FAQ",
visits_label: "Besuche", this_month_label: "Diesen Monat", options_btn: "Optionen", close_btn: "Schließen",
all_years_label: "alle", year_data_missing: "Daten fehlen",
year_data_unavailable: "Jahresdaten nicht verfügbar", results_label: "Ergebnis(se)",
loading_text: "Laden…", without_coords_modal: "Bands ohne Koordinaten",
group_s: "Band", group_p: "Bands", location_fallback: "Standort",
legal_title: "Impressum", faq_title: "FAQ",
ed_title: "Websitebetreiber", ed_name: "Autor: Nico", ed_status: "Status: Privatperson", ed_contact: "Kontakt:",
host_title: "Hosting", host_text: "OVH SAS – 2 rue Kellermann - 59100 Roubaix - Frankreich",
ip_title: "Geistiges Eigentum",
ip_text: "Inhalte (Texte, Grafiken, aggregierte Daten) dienen informativen Zwecken. Band-Logos und Namen bleiben Eigentum ihrer Urheber. Alle Daten stammen von __MA__, mit Genehmigung der Webmaster.",
prv_title: "Datenschutz",
prv_text: "Diese Website erhebt keine personenbezogenen Daten und setzt keine Tracking-Cookies. Technische Logs können vom Hosting-Anbieter gespeichert werden. Der Datenverkehr wird über __GC__ analysiert (ohne Cookie).",
pub_title: "Verantwortlicher", pub_name: "Nico",
thanks_title: "Danksagungen",
thanks_intro: "Diese Website nutzt herausragende Tools und Dienste:",
thanks_map: "Kartierung", thanks_geo: "Geocodierung", thanks_data: "Daten",
thanks_hb: "Besonderen Dank an HellBlazer (Metal Archives Webmaster) für die Scraping-Genehmigung.",
faq: [
["F: Woher kommen die Daten?", "A: Metal Archives + automatische geografische Anreicherung. Einige manuelle Korrekturen, aber das ist mühsam."],
["F: Kann ich einen Fehler korrigieren?", "A: Ja, bei Website-Problemen kontaktiere mich über die im Impressum angegebene E-Mail. Bei Datenproblemen bitte direkt auf Metal Archives korrigieren."],
["F: Warum sind manche Bands nicht sichtbar?", "A: Das automatische Geocoding ist fehleranfällig. Die manuelle Korrektur von Standorten ist aufwändig."],
["F: Ich habe meine Band auf Metal Archives erstellt, aber sie erscheint nicht.", "A: Derzeit ist keine automatische Synchronisierung mit Metal Archives implementiert."],
["F: Trackt mich die Website?", "A: Nur für Verkehrsanalysen via GoatCounter (ohne Cookie). Werbeblocker blockieren diese Anfragen problemlos."],
],
},
es: {
search_placeholder: "Buscar (nombre, género, ciudad, país)…",
displayed: "mostrados", total_bands: "total", localities: "localidades", located: "localizados",
view_section: "Vista", reset_view: "Restablecer vista", heatmap_label: "Mapa de calor",
filters_section: "Filtros", without_coords_btn: "Sin coordenadas",
country_label: "País", all_label: "Todos", status_label: "Estado",
genres_label: "Géneros", subgenres_label: "Subgéneros", selection_label: "Selección",
themes_label: "Temas", timeline_label: "Línea de tiempo (año de formación)",
sort_label: "Ordenar lista", sort_az: "A → Z", sort_status: "Por estado",
sort_genre: "Por género", sort_country: "Por país", sort_year: "Por año (reciente → antiguo)",
list_section: "Lista", legal_link: "Aviso legal", faq_link: "FAQ",
visits_label: "Visitas", this_month_label: "Este mes", options_btn: "Opciones", close_btn: "Cerrar",
all_years_label: "todos", year_data_missing: "datos no disponibles",
year_data_unavailable: "Datos de año no disponibles", results_label: "resultado(s)",
loading_text: "Cargando…", without_coords_modal: "Grupos sin coordenadas",
group_s: "grupo", group_p: "grupos", location_fallback: "Ubicación",
legal_title: "Aviso legal", faq_title: "FAQ",
ed_title: "Editor del sitio", ed_name: "Autor: Nico", ed_status: "Condición: particular", ed_contact: "Contacto:",
host_title: "Alojamiento", host_text: "OVH SAS – 2 rue Kellermann - 59100 Roubaix - Francia",
ip_title: "Propiedad intelectual",
ip_text: "Los contenidos (textos, imágenes, datos agregados) se ofrecen con fines informativos. Los logotipos y nombres de grupos son propiedad de sus autores. Todos los datos provienen de __MA__, con permiso de los administradores.",
prv_title: "Datos personales",
prv_text: "Este sitio no recopila datos personales ni instala cookies de seguimiento. El proveedor de alojamiento puede conservar registros técnicos. El tráfico se analiza mediante __GC__ (sin cookies).",
pub_title: "Responsable de publicación", pub_name: "Nico",
thanks_title: "Agradecimientos",
thanks_intro: "Este sitio utiliza herramientas y servicios excepcionales:",
thanks_map: "Cartografía", thanks_geo: "Geocodificación", thanks_data: "Datos",
thanks_hb: "Agradecimiento especial a HellBlazer (webmaster de Metal Archives) por autorizar el scraping.",
faq: [
["P: ¿De dónde vienen los datos?", "R: Metal Archives + enriquecimiento geográfico automatizado. Algunas correcciones manuales, pero es tedioso."],
["P: ¿Puedo corregir un error?", "R: Sí, si es del sitio contáctame por el correo en el aviso legal. Para datos, corrígelo directamente en Metal Archives."],
["P: ¿Por qué algunos grupos no son visibles?", "R: El geocodificado automático tiene errores inherentes. La corrección manual de ubicaciones es tediosa."],
["P: Acabo de crear mi grupo en Metal Archives pero no aparece.", "R: Actualmente no hay sincronización automática con Metal Archives."],
["P: ¿El sitio me rastrea?", "R: Solo para análisis de tráfico via GoatCounter (sin cookies). Los bloqueadores de anuncios bloquean estas solicitudes sin problema."],
],
},
it: {
search_placeholder: "Cerca (nome, genere, città, paese)…",
displayed: "visualizzati", total_bands: "totale", localities: "località", located: "geolocalizzati",
view_section: "Vista", reset_view: "Reimposta vista", heatmap_label: "Mappa di calore",
filters_section: "Filtri", without_coords_btn: "Senza coordinate",
country_label: "Paese", all_label: "Tutti", status_label: "Stato",
genres_label: "Generi", subgenres_label: "Sottogeneri", selection_label: "Selezione",
themes_label: "Temi", timeline_label: "Timeline (anno di formazione)",
sort_label: "Ordina lista", sort_az: "A → Z", sort_status: "Per stato",
sort_genre: "Per genere", sort_country: "Per paese", sort_year: "Per anno (recente → antico)",
list_section: "Lista", legal_link: "Note legali", faq_link: "FAQ",
visits_label: "Visite", this_month_label: "Questo mese", options_btn: "Opzioni", close_btn: "Chiudi",
all_years_label: "tutti", year_data_missing: "dati mancanti",
year_data_unavailable: "Dati anno non disponibili", results_label: "risultato/i",
loading_text: "Caricamento…", without_coords_modal: "Band senza coordinate",
group_s: "band", group_p: "band", location_fallback: "Posizione",
legal_title: "Note legali", faq_title: "FAQ",
ed_title: "Editore del sito", ed_name: "Autore: Nico", ed_status: "Status: privato", ed_contact: "Contatto:",
host_title: "Hosting", host_text: "OVH SAS – 2 rue Kellermann - 59100 Roubaix - Francia",
ip_title: "Proprietà intellettuale",
ip_text: "I contenuti (testi, immagini, dati aggregati) sono forniti a scopo informativo. Loghi e nomi delle band rimangono di proprietà dei rispettivi autori. Tutti i dati provengono da __MA__, con il permesso dei webmaster.",
prv_title: "Dati personali",
prv_text: "Questo sito non raccoglie dati personali né installa cookie di tracciamento. Il fornitore di hosting può conservare log tecnici. Il traffico è analizzato tramite __GC__ (senza cookie).",
pub_title: "Responsabile della pubblicazione", pub_name: "Nico",
thanks_title: "Ringraziamenti",
thanks_intro: "Questo sito si basa su strumenti e servizi eccezionali:",
thanks_map: "Cartografia", thanks_geo: "Geocodifica", thanks_data: "Dati",
thanks_hb: "Un ringraziamento speciale a HellBlazer (webmaster di Metal Archives) per l’autorizzazione allo scraping.",
faq: [
["D: Da dove provengono i dati?", "R: Metal Archives + arricchimento geografico automatizzato. Alcune correzioni manuali, ma è laborioso."],
["D: Posso correggere un errore?", "R: Sì, per problemi del sito contattami tramite l’email nelle note legali. Per i dati, correggili direttamente su Metal Archives."],
["D: Perché alcune band non sono visibili?", "R: Il geocodifica automatico ha errori inerenti. La correzione manuale delle posizioni è laboriosa."],
["D: Ho appena creato la mia band su Metal Archives ma non appare.", "R: Al momento non è implementata la sincronizzazione automatica con Metal Archives."],
["D: Il sito mi traccia?", "R: Solo per l’analisi del traffico tramite GoatCounter (senza cookie). I blocchi degli annunci bloccano queste richieste senza problemi."],
],
},
pl: {
search_placeholder: "Szukaj (nazwa, gatunek, miasto, kraj)…",
displayed: "wyświetlono", total_bands: "łącznie", localities: "miejscowości", located: "zlokalizowano",
view_section: "Widok", reset_view: "Resetuj widok", heatmap_label: "Mapa cieplna",
filters_section: "Filtry", without_coords_btn: "Bez współrzędnych",
country_label: "Kraj", all_label: "Wszystkie", status_label: "Status",
genres_label: "Gatunki", subgenres_label: "Podgatunki", selection_label: "Wybór",
themes_label: "Tematy", timeline_label: "Oś czasu (rok założenia)",
sort_label: "Sortuj listę", sort_az: "A → Z", sort_status: "Według statusu",
sort_genre: "Według gatunku", sort_country: "Według kraju", sort_year: "Według roku (najnowsze → najstarsze)",
list_section: "Lista", legal_link: "Informacje prawne", faq_link: "FAQ",
visits_label: "Odwiedziny", this_month_label: "W tym miesiącu", options_btn: "Opcje", close_btn: "Zamknij",
all_years_label: "wszystkie", year_data_missing: "brak danych",
year_data_unavailable: "Dane roku niedostępne", results_label: "wynik(ów)",
loading_text: "Ładowanie…", without_coords_modal: "Zespóły bez współrzędnych",
group_s: "zespół", group_p: "zespóły", location_fallback: "Lokalizacja",
legal_title: "Informacje prawne", faq_title: "FAQ",
ed_title: "Wydawca serwisu", ed_name: "Autor: Nico", ed_status: "Status: osoba prywatna", ed_contact: "Kontakt:",
host_title: "Hosting", host_text: "OVH SAS – 2 rue Kellermann - 59100 Roubaix - Francja",
ip_title: "Własność intelektualna",
ip_text: "Treści (teksty, grafiki, zagregowane dane) są udostępniane w celach informacyjnych. Logo i nazwy zespołów pozostają własnością ich autorów. Wszystkie dane pochodzą z __MA__, za zgodą webmasterów.",
prv_title: "Dane osobowe",
prv_text: "Serwis nie zbiera danych osobowych ani nie instaluje plików cookie śledzenia. Dostawca hostingu może przechowywać logi techniczne. Ruch jest analizowany przez __GC__ (bez cookies).",
pub_title: "Redaktor odpowiedzialny", pub_name: "Nico",
thanks_title: "Podziękowania",
thanks_intro: "Serwis korzysta z doskonałych narzędzi i usług:",
thanks_map: "Kartografia", thanks_geo: "Geokodowanie", thanks_data: "Dane",
thanks_hb: "Szczególne podziękowania dla HellBlazera (webmaster Metal Archives) za udzielenie zgody na scraping.",
faq: [
["P: Skąd pochodzą dane?", "O: Metal Archives + zautomatyzowane wzbogacanie geograficzne. Kilka ręcznych poprawek, ale to żmdne."],
["P: Czy mogę poprawić błąd?", "O: Tak, jeśli dotyczy serwisu, skontaktuj się przez e-mail podany w informacjach prawnych. Dla danych, popraw bezpośrednio na Metal Archives."],
["P: Dlaczego niektóre zespóły nie są widoczne?", "O: Automatyczne geokodowanie ma nieodłączne błędy. Ręczna korekta lokalizacji jest żmdna."],
["P: Właśnie założyłem zespół na Metal Archives, ale nie jest widoczny.", "O: Automatyczna synchronizacja z Metal Archives nie jest obecnie zaimplementowana."],
["P: Czy serwis mnie śledzi?", "O: Tylko do analizy ruchu przez GoatCounter (bez cookies). Blokery reklam blokują te żądania bez problemu."],
],
},
nl: {
search_placeholder: "Zoeken (naam, genre, stad, land)…",
displayed: "weergegeven", total_bands: "totaal", localities: "locaties", located: "gelokaliseerd",
view_section: "Weergave", reset_view: "Weergave herstellen", heatmap_label: "Warmtekaart",
filters_section: "Filters", without_coords_btn: "Zonder coördinaten",
country_label: "Land", all_label: "Alle", status_label: "Status",
genres_label: "Genres", subgenres_label: "Subgenres", selection_label: "Selectie",
themes_label: "Thema’s", timeline_label: "Tijdlijn (oprichtingsjaar)",
sort_label: "Lijst sorteren", sort_az: "A → Z", sort_status: "Op status",
sort_genre: "Op genre", sort_country: "Op land", sort_year: "Op jaar (nieuwste → oudste)",
list_section: "Lijst", legal_link: "Juridische informatie", faq_link: "FAQ",
visits_label: "Bezoeken", this_month_label: "Deze maand", options_btn: "Opties", close_btn: "Sluiten",
all_years_label: "alle", year_data_missing: "gegevens ontbreken",
year_data_unavailable: "Jaargegevens niet beschikbaar", results_label: "resultaat/en",
loading_text: "Laden…", without_coords_modal: "Bands zonder coördinaten",
group_s: "band", group_p: "bands", location_fallback: "Locatie",
legal_title: "Juridische informatie", faq_title: "FAQ",
ed_title: "Sitebeheerder", ed_name: "Auteur: Nico", ed_status: "Status: particulier", ed_contact: "Contact:",
host_title: "Hosting", host_text: "OVH SAS – 2 rue Kellermann - 59100 Roubaix - Frankrijk",
ip_title: "Intellectueel eigendom",
ip_text: "Inhoud (teksten, afbeeldingen, geaggregeerde gegevens) wordt aangeboden voor informatieve doeleinden. Logo’s en bandnamen blijven eigendom van hun auteurs. Alle gegevens zijn afkomstig van __MA__, met toestemming van de webmasters.",
prv_title: "Persoonsgegevens",
prv_text: "Deze site verzamelt geen persoonlijke gegevens en plaatst geen trackingcookies. De hostingprovider kan technische logs bewaren. Verkeer wordt geanalyseerd via __GC__ (zonder cookies).",
pub_title: "Publicatieverantwoordelijke", pub_name: "Nico",
thanks_title: "Met dank aan",
thanks_intro: "Deze site maakt gebruik van uitstekende tools en diensten:",
thanks_map: "Cartografie", thanks_geo: "Geocodering", thanks_data: "Gegevens",
thanks_hb: "Speciale dank aan HellBlazer (webmaster Metal Archives) voor de toestemming tot scraping.",
faq: [
["V: Waar komen de gegevens vandaan?", "A: Metal Archives + geautomatiseerde geografische verrijking. Enkele handmatige correcties, maar dat is vervelend."],
["V: Kan ik een fout corrigeren?", "A: Ja, voor siteproblemen neem contact op via het e-mailadres in de juridische informatie. Voor dataproblemen, corrigeer direct op Metal Archives."],
["V: Waarom zijn sommige bands niet zichtbaar?", "A: Automatisch geocoderen heeft inherente fouten. Handmatige correctie van locaties is vervelend."],
["V: Ik heb mijn band net aangemaakt op Metal Archives maar hij verschijnt niet.", "A: Automatische synchronisatie met Metal Archives is momenteel niet geïmplementeerd."],
["V: Volgt de site mij?", "A: Alleen voor verkeersanalyse via GoatCounter (geen cookies). Adblockers blokkeren deze verzoeken zonder probleem."],
],
},
ro: {
search_placeholder: "Căutare (nume, gen, oraş, țară)…",
displayed: "afişate", total_bands: "total", localities: "localități", located: "localizate",
view_section: "Vedere", reset_view: "Resetare vedere", heatmap_label: "Hartă termică",
filters_section: "Filtre", without_coords_btn: "Fără coordonate",
country_label: "Ţară", all_label: "Toate", status_label: "Stare",
genres_label: "Genuri", subgenres_label: "Subgenuri", selection_label: "Selecție",
themes_label: "Teme", timeline_label: "Cronologie (an de formare)",
sort_label: "Sortare listă", sort_az: "A → Z", sort_status: "După stare",
sort_genre: "După gen", sort_country: "După țară", sort_year: "După an (recent → vechi)",
list_section: "Listă", legal_link: "Mențiuni legale", faq_link: "FAQ",
visits_label: "Vizite", this_month_label: "Luna aceasta", options_btn: "Opțiuni", close_btn: "Închide",
all_years_label: "toți", year_data_missing: "date lipsă",
year_data_unavailable: "Date de an indisponibile", results_label: "rezultat(e)",
loading_text: "Se încarcă…", without_coords_modal: "Trupe fără coordonate",
group_s: "trupă", group_p: "trupe", location_fallback: "Locație",
legal_title: "Mențiuni legale", faq_title: "FAQ",
ed_title: "Editorul site-ului", ed_name: "Autor: Nico", ed_status: "Statut: persoană fizică", ed_contact: "Contact:",
host_title: "Găzduire", host_text: "OVH SAS – 2 rue Kellermann - 59100 Roubaix - Franța",
ip_title: "Proprietate intelectuală",
ip_text: "Conținuturile (texte, imagini, date agregate) sunt oferite cu scop informativ. Logo-urile şi numele trupelor rămân proprietatea autorilor lor. Toate datele provin de la __MA__, cu permisiunea administratorilor.",
prv_title: "Date personale",
prv_text: "Acest site nu colectează date personale şi nu instalează cookie-uri de urmărire. Furnizorul de găzduire poate păstra jurnale tehnice. Traficul este analizat prin __GC__ (fără cookie-uri).",
pub_title: "Responsabil publicație", pub_name: "Nico",
thanks_title: "Mulțumiri",
thanks_intro: "Acest site se bazează pe instrumente şi servicii remarcabile:",
thanks_map: "Cartografiere", thanks_geo: "Geocodificare", thanks_data: "Date",
thanks_hb: "Mulțumiri speciale lui HellBlazer (webmaster Metal Archives) pentru permisiunea de scraping.",
faq: [
["Î: De unde provin datele?", "R: Metal Archives + îmbogățire geografică automatizată. Câteva corecții manuale, dar este obositor."],
["Î: Pot corecta o eroare?", "R: Da, dacă priveşte site-ul, contactați-mă prin e-mailul din mențiunile legale. Pentru date, corectare direct pe Metal Archives."],
["Î: De ce unele trupe nu sunt vizibile?", "R: Geocodificarea automată are erori inerente. Corectarea manuală a locațiilor este obositoare."],
["Î: Am creat trupa mea pe Metal Archives dar nu apare.", "R: Momentan nu există sincronizare automată cu Metal Archives."],
["Î: Mă urmăreşte site-ul?", "R: Doar pentru analiza traficului prin GoatCounter (fără cookie-uri). Blocatoarele de reclame blochează aceste solicitări fără probleme."],
],
},
pt: {
search_placeholder: "Pesquisar (nome, género, cidade, país)…",
displayed: "exibidos", total_bands: "total", localities: "localidades", located: "localizados",
view_section: "Vista", reset_view: "Repor vista", heatmap_label: "Mapa de calor",
filters_section: "Filtros", without_coords_btn: "Sem coordenadas",
country_label: "País", all_label: "Todos", status_label: "Estado",
genres_label: "Géneros", subgenres_label: "Subgéneros", selection_label: "Seleção",
themes_label: "Temas", timeline_label: "Linha do tempo (ano de formação)",
sort_label: "Ordenar lista", sort_az: "A → Z", sort_status: "Por estado",
sort_genre: "Por género", sort_country: "Por país", sort_year: "Por ano (recente → antigo)",
list_section: "Lista", legal_link: "Aviso legal", faq_link: "FAQ",
visits_label: "Visitas", this_month_label: "Este mês", options_btn: "Opções", close_btn: "Fechar",
all_years_label: "todos", year_data_missing: "dados em falta",
year_data_unavailable: "Dados de ano indisponíveis", results_label: "resultado(s)",
loading_text: "A carregar…", without_coords_modal: "Bandas sem coordenadas",
group_s: "banda", group_p: "bandas", location_fallback: "Localização",
legal_title: "Aviso legal", faq_title: "FAQ",
ed_title: "Editor do site", ed_name: "Autor: Nico", ed_status: "Estatuto: particular", ed_contact: "Contacto:",
host_title: "Alojamento", host_text: "OVH SAS – 2 rue Kellermann - 59100 Roubaix - França",
ip_title: "Propriedade intelectual",
ip_text: "Os conteúdos (textos, imagens, dados agregados) são disponibilizados para fins informativos. Logótipos e nomes de bandas pertencem aos respetivos autores. Todos os dados provêm de __MA__, com autorização dos webmasters.",
prv_title: "Dados pessoais",
prv_text: "Este site não recolhe dados pessoais nem instala cookies de rastreamento. O fornecedor de alojamento pode conservar registos técnicos. O tráfego é analisado via __GC__ (sem cookies).",
pub_title: "Responsável pela publicação", pub_name: "Nico",
thanks_title: "Agradecimentos",
thanks_intro: "Este site baseia-se em ferramentas e serviços excelentes:",
thanks_map: "Cartografia", thanks_geo: "Geocodificação", thanks_data: "Dados",
thanks_hb: "Agradecimento especial ao HellBlazer (webmaster Metal Archives) pela autorização de scraping.",
faq: [
["P: De onde vêm os dados?", "R: Metal Archives + enriquecimento geográfico automatizado. Algumas correções manuais, mas é fastidioso."],
["P: Posso corrigir um erro?", "R: Sim, se for do site contacte-me pelo e-mail no aviso legal. Para dados, corrija diretamente no Metal Archives."],
["P: Porque é que alguns grupos não são visíveis?", "R: A geocodificação automática tem erros inerentes. A correção manual de localizações é fastidiosa."],
["P: Acabei de criar o meu grupo no Metal Archives mas não aparece.", "R: Atualmente não existe sincronização automática com o Metal Archives."],
["P: O site rastreia-me?", "R: Apenas para análise de tráfego via GoatCounter (sem cookies). Os bloqueadores de anúncios bloqueiam estes pedidos sem problema."],
],
},
cs: {
search_placeholder: "Hledat (název, žánr, město, země)…",
displayed: "zobrazeno", total_bands: "celkem", localities: "míst", located: "lokalizováno",
view_section: "Zobrazení", reset_view: "Obnovit zobrazení", heatmap_label: "Tepelná mapa",
filters_section: "Filtry", without_coords_btn: "Bez souřadnic",
country_label: "Země", all_label: "Vše", status_label: "Stav",
genres_label: "Žánry", subgenres_label: "Subžánry", selection_label: "Výběr",
themes_label: "Témata", timeline_label: "Časová osa (rok vzniku)",
sort_label: "Seřadit seznam", sort_az: "A → Z", sort_status: "Podle stavu",
sort_genre: "Podle žánru", sort_country: "Podle země", sort_year: "Podle roku (nejnovější → nejstarší)",
list_section: "Seznam", legal_link: "Právní informace", faq_link: "FAQ",
visits_label: "Návštěvy", this_month_label: "Tento měsíc", options_btn: "Možnosti", close_btn: "Zavřít",
all_years_label: "vše", year_data_missing: "chybějící data",
year_data_unavailable: "Data roku nedostupná", results_label: "výsledek/ků",
loading_text: "Načítání…", without_coords_modal: "Kapely bez souřadnic",
group_s: "kapela", group_p: "kapely", location_fallback: "Poloha",
legal_title: "Právní informace", faq_title: "FAQ",
ed_title: "Provozovatel webu", ed_name: "Autor: Nico", ed_status: "Stav: soukromá osoba", ed_contact: "Kontakt:",
host_title: "Hosting", host_text: "OVH SAS – 2 rue Kellermann - 59100 Roubaix - Francie",
ip_title: "Duševní vlastnictví",
ip_text: "Obsah (texty, obrázky, agregovaná data) je poskytován pro informační účely. Loga a názvy kapel zůstávají majetkem jejich autorů. Veškerá data pocházejí z __MA__, se souhlasem webmasterů.",
prv_title: "Osobní údaje",
prv_text: "Tento web neshromažďuje osobní údaje ani neinstaluje sledovací cookies. Poskytovatel hostingu může uchovávat technické záznamy. Provoz je analyzován prostřednictvím __GC__ (bez cookies).",
pub_title: "Odpovědný redaktor", pub_name: "Nico",
thanks_title: "Poděkování",
thanks_intro: "Tento web využívá vynikající nástroje a služby:",
thanks_map: "Kartografie", thanks_geo: "Geokódování", thanks_data: "Data",
thanks_hb: "Zvláštní poděkování HellBlazerovi (webmaster Metal Archives) za povolení scrapingu.",
faq: [
["O: Odkud pocházejí data?", "A: Metal Archives + automatické geografické obohacení. Několik manuálních oprav, ale je to únavné."],
["O: Mohu opravit chybu?", "A: Ano, pokud se týka webu, kontaktujte mě na e-mail v právních informacích. Pro data opravte přímo na Metal Archives."],
["O: Proč některé kapely nejsou viditelné?", "A: Automatické geokódování má inherentní chyby. Ruční oprava polohy je únavná."],
["O: Právě jsem vytvořil kapelu na Metal Archives, ale nezobrazuje se.", "A: Automatická synchronizace s Metal Archives momentálně není implementována."],
["O: Sleduje mě web?", "A: Pouze pro analýzu provozu přes GoatCounter (bez cookies). Blokátory reklam tyto požadavky bez problémů zablokují."],
],
},
sv: {
search_placeholder: "Sök (namn, genre, stad, land)…",
displayed: "visade", total_bands: "totalt", localities: "orter", located: "lokaliserade",
view_section: "Vy", reset_view: "Återställ vy", heatmap_label: "Värmekarta",
filters_section: "Filter", without_coords_btn: "Utan koordinater",
country_label: "Land", all_label: "Alla", status_label: "Status",
genres_label: "Genrer", subgenres_label: "Undergenrer", selection_label: "Val",
themes_label: "Teman", timeline_label: "Tidslinje (grundat år)",
sort_label: "Sortera lista", sort_az: "A → Z", sort_status: "Efter status",
sort_genre: "Efter genre", sort_country: "Efter land", sort_year: "Efter år (nyaste → äldsta)",
list_section: "Lista", legal_link: "Juridisk information", faq_link: "FAQ",
visits_label: "Besök", this_month_label: "Denna månad", options_btn: "Alternativ", close_btn: "Stäng",
all_years_label: "alla", year_data_missing: "data saknas",
year_data_unavailable: "Årsdata ej tillgänglig", results_label: "resultat",
loading_text: "Laddar…", without_coords_modal: "Band utan koordinater",
group_s: "band", group_p: "band", location_fallback: "Plats",
legal_title: "Juridisk information", faq_title: "FAQ",
ed_title: "Webbplatsredaktör", ed_name: "Författare: Nico", ed_status: "Status: privatperson", ed_contact: "Kontakt:",
host_title: "Hosting", host_text: "OVH SAS – 2 rue Kellermann - 59100 Roubaix - Frankrike",
ip_title: "Immateriell egendom",
ip_text: "Innehåll (texter, bilder, aggregerade data) tillhandahålls för informationsändamål. Bandlogotyper och namn förblir upphovsrättshavarnas egendom. All data härstämmar från __MA__, med webmasternas tillåtelse.",
prv_title: "Personuppgifter",
prv_text: "Denna webbplats samlar inte in personuppgifter eller installerar spårningscookies. Hostingleverantören kan spara tekniska loggar. Trafiken analyseras via __GC__ (utan cookies).",
pub_title: "Publiceringsansvarig", pub_name: "Nico",
thanks_title: "Tack till",
thanks_intro: "Denna webbplats förlitar sig på utmärkta verktyg och tjänster:",
thanks_map: "Kartografi", thanks_geo: "Geokodning", thanks_data: "Data",
thanks_hb: "Särskilt tack till HellBlazer (webmaster Metal Archives) för tillståndet att scrapa.",
faq: [
["F: Varifån kommer data?", "S: Metal Archives + automatisk geografisk berikning. Några manuella korrigeringar, men det är tråkigt."],
["F: Kan jag korrigera ett fel?", "S: Ja, för sidproblem, kontakta mig via e-postadressen i juridisk information. För dataproblem, korrigera direkt på Metal Archives."],
["F: Varför är vissa band inte synliga?", "S: Automatisk geokodning har inneboënde fel. Manuell korrigering av platser är tråkig."],
["F: Jag skapade just mitt band på Metal Archives men det visas inte.", "S: Ingen automatisk synkronisering med Metal Archives är för närvarande implementerad."],
["F: Spårar webbplatsen mig?", "S: Endast för trafikanalys via GoatCounter (inga cookies). Annonsblockerare blockerar dessa förfrågningar utan problem."],
],
},
};
/* Build LOCALES — add legal_html + faq_html to each entry */
window.LOCALES = {};
for (const [code, d] of Object.entries(RAW)) {
window.LOCALES[code] = Object.assign({}, d, {
legal_html: buildLegal(d),
faq_html: buildFaq(d),
});
}
})();