/** de — batch 5. Filled by the 2026-10-07 German translation pass. */ const deBatch5 = { labUi: { activeCount: "{{count}} aktiv", addMusicProfile: "Musik-Profil hinzufügen", all: "Alle", clearAll: "Alle zurücksetzen", collective: "Kollektiv", filters: "Filter", following: "Folge ich", getRiderCard: "Rider Card holen", judgeEvents: "Events bewerten", justASkater: "Nur ein", labForServices: "The Lab ist für Services. Durchstöbere die gesamte Skater-Community und mach mit", loginToOffer: "Melde dich an, um Services anzubieten", newest: "Neueste", noResults: "Keine Ergebnisse", offer: "Anbieten", offerBuilding: "Bau anbieten", offerCoaching: "Coaching anbieten", offerCuts: "Schnitte anbieten", offerDesignArt: "Design / Kunst anbieten", offerEditing: "Editing anbieten", offerFilming: "Filmen anbieten", offerGraffiti: "Graffiti anbieten", offerPhotography: "Fotografie anbieten", offerServices: "Services anbieten", yourProfiles: "Deine Lab-Profile", preview: { button: "Vorschau", title: "Live-Vorschau", desc: "So sieht dein {{noun}}-Profil aus, sobald es veröffentlicht ist.", untitled: "Dein Name", noBio: "Noch keine Bio — schreib eine Zeile dazu, was du anbietest.", years: "{{count}} Jahre Erfahrung", portfolio: "Portfolio", note: "Nur Vorschau — es ist noch nichts veröffentlicht.", }, draft: { title: "Du hast einen ungespeicherten Entwurf", body: "Mach da weiter, wo du aufgehört hast — nichts wird veröffentlicht, bis du auf Veröffentlichen drückst.", resume: "Entwurf fortsetzen", discard: "Entwurf verwerfen", }, progress: { title: "Profil-Vollständigkeit", count: "{{done}} von {{total}} erledigt", photo: "Foto", bio: "Bio", skills: "Skills", rate: "Preis", location: "Standort", contact: "Kontakt", }, wizard: { identity: "Identität", offer: "Was du anbietest", rates: "Preise", contact: "Kontakt", media: "Medien", }, offerTattoo: "Tattoo anbieten", offerTraining: "Training / Physio anbieten", organizeEvents: "Events organisieren", resultsMany: "{{count}} Ergebnisse", resultsOne: "{{count}} Ergebnis", searchCityPlaceholder: "Stadt…", searchNamePlaceholder: "Name, Bio…", showResults: "Ergebnisse anzeigen", showResultsActive: "Ergebnisse anzeigen · {{count}} aktiv", skaterWord: "Skater", sortBy: "Sortieren nach", theCrew: "Die Crew", topRated: "Top bewertet", trusted: "Vertrauenswürdig", trustLevel: "Vertrauensstufe", yearsExp: "{{count}} J. Erfahrung", tabCoaches: "Coaches", tabFilmers: "Filmer", tabPhoto: "Foto", tabEditors: "Editoren", tabBuilders: "Builder", tabArtists: "Künstler", tabGraffiti: "Graffiti", tabTattoo: "Tattoo", tabTrainers: "Trainer", tabMusic: "Musik", tabJudges: "Juroren", tabOrganizers: "Organisatoren", tabBarbers: "Barbiere", filterSkillsToLearn: "Skills zum Lernen", filterContentType: "Inhaltstyp", filterEquipmentStyle: "Ausrüstung & Stil", filterServices: "Services", filterCamera: "Kamera", filterLenses: "Objektive", filterLighting: "Beleuchtung", filterSupportRig: "Support & Rig", filterStyle: "Stil", filterWhatTheyBuild: "Was sie bauen", filterMaterialsTrade: "Materialien & Handwerk", filterProjectScale: "Projektumfang", filterWhatTheyMake: "Was sie herstellen", filterMedium: "Medium", filterSoftwareTools: "Software & Tools", filterWorkContext: "Arbeitskontext", filterMethod: "Methode", filterFocus: "Schwerpunkt", filterInjuriesTreated: "Behandelte Verletzungen", filterCredentialsSetting: "Qualifikationen & Umfeld", filterGenre: "Genre", filterInstrumentsRole: "Instrumente & Rolle", filterEventFormats: "Event-Formate", filterSpecialty: "Spezialität", filterLevelCircuit: "Level / Circuit", filterEventTypes: "Event-Typen", filterWhatYouHandle: "Was du übernimmst", filterScale: "Umfang", filterWhatTheyOffer: "Was sie anbieten", filterSignatureStyles: "Signatur-Stile", filterSetting: "Umgebung", filterEditType: "Edit-Typ", role: { coach: "Coach", filmer: "Filmer", builder: "Builder", editor: "Video Editor", photographer: "Photographer", skater: "Skater", }, empty: { footer: "Fragen? Schau in die FAQ →", loginSuffix: "um ein Profil zu erstellen.", coachesTitle: "Noch keine Coaches", coachesBody: "Sei der Erste, der Skateboard-Coaching in deiner Gegend anbietet.", filmersTitle: "Noch keine Filmer", filmersBody: "Sei der Erste, der Skate-Filming anbietet — Clips, ganze Parts, Contest-Berichterstattung und mehr.", photographersTitle: "Noch keine Photographers", photographersBody: "Sei der Erste, der Skate-Fotografie in deiner Gegend anbietet — Action-Shots, Sequenzen, Editorial und mehr.", editorsTitle: "Noch keine Video-Editoren", editorsBody: "Sei der Erste, der Skate-Video-Editing anbietet.", buildersTitle: "Noch keine Builder", buildersBody: "Sei der Erste, der seinen Rampen-, Park- oder DIY-Bau einträgt — Beton, Holz, Rails und mehr.", artistsTitle: "Noch keine Künstler", artistsBody: "Sei der Erste, der Board-Grafiken, Logos, Poster und Merch für die Szene anbietet.", graffitiTitle: "Noch keine Graffiti-Künstler", graffitiBody: "Sei der Erste, der Pieces, Murals und Skatepark-Kunst in deiner Gegend anbietet.", tattooTitle: "Noch keine Tattoo-Künstler", tattooBody: "Sei der erste Tattoo-Künstler der Skate-Kultur, der sich einträgt — Flash, Custom, Fine Line und mehr.", trainersTitle: "Noch keine Trainer", trainersBody: "Sei der erste Trainer oder Physio, der Skatern hilft, stark zu werden und gesund zu bleiben.", musiciansTitle: "Noch keine Musiker", musiciansBody: "Skaten und Musik machen? Füge deine Band oder dein Soloprojekt hinzu — Genres, Instrumente und Links.", judgesTitle: "Noch keine Juroren", judgesBody: "Veranstaltest du einen fairen Contest? Trage dich ein, um Game of S.K.A.T.E., Best-Trick-Jams, Contests und Tourstopps zu bewerten.", organizersTitle: "Noch keine Organisatoren", organizersBody: "Veranstaltest du Jams, Comps, Meetups oder Demos? Trage dich ein, damit Skater dich finden und buchen können.", barbersTitle: "Noch keine Barbiere", barbersBody: "Schneidest du Skatern die Haare? Trage deinen Stuhl oder deinen mobilen Service ein, damit die Szene einen frischen Schnitt bekommt.", }, become: { addNip05: "NIP-05 in den Einstellungen hinzufügen", backToLab: "Zurück zu The Lab", bioWorkLabel: "Bio / Über deine Arbeit", checkContact: "Prüfe deine Kontaktdaten", cityArea: "Stadt / Gegend", cityCountry: "Stadt, Land", connectWallet: "Wallet verbinden", connectWalletNwc: "Wallet mit NWC verbinden", contactInfo: "Kontaktinformationen", contactInfoDesc: "Wie Kunden dich erreichen (alles optional, aber empfohlen)", coordinatesOptional: "Koordinaten (optional)", email: "E-Mail", failedToPublish: "Veröffentlichung fehlgeschlagen", fromNostrProfile: "Aus deinem Nostr-Profil", geolocationUnsupported: "Geolocation wird nicht unterstützt", getting: "Wird abgerufen…", headline: "Überschrift", headlineHint: "Erscheint als Titel auf deiner Lab-Karte — z. B. „{{example}}“. Standard ist dein Name.", imageUploaded: "Bild hochgeladen", instagram: "Instagram", invalidEmail: "Gib eine gültige E-Mail-Adresse ein.", invalidPortfolio: "Gib eine gültige Portfolio-URL ein.", invalidWebsite: "Gib eine gültige Website-URL ein.", latitude: "Breitengrad", learnHow: "So geht's", locationError: "Standortfehler", locationFound: "Standort gefunden", loginRequired: "Anmeldung erforderlich", loginRequiredDesc: "Du musst dich anmelden, um ein {{role}}-Profil zu erstellen.", loginRequiredDescCraft: "Du musst dich anmelden, um ein {{noun}}-Profil zu erstellen.", longitude: "Längengrad", nip05Recommended: "NIP-05-Verifizierung empfohlen", nip05RecommendedDesc: "Verifiziere deine Identität, um Vertrauen bei Kunden aufzubauen.", noWallet: "Keine Wallet verbunden", otherSocial: "Sonstige soziale Netzwerke", paymentSetup: "⚡ Zahlungseinrichtung erforderlich", phoneNumber: "Telefonnummer", profilePhoto: "Profilfoto", profilePublished: "Dein Profil wurde veröffentlicht.", publishing: "Wird veröffentlicht…", socialMedia: "Soziale Medien", tip: "💡 Tipp: Die meisten Lightning-Wallets unterstützen NWC (Alby, Minibits, Zeus, Coinos).", tipWithTime: "💡 Tipp: Die meisten Lightning-Wallets unterstützen NWC (Alby, Minibits, Zeus, Coinos). Die Einrichtung dauert 30 Sekunden.", upload: "Hochladen", uploadFailed: "Hochladen fehlgeschlagen", uploadImage: "Bild hochladen", uploading: "Wird hochgeladen…", useCurrentLocation: "Aktuellen Standort verwenden", useMyLocation: "Meinen Standort verwenden", usingNwc: "Nostr Wallet Connect wird verwendet", usingWebln: "WebLN-Browsererweiterung wird verwendet", walletConnected: "Wallet verbunden — bereit, Zahlungen zu empfangen!", website: "Website", yearsExperience: "Jahre Erfahrung", }, coachForm: { anonymous: "Anonymer Coach", bioLabel: "Bio / Coaching-Philosophie", bioPlaceholder: "Dein Hintergrund, dein Lehrstil…", create: "COACH-PROFIL ERSTELLEN", created: "Coach-Profil erstellt!", createPro: "PRO-COACH-PROFIL ERSTELLEN", dmNote: "💬 Schüler können dir direkt über das verschlüsselte Messaging von SkateSpots schreiben", heading: "Werde Coach", headlineExample: "Skate Coach Berlin", hourlyRate: "Stundensatz", identity: "Deine Coach-Identität", nip05Reason: "Füge eine NIP-05-Kennung hinzu, um deine Identität zu verifizieren und Vertrauen bei Schülern aufzubauen — sie zeigt ihnen, dass du ein legitimer Coach bist.", paymentDesc: "Um Zahlungen für Unterricht von Schülern zu erhalten, musst du eine Lightning-Wallet verbinden. Schüler zappen dich direkt für Coaching-Sessions.", profileDesc: "Erzähl Schülern von deiner Erfahrung", profileTitle: "Coach-Profil", ratePlaceholder: "5000 sats/Std.", selectSkill: "Wähle mindestens einen Skill.", skillsLabel: "Skills, die ich unterrichte * (mindestens einen auswählen)", skillsRequired: "Skills erforderlich", formatsLabel: "Session-Formate", formatsHint: "Wie du Coaching anbietest.", levelsLabel: "Unterrichtete Level", agesLabel: "Altersgruppen", credentialsLabel: "Qualifikationen & Sicherheit", credentialsHint: "Selbst angegeben — SkateSpots überprüft diese nicht.", languagesLabel: "Gesprochene Sprachen", languagesHint: "Füge die Sprachen hinzu, in denen du coachen kannst.", languagePlaceholder: "z. B. Englisch, Español", availabilityLabel: "Verfügbarkeit", bookingLabel: "Buchungslink", bookingHint: "Optional — eine Seite, auf der Schüler buchen und bezahlen können.", galleryLabel: "Portfolio-Fotos", galleryHint: "Zeig echte Sessions, Schüler und Spots (bis zu 12).", galleryAdd: "Portfolio-Fotos hinzufügen", galleryUploaded: "{{count}} Foto(s) hochgeladen", videoLabel: "Highlight-Reel", videoHint: "Optional — ein YouTube- oder Instagram-Video von deinem Coaching.", formatOneOnOne: "1-on-1", formatGroup: "Gruppe", formatCamp: "Camp", formatVideo: "Videoanalyse", formatContestPrep: "Contest-Vorbereitung", formatParkLesson: "Park-Unterricht", formatAdaptive: "Adaptiv", formatGirls: "Girls-Session", formatAfterSchool: "Nach der Schule", levelBeginner: "Anfänger", levelIntermediate: "Mittelstufe", levelAdvanced: "Fortgeschritten", levelCompetition: "Wettkampf", ageKids: "Kinder", ageTeens: "Teens", ageAdults: "Erwachsene", ageSeniors: "Senioren", certFirstAid: "Erste Hilfe", certCpr: "CPR", certSafeguarding: "Kinderschutz", certBackgroundCheck: "Führungszeugnis", certInsured: "Versichert", certFederation: "Trainer im Nationalverband", certQualification: "Coaching-Qualifikation", certJudge: "Wettkampfrichter", certNoteLabel: "Weitere Qualifikationen (optional)", certNotePlaceholder: "z. B. Skateboard GB Level 2, 8 Jahre Coaching…", availWeekdays: "Wochentage", availWeekends: "Wochenenden", availEvenings: "Abende", availAfterSchool: "Nach der Schule", availHolidays: "Schulferien", availSeasonal: "Saisonal", sectionWhatYouCoach: "Was du coachst", sectionCredentials: "Qualifikationen & Sicherheit", sectionAvailability: "Verfügbarkeit & Buchung", sectionWhereYouCoach: "Wo du coachst", sectionPortfolio: "Portfolio", rateAmountLabel: "Preis", rateCurrencySats: "sats", rateCurrencyUsd: "USD", rateCurrencyEur: "EUR", rateCurrencyGbp: "GBP", perHour: "pro Stunde", perSession: "pro Session", perHalfDay: "pro halbem Tag", perDay: "pro Tag", perCamp: "pro Camp", perProject: "pro Projekt", perEvent: "pro Event", perGig: "pro Gig", perShoot: "pro Shoot", perPiece: "pro Piece", perCut: "pro Schnitt", perMonth: "pro Monat", availByAppointment: "Nach Vereinbarung", rateNotesLabel: "Preis-Hinweise (optional)", rateNotesPlaceholder: "Gleitende Skala, erste Session gratis, Anfahrt inklusive…", sectionPayments: "Zahlungen", paymentMethodsHint: "Wie Kunden dich bezahlen können. Das ist eine Angabe — SkateSpots hält niemals Gelder.", payMethodCash: "Bar vor Ort", payMethodLightning: "Lightning", payMethodCashu: "Cashu", payMethodBank: "Banküberweisung", payMethodOther: "Sonstiges", payWhatYouCanLabel: "Gleitende Skala / zahl, was du kannst", bookingFeeLabel: "Buchungsgebühr (optional)", bookingFeeHint: "Eine kleine Gebühr, die direkt an dich geht, um eine Buchung zu bestätigen. SkateSpots hält oder erstattet sie nicht.", paymentNoteLabel: "Zahlungshinweis (optional)", paymentNotePlaceholder: "Erste Session gratis, Anfahrt inklusive, Zahlung nach der Session…", spotsDesc: "Wähle Spots aus, an denen du Coaching-Sessions anbietest", spotsLabel: "Spots, an denen du coachst", tagline: "Teile dein Skateboard-Wissen", update: "COACH-PROFIL AKTUALISIEREN", updated: "Coach-Profil aktualisiert!", }, filmerForm: { anonymous: "Anonymer Filmer", bioPlaceholder: "Dein Hintergrund, Stil, Equipment…", camerasLabel: "Kameras & Equipment * (mindestens eine auswählen)", create: "FILMING-PROFIL ERSTELLEN", created: "Filming-Profil erstellt!", createPro: "PRO-FILMING-PROFIL ERSTELLEN", dmNote: "💬 Kunden können dir direkt über das verschlüsselte Messaging von SkateSpots schreiben", gearHelper: "Liste deine genauen Kameras, Objektive und Rigs auf — Skater interessieren sich für das Setup.", gearLabel: "Was in der Tasche ist (optional)", gearPlaceholder: "z. B. Sony VX1000 + MK1 Fisheye, Panasonic HVX200, DJI RS3 Gimbal, GoPro Hero 12, Sennheiser-Mikro…", heading: "Werde Filmer", headlineExample: "Skate Filmer Berlin", identity: "Deine Filmer-Identität", nip05Reason: "Füge eine NIP-05-Kennung hinzu, um deine Identität zu verifizieren und Vertrauen bei Kunden aufzubauen — sie zeigt ihnen, dass du ein legitimer Filmer bist.", paymentDesc: "Um Zahlungen von Kunden für Filming-Services zu erhalten, musst du eine Lightning-Wallet verbinden. Kunden zappen dich direkt für deine Arbeit.", profileDesc: "Erzähl Kunden von deiner Filming-Erfahrung", profileTitle: "Filming-Profil", rate: "Preis", ratePlaceholder: "10000 sats/Video", reelLabel: "Reel / Portfolio", selectService: "Wähle mindestens einen Service.", selectSkill: "Wähle mindestens einen Filming-Skill.", servicesLabel: "Angebotene Services * (mindestens einen auswählen)", servicesRequired: "Services erforderlich", skillsRequired: "Skills erforderlich", spotsDesc: "Wähle Spots aus, an denen du Filming-Services anbietest", spotsLabel: "Spots, an denen du filmst", tagline: "Biete dein Skate-Video-Filming an — Clips, Lines, ganze Parts & Contest-Berichterstattung", update: "FILMING-PROFIL AKTUALISIEREN", updated: "Filming-Profil aktualisiert!", }, editorForm: { anonymous: "Anonymer Editor", bioPlaceholder: "Dein Editing-Stil, Hintergrund, nennenswerte Projekte…", contactPortfolio: "Kontakt & Portfolio", create: "Editor-Profil veröffentlichen", created: "Editor-Profil erstellt!", createPro: "Pro-Editor-Profil veröffentlichen", editTypes: "Angebotene Edit-Typen * (mindestens einen auswählen)", hardware: "Hardware", hardwarePlaceholder: "z. B. MacBook Pro M3, Sony FX3", heading: "Werde Video Editor", headlineExample: "Skate Video Editor", identity: "Deine Identität", locationOptional: "Standort (optional)", loginDesc: "Melde dich an, um dein Video-Editor-Profil zu erstellen.", phoneTelegram: "Telefon / Telegram", portfolioPlaceholder: "Portfolio (Vimeo, YouTube…)", profileDesc: "Erzähl der Community von deinem Editing-Stil und deinen Skills", profileTitle: "Editor-Profil", published: "Dein Profil wurde auf SkateSpots veröffentlicht.", rate: "Preis / Tarif", ratePlaceholder: "z. B. 50k sats/Min., DM für Angebot", selectService: "Wähle mindestens einen Edit-Typ.", servicesRequired: "Services erforderlich", socialPlaceholder: "Instagram / Social-Handle", software: "Software", softwareHardware: "Software- & Hardware-Skills", softwarePlaceholder: "z. B. DaVinci Resolve, Premiere", tagline: "Biete deine Video-Editing-Services der Skate-Community an", thumbnail: "Profil- / Showreel-Thumbnail", update: "Editor-Profil aktualisieren", updated: "Editor-Profil aktualisiert!", walletConnected: "Wallet verbunden ✓", walletDesc: "Erhalte Bitcoin-⚡-Zahlungen direkt von Kunden für deine Editing-Arbeit.", walletTitle: "⚡ Lightning-Wallet für Zahlungen", yearsExperience: "Jahre Erfahrung", yearsPlaceholder: "z. B. 5 Jahre", }, photoForm: { anonymous: "Anonymer Photographer", bioPlaceholder: "Dein Hintergrund, Stil, was du gerne fotografierst…", cameraLabel: "Kameragehäuse * (mindestens eines auswählen)", cameraRequired: "Kamera erforderlich", contactDesc: "Wie Rider deine Arbeit sehen und dich erreichen (alles optional, aber empfohlen)", create: "FOTOGRAFIE-PROFIL ERSTELLEN", created: "Fotografie-Profil erstellt!", createPro: "PRO-FOTOGRAFIE-PROFIL ERSTELLEN", dmNote: "💬 Rider können dir direkt über das verschlüsselte Messaging von SkateSpots schreiben", gearHelper: "Liste genaue Gehäuse, Objektive und Lichter auf — Rider lieben es, das Setup zu kennen.", gearPlaceholder: "z. B. Canon R6 II, 8-15mm Fisheye, 70-200mm f/2.8, 2× Godox AD200, Funkauslöser, Manfrotto-Stativ…", heading: "Werde Photographer", headlineExample: "Skate-Fotografie", identity: "Deine Photographer-Identität", lensesLabel: "Objektive", lightingLabel: "Beleuchtungsausrüstung", nip05Reason: "Füge eine NIP-05-Kennung hinzu, um deine Identität zu verifizieren und Vertrauen bei Kunden aufzubauen.", paymentDesc: "Um für Shoots bezahlt zu werden, verbinde eine Lightning-Wallet. Kunden zappen dich direkt für deine Arbeit.", portfolioLabel: "Portfolio / Instagram", profileDesc: "Erzähl Ridern von deinem Auge, deinem Equipment und deinen Services", profileTitle: "Fotografie-Profil", ratePlaceholder: "20000 sats/Shoot", selectCamera: "Wähle mindestens einen Kameratyp, mit dem du fotografierst.", selectService: "Wähle mindestens einen Service, den du anbietest.", servicesLabel: "Angebotene Services * (mindestens einen auswählen)", servicesRequired: "Services erforderlich", spotsDesc: "Wähle Spots aus, an denen du Fotografie anbietest", spotsLabel: "Spots, an denen du fotografierst", styleLabel: "Foto-Stil", supportLabel: "Support & Rig", tagline: "Halte die Sessions fest — biete deine Skate-Fotografie an", update: "FOTOGRAFIE-PROFIL AKTUALISIEREN", updated: "Fotografie-Profil aktualisiert!", }, builderForm: { anonymous: "Anonymer Builder", bioLabel: "Bio / Über deine Bauten", bioPlaceholder: "Deine Crew, nennenswerte Bauten, wie du an ein Projekt herangehst…", buildTypesLabel: "Was du baust * (mindestens eines auswählen)", buildTypesRequired: "Bautypen erforderlich", cityBase: "Stadt / Standort", contactPortfolio: "Kontakt & Portfolio", contactPortfolioDesc: "Wie die Szene deine Bauten sehen und dich erreichen kann (alles optional, aber empfohlen)", create: "BUILDER-PROFIL ERSTELLEN", created: "Builder-Profil erstellt!", createPro: "PRO-BUILDER-PROFIL ERSTELLEN", dmNote: "💬 Kunden können dir direkt über das verschlüsselte Messaging von SkateSpots schreiben", gearHelper: "Crews und Kunden lieben es, dein Equipment und deinen Prozess zu kennen.", gearLabel: "Wie du arbeitest / Equipment (optional)", gearPlaceholder: "z. B. komplettes Beton-Team, eigener Mixer + Shotcrete-Rig, mobiles Schweißen, wir übernehmen Genehmigungen und Drainage…", heading: "Werde Builder", headlineExample: "Rampen- & Park-Builder", identity: "Deine Builder-Identität", insured: "Lizenziert / versichert", insuredHelper: "Relevant für öffentliche Parks & Kommunalarbeiten", logoPhoto: "Logo / Foto", materialsLabel: "Materialien & Handwerks-Skills", nip05Reason: "Füge eine NIP-05-Kennung hinzu, um deine Identität zu verifizieren und Vertrauen bei Kunden aufzubauen.", pastBuilds: "Vergangene Bauten / Instagram", paymentDesc: "Um für Bauten bezahlt zu werden, verbinde eine Lightning-Wallet. Kunden zappen dich direkt für deine Arbeit.", profileDesc: "Erzähl der Szene, was du baust und wie du arbeitest", profileTitle: "Builder-Profil", rateLabel: "Preis / Angebotsbasis", ratePlaceholder: "pro m² / pro Projekt", scaleLabel: "Projektumfang", selectBuild: "Wähle mindestens eines der Dinge aus, die du baust.", serviceArea: "Servicegebiet", serviceAreaPlaceholder: "z. B. Katalonien, reise durch die ganze EU", spotsDesc: "Verknüpfe Spots und Parks, die du gebaut hast, damit Leute deine Arbeit auf der Karte sehen", spotsLabel: "Spots, die du gebaut hast", tagline: "Gieß es, schweiß es, bau es — trage deinen Rampen- & Park-Bau ein", update: "BUILDER-PROFIL AKTUALISIEREN", updated: "Builder-Profil aktualisiert!", yearsBuilding: "Jahre im Bau", }, skaterForm: { backToSkaters: "Zurück zu den Skatern", bioHelperPulled: "Aus deinem Profil übernommen — passe es für deine Skater-Karte an oder lass es so.", bioHelperShort: "Eine kurze Vorstellung für deine Skater-Karte.", bioPlaceholder: "Wie lange du schon skatest, was dich interessiert, woran du arbeitest…", browseSpots: "Spots durchstöbern", changePhoto: "Profilfoto ändern", chipBio: "Bio", chipPhoto: "Foto", cityArea: "Stadt / Gegend", created: "Du bist auf der Karte! 🛹", custom: "Benutzerdefiniert", customHelper: "Dein eigenes Label — erscheint auf deiner Skater-Karte statt einer Vorlage.", customPlaceholder: "z. B. OG, Wochenend-Krieger, Rentner…", discoverable: "Andere Skater können dich jetzt entdecken.", editFullProfile: "bearbeite dein vollständiges Profil", fromProfile: "Aus deinem Profil", heroEditPrefix: "Bearbeite dein", heroJoinPrefix: "Werde Teil des", heroSuffix: "Directory", homeHelper: "Gib es frei ein oder verknüpfe einen echten Spot aus der Karte, damit Leute dorthin gehen können.", homePlaceholder: "Lokaler Park / Platz — oder tippe auf „Spots durchstöbern“", homeSpot: "Home-Spot", layerEnd: "um sie überall zu ändern.", layerIntro: "Das ist dein", layerMid: ", aufgebaut auf deinem Nostr-Profil. Dein Name, Foto, Bio, Lightning & Verifizierung kommen von dort —", layerWord: "Skate-Layer", level: "Level", linked: "Mit einem Spot auf der Karte verknüpft", loadingProfile: "Dein Profil wird geladen…", loadingSpots: "Spots werden geladen…", locationHelper: "Hilft anderen, Skater in ihrer Nähe zu finden. Es wird nur eine grobe Gegend geteilt.", loginToJoin: "Anmelden, um beizutreten", loginToJoinDesc: "Erstelle dein Skater-Profil, damit die Community dich finden kann.", mappedSpot: "Kartierter Spot", noSpots: "Noch keine Spots gefunden.", noSpotsMatch: "Keine Spots entsprechen deiner Suche.", openMap: "Karte öffnen", pickEverything: "Wähle alles, was zu deinem Stil passt.", pickHomeSpot: "Wähle deinen Home-Spot", pickStyles: "Wähle deine Stile", pickStylesDesc: "Wähle mindestens eines der Dinge, die du skatest.", profilePic: "Profilbild", profilePicHelper: "Deine Skater-Karte nutzt dein Nostr-Profilfoto — dasselbe Bild überall.", publishingAs: "Veröffentlichung als", putOnMap: "Setz mich auf die Karte", searchSpots: "Spots nach Name oder Stadt suchen…", skateStory: "Deine Skate-Story", stance: "Stance", unlinkSpot: "Spot-Verknüpfung aufheben", updateButton: "Mein Profil aktualisieren", updated: "Profil aktualisiert!", whatYouSkate: "Was du skatest *", yearsPlaceholder: "z. B. 8", yearsSkating: "Jahre auf dem Board", yourProfilePic: "Dein Profilbild", zapsOn: "Zaps an", }, skaters: { clearSearch: "Suche leeren", community: "Die Community", countMany: "Skater", countOne: "Skater", editProfile: "Mein Skater-Profil bearbeiten", heroDesc: "Finde deine Leute. Durchstöbere die Crew von Skatern, die SkateSpots vertreten — nach Stil, Stance, Level und Stadt.", nip05Verified: "NIP-05 verifiziert", noMatches: "Keine Treffer", noneDesc: "Sei der Erste, der dem Verzeichnis beitritt und SkateSpots auf die Karte bringt.", noneTitle: "Noch keine Skater", noVerifiedMatch: "Keine verifizierten Skater passen", searchPlaceholder: "Nach Name, Stadt oder npub suchen…", tryDifferentSearch: "Versuche eine andere Suche oder setze deine Filter zurück.", tryTurnOffVerified: "Schalte den Filter „Verifiziert“ aus, um alle zu sehen.", verifiedFilterTitle: "Nur Skater mit verifizierter NIP-05-Identität anzeigen", }, skaterCard: { inDirectory: "Du bist im Skater Directory", joinDesc: "Füge deine Stance, Stile & dein Level hinzu, damit Skater dich finden.", joinTitle: "Tritt dem Skater Directory bei", }, crewsStrip: { allCrews: "Alle Crews", memberMany: "{{count}} Mitglieder", memberOne: "{{count}} Mitglied", title: "Crews in dieser Szene", }, labLink: { coach: "Coach", filmer: "Filmer", editor: "Editor", photographer: "Photographer", builder: "Builder", artist: "Künstler", graffiti: "Graffiti", tattoo: "Tattoo", trainer: "Trainer", musician: "Musiker", judge: "Juror", barber: "Barbier", organizer: "Organisator", lab: "Lab", linkedProfiles: "Verknüpfte Lab-Profile", desc: "Betreibst du auch ein Studio, Coaching oder einen Bau-Service? Verknüpfe deine Lab-Einträge, damit Leute deine Crew buchen können. Optional. Wenn das Lab-Profil auch zurück auf diese Crew verweist, zeigen beide ein grünes", descEnd: "Abzeichen.", empty: "Du hast noch keine Lab-Profile. Erstelle eines in The Lab, um es hier zu verknüpfen.", }, proUpgrade: { goPro: "Pro werden", optional: "· optional", freeTo: "Eintragen ist gratis. Pro fügt ein", proBadge: "Pro-Abzeichen", featuredPlacement: "hervorgehobene Platzierung", atTop: "ganz oben in The Lab hinzu.", active: "Aktiv", benefit1: "Goldenes „Pro“-Abzeichen auf deinem Profil & deinen Karten", benefit2: "Zuerst hervorgehoben, wenn Skater The Lab durchstöbern", benefit3: "Unterstützt SkateSpots — keine Werbung, keine Mittelsmänner", platformOwner: "Plattforminhaber — Pro ist immer aktiv.", proActiveOne: "Pro aktiv · noch {{count}} Tag. Dein Profil wird hervorgehoben.", proActiveMany: "Pro aktiv · noch {{count}} Tage. Dein Profil wird hervorgehoben.", context: "Dein Profil bleibt nach Ablauf von Pro kostenlos online — du verlierst nur das Abzeichen & den Boost.", }, profilePreview: { viewPublic: "Öffentlich ansehen", unnamed: "Unbenannter Skater", noHandle: "Noch kein Handle", }, pyramid: { pyramidWord: "PYRAMIDE", rankingsWord: "RANGLISTE", subtitle: "Top-Beitragende in deiner Stadt", yourRank: "Dein Rang", keepContributing: "Mach weiter mit und klettere höher!", topContributors: "Top-Beitragende", noContributors: "Noch keine Beitragenden. Sei der Erste, der einen Spot hinzufügt oder ein Event erstellt!", spots: "Spots", events: "Events", total: "Gesamt", trust: "Vertrauen", }, detail: { joined: "Beigetreten", about: "Über", howWeWork: "Wie wir arbeiten", inTheBag: "In der Tasche", hardware: "Hardware", software: "Software", eventsJudged: "Bewertete Events", eventsOrganized: "Organisierte Events", spots: "Spots", viewSpot: "Spot ansehen", credentialsTitle: "Qualifikationen & Sicherheit", selfAttested: "Vom Coach selbst angegeben — nicht von SkateSpots verifiziert.", formats: "Formate", levels: "Level", ages: "Alter", languages: "Sprachen", availability: "Verfügbarkeit", bookSession: "Session buchen", portfolio: "Portfolio", watchReel: "Auf {{platform}} ansehen", paymentsTitle: "Zahlungen", payWhatYouCan: "Zahl, was du kannst", bookingFee: "Buchungsgebühr", payBookingFee: "Buchungsgebühr zahlen", bookingFeeNote: "Direkt an den Coach gezahlt. SkateSpots hält oder erstattet sie nicht.", bookingFeeNoRail: "Dieser Coach hat keine Lightning-Adresse hinterlegt, daher ist In-App-Zahlung nicht möglich — kontaktiere ihn, um die Zahlung zu vereinbaren.", serviceArea: "Servicegebiet", licensedInsured: "Lizenziert / versichert", studio: "Studio", shopStudio: "Shop / Studio", booksOpen: "Nimmt Buchungen an", credentials: "Qualifikationen", remoteOnline: "Remote / online verfügbar", graffitiCrew: "Graffiti-Crew", act: "Act", listen: "Anhören", upcomingGigs: "Kommende Gigs", past: "Vergangen", experience: "Erfahrung", yearsCount: "{{count}} Jahre", rate: "Preis", contact: "Kontakt", sendMessage: "Nachricht senden", bookGig: "Für einen Gig buchen", portfolioDomain: "Portfolio · {{domain}}", manage: "Verwalten", admin: "Admin", editProfile: "Profil bearbeiten", transportSelfAttestedTitle: "Selbst angegebenes Transportprofil", transportSelfAttested: "SkateSpots prüft keine Fahrerlaubnisse, Versicherungen, die Verkehrstauglichkeit von Fahrzeugen oder Betriebsgenehmigungen. Nutze das Vertrauensabzeichen, Bewertungen, Bürgschaften und dein eigenes Urteilsvermögen.", publishedTitle: "Du bist live", publishedBody: "Dein Profil ist in The Lab veröffentlicht. Teile es, damit Skater dich finden.", manageRemove: "Entferne dein {{noun}}-Profil aus The Lab.", adminTakeDown: "Nimm dieses {{noun}}-Profil herunter. Es wird überall auf SkateSpots ausgeblendet.", entityLabel: "{{noun}}-Profil", deleteProfile: "Profil löschen", location: "Standort", servicesSkills: "Services & Skills", noun: { coach: "Coach", filmer: "Filmer", editor: "Video Editor", photographer: "Photographer", builder: "Builder", artist: "Künstler", graffiti: "Graffiti-Künstler", tattoo: "Tattoo-Künstler", trainer: "Trainer", musician: "Musiker", judge: "Event-Juror", organizer: "Event-Organisator", barber: "Barbier", profile: "Profil", }, skillsTitle: { skills: "Skills", servicesGear: "Services & Equipment", whatWeBuild: "Was wir bauen", whatTheyMake: "Was sie herstellen", stylesWork: "Stile & Arbeit", styles: "Stile", focusSpecialties: "Schwerpunkt & Spezialitäten", genresInstruments: "Genres & Instrumente", formatsSpecialties: "Formate & Spezialitäten", servicesStyles: "Services & Stile", eventTypesServices: "Event-Typen & Services", }, }, rider: { heroDesc: "Deine verifizierbare Skater-Identität. Nostr-signiert, druckfertig, unmöglich zu fälschen.", heroDesc2: "Verdiene bezeugte Skill-Badges von anderen Skatern. Hol dir Parkzugangs-Pässe. Teile deine Karte überall.", headerTagline: "Nostr-signiert · druckfertig · QR-verifiziert", tabCard: "Meine Karte", tabBadges: "Badges", tabAward: "Vergeben", rendering: "Wird gerendert…", shareCard: "Karte teilen", savePng: "PNG speichern", print: "Drucken", copyId: "ID kopieren", cardType: "Kartentyp", licenseLabel: "Skater-Lizenz", licenseSub: "Deine persönliche Rider-Identität", parkLabel: "Parkzugang", parkSub: "Pässe als Parkbesitzer ausstellen", theme: "Design", holoTitle: "Holografisches Schimmern", holoDesc: "Animierter Folien-Effekt", cardDetails: "Kartendetails", skateStyle: "Skate-Stil", ridesFor: "Fährt für", ridesForPlaceholder: "Lokaler Shop…", sponsors: "Sponsoren", sponsorsPlaceholder: "Marken…", showOnCard: "Auf der Karte anzeigen", zaps: "Zaps ⚡", skills: "Skills", selected: "{{count}}/6 ausgewählt", goldBadgesHint1: "Gold-Badges auf deiner Karte stammen von anderen Skatern, die dich bezeugt haben — sieh dir die", goldBadgesHint2: "an.", parkOwnersOnly: "Nur Parkbesitzer.", parkOwnersDesc: "Stelle dies mit demselben Nostr-Schlüssel aus, mit dem du deinen Park-Eintrag veröffentlicht hast. Jeder kann den QR-Code scannen und die Signatur on-chain verifizieren — keine zentrale Autorität nötig.", parkDetails: "Parkdetails", parkName: "Parkname", parkNamePlaceholder: "The Berrics…", riderName: "Rider-Name", riderNamePlaceholder: "Name auf der Karte", riderNpub: "Nostr-ID des Riders (npub)", accessLevel: "Zugangsstufe", validThru: "Gültig bis", publishToNostr: "Auf Nostr veröffentlichen", badgesIntro: "Diese Badges wurden von anderen Skatern auf Nostr bezeugt und signiert. Sie erscheinen als goldene ⭐-Chips auf deiner Karte.", earnMore: "Willst du mehr verdienen? Skate vor jemandem und bitte ihn, deinen Trick zu bezeugen.", awardSomeone: "Jemand anderem ein Badge vergeben", youSawIt: "Du hast es gesehen", youSawItDesc: "Signiere den Beweis auf Nostr. Er wird Teil ihrer dauerhaften Aufzeichnung — kryptografisch an deinen Schlüssel gebunden.", skillsWitnessed: "Skills, die du bezeugt hast", whereSeen: "Wo hast du es gesehen?", optional: "(optional)", signingOnNostr: "Wird auf Nostr signiert…", awardBadge: "Badge vergeben", addRiderSkill: "Rider-npub + mindestens einen Skill hinzufügen", invalidNpub: "Ungültige npub", badgeAwarded: "🏅 Badge vergeben!", badgeSent: "{{skills}} gesendet.", failed: "Fehlgeschlagen", couldNotRender: "Karte konnte nicht gerendert werden", popupBlocked: "Popup blockiert", popupBlockedDesc: "Erlaube Popups für diese Seite.", linkCopied: "🔗 Link kopiert!", enterRiderNpub: "Gib die npub des Riders ein", parkPublished: "✅ Parkzugangskarte veröffentlicht!", publishFailed: "Veröffentlichung fehlgeschlagen", noBadges: "Noch keine Badges. Skate vor jemandem und bitte ihn, deine Tricks zu bezeugen!", showMore: "{{count}} weitere anzeigen", witnessedBy: "Bezeugt von", at: "bei", previewLicense: "Skater-Lizenz", previewSince: "Seit {{year}}", previewEvts: "Evts", previewScan: "Zum Verifizieren scannen", previewSkatepark: "Skatepark", previewAccessPass: "Zugangspass", previewMemberName: "Mitgliedsname", previewIssuedBy: "Vom Parkbesitzer ausgestellt · Nostr-signiert", previewValidThru: "Gültig bis", previewNostrVerified: "Nostr-verifiziert", }, craftFields: { detailsTitle: "Zusätzliche Details", deliverables: "Ergebnisse", turnaround: "Bearbeitungszeit", surfaces: "Flächen / Wände", maxSize: "Max. Größe", setLength: "Set-Länge", techRider: "Tech Rider", travel: "Reise", certifications: "Zertifizierungen", insurance: "Versicherung", permits: "Genehmigungen", deposit: "Anzahlung", minimum: "Minimum", modalities: "Modalitäten", duration: "Termindauer", drone: "Drohne", leadTime: "Vorlaufzeit", warranty: "Garantie", }, craftForm: { profileImage: "Profilbild", nameHeadline: "Name / Überschrift", about: "Über", aboutPlaceholder: "Erzähl Skatern von deiner {{noun}}-Arbeit…", required: "erforderlich", nip05Title: "NIP-05 hinzufügen, um Vertrauen aufzubauen", nip05Desc: "Eine NIP-05-Kennung hilft Skatern zu verifizieren, dass du echt bist. Vor dem Eintragen sehr empfohlen.", editingNote: "Du bearbeitest dein bestehendes {{noun}}-Profil — beim Veröffentlichen wird es ersetzt.", location: "Standort", pinned: "📍 Auf der Karte angepinnt ({{lat}}, {{lng}})", experienceYears: "Erfahrung (Jahre)", expPlaceholder: "z. B. 5", ratePlaceholder: "z. B. 20k sats / pro Projekt", contactLinks: "Kontakt & Links", phoneOptional: "Telefon (optional)", emailOptional: "E-Mail (optional)", socialPlaceholder: "Social (Instagram usw.)", gettingPaid: "Bezahlung erhalten", updateProfile: "Profil aktualisieren", publishProfile: "Profil veröffentlichen", rateLeftBlankNote: "Optional — lass dies leer, wenn der Preis oben ausreicht.", sectionRequired: "{{section}} erforderlich", sectionRequiredDesc: "Wähle mindestens eine Option unter „{{section}}“ aus.", updated: "Profil aktualisiert!", created: "Profil erstellt!", headlineExample: "Skate Coach Berlin", }, }, socialUi: { agentPanel: { spot: "Spot", event: "Event", labPro: "Lab-Pro", gear: "Gear", crew: "Crew", description: "Kennt diese Crew — ihre Jams, das Roster & den Open Call — plus die weitere Szene mit Live-Daten.", greeting: "Yo! Ich bin Sasquatch, der Guide von {{crew}}. Frag mich über die Crew — unseren nächsten Jam, wer sie leitet, wonach wir suchen — oder die weitere Szene.", suggestion1: "Wann ist unser nächster Jam?", suggestion2: "Wer leitet diese Crew?", suggestion3: "Wonach suchen wir?", suggestion4: "Beste Spots in unserer Nähe?", suggestion5: "Wie ist das Wetter zum Skaten?", thinking: "Sasquatch denkt nach…", placeholder: "Frag über deine lokale Szene…", disclaimer: "KI kann sich irren — Links führen zu echten Einträgen.", }, badge: { upcomingOne: "{{count}} bevorstehendes Event", upcomingMany: "{{count}} bevorstehende Events", comingOne: "{{count}} Event kommt", comingMany: "{{count}} Events kommen", }, bell: { youAreIn: "Du bist in {{crew}}! 🛹", membershipConfirmed: "Mitgliedschaft bestätigt.", couldNotConfirm: "Konnte nicht bestätigen", addedYouTo: "hat dich hinzugefügt zu", confirmToAppear: "Bestätige, um als Mitglied zu erscheinen.", notifications: "Benachrichtigungen", notificationsNew: "Benachrichtigungen ({{count}} neu)", unreadCount: "{{count}} ungelesene Benachrichtigungen", markRead: "Als gelesen markieren", allClear: "Alles erledigt", tabAll: "Alle", tabTrades: "Trades", tabSocial: "Sozial", tabNews: "News", tabCrews: "Crews", checkingUpdates: "Suche nach Updates…", checkingTrades: "Prüfe Angebote und Trades…", loadingDrops: "Lade die neuesten Drops…", emptyAll: "Angebote, Trades, Zaps, Antworten, Newsletter-Drops und Crew-Aktivität erscheinen hier.", emptyTrades: "Angebote, Gegenangebote und Trade-Bestätigungen landen hier — egal ob du verkaufst, kaufst oder tauschst.", emptySocial: "Zaps, Reaktionen, Reposts, Erwähnungen, Antworten, Event-RSVPs und Host-Updates landen hier.", emptyNews: "SkateSpots-Newsletter-Drops landen hier. Abonniere auf der Newsletter-Seite.", emptyCrews: "Crew-Einladungen, Kollektiv-Anfragen und Mitgliedschaftsanfragen erscheinen hier.", subscribeBanner: "Abonniere, um neue Drops in deiner Glocke zu erhalten", read: "Gelesen", allCaughtUp: "Du bist auf dem neuesten Stand", }, chat: { hidden: "Verborgen", hideMessageAria: "Diese Nachricht verbergen", hideMessageTitle: "Nachricht verbergen (Admin)", messageHidden: "Nachricht verborgen", messageHiddenDesc: "Für alle aus dem Crew-Chat ausgeblendet.", messageHideFailed: "Nachricht konnte nicht verborgen werden", encryptionUnavailable: "Verschlüsselung nicht verfügbar", encryptionUnavailableDesc: "Dein Signer unterstützt keine NIP-44-Verschlüsselung. Bitte aktualisiere deine Erweiterung.", messageFailed: "Nachricht fehlgeschlagen", couldNotSend: "Nachricht konnte nicht gesendet werden.", noOneToMessage: "Noch niemand zum Anschreiben", noOneToMessageDesc: "Diese Crew hat keine anderen Mitglieder zum Chatten.", subject: "{{crew}} Crew-Chat", title: "Crew-Chat", cordnBadgeTitle: "Über den Cordn-Koordinator dieser Crew via ContextVM geleitet. Ende-zu-Ende-verschlüsselt.", private: "Privat", privateBadgeTitle: "Ende-zu-Ende-verschlüsselt — nur Crew-Mitglieder können diese Nachrichten lesen.", encryptedCordn: "Verschlüsselt & über den Crew-Koordinator (Cordn) geleitet — keine Nachrichten landen auf öffentlichen Relays.", encryptedNip17: "Verschlüsselter Gruppenchat für den Gründer & alle gelisteten Crew-Mitglieder.", moderatorNote: " Als Moderator kannst du Nachrichten für die Crew verbergen.", loginToSee: "Melde dich an, um zu sehen, ob du dem Crew-Chat beitreten kannst.", membersOnly: "Dieser Chat ist privat für Crew-Mitglieder. Bitte den Gründer, dich zur Crew hinzuzufügen, um mitzureden.", noMessages: "Noch keine Nachrichten. Starte den Crew-Chat — plant eine Session, teilt einen Spot, hypet einen Clip.", newMessages: "Neue Nachrichten", new: "Neu", placeholder: "Schreib deiner Crew…", sendAria: "Nachricht senden", }, collectiveJoinRequest: { addedTitle: "{{name}} zu {{collective}} hinzugefügt 🛹", addedDesc: "Sie bestätigen von ihrer Seite, um als verifiziertes Mitglied zu erscheinen.", couldNotAdd: "Mitglied konnte nicht hinzugefügt werden", couldNotDismiss: "Konnte nicht verwerfen", addedDone: "Hinzugefügt", addedTo: "zu", dismissedDone: "Anfrage von {{name}} verworfen", wantsToJoin: "möchte beitreten", alreadyOnRoster: "Bereits im Roster", openCollective: "Kollektiv öffnen", dismiss: "Verwerfen", addToCollective: "Zum Kollektiv hinzufügen", }, collectiveMembers: { confirmed: "Bestätigt", pending: "Ausstehend", pendingTooltip: "Vom Kollektiv gelistet — wartet auf die Bestätigung dieses Mitglieds.", crewOnly: "Nur Crew", crewOnlyTooltip: "Dieses Mitglied möchte nur für Crew-Kollegen sichtbar sein. Du siehst es, weil du in der Crew bist.", hiddenMember: "Verborgenes Mitglied", title: "Mitglieder", verifiedOf: "{{confirmed}} von {{total}} verifiziert — jedes bestätigte Mitglied hat mit seinem eigenen Nostr-Schlüssel signiert.", verifiedPerMember: "Die Mitgliedschaft wird pro Mitglied verifiziert. Jedes Mitglied bestätigt mit seinem eigenen Nostr-Schlüssel.", adminsOne: "{{count}} Admin hilft, die Crew zu leiten.", adminsMany: "{{count}} Admins helfen, die Crew zu leiten.", }, confirmMembership: { public: "Öffentlich", crewOnly: "Nur Crew", confirmedTitle: "Mitgliedschaft bestätigt!", confirmedCrew: "Du bist in {{name}} verifiziert — nur für Crew-Kollegen sichtbar.", confirmedPublic: "Du erscheinst jetzt als verifiziertes Mitglied von {{name}}.", failed: "Bestätigung fehlgeschlagen", addedTo: "Du wurdest zu {{name}} hinzugefügt", addedDesc: "Bestätige deine Mitgliedschaft, damit sie in deinem und ihrem Profil als verifiziert erscheint.", yourVisibility: "Deine Sichtbarkeit", confirming: "Wird bestätigt…", confirmButton: "Mitgliedschaft bestätigen", }, contacts: { message: "Nachricht", removePrivate: "Aus privaten Kontakten entfernen", savePrivate: "Zu privaten Kontakten hinzufügen", seoTitle: "Kontakte - SkateSpots", seoDescription: "Deine Szene — Crew-Kollegen, Leute, denen du folgst, und aktuelle Gespräche, mit privaten verschlüsselten Kontakten.", encryptionUnavailableDesc: "Dein Signer unterstützt keine NIP-44-Verschlüsselung.", removed: "Aus privaten Kontakten entfernt", saved: "Zu privaten Kontakten hinzugefügt", savedDesc: "Nur du kannst diese Liste sehen.", updateFailed: "Kontakte konnten nicht aktualisiert werden", loginTitle: "Deine Szene, an einem Ort", loginDesc: "Melde dich an, um deine Crew-Kollegen, Leute denen du folgst, und aktuelle Gespräche zu sehen — und führe eine private, verschlüsselte Kontaktliste.", title: "Kontakte", subtitle: "Deine Szene — Crew-Kollegen, Follows & Gespräche", filterPlaceholder: "Nach npub filtern…", tabCrew: "Crew", tabFollows: "Folge ich", tabDms: "DMs", tabSaved: "Gespeichert", emptyCrewmates: "Noch keine Crew-Kollegen. Tritt einer Crew bei oder gründe eine, um dein Szenen-Netzwerk aufzubauen.", emptyFollowing: "Du folgst noch niemandem.", emptyDms: "Noch keine Gespräche. Schreib einem Skater, um eines zu starten.", savedHint: "Diese Liste ist mit deinem Schlüssel verschlüsselt — nur du kannst sie lesen. Tippe auf den Stern bei jemandem, um ihn hinzuzufügen.", emptySaved: "Noch keine gespeicherten Kontakte. Markiere Leute in einem beliebigen Tab, um dein privates Adressbuch aufzubauen.", }, conversation: { unknown: "Unbekannt", seoTitle: "Chat mit {{name}} - SkateSpots", seoDescription: "Private verschlüsselte Konversation", sendFailed: "Nachricht konnte nicht gesendet werden", sendFailedDesc: "Bitte versuche es gleich noch einmal.", tradeConfirmed: "Trade bestätigt", tradeConfirmedDesc: "Reputation für euch beide aktualisiert.", tradeConfirmFailed: "Trade konnte nicht bestätigt werden", somethingWrong: "Etwas ist schiefgelaufen.", soldNote: "An {{name}} verkauft.", saleConfirmed: "Verkauf bestätigt", saleConfirmedDesc: "{{name}} kann jetzt seine Seite bestätigen.", saleConfirmFailed: "Verkauf konnte nicht bestätigt werden", escrowRedeemed: "Escrow eingelöst", escrowRedeemedDesc: "Das Geld ist jetzt in deiner Cashu-Wallet.", escrowRedeemFailed: "Escrow konnte nicht eingelöst werden", loginTitle: "Melde dich an, um Nachrichten zu sehen", secureLoginTitle: "Sichere Anmeldung erforderlich", secureLoginDesc: "Nachrichten erfordern eine sichere Signer-App.", encrypted: "Verschlüsselt", refresh: "Aktualisieren", didCompleteTrade: "Hast du diesen Trade abgeschlossen?", recordedSale: "{{name}} hat den Verkauf erfasst. Bestätige, um die Reputation für euch beide zu aktualisieren.", confirm: "Bestätigen", confirmSale: "Diesen Verkauf bestätigen?", askedToRecord: "{{name}} hat dich gebeten, ihn zu erfassen. Das Bestätigen baut Reputation für euch beide auf.", confirmSaleButton: "Verkauf bestätigen", redeemEscrow: "Escrow einlösen", escrowAppOnly: "Cashu-Escrow gibt es nur in der App — öffne SkateSpots auf deinem Handy, um einzulösen.", startThread: "Sende eine Nachricht, um das Gespräch zu starten", placeholder: "Nachricht eingeben...", e2eeNote: "Nachrichten sind mit NIP-17 Ende-zu-Ende-verschlüsselt", }, coordinator: { secondsAgo: "vor {{count}}s", minutesAgo: "vor {{count}}m", hoursAgo: "vor {{count}}h", daysAgo: "vor {{count}}d", statusIdle: "Nicht geprüft", statusChecking: "Wird geprüft…", statusOnline: "Verbunden", statusStale: "Ruhig", statusOffline: "Nicht gesehen", statusError: "Nicht erreichbar", notACoordinator: "Das ist kein Koordinator", notACoordinatorDesc: "Füge ein nprofile, eine npub oder einen cordn.net-Link ein.", added: "Koordinator hinzugefügt", relayOne: "{{count}} Relay", relayMany: "{{count}} Relays", lastSeen: "zuletzt gesehen {{time}}", onlineDesc: "Kündigt sich an. Gruppen, die ihn nutzen, können jetzt Nachrichten zustellen.", staleDesc: "Gefunden, aber er hat sich nicht kürzlich angekündigt — er schläft möglicherweise.", offlineDesc: "Keine Ankündigung gesehen. Er ist vielleicht privat (das ist okay) oder einfach offline.", errorDesc: "Die Relays konnten nicht erreicht werden.", idleDesc: "Wird geprüft…", checkingDesc: "Suche nach seiner Ankündigung…", eventFoundOne: "{{count}} Event gefunden.", eventFoundMany: "{{count}} Events gefunden.", check: "Prüfen", addLinkCopied: "Hinzufügen-Link kopiert", copyFailed: "Kopieren fehlgeschlagen", copyManually: "Kopiere es manuell.", addLink: "Link hinzufügen", removeConfirm: "Diesen Koordinator von diesem Gerät entfernen?", scanToJoin: "Scanne in Cordn, um diesem Koordinator beizutreten.", noCoordinator: "Noch kein Koordinator", noCoordinatorDescA: "Ein Koordinator stellt die", encryptedWord: "verschlüsselten", noCoordinatorDescB: "Gruppennachrichten deiner Crew der Reihe nach zu. Er sieht wer, wann und welche Gruppe — nie die Inhalte. Wähle einen oder betreibe deinen eigenen.", change: "Koordinator wechseln", addTitle: "Einen Koordinator hinzufügen", add: "Hinzufügen", scanQR: "Einen Koordinator-QR scannen", inputPlaceholder: "nprofile… oder ein cordn.net-Link", runOwn: "Eigenen betreiben", runOwnDesc: "Er kann auf einem alten Handy, einem Raspberry Pi oder einer beliebigen kleinen Box laufen, die du anlässt. Deine Gruppe funktioniert weiter, solange er läuft — und du kannst die Gruppe jederzeit umziehen.", onPhone: "Auf einem Handy", onPhoneDesc: "Nutze die Cordn Coordinator App und scanne dann ihren QR-Code hier, um sie hinzuzufügen.", openCordn: "Cordn öffnen", scanItsQR: "Ihren QR scannen", onServer: "Auf einem Server", commandCopied: "Befehl kopiert", copyCommand: "Befehl kopieren", androidSleep: "Android kann einen Handy-Koordinator schlafen legen. Rechne damit, eine Gruppe ab und zu umzuziehen.", privacyNote: "🔒 Ein Koordinator sieht nur Chiffretext und Metadaten — nie Nachrichteninhalte. Betreibe deinen eigenen, um auch die Metadaten für dich zu behalten.", customTitle: "Benutzerdefinierter Chat-Koordinator", customBadge: "· experimentell · dein eigenes Relay", customDescShort: "Optional — deine Crew hat bereits einen integrierten Ende-zu-Ende-verschlüsselten Chat, du brauchst das also nicht. Stelle es nur ein, wenn du deinen eigenen betreibst", remove: "Entfernen", pointerNote: "Vorerst nur ein Zeiger: Ein wss://-Endpunkt wird als Chat-Relay der Crew verwendet; ein https://-Endpunkt über das gemeinsame ContextVM-Relay. Echtes Cordn MLS ist noch nicht angebunden.", cordnCoordinator: "Cordn-Koordinator", invalid: "Das sieht nicht nach einem Koordinator aus. Füge ein nprofile, einen cordn.net-Link oder eine https-/wss-URL ein.", useMine: "Meinen Koordinator verwenden", }, createCrew: { seoTitle: "Eine Crew gründen - SkateSpots", seoDescription: "Gründe deine Skate-Crew — Heimatrevier, Mitglieder und Spots.", loginRequired: "Anmeldung erforderlich", loginRequiredDesc: "Du musst dich anmelden, um eine Crew zu gründen.", backToCrews: "Zurück zu den Crews", title: "Eine Crew gründen", intro: "Deine Skate-Familie — die Leute, mit denen du skatest. Ein Name genügt für den Anfang; alles andere ist optional.", }, crew: { seoTitleNamed: "{{name}} - SkateSpots Crew", seoTitle: "Crew - SkateSpots", seoDescription: "Eine Skate-Crew auf SkateSpots.", postHidden: "Beitrag verborgen", postHiddenDesc: "Für alle aus dem Crew-Feed entfernt.", postHideFailed: "Beitrag konnte nicht verborgen werden", backToCrews: "Zurück zu den Crews", disband: "Auflösen", youAreCaptain: "Du bist ein Captain", member: "Mitglied", askSasquatch: "Sasquatch fragen", agent: "Crew-Agent", agentDesc: "Der KI-Guide deiner Crew — Spots in der Nähe, Events, Coaches & Gear, mit Live-Daten.", eventsTab: "Events", chatTab: "Chat", newMessages: "Neue Nachrichten", hostJam: "Jam hosten", noEvents: "Noch keine Crew-Events. Hoste einen Jam, Comp oder Meetup als Crew — es verbindet deine Crew mit dem Event-Kalender und lässt Leute sie zappen.", support: "Unterstützen", zapCrew: "Crew zappen", bandTitle: "Crew-Band", bandTagline: "Live-Musik · Skate & Sound", listenTitle: "Anhören: {{domain}}", listen: "Hör dir die Tunes an", setUpGig: "Einen Gig aufsetzen", bookGigMessage: "Hey {{crew}} — Interesse, {{band}} für einen Gig zu buchen. Hast du Zeit, über Termine zu reden?", messageAboutGig: "Wegen eines Gigs schreiben", gigHintA: "fügt ein Musik-Event zum Kalender hinzu, gehostet von dieser Crew.", messageShort: "Nachricht", gigHintB: "öffnet eine verschlüsselte DM an die Crew, um Termine & Details zu klären.", homeSpots: "Home-Spots", viewSpot: "Spot ansehen", seeOnMap: "Auf der Karte ansehen →", founderLinks: "Gründer & Links", startedBy: "Gestartet von {{name}}", opens: "Öffnet: {{domain}}", }, crews: { seoTitle: "Crews - SkateSpots", seoDescription: "Finde deine Leute. Entdecke lokale Skate-Crews, Kollektive und Communities in deiner Nähe.", videoPartTooltip: "Diese Crew hat einen Video-Part", part: "Part", bandTooltip: "Crew-Band: {{name}}", band: "Band", focusAll: "Alle", focusAllShort: "Alle", focusDiy: "DIY", focusPhoto: "Foto", focusCoaching: "Coaching", focusArt: "Kunst", focusMusic: "Musik", focusPhysio: "Physio", focusMixed: "Gemischt", title: "Crews", heroLine: "Deine auf der Karte verankerte Skate-Familie — die Leute, mit denen du skatest", heroWith: "mit", heroRest: ", nicht die, die du anheuerst (das ist The Lab).", crewCountOne: "{{count}} Crew", crewCountMany: "{{count}} Crews", cityCountOne: "{{count}} Stadt", cityCountMany: "{{count}} Städte", createCrew: "Crew gründen", create: "Gründen", searchPlaceholder: "Crews nach Name oder Stadt suchen…", filterTitle: "Crews filtern", filterDesc: "Woran die Crew interessiert ist.", nearMe: "In meiner Nähe", emptySearchTitle: "Keine Crews entsprechen deiner Suche", emptySearchHint: "Nichts gefunden für „{{query}}“. Versuche einen anderen Namen oder eine andere Stadt.", clearSearch: "Suche leeren", emptyFocusTitle: "Noch keine {{label}}-Crews", emptyFocusHint: "Hier hisst noch niemand die „{{label}}“-Flagge. Zeige alle Crews oder gründe diese selbst.", showAll: "Alle Crews anzeigen", claimTitle: "Beanspruche deine lokale Szene", claimHint: "Hier sind noch keine Crews gepflanzt. Sei der Erste — gründe deine Crew, verknüpfe deine Home-Spots und setz deine Szene auf die Karte, damit alle sie finden.", }, crewCoordinator: { privateChat: "Privater Crew-Chat", on: "An", defaultA: "Der", chatWord: "Chat", defaultB: "-Tab ist", e2ee: "Ende-zu-Ende-verschlüsselt", defaultC: "für den Gründer und alle gelisteten Mitglieder — nichts einzurichten. Nachrichten sind an den Schlüssel jedes Mitglieds versiegelt (NIP-17), sodass nur deine Crew sie lesen kann.", advancedA: "Fortgeschritten: betreibe deinen eigenen", cordnCoordinator: "Cordn-Koordinator", routeThrough: "Chat darüber leiten", coordinator: "Koordinator", deliveredOver: "Zugestellt über", sharedRelay: "— das gemeinsame ContextVM-Relay.", ownRelay: "— das eigene Relay deiner Crew.", chatLive: "Der private Chat ist live", routesA: "Der", routesB: "-Tab leitet über diesen Koordinator: Nachrichten sind Ende-zu-Ende-verschlüsselt (NIP-44, an jedes Mitglied versiegelt), sodass er nur versiegelten Datenverkehr verarbeitet.", publicWarning: "Achtung: Er ist über das gemeinsame ContextVM-Relay adressiert, daher sind der Chiffretext und seine Metadaten (welche Crew und wann) öffentlich sichtbar — nur nicht lesbar. Richte die Crew auf ein privates wss://-Relay aus, um auch das privat zu halten.", ownRelaySafe: "Nichts Crew-Spezifisches verlässt das eigene Relay deiner Crew.", manage: "Koordinator verwalten", open: "{{domain}} öffnen", runBy: "Koordinator betrieben von", }, dms: { securityReminder: "Sicherheitshinweis", phishingStrong: "SkateSpots wird dich niemals per DM anschreiben", phishingRest: "um dein Konto zu verifizieren, deine Schlüssel zu teilen oder Zahlungen zu senden. Wenn sich jemand per DM als SkateSpots-Support ausgibt — es ist ein Betrugsversuch.", dismissReminder: "Sicherheitshinweis verwerfen", peopleCount: "{{count}} Personen", youPrefix: "Du: ", unreadMessages: "Ungelesene Nachrichten", seoTitle: "Nachrichten - SkateSpots", seoDescription: "Private verschlüsselte Nachrichten mit der Skateboard-Community", loginTitle: "Melde dich an, um auf Nachrichten zuzugreifen", loginDesc: "Private, verschlüsselte Nachrichten mit Skatern in der Community", secureLoginTitle: "Sichere Anmeldung erforderlich", secureLoginDesc: "Private Nachrichten erfordern eine sichere Signer-App, um deine Gespräche zu verschlüsseln.", onAndroid: "Auf Android:", useAmber: "Nutze die Amber-App", getAmber: "Amber holen →", onIOS: "Auf iOS:", iosHint: "Versuche dich mit einer Bunker-Verbindung (nsec.app) aus den Einstellungen anzumelden", browserHint: "Versuche dich mit einer Browsererweiterung wie Alby oder nos2x anzumelden, die Verschlüsselung unterstützt.", title: "Nachrichten", subtitleFull: "Ende-zu-Ende-verschlüsselt mit NIP-17", subtitleShort: "Verschlüsselt", newMessage: "Neue Nachricht", groups: "Gruppen", loadFailed: "Nachrichten konnten nicht geladen werden", emptyTitle: "Noch keine Nachrichten", emptyDesc: "Starte ein Gespräch mit jemandem aus der Community", startConversation: "Ein Gespräch starten", undecryptableOne: "{{count}} verschlüsselte Nachricht konnte von deinem Signer nicht geöffnet werden.", undecryptableMany: "{{count}} verschlüsselte Nachrichten konnten von deinem Signer nicht geöffnet werden.", }, editCrew: { seoTitleNamed: "{{name}} bearbeiten - SkateSpots", seoTitle: "Crew bearbeiten - SkateSpots", seoDescription: "Bearbeite deine Skate-Crew.", loginRequired: "Anmeldung erforderlich", notYours: "Nicht deine Crew", notYoursDesc: "Nur der Gründer der Crew kann diese Crew bearbeiten.", backToCrew: "Zurück zur Crew", title: "Crew bearbeiten", }, form: { add: "Hinzufügen", added: "Hinzugefügt", addNameInBasicsA: "Füge wieder einen Crew-Namen in", addNameInBasicsB: "hinzu, um abzuschließen.", adminsDescA: "Mache vertrauenswürdige Mitglieder zu", adminsWord: "Admins", adminsDescB: "— sie können Mitglieder einladen und den Crew-Feed & Chat mit ihren eigenen Schlüsseln moderieren. Du (der Gründer) bleibst immer der Inhaber der Crew-Identität.", agentDescA: "Füge", agentDescB: ", einen KI-Guide hinzu, der deine Crew wirklich kennt. Mitglieder können nach", agentDescC: "fragen — plus Spots, Events, Coaches und Gear in der Nähe aus Live-SkateSpots-Daten. Läuft direkt im Browser; keine Schlüssel oder Einrichtung. Es ist früh (KI im Gratis-Tarif, daher gelegentlich langsam).", agentDescStrong: "deinem nächsten Jam, wer die Crew leitet, wonach du suchst und deiner Vibe", agentEnabledNote: "Sasquatch erscheint auf deiner Crew-Seite, sobald du speicherst.", bandDesc: "Hast du eine Band? Skate-Szenen und lokale Musik gehören zusammen — trage deinen Bandnamen und einen Link zu den Tunes ein.", bandFooterA: "Für ein vollständiges Band-Profil (Genres, Instrumente, Gigs) erstelle einen", musicianWord: "Musiker", bandFooterB: "in The Lab und verknüpfe ihn dann im Abschnitt", linkedLabWord: "Verknüpfte Lab-Profile", bandFooterC: "oben.", bandMusicWord: "Band & Musik", bandName: "Bandname", bandNamePlaceholder: "z. B. The Bail Outs", bandNudgeA: "Du hast eine Band — tippe, um deinen", crewTypeWord: "Crew-Typ", bandNudgeB: "auf", bandNudgeC: "zu setzen, damit du auch in der Musik-Szene von The Lab auftauchst.", beta: "Beta", bioLabel: "Über / Manifest", bioPlaceholder: "Wer du bist, was du skatest, deine Story…", continue: "Weiter", crewCreated: "Crew gegründet!", crewUpdated: "Crew aktualisiert!", crewName: "Crew-Name", crewOnlyWord: "Nur Crew", crewType: "Crew-Typ", crewTypeDescA: "Ist deine Crew auf ein Handwerk fokussiert? Wähle eines, um auch in dieser Szene in", theLab: "The Lab", crewTypeDescB: "aufzutauchen. Normale Skate-Crews bleiben", mixedWord: "Gemischt", crewTypeDescC: ".", customVibeHint: "Füge deine eigene Vibe oder deinen Fokus mit einem # hinzu", customVibePlaceholder: "z. B. downhill, night-sessions, no-comply", editDesc: "Die Identität, das Heimatrevier und die Mitglieder deiner Crew", enableAgent: "Crew-Agent aktivieren", enableTreasury: "Crew-Kasse aktivieren", failed: "Fehlgeschlagen", founded: "Gegründet (Jahr)", geolocationUnsupported: "Geolocation wird nicht unterstützt", gettingLocation: "Wird abgerufen…", goalHint: "Stelle sicher, dass dein Nostr-Profil eine Lightning-Adresse (lud16) hat, damit Beiträge ankommen können.", goalPlaceholder: "z. B. den DIY-Spot betonieren", goalTarget: "Ziel (sats)", goalWhat: "Was ist das Ziel?", homeSpots: "Home-Spots", homeSpotsDesc: "Verknüpfe die Spots, die deine Crew frequentiert — sie verbinden sich auf der Karte mit deiner Crew", homeTurf: "Heimatrevier (Stadt / Gegend)", homeTurfPlaceholder: "Bristol, UK", instagramDetected: "Instagram-Clip erkannt", invalidMember: "Gib eine gültige npub, ein nprofile oder einen Hex-Pubkey ein.", latitude: "Breitengrad", leaveBlankLocation: "Leer lassen, um den aktuellen Standort des Heimatreviers beizubehalten.", links: "Links", locationError: "Standortfehler", locationFound: "Standort gefunden", logoAlt: "Crew", logoHint: "Ein Logo macht deine Crew auf der Karte und in Feeds sofort erkennbar. Quadratisch funktioniert am besten.", logoLabel: "Crew-Logo / Foto", logoUploaded: "Logo hochgeladen", longitude: "Längengrad", looksGood: "Sieht gut aus", makeAdmin: "Zum Admin machen", mapPin: "Kartenpin", mapPinHint: "Setz deine Crew auf die Karte, damit Leute vor Ort dich finden. Tippe auf den Button — kein Tippen nötig.", memberAlreadyAdded: "Dieses Mitglied ist bereits hinzugefügt.", members: "Mitglieder", membersDesc: "Füge die Nostr-Konten deiner Crew hinzu. Jedes Mitglied bestätigt mit seinem eigenen Schlüssel — bis dahin erscheinen sie als „ausstehend“.", musicLink: "Musik-Link", nameCrew: "Benenne deine Crew", nameCrewDesc: "Eine Crew braucht einen Namen, bevor du fortfahren kannst.", nameCrewFirst: "Benenne zuerst deine Crew", nameHint: "Das Einzige, was du wirklich brauchst. Du kannst es später ändern.", namePlaceholder: "z. B. Backyard Bandits", nameRequired: "Name erforderlich", nameRequiredDesc: "Gib deiner Crew einen Namen.", nip05DescA: "Ein verifizierbarer Handle, den du auf jeder Domain kontrollierst, z. B.", nip05DescB: ". Er wird gegen den Gründer-Schlüssel dieser Crew verifiziert, und du kannst mehrere hinzufügen — jeder zeigt ein grünes Häkchen, wenn seine Domain ihn bestätigt.", nip05Label: "Crew-NIP-05", nip05Placeholder: "crew@deinedomain.com", nip05Add: "Hinzufügen", nip05Invalid: "Gib einen Handle wie crew@deinedomain.com ein", nip05TooMany: "Du kannst bis zu {{count}} Handles hinzufügen.", nip05Unverified: "Nicht geprüft", nip05Remove: "{{handle}} entfernen", notAKeyA: "Das sieht noch nicht wie ein Nostr-Schlüssel aus — füge eine", notAKeyB: ",", notAKeyC: ", oder einen Hex-Pubkey ein.", onlyYouTubeInstagram: "Nur YouTube- und Instagram-Links werden unterstützt.", openCall: "Open Call", openCallDescA: "Suchst du einen Filmer, Editor oder frisches Blut? Gib einen Aufruf raus — er erscheint auf deiner Crew-Seite, sodass passende Leute von", openCallDescB: "sich melden können.", optional: "· optional", optionalParen: "(optional)", otherSocials: "Weitere soziale Netzwerke", otherSocialsDesc: "Füge so viele hinzu, wie du magst — YouTube, TikTok, Discord, Telegram usw.", ownVisibility: "eigene Sichtbarkeit", progress: "Fortschritt", publicWord: "Öffentlich", publishedToScene: "In der Szene veröffentlicht.", publishFailed: "Veröffentlichung fehlgeschlagen", publishing: "Wird veröffentlicht…", ready: "Bereit", readyToRollA: "Alles bereit — drück auf", readyToRollB: ", wann immer du magst.", removeAdminRole: "Admin-Rolle entfernen", removeMember: "Mitglied entfernen", removeSocial: "Social-Link entfernen", removeVibe: "{{vibe}} entfernen", roles: "Rollen:", sasquatch: "Sasquatch", saveCrew: "Crew speichern", skipToEnd: "Zum Ende springen", socialPlaceholder: "@benutzername oder Link", sponsorDesc: "Wenn ein lokaler Shop deine Crew unterstützt, wähle ihn hier, um ein „Gesponsert von“-Banner anzuzeigen, das zu seinem Shop verlinkt.", stepAria: "Schritt {{step}}: {{title}}", stepBasics: "Die Grundlagen", stepBasicsShort: "Grundlagen", stepBasicsHint: "Nur das Wesentliche — mit diesem Schritt allein kannst du eine Crew aufsetzen.", stepVibe: "Identität & Vibe", stepVibeShort: "Vibe", stepVibeHint: "Wie deine Crew in der App auftritt. Alles optional.", stepSquad: "Squad & Spots", stepSquadShort: "Squad", stepSquadHint: "Füge deine Leute und dein Heimatrevier hinzu. Du kannst das jederzeit später machen.", stepExtras: "Extras", stepExtrasShort: "Extras", stepExtrasHint: "Power-ups für später — überspringe alles, bei dem du unsicher bist.", extrasAllOptional: "Alles in diesem Schritt ist optional.", groupIdentity: "Identität", groupIdentityHint: "Handle, Links", groupAi: "Sasquatch-KI", groupShowcase: "Showcase", groupPayments: "Zahlungen & Kasse", groupIntegrations: "Integrationen", groupAdvanced: "Fortgeschritten", groupAdvancedHint: "experimentell", pro: "Pro", agentProNote: "Bereitgestellt von Sasquatch. Pro bekommt die besten Modelle; ohne Pro wird ein kostenloser Fallback genutzt.", stepOf: "Schritt {{step}} von {{total}}", treasuryDescA: "Sammle sats für ein gemeinsames Ziel — den lokalen DIY-Spot reparieren, eine Crew-Reise, einen Comp-Preispott. Es ist ein transparentes Lightning-Ziel; Zaps gehen", treasuryDescStrong: "direkt an deine Wallet", treasuryDescB: "(über die Lightning-Adresse deines Profils). SkateSpots hält die Gelder niemals.", upload: "Hochladen", uploadFailed: "Hochladen fehlgeschlagen", useCurrentLocation: "Aktuellen Standort verwenden", vibeLabel: "Vibe / Fokus", videoDescA: "Das komplette Part, Montage oder neuester Clip deiner Crew. Füge einen", videoDescB: "-Link ein — er wird direkt auf deiner Crew-Seite abgespielt.", visibilityDescA: "Jedes Mitglied steuert seine", visibilityDescB: "— wenn sie mit ihrem Schlüssel bestätigen, können sie wählen", visibilityDescC: "— vor Außenstehenden verborgen). Du kannst das nicht für sie einstellen; das ist ihre Entscheidung.", website: "Website", yourRoles: "Deine Rollen (Teamleader)", youtubeDetected: "YouTube-Video erkannt", invalidUrl: "Gib einen gültigen Link ein (z. B. https://example.com).", }, groupConversation: { seoTitle: "Gruppenchat - SkateSpots", invalidLink: "Dieser Gruppenchat-Link ist ungültig.", loginTitle: "Melde dich an, um diese Gruppe zu sehen", secureSignerTitle: "Sicherer Signer erforderlich", secureSignerDesc: "Gruppennachrichten erfordern einen NIP-44-fähigen Signer.", encryptedGroup: "Ende-zu-Ende-verschlüsselte Gruppe", empty: "Noch keine Nachrichten — sag Hallo in die Gruppe.", placeholder: "Nachricht an die Gruppe...", }, hero: { established: "Gegr. {{year}}", teamLeader: "Teamleader: {{name}}", ledBy: "Geleitet von", }, inviteCard: { acceptedTitle: "Einladung angenommen 🛹", acceptedDesc: "Der Crew-Gründer bestätigt Mitglieder auf {{crew}}. Du erscheinst im Roster, sobald er zustimmt.", couldNotAccept: "Konnte nicht annehmen", couldNotDecline: "Konnte nicht ablehnen", acceptedDone: "Angenommen —", confirmsMembers: "bestätigt Mitglieder", declinedDone: "Einladung zu {{crew}} abgelehnt", invitedYou: "hat dich eingeladen, beizutreten", admin: "Admin", accept: "Annehmen", decline: "Ablehnen", }, inviteDialog: { messageIntro: "Yo — tritt der {{crew}}-Crew auf SkateSpots bei 🛹", messageBody: "Melde dich mit deinem Nostr-Schlüssel an und bitte dann über die Crew-Seite um Beitritt.", copyFailed: "Kopieren fehlgeschlagen", shareTitle: "{{crew}} beitreten", sentTitle: "Einladung gesendet! 🛹", sentDesc: "Sie erhalten eine Benachrichtigung zum Annehmen oder Ablehnen.", couldNotSend: "Einladung konnte nicht gesendet werden", trigger: "Einladen", title: "Zu {{crew}} einladen", description: "Sende eine Einladung an den Nostr-Schlüssel von jemandem oder teile einen Link.", sendTab: "Einladung senden", shareTab: "Link teilen", npubLabel: "Skater-npub", invalidNpub: "Das sieht nicht nach einer gültigen npub aus.", noteLabel: "Notiz", optional: "(optional)", notePlaceholder: "Komm mit uns skaten…", inviteAsAdmin: "Als Admin einladen", inviteAsAdminDesc: "Kann die Crew verwalten & andere einladen.", sendButton: "Einladung senden", sendFooter: "Sie erhalten eine Benachrichtigung zum Annehmen oder Ablehnen. Die Mitgliedschaft zählt erst, wenn sie annehmen.", inviteLink: "Einladungslink", messageLabel: "Nachricht", copyMessage: "Nachricht kopieren", founderHint: "Als Gründer kannst du den Schlüssel eines Mitglieds auch direkt hinzufügen; danach bestätigt es.", addMemberSettings: "Mitglied in den Crew-Einstellungen hinzufügen", }, joinRequest: { moreCount: "+{{count}} weitere", addedTitle: "{{name}} zu {{crew}} hinzugefügt 🛹", addedDesc: "Sie bestätigen von ihrer Seite, um als Mitglied zu erscheinen.", vouchedTitle: "Du hast für {{name}} gebürgt 🤝", vouchedDesc: "Der Gründer von {{crew}} sieht deine Empfehlung und kann sie hinzufügen.", couldNotEndorse: "Empfehlung konnte nicht abgegeben werden", endorsedDoneA: "Du hast gebürgt für", endorsedDoneB: "— Gründer wird bestätigen", vouchedBy: "Verbürgt von", approveAndAdd: "Bestätigen & hinzufügen", addToCrew: "Zur Crew hinzufügen", vouchedWaiting: "Verbürgt — wartet auf den Gründer", vouchForThem: "Für sie bürgen", leadershipOnly: "Nur Crew-Leitung.", adminHelp: "Admins können Mitglieder nicht direkt hinzufügen — Bürgen sagt dem Gründer, dass du hinter diesem Rider stehst.", }, leadership: { teamLeader: "Teamleader", captain: "Captain", verifiedMember: "Verifiziertes Mitglied", messageName: "{{name}} anschreiben", title: "Leitung", captainsOne: "{{count}} Captain", captainsMany: "{{count}} Captains", footer: "Der Teamleader führt das Roster; Captains helfen beim Einladen, Hosten von Jams und Halten der Crew in Ordnung.", }, linkField: { title: "Verknüpfte Crew", description: "Betreibst du auch eine Crew? Verknüpfe sie, damit Leute zwischen deinem Studio und deiner Crew wechseln können. Optional. Verknüpfe diese Crew im Crew-Editor zurück mit dem Profil, und beide zeigen ein grünes", descriptionRest: "Abzeichen.", none: "Du hast noch keine Crews. Gründe eine auf der Crews-Seite, um sie hier zu verknüpfen.", linkedCrew: "Verknüpfte Crew ({{id}})", }, lookingFor: { title: "Open Call", subtitle: "Diese Crew sucht:", }, memberVisibility: { updatedTitle: "Sichtbarkeit aktualisiert", updatedCrew: "Du erscheinst jetzt nur für Crew-Kollegen.", updatedPublic: "Du erscheinst jetzt öffentlich in dieser Crew.", couldNotUpdate: "Konnte nicht aktualisiert werden", title: "Deine Sichtbarkeit in dieser Crew", save: "Sichtbarkeit speichern", }, newMessage: { inCrew: "In deiner Crew: {{crews}}", crewmate: "Crew-Kollege", following: "Folge ich", invalidKey: "Das sieht nicht nach einer gültigen npub oder einem öffentlichen Schlüssel aus.", description: "Suche deine Leute nach Namen oder füge eine npub ein, um jedem zu schreiben. Wähle zwei oder mehr, um eine Gruppe zu starten.", searchPlaceholder: "Name suchen oder npub1... einfügen", messageThisKey: "Diesem Schlüssel schreiben", loadingPeople: "Deine Leute werden geladen...", noPeople: "Noch keine Crew-Kollegen oder Follows.", noPeopleHint: "Füge oben die npub von jemandem ein, um ein Gespräch zu starten.", yourCrews: "Deine Crews", selected: "{{count}} ausgewählt", startGroup: "Gruppe starten ({{count}})", message: "Nachricht", }, nip05: { mismatch: "Diese Domain verweist den Handle auf einen anderen Nostr-Schlüssel als den des Crew-Gründers. Nicht verifiziert.", verified: "Verifiziert — die Domain bestätigt, dass dieser Handle zum Gründer-Schlüssel der Crew gehört.", }, requestCollective: { sentTitle: "Anfrage gesendet 🤝", sentDesc: "{{name}} sieht sie in den Benachrichtigungen und kann dich hinzufügen.", couldNotSend: "Anfrage konnte nicht gesendet werden", title: "Diesem Kollektiv beitreten", waiting: "Anfrage gesendet — wartet auf {{name}}.", askA: "Bitte die Crew hinter", askB: "dich zum Roster hinzuzufügen. Sie erhalten eine Benachrichtigung und können dich mit einem Tipp hinzufügen.", placeholder: "Optional: sag, warum du gut passen würdest…", sendButton: "Anfrage senden", }, requestToJoin: { sentTitle: "Anfrage gesendet! 🛹", sentDesc: "Die Leitung von {{crew}} sieht sie in ihren Benachrichtigungen.", couldNotSend: "Anfrage konnte nicht gesendet werden", trigger: "Beitritt anfragen", title: "{{crew}} beitreten", description: "Benachrichtigt den Gründer & die Admins der Crew, damit sie dich hinzufügen können.", placeholder: "Sag Hallo — wo du skatest, wen du kennst, warum du rein willst…", sending: "Wird gesendet…", sendButton: "Beitrittsanfrage senden", }, sponsorBanner: { loading: "Sponsor wird geladen…", sponsoredBy: "Gesponsert von", }, sponsorPicker: { selected: "Sponsor ausgewählt", setLoading: "Sponsor gesetzt (Shop wird geladen…)", set: "Sponsor gesetzt", clearAria: "Sponsor entfernen", searchPlaceholder: "Skate-Shops nach Name oder Stadt suchen…", loading: "Shops werden geladen…", noMatch: "Keine Shops passen — versuche eine andere Suche.", none: "Noch keine Shops gefunden.", }, treasury: { title: "Crew-Kasse", ofGoal: "von {{target}} Ziel", goalReached: "Ziel erreicht!", funded: "{{percent}}% finanziert", contributionOne: "{{count}} Beitrag", contributionMany: "{{count}} Beiträge", daysLeft: "noch {{days}} Tage", closed: "geschlossen", nonCustodial: "Nicht verwahrend · Zaps gehen direkt an die Lightning-Wallet der Crew", }, userStatus: { atSpot: "📍 An einem Spot", autoClears: "⏱️ Löscht sich automatisch in {{min}} Min.", }, video: { title: "Das Part", fullVideo: "Ganzes Video · Montage", latestClip: "Neuester Clip", watch: "Ansehen", iframeTitle: "{{crew}} — Video", playAria: "{{crew}}-Video abspielen", thumbAlt: "{{crew}} Video-Thumbnail", instagramTitle: "Instagram-Clip", }, vouch: { removedTitle: "Bürgschaft entfernt", vouchedTitle: "Verbürgt!", removedDesc: "Du bürgst nicht mehr für {{name}}.", vouchedDesc: "Du hast für {{name}} gebürgt. Die Szene vertraut ihren Eigenen.", couldNotVouch: "Bürgschaft konnte nicht abgegeben werden", title: "Szenen-Bürgschaften", sceneVerified: "Szenen-verifiziert", vouched: "Verbürgt", newUnvouched: "Neu · unverbürgt", checking: "Die Szene wird geprüft…", empty: "Noch keine Bürgschaften. Bürgschaften von Skatern in deinem Umfeld sind das beste Signal, dass jemand echt ist — nicht irgendein Zufallsbesucher.", countOne: "{{count}} Bürgschaft", countMany: "{{count}} Bürgschaften", trusted: "{{count}} von Skatern in deinem Vertrauensnetz", remove: "Bürgschaft entfernen", vouchFor: "Für {{name}} bürgen", ownerNote: "Skater, die deine Arbeit kennen, können hier für dich bürgen.", }, }, }; export default deBatch5;