Magyar, Dansk, Suomi, Slovenčina, Hrvatski, Slovenščina, Lietuvių, Latviešu,
Eesti, Norsk bokmål. 21 langues au total.
- locales.js: traductions complètes des ~50 clés (faq, legal inclus)
- index.html: boutons dropdown avec flag-icons (sl→si, et→ee, nb→no, da→dk)
- app.js: SUPPORTED_LANGS, LANG_FLAGS, LANG_NAMES
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
bands.ma_id est BIGINT (crawler génère jusqu'à ~3.5e9) mais band_locations.ma_id
avait été créé en INTEGER (max 2.1e9). Tout INSERT pour un band à ma_id élevé
échouait en "integer out of range", erreur avalée silencieusement par l'enqueue.
62 239 bands (sur 96 143 localisables) n'entraient donc jamais dans le pipeline,
d'où 0 llm_needed / 0 erreur trompeurs.
- migration 008: ma_id BIGINT (installs neuves)
- migration 009: ALTER COLUMN ma_id TYPE BIGINT (DB existante)
- enqueue.py: compte les inserts échoués (failed=) au lieu de les avaler
- worker.py: sync_bands_primary prend le lieu d'ORIGINE (step 0) et non la
dernière localisation — garde les groupes européens en Europe
- admin app.js: coût LLM robuste au NaN (NUMERIC accepte la valeur spéciale NaN)
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-02 19:47:30 +02:00
7 changed files with 405 additions and 12 deletions
host_title:"Tárhelyszolgáltató",host_text:"OVH SAS – 2 rue Kellermann - 59100 Roubaix - Franciaország",
ip_title:"Szellemi tulajdon",
ip_text:"A tartalmak (szövegek, képek, összesített adatok) tájékoztató jelleggel kerülnek közzétételre. A bandák logói és nevei szerzőik tulajdonai maradnak. Minden adat a __MA__ oldalról származik, a webmasterek engedélyével.",
prv_title:"Személyes adatok",
prv_text:"Ez a weboldal nem gyűjt személyes adatokat, és nem telepít nyomkövető sütiket. A tárhelyszolgáltató technikai naplókat tárolhat. A forgalom elemzése __GC__ segítségével történik (sütik nélkül).",
pub_title:"Felelős szerkesztő",pub_name:"Nico",
thanks_title:"Köszönet",
thanks_intro:"Ez a weboldal kiváló eszközökre és szolgáltatásokra támaszkodik:",
thanks_hb:"Különös köszönet HellBlazernek (Metal Archives webmaster) a scraping engedélyéért.",
faq:[
["K: Honnan származnak az adatok?","V: Metal Archives + automatizált földrajzi gazdagítás. Néhány kézi javítás, de ez fáradságos."],
["K: Javíthatok egy hibát?","V: Igen, ha a weboldalt érinti, lépj kapcsolatba velem a jogi oldalon megadott e-mailben. Az adatokhoz javítsd közvetlenül a Metal Archives-on."],
["K: Miért nem láthatók egyes együttesek?","V: Az automatikus geokódolásnak inherens hibái vannak. A helyek kézi javítása fáradságos."],
["K: Éppen létrehoztam az együttesem a Metal Archives-on, de nem jelenik meg.","V: Jelenleg nincs automatikus szinkronizáció a Metal Archives-szal."],
["K: Nyomon követ engem a weboldal?","V: Csak a forgalom elemzéséhez a GoatCounter segítségével (sütik nélkül). A reklámblokkolók gond nélkül blokkolják ezeket a kéréseket."],
host_title:"Hosting",host_text:"OVH SAS – 2 rue Kellermann - 59100 Roubaix - Frankrig",
ip_title:"Intellektuel ejendomsret",
ip_text:"Indhold (tekster, billeder, aggregerede data) leveres til informationsformål. Bandlogoer og navne forbliver deres forfatteres ejendom. Alle data stammer fra __MA__, med webmasternes tilladelse.",
prv_title:"Personlige data",
prv_text:"Dette websted indsamler ikke personoplysninger og installerer ikke sporings-cookies. Hostingudbyderen kan opbevare tekniske logs. Trafik analyseres via __GC__ (uden cookies).",
pub_title:"Ansvarlig udgiver",pub_name:"Nico",
thanks_title:"Tak til",
thanks_intro:"Dette websted bygger på fremragende værktøjer og tjenester:",
thanks_hb:"Særlig tak til HellBlazer (Metal Archives webmaster) for tilladelsen til scraping.",
faq:[
["Sp: Hvor kommer dataene fra?","Sv: Metal Archives + automatiseret geografisk berikning. Nogle manuelle rettelser, men det er kedeligt."],
["Sp: Kan jeg rette en fejl?","Sv: Ja, hvis det vedrører webstedet, kontakt mig via e-mailen i juridisk information. For data, ret direkte på Metal Archives."],
["Sp: Hvorfor er nogle bands ikke synlige?","Sv: Automatisk geokodning har iboende fejl. Manuel korrektion af placeringer er kedeligt."],
["Sp: Jeg oprettede netop mit band på Metal Archives, men det vises ikke.","Sv: Ingen automatisk synkronisering med Metal Archives er i øjeblikket implementeret."],
["Sp: Sporer webstedet mig?","Sv: Kun til trafikanalyse via GoatCounter (ingen cookies). Annonceblokkere blokerer disse anmodninger uden problemer."],
],
},
fi:{
search_placeholder:"Haku (nimi, genre, kaupunki, maa)…",
host_title:"Palveluntarjoaja",host_text:"OVH SAS – 2 rue Kellermann - 59100 Roubaix - Ranska",
ip_title:"Immateriaalioikeudet",
ip_text:"Sisältö (tekstit, kuvat, koottu data) on tarjolla tiedotustarkoituksessa. Bändien logot ja nimet pysyvät tekijöidensä omaisuutena. Kaikki data on peräisin __MA__-sivustolta webmasterien luvalla.",
prv_title:"Henkilötiedot",
prv_text:"Tämä sivusto ei kerää henkilötietoja eikä asenna seurantaevästeitä. Palveluntarjoaja voi säilyttää teknisiä lokeja. Liikenne analysoidaan __GC__:n kautta (ilman evästeitä).",
pub_title:"Julkaisusta vastaava",pub_name:"Nico",
thanks_title:"Kiitokset",
thanks_intro:"Tämä sivusto perustuu erinomaisiin työkaluihin ja palveluihin:",
["K: Mistä data on peräisin?","V: Metal Archives + automatisoitu maantieteellinen rikastaminen. Joitakin manuaalisia korjauksia, mutta se on työlästä."],
["K: Voinko korjata virheen?","V: Kyllä, jos kyse on sivustosta, ota minuun yhteyttä lakitiedoissa mainitun sähköpostin kautta. Datan osalta korjaa suoraan Metal Archivesissa."],
["K: Miksi jotkut bändit eivät näy?","V: Automaattisella geokoodauksella on inhärentin virheitä. Sijaintien manuaalinen korjaaminen on työlästä."],
["K: Loin juuri bändini Metal Archivesiin, mutta se ei näy.","V: Automaattista synkronointia Metal Archivesin kanssa ei ole tällä hetkellä toteutettu."],
["K: Seuraako sivusto minua?","V: Vain liikenteen analysointiin GoatCounterin kautta (ei evästeitä). Mainosten esto estää nämä pyynnöt ongelmitta."],
],
},
sk:{
search_placeholder:"Hľadať (názov, žáner, mesto, krajina)…",
host_title:"Hosting",host_text:"OVH SAS – 2 rue Kellermann - 59100 Roubaix - Francúzsko",
ip_title:"Duševné vlastníctvo",
ip_text:"Obsah (texty, obrázky, agregované dáta) je poskytovaný na informačné účely. Logá a názvy kapiel zostávajú majetkom ich autorov. Všetky dáta pochádzajú z __MA__, so súhlasom webmasterov.",
prv_title:"Osobné údaje",
prv_text:"Táto webstránka nezhromažďuje osobné údaje ani neinštaluje sledovacie cookies. Poskytovateľ hostingu môže uchovávať technické záznamy. Prevádzka je analyzovaná prostredníctvom __GC__ (bez cookies).",
pub_title:"Zodpovedný redaktor",pub_name:"Nico",
thanks_title:"Poďakovania",
thanks_intro:"Táto webstránka využíva vynikajúce nástroje a služby:",
thanks_hb:"Špeciálne poďakovanie HellBlazerovi (webmaster Metal Archives) za povolenie scrapingu.",
faq:[
["O: Odkiaľ pochádzajú dáta?","A: Metal Archives + automatizované geografické obohatenie. Niekoľko manuálnych opráv, ale je to únavné."],
["O: Môžem opraviť chybu?","A: Áno, ak sa týka webu, kontaktujte ma prostredníctvom e-mailu v právnych informáciách. Pri dátach opravte priamo na Metal Archives."],
["O: Prečo niektoré kapely nie sú viditeľné?","A: Automatické geokódovanie má inherentné chyby. Manuálna oprava polohy je únavná."],
["O: Práve som vytvoril kapelu na Metal Archives, ale nezobrazuje sa.","A: Automatická synchronizácia s Metal Archives momentálne nie je implementovaná."],
["O: Sleduje ma web?","A: Iba na analýzu návštevnosti cez GoatCounter (bez cookies). Blokovače reklám tieto požiadavky bez problémov zablokujú."],
],
},
hr:{
search_placeholder:"Pretraži (ime, žanr, grad, država)…",
host_title:"Hosting",host_text:"OVH SAS – 2 rue Kellermann - 59100 Roubaix - Francuska",
ip_title:"Intelektualno vlasništvo",
ip_text:"Sadržaji (tekstovi, slike, agregirani podaci) pružaju se u informativne svrhe. Logotipi i nazivi bendova ostaju vlasništvo njihovih autora. Svi podaci potječu s __MA__, uz dopuštenje webmastera.",
prv_title:"Osobni podaci",
prv_text:"Ova stranica ne prikuplja osobne podatke niti instalira kolačiće za praćenje. Pružatelj usluga hostinga može čuvati tehničke zapise. Promet se analizira putem __GC__ (bez kolačića).",
pub_title:"Odgovorni urednik",pub_name:"Nico",
thanks_title:"Zahvale",
thanks_intro:"Ova stranica oslanja se na izvrsne alate i usluge:",
thanks_hb:"Posebna zahvala HellBlazeru (webmaster Metal Archives) za dopuštenje scrapinga.",
faq:[
["P: Odakle dolaze podaci?","O: Metal Archives + automatizovano geografsko obogaćivanje. Neke ručne ispravke, ali je zamorno."],
["P: Mogu li ispraviti pogrešku?","O: Da, ako se tiče stranice, kontaktirajte me putem e-maila u pravnim informacijama. Za podatke, ispravite direktno na Metal Archives."],
["P: Zašto neki bendovi nisu vidljivi?","O: Automatsko geokodiranje ima inherentnih grešaka. Ručna ispravka lokacija je zamorna."],
["P: Upravo sam stvorio bend na Metal Archives-u, ali se ne pojavljuje.","O: Automatska sinkronizacija s Metal Archives-om trenutno nije implementirana."],
["P: Prati li me stranica?","O: Samo za analizu prometa putem GoatCountera (bez kolačića). Blokatori oglasa blokiraju ove zahtjeve bez problema."],
],
},
sl:{
search_placeholder:"Iskanje (ime, zvrst, mesto, država)…",
host_title:"Gostovanje",host_text:"OVH SAS – 2 rue Kellermann - 59100 Roubaix - Francija",
ip_title:"Intelektualna lastnina",
ip_text:"Vsebine (besedila, slike, agregirani podatki) so na voljo v informativne namene. Logotipi in imena bendov ostajajo last njihovih avtorjev. Vsi podatki izvirajo iz __MA__, z dovoljenjem spletnih mojstrov.",
prv_title:"Osebni podatki",
prv_text:"To spletišče ne zbira osebnih podatkov in ne namešča sledilnih piškotkov. Ponudnik gostovanja lahko hrani tehnične dnevnike. Promet se analizira prek __GC__ (brez piškotkov).",
pub_title:"Odgovorni urednik",pub_name:"Nico",
thanks_title:"Zahvale",
thanks_intro:"To spletišče temelji na odličnih orodjih in storitvah:",
thanks_hb:"Posebna zahvala HellBlazerju (spletni mojster Metal Archives) za dovoljenje za scraping.",
faq:[
["V: Od kod prihajajo podatki?","O: Metal Archives + avtomatizirano geografsko obogatitev. Nekatere ročne popravke, ampak je dolgočasno."],
["V: Ali lahko popravim napako?","O: Da, če se nanaša na spletišče, me kontaktirajte prek e-pošte v pravnih informacijah. Za podatke, popravite neposredno na Metal Archives."],
["V: Zakaj nekateri bendi niso vidni?","O: Avtomatsko geokodiranje ima inherentne napake. Ročno popravljanje lokacij je dolgočasno."],
["V: Ravnokar sem ustvaril bend na Metal Archives, a se ne prikaže.","O: Avtomatska sinhronizacija z Metal Archives trenutno ni implementirana."],
["V: Me spletišče sledi?","O: Samo za analizo prometa prek GoatCounterja (brez piškotkov). Blokirniki oglasov brez težav blokirajo te zahteve."],
],
},
lt:{
search_placeholder:"Ieškoti (pavadinimas, žanras, miestas, šalis)…",
host_title:"Priegloba",host_text:"OVH SAS – 2 rue Kellermann - 59100 Roubaix - Prancūzija",
ip_title:"Intelektinė nuosavybė",
ip_text:"Turinys (tekstai, vaizdai, apibendrinti duomenys) pateikiamas informaciniais tikslais. Grupių logotipai ir pavadinimai lieka jų autorių nuosavybe. Visi duomenys gaunami iš __MA__, gavus svetainių valdytojų leidimą.",
prv_title:"Asmens duomenys",
prv_text:"Ši svetainė nerenka asmens duomenų ir neinstaliuoja sekimo slapukų. Prieglobos paslaugų teikėjas gali saugoti techninius žurnalus. Srautas analizuojamas per __GC__ (be slapukų).",
pub_title:"Atsakingas leidėjas",pub_name:"Nico",
thanks_title:"Padėkos",
thanks_intro:"Ši svetainė remiasi puikiomis priemonėmis ir paslaugomis:",
thanks_hb:"Ypatingas ačiū HellBlazer'iui (Metal Archives svetainių valdytojas) už leidimą naudoti scrapingą.",
faq:[
["K: Iš kur kilę duomenys?","A: Metal Archives + automatizuotas geografinis praturtinimas. Keletas rankinių pataisymų, bet tai nuobodu."],
["K: Ar galiu ištaisyti klaidą?","A: Taip, jei tai susiję su svetaine, susisiekite su manimi el. paštu teisinėje informacijoje. Duomenims taisykite tiesiogiai Metal Archives."],
["K: Kodėl kai kurios grupės nematomos?","A: Automatinis geokodavimas turi įgimtų klaidų. Rankinis vietų taisymas yra nuobodus."],
["K: Ką tik sukūriau savo grupę Metal Archives, bet ji nerodoma.","A: Šiuo metu nėra automatinės sinchronizacijos su Metal Archives."],
["K: Ar svetainė mane seka?","A: Tik srauto analizei per GoatCounter (be slapukų). Reklamos blokatoriai be problemų blokuoja šias užklausas."],
],
},
lv:{
search_placeholder:"Meklēt (nosaukums, žanrs, pilsēta, valsts)…",
host_title:"Mitināšana",host_text:"OVH SAS – 2 rue Kellermann - 59100 Roubaix - Francija",
ip_title:"Intelektuālais īpašums",
ip_text:"Saturs (teksti, attēli, apkopotie dati) tiek sniegts informatīviem nolūkiem. Grupu logotipi un nosaukumi paliek to autoru īpašumā. Visi dati nāk no __MA__, ar tīmekļa vietņu pārvaldnieku atļauju.",
prv_title:"Personas dati",
prv_text:"Šī vietne neapkopo personas datus un neinstalē izsekošanas sīkdatnes. Mitināšanas pakalpojumu sniedzējs var glabāt tehniskos žurnālus. Trafiks tiek analizēts, izmantojot __GC__ (bez sīkdatnēm).",
pub_title:"Atbildīgais izdevējs",pub_name:"Nico",
thanks_title:"Pateicības",
thanks_intro:"Šī vietne balstās uz izciliem rīkiem un pakalpojumiem:",
thanks_hb:"Īpaša pateicība HellBlazer (Metal Archives tīmekļvietnes pārvaldnieks) par atļauju veikt skrāpēšanu.",
faq:[
["J: No kurienes nāk dati?","A: Metal Archives + automatizēta ģeogrāfiskā bagātināšana. Daži manuāli labojumi, bet tas ir nogurdinoši."],
["J: Vai es varu labot kļūdu?","A: Jā, ja tā attiecas uz vietni, sazinieties ar mani pa e-pastu juridiskajā informācijā. Datiem labojiet tieši Metal Archives."],
["J: Kāpēc dažas grupas nav redzamas?","A: Automātiskajai geokodēšanai ir raksturīgas kļūdas. Manuāla atrašanās vietu labošana ir nogurdinoša."],
["J: Tikko izveidoju savu grupu Metal Archives, bet tā neparādās.","A: Pašlaik nav ieviesta automātiskā sinhronizācija ar Metal Archives."],
["J: Vai vietne mani izseko?","A: Tikai trafika analīzei, izmantojot GoatCounter (bez sīkdatnēm). Reklāmu bloķētāji bez problēmām bloķē šos pieprasījumus."],
],
},
et:{
search_placeholder:"Otsi (nimi, žanr, linn, riik)…",
host_title:"Majutus",host_text:"OVH SAS – 2 rue Kellermann - 59100 Roubaix - Prantsusmaa",
ip_title:"Intellektuaalne omand",
ip_text:"Sisu (tekstid, pildid, koondandmed) on esitatud informatiivsetel eesmärkidel. Bändide logod ja nimed jäävad nende autorite omandisse. Kõik andmed pärinevad __MA__-lt, veebimeistrite loal.",
prv_title:"Isikuandmed",
prv_text:"See sait ei kogu isikuandmeid ega installi jälgimisküpsiseid. Majutusteenuse pakkuja võib säilitada tehnilisi logisid. Liiklust analyseeritakse __GC__ kaudu (küpsisteta).",
thanks_hb:"Eriline tänu HellBlazerile (Metal Archivesi veebimeister) kraapimise loa eest.",
faq:[
["K: Kust andmed pärinevad?","V: Metal Archives + automatiseeritud geograafiline rikastamine. Mõned käsitsi parandused, kuid see on tüütu."],
["K: Kas saan vea parandada?","V: Jah, kui see puudutab saiti, võtke minuga ühendust õiguslikus teabes oleva e-posti kaudu. Andmete puhul parandage otse Metal Archivesis."],
["K: Miks mõned bändid pole nähtavad?","V: Automaatsel geokodeerimisel on omased vead. Asukohtade käsitsi parandamine on tüütu."],
["K: Lõin just oma bändi Metal Archivesis, kuid see ei ilmu.","V: Praegu pole Metal Archivesiga automaatset sünkroonimist rakendatud."],
["K: Kas sait jälgib mind?","V: Ainult liikluse analüüsimiseks GoatCounteri kaudu (küpsisteta). Reklaamiblokeerijad blokeerivad need päringud probleemideta."],
host_title:"Hosting",host_text:"OVH SAS – 2 rue Kellermann - 59100 Roubaix - Frankrike",
ip_title:"Immateriell eiendom",
ip_text:"Innhold (tekster, bilder, aggregerte data) tilbys for informasjonsformål. Bandlogoer og navn forblir deres forfatteres eiendom. Alle data stammer fra __MA__, med webmasternes tillatelse.",
prv_title:"Personlige data",
prv_text:"Dette nettstedet samler ikke inn personopplysninger og installerer ikke sporingskapsler. Leverandøren av webhosting kan oppbevare tekniske logger. Trafikk analyseres via __GC__ (uten informasjonskapsler).",
pub_title:"Ansvarlig utgiver",pub_name:"Nico",
thanks_title:"Takk til",
thanks_intro:"Dette nettstedet er avhengig av utmerkede verktøy og tjenester:",
thanks_hb:"Spesiell takk til HellBlazer (Metal Archives webmaster) for tillatelse til scraping.",
faq:[
["Sp: Hvor kommer dataene fra?","Sv: Metal Archives + automatisert geografisk berikelse. Noen manuelle korreksjoner, men det er kjedelig."],
["Sp: Kan jeg korrigere en feil?","Sv: Ja, hvis det gjelder nettstedet, kontakt meg via e-posten i juridisk informasjon. For data, korriger direkte på Metal Archives."],
["Sp: Hvorfor er noen band ikke synlige?","Sv: Automatisk geokoding har iboende feil. Manuell korreksjon av plasseringer er kjedelig."],
["Sp: Jeg opprettet nettopp bandet mitt på Metal Archives, men det vises ikke.","Sv: Ingen automatisk synkronisering med Metal Archives er for øyeblikket implementert."],
["Sp: Sporer nettstedet meg?","Sv: Bare for trafikkanalyse via GoatCounter (ingen informasjonskapsler). Annonseblokkere blokkerer disse forespørslene uten problemer."],
],
},
};
/* Build LOCALES — add legal_html + faq_html to each entry */