{"id":19598,"date":"2026-09-17T14:21:31","date_gmt":"2026-09-17T12:21:31","guid":{"rendered":"https:\/\/www.lukaswojcik.com\/blog\/narzedzia\/isrc-iswc-barcode-lookup-musicbrainz\/"},"modified":"2026-09-17T16:52:13","modified_gmt":"2026-09-17T14:52:13","slug":"isrc-iswc-barcode-lookup-musicbrainz","status":"publish","type":"page","link":"https:\/\/www.lukaswojcik.com\/blog\/pl\/narzedzia\/isrc-iswc-barcode-lookup-musicbrainz\/","title":{"rendered":"Wyszukiwarka ISRC, ISWC i kod\u00f3w kreskowych: nagrania, utwory i wydawnictwa w MusicBrainz"},"content":{"rendered":"<div class=\"lw-mbq\" id=\"mbq-wurzel\" style=\"background: var(--bg-panel, #1e1e24); padding: 25px; border-radius: 8px; border: 1px solid var(--border, #2a2a35);\">\n<style>\n.lw-mbq { --mbq-warn: #e8a33d; }\n:root[data-theme=\"light\"] .lw-mbq { --mbq-warn: #8f5300; }\n.lw-mbq .mbq-feld { width: 100%; box-sizing: border-box; padding: 10px 12px; background: var(--bg-body, #14141a); border: 1px solid var(--border, #2a2a35); color: var(--text-primary, #e8e8ee); border-radius: 6px; font-family: monospace; font-size: 1rem; }\n.lw-mbq .mbq-reihe { display: flex; flex-wrap: wrap; gap: 8px 10px; align-items: center; margin: 12px 0 0; }\n.lw-mbq .mbq-knopf { background: var(--accent, #2ba6df); color: var(--on-accent, #0b1114); border: none; padding: 11px 22px; border-radius: 6px; font-weight: 700; cursor: pointer; }\n.lw-mbq .mbq-knopf[disabled] { opacity: 0.6; cursor: default; }\n.lw-mbq .mbq-bsp { background: transparent; color: var(--text-secondary, #a0a0b0); border: 1px solid var(--border, #2a2a35); padding: 6px 10px; border-radius: 6px; cursor: pointer; font-family: monospace; font-size: 0.82rem; }\n.lw-mbq .mbq-klein { font-size: 0.84rem; color: var(--text-secondary, #a0a0b0); line-height: 1.55; }\n.lw-mbq .mbq-erkannt { font-size: 0.86rem; margin: 8px 0 0; min-height: 1.3em; line-height: 1.5; }\n.lw-mbq .mbq-ok { color: var(--ok, #7ee787); }\n.lw-mbq .mbq-fehler { color: var(--fail, #ff7b72); }\n.lw-mbq .mbq-warn { color: var(--mbq-warn); }\n.lw-mbq .mbq-kopf { display: flex; flex-wrap: wrap; gap: 4px 14px; align-items: baseline; margin: 0 0 8px; }\n.lw-mbq .mbq-typ { font-size: 0.74rem; text-transform: uppercase; letter-spacing: 0.4px; color: var(--text-secondary, #a0a0b0); }\n.lw-mbq .mbq-code { font-family: monospace; font-size: 1.12rem; font-weight: 700; color: var(--text-primary, #e8e8ee); word-break: break-all; }\n.lw-mbq .mbq-summe { font-weight: 700; font-size: 0.95rem; color: var(--text-primary, #e8e8ee); }\n.lw-mbq .mbq-karte { background: var(--bg-body, #14141a); border: 1px solid var(--border, #2a2a35); border-left-width: 3px; border-radius: 8px; padding: 12px 14px; margin: 0 0 10px; }\n.lw-mbq .mbq-karte.mbq-stufe-gut { border-left-color: var(--ok, #7ee787); }\n.lw-mbq .mbq-karte.mbq-stufe-mittel { border-left-color: var(--mbq-warn); }\n.lw-mbq .mbq-karte.mbq-stufe-info { border-left-color: var(--text-secondary, #a0a0b0); }\n.lw-mbq .mbq-stufe { font-size: 0.72rem; text-transform: uppercase; letter-spacing: 0.5px; font-weight: 700; margin: 0 0 3px; }\n.lw-mbq .mbq-titel { font-weight: 700; color: var(--text-primary, #e8e8ee); font-size: 1rem; overflow-wrap: anywhere; }\n.lw-mbq .mbq-unter { color: var(--text-secondary, #a0a0b0); font-size: 0.88rem; margin: 2px 0 4px; overflow-wrap: anywhere; }\n.lw-mbq table { border-collapse: collapse; width: 100%; font-size: 0.86rem; margin-top: 6px; }\n.lw-mbq th, .lw-mbq td { text-align: left; padding: 5px 12px 5px 0; border-bottom: 1px solid var(--border, #2a2a35); vertical-align: top; }\n.lw-mbq table.mbq-kv th { color: var(--text-secondary, #a0a0b0); font-weight: 400; white-space: nowrap; width: 1%; }\n.lw-mbq table.mbq-kv td { overflow-wrap: anywhere; }\n.lw-mbq table.mbq-liste th { color: var(--text-secondary, #a0a0b0); font-weight: 700; font-size: 0.74rem; text-transform: uppercase; letter-spacing: 0.4px; white-space: nowrap; }\n.lw-mbq td { color: var(--text-primary, #e8e8ee); }\n.lw-mbq .mbq-mono { font-family: monospace; }\n.lw-mbq .mbq-rollbar { overflow-x: auto; }\n.lw-mbq .mbq-rollbar table { min-width: 560px; }\n.lw-mbq .mbq-h { font-weight: 700; color: var(--text-primary, #e8e8ee); font-size: 0.98rem; margin: 22px 0 8px; }\n.lw-mbq .mbq-h2 { font-weight: 700; color: var(--text-secondary, #a0a0b0); font-size: 0.84rem; margin: 12px 0 2px; }\n.lw-mbq a { color: var(--accent, #2ba6df); }\n<\/style>\n<p style=\"color: var(--text-secondary, #a0a0b0); margin-bottom: 18px;\">Czy kod ISRC rzeczywi\u015bcie nale\u017cy do w\u0142a\u015bciwego nagrania, pokazuje dopiero baza danych. Wyszukiwarka sprawdza ISRC, ISWC, UPC lub EAN w MusicBrainz, otwartej bazie danych muzycznych: dla ISRC nagrania z wydawnictwami i powi\u0105zanym utworem, dla ISWC utwory z autorami, dla kodu kreskowego wydawnictwa. Kody u\u017cyte wi\u0119cej ni\u017c raz s\u0105 przy tym widoczne od razu.<\/p>\n<p>    <label for=\"mbq-code\" class=\"mbq-klein\" style=\"display: block; margin-bottom: 6px;\">ISRC, ISWC, UPC lub EAN (my\u015blniki, kropki i spacje s\u0105 pomijane)<\/label><br \/>\n    <input id=\"mbq-code\" class=\"mbq-feld\" type=\"text\" maxlength=\"80\" spellcheck=\"false\" autocomplete=\"off\" placeholder=\"np. GBDUW0000059\"><\/p>\n<div id=\"mbq-erkannt\" data-mp-mask class=\"mbq-erkannt\" aria-live=\"polite\"><\/div>\n<div class=\"mbq-reihe\">\n        <button id=\"mbq-knopf\" type=\"button\" class=\"mbq-knopf\">Wyszukanie w MusicBrainz<\/button><br \/>\n        <span class=\"mbq-klein\">Przyk\u0142ady:<\/span><br \/>\n        <button type=\"button\" class=\"mbq-bsp\" data-code=\"GBDUW0000059\">GBDUW0000059<\/button><br \/>\n        <button type=\"button\" class=\"mbq-bsp\" data-code=\"T-071.495.166-2\">T-071.495.166-2<\/button><br \/>\n        <button type=\"button\" class=\"mbq-bsp\" data-code=\"724384960629\">724384960629<\/button>\n    <\/div>\n<p class=\"mbq-klein\" style=\"margin: 14px 0 0;\">Po klikni\u0119ciu reCAPTCHA firmy Google sprawdza zapytanie. Serwer tej witryny wysy\u0142a do MusicBrainz tylko kod, bez adresu IP; na potrzeby limitu 20 zapyta\u0144 na godzin\u0119 zlicza wy\u0142\u0105cznie adres IP. Ani kod, ani odpowiedzi MusicBrainz nie s\u0105 zapisywane.<\/p>\n<div id=\"mbq-ausgabe\" data-mp-mask style=\"margin-top: 18px;\" aria-live=\"polite\"><\/div>\n<div class=\"mbq-h\">Przebieg wyszukiwania<\/div>\n<p class=\"mbq-klein\" style=\"margin: 0 0 6px;\">ISRC: MusicBrainz najpierw podaje nagrania z tym kodem. Dla pierwszych trzech wyszukiwarka pobiera wydawnictwa, wszystkie kody ISRC nagrania oraz powi\u0105zany utw\u00f3r z kodem ISWC. W jednym zapytaniu MusicBrainz podaje najwy\u017cej 25 wydawnictw.<\/p>\n<p class=\"mbq-klein\" style=\"margin: 0 0 6px;\">ISWC: MusicBrainz podaje utwory z tym kodem, powi\u0105zane osoby wraz z ich rol\u0105 oraz, je\u015bli zosta\u0142y wpisane, identyfikatory utwor\u00f3w nadane przez organizacje zbiorowego zarz\u0105dzania.<\/p>\n<p class=\"mbq-klein\" style=\"margin: 0 0 6px;\">UPC i EAN: kody kreskowe MusicBrainz odnajduje tylko przez wyszukiwark\u0119. Liczone s\u0105 tylko wydawnictwa z dok\u0142adnie tym samym kodem; UPC-A jest wyszukiwany tak\u017ce z zerem na pocz\u0105tku.<\/p>\n<p class=\"mbq-klein\" style=\"margin: 0 0 6px;\">Budowa, lista przedrostk\u00f3w IFPI i cyfry kontrolne szczeg\u00f3\u0142owo: <a href=\"\/blog\/pl\/narzedzia\/isrc-upc-ean-iswc-validator\/\">Walidator ISRC, UPC\/EAN i ISWC<\/a><\/p>\n<p class=\"mbq-klein\" style=\"margin: 16px 0 0;\">Wi\u0105\u017c\u0105ce bazy danych instytucji nadaj\u0105cych kody: <a href=\"https:\/\/isrcsearch.ifpi.org\/\" target=\"_blank\" rel=\"noopener noreferrer\">ISRC Search (IFPI)<\/a> \u00b7 <a href=\"https:\/\/iswcnet.cisac.org\/\" target=\"_blank\" rel=\"noopener noreferrer\">ISWC Network (CISAC)<\/a><\/p>\n<p class=\"mbq-klein\" style=\"margin: 10px 0 0;\">\u0179r\u00f3d\u0142a: <a href=\"https:\/\/musicbrainz.org\/doc\/MusicBrainz_API\" target=\"_blank\" rel=\"noopener noreferrer\">MusicBrainz API<\/a> \u00b7 <a href=\"https:\/\/musicbrainz.org\/doc\/MusicBrainz_API\/Rate_Limiting\" target=\"_blank\" rel=\"noopener noreferrer\">MusicBrainz API: Rate Limiting<\/a> \u00b7 <a href=\"https:\/\/musicbrainz.org\/doc\/MusicBrainz_Database\" target=\"_blank\" rel=\"noopener noreferrer\">MusicBrainz Database (core data, CC0)<\/a> \u00b7 <a href=\"https:\/\/musicbrainz.org\/doc\/Style\/Recording\" target=\"_blank\" rel=\"noopener noreferrer\">MusicBrainz Style: Recording<\/a> \u00b7 <a href=\"https:\/\/isrc.ifpi.org\/faqs\" target=\"_blank\" rel=\"noopener noreferrer\">ISRC FAQ (IFPI)<\/a> \u00b7 <a href=\"https:\/\/isrc.ifpi.org\/images\/downloads\/ISRC_Handbook.pdf\" target=\"_blank\" rel=\"noopener noreferrer\">ISRC Handbook, 4th Edition (IFPI)<\/a> \u00b7 <a href=\"https:\/\/www.iswc.org\/iswc\" target=\"_blank\" rel=\"noopener noreferrer\">The ISWC (CISAC)<\/a><\/p>\n<p class=\"mbq-klein\" style=\"font-size: 0.8rem; margin: 14px 0 0;\">MusicBrainz to otwarta baza danych prowadzona przez wolontariuszy; jej dane podstawowe s\u0105 udost\u0119pniane na licencji CC0. Kod, kt\u00f3rego tam brakuje, m\u00f3g\u0142 zosta\u0107 nadany, a wpisy mog\u0105 zawiera\u0107 b\u0142\u0119dy. Wi\u0105\u017c\u0105ce s\u0105 agencja nadaj\u0105ca ISRC, agencja ISWC i dystrybutor.<\/p>\n<\/div>\n<p><script>\n(function () {\n    'use strict';<\/p>\n<p>    const T = {\"sprache\":\"pl\",\"locale\":\"pl-PL\",\"einleitung\":\"Czy kod ISRC rzeczywi\u015bcie nale\u017cy do w\u0142a\u015bciwego nagrania, pokazuje dopiero baza danych. Wyszukiwarka sprawdza ISRC, ISWC, UPC lub EAN w MusicBrainz, otwartej bazie danych muzycznych: dla ISRC nagrania z wydawnictwami i powi\u0105zanym utworem, dla ISWC utwory z autorami, dla kodu kreskowego wydawnictwa. Kody u\u017cyte wi\u0119cej ni\u017c raz s\u0105 przy tym widoczne od razu.\",\"label_code\":\"ISRC, ISWC, UPC lub EAN (my\u015blniki, kropki i spacje s\u0105 pomijane)\",\"platzhalter\":\"np. GBDUW0000059\",\"knopf\":\"Wyszukanie w MusicBrainz\",\"beispiele\":\"Przyk\u0142ady:\",\"datenschutz\":\"Po klikni\u0119ciu reCAPTCHA firmy Google sprawdza zapytanie. Serwer tej witryny wysy\u0142a do MusicBrainz tylko kod, bez adresu IP; na potrzeby limitu 20 zapyta\u0144 na godzin\u0119 zlicza wy\u0142\u0105cznie adres IP. Ani kod, ani odpowiedzi MusicBrainz nie s\u0105 zapisywane.\",\"laeuft\":\"Trwa zapytanie do MusicBrainz \u2026\",\"erkannt_isrc\":\"Rozpoznano ISRC: {anzeige}\",\"erkannt_iswc\":\"Rozpoznano ISWC: {anzeige}\",\"erkannt_upc\":\"Rozpoznano UPC-A: {anzeige}; wyszukiwany jest te\u017c zapis 0{anzeige}\",\"erkannt_ean\":\"Rozpoznano EAN-13: {anzeige}\",\"grund_unbekannt\":\"Nie rozpoznano ISRC, ISWC, UPC ani EAN. ISRC ma 12 znak\u00f3w, np. GBDUW0000059, ISWC ma posta\u0107 T-071.495.166-2, UPC ma 12 cyfr, a EAN 13.\",\"grund_laenge\":\"Liczba cyfr {n} nie pasuje ani do UPC-A (12), ani do EAN-13 (13).\",\"grund_pruefziffer\":\"Cyfra kontrolna kodu {anzeige} nie pasuje, powinna wynosi\u0107 {soll}. Zwykle b\u0142\u0105d tkwi w jednej z pozosta\u0142ych cyfr; wyszukiwane s\u0105 tylko kody z poprawn\u0105 cyfr\u0105 kontroln\u0105.\",\"grund_iswc_null\":\"Numer utworu 000000000 jest w ISWC niedozwolony.\",\"typ_isrc\":\"ISRC\",\"typ_iswc\":\"ISWC\",\"typ_upc\":\"UPC-A\",\"typ_ean\":\"EAN-13\",\"summe_aufnahmen_0\":\"brak nagra\u0144 w MusicBrainz\",\"summe_aufnahmen_1\":\"1 nagranie\",\"summe_aufnahmen_n\":\"nagrania: {n}\",\"summe_werke_0\":\"brak utwor\u00f3w w MusicBrainz\",\"summe_werke_1\":\"1 utw\u00f3r\",\"summe_werke_n\":\"utwory: {n}\",\"summe_releases_0\":\"brak wydawnictw w MusicBrainz\",\"summe_releases_1\":\"1 wydawnictwo\",\"summe_releases_n\":\"wydawnictwa: {n}\",\"zeile_quelle\":\"W MusicBrainz\",\"link_quelle\":\"Otwarcie strony\",\"zeile_stand\":\"Stan danych\",\"aus_speicher\":\"z pami\u0119ci podr\u0119cznej\",\"zeile_limit\":\"Pozosta\u0142e zapytania w tej godzinie\",\"h_befunde\":\"Uwagi\",\"h_aufnahmen\":\"Nagrania\",\"h_werke\":\"Utwory\",\"h_releases\":\"Wydawnictwa\",\"stufe_mittel\":\"Do sprawdzenia\",\"stufe_info\":\"Informacja\",\"stufe_gut\":\"W porz\u0105dku\",\"feld_laenge\":\"D\u0142ugo\u015b\u0107\",\"feld_erst\":\"Pierwsze wydanie\",\"feld_isrcs\":\"Kody ISRC nagrania\",\"feld_werk\":\"Utw\u00f3r\",\"feld_video\":\"Wideo\",\"ja\":\"tak\",\"ohne_details\":\"Wydawnictwa i utw\u00f3r nie zosta\u0142y pobrane dla tego nagrania.\",\"ohne_titel\":\"(bez tytu\u0142u)\",\"feld_iswcs\":\"Kody ISWC\",\"feld_urheber\":\"Autorzy\",\"feld_kennungen\":\"Identyfikatory\",\"feld_sprachen\":\"J\u0119zyk\",\"kennungen_mehr\":\"i kolejne ({n})\",\"releases_anzahl\":\"Wydawnictwa z tym nagraniem: {n}\",\"releases_grenze\":\"Wydawnictwa z tym nagraniem: co najmniej {n}. MusicBrainz podaje w jednym zapytaniu najwy\u017cej 25; wszystkie s\u0105 na stronie nagrania.\",\"sp_titel\":\"Tytu\u0142\",\"sp_kuenstler\":\"Wykonawca\",\"sp_datum\":\"Data\",\"sp_land\":\"Kraj\",\"sp_label\":\"Wytw\u00f3rnia \u00b7 nr katalogowy\",\"sp_format\":\"Format\",\"sp_titelzahl\":\"\u015acie\u017cki\",\"sp_status\":\"Status\",\"sp_barcode\":\"Kod kreskowy\",\"land_XE\":\"Europa\",\"land_XW\":\"ca\u0142y \u015bwiat\",\"land_XU\":\"nieznany\",\"sprache_zxx\":\"bez tekstu\",\"sprache_mul\":\"wiele j\u0119zyk\u00f3w\",\"rolle_writer\":\"autorstwo\",\"rolle_composer\":\"muzyka\",\"rolle_lyricist\":\"tekst\",\"rolle_arranger\":\"aran\u017cacja\",\"rolle_translator\":\"t\u0142umaczenie\",\"rolle_librettist\":\"libretto\",\"rolle_orchestrator\":\"orkestracja\",\"status_official\":\"oficjalne\",\"status_promotion\":\"promocyjne\",\"status_bootleg\":\"bootleg\",\"status_pseudo_release\":\"pseudowydanie\",\"status_withdrawn\":\"wycofane\",\"status_cancelled\":\"anulowane\",\"art_album\":\"album\",\"art_single\":\"singiel\",\"art_ep\":\"EP\",\"art_broadcast\":\"audycja\",\"art_other\":\"inne\",\"werktyp_song\":\"Piosenka\",\"werktyp_soundtrack\":\"\u015acie\u017cka d\u017awi\u0119kowa\",\"werktyp_symphony\":\"Symfonia\",\"werktyp_opera\":\"Opera\",\"werktyp_musical\":\"Musical\",\"werktyp_concerto\":\"Koncert\",\"werktyp_sonata\":\"Sonata\",\"werktyp_suite\":\"Suita\",\"befund_isrc_nicht_gefunden\":\"Brak wpisu w MusicBrainz || MusicBrainz nie zna kodu ISRC {code}. Nie oznacza to, \u017ce kod jest b\u0142\u0119dny: baz\u0119 prowadz\u0105 wolontariusze, a ISRC trafia do niej tylko wtedy, gdy kto\u015b go wpisze lub przeniesie z p\u0142yty CD albo serwisu streamingowego.\",\"befund_isrc_eine_aufnahme\":\"Dok\u0142adnie jedno nagranie || W MusicBrainz ten kod ISRC ma dok\u0142adnie jedno nagranie. Tak powinno by\u0107: wed\u0142ug IFPI kodu ISRC w \u017cadnym wypadku nie wolno ponownie wykorzysta\u0107.\",\"befund_isrc_mehrere_aufnahmen\":\"Nagrania z tym samym ISRC: {n} || Wed\u0142ug IFPI kodu ISRC w \u017cadnym wypadku nie wolno ponownie wykorzysta\u0107, a remiksy i edycje potrzebuj\u0105 w\u0142asnego kodu. Kilka trafie\u0144 wskazuje na ponownie nadany kod, b\u0142\u0119dne przypisanie przy wprowadzaniu danych lub zdublowane wpisy w MusicBrainz; tytu\u0142y i d\u0142ugo\u015bci nagra\u0144 zwykle pokazuj\u0105, o kt\u00f3ry przypadek chodzi. Je\u015bli jeden ISRC rzeczywi\u015bcie nadano dw\u00f3m nagraniom, wed\u0142ug za\u0142\u0105cznika A.13.3 podr\u0119cznika ISRC jedno lub oba otrzymuj\u0105 nowy kod.\",\"befund_aufnahme_video\":\"Wpisane jako wideo: {titel} || Wed\u0142ug IFPI teledysk i nagranie d\u017awi\u0119kowe s\u0105 r\u00f3\u017cnymi nagraniami, nawet przy tym samym d\u017awi\u0119ku, i ka\u017cde potrzebuje w\u0142asnego kodu ISRC.\",\"befund_aufnahme_mehrere_isrcs\":\"Kilka kod\u00f3w ISRC przy jednym nagraniu ({n}): {titel} || MusicBrainz \u0142\u0105czy to nagranie z kodami {liste}. Wersje zremasterowane MusicBrainz traktuje jako to samo nagranie, a wed\u0142ug podr\u0119cznika ISRC remaster wymaga nowego kodu tylko przy wk\u0142adzie tw\u00f3rczym. Je\u015bli nagranie omy\u0142kowo otrzyma\u0142o kilka kod\u00f3w ISRC, podmiot nadaj\u0105cy wybiera wed\u0142ug za\u0142\u0105cznika A.13.2 jeden kod preferowany i nie u\u017cywa ju\u017c pozosta\u0142ych.\",\"befund_aufnahme_ohne_werk\":\"Brak powi\u0105zanego utworu: {titel} || W MusicBrainz nagranie nie jest powi\u0105zane z \u017cadnym utworem, wi\u0119c ta droga nie prowadzi do kodu ISWC. ISWC oznacza kompozycj\u0119, a nie nagranie.\",\"befund_werk_ohne_iswc\":\"Utw\u00f3r bez ISWC: {titel} || Powi\u0105zany utw\u00f3r nie ma w MusicBrainz kodu ISWC. Kod albo nie zosta\u0142 nadany, albo nie zosta\u0142 wpisany.\",\"befund_details_unvollstaendig\":\"Niepe\u0142ne szczeg\u00f3\u0142y || Podczas pobierania wydawnictw i utwor\u00f3w MusicBrainz by\u0142 przeci\u0105\u017cony. Nagrania bez tych danych: {n}. Nowe zapytanie za kilka minut je uzupe\u0142ni.\",\"befund_details_gekappt\":\"Szczeg\u00f3\u0142y dla pierwszych nagra\u0144 ({max}) || Wydawnictwa i utwory s\u0105 pobierane najwy\u017cej dla {max} z {n} nagra\u0144, aby nie obci\u0105\u017ca\u0107 MusicBrainz kolejnymi zapytaniami.\",\"befund_iswc_nicht_gefunden\":\"Brak wpisu w MusicBrainz || MusicBrainz nie zna kodu ISWC {code}. Nie \u015bwiadczy to o jego poprawno\u015bci: utwory i kody ISWC wpisuj\u0105 wolontariusze.\",\"befund_iswc_ein_werk\":\"Dok\u0142adnie jeden utw\u00f3r || W MusicBrainz ten kod ISWC ma dok\u0142adnie jeden utw\u00f3r. Tak powinno by\u0107: wed\u0142ug agencji ISWC kod jednoznacznie oznacza ka\u017cdy utw\u00f3r muzyczny.\",\"befund_iswc_mehrere_werke\":\"Utwory z tym samym ISWC: {n} || ISWC oznacza dok\u0142adnie jeden utw\u00f3r muzyczny. Kilka trafie\u0144 wskazuje na zdublowane wpisy utworu w MusicBrainz lub b\u0142\u0119dnie przypisany kod ISWC.\",\"befund_werk_mehrere_iswcs\":\"Kilka kod\u00f3w ISWC przy jednym utworze ({n}): {titel} || MusicBrainz \u0142\u0105czy utw\u00f3r z kodami {liste}. Wed\u0142ug agencji ISWC system pozwala obecnie scala\u0107 lub rozdziela\u0107 omy\u0142kowo nadane kody.\",\"befund_werk_ohne_urheber\":\"Brak wpisanych autor\u00f3w: {titel} || W MusicBrainz z tym utworem nie jest powi\u0105zana \u017cadna osoba odpowiedzialna za muzyk\u0119 lub tekst.\",\"befund_barcode_nicht_gefunden\":\"Brak wydawnictwa z tym kodem kreskowym || MusicBrainz nie zna wydawnictwa z kodem {code}. W przypadku UPC-A oraz EAN-13 z zerem na pocz\u0105tku wyszukiwany jest te\u017c drugi zapis. Nie oznacza to, \u017ce kod jest b\u0142\u0119dny; budow\u0119 i cyfr\u0119 kontroln\u0105 sprawdza walidator kod\u00f3w.\",\"befund_barcode_ein_release\":\"Dok\u0142adnie jedno wydawnictwo || W MusicBrainz ten kod kreskowy ma dok\u0142adnie jedno wydawnictwo.\",\"befund_barcode_mehrere_releases\":\"Wydawnictwa z tym samym kodem kreskowym: {n} || Taka sytuacja wyst\u0119puje na przyk\u0142ad wtedy, gdy wydania dla r\u00f3\u017cnych kraj\u00f3w maj\u0105 ten sam numer. Kraj, data i numer katalogowy w tabeli pokazuj\u0105 r\u00f3\u017cnice.\",\"befund_barcode_mehr_treffer\":\"Ponad {max} trafie\u0144 || Wyszukiwanie zwraca najwy\u017cej {max} wydawnictw; pozosta\u0142e s\u0105 na stronie wyszukiwania MusicBrainz.\",\"fehler_methode\":\"Niew\u0142a\u015bciwa metoda zapytania.\",\"fehler_eingabe\":\"Zapytanie jest nieczytelne.\",\"fehler_kein_token\":\"Zapytanie nie ruszy\u0142o, poniewa\u017c reCAPTCHA si\u0119 nie wczyta\u0142a.\",\"fehler_captcha\":\"reCAPTCHA uzna\u0142a zapytanie za zautomatyzowane. Zwykle pomaga ponowne wczytanie strony.\",\"fehler_pruefdienst\":\"Us\u0142uga reCAPTCHA by\u0142a nieosi\u0105galna.\",\"fehler_aufbau\":\"Us\u0142uga nie jest poprawnie skonfigurowana. B\u0142\u0105d le\u017cy po tej stronie.\",\"fehler_zaehler\":\"Licznik jest niedost\u0119pny, dlatego zapytanie nie zosta\u0142o wykonane.\",\"fehler_zu_viele\":\"Limit {limit} zapyta\u0144 na godzin\u0119 dla tego adresu zosta\u0142 osi\u0105gni\u0119ty.\",\"fehler_code\":\"Kod jest nieczytelny.\",\"fehler_ausgelastet\":\"MusicBrainz jest obecnie przeci\u0105\u017cony i odrzuci\u0142 zapytanie. Nowe zapytanie za kilka minut zwykle ko\u0144czy si\u0119 powodzeniem.\",\"fehler_netz\":\"Us\u0142uga by\u0142a nieosi\u0105galna.\",\"fehler_musicbrainz\":\"MusicBrainz odpowiedzia\u0142 w nieoczekiwany spos\u00f3b (status {status}).\",\"fehler_antwort\":\"Odpowied\u017a jest nieczytelna.\",\"fehler_abgeschaltet\":\"Wyszukiwarka jest obecnie wy\u0142\u0105czona.\",\"fehler_unbekannt\":\"Wyst\u0105pi\u0142 b\u0142\u0105d, dla kt\u00f3rego nie ma osobnego komunikatu.\",\"h_ablauf\":\"Przebieg wyszukiwania\",\"erkl_isrc\":\"ISRC: MusicBrainz najpierw podaje nagrania z tym kodem. Dla pierwszych trzech wyszukiwarka pobiera wydawnictwa, wszystkie kody ISRC nagrania oraz powi\u0105zany utw\u00f3r z kodem ISWC. W jednym zapytaniu MusicBrainz podaje najwy\u017cej 25 wydawnictw.\",\"erkl_iswc\":\"ISWC: MusicBrainz podaje utwory z tym kodem, powi\u0105zane osoby wraz z ich rol\u0105 oraz, je\u015bli zosta\u0142y wpisane, identyfikatory utwor\u00f3w nadane przez organizacje zbiorowego zarz\u0105dzania.\",\"erkl_barcode\":\"UPC i EAN: kody kreskowe MusicBrainz odnajduje tylko przez wyszukiwark\u0119. Liczone s\u0105 tylko wydawnictwa z dok\u0142adnie tym samym kodem; UPC-A jest wyszukiwany tak\u017ce z zerem na pocz\u0105tku.\",\"erkl_pruefer\":\"Budowa, lista przedrostk\u00f3w IFPI i cyfry kontrolne szczeg\u00f3\u0142owo:\",\"link_pruefer\":\"Walidator ISRC, UPC\\\/EAN i ISWC\",\"url_pruefer\":\"\\\/blog\\\/pl\\\/narzedzia\\\/isrc-upc-ean-iswc-validator\\\/\",\"offiziell\":\"Wi\u0105\u017c\u0105ce bazy danych instytucji nadaj\u0105cych kody:\",\"quellen_titel\":\"\u0179r\u00f3d\u0142a\",\"grenze\":\"MusicBrainz to otwarta baza danych prowadzona przez wolontariuszy; jej dane podstawowe s\u0105 udost\u0119pniane na licencji CC0. Kod, kt\u00f3rego tam brakuje, m\u00f3g\u0142 zosta\u0107 nadany, a wpisy mog\u0105 zawiera\u0107 b\u0142\u0119dy. Wi\u0105\u017c\u0105ce s\u0105 agencja nadaj\u0105ca ISRC, agencja ISWC i dystrybutor.\"};<\/p>\n<p>    var ENDPUNKT = '\/lw-mbabfrage.php';\n    var SITEKEY = '6LcrPkEtAAAAAPo1QCOf-IIM2fCL0UfdJz4y2iSY';\n    var MB = 'https:\/\/musicbrainz.org\/';\n    var STUFEN = ['mittel', 'info', 'gut'];\n    var ISRC = \/^[A-Z]{2}[A-Z0-9]{3}\\d{7}$\/;\n    var ISWC_FORM = \/^T-\\d{3}\\.\\d{3}\\.\\d{3}-\\d$\/;\n    var SPRACHCODES = { eng: 'en', deu: 'de', ger: 'de', pol: 'pl', fra: 'fr', fre: 'fr', spa: 'es', ita: 'it', por: 'pt', nld: 'nl', dut: 'nl',\n        swe: 'sv', nor: 'no', dan: 'da', fin: 'fi', jpn: 'ja', kor: 'ko', zho: 'zh', chi: 'zh', rus: 'ru', ukr: 'uk', ces: 'cs', cze: 'cs',\n        tur: 'tr', ell: 'el', gre: 'el', hun: 'hu', ron: 'ro', rum: 'ro', ara: 'ar', heb: 'he', hin: 'hi', lat: 'la', gle: 'ga', cym: 'cy', wel: 'cy' };<\/p>\n<p>    \/\/ --- Texte ------------------------------------------------------------------\n    function text(schluessel, daten) {\n        var t = T[schluessel];\n        if (typeof t !== 'string') { return null; }\n        return t.replace(\/\\{([a-z_0-9]+)\\}\/g, function (m, k) {\n            return (daten && daten[k] !== undefined && daten[k] !== null) ? String(daten[k]) : m;\n        });\n    }<\/p>\n<p>    \/\/ --- Codes lesen: dieselben Regeln wie lw_mb_code_lesen() auf dem Server -------\n    function gs1Pruefziffer(ohne) {\n        var summe = 0;\n        for (var i = ohne.length - 1, faktor = 3; i >= 0; i--, faktor = faktor === 3 ? 1 : 3) {\n            summe += (ohne.charCodeAt(i) - 48) * faktor;\n        }\n        return (10 - summe % 10) % 10;\n    }\n    function iswcPruefziffer(neun) {\n        var summe = 1;\n        for (var i = 0; i < 9; i++) { summe += (i + 1) * (neun.charCodeAt(i) - 48); }\n        return (10 - summe % 10) % 10;\n    }\n    function lesen(roh) {\n        var aus = { typ: null, code: null, anzeige: null, fehler: null, soll: null, n: null };\n        if (typeof roh !== 'string' || roh.trim() === '' || roh.length > 80) { aus.fehler = 'unbekannt'; return aus; }\n        var gross = roh.trim().toUpperCase();\n        var trenner = \/[\\s.\\-_\\u2010-\\u2015]\/g;\n        var voll = gross.replace(trenner, '');\n        var gekuerzt = gross.replace(\/^(ISRC|ISWC|UPC|EAN|GTIN)[\\s:\\-]*\/, '').replace(trenner, '');\n        \/\/ Vorsaetze fallen weg - ausser die Eingabe ist mit ihnen schon ein gueltig geformter Code\n        var c = \/^(T\\d{10}|\\d{12,13}|[A-Z]{2}[A-Z0-9]{3}\\d{7})$\/.test(voll) ? voll : gekuerzt;\n        if (c === '') { aus.fehler = 'unbekannt'; return aus; }\n        if (\/^T\\d{10}$\/.test(c)) {\n            var neun = c.slice(1, 10), gegeben = c.charCodeAt(10) - 48;\n            aus.typ = 'iswc';\n            aus.anzeige = 'T-' + neun.slice(0, 3) + '.' + neun.slice(3, 6) + '.' + neun.slice(6, 9) + '-' + gegeben;\n            if (neun === '000000000') { aus.fehler = 'iswc_null'; return aus; }\n            var soll = iswcPruefziffer(neun);\n            if (gegeben !== soll) { aus.fehler = 'pruefziffer'; aus.soll = soll; return aus; }\n            aus.code = c;\n            return aus;\n        }\n        if (\/^\\d+$\/.test(c)) {\n            var n = c.length;\n            if (n !== 12 && n !== 13) { aus.fehler = 'laenge'; aus.n = n; return aus; }\n            aus.typ = n === 12 ? 'upc' : 'ean';\n            aus.anzeige = c;\n            var soll2 = gs1Pruefziffer(c.slice(0, -1));\n            if (c.charCodeAt(n - 1) - 48 !== soll2) { aus.fehler = 'pruefziffer'; aus.soll = soll2; return aus; }\n            aus.code = c;\n            return aus;\n        }\n        if (ISRC.test(c)) {\n            aus.typ = 'isrc';\n            aus.code = c;\n            aus.anzeige = c.slice(0, 2) + '-' + c.slice(2, 5) + '-' + c.slice(5, 7) + '-' + c.slice(7);\n            return aus;\n        }\n        aus.fehler = 'unbekannt';\n        return aus;\n    }<\/p>\n<p>    \/\/ --- Antwort des Servers pruefen ----------------------------------------------\n    function liste(w) { return Array.isArray(w) ? w : []; }\n    function zahl(w) { return (typeof w === 'number' && isFinite(w)) ? w : null; }\n    function zk(w, max) { return typeof w === 'string' ? w.slice(0, max || 300) : ''; }\n    function muster(w, re) { return (typeof w === 'string' && re.test(w)) ? w : ''; }\n    function mbUrl(w) { return (typeof w === 'string' && w.indexOf(MB) === 0 && !\/[\\s\"'<>\\\\]\/.test(w)) ? w : ''; }\n    function codes(w, re) {\n        var aus = [];\n        liste(w).forEach(function (x) { if (typeof x === 'string' && re.test(x) && aus.indexOf(x) === -1 && aus.length < 20) { aus.push(x); } });\n        return aus;\n    }\n    var DATUM = \/^\\d{4}(-\\d{2}(-\\d{2})?)?$\/;\n    var SCHLUESSEL = \/^[a-z0-9_]{1,40}$\/;\n\n    function release(r) {\n        r = (r &#038;&#038; typeof r === 'object') ? r : {};\n        return {\n            titel: zk(r.titel), kuenstler: zk(r.kuenstler), datum: muster(r.datum, DATUM), land: muster(r.land, \/^[A-Z]{2}$\/),\n            status: muster(r.status, SCHLUESSEL), barcode: muster(r.barcode, \/^\\d{1,20}$\/),\n            labels: liste(r.labels).filter(function (x) { return typeof x === 'string'; }).map(function (x) { return x.slice(0, 200); }).slice(0, 3),\n            formate: zk(r.formate, 120), titelzahl: zahl(r.titelzahl), art: muster(r.art, SCHLUESSEL), url: mbUrl(r.url)\n        };\n    }\n    function aufnahme(a) {\n        a = (a &#038;&#038; typeof a === 'object') ? a : {};\n        return {\n            titel: zk(a.titel), kuenstler: zk(a.kuenstler), zusatz: zk(a.zusatz, 200), laengeMs: zahl(a.laenge_ms),\n            erst: muster(a.erstveroeffentlichung, DATUM), video: a.video === true, url: mbUrl(a.url), details: a.details === true,\n            isrcs: codes(a.isrcs, ISRC),\n            werke: liste(a.werke).slice(0, 10).map(function (w) {\n                w = (w &#038;&#038; typeof w === 'object') ? w : {};\n                return { titel: zk(w.titel), iswcs: codes(w.iswcs, ISWC_FORM), url: mbUrl(w.url) };\n            }),\n            releases: liste(a.releases).slice(0, 25).map(release),\n            releasesGesamt: zahl(a.releases_gesamt) || 0, releasesGrenze: a.releases_grenze === true\n        };\n    }\n    function werk(w) {\n        w = (w &#038;&#038; typeof w === 'object') ? w : {};\n        return {\n            titel: zk(w.titel), zusatz: zk(w.zusatz, 200), typ: muster(w.typ, SCHLUESSEL),\n            sprachen: codes(w.sprachen, \/^[a-z]{3}$\/), iswcs: codes(w.iswcs, ISWC_FORM),\n            urheber: liste(w.urheber).slice(0, 20).map(function (u) {\n                u = (u &#038;&#038; typeof u === 'object') ? u : {};\n                return { name: zk(u.name, 120), rolle: muster(u.rolle, SCHLUESSEL) };\n            }).filter(function (u) { return u.name !== ''; }),\n            kennungen: liste(w.kennungen).slice(0, 12).map(function (k) {\n                k = (k &#038;&#038; typeof k === 'object') ? k : {};\n                return { typ: zk(k.typ, 60), wert: zk(k.wert, 60) };\n            }).filter(function (k) { return k.typ !== '' &#038;&#038; k.wert !== ''; }),\n            kennungenGesamt: zahl(w.kennungen_gesamt) || 0, url: mbUrl(w.url)\n        };\n    }\n    function befund(b) {\n        b = (b &#038;&#038; typeof b === 'object') ? b : {};\n        var daten = {};\n        if (b.daten &#038;&#038; typeof b.daten === 'object') {\n            Object.keys(b.daten).forEach(function (k) {\n                var v = b.daten[k];\n                if (typeof v === 'string') { daten[k] = v.slice(0, 400); } else if (zahl(v) !== null) { daten[k] = v; }\n            });\n        }\n        return { key: muster(b.key, \/^[a-z_]{1,40}$\/), stufe: STUFEN.indexOf(b.stufe) === -1 ? 'info' : b.stufe, daten: daten };\n    }\n    function fehlerObjekt(a) {\n        return { fehler: String(a.fehler || 'antwort').slice(0, 40), grund: muster(a.grund, SCHLUESSEL) || null, soll: zahl(a.soll), n: zahl(a.n),\n            limit: zahl(a.limit), status: zahl(a.status), anzeige: zk(a.anzeige, 40) };\n    }\n    function bewerten(antwort) {\n        var a = (antwort &#038;&#038; typeof antwort === 'object') ? antwort : {};\n        if (a.fehler) { return fehlerObjekt(a); }\n        var typ = ['isrc', 'iswc', 'upc', 'ean'].indexOf(a.typ) === -1 ? null : a.typ;\n        if (!typ) { return fehlerObjekt({ fehler: 'antwort' }); }\n        return {\n            fehler: null, typ: typ, anzeige: zk(a.anzeige, 40), quelle: mbUrl(a.quelle),\n            aufnahmen: liste(a.aufnahmen).slice(0, 25).map(aufnahme), aufnahmenGesamt: zahl(a.aufnahmen_gesamt) || 0,\n            werke: liste(a.werke).slice(0, 10).map(werk), werkeGesamt: zahl(a.werke_gesamt) || 0,\n            releases: liste(a.releases).slice(0, 25).map(release), releasesGesamt: zahl(a.releases_gesamt) || 0,\n            befunde: liste(a.befunde).map(befund).filter(function (b) { return b.key !== ''; }),\n            zwischengespeichert: a.zwischengespeichert === true, stand: zahl(a.stand), dauer: zahl(a.dauer_ms), limitRest: zahl(a.limit_rest)\n        };\n    }\n\n    \/\/ --- Anzeigehilfen -------------------------------------------------------------\n    function dauer(ms) {\n        if (typeof ms !== 'number' || !isFinite(ms) || ms <= 0) { return ''; }\n        var s = Math.round(ms \/ 1000), h = Math.floor(s \/ 3600), m = Math.floor((s % 3600) \/ 60), r = s % 60;\n        var rr = (r < 10 ? '0' : '') + r;\n        return h > 0 ? h + ':' + (m < 10 ? '0' : '') + m + ':' + rr : m + ':' + rr;\n    }\n    function namen(typ, code) {\n        try {\n            if (typeof Intl !== 'undefined' &#038;&#038; Intl.DisplayNames) {\n                var n = new Intl.DisplayNames([T.sprache], { type: typ }).of(code);\n                if (n &#038;&#038; n !== code) { return n; }\n            }\n        } catch (e) { \/* unbekannter Code *\/ }\n        return null;\n    }\n    function landName(code) {\n        if (!code) { return ''; }\n        return text('land_' + code) || namen('region', code) || code;\n    }\n    function sprachName(code) {\n        return text('sprache_' + code) || (SPRACHCODES[code] ? namen('language', SPRACHCODES[code]) : null) || code;\n    }\n    function rolleName(r) { return text('rolle_' + r) || String(r).replace(\/_\/g, ' '); }\n    function statusName(s) { return s ? (text('status_' + s) || s.replace(\/_\/g, ' ')) : ''; }\n    function artName(s) { return s ? (text('art_' + s) || s.replace(\/_\/g, ' ')) : ''; }\n    function zeitpunkt(ts) {\n        if (ts === null) { return ''; }\n        try { return new Date(ts * 1000).toLocaleString(T.locale, { dateStyle: 'medium', timeStyle: 'short' }); } catch (e) { return new Date(ts * 1000).toISOString(); }\n    }\n    function summe(b) {\n        var n = b.typ === 'isrc' ? b.aufnahmenGesamt : (b.typ === 'iswc' ? b.werkeGesamt : b.releasesGesamt);\n        var art = b.typ === 'isrc' ? 'aufnahmen' : (b.typ === 'iswc' ? 'werke' : 'releases');\n        return text('summe_' + art + '_' + (n === 0 ? '0' : (n === 1 ? '1' : 'n')), { n: n });\n    }\n\n    \/\/ --- Darstellung ---------------------------------------------------------------\n    function neu(tag, klasse, inhalt) {\n        var x = document.createElement(tag);\n        if (klasse) { x.className = klasse; }\n        if (inhalt !== undefined &#038;&#038; inhalt !== null) { x.textContent = inhalt; }\n        return x;\n    }\n    function verweis(url, inhalt, klasse) {\n        if (!mbUrl(url)) { return neu('span', klasse || '', inhalt); }\n        var a = neu('a', klasse || '', inhalt);\n        a.href = url;\n        a.target = '_blank';\n        a.rel = 'noopener noreferrer';\n        return a;\n    }\n    function kvTabelle(zeilen) {\n        var tab = neu('table', 'mbq-kv');\n        zeilen.forEach(function (z) {\n            if (z[1] === '' || z[1] === null || z[1] === undefined) { return; }\n            var tr = neu('tr');\n            tr.appendChild(neu('th', '', z[0]));\n            var td = neu('td', z[2] || '');\n            if (typeof z[1] === 'string') { td.textContent = z[1]; } else { td.appendChild(z[1]); }\n            tr.appendChild(td);\n            tab.appendChild(tr);\n        });\n        return tab;\n    }\n    function codeVerweise(liste, pfad) {\n        var span = neu('span', 'mbq-mono');\n        liste.forEach(function (c, i) {\n            if (i) { span.appendChild(document.createTextNode(', ')); }\n            span.appendChild(verweis(MB + pfad + c, c));\n        });\n        return span;\n    }\n    function befundKarte(f) {\n        var k = neu('div', 'mbq-karte mbq-stufe-' + f.stufe);\n        var roh = text('befund_' + f.key, f.daten) || f.key;\n        var teile = roh.split(' || ');\n        k.appendChild(neu('div', 'mbq-stufe ' + (f.stufe === 'gut' ? 'mbq-ok' : (f.stufe === 'mittel' ? 'mbq-warn' : 'mbq-klein')), T['stufe_' + f.stufe]));\n        k.appendChild(neu('div', 'mbq-titel', teile[0]));\n        if (teile[1]) { k.appendChild(neu('div', 'mbq-klein', teile[1])); }\n        return k;\n    }\n    function releaseTabelle(releases, mitBarcodeSpalten) {\n        var huelle = neu('div', 'mbq-rollbar');\n        var tab = neu('table', 'mbq-liste');\n        var kopf = neu('tr');\n        var spalten = mitBarcodeSpalten\n            ? [T.sp_titel, T.sp_kuenstler, T.sp_datum, T.sp_land, T.sp_label, T.sp_format, T.sp_titelzahl, T.sp_status]\n            : [T.sp_titel, T.sp_datum, T.sp_land, T.sp_status, T.sp_barcode];\n        spalten.forEach(function (s) { kopf.appendChild(neu('th', '', s)); });\n        tab.appendChild(kopf);\n        releases.forEach(function (r) {\n            var tr = neu('tr');\n            var t1 = neu('td');\n            t1.appendChild(verweis(r.url, r.titel || T.ohne_titel));\n            tr.appendChild(t1);\n            if (mitBarcodeSpalten) { tr.appendChild(neu('td', '', r.kuenstler)); }\n            tr.appendChild(neu('td', 'mbq-mono', r.datum || '\u2013'));\n            tr.appendChild(neu('td', '', r.land ? landName(r.land) : '\u2013'));\n            if (mitBarcodeSpalten) {\n                tr.appendChild(neu('td', '', r.labels.length ? r.labels.join(' \/ ') : '\u2013'));\n                tr.appendChild(neu('td', '', r.formate || '\u2013'));\n                tr.appendChild(neu('td', 'mbq-mono', r.titelzahl !== null ? String(r.titelzahl) : '\u2013'));\n                tr.appendChild(neu('td', '', [statusName(r.status), artName(r.art)].filter(Boolean).join(' \u00b7 ') || '\u2013'));\n            } else {\n                tr.appendChild(neu('td', '', statusName(r.status) || '\u2013'));\n                tr.appendChild(neu('td', 'mbq-mono', r.barcode || '\u2013'));\n            }\n            tab.appendChild(tr);\n        });\n        huelle.appendChild(tab);\n        return huelle;\n    }\n    function aufnahmeKarte(a) {\n        var k = neu('div', 'mbq-karte');\n        var titel = neu('div', 'mbq-titel');\n        titel.appendChild(verweis(a.url, a.titel || T.ohne_titel));\n        k.appendChild(titel);\n        var unter = [a.kuenstler, a.zusatz].filter(Boolean).join(' \u00b7 ');\n        if (unter) { k.appendChild(neu('div', 'mbq-unter', unter)); }\n        var werkZelle = '';\n        if (a.werke.length) {\n            werkZelle = neu('span');\n            a.werke.forEach(function (w, i) {\n                if (i) { werkZelle.appendChild(document.createTextNode('; ')); }\n                werkZelle.appendChild(verweis(w.url, w.titel || T.ohne_titel));\n                if (w.iswcs.length) {\n                    werkZelle.appendChild(document.createTextNode(' \u00b7 '));\n                    werkZelle.appendChild(codeVerweise(w.iswcs, 'iswc\/'));\n                }\n            });\n        }\n        k.appendChild(kvTabelle([\n            [T.feld_laenge, dauer(a.laengeMs), 'mbq-mono'],\n            [T.feld_erst, a.erst, 'mbq-mono'],\n            [T.feld_isrcs, a.isrcs.length ? codeVerweise(a.isrcs, 'isrc\/') : ''],\n            [T.feld_werk, werkZelle],\n            [T.feld_video, a.video ? T.ja : '']\n        ]));\n        if (!a.details) {\n            k.appendChild(neu('p', 'mbq-klein', T.ohne_details));\n            return k;\n        }\n        if (a.releases.length) {\n            k.appendChild(neu('div', 'mbq-h2', text(a.releasesGrenze ? 'releases_grenze' : 'releases_anzahl', { n: a.releasesGesamt })));\n            k.appendChild(releaseTabelle(a.releases, false));\n        }\n        return k;\n    }\n    function werkKarte(w) {\n        var k = neu('div', 'mbq-karte');\n        var titel = neu('div', 'mbq-titel');\n        titel.appendChild(verweis(w.url, w.titel || T.ohne_titel));\n        k.appendChild(titel);\n        var unter = [w.typ ? (text('werktyp_' + w.typ) || w.typ.replace(\/_\/g, ' ')) : '', w.zusatz].filter(Boolean).join(' \u00b7 ');\n        if (unter) { k.appendChild(neu('div', 'mbq-unter', unter)); }\n        var urheber = w.urheber.map(function (u) { return u.name + (u.rolle ? ' (' + rolleName(u.rolle) + ')' : ''); }).join('; ');\n        var kennungen = w.kennungen.map(function (x) { return x.typ + ': ' + x.wert; }).join('; ');\n        if (kennungen &#038;&#038; w.kennungenGesamt > w.kennungen.length) {\n            kennungen += ' ' + text('kennungen_mehr', { n: w.kennungenGesamt - w.kennungen.length });\n        }\n        k.appendChild(kvTabelle([\n            [T.feld_iswcs, w.iswcs.length ? codeVerweise(w.iswcs, 'iswc\/') : ''],\n            [T.feld_sprachen, w.sprachen.map(sprachName).join(', ')],\n            [T.feld_urheber, urheber],\n            [T.feld_kennungen, kennungen]\n        ]));\n        return k;\n    }<\/p>\n<p>    function darstellen(b, ziel) {\n        ziel.textContent = '';\n        if (b.fehler) {\n            var txt = null;\n            if (b.fehler === 'code' && b.grund) { txt = text('grund_' + b.grund, { soll: b.soll, n: b.n, anzeige: b.anzeige }); }\n            if (b.fehler === 'zu_viele') { txt = text('fehler_zu_viele', { limit: b.limit !== null ? b.limit : '?' }); }\n            if (b.fehler === 'musicbrainz') { txt = text('fehler_musicbrainz', { status: b.status !== null ? b.status : '?' }); }\n            if (txt === null) { txt = text('fehler_' + b.fehler) || T.fehler_unbekannt; }\n            ziel.appendChild(neu('p', 'mbq-klein mbq-warn', txt));\n            return;\n        }\n        var kopf = neu('div', 'mbq-kopf');\n        kopf.appendChild(neu('span', 'mbq-typ', T['typ_' + b.typ]));\n        kopf.appendChild(neu('span', 'mbq-code', b.anzeige));\n        kopf.appendChild(neu('span', 'mbq-summe', summe(b)));\n        ziel.appendChild(kopf);<\/p>\n<p>        var stand = zeitpunkt(b.stand);\n        if (stand && b.zwischengespeichert) { stand += ' \u00b7 ' + T.aus_speicher; }\n        ziel.appendChild(kvTabelle([\n            [T.zeile_quelle, b.quelle ? verweis(b.quelle, T.link_quelle) : ''],\n            [T.zeile_stand, stand],\n            [T.zeile_limit, b.limitRest !== null ? String(b.limitRest) : '']\n        ]));<\/p>\n<p>        if (b.befunde.length) {\n            ziel.appendChild(neu('div', 'mbq-h', T.h_befunde));\n            STUFEN.forEach(function (s) {\n                b.befunde.forEach(function (f) { if (f.stufe === s) { ziel.appendChild(befundKarte(f)); } });\n            });\n        }\n        if (b.typ === 'isrc' && b.aufnahmen.length) {\n            ziel.appendChild(neu('div', 'mbq-h', T.h_aufnahmen));\n            b.aufnahmen.forEach(function (a) { ziel.appendChild(aufnahmeKarte(a)); });\n        }\n        if (b.typ === 'iswc' && b.werke.length) {\n            ziel.appendChild(neu('div', 'mbq-h', T.h_werke));\n            b.werke.forEach(function (w) { ziel.appendChild(werkKarte(w)); });\n        }\n        if ((b.typ === 'upc' || b.typ === 'ean') && b.releases.length) {\n            ziel.appendChild(neu('div', 'mbq-h', T.h_releases));\n            ziel.appendChild(releaseTabelle(b.releases, true));\n        }\n    }<\/p>\n<p>    function erkanntText(e) {\n        if (e.fehler) {\n            return { klasse: 'mbq-warn', text: text('grund_' + e.fehler, { soll: e.soll, n: e.n, anzeige: e.anzeige }) || T.fehler_unbekannt };\n        }\n        return { klasse: 'mbq-ok', text: text('erkannt_' + e.typ, { anzeige: e.anzeige }) };\n    }<\/p>\n<p>    \/\/ --- reCAPTCHA und Abruf -------------------------------------------------------\n    function skriptLaden() {\n        return new Promise(function (auf) {\n            if (window.grecaptcha) { auf(true); return; }\n            var s = document.createElement('script');\n            s.src = 'https:\/\/www.google.com\/recaptcha\/api.js?render=' + SITEKEY;\n            s.onload = function () { auf(true); };\n            s.onerror = function () { auf(false); };\n            document.head.appendChild(s);\n            setTimeout(function () { auf(!!window.grecaptcha); }, 8000);\n        });\n    }\n    function tokenHolen() {\n        return skriptLaden().then(function (da) {\n            if (!da || !window.grecaptcha || !window.grecaptcha.ready) { return null; }\n            return new Promise(function (auf) {\n                var fertig = false;\n                function einmal(w) { if (!fertig) { fertig = true; auf(w); } }\n                setTimeout(function () { einmal(null); }, 12000);\n                try {\n                    window.grecaptcha.ready(function () {\n                        if (fertig) { return; }\n                        if (!window.grecaptcha.execute) { einmal(null); return; }\n                        window.grecaptcha.execute(SITEKEY, { action: 'mbabfrage' }).then(function (t) { einmal(t || null); }, function () { einmal(null); });\n                    });\n                } catch (e) { einmal(null); }\n            });\n        }, function () { return null; });\n    }\n    function abfragen(code) {\n        return tokenHolen().then(function (token) {\n            return fetch(ENDPUNKT, { method: 'POST', headers: { 'Content-Type': 'application\/json' }, body: JSON.stringify({ code: code, token: token || '' }) })\n                .then(function (r) { return r.json().then(function (j) { return j; }, function () { return { fehler: 'antwort' }; }); }, function () { return { fehler: 'netz' }; });\n        });\n    }<\/p>\n<p>    \/** #code=... oder ?code=... aus der Adresse, etwa vom Code-Pruefer; gefragt wird erst beim Klick. *\/\n    function vorbelegen(suche) {\n        try {\n            var w = new URLSearchParams(String(suche || '').replace(\/^[#?]\/, '')).get('code');\n            return (typeof w === 'string' && w.length <= 80) ? w : null;\n        } catch (e) { return null; }\n    }\n\n    window.LW_TEST = window.LW_TEST || {};\n    window.LW_TEST.MBQ = {\n        T: T, ENDPUNKT: ENDPUNKT, lesen: lesen, bewerten: bewerten, darstellen: darstellen, text: text, dauer: dauer,\n        landName: landName, sprachName: sprachName, rolleName: rolleName, statusName: statusName, vorbelegen: vorbelegen,\n        erkanntText: erkanntText, gs1Pruefziffer: gs1Pruefziffer, iswcPruefziffer: iswcPruefziffer\n    };\n\n    var feld = document.getElementById('mbq-code'), knopf = document.getElementById('mbq-knopf');\n    var erkannt = document.getElementById('mbq-erkannt'), ausgabe = document.getElementById('mbq-ausgabe');\n    if (!feld || !knopf || !erkannt || !ausgabe) { return; }\n\n    function zeigeErkannt() {\n        erkannt.textContent = '';\n        erkannt.className = 'mbq-erkannt';\n        if (feld.value.trim() === '') { return; }\n        var gelesen = lesen(feld.value);\n        \/\/ Waehrend des Tippens keine Meldung fuer ein noch unvollstaendiges Stueck\n        if ((gelesen.fehler === 'unbekannt' || gelesen.fehler === 'laenge') &#038;&#038; feld.value.replace(\/[\\s.\\-_]\/g, '').length < 12) { return; }\n        var e = erkanntText(gelesen);\n        erkannt.className = 'mbq-erkannt ' + e.klasse;\n        erkannt.textContent = e.text;\n    }\n    var warten = null;\n    feld.addEventListener('input', function () { clearTimeout(warten); warten = setTimeout(zeigeErkannt, 250); });\n    feld.addEventListener('keydown', function (ev) { if (ev.key === 'Enter') { ev.preventDefault(); knopf.click(); } });\n    Array.prototype.forEach.call(document.querySelectorAll('#mbq-wurzel .mbq-bsp'), function (b) {\n        b.addEventListener('click', function () { feld.value = b.getAttribute('data-code') || ''; zeigeErkannt(); feld.focus(); });\n    });\n\n    var laeuft = false;\n    knopf.addEventListener('click', function () {\n        if (laeuft) { return; }\n        zeigeErkannt();\n        var e = lesen(feld.value);\n        if (e.fehler) {\n            darstellen(bewerten({ fehler: 'code', grund: e.fehler, soll: e.soll, n: e.n, anzeige: e.anzeige }), ausgabe);\n            return;\n        }\n        laeuft = true;\n        knopf.disabled = true;\n        ausgabe.textContent = '';\n        ausgabe.appendChild(neu('p', 'mbq-klein', T.laeuft));\n        abfragen(e.code).then(function (a) {\n            darstellen(bewerten(a), ausgabe);\n            laeuft = false; knopf.disabled = false;\n        }, function () {\n            darstellen(bewerten({ fehler: 'netz' }), ausgabe);\n            laeuft = false; knopf.disabled = false;\n        });\n    });\n\n    var vor = vorbelegen(window.location.hash) || vorbelegen(window.location.search);\n    if (vor) { feld.value = vor; zeigeErkannt(); }\n})();\n<\/script><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Wyszukuje ISRC, ISWC, UPC lub EAN w MusicBrainz: nagrania z wykonawc\u0105, d\u0142ugo\u015bci\u0105, wydawnictwami i powi\u0105zanym utworem, utwory z autorami i identyfikatorami organizacji zbiorowego zarz\u0105dzania, wydawnictwa z wytw\u00f3rni\u0105, numerem katalogowym i formatem, a do tego uwagi o kodach u\u017cytych wi\u0119cej ni\u017c raz.<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":9284,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"template-tool-base.php","meta":{"footnotes":""},"tags":[92906],"class_list":["post-19598","page","type-page","status-publish","hentry","tag-music-production-pl"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.1 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Wyszukiwarka ISRC, ISWC i kod\u00f3w kreskowych: nagrania, utwory i wydawnictwa w MusicBrainz - Lukas Wojcik - Blog<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.lukaswojcik.com\/blog\/pl\/narzedzia\/isrc-iswc-barcode-lookup-musicbrainz\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Wyszukiwarka ISRC, ISWC i kod\u00f3w kreskowych: nagrania, utwory i wydawnictwa w MusicBrainz - Lukas Wojcik - Blog\" \/>\n<meta property=\"og:description\" content=\"Wyszukuje ISRC, ISWC, UPC lub EAN w MusicBrainz: nagrania z wykonawc\u0105, d\u0142ugo\u015bci\u0105, wydawnictwami i powi\u0105zanym utworem, utwory z autorami i identyfikatorami organizacji zbiorowego zarz\u0105dzania, wydawnictwa z wytw\u00f3rni\u0105, numerem katalogowym i formatem, a do tego uwagi o kodach u\u017cytych wi\u0119cej ni\u017c raz.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.lukaswojcik.com\/blog\/pl\/narzedzia\/isrc-iswc-barcode-lookup-musicbrainz\/\" \/>\n<meta property=\"og:site_name\" content=\"Lukas Wojcik - Blog\" \/>\n<meta property=\"article:modified_time\" content=\"2026-09-17T14:52:13+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/08\/og-default.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1200\" \/>\n\t<meta property=\"og:image:height\" content=\"630\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"2 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/pl\\\/narzedzia\\\/isrc-iswc-barcode-lookup-musicbrainz\\\/\",\"url\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/pl\\\/narzedzia\\\/isrc-iswc-barcode-lookup-musicbrainz\\\/\",\"name\":\"Wyszukiwarka ISRC, ISWC i kod\u00f3w kreskowych: nagrania, utwory i wydawnictwa w MusicBrainz - Lukas Wojcik - Blog\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/#website\"},\"datePublished\":\"2026-09-17T12:21:31+00:00\",\"dateModified\":\"2026-09-17T14:52:13+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/pl\\\/narzedzia\\\/isrc-iswc-barcode-lookup-musicbrainz\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/pl\\\/narzedzia\\\/isrc-iswc-barcode-lookup-musicbrainz\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/pl\\\/narzedzia\\\/isrc-iswc-barcode-lookup-musicbrainz\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Toolbox\",\"item\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/toolbox-3\\\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Wyszukiwarka ISRC, ISWC i kod\u00f3w kreskowych: nagrania, utwory i wydawnictwa w MusicBrainz\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/\",\"name\":\"Lukas Wojcik - Blog\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/#\\\/schema\\\/person\\\/895f7604f9b6b71aad9bba33af28d0f9\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/#\\\/schema\\\/person\\\/895f7604f9b6b71aad9bba33af28d0f9\",\"name\":\"Lukas Wojcik\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/07\\\/lw-x2.jpg\",\"url\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/07\\\/lw-x2.jpg\",\"contentUrl\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/07\\\/lw-x2.jpg\",\"width\":424,\"height\":636,\"caption\":\"Lukas Wojcik\"},\"logo\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/07\\\/lw-x2.jpg\"},\"sameAs\":[\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Wyszukiwarka ISRC, ISWC i kod\u00f3w kreskowych: nagrania, utwory i wydawnictwa w MusicBrainz - Lukas Wojcik - Blog","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.lukaswojcik.com\/blog\/pl\/narzedzia\/isrc-iswc-barcode-lookup-musicbrainz\/","og_locale":"en_US","og_type":"article","og_title":"Wyszukiwarka ISRC, ISWC i kod\u00f3w kreskowych: nagrania, utwory i wydawnictwa w MusicBrainz - Lukas Wojcik - Blog","og_description":"Wyszukuje ISRC, ISWC, UPC lub EAN w MusicBrainz: nagrania z wykonawc\u0105, d\u0142ugo\u015bci\u0105, wydawnictwami i powi\u0105zanym utworem, utwory z autorami i identyfikatorami organizacji zbiorowego zarz\u0105dzania, wydawnictwa z wytw\u00f3rni\u0105, numerem katalogowym i formatem, a do tego uwagi o kodach u\u017cytych wi\u0119cej ni\u017c raz.","og_url":"https:\/\/www.lukaswojcik.com\/blog\/pl\/narzedzia\/isrc-iswc-barcode-lookup-musicbrainz\/","og_site_name":"Lukas Wojcik - Blog","article_modified_time":"2026-09-17T14:52:13+00:00","og_image":[{"width":1200,"height":630,"url":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/08\/og-default.jpg","type":"image\/jpeg"}],"twitter_card":"summary_large_image","twitter_misc":{"Est. reading time":"2 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.lukaswojcik.com\/blog\/pl\/narzedzia\/isrc-iswc-barcode-lookup-musicbrainz\/","url":"https:\/\/www.lukaswojcik.com\/blog\/pl\/narzedzia\/isrc-iswc-barcode-lookup-musicbrainz\/","name":"Wyszukiwarka ISRC, ISWC i kod\u00f3w kreskowych: nagrania, utwory i wydawnictwa w MusicBrainz - Lukas Wojcik - Blog","isPartOf":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/#website"},"datePublished":"2026-09-17T12:21:31+00:00","dateModified":"2026-09-17T14:52:13+00:00","breadcrumb":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/pl\/narzedzia\/isrc-iswc-barcode-lookup-musicbrainz\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.lukaswojcik.com\/blog\/pl\/narzedzia\/isrc-iswc-barcode-lookup-musicbrainz\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.lukaswojcik.com\/blog\/pl\/narzedzia\/isrc-iswc-barcode-lookup-musicbrainz\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.lukaswojcik.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Toolbox","item":"https:\/\/www.lukaswojcik.com\/blog\/toolbox-3\/"},{"@type":"ListItem","position":3,"name":"Wyszukiwarka ISRC, ISWC i kod\u00f3w kreskowych: nagrania, utwory i wydawnictwa w MusicBrainz"}]},{"@type":"WebSite","@id":"https:\/\/www.lukaswojcik.com\/blog\/#website","url":"https:\/\/www.lukaswojcik.com\/blog\/","name":"Lukas Wojcik - Blog","description":"","publisher":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/#\/schema\/person\/895f7604f9b6b71aad9bba33af28d0f9"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.lukaswojcik.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":["Person","Organization"],"@id":"https:\/\/www.lukaswojcik.com\/blog\/#\/schema\/person\/895f7604f9b6b71aad9bba33af28d0f9","name":"Lukas Wojcik","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/07\/lw-x2.jpg","url":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/07\/lw-x2.jpg","contentUrl":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/07\/lw-x2.jpg","width":424,"height":636,"caption":"Lukas Wojcik"},"logo":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/07\/lw-x2.jpg"},"sameAs":["https:\/\/www.lukaswojcik.com\/blog"]}]}},"_links":{"self":[{"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/pages\/19598","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/comments?post=19598"}],"version-history":[{"count":5,"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/pages\/19598\/revisions"}],"predecessor-version":[{"id":19888,"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/pages\/19598\/revisions\/19888"}],"up":[{"embeddable":true,"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/pages\/9284"}],"wp:attachment":[{"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/media?parent=19598"}],"wp:term":[{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/tags?post=19598"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}