Find your city

Map style

Shape

Size

Frame color

Black

Color

📱 → 📱↻
Please rotate your phone
The map designer needs the whole screen — turn your device sideways.
Tłumaczy w locie: teksty, placeholdery, opcje, tytuły, alerty. Nie rusza mapy. Przełącznik EN/PL/DE dodaje się na górze panelu. */ (function(){ "use strict"; /* ---- wykrywanie języka: Shopify locale -> ?lang -> localStorage -> przeglądarka ---- */ var shopLocale = ("pl" || "en").toLowerCase().slice(0,2); var qp=null, saved=null; try{ qp=new URLSearchParams(location.search).get("lang"); }catch(e){} try{ saved=localStorage.getItem("vwa_lang"); }catch(e){} var LANG = (qp || saved || shopLocale || (navigator.language||"en").slice(0,2) || "en").toLowerCase(); if(LANG!=="pl" && LANG!=="de") LANG="en"; /* ---- słownik: dokładny angielski tekst -> {pl, de} ---- */ var I18N = { /* nagłówki / etykiety */ "Design Your Wooden Map":{pl:"Zaprojektuj swoją drewnianą mapę",de:"Gestalte deine Holzkarte"}, "← Back to shop":{pl:"← Wróć do sklepu",de:"← Zurück zum Shop"}, "City":{pl:"Miasto",de:"Stadt"}, "Style":{pl:"Styl",de:"Stil"}, "Size":{pl:"Rozmiar",de:"Größe"}, "Color":{pl:"Kolor",de:"Farbe"}, "Frame":{pl:"Rama",de:"Rahmen"}, "Zoom":{pl:"Przybliżenie",de:"Zoom"}, "Shape":{pl:"Kształt",de:"Form"}, "Orientation":{pl:"Orientacja",de:"Ausrichtung"}, "Hearts":{pl:"Serca",de:"Herzen"}, "Frame color":{pl:"Kolor ramy",de:"Rahmenfarbe"}, "Map style":{pl:"Styl mapy",de:"Kartenstil"}, "Find your city":{pl:"Znajdź swoje miasto",de:"Finde deine Stadt"}, "Engraved text":{pl:"Grawerowany tekst",de:"Gravierter Text"}, "Map pins":{pl:"Pinezki na mapie",de:"Karten-Pins"}, "Map labels":{pl:"Tabliczki na mapie",de:"Karten-Beschriftungen"}, "Back engraving":{pl:"Grawer z tyłu",de:"Rückseiten-Gravur"}, "Love story":{pl:"Historia miłości",de:"Liebesgeschichte"}, "Message panel":{pl:"Panel z wiadomością",de:"Nachrichtenfeld"}, "Key holder header":{pl:"Nagłówek wieszaka na klucze",de:"Schlüsselbrett-Kopf"}, "Hearts — which map are you editing?":{pl:"Serca — którą mapę edytujesz?",de:"Herzen — welche Karte bearbeitest du?"}, "Order summary (goes to Shopify order)":{pl:"Podsumowanie zamówienia (trafia do zamówienia Shopify)",de:"Bestellübersicht (geht in die Shopify-Bestellung)"}, /* podpisy w nagłówkach */ "engraved marker":{pl:"grawerowany znacznik",de:"gravierte Markierung"}, "engraved text tag":{pl:"grawerowana tabliczka",de:"gravierte Textmarke"}, "hidden message":{pl:"ukryta wiadomość",de:"versteckte Nachricht"}, /* przyciski główne */ "🛒 Order Map":{pl:"🛒 Zamów mapę",de:"🛒 Karte bestellen"}, "🔔 Let me know when it's available":{pl:"🔔 Powiadom mnie, gdy będzie dostępne",de:"🔔 Benachrichtige mich, wenn verfügbar"}, "👁 Show product preview":{pl:"👁 Pokaż podgląd produktu",de:"👁 Produktvorschau anzeigen"}, "🗺 Back to raw map":{pl:"🗺 Wróć do surowej mapy",de:"🗺 Zurück zur Rohkarte"}, "⤓ Load design code":{pl:"⤓ Wczytaj kod projektu",de:"⤓ Design-Code laden"}, "Details (production data)":{pl:"Szczegóły (dane produkcyjne)",de:"Details (Produktionsdaten)"}, "🧡 ETSY ORDER CODE":{pl:"🧡 KOD ZAMÓWIENIA ETSY",de:"🧡 ETSY-BESTELLCODE"}, "🧡 Etsy order code":{pl:"🧡 Kod zamówienia Etsy",de:"🧡 Etsy-Bestellcode"}, "+ Add label":{pl:"+ Dodaj tabliczkę",de:"+ Beschriftung hinzufügen"}, "✎ Write a message on the back":{pl:"✎ Napisz wiadomość z tyłu",de:"✎ Nachricht auf die Rückseite schreiben"}, "🗺 Back to the map":{pl:"🗺 Wróć do mapy",de:"🗺 Zurück zur Karte"}, "🔍 Search":{pl:"🔍 Szukaj",de:"🔍 Suchen"}, "✕ Remove selected pin":{pl:"✕ Usuń wybraną pinezkę",de:"✕ Ausgewählten Pin entfernen"}, "Copy":{pl:"Kopiuj",de:"Kopieren"}, "Copied!":{pl:"Skopiowano!",de:"Kopiert!"}, "Close":{pl:"Zamknij",de:"Schließen"}, "Notify me":{pl:"Powiadom mnie",de:"Benachrichtigen"}, "📋 Copy code":{pl:"📋 Kopiuj kod",de:"📋 Code kopieren"}, /* warstwy */ "Highways":{pl:"Autostrady",de:"Autobahnen"}, "Roads":{pl:"Drogi",de:"Landstraßen"}, "Streets":{pl:"Ulice",de:"Straßen"}, "Paths":{pl:"Ścieżki",de:"Wege"}, "Rails":{pl:"Tory",de:"Schienen"}, "Water":{pl:"Woda",de:"Wasser"}, "Parks / green (engraved, one shade)":{pl:"Parki / zieleń (grawer, jeden odcień)",de:"Parks / Grün (graviert, ein Ton)"}, "Line thickness":{pl:"Grubość linii",de:"Linienstärke"}, "roads · streets · water · parks — optional fine-tuning":{pl:"drogi · ulice · woda · parki — opcjonalne dostrojenie",de:"Straßen · Wege · Wasser · Parks — optionale Feinabstimmung"}, "✅ ≥1.0 mm cut · ⚠️ 0.8–1.0 mm fragile · ✏️ <0.8 mm engrave only":{pl:"✅ ≥1,0 mm cięcie · ⚠️ 0,8–1,0 mm delikatne · ✏️ <0,8 mm tylko grawer",de:"✅ ≥1,0 mm Schnitt · ⚠️ 0,8–1,0 mm fragil · ✏️ <0,8 mm nur Gravur"}, "Text size":{pl:"Rozmiar tekstu",de:"Textgröße"}, "auto-fit keeps proportions":{pl:"auto-dopasowanie zachowuje proporcje",de:"Auto-Anpassung behält Proportionen"}, "Add coordinates under the name":{pl:"Dodaj współrzędne pod nazwą",de:"Koordinaten unter dem Namen hinzufügen"}, "Show coordinates line":{pl:"Pokaż linię współrzędnych",de:"Koordinatenzeile anzeigen"}, "Position ↑↓":{pl:"Pozycja ↑↓",de:"Position ↑↓"}, "Position ←→":{pl:"Pozycja ←→",de:"Position ←→"}, /* placeholdery */ "Search city, address, shop, club…":{pl:"Szukaj miasta, adresu, sklepu, klubu…",de:"Stadt, Adresse, Geschäft, Club suchen…"}, "e.g. Kraków — Where it all began":{pl:"np. Kraków — Gdzie się wszystko zaczęło",de:"z. B. Krakau — Wo alles begann"}, "e.g. Folkestone":{pl:"np. Folkestone",de:"z. B. Folkestone"}, "LABEL":{pl:"TABLICZKA",de:"BESCHRIFTUNG"}, "Headline":{pl:"Nagłówek",de:"Überschrift"}, "Your hidden message… (max 300 characters)":{pl:"Twoja ukryta wiadomość… (max 300 znaków)",de:"Deine versteckte Nachricht… (max. 300 Zeichen)"}, "City name above heart (optional)":{pl:"Nazwa miasta nad sercem (opcjonalnie)",de:"Stadtname über dem Herz (optional)"}, "Forever starts here (optional)":{pl:"Tu zaczyna się wieczność (opcjonalnie)",de:"Für immer beginnt hier (optional)"}, "Your own headline":{pl:"Twój własny nagłówek",de:"Deine eigene Überschrift"}, "Your own text":{pl:"Twój własny tekst",de:"Dein eigener Text"}, /* czcionki (opcje) */ "Montserrat — modern bold":{pl:"Montserrat — nowoczesny pogrubiony",de:"Montserrat — modern fett"}, "Bebas Neue — tall caps":{pl:"Bebas Neue — wysokie wersaliki",de:"Bebas Neue — hohe Großbuchstaben"}, "Oswald — condensed":{pl:"Oswald — zwężony",de:"Oswald — schmal"}, "Archivo Black — heavy":{pl:"Archivo Black — ciężki",de:"Archivo Black — schwer"}, "Allerta Stencil — cut-out":{pl:"Allerta Stencil — ażur",de:"Allerta Stencil — Schablone"}, "Stardos Stencil — cut-out":{pl:"Stardos Stencil — ażur",de:"Stardos Stencil — Schablone"}, "Saira Stencil One — cut-out":{pl:"Saira Stencil One — ażur",de:"Saira Stencil One — Schablone"}, "Cinzel — roman engraving":{pl:"Cinzel — grawer rzymski",de:"Cinzel — römische Gravur"}, "Playfair Display — elegant serif":{pl:"Playfair Display — elegancka szeryfowa",de:"Playfair Display — elegante Serife"}, "Lora — classic serif":{pl:"Lora — klasyczna szeryfowa",de:"Lora — klassische Serife"}, "Dancing Script — handwritten":{pl:"Dancing Script — odręczny",de:"Dancing Script — handschriftlich"}, "Great Vibes — calligraphy":{pl:"Great Vibes — kaligrafia",de:"Great Vibes — Kalligrafie"}, "Montserrat — modern":{pl:"Montserrat — nowoczesny",de:"Montserrat — modern"}, /* memory / love — nagłówki */ "WHERE WE MET":{pl:"GDZIE SIĘ POZNALIŚMY",de:"WO WIR UNS TRAFEN"}, "THE DAY WE SAID YES":{pl:"DZIEŃ, GDY POWIEDZIELIŚMY TAK",de:"DER TAG, ALS WIR JA SAGTEN"}, "WHERE IT ALL BEGAN":{pl:"GDZIE SIĘ WSZYSTKO ZACZĘŁO",de:"WO ALLES BEGANN"}, "WHERE WE FELL IN LOVE":{pl:"GDZIE SIĘ ZAKOCHALIŚMY",de:"WO WIR UNS VERLIEBTEN"}, "OUR FIRST HOME":{pl:"NASZ PIERWSZY DOM",de:"UNSER ERSTES ZUHAUSE"}, "THE PLACE THAT CHANGED EVERYTHING":{pl:"MIEJSCE, KTÓRE WSZYSTKO ZMIENIŁO",de:"DER ORT, DER ALLES VERÄNDERTE"}, "Custom…":{pl:"Własny…",de:"Eigener…"}, /* key holder */ "Home Sweet Home (script)":{pl:"Home Sweet Home (pismo)",de:"Home Sweet Home (Schreibschrift)"}, "Welcome to … Home":{pl:"Witamy w domu …",de:"Willkommen im … Zuhause"}, "Keys to … World":{pl:"Klucze do świata …",de:"Schlüssel zur … Welt"}, "First Home + address":{pl:"Pierwszy dom + adres",de:"Erstes Zuhause + Adresse"}, "Custom text":{pl:"Własny tekst",de:"Eigener Text"}, "Hooks on the bottom edge: 4 / 6 / 8 by size.":{pl:"Haczyki na dolnej krawędzi: 4 / 6 / 8 wg rozmiaru.",de:"Haken an der Unterkante: 4 / 6 / 8 je nach Größe."}, /* style (kafelki) */ "3 layers":{pl:"3 warstwy",de:"3 Schichten"}, "Love Story":{pl:"Historia miłości",de:"Liebesgeschichte"}, "2–3 heart maps":{pl:"2–3 mapy serca",de:"2–3 Herz-Karten"}, "Memory poster":{pl:"Plakat pamiątkowy",de:"Erinnerungsposter"}, "map + panel":{pl:"mapa + panel",de:"Karte + Panel"}, "Cut-out":{pl:"Ażur",de:"Scherenschnitt"}, "openwork":{pl:"ażur",de:"durchbrochen"}, "Engraved":{pl:"Grawer",de:"Graviert"}, "one layer":{pl:"jedna warstwa",de:"eine Schicht"}, "Key holder":{pl:"Wieszak na klucze",de:"Schlüsselbrett"}, "map + hooks":{pl:"mapa + haczyki",de:"Karte + Haken"}, "COMING SOON":{pl:"WKRÓTCE",de:"DEMNÄCHST"}, "Coming soon":{pl:"Wkrótce",de:"Demnächst"}, /* kształt / notatki */ "Circle — available in the Cut-out style.":{pl:"Koło — dostępne w stylu Ażur.",de:"Kreis — verfügbar im Scherenschnitt-Stil."}, "Click a shape to drop it at the map centre, then drag it into place.":{pl:"Kliknij kształt, aby umieścić go na środku mapy, potem przeciągnij na miejsce.",de:"Klicke auf eine Form, um sie in der Kartenmitte abzulegen, dann ziehe sie an ihren Platz."}, "Short name (max 20 chars). Drag it on the map to place it — engraved in the street colour, aligned to the map.":{pl:"Krótka nazwa (max 20 znaków). Przeciągnij po mapie, aby umieścić — grawer w kolorze ulic, zlicowany z mapą.",de:"Kurzer Name (max. 20 Zeichen). Auf der Karte ziehen zum Platzieren — graviert in Straßenfarbe, an der Karte ausgerichtet."}, "Click a heart on the board to select it — then search the city, scroll to zoom, drag to move the map. ♥ adds a golden heart you can drag.":{pl:"Kliknij serce na planszy, aby je wybrać — potem wyszukaj miasto, przewiń, aby przybliżyć, przeciągnij, aby przesunąć mapę. ♥ dodaje złote serce, które możesz przeciągać.",de:"Klicke auf ein Herz, um es auszuwählen — dann Stadt suchen, scrollen zum Zoomen, ziehen zum Verschieben. ♥ fügt ein goldenes Herz zum Ziehen hinzu."}, "Order data = coordinates + normalized zoom + crop bbox + all options → reproducible in Maker Studio.":{pl:"Dane zamówienia = współrzędne + znormalizowany zoom + bbox kadru + wszystkie opcje → odtwarzalne w Maker Studio.",de:"Bestelldaten = Koordinaten + normalisierter Zoom + Crop-Bbox + alle Optionen → reproduzierbar in Maker Studio."}, /* tytuły (tooltipy) */ "Pin":{pl:"Pinezka",de:"Pin"}, "Heart":{pl:"Serce",de:"Herz"}, "Star":{pl:"Gwiazda",de:"Stern"}, "House":{pl:"Dom",de:"Haus"}, "Ring":{pl:"Pierścień",de:"Ring"}, "Square":{pl:"Kwadrat",de:"Quadrat"}, "Rectangle":{pl:"Prostokąt",de:"Rechteck"}, "Circle":{pl:"Koło",de:"Kreis"}, "Vertical":{pl:"Pionowo",de:"Vertikal"}, "Horizontal":{pl:"Poziomo",de:"Horizontal"}, "Center":{pl:"Wyśrodkuj",de:"Zentrieren"}, "Height":{pl:"Wysokość",de:"Höhe"}, "Remove":{pl:"Usuń",de:"Entfernen"}, "Remove marker":{pl:"Usuń znacznik",de:"Markierung entfernen"}, "Lock position & zoom":{pl:"Zablokuj pozycję i zoom",de:"Position & Zoom sperren"}, /* modale: notify / etsy */ "Leave your e-mail and we'll let you know the moment this style is available.":{pl:"Zostaw e-mail, a damy znać, gdy tylko ten styl będzie dostępny.",de:"Hinterlasse deine E-Mail, wir benachrichtigen dich, sobald dieser Stil verfügbar ist."}, "Please enter a valid e-mail.":{pl:"Podaj prawidłowy adres e-mail.",de:"Bitte gib eine gültige E-Mail-Adresse ein."}, "Thank you! We'll e-mail you when it's ready. ♥":{pl:"Dziękujemy! Wyślemy e-mail, gdy będzie gotowe. ♥",de:"Danke! Wir schreiben dir, sobald es fertig ist. ♥"}, "Your Etsy order code":{pl:"Twój kod zamówienia Etsy",de:"Dein Etsy-Bestellcode"}, "📋 Copy code":{pl:"📋 Kopiuj kod",de:"📋 Code kopieren"}, /* alerty */ "Max 6 pins":{pl:"Maks. 6 pinezek",de:"Max. 6 Pins"}, "Max 6 labels":{pl:"Maks. 6 tabliczek",de:"Max. 6 Beschriftungen"}, "This size is temporarily unavailable.":{pl:"Ten rozmiar jest chwilowo niedostępny.",de:"Diese Größe ist vorübergehend nicht verfügbar."}, "This size/finish combination is temporarily unavailable.":{pl:"Ta kombinacja rozmiar/wykończenie jest chwilowo niedostępna.",de:"Diese Kombination aus Größe/Finish ist vorübergehend nicht verfügbar."}, "This size/frame combination is temporarily unavailable.":{pl:"Ta kombinacja rozmiar/rama jest chwilowo niedostępna.",de:"Diese Kombination aus Größe/Rahmen ist vorübergehend nicht verfügbar."}, "Product is not available yet - please try again soon.":{pl:"Produkt nie jest jeszcze dostępny - spróbuj wkrótce ponownie.",de:"Produkt ist noch nicht verfügbar - bitte versuche es bald erneut."}, "Could not add to cart - please try again.":{pl:"Nie udało się dodać do koszyka - spróbuj ponownie.",de:"Konnte nicht in den Warenkorb gelegt werden - bitte erneut versuchen."}, "Invalid design code":{pl:"Nieprawidłowy kod projektu",de:"Ungültiger Design-Code"}, /* rotate / banner */ "Please rotate your phone":{pl:"Obróć telefon",de:"Bitte drehe dein Handy"}, "The map designer needs the whole screen — turn your device sideways.":{pl:"Kreator mapy potrzebuje całego ekranu — obróć urządzenie poziomo.",de:"Der Karten-Designer braucht den ganzen Bildschirm — drehe dein Gerät quer."}, "✓ Done":{pl:"✓ Gotowe",de:"✓ Fertig"}, /* split (gdy odsłonięty) */ "Spacing between maps":{pl:"Odstęp między mapami",de:"Abstand zwischen den Karten"} }; function trFrom(en){ if(LANG==="en" || en==null) return en; var k=(""+en).trim(); var e=I18N[k]; if(e && e[LANG]) return (""+en).replace(k, e[LANG]); return en; } var ROOT_SEL="#sidebar, .fly, #modal, #notifyModal, #etsyModal, #placeBanner, #rotateNotice"; var ORIG_TXT = (typeof WeakMap!=="undefined") ? new WeakMap() : null; function walkText(root){ var w=document.createTreeWalker(root, NodeFilter.SHOW_TEXT, null, false), n; var list=[]; while((n=w.nextNode())){ if(n.nodeValue && n.nodeValue.trim()) list.push(n); } for(var i=0;i