From d0e6fd5274b23964ed181d7311d4fed1adcfce5d Mon Sep 17 00:00:00 2001 From: SkateSpots Date: Thu, 8 Oct 2026 17:21:49 +0700 Subject: [PATCH] i18n(sv): finalize batch2 --- src/i18n/sv/batch2.ts | 848 +++++++++++++++++++++--------------------- 1 file changed, 424 insertions(+), 424 deletions(-) diff --git a/src/i18n/sv/batch2.ts b/src/i18n/sv/batch2.ts index 990b920..c15d9b2 100644 --- a/src/i18n/sv/batch2.ts +++ b/src/i18n/sv/batch2.ts @@ -43,8 +43,8 @@ const svBatch2 = { viewDetails: 'Visa detaljer', viewDetailsArrow: 'Visa detaljer →', spotDetails: 'Spot-detaljer', - skateShop: 'Skate-butik', - skateSpot: 'Skate-spot', + skateShop: 'Skate Shop', + skateSpot: 'Skate Spot', youAreHere: 'Du är här', conditions: 'Förhållanden', weatherScoreSuffix: '{{score}}/100 väder', @@ -53,17 +53,17 @@ const svBatch2 = { airQuality: 'Luftkvalitet', threeDayForecast: '3-dygnsprognos', gearForSale: 'Utrustning till salu ({{count}})', - viewItems: 'Visa objekt →', - viewAllItems: 'Visa alla {{count}} objekt →', + viewItems: 'Visa varor →', + viewAllItems: 'Visa alla {{count}} varor →', viewGear: 'Visa utrustning →', localTour: 'Lokal tur', - meetAt: 'Möt upp vid: {{place}}', + meetAt: 'Möts vid: {{place}}', hours: '{{count}} timmar', - level: 'nivå {{level}}', + level: 'Nivå {{level}}', viewTour: 'Visa tur →', upcomingEvent: 'Kommande evenemang', viewEvent: 'Visa evenemang →', - skateCrew: 'Skate-crew', + skateCrew: 'Skate Crew', members: '{{count}} medlemmar', since: 'Sedan {{year}}', viewCrew: 'Visa crew →', @@ -71,78 +71,78 @@ const svBatch2 = { boosted: 'Boostad', website: 'Webbplats', offlineSavedSpots: 'Offline · visar sparade spots', - cantReachRelays: 'Kan inte nå relayerna', - relayOnlineNoAnswer: 'Du är online, men gemenskapsrelayen svarar inte just nu.', + cantReachRelays: 'Kan inte nå Relayerna', + relayOnlineNoAnswer: 'Du är online, men gemenskaps-Relayen svarar inte just nu.', youreOffline: 'Du är offline.', savedOnDevice: 'Spots du redan sett sparas på den här enheten och visas här.', noSpotsMatchTitle: 'Inga spots matchar', - noSpotsMatchDesc: 'Prova en annan sökning eller rensa filtren.', - noSpotsMappedYet: 'Inga spots mappade än', - noSpotsMappedDesc: 'Bli först med att mappa din park — det tar en minut, den är din, och nästa skatare som rullar förbi tackar dig.', - addFirstSpot: 'Lägg till första spoten', + noSpotsMatchDesc: 'Prova en annan sökning eller rensa dina filter.', + noSpotsMappedYet: 'Inga spots kartlagda än', + noSpotsMappedDesc: 'Bli den första att kartlägga din park — det tar en minut, den är din, och nästa skejtare som rullar förbi tackar dig.', + addFirstSpot: 'Lägg till den första spotten', findSpotsNearMe: 'Hitta spots nära mig', locating: 'Lokaliserar…', - refiningLocation: 'Finjusterar din plats…', - refiningLocationDesc: 'Centrerad på din senaste spot — hämtar en färsk GPS-position.', + refiningLocation: 'Finjusterar din position…', + refiningLocationDesc: 'Centrerad på din senaste spot — hämtar en färsk GPS-fix.', locatingYou: 'Lokaliserar dig…', - locatingDesc: 'Hämtar en GPS-position. Det kan ta upp till en minut första gången.', + locatingDesc: 'Hämtar en GPS-fix. Det kan ta upp till en minut första gången.', foundYou: 'Hittade dig', - foundYouDesc: 'Centrerade kartan på din plats.', + foundYouDesc: 'Centrerade kartan på din position.', locationPermissionNeeded: 'Platsbehörighet krävs', - permissionNeededDesc: 'Tillåt plats för SkateSpots i enhetens Inställningar → Appar → SkateSpots → Behörigheter och tryck sedan på Nära mig igen.', - locationTimedOut: 'Platsen tog timeout', - timeoutNativeDesc: 'Kunde inte få en position i tid. Om du är inomhus kan GPS inte se satelliter — aktivera nätverksplats (Inställningar → Plats) eller gå ut och försök igen.', - timeoutWebDesc: 'Kunde inte hämta din plats i tid. Kontrollera signalen och försök igen.', + permissionNeededDesc: 'Tillåt plats för SkateSpots i enhetens Inställningar → Appar → SkateSpots → Behörigheter, och tryck sedan på Nära mig igen.', + locationTimedOut: 'Platsen tog för lång tid', + timeoutNativeDesc: 'Kunde inte få en platsfix i tid. Om du är inomhus kan GPS inte se satelliter — aktivera Nätverksplats (Inställningar → Plats) eller gå ut, och försök igen.', + timeoutWebDesc: 'Kunde inte hämta din position i tid. Kontrollera signalen och försök igen.', noLocationProvider: 'Ingen platsleverantör', - noProviderNativeDesc: 'Din telefon tillhandahåller ingen plats. På integritetsfokuserade ROM (t.ex. GrapheneOS), aktivera nätverksplats under Inställningar → Plats, eller se till att GPS är på och försök utomhus.', + noProviderNativeDesc: 'Din telefon tillhandahåller ingen position. På integritetsfokuserade ROM:ar (t.ex. GrapheneOS), aktivera Nätverksplats under Inställningar → Plats, eller se till att GPS är på och försök utomhus.', noProviderWebDesc: 'Ingen platsleverantör är tillgänglig. Aktivera platstjänster och försök igen.', - locationUnavailable: 'Platsen är otillgänglig', + locationUnavailable: 'Platsen är inte tillgänglig', unavailableNativeDesc: 'Slå på Plats/GPS i telefonens inställningar, tillåt plats för SkateSpots (Inställningar → Appar → SkateSpots → Behörigheter) och försök igen.', - unavailableWebDesc: 'Din plats kunde inte fastställas. Se till att platstjänster är aktiverade.', + unavailableWebDesc: 'Din position kunde inte fastställas. Se till att platstjänster är aktiverade.', locationBlocked: 'Plats blockerad', - locationBlockedDesc: 'Din webbläsare har blockerat platsåtkomst för den här webbplatsen. Så här återaktiverar du den:', + locationBlockedDesc: 'Din webbläsare har blockerat platsåtkomst för den här webbplatsen. Så här slår du på det igen:', locationPlatformAndroid: 'Android Chrome', locationPlatformIos: 'iOS Safari', locationPlatformDesktop: 'Desktop Chrome', locationPlatformFirefox: 'Firefox', locationStepsAndroid: 'Tryck på låsikonen i adressfältet → Webbplatsinställningar → Plats → Tillåt', - locationStepsIos: 'Inställningar-appen → Safari → Plats → Tillåt (eller tryck på "AA"-knappen i Safaris adressfält)', + locationStepsIos: 'Appen Inställningar → Safari → Plats → Tillåt (eller tryck på "AA"-knappen i Safaris adressfält)', locationStepsDesktop: 'Klicka på låsikonen → Webbplatsinställningar → Plats → Tillåt', - locationStepsFirefox: 'Klicka på låsikonen → Anslutning säker → Mer info → Behörigheter → Åtkomst till din plats → Tillåt', + locationStepsFirefox: 'Klicka på låsikonen → Anslutning säker → Mer information → Behörigheter → Åtkomst till din plats → Tillåt', gotIt: 'Uppfattat', - addSpot: 'Lägg till spot', + addSpot: 'Lägg till Spot', addShop: 'Lägg till butik', addEvent: 'Lägg till evenemang', - addSpotHereTitle: 'Lägga till en spot här?', + addSpotHereTitle: 'Lägg till en spot här?', addSpotHereDesc: 'Släpp en nål där du tryckte', sellGear: 'Sälj utrustning', offerTour: 'Erbjud tur', closeAddMenu: 'Stäng tilläggsmenyn', addMenuAria: 'Lägg till spot, butik, evenemang, utrustning eller tur', localChat: 'Lokal chatt', - localChatDesc: 'Livechatt för var kartan är centrerad. Välj hur brett kanalen når.', - btcMapShowing: 'Visar {{count}} platser i närheten där du kan Spedn dina sats', + localChatDesc: 'Livechatt för var kartan än är centrerad. Välj hur brett kanalen når.', + btcMapShowing: 'Visar {{count}} platser där du kan Spedn dina sats i närheten', btcMapShow: 'Visa platser där du kan Spedn dina sats (via BTC Map)', yourPrivateStash: 'Din privata Stash', - stashIntro: 'Håll koll på din utrustning, sätt priser och hitta byten med andra skatare.', + stashIntro: 'Håll koll på din utrustning, sätt priser och hitta byten med andra skejtare.', encryptionRequired: 'Kryptering krävs', encryptionRequiredDesc: 'Använd en signerare med NIP-44-stöd (Alby, nos2x, Amber).', myStash: 'Min Stash', encrypted: 'Krypterad', - itemsCount: '{{count}} objekt', - items: 'Objekt', + itemsCount: '{{count}} varor', + items: 'Varor', wishlist: 'Önskelista', types: 'Typer', stashEmpty: 'Din Stash är tom', - addFirstItem: 'Lägg till första objektet', + addFirstItem: 'Lägg till första varan', wishlistCount: 'Önskelista ({{count}})', myGearCount: 'Min utrustning ({{count}})', openFullStash: 'Öppna hela Stash', - addItem: 'Lägg till objekt', + addItem: 'Lägg till vara', searchSpotsPlaceholder: 'Sök spots...', selected: 'Vald', noSpotsFound: 'Inga spots hittades. Prova en annan sökning.', - addingSpotsHint: 'Att lägga till spots hjälper användare att hitta dig när de bläddrar i specifika platser', + addingSpotsHint: 'Att lägga till spots hjälper användare att hitta dig när de bläddrar bland specifika platser', report: 'Rapportera', spotSingular: '1 spot', spotPlural: '{{count}} spots', @@ -151,37 +151,37 @@ const svBatch2 = { collectionsSubtitle: 'Organisera dina favoritspots i personliga listor', newCollection: 'Ny samling', loginToCreate: 'Logga in för att skapa samlingar', - loginToCreateDesc: 'Spara dina favoritspots i personliga listor som "Barcelona-resan 2024" eller "Bästa railsen i LA"', + loginToCreateDesc: 'Spara dina favoritspots i personliga listor som "Barcelona-resan 2024" eller "Bästa Rails i LA"', noCollections: 'Inga samlingar än', noCollectionsDesc: 'Skapa din första samling för att börja organisera spots', createFirstCollection: 'Skapa din första samling', createNewCollection: 'Skapa ny samling', createCollectionDesc: 'Ge din samling ett namn och en valfri beskrivning', - collectionName: 'Samlingens namn', + collectionName: 'Samlingsnamn', collectionNamePlaceholder: 'Barcelona-resan 2024', descriptionOptional: 'Beskrivning (valfritt)', - descriptionPlaceholder: 'Mina favoritspots från Barcelona-resan...', + descriptionPlaceholder: 'Mina favoritspots från min Barcelona-resa...', creating: 'Skapar...', createCollection: 'Skapa samling', editCollection: 'Redigera samling', saving: 'Sparar...', saveChanges: 'Spara ändringar', - deleteCollectionTitle: 'Ta bort samlingen?', - deleteCollectionDesc: 'Detta tar bort "{{title}}" permanent. Själva spotarna påverkas inte.', - deleting: 'Tar bort...', + deleteCollectionTitle: 'Radera samling?', + deleteCollectionDesc: 'Detta raderar "{{title}}" permanent. Spotsen i sig påverkas inte.', + deleting: 'Raderar...', collectionCreated: 'Samlingen skapad!', collectionCreatedDesc: '"{{title}}" är redo för spots', collectionCreateFailed: 'Kunde inte skapa samlingen', collectionUpdated: 'Samlingen uppdaterad!', changesSaved: 'Dina ändringar har sparats', collectionUpdateFailed: 'Kunde inte uppdatera samlingen', - collectionDeleted: 'Samlingen borttagen', + collectionDeleted: 'Samlingen raderad', collectionDeletedDesc: '"{{title}}" har tagits bort', - collectionDeleteFailed: 'Kunde inte ta bort samlingen', + collectionDeleteFailed: 'Kunde inte radera samlingen', somethingWentWrong: 'Något gick fel', }, mapPage: { - title: 'Butiker & spots', + title: 'Butiker & Spots', spots: 'Spots', shops: 'Butiker', filters: 'Filter', @@ -192,49 +192,49 @@ const svBatch2 = { noSpotsInArea: 'Inga spots i det här området', zoomIn: 'Zooma in', zoomOut: 'Zooma ut', - myLocation: 'Min plats', - locationsFound: '{{count}} platser hittade', + myLocation: 'Min position', + locationsFound: '{{count}} platser hittades', spotsOnly: 'Endast spots', shopsOnly: 'Endast butiker', spotsAndShops: 'Spots & butiker', noSpotsMatch: 'Inga spots matchar dina filter.', noSpotsYet: 'Inga spots har lagts till än.', - addFirstSpot: 'Lägg till första spoten', + addFirstSpot: 'Lägg till första spotten', }, spotUi: { claim: { - areYouOwner: 'Är detta din spot?', - privateDesc: 'Den här spoten är markerad som privat. Om du äger eller sköter den kan du göra anspråk på den — en SkateSpots-moderator bekräftar ägarskapet, sedan tar du över listningen.', - claimSpot: 'Gör anspråk på denna spot', + areYouOwner: 'Är det här din spot?', + privateDesc: 'Den här spotten är markerad som privat. Om du äger eller sköter den, gör anspråk på den — en SkateSpots-moderator bekräftar ägandet, sedan tar du över listningen.', + claimSpot: 'Gör anspråk på den här spotten', nip05Required: 'Du behöver ett verifierat NIP-05-handtag för att göra anspråk på en privat spot (bevis på att du kontrollerar en Nostr-identitet). Lägg till ett i din profil och kom tillbaka.', addNip05: 'Lägg till NIP-05 i Inställningar', pendingTitle: 'Anspråk väntar på granskning', - pendingDesc: 'Ditt anspråk har skickats in. En SkateSpots-moderator granskar det — du kan slutföra anspråket när det har godkänts.', + pendingDesc: 'Ditt anspråk har skickats in. En SkateSpots-moderator granskar det — du kan slutföra anspråket på spotten när det har godkänts.', approvedTitle: 'Anspråk godkänt', - approvedDesc: 'En moderator godkände ditt anspråk. Slutför för att bli ägare av denna spot.', - complete: 'Slutför anspråket', + approvedDesc: 'En moderator godkände ditt anspråk. Slutför för att bli ägare till den här spotten.', + complete: 'Slutför anspråk', submitted: 'Anspråk inskickat', - submittedDesc: 'En moderator granskar ditt anspråk. Du tar över spoten när det har godkänts.', + submittedDesc: 'En moderator granskar ditt anspråk. Du tar över spotten när det har godkänts.', submitFailed: 'Kunde inte skicka in anspråket', - submit: 'Skicka anspråk', - submitting: 'Skickar…', + submit: 'Skicka in anspråk', + submitting: 'Skickar in…', confirmTitle: 'Gör anspråk på "{{title}}"?', - confirmIntro: 'Du begär att bli ägare av denna privata spot.', + confirmIntro: 'Du begär att bli ägare till den här privata spotten.', confirmBullet1: 'En SkateSpots-moderator granskar begäran (vi kan inte verifiera egendom, bara Nostr-nycklar)', - confirmBullet2: 'Om den godkänns slutför du anspråket för att bli ägare och kan redigera spoten', - confirmBullet3: 'Den ursprungliga spoten finns kvar på Nostr — nätverket är decentraliserat', + confirmBullet2: 'Om den godkänns slutför du anspråket för att bli ägare och kan redigera spotten', + confirmBullet3: 'Den ursprungliga spotten finns kvar på Nostr — nätverket är decentraliserat', adminTitle: 'Väntande ägaranspråk', adminApprove: 'Godkänn', - adminApproved: 'Godkänd', - adminApprovedDesc: 'De kan nu slutföra anspråket på spoten.', + adminApproved: 'Godkänt', + adminApprovedDesc: 'De kan nu slutföra anspråket på spotten.', adminApproveFailed: 'Kunde inte godkänna anspråket', - loginRequired: 'Logga in för att göra anspråk på denna privata spot, eller för att begära ägarskap.', + loginRequired: 'Logga in för att göra anspråk på den här privata spotten, eller för att begära ägande.', }, - abandonedDesc: 'Senast uppdaterad {{time}}. Om den ursprungliga ägaren är inaktiv kan du göra anspråk på denna spot för att underhålla och förbättra den.', - claimedNotice: 'Anspråkstagen listning', - claimedNoticeDesc: 'Denna spot publicerades om av en ny ägare efter ett anspråk. Den ursprungliga listningen kan fortfarande finnas separat.', - abandonedLoginDesc: 'Senast uppdaterad {{time}}. Logga in för att göra anspråk på och underhålla denna spot.', - accessDeniedDesc: 'Du kan bara redigera spots som du själv skapat.', + abandonedDesc: 'Senast uppdaterad {{time}}. Om den ursprungliga ägaren är inaktiv kan du göra anspråk på den här spotten för att underhålla och förbättra den.', + claimedNotice: 'Övertagen listning', + claimedNoticeDesc: 'Den här spotten publicerades på nytt av en ny ägare efter ett anspråk. Den ursprungliga listningen kan fortfarande finnas separat.', + abandonedLoginDesc: 'Senast uppdaterad {{time}}. Logga in för att göra anspråk på och underhålla den här spotten.', + accessDeniedDesc: 'Du kan bara redigera spots som du själv har skapat.', accessDeniedTitle: 'Åtkomst nekad', addAtLeastOneTag: 'Lägg till minst en tagg.', additionalDetails: 'Ytterligare detaljer (valfritt)', @@ -242,40 +242,40 @@ const svBatch2 = { addNewTags: 'Lägg till nya taggar:', addNip05InSettings: 'Lägg till NIP-05 i Inställningar', addPhoto: 'Lägg till foto', - addPhotoDesc: 'Bidra med ett foto för att hjälpa andra upptäcka denna spot.', + addPhotoDesc: 'Bidra med ett foto för att hjälpa andra hitta den här spotten.', addPhotoOrDescription: 'Lägg till ett foto eller en beskrivning', - addPhotoOrDescriptionDesc: 'Ge skatare något att gå på — en bild, eller en rad om platsen.', + addPhotoOrDescriptionDesc: 'Ge skejtarna något att gå på — en bild, eller en rad om platsen.', addPhotos: 'Lägg till foton', addPhotoToSpot: 'Lägg till foto på spot', - adminDeleteDialogDesc: 'Som SkateSpots-admin tar du ner "{{title}}". Den döljs i hela appen för alla och en borttagningsbegäran skickas till relayerna.', - adminDeleteReason: 'SkateSpots-admin tog bort spoten "{{title}}"', + adminDeleteDialogDesc: 'Som SkateSpots-admin tar du ner "{{title}}". Den döljs i hela appen för alla och en raderingsbegäran skickas till Relayerna.', + adminDeleteReason: 'SkateSpots-admin tog bort spotten "{{title}}"', airQuality: 'Luftkvalitet', altSkateSpot: 'Skate-spot: {{title}}', - areYouShopOwner: 'Är du butiksägaren?', - askBeforeSkating: 'Fråga innan du skatar', - backToSpot: 'Tillbaka till spoten', - beFirstToListGear: 'Bli först med att lista utrustning på denna spot!', - beFirstToSay: 'Bli först med att säga något.', + areYouShopOwner: 'Är du butikens ägare?', + askBeforeSkating: 'Fråga innan du skejtar', + backToSpot: 'Tillbaka till spotten', + beFirstToListGear: 'Bli den första att lista utrustning på den här spotten!', + beFirstToSay: 'Bli den första att säga något.', byAuthor: 'av {{name}}', - captionPlaceholder: 'Lägg till en bildtext (valfritt) – beskriv vad som är på fotot, när det togs, osv.', + captionPlaceholder: 'Lägg till en bildtext (valfritt) – beskriv vad som finns på fotot, när det togs, osv.', chatPublicNote: 'Vem som helst kan läsa detta — meddelanden är offentliga och tillfälliga. För privata chattar, använd Direktmeddelanden.', checkPinBelow: 'Kontrollera nålen nedan innan du lägger till en dubblett.', - claimBullet1: 'Du blir ägare och kan redigera spoten', - claimBullet2: 'Den ursprungliga spoten finns kvar (Nostr är decentraliserat)', + claimBullet1: 'Du blir ägare och kan redigera spotten', + claimBullet2: 'Den ursprungliga spotten finns kvar (Nostr är decentraliserat)', claimBullet3: 'Din version kan visas vid sidan av originalet', claimFailed: 'Anspråket misslyckades', claiming: 'Gör anspråk...', - claimIntro: 'Du är på väg att göra anspråk på ägarskapet av denna spot. Detta skapar din egen version av spoten som du kan redigera och underhålla.', + claimIntro: 'Du är på väg att göra anspråk på ägandet av den här spotten. Detta skapar din egen version av spotten som du kan redigera och underhålla.', claimSpot: 'Gör anspråk på spot', - claimThisSpot: 'Gör anspråk på denna spot', + claimThisSpot: 'Gör anspråk på den här spotten', claimTitle: 'Gör anspråk på "{{title}}"?', claimWhatHappens: 'Vad som händer när du gör anspråk:', - coachesAndFilmersAvailable: 'Coacher och filmare tillgängliga på denna spot', + coachesAndFilmersAvailable: 'Coacher och filmare tillgängliga på den här spotten', coachesCount: 'Coacher ({{count}})', coachHere: 'Coach här', community: 'Gemenskap', communityVerified: 'Gemenskapsverifierad', - communityVerifiedTitle: 'En annan skatare har bidragit här (foto eller statusrapport).', + communityVerifiedTitle: 'En annan skejtare har bidragit här (foto eller statusrapport).', conditions: 'Förhållanden', contactForPermission: 'Kontakta för tillstånd', contactInfo: 'Kontaktinfo', @@ -284,22 +284,22 @@ const svBatch2 = { couldNotSendMessage: 'Kunde inte skicka meddelandet.', couldNotSubmit: 'Kunde inte skicka in', couldNotUploadPhoto: 'Kunde inte ladda upp fotot. Du kan lägga till ett nedan.', - crewsThatSkateHere: 'Crews som skatar här', - current: 'Aktuella:', - currentTags: 'Aktuella taggar på denna spot:', + crewsThatSkateHere: 'Crews som skejtar här', + current: 'Nuvarande:', + currentTags: 'Nuvarande taggar på den här spotten:', daysAgo: '{{count}} dag sedan', daysAgoPlural: '{{count}} dagar sedan', - deleteDialogDesc: 'Detta tar bort "{{title}}" permanent från alla relayer. Åtgärden kan inte ångras.', - deletedSpotReason: 'Borttagen spot', - deleteFailed: 'Borttagning misslyckades', - deleteSpot: 'Ta bort spot', - deleteSpotTitle: 'Ta bort spoten?', + deleteDialogDesc: 'Detta raderar "{{title}}" permanent från alla Relayar. Den här åtgärden kan inte ångras.', + deletedSpotReason: 'Raderad spot', + deleteFailed: 'Radering misslyckades', + deleteSpot: 'Radera spot', + deleteSpotTitle: 'Radera spot?', differentSpotPublishAnyway: 'Det är en annan spot — publicera ändå', dragDropOrClick: 'Dra & släpp eller klicka', dropPhotos: 'Släpp foton', duplicateOne: 'Det finns en spot inom 60 m från din nål. Om det är samma plats, lägg till ditt foto eller en statusrapport där istället för att skapa en dubblett.', duplicateOther: 'Det finns spots inom 60 m från din nål. Om det är samma plats, lägg till ditt foto eller en statusrapport där istället för att skapa en dubblett.', - editSpotSeoDesc: 'Redigera din skate-spot.', + editSpotSeoDesc: 'Redigera din skateboard-spot.', failedToContribute: 'Kunde inte bidra', failedToPublish: 'Kunde inte publicera', failedToPublishDesc: 'Något gick fel. Kontrollera konsolen för detaljer.', @@ -310,16 +310,16 @@ const svBatch2 = { failedToUploadPhoto: 'Kunde inte ladda upp fotot', feelsLikeTemp: 'Känns som {{temp}}°C', filmersCount: 'Filmare ({{count}})', - filmHere: 'Filma här', + filmHere: 'Fila här', gearSwap: 'Utrustningsbyte', geolocationNotSupported: 'Geolokalisering stöds inte', geolocationNotSupportedDesc: 'Din webbläsare stöder inte geolokalisering.', - getDirections: 'Få vägbeskrivning', - hangTight: 'Håll ut', + getDirections: 'Hämta vägbeskrivning', + hangTight: 'Häng kvar', hangTightDesc: 'Ditt foto laddas fortfarande upp. Det bifogas om en sekund.', - helpImproveSpot: 'Hjälp till att förbättra denna spot genom att lägga till foton eller föreslå taggar', + helpImproveSpot: 'Hjälp till att förbättra den här spotten genom att lägga till foton eller föreslå taggar', hiddenByModerator: 'Dold av en moderator', - hiddenByModeratorDesc: 'Denna spot visas inte på kartan eller i sökningen. Du ser den fortfarande eftersom den är din. Att redigera den avdöljer den inte — den förblir dold tills en moderator drar tillbaka domen.', + hiddenByModeratorDesc: 'Den här spotten visas inte på kartan eller i sökningen. Du kan fortfarande se den eftersom den är din. Att redigera den tar inte bort döljningen — den förblir dold tills en moderator drar tillbaka domen.', humidity: 'Luftfuktighet', imageUploaded: 'Bilden uppladdad', imageUploadedDesc: 'Din bild har laddats upp.', @@ -334,79 +334,79 @@ const svBatch2 = { loadingChat: 'Laddar chatt…', locationError: 'Platsfel', locationFound: 'Plats hittad', - locationFoundDesc: 'Din nuvarande plats har angetts.', + locationFoundDesc: 'Din nuvarande position har angetts.', locationRequired: 'Plats krävs', - locationRequiredDesc: 'Ange koordinater eller använd din nuvarande plats.', + locationRequiredDesc: 'Ange koordinater eller använd din nuvarande position.', loginRequiredTitle: 'Inloggning krävs', logInToChat: 'Logga in för att gå med i den lokala chatten.', logInToContributePhotos: 'Logga in för att bidra med foton', - loginToEditSpot: 'Du måste logga in för att redigera denna spot.', - logInToReport: 'Du måste vara inloggad för att rapportera innehåll.', - logInToReportStatus: 'Logga in för att rapportera denna spots status.', + loginToEditSpot: 'Du behöver logga in för att redigera den här spotten.', + logInToReport: 'Du behöver vara inloggad för att rapportera innehåll.', + logInToReportStatus: 'Logga in för att rapportera den här spottens status.', logInToSuggestTags: 'Logga in för att föreslå taggar', manageNip05ToClaim: 'Hantera NIP-05 för att göra anspråk', - meetAtSpotForPickup: '💡 Möt upp vid denna spot för säker överlämning', + meetAtSpotForPickup: '💡 Möts vid den här spotten för säker hämtning', memberOne: '{{count}} medlem', memberOther: '{{count}} medlemmar', messageFailed: 'Meddelandet misslyckades', - messageMapper: 'Meddela mapparen', - messagePlaceholder: 'Skicka meddelande till denna spot… (prova /me eller /who)', + messageMapper: 'Meddelandekartläggare', + messagePlaceholder: 'Meddela den här spotten… (prova /me eller /who)', messagesHiddenOne: '{{count}} meddelande dolt av ditt förtroendefilter. Sänk filtret för att se mer.', messagesHiddenOther: '{{count}} meddelanden dolda av ditt förtroendefilter. Sänk filtret för att se mer.', messagesHiddenShortOne: '{{count}} meddelande dolt av ditt förtroendefilter', messagesHiddenShortOther: '{{count}} meddelanden dolda av ditt förtroendefilter', metresAway: '{{distance}} m bort', - moderatorVouchedDesc: 'En moderator granskade denna spot och gick i god för den. Snyggt.', + moderatorVouchedDesc: 'En moderator granskade den här spotten och gick i god för den. Snyggt.', monthsAgo: '{{count}} månad sedan', monthsAgoPlural: '{{count}} månader sedan', newOwnerNpub: 'Ny ägares npub', - newOwnerNpubHint: 'Ange npub för den användare du vill överföra denna spot till.', + newOwnerNpubHint: 'Ange npub för användaren du vill överföra den här spotten till.', nip05RequiredToClaim: '⚠️ NIP-05-verifiering krävs för att göra anspråk på butiker', - noCommunitySignalTitle: 'Inget gemenskapsfoto eller statusrapport än — ingen har bekräftat denna plats.', + noCommunitySignalTitle: 'Inget gemenskapsfoto eller statusrapport än — ingen har bekräftat den här platsen.', breakdownPhotos: '{{count}} foto(n)', breakdownStatus: '{{count}} statusrapport(er)', breakdownComments: '{{count}} kommentar(er)', breakdownReactions: '{{count}} reaktion(er)', - breakdownCollections: '{{count}} sparad(e)', + breakdownCollections: '{{count}} sparning(ar)', breakdownZaps: '{{count}} zap(s)', breakdownTags: '{{count}} taggförslag', breakdownCrews: '{{count}} crew(s)', breakdownLab: '{{count}} pro-länk(ar)', - verifyNudgeTitle: 'Bli först med att bekräfta denna spot', - verifyNudgeBody: 'Ett foto eller ett "Jag har skatat här" är hur en spot blir verifierad — hjälp nästa skatare.', - verifyNudgeStatus: 'Jag har skatat här', + verifyNudgeTitle: 'Bli den första att bekräfta den här spotten', + verifyNudgeBody: 'Ett foto eller ett "Jag har skejtat här" är hur en spot blir verifierad — hjälp nästa skejtare.', + verifyNudgeStatus: 'Jag har skejtat här', communityChip: 'Gemenskap', seenChip: 'Sedd', noGearListedYet: 'Ingen utrustning listad än', - noMessagesYet: 'Inga meddelanden än i denna lokala kanal. Säg hej — "någon som skatar ikväll?"', + noMessagesYet: 'Inga meddelanden än i den här lokala kanalen. Säg hej — "någon som skejtar ikväll?"', noPhoto: 'Inget foto', noReportsYet: 'Inga rapporter än', noTags: 'Inga taggar', notASkateSpot: 'Inte en skate-spot', - offerServicesHere: '💡 Erbjud dina tjänster på denna spot', + offerServicesHere: '💡 Erbjud dina tjänster på den här spotten', photoCaptured: 'Foto taget!', photoCapturedDesc: 'Ditt foto har laddats upp.', photoContributed: 'Foto bidraget!', - photoContributedDesc: 'Ditt foto har lagts till på denna spot.', + photoContributedDesc: 'Ditt foto har lagts till på den här spotten.', photosAdded: 'Dina foton har lagts till.', - photosRecommended: 'rekommenderas starkt — spots utan foto förblir markerade Overifierade', + photosRecommended: 'rekommenderas starkt — spots utan foto förblir markerade Overifierad', photosUploaded: '{{count}} foton uppladdade', photoUploaded: 'Foto uppladdat', photoUploadedDesc: 'Lägg till en bildtext och skicka in för att bidra!', photoUploadFailed: 'Uppladdning av foto misslyckades', pleaseTryAgain: 'Försök igen', public: 'Offentlig', - publicChatTitle: 'Vem som helst kan läsa meddelanden i denna kanal — den är offentlig och okrypterad.', - recentReports: 'Senaste rapporterna', + publicChatTitle: 'Vem som helst kan läsa meddelanden i den här kanalen — den är offentlig och okrypterad.', + recentReports: 'Senaste rapporter', recipientRequired: 'Mottagare krävs', recipientRequiredDesc: 'Ange npub för den nya ägaren.', removeAdmin: 'Ta bort (admin)', removeSpot: 'Ta bort spot', - removeSpotAdminTitle: 'Ta bort denna spot? (admin)', + removeSpotAdminTitle: 'Ta bort den här spotten? (admin)', reportOne: 'rapport', reportContent: 'Rapportera innehåll', reportContentDesc: 'Hjälp till att hålla gemenskapen säker genom att rapportera olämpligt innehåll.', - reportedBySkaters: ' av {{count}} skatare — under granskning. Om detta är en riktig spot, lägg till ett foto eller en statusrapport för att bekräfta den.', + reportedBySkaters: ' av {{count}} skejtare — under granskning. Om detta är en riktig spot, lägg till ett foto eller en statusrapport för att bekräfta den.', reportedNotASpot: 'Rapporterad som inte en skate-spot', reportingType: 'Rapporterar {{type}}', reports: 'rapporter', @@ -415,7 +415,7 @@ const svBatch2 = { reportStatus: 'Rapportera status', reportSubmitted: 'Rapport inskickad', reportSubmittedDesc: 'Tack för att du hjälper till att hålla SkateSpots säkert.', - reportSubmittedLong: 'Tack för att du hjälper till att hålla SkateSpots säkert och korrekt. Din rapport granskas av betrodda gemenskapsmedlemmar.', + reportSubmittedLong: 'Tack för att du hjälper till att hålla SkateSpots säkert och korrekt. Din rapport kommer att granskas av betrodda gemenskapsmedlemmar.', reportSubmittedTitle: 'Rapport inskickad', report: { notASkateSpot: { @@ -424,7 +424,7 @@ const svBatch2 = { }, fakeSpot: { label: 'Falsk/icke-existerande spot', - description: 'Denna spot finns inte eller platsen är fel', + description: 'Den här spotten finns inte eller så är platsen fel', }, stolenPhotos: { label: 'Stulna/falska foton', @@ -436,14 +436,14 @@ const svBatch2 = { }, dangerousLocation: { label: 'Farlig plats', - description: 'Privat egendom, osäker eller olaglig att besöka', + description: 'Privat egendom, osäker eller olaglig att komma åt', }, inappropriateContent: { label: 'Olämpligt innehåll', description: 'Innehåller stötande eller vuxet innehåll', }, impersonation: { - label: 'Identitetsstöld', + label: 'Imitation', description: 'Någon som utger sig för att vara någon annan', }, other: { @@ -466,79 +466,79 @@ const svBatch2 = { saveChanges: 'Spara ändringar', saving: 'Sparar...', services: 'Tjänster', - shareSpotText: 'Kolla in denna skate-spot: {{title}}', + shareSpotText: 'Kolla in den här skate-spotten: {{title}}', shelter: 'Skydd', - shelterHint: 'Är denna spot utsatt för väder? Hjälper skatare hitta torra spots när det regnar.', - shopClaimDesc: 'Om du äger eller sköter denna butik kan du göra anspråk på den för att verifiera ägarskap och hantera listningen.', - shopClaimNip05Hint: 'För att göra anspråk på denna butik, lägg till en NIP-05-identifierare som matchar butikens webbplatsdomän.', - skatersActiveDesc: 'Personer som postat i denna kanal de senaste 24 timmarna.', - skatersActiveOne: '{{count}} skatare aktiv här', - skatersActiveOther: '{{count}} skatare aktiva här', - skatersSellingGear: 'Skatare på denna spot säljer utrustning', - skateSpot: 'Skate-spot', + shelterHint: 'Är den här spotten utsatt för vädret? Hjälper skejtare hitta torra spots när det regnar.', + shopClaimDesc: 'Om du äger eller sköter den här butiken kan du göra anspråk på den för att verifiera ägandet och hantera listningen.', + shopClaimNip05Hint: 'För att göra anspråk på den här butiken, lägg till en NIP-05-identifierare som matchar butikens webbplatsdomän.', + skatersActiveDesc: 'Personer som postade i den här kanalen de senaste 24 timmarna.', + skatersActiveOne: '{{count}} skejtare aktiv här', + skatersActiveOther: '{{count}} skejtare aktiva här', + skatersSellingGear: 'Skejtare på den här spotten säljer utrustning', + skateSpot: 'Skate Spot', somethingWentWrong: 'Något gick fel', spot: 'Spot', spotAdded: 'Spot tillagd!', spotAddedDesc: 'Din skate-spot har publicerats till nätverket.', - spotAddedNoPhoto: 'Publicerad — och markerad Overifierad tills någon lägger till ett foto. En bild på spoten gör stor skillnad.', + spotAddedNoPhoto: 'Publicerad — och markerad Overifierad tills någon lägger till ett foto. En bild på spotten räcker långt.', spotChat: 'Spot-chatt', spotClaimed: 'Spot anspråkstagen!', - spotClaimedDesc: 'Du är nu ägare av denna spot. Du kan redigera den från din profil.', - spotDeleted: 'Spot borttagen', - spotDeletedDesc: 'Borttagningsbegäran skickad till relayerna. De flesta relayer tar bort detta innehåll.', - spotMayAlreadyBeOnMap: 'Den spoten kan redan finnas på kartan', - spotMayAlreadyExist: 'Denna spot kan redan finnas', - spotMayBeAbandoned: 'Spoten kan vara övergiven', + spotClaimedDesc: 'Du är nu ägare till den här spotten. Du kan redigera den från din profil.', + spotDeleted: 'Spot raderad', + spotDeletedDesc: 'Raderingsbegäran skickad till Relayerna. De flesta Relayar tar bort det här innehållet.', + spotMayAlreadyBeOnMap: 'Den spotten kan redan finnas på kartan', + spotMayAlreadyExist: 'Den här spotten kan redan finnas', + spotMayBeAbandoned: 'Spot kan vara övergiven', spotPhotoAlt: 'Spot', spotRemoved: 'Spot borttagen', - spotRemovedDesc: 'Denna spot har tagits ner och döljs i hela SkateSpots.', - spotSeoDesc: 'Visa denna skate-spot på SkateSpots.', + spotRemovedDesc: 'Den här spotten har tagits ner och kommer att döljas i hela SkateSpots.', + spotSeoDesc: 'Visa den här skateboard-spotten på SkateSpots.', spotStatus: 'Spot-status', - spotStatusDesc: 'Är "{{title}}" fortfarande skatbar? Låt gemenskapen veta dess nuvarande skick.', + spotStatusDesc: 'Är "{{title}}" fortfarande skejtbar? Låt gemenskapen veta dess nuvarande skick.', spotTypeRequired: 'Spot-typ krävs', - spotTypeRequiredDesc: 'Välj en spot-typ så skatare vet vad de rullar upp till.', + spotTypeRequiredDesc: 'Välj en spot-typ så att skejtare vet vad de rullar upp till.', spotUpdated: 'Spot uppdaterad!', spotUpdatedDesc: 'Dina ändringar har publicerats till nätverket.', - staffVerifiedTitle: 'En SkateSpots-admin granskade och gick i god för denna spot.', - statusNotePlaceholder: 'Valfritt: lägg till detaljer (t.ex. "nya knobs på ledgen", "vakten kickar ut efter 18")', + staffVerifiedTitle: 'En SkateSpots-admin granskade och gick i god för den här spotten.', + statusNotePlaceholder: 'Valfritt: lägg till detaljer (t.ex. "nya knoppar på Leden", "vakten kör ut efter 18")', statusReported: 'Status rapporterad', statusReportedDesc: 'Tack för att du håller kartan fräsch. Din rapport är live.', - submitReport: 'Skicka rapport', - submitting: 'Skickar...', + submitReport: 'Skicka in rapport', + submitting: 'Skickar in...', suggestedByUser: 'Föreslagen av {{count}} användare', suggestedByUsers: 'Föreslagen av {{count}} användare', suggestedTagsContent: 'Föreslagna taggar för {{title}}: {{tags}}', suggestNTags: 'Föreslå {{count}} taggar', suggestOneTag: 'Föreslå 1 tagg', suggestTags: 'Föreslå taggar', - suggestTagsDesc: 'Hjälp till att kategorisera denna spot genom att föreslå relevanta taggar.', + suggestTagsDesc: 'Hjälp till att kategorisera den här spotten genom att föreslå relevanta taggar.', tags: 'Taggar', - tagsHint: 'Lägg till taggar för egenskaper, ytor, vibbar (max {{max}})', + tagsHint: 'Lägg till taggar för funktioner, ytor, känsla (max {{max}})', tagsSuggested: 'Taggar föreslagna!', tagsSuggestedDesc: 'Dina taggförslag har skickats in.', takePhoto: 'Ta foto', threeDayForecast: '3-dygnsprognos', - tipTheMapper: 'Tippa mapparen', - tipTheMapperDesc: 'Hittade du denna spot användbar? Skicka en zap för att tacka mapparen!', + tipTheMapper: 'Tippa kartläggaren', + tipTheMapperDesc: 'Tyckte du att den här spotten var användbar? Skicka en zap för att tacka kartläggaren!', titleRequired: 'Titel krävs', - titleRequiredDesc: 'Ange ett namn för denna spot.', - today: 'I dag', - tomorrow: 'I morgon', - transferDesc: 'Överför "{{title}}" till en annan användare. Åtgärden kan inte ångras.', + titleRequiredDesc: 'Ange ett namn för den här spotten.', + today: 'Idag', + tomorrow: 'Imorgon', + transferDesc: 'Överför "{{title}}" till en annan användare. Den här åtgärden kan inte ångras.', transferFailed: 'Överföringen misslyckades', - transferOwnership: 'Överför ägarskap', - transferRequestContent: 'Begäran om ägaröverföring för spoten "{{title}}"', + transferOwnership: 'Överför ägande', + transferRequestContent: 'Begäran om ägaröverföring för spot "{{title}}"', transferRequested: 'Överföring begärd', - transferRequestedDesc: 'Den nya ägaren måste göra anspråk på spoten för att slutföra överföringen.', + transferRequestedDesc: 'Den nya ägaren måste göra anspråk på spotten för att slutföra överföringen.', transferring: 'Överför...', - transferSpotOwnership: 'Överför spotens ägarskap', - transferWarningDesc: 'Efter överföringen kan du inte längre redigera eller ta bort denna spot.', + transferSpotOwnership: 'Överför spotägande', + transferWarningDesc: 'Efter överföringen kan du inte längre redigera eller radera den här spotten.', typeToSearchTags: 'Skriv för att söka eller lägga till taggar...', underReview: ' — under granskning. Om detta är en riktig spot, lägg till ett foto eller en statusrapport för att bekräfta den.', untitledSpot: 'Namnlös spot', unverified: 'Overifierad', updateDetailsFor: 'Uppdatera detaljerna för {{title}}', - updateSpotDesc: 'Uppdatera informationen om denna spot. Alla fält markerade med * är obligatoriska.', + updateSpotDesc: 'Uppdatera informationen om den här spotten. Alla fält markerade med * är obligatoriska.', uploadAPhoto: 'Ladda upp ett foto', uploadAPhotoHint: 'Dra & släpp eller klicka · JPG, PNG, WebP', uploadedAlt: 'Uppladdad', @@ -552,7 +552,7 @@ const svBatch2 = { warning: 'Varning', weatherConditions: 'Väderförhållanden', weatherOnly: 'endast väder', - weatherOnlyUnconfirmed: 'Endast väder. Ingen har bekräftat att detta är en skate-spot än, så det finns ingen förhållandepoäng — lägg till ett foto eller en statusrapport för att bekräfta den.', + weatherOnlyUnconfirmed: 'Endast väder. Ingen har bekräftat att detta är en skate-spot än, så det finns inget förhållandebetyg — lägg till ett foto eller en statusrapport för att bekräfta den.', whyReporting: 'Varför rapporterar du detta?', wind: 'Vind', yearsAgo: '{{count}} år sedan', @@ -560,28 +560,28 @@ const svBatch2 = { }, diyUi: { title: 'DIY — Gör din egen', - tagline: 'Guider, öppna verktyg och ritningar för att bygga dina egna decks, ramper och betongspots — och hitta sedan människorna, platserna och marknaden som hör till.', + tagline: 'Guider, öppna verktyg och planer för att bygga egna Decks, ramper och betongspots — och hitta sedan folk, platser och marknad som hör till.', doItWithPeople: 'Gör det med folk', backToDiy: 'Tillbaka till DIY', calc: { - title: 'Kostnadskalkyl för deck', - intro: 'Vad ett deck kostar att tillverka — arbete, utrustning, material, processtid, förpackning och marginal — och ett rimligt försäljningspris. Sparas på den här enheten.', + title: 'Kostnadskalkylator för Deck', + intro: 'Vad ett Deck kostar att tillverka — arbete, utrustning, material, processtid, förpackning och marginal — och ett rimligt försäljningspris. Sparas på den här enheten.', }, designer: { title: 'Deck-designer', - intro: 'Forma en skateboard- eller longboardkontur och exportera en utskrivbar 1:1-mall, en SVG eller en DXF för CNC. Sparas på den här enheten.', + intro: 'Forma en skateboard- eller longboard-kontur och exportera sedan en utskrivbar 1:1-mall, en SVG eller en DXF för CNC. Sparas på den här enheten.', presets: 'Förval', dimensions: 'Mått', shape: 'Form', kicks: 'Kicks', - hardware: 'Truck-hål', + hardware: 'Truckhål', width: 'Maxbredd', wheelbase: 'Wheelbase', nose: 'Noslängd', tail: 'Taillängd', length: 'Total längd', waist: 'Midja', - endRound: 'Ändrundning', + endRound: 'Ändrundhet', concave: 'Concave', thickness: 'Tjocklek', tailKick: 'Tail-kick', @@ -595,27 +595,27 @@ const svBatch2 = { export: 'Exportera', pdfA4: '1:1 PDF · A4', pdfLetter: '1:1 PDF · Letter', - printNote: 'Skriv ut PDF:en i 100 % (ingen "anpassa till sida") och tejpa sedan ihop rutorna med hjälp av hörnmarkeringarna. SVG:n är också i naturlig storlek.', - note: 'Detta är 2D-konturen du ritar av och skär ut. För fullständiga 3D-former och formdesign är ett riktigt CAD-verktyg fortfarande rätt val.', + printNote: 'Skriv ut PDF:en i 100 % (inte “anpassa till sida”), tejpa sedan ihop arken med hjälp av hörnkorsen. SVG:n är också i naturlig storlek.', + note: 'Det här är 2D-konturen du ritar av och skär ut. För fullständiga 3D-former och formdesign är ett riktigt CAD-verktyg fortfarande rätt val.', }, source: 'Källa', comingSoon: 'Kommer snart', - footer: 'Steg-för-steg-guider är på väg. Under tiden: hitta de som bygger i The Lab, mappa din spot och köp eller sälj i Marketplace. Arbeta säkert — skydd, handskar och ögonskydd.', + footer: 'Steg-för-steg-guider är på väg. Under tiden: hitta folket som bygger i The Lab, kartlägg din spot och köp eller sälj i Marketplace. Arbeta säkert — skydd, handskar och ögonskydd.', categories: { - boards: 'Decks', + boards: 'Brädor', ramps: 'Ramper & trähinder', concrete: 'Betong & DIY-spots', - repairs: 'Reparation & trimning', - tools: 'Verktyg & ritningar', + repairs: 'Reparationer & trimning', + tools: 'Verktyg & planer', }, cards: { ossBuild: { title: 'Bygg en skateboard', - blurb: 'Steg-för-steg-tillverkning av deck — faner, formar, pressar och ytbehandling.', + blurb: 'Steg-för-steg-tillverkning av Deck — faner, formar, pressar och finish.', }, sk8cad: { title: 'SK8CAD', - blurb: 'CAD med öppen källkod för deckformer, concave och formdesign.', + blurb: 'Öppen källkods-CAD för Deck-former, concave och formdesign.', }, deckCost: { title: 'Deck-kostnad & prissättning', @@ -626,7 +626,7 @@ const svBatch2 = { blurb: 'Forma en kontur och skriv ut en 1:1-mall — eller exportera SVG/DXF för CNC.', }, ledgeBox: { - title: 'Bygg en ledge eller box', + title: 'Bygg en Ledge eller box', blurb: 'Ett nybörjarvänligt trähinder du kan bygga på en helg.', }, quarterpipe: { @@ -635,61 +635,61 @@ const svBatch2 = { }, flatbar: { title: 'Bygg en flatbar', - blurb: 'Billig, portabel och det bästa sättet att lära sig rails.', + blurb: 'Billig, portabel och det bästa sättet att lära sig Rails.', }, concreteBasics: { title: 'Betonggrunder', - blurb: 'Blanda, forma och ytbehandla en ledge eller bank som håller.', + blurb: 'Blanda, forma och ytbehandla en Ledge eller bank som håller.', }, coping: { title: 'Coping & kanter', - blurb: 'Hur du sätter coping och avslutar en transition för en jämn grind.', + blurb: 'Hur du sätter coping och avslutar en transition för en mjuk grind.', }, buyParts: { title: 'Köp delar & utrustning', - blurb: 'Hämta decks, hårdvara och verktyg från säljare i Marketplace.', + blurb: 'Handla Decks, hårdvara och verktyg från säljare i Marketplace.', }, mapSpot: { - title: 'Mappa din DIY-spot', - blurb: 'Byggt något? Lägg till det på kartan så andra kan hitta och skata det.', + title: 'Kartlägg din DIY-spot', + blurb: 'Byggt något? Lägg till det på kartan så att andra kan hitta och skejta det.', }, regrip: { title: 'Griptapea om en bräda', - blurb: 'Riv bort gammal grip och lägg på ny grip snyggt.', + blurb: 'Ta bort gammal Griptape och lägg på ny snyggt.', }, tune: { title: 'Trimma Bearings & Trucks', blurb: 'Rengör Bearings, byt bushings och ställ in din truck-geometri.', }, printMolds: { - title: '3D-printade formar', - blurb: 'Utskrivbara form- och linjeringsfiler från gemenskapen.', + title: '3D-utskrivna formar', + blurb: 'Utskrivbara form- och inriktningsbasfiler från gemenskapen.', }, sk8cadTools: { - title: 'Form- & linjeringsverktyg', - blurb: 'Designa formar med inbyggda linjeringsbaser.', + title: 'Form- & inriktningsverktyg', + blurb: 'Designa formar med inbyggda inriktningsbaser.', }, }, actions: { findBuilder: { title: 'Hitta en byggare', - blurb: 'Ramp- och DIY-byggare i The Lab som kan designa eller gjuta det åt dig.', + blurb: 'Ramp- och DIY-byggare i The Lab som kan designa eller gjuta den åt dig.', }, findCrew: { title: 'Hitta en DIY-crew', - blurb: 'Crews som fokuserar på att bygga — gå med i dem som förvandlar spots till verklighet.', + blurb: 'Crews fokuserade på att bygga — gå med i dem som förvandlar spots till verklighet.', }, mapSpot: { - title: 'Mappa en DIY-spot', - blurb: 'Lägg till spoten du byggde så den lever på kartan.', + title: 'Kartlägg en DIY-spot', + blurb: 'Lägg till spotten du byggde så att den lever vidare på kartan.', }, sellBuilds: { title: 'Sälj dina byggen', - blurb: 'Lista decks, ramper eller delar du gör i Marketplace.', + blurb: 'Lista Decks, ramper eller delar du gör i Marketplace.', }, findCoach: { title: 'Hitta en coach', - blurb: 'Coacher som lär ut DIY-skate-moduler och spotbygge.', + blurb: 'Coacher som lär ut DIY-skate-moduler och spot-byggande.', }, }, }, @@ -705,7 +705,7 @@ const svBatch2 = { }, park: { label: 'Park', - description: 'Byggda skateparks', + description: 'Byggda skateparker', }, plaza: { label: 'Plaza', @@ -714,29 +714,29 @@ const svBatch2 = { }, spotFeature: { wallrides: 'Wallrides', - stairs: 'Trappor & räcken', + stairs: 'Trappor & Handrails', rails: 'Rails', - ledges: 'Ledges & kanter', + ledges: 'Ledges & trottoarkanter', gaps: 'Gaps', - flatground: 'Platt mark', + flatground: 'Plattmark', 'manual-pads': 'Manual-pads', - 'half-pipes': 'Half pipes', - 'quarter-pipes': 'Quarter pipes', - 'mini-ramps': 'Miniramper', + 'half-pipes': 'Half Pipes', + 'quarter-pipes': 'Quarter Pipes', + 'mini-ramps': 'Mini Ramps', bowls: 'Bowls', - vert: 'Vert-ramper', - 'mega-ramps': 'Megaramper', + vert: 'Vert Ramps', + 'mega-ramps': 'Mega Ramps', hubbas: 'Hubbas', - 'euro-gaps': 'Euro gaps', + 'euro-gaps': 'Euro Gaps', banks: 'Banks', - 'spine-ramps': 'Spineramper', + 'spine-ramps': 'Spine Ramps', 'roll-ins': 'Roll-ins', hips: 'Hips', volcano: 'Volcano', pyramids: 'Pyramider / Funboxes', - 'snake-runs': 'Snake runs', - 'pump-track': 'Pump track-rullar', - 'flat-bars': 'Flatbars', + 'snake-runs': 'Snake Runs', + 'pump-track': 'Pump Track-rollers', + 'flat-bars': 'Flat Bars', }, spotType: { street: 'Street', @@ -744,29 +744,29 @@ const svBatch2 = { park: 'Park', plaza: 'Plaza', wallrides: 'Wallrides', - stairs: 'Trappor & räcken', + stairs: 'Trappor & Handrails', rails: 'Rails', - ledges: 'Ledges & kanter', + ledges: 'Ledges & trottoarkanter', gaps: 'Gaps', - flatground: 'Platt mark', + flatground: 'Plattmark', 'manual-pads': 'Manual-pads', - 'half-pipes': 'Half pipes', - 'quarter-pipes': 'Quarter pipes', - 'mini-ramps': 'Miniramper', + 'half-pipes': 'Half Pipes', + 'quarter-pipes': 'Quarter Pipes', + 'mini-ramps': 'Mini Ramps', bowls: 'Bowls', - vert: 'Vert-ramper', - 'mega-ramps': 'Megaramper', + vert: 'Vert Ramps', + 'mega-ramps': 'Mega Ramps', hubbas: 'Hubbas', - 'euro-gaps': 'Euro gaps', + 'euro-gaps': 'Euro Gaps', banks: 'Banks', - 'spine-ramps': 'Spineramper', + 'spine-ramps': 'Spine Ramps', 'roll-ins': 'Roll-ins', hips: 'Hips', volcano: 'Volcano', pyramids: 'Pyramider / Funboxes', - 'snake-runs': 'Snake runs', - 'pump-track': 'Pump track-rullar', - 'flat-bars': 'Flatbars', + 'snake-runs': 'Snake Runs', + 'pump-track': 'Pump Track-rollers', + 'flat-bars': 'Flat Bars', diy: 'DIY', rail: 'Rail', ledge: 'Ledge', @@ -777,35 +777,35 @@ const svBatch2 = { }, access: { public: { - label: 'Offentlig – öppen för alla', + label: 'Offentlig - Öppen för alla', }, private: { - label: 'Privat egendom – tillstånd krävs', + label: 'Privat egendom - Tillstånd krävs', }, locals: { - label: 'Fråga locals först', + label: 'Fråga lokala först', }, }, shelter: { outdoor: { label: 'Utomhus', short: 'Utomhus', - description: 'Helt utsatt — regn stoppar åkningen', + description: 'Helt utsatt — regn stoppar leken', }, partial: { - label: 'Delvis övertäckt', - short: 'Delvis övertäckt', + label: 'Delvis täckt', + short: 'Delvis täckt', description: 'Vissa hinder hålls torra', }, covered: { - label: 'Övertäckt / under tak', - short: 'Övertäckt', + label: 'Täckt / under tak', + short: 'Täckt', description: 'Utomhus men under tak', }, indoor: { label: 'Inomhus', short: 'Inomhus', - description: 'Helt inneslutet — skata oavsett väder', + description: 'Helt innesluten — skejta oavsett väder', }, }, eventType: { @@ -819,7 +819,7 @@ const svBatch2 = { concert: '🎸 Konsert', jam: '🎵 Jam', festival: '🎪 Festival', - popup: '🎯 Pop-up', + popup: '🎯 Pop-Up', }, gearCategory: { deck: 'Deck', @@ -833,7 +833,7 @@ const svBatch2 = { wax: 'Vax', tools: 'Verktyg', griptape: 'Griptape', - rubbrick: 'Rub brick', + rubbrick: 'Rub Brick', }, gearCondition: { new: { @@ -856,7 +856,7 @@ const svBatch2 = { priceType: { fixed: { label: 'Fast pris', - description: 'Sätt pris i USD eller sats', + description: 'Satt pris i USD eller sats', }, free: { label: 'Gratis', @@ -867,7 +867,7 @@ const svBatch2 = { description: 'Vill byta', }, offer: { - label: 'Lägg bud', + label: 'Kom med bud', description: 'Priset är förhandlingsbart', }, }, @@ -878,7 +878,7 @@ const svBatch2 = { }, wtb: { label: 'Vill köpa', - description: 'Söker specifik utrustning', + description: 'Letar efter specifik utrustning', }, }, tour: { @@ -896,11 +896,11 @@ const svBatch2 = { }, national: { label: 'Nationell tur', - description: 'Roadtrips mellan flera städer i landet', + description: 'Roadtrips mellan flera städer över hela landet', }, international: { label: 'Internationell tur', - description: 'Gränsöverskridande äventyr över flera länder', + description: 'Äventyr över gränser mellan flera länder', }, destruction: { label: 'World Destruction', @@ -914,17 +914,17 @@ const svBatch2 = { transition: 'Transition / Vert', park: 'Park', diy: 'DIY', - cruising: 'Cruising / filmning', - oldschool: 'Old school', - allterrain: 'All terrain', - girls: 'Tjej / kvinna', - youth: 'Ungdom / groms', + cruising: 'Cruising / Filming', + oldschool: 'Old School', + allterrain: 'All Terrain', + girls: 'Tjej / Kvinna', + youth: 'Ungdom / Groms', adaptive: 'Adaptiv', punk: 'Punk', - hiphop: 'Rap / hip-hop', + hiphop: 'Rap / Hip-Hop', }, focus: { - mixed: 'Blandat / allmänt', + mixed: 'Blandat / Allmänt', builder: 'DIY & byggare', photo: 'Foto & film', coaching: 'Coaching', @@ -938,7 +938,7 @@ const svBatch2 = { photo: 'En film-, foto- eller redigerings-crew — visas även i The Lab under Foto & film.', coaching: 'En coach-/lektion-crew — visas även i The Lab under Coaching.', art: 'Ett konst-, design-, graffiti- eller tatuering-kollektiv — visas även i The Lab under Konst & design.', - music: 'Ett band eller musik-kollektiv — visas även i The Lab under Musik.', + music: 'Ett band eller musikkollektiv — visas även i The Lab under Musik.', wellness: 'En tränings-, fitness- eller fysio-crew — visas även i The Lab under Träning.', }, lookingFor: { @@ -970,16 +970,16 @@ const svBatch2 = { memberVisibility: { public: { label: 'Offentlig', - description: 'Alla kan se dig i denna crew — på den offentliga crew-sidan och i upptäckten av crew-kamrater.', + description: 'Vem som helst kan se dig i den här crewen — på den offentliga crew-sidan och i discovery av crew-kamrater.', }, crew: { label: 'Endast crew', - description: 'Bara bekräftade crew-kamrater och grundaren ser dig här. För alla andra visas du som en anonym "dold medlem". Obs: detta är integritet på appnivå — din medlemstagg finns fortfarande offentligt på relayerna, den visas bara aldrig för utomstående.', + description: 'Endast bekräftade crew-kamrater och grundaren ser dig här. För alla andra visas du som en anonym "dold medlem". Obs: detta är integritet på appnivå — din medlemskapstagg finns fortfarande offentligt på Relayerna, den visas bara aldrig för utomstående.', }, }, tagCategory: { features: { - name: 'Egenskaper', + name: 'Funktioner', description: 'Hinder och terräng', }, surfaces: { @@ -995,7 +995,7 @@ const svBatch2 = { description: 'Antal trappsteg', }, vibes: { - name: 'Vibbar', + name: 'Känsla', description: 'Atmosfär och skick', }, location: { @@ -1010,11 +1010,11 @@ const svBatch2 = { spotTagCategory: { street: { label: 'Street', - description: 'Street-spots – trappor, rails, ledges', + description: 'Street-spots - trappor, Rails, Ledges', }, park: { label: 'Park', - description: 'Skateparks – offentliga eller privata', + description: 'Skateparker - offentliga eller privata', }, diy: { label: 'DIY', @@ -1028,15 +1028,15 @@ const svBatch2 = { status: { active: { label: 'Aktiv', - description: 'Bara att köra — skata den.', + description: 'Bara att köra — skejta den.', }, bust: { label: 'Bust', - description: 'Stor risk att bli utkastad — väktare eller polis.', + description: 'Hög risk för utkörning — säkerhetsvakter eller polis.', }, skate_stopped: { label: 'Skate-stoppad', - description: 'Knobbad / övertäckt, men delvis skatbar.', + description: 'Knoppad / kapad, men delvis skejtbar.', }, closed: { label: 'Stängd', @@ -1044,13 +1044,13 @@ const svBatch2 = { }, gone: { label: 'Borta', - description: 'Riven, överasfalterad eller permanent inhägnad.', + description: 'Riven, överasfalterad eller permanent instängslad.', }, }, price: { free: 'GRATIS', trade: 'Byte', - makeOffer: 'Lägg bud', + makeOffer: 'Kom med bud', offer: 'Bud', }, }, @@ -1060,38 +1060,38 @@ const svBatch2 = { feeFeaturedEventBenefit: 'Ditt evenemang visas högst upp på evenemangssidan', feeLabProfileLabel: 'Lab Pro-profil', feeLabProfileDesc: 'Lyft fram dina tjänster i The Lab', - feeLabProfileBenefit: 'Pro-badge + utvald placering när skatare bläddrar i The Lab', + feeLabProfileBenefit: 'Pro-märke + utvald placering när skejtare bläddrar i The Lab', feeFeaturedShopLabel: 'Utvald butik', - feeFeaturedShopDesc: 'Lyft fram din skate-butik på kartan och i katalogen', - feeFeaturedShopBenefit: 'Verifierad badge + utvald nål på kartan', + feeFeaturedShopDesc: 'Lyft fram din skatebutik på kartan och i katalogen', + feeFeaturedShopBenefit: 'Verifierat märke + utvald nål på kartan', feeFeaturedTourLabel: 'Utvald tur', feeFeaturedTourDesc: 'Lyft fram din tur på SkateSpots', - feeFeaturedTourBenefit: 'Pro-badge + topplacering när skatare bläddrar i turer', + feeFeaturedTourBenefit: 'Pro-märke + topplacering när skejtare bläddrar bland turer', duration7d: '7 dagar', duration30d: '1 månad', duration90d: '3 månader', duration365d: '12 månader', - metaActive: '{{label}} — aktiv', + metaActive: '{{label}} — Aktiv', daysRemainingOne: '{{count}} dag kvar', daysRemainingMany: '{{count}} dagar kvar', zapRequestContent: 'SkateSpots {{label}} ({{tier}})', - errGenerate: 'Kunde inte skapa fakturan', + errGenerate: 'Kunde inte generera fakturan', paymentReceived: '⚡ Betalning mottagen!', paymentReceivedDesc: '{{amount}} sats — {{label}} är nu aktiv.', autoPayFailed: 'Autobetalning misslyckades', autoPayFailedDesc: 'Betala manuellt med QR-koden eller fakturan nedan.', payStatusUnknown: 'Betalningsstatus okänd — betalningen kan ha gått igenom. Kontrollera din plånbok innan du betalar igen.', invoiceCopied: 'Faktura kopierad!', - activeBang: '{{label}} aktiv!', + activeBang: '{{label}} Aktiv!', chooseDuration: 'Välj varaktighet', bestValue: 'Bäst värde', perDay: '{{price}}/dag', validFor: 'Giltig i', amountLine: '~${{usd}} USD · till {{name}} · {{tier}}', payToContinue: 'Betala {{amount}} sats för att fortsätta', - generating: 'Skapar faktura…', + generating: 'Genererar faktura…', processing: 'Behandlar betalning…', - invoiceQrAlt: 'Lightning-faktura QR', + invoiceQrAlt: 'QR-kod för Lightning-faktura', copyInvoice: 'Kopiera faktura', openWallet: 'Öppna plånbok', payConnected: 'Betala med ansluten plånbok', @@ -1100,9 +1100,9 @@ const svBatch2 = { proReceiptTitle: '🦧⚡ Sasquatch Pro — du är med!', proReceiptPass: 'Pass: {{pass}} ({{sats}} sats)', proReceiptActiveUntil: 'Aktiv till: {{until}}', - proReceiptUnlocked: 'Vad du låste upp:', - proReceiptBullet1: '• Personlig assistent — jag läser din Stash, dina crews, spots & listningar', - proReceiptBullet2: '• Åtgärdsutkast — lista utrustning, publicera spot-status, planera resor (du bekräftar)', + proReceiptUnlocked: 'Det här låste du upp:', + proReceiptBullet1: '• Personlig assistent — jag läser din Stash, Crews, spots & listningar', + proReceiptBullet2: '• Åtgärdsutkast — lista utrustning, lägg upp en spot-status, planera resor (du bekräftar)', proReceiptBullet3: '• Svar som använder din personliga kontext, inte bara offentlig data', proReceiptBullet4: '• ⚡ Du stöttar SkateSpots direkt & håller det gratis + reklamfritt', proReceiptThanks: 'Tack för att du håller SkateSpots gratis & reklamfritt. Nu ut och shredda. 🛹', @@ -1116,42 +1116,42 @@ const svBatch2 = { }, cardUi: { save: 'Spara kort till Nostr', - saved: 'Kortet sparat', + saved: 'Kort sparat', savedDesc: 'Ditt kort är nu signerat och verifierbart.', saveFailed: 'Kunde inte spara kortet', - notPublished: 'Inte publicerat', + notPublished: 'Inte publicerad', titleNeon: 'Rider', titleRest: 'Card', saveFrontPng: 'Spara framsida (PNG)', expired: 'UTGÅNGEN', logoUploaded: 'Logotyp uppladdad', logoUploadFailed: 'Kunde inte ladda upp logotypen', - venue: 'Länkad plats (valfritt)', - venueNone: 'Ingen plats', - venueHint: 'Välj en av dina egna spots för att binda detta pass till en plats. En verifierare bekräftar att du äger den.', - venuePick: 'Välj din plats', - parkNoVenue: 'Ett Park-pass kan bara utfärdas av platsens ägare — mappa en spot du äger först.', + venue: 'Länkad venue (valfritt)', + venueNone: 'Ingen venue', + venueHint: 'Välj en av dina egna spots för att knyta detta pass till en venue. En verifierare bekräftar att du äger den.', + venuePick: 'Välj din venue', + parkNoVenue: 'Ett Park-pass kan bara utfärdas av venyns ägare — kartlägg först en spot du äger.', parkAddVenue: 'Lägg till en spot', - parkNeedsVenue: 'Välj en plats du äger', + parkNeedsVenue: 'Välj en venue du äger', parkIssued: 'Utfärdade pass', parkRevoke: 'Återkalla', parkRevoked: 'Återkallat', parkRevokeFailed: 'Kunde inte återkalla', v: { valid: 'Giltigt', - validDesc: 'Signaturen är giltig och utfärdad av platsen.', + validDesc: 'Signaturen är giltig och utfärdad av venyn.', expired: 'Utgånget', - expiredDesc: 'Förbi sitt giltig-till-datum.', + expiredDesc: 'Förbi sitt giltighetstomdatum.', revoked: 'Återkallat', revokedDesc: 'Utfärdaren avbröt detta pass — acceptera det inte.', invalid: 'Ogiltigt', - invalidDesc: 'Signaturen verifieras inte. Lita inte på det.', + invalidDesc: 'Signaturen verifieras inte. Lita inte på den.', notFound: 'Hittades inte', - notFoundDesc: 'Ingen matchande post på relayerna.', + notFoundDesc: 'Ingen matchande post på Relayerna.', unverifiedIssuer: 'Overifierad utfärdare', - unverifiedIssuerDesc: 'Detta pass anger en plats som inte ägs av utfärdarens nyckel.', + unverifiedIssuerDesc: 'Detta pass namnger en venue som inte ägs av utfärdarens nyckel.', notBound: 'Inte bunden', - notBoundDesc: 'Inte bunden till en plats — bevisar inget om åtkomst.', + notBoundDesc: 'Inte bunden till en venue — bevisar inget om åtkomst.', noRsvp: 'Ingen RSVP', noRsvpDesc: 'Innehavaren har ingen registrerad RSVP för detta evenemang.', admitted: 'Insläppt', @@ -1162,7 +1162,7 @@ const svBatch2 = { passes: { tab: 'Mina pass', pass: 'Åtkomstpass', - none: 'Inga pass än. När en plats eller arrangör utfärdar ett till dig visas det här.', + none: 'Inga pass än. När en venue eller arrangör utfärdar ett till dig visas det här.', }, facets: { title: 'Visa identitetsfasetter', @@ -1190,7 +1190,7 @@ const svBatch2 = { crewSub: 'Din crew, på ett kort', pick: 'Välj en crew', none: 'Du är inte med i en crew än — gå med i eller starta en först.', - hint: 'Kortet byggs från crewens egna signerade data. Redigera crewen på dess sida för att ändra det.', + hint: 'Kortet byggs från crewens egen signerade data. Redigera crewen på dess sida för att ändra den.', members: 'MEDLEMMAR', spots: 'SPOTS', est: 'Grundad {{year}}', @@ -1203,7 +1203,7 @@ const svBatch2 = { passSub: 'Ett pass för ett evenemang du ska gå på', pick: 'Välj ett evenemang', none: 'Inga evenemang än — skapa ett, eller RSVP:a till ett, först.', - hint: 'Passet byggs från evenemangets egna signerade data. Bara arrangören kan ändra det.', + hint: 'Passet byggs från evenemangets egen signerade data. Endast arrangören kan ändra det.', admits: 'SLÄPPER IN', going: '{{count}} kommer', verifiedEvent: 'Verifierat evenemang', @@ -1211,7 +1211,7 @@ const svBatch2 = { issuePass: 'Utfärda ett incheckningspass', issuePassBtn: 'Utfärda pass', issuePassHint: 'Ett signerat pass för en specifik deltagare — de visar det i dörren.', - notOrganiser: 'Bara arrangören kan utfärda pass', + notOrganiser: 'Endast arrangören kan utfärda pass', passIssued: 'Pass utfärdat', issueFailed: 'Kunde inte utfärda passet', issuedPasses: 'Utfärdade incheckningspass', @@ -1227,19 +1227,19 @@ const svBatch2 = { editSkaterProfile: 'lägg till dina stilar & nivå', noPhoto: 'Inget profilfoto än —', addPhoto: 'lägg till ett i din profil', - finishTitle: 'Gör klart ditt kort', + finishTitle: 'Slutför ditt kort', finishDesc: 'Ett foto och en Skater-profil får det att se äkta ut.', checkPhoto: 'Profilfoto', checkName: 'Visningsnamn', checkProfile: 'Stilar & nivå', checkCrew: 'Gå med i en crew', - moreTypes: 'Fler korttyper låses upp när du mappar spots du äger, går med i crews eller RSVP:ar till evenemang.', + moreTypes: 'Fler korttyper låses upp när du kartlägger spots du äger, går med i crews eller RSVP:ar till evenemang.', accent: 'Accentfärg', accentHint: 'Åsidosätter temats accent', accentClear: 'Använd temafärg', - logo: 'Egen logotyp / vapen', + logo: 'Anpassad logotyp / vapen', logoAdd: 'Ladda upp', - logoChange: 'Byt', + logoChange: 'Ändra', logoClear: 'Ta bort', }, back: { @@ -1252,15 +1252,15 @@ const svBatch2 = { verify: { checking: 'Kontrollerar kortet…', notFound: 'Kortet hittades inte', - notFoundDesc: 'Inget matchande evenemang hittades på relayerna. Det kan ha tagits bort, eller så är länken fel.', + notFoundDesc: 'Inget matchande evenemang hittades på Relayerna. Det kan ha raderats, eller så är länken fel.', invalid: 'Signaturen ogiltig', - invalidDesc: 'Detta evenemang finns men signaturen verifieras inte. Lita inte på det.', + invalidDesc: 'Detta evenemang finns men dess signatur verifieras inte. Lita inte på det.', authentic: 'Äkta', authenticDesc: 'Utfärdarens signatur är giltig.', kind: 'Typ', - kindPark: 'Park Access-kort', - kindRider: 'Rider-kort', - kindCrew: 'Crew-kort', + kindPark: 'Park Access Card', + kindRider: 'Rider Card', + kindCrew: 'Crew Card', kindEvent: 'Evenemangspass', organiser: 'Arrangör', expired: 'Utgånget', @@ -1270,20 +1270,20 @@ const svBatch2 = { rsvp: 'RSVP', rsvpGoing: 'Kommer', rsvpInterested: 'Intresserad', - rsvpNone: 'Ingen RSVP hittades', - revoked: 'Passet återkallat', + rsvpNone: 'Ingen RSVP hittad', + revoked: 'Pass återkallat', revokedDesc: 'Utfärdaren avbröt detta pass — acceptera det inte.', issuedBy: 'Utfärdat av', accessLevel: 'Åtkomstnivå', validThru: 'Giltigt till', selfIssued: 'Status', selfIssuedDesc: 'Självutfärdat identitetskort', - venue: 'Plats', - venueVerified: 'Verifierad — denna plats ägarnyckel matchar utfärdaren.', - venueMismatch: 'Detta pass anger en plats som inte ägs av utfärdarens nyckel.', - venueNone: 'Inte bunden till en plats.', + venue: 'Venue', + venueVerified: 'Verifierad — denna venys ägarnyckel matchar utfärdaren.', + venueMismatch: 'Detta pass namnger en venue som inte ägs av utfärdarens nyckel.', + venueNone: 'Inte bunden till en venue.', viewCard: 'Visa kortet', - disclaimer: 'En giltig signatur bevisar vem som signerade detta kort — det är inte bevis på skicklighet eller på åtkomsträttigheter utöver vad platsen utfärdat.', + disclaimer: 'En giltig signatur bevisar vem som signerade detta kort — det är inte bevis på skicklighet eller på åtkomsträttigheter utöver vad venyn utfärdat.', details: 'Detaljer', invalidLink: 'Ogiltig länk', invalidLinkDesc: 'Det där ser inte ut som en giltig kortlänk.', @@ -1294,7 +1294,7 @@ const svBatch2 = { editYourCard: 'Redigera ditt kort', backToEditor: 'Tillbaka till redigeraren', backHome: 'Tillbaka hem', - notCustomised: 'Den här skataren har inte anpassat sitt kort än — det här är standardutseendet.', + notCustomised: 'Den här skejtaren har inte anpassat sitt kort än — detta är standardutseendet.', verifyNote: 'Skanna QR-koden på kortet för att verifiera det.', }, }, @@ -1305,9 +1305,9 @@ const svBatch2 = { search: 'Sök', description: 'Ruttalternativ och vägbeskrivning i appen.', routeMapAria: 'Ruttkarta', - findingLocation: 'Hittar din plats…', + findingLocation: 'Hittar din position…', plottingRoute: 'Ritar din rutt…', - refiningLocation: 'Finjusterar plats…', + refiningLocation: 'Finjusterar position…', offlineSavedRoute: 'Offline · sparad rutt {{age}}', tapMapStart: 'Tryck på kartan för att ange startpunkt', fitRouteAria: 'Anpassa hela rutten på kartan', @@ -1326,29 +1326,29 @@ const svBatch2 = { transit: 'Kollektivt', }, from: 'Från', - myLocation: 'Min plats', + myLocation: 'Min position', tapTheMap: 'Tryck på kartan…', - chooseOnMap: 'Välj på karta', + chooseOnMap: 'Välj på kartan', direct: 'direkt', transferOne: '1 byte', transfers: '{{count}} byten', options: '{{count}} alternativ', ride: 'åk', - arrive: 'framme', - speedAvg: '{{speed}} km/h snitt', + arrive: 'ankom', + speedAvg: '{{speed}} km/h i snitt', stepsCount: '{{count}} steg', onABoard: 'på en bräda', usesDrivingRoads: 'använder bilvägar', drivingEstimate: 'biluppskattning', updating: 'uppdaterar…', pickMode: 'Välj ett färdmedel för att se din rutt.', - waitingLocation: 'Väntar på din plats…', + waitingLocation: 'Väntar på din position…', routeSteps: 'Ruttsteg', walkingRoute: 'gångrutt — snabbare på en bräda', - planningView: 'Planeringsvy — tryck Start för att följa med live-svängar, röst och ankomst.', + planningView: 'Planeringsvy — tryck på Start för att följa med live-svängar, röst och ankomst.', leaveNow: 'Åk nu', departAt: 'Avgå kl.', - arriveBy: 'Ankom före', + arriveBy: 'Ankom senast', departureTime: 'Avgångstid', arrivalTime: 'Ankomsttid', only: 'Endast', @@ -1357,7 +1357,7 @@ const svBatch2 = { group: { bus: 'Buss', tram: 'Spårvagn', - metro: 'Metro', + metro: 'Tunnelbana', train: 'Tåg', ferry: 'Färja', }, @@ -1370,26 +1370,26 @@ const svBatch2 = { stopOne: '1 hållplats', stopsCount: '{{count}} hållplatser', tickets: 'biljetter ↗', - done: 'Klar', - stop: 'Stoppa', + done: 'Klart', + stop: 'Stopp', start: 'Start', - arrived: 'Du är framme. 🛹', + arrived: 'Du har anlänt. 🛹', voiceOnNote: 'Skärmen hålls på · röst på — svängar och ankomst läses upp.', voiceOffNote: 'Skärmen hålls på · röst av.', followNote: 'Svängar, röst och ankomst medan du rullar. Håller skärmen på.', voiceOffAria: 'Stäng av röstvägledning', voiceOnAria: 'Sätt på röstvägledning', voiceStart: 'Startar navigering', - voiceArrived: 'Du är framme', + voiceArrived: 'Du har anlänt', voiceIn: 'Om {{metres}} meter, {{instruction}}', voiceContinue: 'fortsätt', voiceContinueCaps: 'Fortsätt', errPermissionDenied: 'Platsbehörighet nekad.', - errWaitingGps: 'Väntar på GPS-position…', + errWaitingGps: 'Väntar på en GPS-fix…', errPermissionDeniedLong: 'Platsbehörighet nekad. Aktivera plats för att rutta från där du är.', - errNoLocation: 'Kunde inte hämta din plats. Försök igen.', - errNoLocationShort: 'Kunde inte hämta din plats.', - errTransitNoRouteFiltered: 'Ingen rutt för den tiden eller det färdmedlet — prova en annan tid, eller inkludera fler färdmedel.', + errNoLocation: 'Kunde inte hämta din position. Försök igen.', + errNoLocationShort: 'Kunde inte hämta din position.', + errTransitNoRouteFiltered: 'Ingen rutt för den tiden eller färdmedlet — prova en annan tid, eller inkludera fler färdmedel.', errTransitNoRoute: 'Ingen kollektivtrafikrutt hittades här — området kanske inte publicerar öppna tidtabeller.', errTransitUnreachable: 'Kunde inte nå kollektivtrafiktjänsten. Kontrollera anslutningen och försök igen.', errRoutingBusy: 'Ruttjänsten är upptagen just nu — försök igen om en stund.', @@ -1398,56 +1398,56 @@ const svBatch2 = { departures: 'Avgångar', upcomingFrom: 'Kommande avgångar från {{stop}}', loadingDepartures: 'Laddar avgångar…', - noDepartures: 'Inga kommande avgångar hittades vid denna hållplats.', + noDepartures: 'Inga kommande avgångar hittades vid den här hållplatsen.', live: 'live', cancelled: 'inställd', refresh: 'Uppdatera', tripLoginTitle: 'Logga in för att spara', - tripLoginDesc: 'Logga in för att spara denna resa som en samling.', + tripLoginDesc: 'Logga in för att behålla den här resan som en samling.', tripCollectionTitle: '{{destination}} skate-resa 🛹', tripCollectionDesc: 'Resplan av The Sasquatch — {{count}} dagar i {{destination}}.', tripCollectionDescOne: 'Resplan av The Sasquatch — {{count}} dag i {{destination}}.', - tripSavedTitle: 'Sparat i samlingar 🦧', + tripSavedTitle: 'Sparad i samlingar 🦧', tripSavedDesc: 'Din {{destination}}-resa är bokmärkt.', tripSaveFailed: 'Kunde inte spara', tripSaveFailedDesc: 'Försök igen om en sekund.', daysInDestinationOne: '{{count}} dag i {{destination}}', daysInDestination: '{{count}} dagar i {{destination}}', - wetForecast: 'Blöt prognos — hör med en lokal crew om övertäckta/inomhusalternativ.', + wetForecast: 'Blöt prognos — hör med en lokal crew om täckta/inomhusalternativ.', dayLabel: 'Dag {{n}}', freeSkate: 'Fri åkning — utforska & filma. 🎥', tapToBook: 'tryck för att boka / zappa ⚡', localCrews: 'Lokala crews', saving: 'Sparar…', - savedToCollections: 'Sparat i samlingar', + savedToCollections: 'Sparad i samlingar', saveSpotOne: 'Spara {{count}} spot i en samling', saveSpots: 'Spara {{count}} spots i en samling', flights: 'Flyg', - stays: 'Boende', + stays: 'Boenden', gettingAround: 'Ta sig runt', - noMiddleman: 'Jag planerar skatandet — flyg & boende öppnas på de riktiga sidorna (ingen KYC, ingen mellanhand).', + noMiddleman: 'Jag planerar skejtandet — flyg & boenden öppnas på de riktiga sajterna (ingen KYC, ingen mellanhand).', ageJustNow: 'nyss', ageMinAgo: '{{count}} min sedan', ageHourAgo: '{{count}} tim sedan', ageDayAgo: '{{count}} d sedan', skateRightHere: 'precis här', - skateMin: '~{{count}} min rull', - skateHours: '~{{hours}} tim rull', + skateMin: '~{{count}} min cruise', + skateHours: '~{{hours}} tim cruise', maneuver: { - headOut: 'Ge dig av', - arrive: 'Anländ till spoten', + headOut: 'Ge dig iväg', + arrive: 'Ankom till spotten', continueStraight: 'Fortsätt', - bearLeft: 'Håll vänster', - bearRight: 'Håll höger', + bearLeft: 'Sväng lätt vänster', + bearRight: 'Sväng lätt höger', turnLeft: 'Sväng vänster', turnRight: 'Sväng höger', - sharpLeft: 'Skarpt vänster', - sharpRight: 'Skarpt höger', + sharpLeft: 'Skarp vänster', + sharpRight: 'Skarp höger', turn: 'Sväng', keepLeft: 'Håll vänster', keepRight: 'Håll höger', - takeFork: 'Ta klyftan', - merge: 'Församman', + takeFork: 'Ta delningen', + merge: 'Foga in', roundabout: 'Ta rondellen', takeRamp: 'Ta rampen', takeExit: 'Ta avfarten', @@ -1458,11 +1458,11 @@ const svBatch2 = { live: 'live', offline: 'offline', genericTitle: 'SkateSpots-assistenten 🦧', - genericGreeting: 'Tjena! Jag är The Sasquatch. Fråga mig vad som helst om spots, evenemang, coacher, utrustning eller hur appen fungerar. Jag har livedata från SkateSpots-relayen!', - q1: 'Planera 3 dagar i Lissabon åt mig', + genericGreeting: 'Tjena! Jag är The Sasquatch. Fråga mig vad som helst om spots, evenemang, coacher, utrustning eller hur appen fungerar. Jag har livedata från SkateSpots-Relayen!', + q1: 'Planera 3 dagar i Lissabon', q2: 'Hitta spots nära mig', q3: 'Några kommande evenemang?', - q4: 'Vad är crews?', + q4: 'Vad är Crews?', q5: 'Hur fungerar zaps?', q6: 'Vad är Nostr?', q7: 'Vad är Min Stash?', @@ -1483,7 +1483,7 @@ const svBatch2 = { minimize: 'Minimera', closePanelAria: 'Stäng panelen', close: 'Stäng', - askLab: 'Fråga om Coaching & filmning', + askLab: 'Fråga om Coaching & Filming', askMap: 'Fråga om Spots, butiker & utrustning', askAnything: 'Fråga mig vad som helst 🛹', quickQuestions: 'Snabbfrågor:', @@ -1491,36 +1491,36 @@ const svBatch2 = { thinking: 'tänker...', inputPlaceholder: 'Fråga om spots, evenemang, coacher...', liveDataFrom: 'Livedata från', - nostrRelays: 'Nostr-relayer', + nostrRelays: 'Nostr-Relayar', clear: 'rensa', - gettingLocation: '📍 Hämtar din plats…', - findingClosest: '🔍 Hittar de närmaste spotarna…', + gettingLocation: '📍 Hämtar din position…', + findingClosest: '🔍 Hittar de närmaste spotsen…', checkingLive: '🔍 Kontrollerar livedata…', planningTrip: '🗺️ Planerar din {{destination}}-resa...', - searchingRelays: '🔍 Söker i relayerna efter {{tool}}...', - perk1: 'Personlig assistent — Sasquatch läser din egen Stash, dina crews, spots & listningar', - perk2: 'Åtgärdsutkast: lista utrustning, publicera en skate-status, planera en resa — du bekräftar innan något publiceras', - perk3: 'Svar använder din personliga kontext, inte bara offentlig data', + searchingRelays: '🔍 Söker igenom Relayerna efter {{tool}}...', + perk1: 'Personlig assistent — Sasquatch läser din egen Stash, Crews, spots & listningar', + perk2: 'Åtgärdsutkast: lista utrustning, lägg upp en skate-status, planera en resa — du bekräftar innan något publiceras', + perk3: 'Svar som använder din personliga kontext, inte bara offentlig data', perk4: '⚡ Stötta SkateSpots direkt & håll det gratis och reklamfritt', welcomeTitle: 'Tack för att du stöttar Sasquatch Pro! 🦧⚡', - welcomeDesc: 'Betalning skickad — ditt pass aktiveras när leverantören bekräftar det (oftast inom en minut). Tack för att du håller gatorna fria.', + welcomeDesc: 'Betalning skickad — ditt pass aktiveras när leverantören bekräftar den (vanligtvis inom en minut). Tack för att du håller gatorna fria.', invoiceCopied: 'Faktura kopierad', - dialogDesc: 'Ladda din AI-skateguide. 100 % finansierar en gratis gemenskapsapp utan reklam.', + dialogDesc: 'Ladda din AI-skateguide. 100 % finansierar en gratis community-app utan reklam.', proSupporter: 'Du är en Pro-supporter ⚡', extendPrompt: 'Vill du förlänga? Välj en nivå nedan för att lägga till mer tid.', scanToPayPre: 'Skanna för att betala', scanToPayAmount: '{{sats}} sats', - scanToPayPost: 'för {{label}} Pro', - invoiceQrAlt: 'Lightning-faktura QR', + scanToPayPost: 'för {{label}} av Pro', + invoiceQrAlt: 'QR-kod för Lightning-faktura', copyInvoice: 'Kopiera faktura', ivePaid: 'Jag har betalat', - ivePaidHint: 'Tryck på "Jag har betalat" efter att din plånbok bekräftat — detta registrerar ditt pass till din Nostr-identitet.', - freeStaysPre: 'Gratis Sasquatch förblir gratis — offentlig sökning efter spots/evenemang/coacher, reseplanering + hela trick-ordlistan. Pro lägger till ', - freeStaysEmphasis: 'det personliga + åtgärder', - freeStaysPost: '-lagret.', + ivePaidHint: 'Tryck på "Jag har betalat" efter att din plånbok bekräftar — detta registrerar ditt pass till din Nostr-identitet.', + freeStaysPre: 'Gratis Sasquatch förblir gratis — offentlig sökning efter spots/evenemang/coacher, resplanering + hela trick-ordlistan. Pro lägger till ', + freeStaysEmphasis: 'personliga + åtgärds', + freeStaysPost: ' lagret.', loginFirst: 'Logga in först för att uppgradera.', paysTo: 'Betalar till', - overLightning: 'över Lightning. Bundet till din npub.', + overLightning: 'över Lightning. Bunden till din npub.', popular: 'Populär', sats: 'sats', extend: 'Förläng', @@ -1535,11 +1535,11 @@ const svBatch2 = { aiTitle: 'Sasquatch AI', owner: 'Ägare', notConfigured: 'inte konfigurerad', - unavailable: 'otillgänglig', + unavailable: 'inte tillgänglig', satsValue: '{{balance}} sats', theNode: 'noden', - lowBalance: 'Nästan slut — fyll på hos {{provider}} annars faller AI tillbaka på den nyckelfria leverantören.', - aiDesc: 'AI med betalning per begäran, finansierad i sats via Routstr. Fylls på när det är lågt.', + lowBalance: 'Lågt saldo — fyll på hos {{provider}} annars faller AI tillbaka på den nyckelfria leverantören.', + aiDesc: 'Betala-per-förfrågan-AI, finansierad i sats via Routstr. Fylls på när saldot är lågt.', tier7d: '7 dagar', tier1m: '1 månad', tier3m: '3 månader', @@ -1547,22 +1547,22 @@ const svBatch2 = { badgeTry: 'Prova', badgeOff20: '20 % rabatt', badgeBest: 'Bäst värde · 40 % rabatt', - draftPostStatusTitle: 'Publicera en skate-status', + draftPostStatusTitle: 'Lägg upp en skate-status', draftAutoExpires: 'Upphör automatiskt om {{count}} min', - draftPostStatusCta: 'Publicera status', + draftPostStatusCta: 'Lägg upp status', draftCategory: 'Kategori: {{value}}', draftSize: 'Storlek: {{value}}', draftCondition: 'Skick: {{value}}', draftMaxPrice: 'Maxpris: {{price}} {{currency}}', draftPriceOpen: 'Pris: öppet', - draftLookingForTitle: 'Söker "{{title}}"', - draftWantedCta: 'Publicera annons', + draftLookingForTitle: 'Letar efter "{{title}}"', + draftWantedCta: 'Lägg upp köpesannons', draftPrice: 'Pris: {{price}} {{currency}}', - draftPriceOffer: 'Pris: lägg bud', + draftPriceOffer: 'Pris: kom med bud', draftListTitle: 'Lista "{{title}}" till salu', draftPublishCta: 'Publicera listning', - statusPosted: 'Status publicerad 🛹', - wantedPublished: 'Köpannons publicerad 🔎', + statusPosted: 'Status upplagd 🛹', + wantedPublished: 'Köpesannons publicerad 🔎', listingPublished: 'Listning publicerad 💸', mustBeLoggedIn: 'Du måste vara inloggad.', }, @@ -1570,45 +1570,45 @@ const svBatch2 = { faq: { hi: 'Hej! Jag är The Sasquatch 🦧 Din AI-skateguide. Fråga mig om spots, evenemang, coacher, utrustning — eller vad som helst om appen. Vad behöver du?', hello: 'Tjena! 🛹 Jag är The Sasquatch. Fråga mig om skate-spots, evenemang, coacher eller hur appen fungerar. Vad händer?', - hey: 'Tjena skatare! 🤙 Fråga mig om spots nära dig, kommande evenemang, coacher eller vad som helst om SkateSpots.', + hey: 'Hej skejtare! 🤙 Fråga mig om spots nära dig, kommande evenemang, coacher eller vad som helst om SkateSpots.', whoAreYou: 'Jag är The Sasquatch 🦧 — AI-guiden för SkateSpots. Jag kan hitta skate-spots världen över, slå upp evenemang, coacher, filmare och utrustningslistningar. Allt drivs av livedata från Nostr. Fråga på!', - whatCanYouDo: 'Jag kan hitta skate-spots efter stad eller land, slå upp kommande evenemang, hitta coacher och filmare i The Lab, söka i utrustningslistningar och svara på frågor om hur appen fungerar. Prova: "spots i Bangkok" eller "hitta en coach"! 🛹', - whatIsNostr: 'Nostr är ett enkelt, öppet protokoll för decentraliserade sociala nätverk. Tänk Twitter, men inget enskilt företag kontrollerar det — du använder kryptografiska nycklar istället för användarnamn, väljer vilka relayer som lagrar dina data (eller kör din egen), och ett konto fungerar i alla Nostr-appar! 🔑', - isThisPrivate: 'Här är den ärliga genomgången 🛡️\n\n• Din **GPS-plats stannar på din enhet** — "Nära mig" centrerar bara kartan. Den skickas aldrig till oss eller publiceras.\n• **Spots du lägger till är offentliga** (det är poängen med en delad karta) — så släpp ingen nål på din egen ytterdörr.\n• **DM och crew-chattar är end-to-end-krypterade** — bara medlemmar kan läsa dem.\n• Som vilken webbplats som helst kan servrar du ansluter till (kartrutor, relayer) se din **IP**. Vill du dölja det också? Använd en VPN eller Tor.\n\nFullständiga detaljer på [Integritetssidan](/privacy). 🛹', - privacy: 'Kortversion 🛡️: din GPS lämnar aldrig din enhet, spots du publicerar är offentliga till sin natur, och DM/crew-chattar är end-to-end-krypterade. Servrar kan fortfarande se din IP (normalt för alla webbplatser) — en VPN eller Tor döljer det om du vill. Full genomgång på [Integritetssidan](/privacy).', - amITracked: 'SkateSpots spårar dig inte — inga annonser, ingen analysprofilering, ingen dataförsäljning, och det finns ingen SkateSpots-server som samlar in din plats. Din GPS stannar på din enhet. Det enda servrar ser (kartrutor, relayer) är din **IP** — samma som vilken webbplats som helst. Använd en VPN eller Tor för att dölja det. Mer på [Integritetssidan](/privacy). 🛡️', - doYouTrack: 'Nej — ingen spårning, inga annonser, ingen datahunger. Din GPS stannar på din enhet och det finns ingen central server som loggar dig. Servrar du ansluter till kan se din IP (som vilken sida som helst); en VPN/Tor döljer det. Se [Integritetssidan](/privacy). 🛹', - vpn: 'Helt valfritt, men stabilt om du vill ha extra integritet 🛡️. En VPN döljer din **IP** (grov plats) för servrarna SkateSpots pratar med — kartrutor, relayer, osv. Välj en leverantör utan loggar som du litar på (t.ex. Mullvad); undvik skumma gratistjänster.\n\nObs: en VPN döljer **inte** spots du publicerar (de är offentliga), och slå inte på webbläsar-GPS om du försöker vara anonym. Fullständiga detaljer på [Integritetssidan](/privacy).', - tor: 'Tor Browser ger dig starkast IP-integritet — den routar dig genom flera relayer så servrar inte kan se din riktiga IP 🧅. Avvägning: den är långsammare, och kartor + vissa Nostr-relayer kan lagga eller blockera Tor-utgångar. Bra för den extra försiktige.\n\nKom ihåg: Tor döljer din IP, inte spots du publicerar, och aktivera inte webbläsar-GPS om anonymitet är målet. Mer på [Integritetssidan](/privacy).', - hideMyIp: 'Två gratisalternativ 🛡️: en **pålitlig VPN** (enkelt, snabbt — döljer din IP bakom deras servrar) eller **Tor Browser** (maximal integritet, långsammare). Båda hindrar servrarna SkateSpots ansluter till från att se din riktiga IP. Notera att de inte döljer spots du publicerar. Se [Integritetssidan](/privacy).', - isMyLocation: 'Din plats är säker 📍 — "Nära mig" läser din GPS bara på din enhet, för att centrera kartan och sortera närliggande spots. Den publiceras aldrig till Nostr, skickas aldrig till oss, delas aldrig. Bara spots du medvetet lägger till är offentliga. Detaljer på [Integritetssidan](/privacy).', - whatAreZaps: 'Zaps är omedelbara Bitcoin Lightning-dricks över Nostr! Klicka på ⚡ på valfritt innehåll, skicka sats direkt till skaparens plånbok. Som att trycka "gilla" men med riktiga pengar. Omedelbart, peer-to-peer, inga mellanhänder. ⚡', - howToLogin: 'Två sätt:\n1. **Webbläsartillägg** (dator): Installera Alby eller nos2x och klicka sedan på "Logga in"\n2. **Ny användare**: Klicka på "Registrera dig" för att generera nycklar. Ladda ner din nsec (hemlig nyckel) och SPARA DEN — det här är ditt konto för alltid!', + whatCanYouDo: 'Jag kan hitta skate-spots efter stad eller land, slå upp kommande evenemang, hitta coacher och filmare i The Lab, söka utrustningslistningar och svara på frågor om hur appen fungerar. Prova: \'spots i Bangkok\' eller \'hitta en coach\'! 🛹', + whatIsNostr: 'Nostr är ett enkelt, öppet protokoll för decentraliserade sociala nätverk. Tänk Twitter, men inget enskilt företag kontrollerar det — du använder kryptografiska nycklar istället för användarnamn, väljer vilka Relayar som lagrar dina data (eller kör din egen), och ett konto fungerar i alla Nostr-appar! 🔑', + isThisPrivate: 'Här är den ärliga genomgången 🛡️\n\n• Din **GPS-position stannar på din enhet** — \'Nära mig\' centrerar bara kartan. Den skickas aldrig till oss eller publiceras.\n• **Spots du lägger till är offentliga** (det är själva poängen med en delad karta) — så släpp inte en nål på din egen ytterdörr.\n• **DMs & crew-chattar är end-to-end-krypterade** — bara medlemmar kan läsa dem.\n• Som vilken webbplats som helst kan servrar du ansluter till (kartrutor, Relayar) se din **IP**. Vill du dölja det också? Använd en VPN eller Tor.\n\nFullständiga detaljer på [Integritetssidan](/privacy). 🛹', + privacy: 'Kort version 🛡️: din GPS lämnar aldrig din enhet, spots du publicerar är offentliga by design, och DMs/crew-chattar är end-to-end-krypterade. Servrar kan fortfarande se din IP (normalt för alla webbplatser) — en VPN eller Tor döljer det om du vill. Full genomgång på [Integritetssidan](/privacy).', + amITracked: 'SkateSpots spårar dig inte — inga annonser, ingen analysprofilering, ingen försäljning av data, och det finns ingen SkateSpots-server som samlar in din position. Din GPS stannar på din enhet. Det enda servrar ser (kartrutor, Relayar) är din **IP** — precis som vilken webbplats som helst. Använd en VPN eller Tor för att dölja det. Mer på [Integritetssidan](/privacy). 🛡️', + doYouTrack: 'Nej — ingen spårning, inga annonser, ingen datahunger. Din GPS stannar på din enhet och det finns ingen central server som loggar dig. Servrar du ansluter till kan se din IP (som alla sajter); en VPN/Tor döljer det. Se [Integritetssidan](/privacy). 🛹', + vpn: 'Helt valfritt, men stabilt om du vill ha extra integritet 🛡️. En VPN döljer din **IP** (grov position) från de servrar SkateSpots pratar med — kartrutor, Relayar, osv. Välj en leverantör utan loggar som du litar på (t.ex. Mullvad); undvik skumma gratistjänster.\n\nObservera: en VPN **döljer inte** de spots du publicerar (de är offentliga), och slå inte på webbläsar-GPS om du försöker vara anonym. Fullständiga detaljer på [Integritetssidan](/privacy).', + tor: 'Tor Browser ger dig starkast IP-integritet — den routar dig genom flera Relayar så att servrar inte kan se din riktiga IP 🧅. Avvägningen: det är långsammare, och kartor + vissa Nostr-Relayar kan lagga eller blockera Tor-utgångar. Utmärkt för den extra försiktige.\n\nKom ihåg: Tor döljer din IP, inte de spots du publicerar, och aktivera inte webbläsar-GPS om anonymitet är målet. Mer på [Integritetssidan](/privacy).', + hideMyIp: 'Två gratisalternativ 🛡️: en **pålitlig VPN** (enkelt, snabbt — döljer din IP bakom deras servrar) eller **Tor Browser** (maximal integritet, långsammare). Båda hindrar servrarna SkateSpots ansluter till från att se din riktiga IP. Observera att de inte döljer spots du publicerar. Se [Integritetssidan](/privacy).', + isMyLocation: 'Din position är säker 📍 — \'Nära mig\' läser din GPS endast på din enhet, för att centrera kartan och sortera närliggande spots. Den publiceras aldrig till Nostr, skickas aldrig till oss, delas aldrig. Endast spots du medvetet lägger till är offentliga. Detaljer på [Integritetssidan](/privacy).', + whatAreZaps: 'Zaps är omedelbara Bitcoin Lightning-dricks över Nostr! Klicka på ⚡ på vilket innehåll som helst och skicka sats direkt till skaparens plånbok. Som att trycka på \'gilla\' men med riktiga pengar. Omedelbart, peer-to-peer, inga mellanhänder. ⚡', + howToLogin: 'Två sätt:\n1. **Webbläsartillägg** (Desktop): Installera Alby eller nos2x och klicka på \'Logga in\'\n2. **Ny användare**: Klicka på \'Registrera dig\' för att generera nycklar. Ladda ner din nsec (hemlig nyckel) och SPARA DEN — detta är ditt konto för alltid!', whatIsCashu: 'Inbyggd Bitcoin-plånbok! Cashu ecash-tokens backade av Lightning — fungerar offline på skate-spots, integritetsfokuserat (mints kan inte spåra betalningar). Gå till Plånbok i Inställningar för att använda den. 🥜', - whatIsNwc: 'Nostr Wallet Connect — som USB-C för Lightning-plånböcker. Anslut Alby, Minibits, Zeus eller Coinos en gång och zappa med ett klick för alltid. Krypterat, du styr utgiftsgränserna. 🔌⚡', - isItFree: '100 % gratis. Inga annonser, inga prenumerationer, inget företagstrams. Byggt av skatare för skatare. Finansierat av gemenskapen via Angor — kolla Supporters-sidan. Du kan också tjäna Bitcoin genom gemenskaps-zaps för att bidra med kvalitetsspots. 🛹', + whatIsNwc: 'Nostr Wallet Connect — som USB-C för Lightning-plånböcker. Anslut Alby, Minibits, Zeus eller Coinos en gång och zappa med ett klick för alltid. Krypterat, du kontrollerar utgiftsgränserna. 🔌⚡', + isItFree: '100 % gratis. Inga annonser, inga prenumerationer, ingen företagsskit. Byggt av skejtare för skejtare. Finansierat av gemenskapen via Angor — kolla Supporters-sidan. Du kan också tjäna Bitcoin genom community-zaps för att bidra med kvalitetsspots. 🛹', whatCanIDo: 'Upptäck spots världen över på kartan, hyr proffs i The Lab (coacher, filmare, fotografer, redigerare, rampbyggare), rulla med en crew, gå med i evenemang, ta turer, köp/sälj utrustning, håll koll på din privata Stash, zappa skapare, kolla spot-väder och bygg den decentraliserade skate-gemenskapen!', - whatIsTheLab: 'The Lab är där du hyr proffs från skate-scenen: Coacher, filmare, fotografer, videoredigerare och ramp-/park-/DIY-byggare. Var och en kan vara en enskild person eller ett kollektiv (crew/studio) — medlemmar bekräftar med sina egna nycklar så det är äkta. Allt på Nostr, inga falska konton. 🎓', - whatIsACrew: 'Crews är din kartankrade skate-familj — vilka du skatar MED, inte vilka du hyr. Varje crew har hemmaplan på kartan (turkosa nålar), hemmaspots, medlemmar, vibbar och ett manifest. Medlemmar bekräftar från sin egen nyckel. Skapa en under Crews → "Skapa crew". 🤘', - whatAreCrews: 'Crews är din kartankrade skate-familj — vilka du skatar MED, inte vilka du hyr. Varje crew har hemmaplan på kartan (turkosa nålar), hemmaspots, medlemmar och ett manifest. Medlemmar bekräftar från sin egen nyckel. Gå till Crews-fliken för att starta eller gå med i en! 🤘', - howToStartACrew: 'Gå till Crews-fliken → "Skapa crew". Namnge den, släpp din hemmaplan på kartan, lägg till vibbar (eller din egen #hashtag), länka dina hemmaspots och lägg till medlemmar via npub. Varje medlem bekräftar från sin egen nyckel så listan är äkta. 🤘', - whatIsMyStash: 'Min Stash är ditt PRIVATA, krypterade utrustningsskåp (NIP-44-kryptering). Håll koll på dina decks, trucks, wheels, skor — med förvaringsplats, skick, sällsynthet och pris. Bara DU kan läsa det om du inte markerar objekt som offentliga. Perfekt för försäkring eller att planera ett byte. 🎒', - whatIsStash: 'Min Stash är ditt PRIVATA, krypterade utrustningslager. Logga allt du äger — skick, var det förvaras, värde — allt krypterat så bara du kan se det. Markera objekt som offentliga om du vill sälja eller visa upp dem. 🎒', - whatIsABuilder: 'Byggare är ramp-/park-/DIY-crews i The Lab som du kan hyra för att bygga transitions, bowls, rails eller en hel park. De listar vad de bygger, material, projektstorlek och kan vara licensierade/försäkrade. Ofta kollektiv — och de kan länka spots de byggt till kartan. 🏗️', - whatIsANutzap: 'Nutzaps (NIP-61) är ecash-dricks över Nostr — privata Cashu-tokens zappade direkt till någon. Du kan ställa in att TA EMOT nutzaps i Plånboken. (Att skicka fullständiga nutzaps rullas ut — använd Lightning-zaps tills vidare.) 🥜⚡', - whatIsClink: 'CLINK är en Nostr-native betalningskod (en "noffer"). Butiker, crews och Lab-proffs kan lägga till en så du kan betala dem utan att behöva en Lightning-adress — du ser en "Betala via CLINK"-knapp med en QR. Skanna den med en CLINK-plånbok som ShockWallet. 🔗⚡ [specifikationer](https://clinkme.dev/specs.html) [appar](https://clinkme.dev/apps.html)', - whatIsNoffer: 'En noffer är en CLINK-betalningskod — ett återanvändbart, Nostr-native sätt att få betalt utan en webbserver eller Lightning-adress. Lägg till din på din butiks-/crew-/Lab-profil och folk kan betala dig direkt. 🔗', - whatAreTours: 'Turer är guidade skate-resor — lokala sessioner, nationella roadtrips eller world destruction-turer. Hitta dem på kartan eller i Turer-sektionen, möt upp och skata ny terräng med locals. 🗺️🛹', - whatIsAShop: 'Skate-butiker är lokala butiker listade på kartan. Upptäck och stötta riktiga fysiska (eller online) skate-butiker i ditt område — vissa tar till och med emot Bitcoin. 🏪', - howToSellGear: 'Gå till Utrustningsbyte / Marketplace och skapa en listning (NIP-99). Lägg till foton, pris i sats, skick och fäst den vid en spot om du vill så den visas på kartan. Köpare zappar eller meddelar dig direkt. 🛹💸', - supporters: 'SkateSpots finansieras av gemenskapen via Angor (decentraliserad Bitcoin-crowdfunding) — inga annonser, inga investerare, ingen dataförsäljning. Kolla Supporters-sidan för att stötta projektet och hålla gatorna fria. ❤️⚡', - trustScore: 'Förtroendepoäng (0–100) drivs av Relatr. Analyserar ditt Nostr-nätverk: följare, aktivitet, engagemang, zaps. Högre = mer betrodd. Hjälper till att filtrera bort bottar och spam. Kolla vilken profil som helst för att se deras poäng. 🛡️', + whatIsTheLab: 'The Lab är där du hyr proffs från skate-scenen: Coacher, Filmare, Fotografer, Videoredigerare och ramp-/park-/DIY-byggare. Var och en kan vara en enskild person eller ett kollektiv (crew/studio) — medlemmar bekräftar med sina egna nycklar så det är äkta. Allt på Nostr, inga falska konton. 🎓', + whatIsACrew: 'Crews är din karta-förankrade skatefamilj — vilka du skejtar MED, inte vilka du hyr. Varje crew har hemterritorium på kartan (turkosa nålar), hemspots, medlemmar, vibbar och ett manifest. Medlemmar bekräftar från sin egen nyckel. Skapa en på Crews → \'Skapa crew\'. 🤘', + whatAreCrews: 'Crews är din karta-förankrade skatefamilj — vilka du skejtar MED, inte vilka du hyr. Varje crew har hemterritorium på kartan (turkosa nålar), hemspots, medlemmar och ett manifest. Medlemmar bekräftar från sin egen nyckel. Gå till fliken Crews för att starta eller gå med i en! 🤘', + howToStartACrew: 'Gå till fliken Crews → \'Skapa crew\'. Döp den, släpp ditt hemterritorium på kartan, lägg till vibbar (eller din egen anpassade #hashtagg), länka dina hemspots och lägg till medlemmar via npub. Varje medlem bekräftar från sin egen nyckel så listan är äkta. 🤘', + whatIsMyStash: 'Min Stash är ditt PRIVATA, krypterade utrustningsskåp (NIP-44-kryptering). Håll koll på dina Decks, Trucks, Wheels, skor — med förvaringsplats, skick, sällsynthet och pris. Endast DU kan läsa det om du inte markerar varor som offentliga. Perfekt för försäkring eller planering av byte. 🎒', + whatIsStash: 'Min Stash är ditt PRIVATA, krypterade utrustningslager. Logga allt du äger — skick, var det förvaras, värde — allt krypterat så att bara du kan se det. Markera varor som offentliga om du vill sälja eller visa upp dem. 🎒', + whatIsABuilder: 'Byggare är ramp-/park-/DIY-crews i The Lab som du kan hyra för att bygga transitions, Bowls, Rails eller en hel park. De listar vad de bygger, material, projektstorlek och kan vara licensierade/försäkrade. Ofta kollektiv — och de kan länka spotsen de byggt till kartan. 🏗️', + whatIsANutzap: 'Nutzaps (NIP-61) är ecash-dricks över Nostr — privata Cashu-tokens zappade direkt till någon. Du kan ställa in nutzap MOTTAGNING i Plånboken. (Att skicka fullständiga nutzaps rullas ut — använd Lightning-zaps så länge.) 🥜⚡', + whatIsClink: 'CLINK är en Nostr-native betalkod (en \'noffer\'). Butiker, crews och Lab-proffs kan lägga till en så att du kan betala dem utan att behöva en Lightning-adress — du ser en \'Betala via CLINK\'-knapp med en QR. Skanna den med en CLINK-plånbok som ShockWallet. 🔗⚡ [specs](https://clinkme.dev/specs.html) [appar](https://clinkme.dev/apps.html)', + whatIsNoffer: 'En noffer är en CLINK-betalkod — ett återanvändbart, Nostr-native sätt att ta emot betalt utan en webbserver eller Lightning-adress. Lägg till din på din butiks-/crew-/Lab-profil och folk kan betala dig direkt. 🔗', + whatAreTours: 'Turer är guidade skate-resor — lokala sessioner, nationella roadtrips eller world destruction-turer. Hitta dem på kartan eller i Turer-sektionen, möts upp och skejta ny terräng med lokala. 🗺️🛹', + whatIsAShop: 'Skate Shops är lokala butiker listade på kartan. Upptäck och stötta riktiga fysiska (eller online) skatebutiker i ditt område — vissa tar till och med emot Bitcoin. 🏪', + howToSellGear: 'Gå till Utrustningsbyte / Marketplace och skapa en listning (NIP-99). Lägg till foton, pris i sats, skick och fäst den eventuellt vid en spot så att den visas på kartan. Köpare zappar eller meddelar dig direkt. 🛹💸', + supporters: 'SkateSpots finansieras av gemenskapen via Angor (decentraliserad Bitcoin-crowdfunding) — inga annonser, inga investerare, ingen dataförsäljning. Kolla Supporters-sidan för att backa projektet och hålla gatorna fria. ❤️⚡', + trustScore: 'Förtroendepoäng (0-100) drivs av Relatr. Analyserar ditt Nostr-nätverk: följare, aktivitet, engagemang, zaps. Högre = mer betrodd. Hjälper till att filtrera bort bottar och spam. Kolla vilken profil som helst för att se deras poäng. 🛡️', whatRelay: 'SkateSpots använder: 🛹 goskatespots.nostr1.com (primär, vitlistad för kvalitet) + relay.ditto.pub (global) + purplepag.es (profilaggregator). Dina data replikeras över alla för redundans.', - tripPlanner: 'Säg en stad och jag bygger en dag-för-dag skate-resa 🗺️ — spots, evenemang, coacher och lokala crews, väderanpassat (regnig dag = crew-tips för övertäckta spots). Prova "planera 3 dagar i Lissabon". Jag kan spara allt i en samling och lämna över dig till flyg/boende på de riktiga sidorna (ingen KYC, ingen mellanhand). 🛹', - planATrip: 'Säg bara "planera 3 dagar i Barcelona" (eller valfri stad) så kartlägger jag spots, sessioner, coacher och lokala crews för varje dag. Spara det som en samling och ut och shredda. 🗺️🛹', - sasquatchPro: '**Sasquatch Pro** 🦧⚡ är ett Lightning-supporterpass som låser upp min personliga sida:\n\n• 🧠 **Personlig assistent** — jag läser din egen Stash, dina crews, spots & listningar\n• ✨ **Åtgärdsutkast** — lista utrustning, publicera din skate-status, planera resor (du bekräftar alltid innan något publiceras)\n• 💬 **Personlig kontext** — mina svar använder dina egna data, inte bara offentliga resultat\n• ⚡ **Stötta projektet** — du håller SkateSpots gratis och reklamfritt\n\nGratis Sasquatch förblir gratis: offentlig sökning efter spots/evenemang/coacher/crews, ordlistan & reseplanering fungerar utan Pro. Pro lägger bara till det *personliga*. Tryck på **⚡ Bli Pro** högst upp. Nivåer: 7 dagar ~2k sats, 1 månad ~5k, 3 månader ~12k, 1 år ~36k.', - proPerks: 'Pro-förmåner 🦧⚡: personlig assistent (läser din Stash/crews/spots/listningar), åtgärdsutkast (lista utrustning, publicera status, planera resor — du bekräftar) och svar som använder din egen personliga kontext. Plus att du direkt stöttar SkateSpots och håller det gratis + reklamfritt. Gratis förblir gratis — Pro lägger till det personliga lagret. Tryck på **⚡ Bli Pro** högst upp.', - proVersion: 'Pro-versionen av mig 🦧⚡ lägger till en **personlig assistent**: jag kan läsa din egen Stash, dina crews, spots & listningar, utkasta åtgärder åt dig (lista utrustning, publicera en status, planera en resa — du bekräftar alltid först) och använda din personliga kontext i mina svar. Det stöttar också projektet direkt. Gratis Sasquatch (sökning efter spots/evenemang/coacher/crews, ordlista, reseplanerare) förblir gratis. Tryck på **⚡ Bli Pro** högst upp.', + tripPlanner: 'Säg en stad och jag bygger en dag-för-dag skate-resa 🗺️ — spots, evenemang, coacher och lokala crews, väderanpassat (regnig dag = crew-tips för täckta spots). Prova \'planera 3 dagar i Lissabon\'. Jag kan spara allt i en samling och skicka dig vidare till flyg/boenden på de riktiga sajterna (ingen KYC, ingen mellanhand). 🛹', + planATrip: 'Säg bara \'planera 3 dagar i Barcelona\' (eller vilken stad som helst) och jag kartlägger spots, sessioner, coacher och lokala crews för varje dag. Spara det som en samling och ut och shredda. 🗺️🛹', + sasquatchPro: '**Sasquatch Pro** 🦧⚡ är ett Lightning-supporterpass som låser upp min personliga sida:\n\n• 🧠 **Personlig assistent** — jag läser din egen Stash, Crews, spots & listningar\n• ✨ **Åtgärdsutkast** — lista utrustning, lägg upp din skate-status, planera resor (du bekräftar alltid innan något publiceras)\n• 💬 **Personlig kontext** — mina svar använder dina egna data, inte bara offentliga resultat\n• ⚡ **Stötta projektet** — du håller SkateSpots gratis och reklamfritt\n\nGratis Sasquatch förblir gratis: offentlig sökning efter spots/evenemang/coacher/crews, ordlistan & resplaneringen fungerar utan Pro. Pro lägger bara till det *personliga*. Tryck på **⚡ Bli Pro** högst upp. Nivåer: 7 dagar ~2k sats, 1 månad ~5k, 3 månader ~12k, 1 år ~36k.', + proPerks: 'Pro-förmåner 🦧⚡: personlig assistent (läser din Stash/crews/spots/listningar), åtgärdsutkast (lista utrustning, lägg upp status, planera resor — du bekräftar) och svar som använder din egen personliga kontext. Dessutom stöttar du SkateSpots direkt och håller det gratis + reklamfritt. Gratis förblir gratis — Pro lägger till det personliga lagret. Tryck på **⚡ Bli Pro** högst upp.', + proVersion: 'Pro-versionen av mig 🦧⚡ lägger till en **personlig assistent**: jag kan läsa din egen Stash, Crews, spots & listningar, utforma åtgärder åt dig (lista utrustning, lägg upp en status, planera en resa — du bekräftar alltid först) och använda din personliga kontext i mina svar. Det stöttar också projektet direkt. Gratis Sasquatch (sökning efter spots/evenemang/coacher/crews, ordlista, reseplanerare) förblir gratis. Tryck på **⚡ Bli Pro** högst upp.', perks: 'Pro-förmåner 🦧⚡: personlig assistent (din Stash/crews/spots/listningar), åtgärdsutkast du bekräftar och svar som använder din egen kontext — plus att du håller appen gratis & reklamfri. Tryck på **⚡ Bli Pro** högst upp.', goPro: 'Tryck på **⚡ Bli Pro**-knappen högst upp för att öppna uppgraderingsarket. Pro låser upp min personliga assistent (Stash/crews/spots/listningar) och åtgärdsutkast, och stöttar projektet direkt. Betala med Lightning — 7 dagar ~2k sats upp till 1 år ~36k sats. Gratis funktioner förblir gratis. 🦧', proPricing: 'Pro-nivåer (betala med Lightning ⚡): **7 dagar** ~2 000 sats (~$1,20), **1 månad** ~5 000 sats (~$3), **3 månader** ~12 000 sats (~$7, 20 % rabatt), **1 år** ~36 000 sats (~$21, bäst värde). Tryck på **⚡ Bli Pro** högst upp.', @@ -1617,40 +1617,40 @@ const svBatch2 = { }, statsTitle: '📊 **SkateSpots i siffror**', weatherTemp: '• {{temp}}°C (känns som {{feels}}°C)', - weatherSkateability: '• Skatbarhet: **{{label}}** ({{score}}/100)', + weatherSkateability: '• Skejtbarhet: **{{label}}** ({{score}}/100)', weatherError: 'Kunde inte läsa vädret just nu. Försök igen om en sekund. 🌧️', labelSpots: 'spots', labelEvents: 'evenemang', labelLabPros: 'Lab-proffs', labelCrews: 'crews', - labelShops: 'skate-butiker', + labelShops: 'skatebutiker', labelTours: 'turer', labelGear: 'utrustningslistningar', unnamed: 'Namnlös', emptyWhere: ' i **{{place}}**', - emptyResult: 'Hittade inga {{label}}{{where}} just nu 🦧\n\nDet kan betyda att ingen är listad än — eller att relayerna svarade långsamt. Försök igen om en stund, dubbelkolla stavningen, eller [lägg till den första på kartan](https://skate-spots.org/map). 🛹', + emptyResult: 'Hittade inga {{label}}{{where}} just nu 🦧\n\nDet kan betyda att inga är listade än — eller att Relayerna var långsamma att svara. Försök igen om en stund, dubbelkolla stavningen, eller [lägg till den första på kartan](https://skate-spots.org/map). 🛹', foundTitle: '{{emoji}} Hittade **{{count}}** {{label}}:\n{{lines}}{{more}}', moreResults: '\n\n…och **{{count}}** till — [se alla på kartan](https://skate-spots.org/map) 🗺️', - locationDenied: 'Jag kan inte se din plats — inget lämnar någonsin din enhet; jag läser den lokalt bara när du frågar, och webbläsaren nekade precis. Tryck på 🎯 **Nära mig** på kartan, eller säg en stad: "spots i Bangkok". 🛹', - noNearbySpots: 'Inga mappade spots nära dig än 🦧 — [bli först med att lägga till en](https://skate-spots.org/create-spot). 🛹', + locationDenied: 'Jag kan inte se din position — inget lämnar någonsin din enhet; jag läser den bara lokalt när du frågar, och webbläsaren nekade precis. Tryck på 🎯 **Nära mig** på kartan, eller säg en stad: "spots i Bangkok". 🛹', + noNearbySpots: 'Inga kartlagda spots nära dig än 🦧 — [bli den första att lägga till en](https://skate-spots.org/create-spot). 🛹', closestTitle: 'Närmast dig just nu:', - closestFooter: '_Beräknat på din enhet — din plats lämnade den aldrig._', - proNudge: 'Det där är en **Sasquatch Pro**-grej 🦧⚡ — med Pro kan jag läsa din Stash, dina crews, spots och listningar, utkasta utrustningslistningar, köpannonser och skate-statusar och planera dina resor. Det är ett Lightning-supporterpass som håller SkateSpots gratis & reklamfritt. Tryck på **⚡ Bli Pro**-knappen högst upp för att låsa upp det. 🛹', - draftingProPerk: 'Att utkasta åtgärder (publicera en status, lista utrustning) är en **Sasquatch Pro**-förmån 🦧⚡ — tryck på **⚡ Bli Pro** högst upp för att låsa upp det.', + closestFooter: '_Beräknat på din enhet — din position lämnade den aldrig._', + proNudge: 'Det är en **Sasquatch Pro**-grej 🦧⚡ — med Pro kan jag läsa din Stash, Crews, spots och listningar, utforma utrustningslistningar, köpesannonser och skate-statusar, och planera dina resor. Det är ett Lightning-supporterpass som håller SkateSpots gratis & reklamfritt. Tryck på **⚡ Bli Pro**-knappen högst upp för att låsa upp det. 🛹', + draftingProPerk: 'Att utforma åtgärder (lägga upp en status, lista utrustning) är en **Sasquatch Pro**-förmån 🦧⚡ — tryck på **⚡ Bli Pro** högst upp för att låsa upp det.', draftIntro: 'Här är ett utkast — granska det och tryck för att publicera. Inget går live förrän du bekräftar. 🛹', - draftFailed: 'Jag kunde inte riktigt bygga det utkastet — försök berätta detaljerna igen (t.ex. "lista mina Spitfire Wheels för 8000 sats").', - tripAskCity: 'Vart? Säg en stad (t.ex. "planera 3 dagar i Lissabon") så bygger jag en resa. 🗺️', - tripEmptyMap: 'Inget på kartan för **{{destination}}** än 🦧 — bli först med att lägga till spots på [skate-spots.org](https://skate-spots.org). När locals lägger till spots, crews & evenemang bygger jag en full resa åt dig.', - tripLocked: 'Låste en **{{destination}}**-mission åt dig 🛹 — spots, sessioner och locals nedan. Justera eller spara den.', + draftFailed: 'Jag kunde inte riktigt bygga det där utkastet — prova att berätta detaljerna igen (t.ex. "lista mina Spitfire Wheels för 8000 sats").', + tripAskCity: 'Vart? Säg en stad (t.ex. "planera 3 dagar i Lissabon") och jag bygger en resa. 🗺️', + tripEmptyMap: 'Inget på kartan för **{{destination}}** än 🦧 — bli den första att lägga till spots på [skate-spots.org](https://skate-spots.org). När lokala lägger till spots, crews & evenemang bygger jag en komplett resa åt dig.', + tripLocked: 'Låste in ett **{{destination}}**-uppdrag åt dig 🛹 — spots, sessioner och lokala nedan. Justera det eller spara det.', tripFailed: 'Kunde inte nå livedata för att planera det just nu. Försök igen om en stund! 🛹', - tripEmptyMapLocal: 'Inget på kartan för **{{destination}}** än 🦧 — bli först på [skate-spots.org](https://skate-spots.org).', - tripMissionLocal: 'Här är en **{{destination}}**-mission 🛹 — spots, sessioner & locals nedan.', - relayFailed: 'Relayerna svarade inte i tid just nu 🛰️ — det är oftast en långsam anslutning, inte en saknad spot. Prova igen om en stund. 🛹', + tripEmptyMapLocal: 'Inget på kartan för **{{destination}}** än 🦧 — bli den första på [skate-spots.org](https://skate-spots.org).', + tripMissionLocal: 'Här är ett **{{destination}}**-uppdrag 🛹 — spots, sessioner & lokala nedan.', + relayFailed: 'Relayerna svarade inte i tid just nu 🛰️ — det är oftast en långsam anslutning, inte en saknad spot. Ge det ett nytt försök om en stund. 🛹', couldNotProcess: 'Hmm, kunde inte bearbeta det. Prova att formulera om!', - freeTierFallback: 'Den där kräver AI-resonemang — en **Sasquatch Pro**-funktion ⚡🦧\n\nJag kan fortfarande hitta **spots, evenemang, coacher, crews, butiker, turer och utrustning** direkt från relayerna — fråga mig t.ex. "spots i Barcelona" — och [ordlistan](/glossary) täcker 150+ tricks & termer. Tryck på **⚡ Bli Pro** högst upp för att låsa upp AI-svar.', - aiDownFallback: 'Min AI-hjärna tar lite luft just nu 🦧 — men jag har dig fortfarande:\n\n• 🗺️ [Karta](/) — spots, butiker, evenemang nära dig\n• 🧪 [The Lab](/lab) — coacher, filmare, redigerare\n• 📖 [Ordlista](/glossary) — 150+ tricks & termer\n• 👥 [Crews](/crews) — hitta ditt folk\n\nEller säg bara en **stad** ("spots i Barcelona") eller en **trick** ("vad är en nollie") så svarar jag direkt. 🛹', + freeTierFallback: 'Den där kräver AI-resonemang — en **Sasquatch Pro**-funktion ⚡🦧\n\nJag kan fortfarande hitta **spots, evenemang, coacher, crews, butiker, turer och utrustning** direkt från Relayerna — fråga mig t.ex. "spots i Barcelona" — och [Ordlistan](/glossary) täcker 150+ tricks & termer. Tryck på **⚡ Bli Pro** högst upp för att låsa upp AI-svar.', + aiDownFallback: 'Min AI-hjärna tar lite luft just nu 🦧 — men jag har dig fortfarande:\n\n• 🗺️ [Karta](/) — spots, butiker, evenemang nära dig\n• 🧪 [The Lab](/lab) — coacher, filmare, redigerare\n• 📖 [Ordlista](/glossary) — 150+ tricks & termer\n• 👥 [Crews](/crews) — hitta ditt folk\n\nEller berätta bara en **stad** ("spots i Barcelona") eller ett **trick** ("vad är en nollie") och jag svarar direkt. 🛹', wentWrong: 'Något gick snett på min sida. Försök igen om en sekund! 🦧', - publishError: 'Kunde inte publicera det: {{error}}. Försök igen om en stund.', + publishError: 'Kunde inte publicera det: {{error}}. Försök igen om en sekund.', unknownError: 'okänt fel', }, };