diff --git a/AGENTS.md b/AGENTS.md index ca1a2b5..7e96e1f 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -2697,6 +2697,24 @@ similar are internal endpoints/hook names, not credits — leave them.) stays English (spot, park, bowl, DIY, vert, crew, line, Stash, The Lab, Nostr, Lightning, Zap, Relay, sats) because Thai skaters use the English terms. +### Catalan, Basque, Galician — 23 locales, all 100% (2026-10-26) +- Added **ca (Català), eu (Euskara), gl (Galego)** → **23 locales**. +- Registered in `Language` + `LANGUAGE_LOADERS`, `detectLanguage` (ca/eu/gl + checked before `es`), the `LanguageToggle` list, and `dateFnsI18n` + (date-fns `ca`/`eu`/`gl`, codes `ca-ES`/`eu-ES`/`gl-ES`). +- `LanguageToggle` uses **text badges `CA` / `EU` / `GL`**: there are no Unicode + region flags for these languages, and a country flag would be wrong. The + `CreateTourPage` language list already had ca/eu/gl for tour tags. +- Full dictionaries in `src/i18n/{ca,eu,gl}/` — 7 namespace batches each + (8,703 keys), composed in `index.ts`; placeholders verified, only 2–4% + identical strings (brand/protocol names). `check-i18n.mjs` includes them in + `extraLocales` and reports 100%. +- Latin script, so **no new font**; each locale lazy-loads like the rest. +- Translation sources were split by namespace into + `/tmp/opencode/i18n-src/batch1..7.json` (regenerate from `en.ts` if + re-translating). When adding new UI strings, add them to `en`/`es` **and all + 23 locales** (batch file or `drift.ts`). + ### i18n drift closed — all 20 locales 100% (2026-10-13) - Every non-en/es locale had fallen to **97%** (245 keys each — `trustUi`, `labOptions`, `cordnUi`, `socialUi`, `walletUi`, `marketTerms`, …). Backfilled diff --git a/scripts/check-i18n.mjs b/scripts/check-i18n.mjs index b4b1d22..f7375a2 100644 --- a/scripts/check-i18n.mjs +++ b/scripts/check-i18n.mjs @@ -130,7 +130,7 @@ async function main() { const jaCoverage = en.size ? Math.round(((en.size - missingJa) / en.size) * 100) : 100; // 5. Additional partial locales (same rules as th/ja). - const extraLocales = ['pt', 'fr', 'de', 'it', 'nl', 'pl', 'ru', 'ko', 'zh-CN', 'zh-TW', 'uk', 'tr', 'vi', 'id', 'sv', 'cs', 'ro', 'el']; + const extraLocales = ['pt', 'fr', 'de', 'it', 'nl', 'pl', 'ru', 'ko', 'zh-CN', 'zh-TW', 'uk', 'tr', 'vi', 'id', 'sv', 'cs', 'ro', 'el', 'ca', 'eu', 'gl']; const extraStats = []; for (const lang of extraLocales) { const dict = flatten(await loadTranslations(join(SRC, `i18n/${lang}/index.ts`))); diff --git a/src/components/LanguageToggle.tsx b/src/components/LanguageToggle.tsx index 7ca9f31..1e023a3 100644 --- a/src/components/LanguageToggle.tsx +++ b/src/components/LanguageToggle.tsx @@ -20,6 +20,9 @@ interface LanguageOption { const languages: LanguageOption[] = [ { code: 'en', name: 'English', nativeName: 'English', flag: '🇬🇧' }, { code: 'es', name: 'Spanish', nativeName: 'Español', flag: '🇪🇸' }, + { code: 'ca', name: 'Catalan', nativeName: 'Català', flag: 'CA' }, + { code: 'eu', name: 'Basque', nativeName: 'Euskara', flag: 'EU' }, + { code: 'gl', name: 'Galician', nativeName: 'Galego', flag: 'GL' }, { code: 'pt', name: 'Portuguese', nativeName: 'Português', flag: '🇧🇷' }, { code: 'fr', name: 'French', nativeName: 'Français', flag: '🇫🇷' }, { code: 'de', name: 'German', nativeName: 'Deutsch', flag: '🇩🇪' }, diff --git a/src/contexts/LanguageContext.tsx b/src/contexts/LanguageContext.tsx index ac9beb3..1557f9a 100644 --- a/src/contexts/LanguageContext.tsx +++ b/src/contexts/LanguageContext.tsx @@ -47,6 +47,9 @@ function detectLanguage(): Language { if (tags.some((t) => t.startsWith('cs'))) return 'cs'; if (tags.some((t) => t.startsWith('ro'))) return 'ro'; if (tags.some((t) => t.startsWith('el'))) return 'el'; + if (tags.some((t) => t.startsWith('ca'))) return 'ca'; + if (tags.some((t) => t.startsWith('eu'))) return 'eu'; + if (tags.some((t) => t.startsWith('gl'))) return 'gl'; if (tags.some((t) => t.startsWith('es'))) return 'es'; return 'en'; } diff --git a/src/contexts/language.ts b/src/contexts/language.ts index 3e55aad..d674081 100644 --- a/src/contexts/language.ts +++ b/src/contexts/language.ts @@ -7,7 +7,7 @@ import en from '@/i18n/en'; * `react-refresh/only-export-components` rule. */ -export type Language = 'en' | 'es' | 'th' | 'ja' | 'pt' | 'fr' | 'de' | 'it' | 'nl' | 'pl' | 'ru' | 'ko' | 'ko-KP' | 'zh-CN' | 'zh-TW' | 'uk' | 'tr' | 'vi' | 'id' | 'sv' | 'cs' | 'ro' | 'el'; +export type Language = 'en' | 'es' | 'ca' | 'eu' | 'gl' | 'th' | 'ja' | 'pt' | 'fr' | 'de' | 'it' | 'nl' | 'pl' | 'ru' | 'ko' | 'ko-KP' | 'zh-CN' | 'zh-TW' | 'uk' | 'tr' | 'vi' | 'id' | 'sv' | 'cs' | 'ro' | 'el'; type TranslationKey = string; type TranslationValue = string | { [key: string]: TranslationValue }; @@ -39,6 +39,9 @@ export const englishTranslations = en; export const LANGUAGE_LOADERS: Record Promise> = { en: async () => en, es: () => import('@/i18n/es').then((m) => m.default), + ca: () => import('@/i18n/ca').then((m) => m.default), + eu: () => import('@/i18n/eu').then((m) => m.default), + gl: () => import('@/i18n/gl').then((m) => m.default), th: () => import('@/i18n/th').then((m) => m.default), ja: () => import('@/i18n/ja').then((m) => m.default), pt: () => import('@/i18n/pt').then((m) => m.default), diff --git a/src/i18n/ca/batch1.ts b/src/i18n/ca/batch1.ts new file mode 100644 index 0000000..2d695e2 --- /dev/null +++ b/src/i18n/ca/batch1.ts @@ -0,0 +1,1268 @@ +const batch1 = { + "common": { + "loading": "S'està carregant...", + "error": "Error", + "save": "Desa", + "cancel": "Cancel·la", + "delete": "Elimina", + "edit": "Edita", + "add": "Afegeix", + "remove": "Treu", + "create": "Crea", + "submit": "Envia", + "close": "Tanca", + "back": "Enrere", + "next": "Següent", + "done": "Fet", + "search": "Cerca", + "filter": "Filtra", + "sort": "Ordena", + "share": "Comparteix", + "more": "Més", + "copy": "Copia", + "copied": "Copiat!", + "viewAll": "Veure-ho tot", + "seeMore": "Veure'n més", + "showMore": "Mostra'n més", + "showLess": "Mostra'n menys", + "noResults": "No s'ha trobat cap resultat", + "tryAgain": "Torna-ho a provar", + "learnMore": "Més informació", + "getStarted": "Comença", + "yes": "Sí", + "no": "No", + "or": "o", + "and": "i", + "free": "Gratuït", + "new": "Nou", + "popular": "Popular", + "featured": "Destacat", + "verified": "Verificat", + "sats": "sats", + "clear": "Neteja", + "clearFilters": "Neteja els filtres", + "clearAll": "Neteja-ho tot", + "hide": "Amaga", + "undo": "Desfés" + }, + "nav": { + "searchLanguages": "Cerca idiomes...", + "noLanguages": "No s'ha trobat cap idioma", + "home": "Inici", + "map": "Spots", + "lab": "The Lab", + "events": "Esdeveniments", + "crews": "Colles", + "wallet": "Cartera", + "settings": "Configuració", + "more": "Més", + "rewards": "Recompenses", + "stats": "Estadístiques de la comunitat", + "about": "Quant a", + "food": "Menjar", + "marketplace": "Mercat", + "mints": "Mints", + "appShop": "Botiga d'apps", + "diy": "DIY", + "trades": "Mercat", + "stash": "Stash", + "collections": "Col·leccions", + "contacts": "Contactes", + "messages": "Missatges", + "skaters": "Skaters", + "glossary": "Glossari", + "riderCard": "Targeta de rider", + "supporters": "Suportadors ⚡", + "newsletter": "Butlletí", + "viewProfile": "Veure el perfil", + "leaderboards": "Classificacions" + }, + "chromeUi": { + "skipToContent": "Ves al contingut", + "menu": "Menú", + "inBadge": "Dins", + "loggedIn": "Sessió iniciada", + "profile": "Perfil", + "logIn": "Inicia sessió", + "logOut": "Tanca la sessió", + "notLoggedIn": "Sessió no iniciada", + "loggedOutPrompt": "Inicia sessió per afegir spots, enviar zaps als skaters i desar els teus preferits", + "accounts": "Comptes", + "addAnotherAccount": "Afegeix un altre compte", + "setStatus": "Defineix l'estat", + "setYourStatus": "Defineix el teu estat", + "status": "Estat", + "addSpot": "Afegeix un spot", + "myData": "Les meves dades", + "myStash": "El meu Stash", + "myCollections": "Les meves col·leccions", + "viewMyProfile": "Veure el meu perfil", + "customizeNavBar": "Personalitza la barra de navegació", + "ecash": "Ecash", + "madeWith": "Fet amb", + "forSkateCommunity": "per a la comunitat del skate", + "beta": "Beta", + "license": "Llicència", + "privacy": "Privacitat", + "collaborators": "Col·laboradors i amics", + "notSponsoredBy": "No patrocinat per", + "errorTitle": "No s'ha pogut carregar", + "errorDescription": "La sol·licitud de xarxa ha fallat. Comprova la connexió i torna-ho a provar.", + "tryAgain": "Torna-ho a provar", + "weatherOn": "Temps activat", + "weatherOff": "Temps desactivat", + "trustFilter": "Filtre de confiança", + "filterByTrustLevel": "Filtra per nivell de confiança", + "trust": { + "all": "Tots els usuaris", + "allDesc": "Mostra contingut de tothom", + "verified": "Verificat", + "verifiedDesc": "El segueixes o està verificat (confiança ≥90)", + "trusted": "De confiança", + "trustedDesc": "Amics d'amics o verificat amb NIP-05 (confiança ≥60)", + "following": "Només els que segueixo", + "followingDesc": "Mostra només el contingut de les persones que segueixes", + "followingShort": "Seguint" + }, + "sort": { + "recent": "Més recent", + "recentDesc": "Els més nous primer", + "trust": "Més confiança", + "trustDesc": "Creadors amb més confiança", + "proximity": "Més a prop", + "proximityDesc": "Llocs més propers", + "popular": "Més popular", + "popularDesc": "Més comentaris i reaccions", + "zaps": "Més zapats", + "zapsDesc": "Valor més alt rebut" + }, + "spotType": { + "street": "Carrer", + "transition": "Transició", + "park": "Parc", + "plaza": "Plaça", + "diy": "DIY", + "bowl": "Bowl", + "vert": "Vert", + "indoor": "Cobert", + "skatepark": "Skatepark", + "miniramp": "Miniramp" + } + }, + "auth": { + "login": "Inicia sessió", + "logout": "Tanca la sessió", + "signUp": "Registra't", + "signUpTitle": "Ets nou a Nostr?", + "signUpDesc": "Crea un compte nou per començar. És gratuït i obert.", + "orLogIn": "O inicia sessió", + "loginWithExtension": "Inicia sessió amb una extensió", + "loginWithAmber": "Inicia sessió amb Amber (Android)", + "loginWithKey": "Clau secreta (nsec) o frase de recuperació", + "loginWithBunker": "Inicia sessió amb Nostr Connect", + "bunkerUri": "Cadena de connexió del bunker", + "openAmber": "Obre Amber", + "connectToBunker": "Connecta al bunker", + "noExtension": "No s'ha detectat cap extensió.", + "extensionHelp": "Prova el botó Registra't de dalt per crear un compte nou, o fes servir les pestanyes Amber, Clau o Bunker si ja tens credencials.", + "amberDesc": "Amber és una app de signatura Nostr segura per a dispositius Android. Fes clic al botó de sota per obrir Amber i autoritzar l'accés.", + "bunkerDesc": "Accedeix al teu compte des de qualsevol dispositiu amb un signador remot (bunker). Les teves claus es queden segures al servidor i mai no s'exposen als llocs web.", + "keyPlaceholder": "nsec1... o la teva frase de recuperació de 12 paraules", + "keyHint": "Pots enganxar la teva clau nsec o la frase de recuperació de 12 paraules", + "uploadKeyFile": "Puja el teu fitxer de clau", + "loggingIn": "S'està iniciant la sessió...", + "connecting": "S'està connectant...", + "verifying": "S'està verificant..." + }, + "home": { + "tagline": "Impulsat per la comunitat • Basat en relés", + "title": "SKATE SPOTS", + "subtitle": "Descobreix spots • Trobades • Aprèn trucs • Dona suport als locals", + "description": "El skate de veritat passa fora de línia: aquesta eina t'ajuda a trobar-lo.", + "betaWarning": "BETA - En construcció • Fes-lo servir sota la teva responsabilitat", + "pwaHint": "Aplicació web progressiva: instal·la-la al teu dispositiu", + "exploreMap": "Explora el mapa", + "addSpot": "Afegeix un spot", + "globalSpots": "Spots globals", + "openCommunity": "Comunitat oberta", + "lightningZaps": "Zaps per Lightning", + "featuredSpots": "Spots destacats", + "featuredSpotsDesc": "Spots verificats per la comunitat d'arreu del món", + "upcomingEvents": "Propers esdeveniments", + "upcomingEventsDesc": "Concursos, trobades i sessions que passaran aviat", + "noSpotsYet": "Encara no s'ha trobat cap spot", + "noSpotsHint": "Sigues el primer a afegir un spot de skate!", + "noEventsYet": "Cap esdeveniment a la vista", + "noEventsHint": "Torna-hi més tard o crea'n un!", + "theLab": "The Lab", + "theLabDesc": "Aprèn trucs, troba entrenadors i millora el teu skate", + "coaches": "Entrenadors", + "coachesDesc": "Aprèn de skaters amb experiència que t'ajudaran a progressar", + "filmers": "Filmers", + "filmersDesc": "Connecta amb filmers per capturar els teus millors clips", + "findCoach": "Troba un entrenador", + "becomeCoach": "Fes-te entrenador", + "findFilmer": "Troba un filmer", + "becomeFilmer": "Fes-te filmer", + "viewAllSpots": "Veure tots els spots", + "viewAllEvents": "Veure tots els esdeveniments", + "createEvent": "Crea un esdeveniment", + "readyToShare": "A punt per compartir?", + "readyToShareDesc": "Ajuda a créixer la comunitat del skate afegint els teus spots preferits. Cada lloc que comparteixes ajuda altres skaters a descobrir nous indrets on patinar." + }, + "spots": { + "addSpot": "Afegeix un spot", + "editSpot": "Edita el spot", + "spotDetails": "Detalls del spot", + "spotName": "Nom del spot", + "spotType": "Tipus de spot", + "description": "Descripció", + "location": "Ubicació", + "address": "Adreça", + "photos": "Fotos", + "addPhotos": "Afegeix fotos", + "obstacles": "Obstacles", + "features": "Característiques", + "bustLevel": "Risc d'expulsió", + "bestTime": "Millor moment", + "tips": "Consells", + "reviews": "Ressenyes", + "addReview": "Afegeix una ressenya", + "reportSpot": "Denuncia el spot", + "directions": "Indicacions", + "shareSpot": "Comparteix el spot", + "createdBy": "Creat per", + "lastUpdated": "Última actualització", + "types": { + "park": "Skatepark", + "street": "Spot de carrer", + "diy": "Spot DIY", + "plaza": "Plaça", + "indoor": "Cobert", + "bowl": "Bowl", + "vert": "Vert", + "miniramp": "Miniramp" + }, + "bustLevels": { + "chill": "Tranquil", + "moderate": "Moderat", + "sketchy": "Inquietant", + "heavy": "Alt" + } + }, + "events": { + "title": "Esdeveniments de skate", + "createEvent": "Crea un esdeveniment", + "editEvent": "Edita l'esdeveniment", + "eventDetails": "Detalls de l'esdeveniment", + "eventName": "Nom de l'esdeveniment", + "eventType": "Tipus d'esdeveniment", + "date": "Data", + "time": "Hora", + "startDate": "Data d'inici", + "endDate": "Data de fi", + "venue": "Lloc", + "organizer": "Organitzador", + "attendees": "Assistents", + "going": "Hi vaig", + "interested": "M'interessa", + "rsvp": "Confirma l'assistència", + "ticketPrice": "Preu de l'entrada", + "freeEntry": "Entrada gratuïta", + "register": "Inscriu-te", + "moreInfo": "Més informació", + "upcomingEvents": "Propers", + "pastEvents": "Passats", + "noEvents": "No s'ha trobat cap esdeveniment", + "findEvents": "Troba concursos, demostracions, sessions i més", + "searchPlaceholder": "Cerca esdeveniments...", + "loginToCreate": "Inicia sessió per crear esdeveniments", + "noEventsMatch": "Cap esdeveniment proper coincideix amb els filtres.", + "noUpcoming": "No s'ha trobat cap esdeveniment proper.", + "noPast": "No s'ha trobat cap esdeveniment passat.", + "types": { + "contest": "Concurs", + "session": "Sessió", + "meetup": "Trobada", + "premiere": "Estrena de vídeo", + "workshop": "Taller", + "demo": "Demostració", + "jam": "Jam" + } + }, + "mapUi": { + "mapFooter": { + "links": "Enllaços", + "hide": "Amaga la barra d'enllaços del mapa" + }, + "findingSpots": "S'estan cercant spots", + "loadingSpots": "S'estan carregant els spots", + "loadingMap": "S'està carregant el mapa...", + "mapViewAria": "Vista de mapa", + "listViewAria": "Vista de llista", + "layers": "Capes", + "mapLayers": "Capes del mapa", + "showOnMap": "Mostra al mapa", + "showResults": "Mostra els resultats", + "quickActions": "Accions ràpides", + "spots": "Spots", + "shops": "Botigues", + "gear": "Material", + "tours": "Rutes", + "events": "Esdeveniments", + "crews": "Colles", + "spotType": "Tipus de spot", + "sortBy": "Ordena per", + "trustLevel": "Nivell de confiança", + "weather": "Temps", + "buySellGear": "Compra i ven material", + "stash": "Stash", + "more": "Més", + "newHere": "Ets nou aquí?", + "welcomeDesc": "Descobreix spots de skate, esdeveniments i la comunitat.", + "firstRunTitle": "Comença", + "firstRunAddSpot": "Afegeix el teu primer spot", + "firstRunJoinCrew": "Uneix-te a una colla", + "firstRunStartCrew": "Crea la teva colla", + "firstRunWallet": "Configura la teva cartera", + "getOnZapstore": "Aconsegueix-ho a Zapstore", + "dismiss": "Descarta", + "addedBy": "Afegit per", + "directions": "Indicacions", + "viewDetails": "Veure els detalls", + "viewDetailsArrow": "Veure els detalls →", + "spotDetails": "Detalls del spot", + "skateShop": "Botiga de skate", + "skateSpot": "Spot de skate", + "youAreHere": "Ets aquí", + "conditions": "Condicions", + "weatherScoreSuffix": "{{score}}/100 de temps", + "wind": "Vent", + "humidity": "Humitat", + "airQuality": "Qualitat de l'aire", + "threeDayForecast": "Previsió de 3 dies", + "forecastDays": "Previsió de {{count}} dies", + "gearForSale": "Material en venda ({{count}})", + "viewItems": "Veure els articles →", + "viewAllItems": "Veure tots els {{count}} articles →", + "viewGear": "Veure el material →", + "localTour": "Ruta local", + "meetAt": "Trobada a: {{place}}", + "hours": "{{count}} hores", + "level": "nivell {{level}}", + "viewTour": "Veure la ruta →", + "upcomingEvent": "Proper esdeveniment", + "viewEvent": "Veure l'esdeveniment →", + "skateCrew": "Colla de skate", + "members": "{{count}} membres", + "since": "Des de {{year}}", + "viewCrew": "Veure la colla →", + "acceptsBitcoin": "Accepta Bitcoin", + "boosted": "Impulsat", + "website": "Lloc web", + "offlineSavedSpots": "Fora de línia · es mostren els spots desats", + "cantReachRelays": "No es pot connectar amb els relés", + "relayOnlineNoAnswer": "Estàs en línia, però el relé de la comunitat no respon ara mateix.", + "youreOffline": "Estàs fora de línia.", + "savedOnDevice": "Els spots que ja has vist es desen en aquest dispositiu i es mostraran aquí.", + "noSpotsMatchTitle": "Cap spot coincideix", + "noSpotsMatchDesc": "Prova una cerca diferent o neteja els filtres.", + "noSpotsMappedYet": "Encara no hi ha cap spot al mapa", + "noSpotsMappedDesc": "Sigues el primer a posar el teu parc al mapa: triga un minut, és teu, i el proper skater que passi per aquí t'ho agrairà.", + "addFirstSpot": "Afegeix el primer spot", + "findSpotsNearMe": "Troba spots a prop meu", + "locating": "S'està localitzant…", + "refiningLocation": "S'està afinant la teva ubicació…", + "refiningLocationDesc": "Centrat en el teu últim spot: estem obtenint una posició GPS nova.", + "locatingYou": "T'estem localitzant…", + "locatingDesc": "S'està obtenint la posició GPS. El primer cop pot trigar fins a un minut.", + "foundYou": "T'hem trobat", + "foundYouDesc": "El mapa s'ha centrat en la teva ubicació.", + "locationPermissionNeeded": "Cal permís d'ubicació", + "permissionNeededDesc": "Permet la ubicació per a SkateSpots a Configuració → Aplicacions → SkateSpots → Permisos del teu dispositiu i torna a tocar A prop meu.", + "locationTimedOut": "S'ha esgotat el temps d'ubicació", + "timeoutNativeDesc": "No s'ha pogut obtenir la ubicació a temps. Si ets en un interior, el GPS no veu els satèl·lits: activa la ubicació per xarxa (Configuració → Ubicació) o surt a l'exterior i torna-ho a provar.", + "timeoutWebDesc": "No s'ha pogut obtenir la teva ubicació a temps. Comprova el senyal i torna-ho a provar.", + "noLocationProvider": "Cap proveïdor d'ubicació", + "noProviderNativeDesc": "El telèfon no proporciona cap ubicació. A les ROM centrades en la privacitat (per exemple, GrapheneOS), activa la ubicació per xarxa a Configuració → Ubicació, o assegura't que el GPS estigui activat i prova-ho a l'exterior.", + "noProviderWebDesc": "No hi ha cap proveïdor d'ubicació disponible. Activa els serveis d'ubicació i torna-ho a provar.", + "locationUnavailable": "Ubicació no disponible", + "unavailableNativeDesc": "Activa la ubicació o el GPS a la configuració del telèfon, permet la ubicació per a SkateSpots (Configuració → Aplicacions → SkateSpots → Permisos) i torna-ho a provar.", + "unavailableWebDesc": "No s'ha pogut determinar la teva ubicació. Assegura't que els serveis d'ubicació estiguin activats.", + "locationBlocked": "Ubicació bloquejada", + "locationBlockedDesc": "El navegador ha bloquejat l'accés a la ubicació per a aquest lloc. Així el pots tornar a activar:", + "locationPlatformAndroid": "Chrome a Android", + "locationPlatformIos": "Safari a iOS", + "locationPlatformDesktop": "Chrome d'escriptori", + "locationPlatformFirefox": "Firefox", + "locationStepsAndroid": "Toca la icona del cadenat a la barra d'adreces → Configuració del lloc → Ubicació → Permet", + "locationStepsIos": "App Configuració → Safari → Ubicació → Permet (o toca el botó \"AA\" a la barra d'adreces del Safari)", + "locationStepsDesktop": "Fes clic a la icona del cadenat → Configuració del lloc → Ubicació → Permet", + "locationStepsFirefox": "Fes clic a la icona del cadenat → Connexió segura → Més informació → Permisos → Accedir a la teva ubicació → Permet", + "gotIt": "Entesos", + "addSpot": "Afegeix un spot", + "addShop": "Afegeix una botiga", + "addEvent": "Afegeix un esdeveniment", + "addSpotHereTitle": "Vols afegir un spot aquí?", + "addSpotHereDesc": "Posa un marcador on has tocat", + "sellGear": "Ven material", + "offerTour": "Ofereix una ruta", + "closeAddMenu": "Tanca el menú d'afegir", + "addMenuAria": "Afegeix un spot, una botiga, un esdeveniment, material o una ruta", + "localChat": "Xat local", + "localChatDesc": "Xat en directe per a qualsevol lloc on estigui centrat el mapa. Tria l'abast del canal.", + "btcMapShowing": "Es mostren {{count}} llocs a prop on pots gastar els teus sats", + "btcMapShow": "Mostra els llocs on pots gastar els teus sats (via BTC Map)", + "yourPrivateStash": "El teu Stash privat", + "stashIntro": "Porta el control del teu material, posa preus i troba intercanvis amb altres skaters.", + "encryptionRequired": "Cal xifratge", + "encryptionRequiredDesc": "Fes servir un signador compatible amb NIP-44 (Alby, nos2x, Amber).", + "myStash": "El meu Stash", + "encrypted": "Xifrat", + "itemsCount": "{{count}} articles", + "items": "Articles", + "wishlist": "Llista de desitjos", + "types": "Tipus", + "stashEmpty": "El teu Stash és buit", + "addFirstItem": "Afegeix el primer article", + "wishlistCount": "Llista de desitjos ({{count}})", + "myGearCount": "El meu material ({{count}})", + "openFullStash": "Obre el Stash complet", + "addItem": "Afegeix un article", + "searchSpotsPlaceholder": "Cerca spots...", + "selected": "Seleccionat", + "noSpotsFound": "No s'ha trobat cap spot. Prova una cerca diferent.", + "addingSpotsHint": "Afegir spots ajuda els usuaris a trobar-te quan naveguen per llocs concrets", + "report": "Denuncia", + "spotSingular": "1 spot", + "spotPlural": "{{count}} spots", + "view": "Veure", + "myCollections": "Les meves col·leccions", + "collectionsSubtitle": "Organitza els teus spots preferits en llistes personalitzades", + "newCollection": "Col·lecció nova", + "loginToCreate": "Inicia sessió per crear col·leccions", + "loginToCreateDesc": "Desa els teus spots preferits en llistes com \"Viatge a Barcelona 2024\" o \"Millors baranes de LA\"", + "noCollections": "Encara no hi ha col·leccions", + "noCollectionsDesc": "Crea la teva primera col·lecció per començar a organitzar spots", + "createFirstCollection": "Crea la teva primera col·lecció", + "createNewCollection": "Crea una col·lecció nova", + "createCollectionDesc": "Posa un nom a la col·lecció i, si vols, una descripció", + "collectionName": "Nom de la col·lecció", + "collectionNamePlaceholder": "Viatge a Barcelona 2024", + "descriptionOptional": "Descripció (opcional)", + "descriptionPlaceholder": "Els meus spots preferits del viatge a Barcelona...", + "creating": "S'està creant...", + "createCollection": "Crea la col·lecció", + "editCollection": "Edita la col·lecció", + "saving": "S'està desant...", + "saveChanges": "Desa els canvis", + "deleteCollectionTitle": "Vols eliminar la col·lecció?", + "deleteCollectionDesc": "Això eliminarà permanentment \"{{title}}\". Els spots no es veuran afectats.", + "deleting": "S'està eliminant...", + "collectionCreated": "Col·lecció creada!", + "collectionCreatedDesc": "\"{{title}}\" ja pot rebre spots", + "collectionCreateFailed": "No s'ha pogut crear la col·lecció", + "collectionUpdated": "Col·lecció actualitzada!", + "changesSaved": "Els canvis s'han desat", + "collectionUpdateFailed": "No s'ha pogut actualitzar la col·lecció", + "collectionDeleted": "Col·lecció eliminada", + "collectionDeletedDesc": "S'ha eliminat \"{{title}}\"", + "collectionDeleteFailed": "No s'ha pogut eliminar la col·lecció", + "somethingWentWrong": "Hi ha hagut un error" + }, + "spotUi": { + "claim": { + "areYouOwner": "És el teu spot?", + "privateDesc": "Aquest spot està marcat com a privat. Si és teu o el gestiones, reclama'l: un moderador de SkateSpots confirma la propietat i després passes a fer-te'n càrrec de la fitxa.", + "claimSpot": "Reclama aquest spot", + "nip05Required": "Necessites un identificador NIP-05 verificat per reclamar un spot privat (una prova que controles una identitat Nostr). Afegeix-ne un al teu perfil i torna.", + "addNip05": "Afegeix NIP-05 a Configuració", + "pendingTitle": "Reclamació pendent de revisió", + "pendingDesc": "La teva reclamació s'ha enviat. Un moderador de SkateSpots la revisarà: podràs acabar de reclamar el spot quan s'aprovi.", + "approvedTitle": "Reclamació aprovada", + "approvedDesc": "Un moderador ha aprovat la teva reclamació. Acaba el procés per ser el propietari d'aquest spot.", + "complete": "Acaba la reclamació", + "submitted": "Reclamació enviada", + "submittedDesc": "Un moderador revisarà la teva reclamació. Passaràs a tenir el spot quan s'aprovi.", + "submitFailed": "No s'ha pogut enviar la reclamació", + "submit": "Envia la reclamació", + "submitting": "S'està enviant…", + "confirmTitle": "Vols reclamar \"{{title}}\"?", + "confirmIntro": "Estàs demanant ser el propietari d'aquest spot privat.", + "confirmBullet1": "Un moderador de SkateSpots revisa la sol·licitud (no podem verificar la propietat, només les claus Nostr)", + "confirmBullet2": "Si s'aprova, acabes la reclamació, et converteixes en propietari i pots editar el spot", + "confirmBullet3": "El spot original es manté a Nostr: la xarxa és descentralitzada", + "adminTitle": "Reclamacions de propietat pendents", + "adminApprove": "Aprova", + "adminApproved": "Aprovada", + "adminApprovedDesc": "Ara ja poden acabar de reclamar el spot.", + "adminApproveFailed": "No s'ha pogut aprovar la reclamació", + "loginRequired": "Inicia sessió per reclamar aquest spot privat o per sol·licitar-ne la propietat." + }, + "abandonedDesc": "Última actualització: {{time}}. Si el propietari original està inactiu, pots reclamar aquest spot per mantenir-lo i millorar-lo.", + "claimedNotice": "Fitxa reclamada", + "claimedNoticeDesc": "Un nou propietari ha tornat a publicar aquest spot després d'una reclamació. La fitxa original pot existir per separat.", + "abandonedLoginDesc": "Última actualització: {{time}}. Inicia sessió per reclamar i mantenir aquest spot.", + "accessDeniedDesc": "Només pots editar els spots que has creat.", + "accessDeniedTitle": "Accés denegat", + "addAtLeastOneTag": "Afegeix com a mínim una etiqueta.", + "additionalDetails": "Detalls addicionals (opcional)", + "additionalDetailsPlaceholder": "Afegeix qualsevol context que pugui ajudar...", + "addNewTags": "Afegeix etiquetes noves:", + "addNip05InSettings": "Afegeix NIP-05 a Configuració", + "addPhoto": "Afegeix una foto", + "addPhotoDesc": "Contribueix amb una foto per ajudar altres a descobrir aquest spot.", + "addPhotoOrDescription": "Afegeix una foto o una descripció", + "addPhotoOrDescriptionDesc": "Dona als skaters alguna referència: una foto o una línia sobre el lloc.", + "addPhotos": "Afegeix fotos", + "addPhotoToSpot": "Afegeix una foto al spot", + "adminDeleteDialogDesc": "Com a administrador de SkateSpots, estàs retirant \"{{title}}\". S'amagarà a tota l'app per a tothom i s'enviarà una sol·licitud d'eliminació als relés.", + "adminDeleteReason": "Un administrador de SkateSpots ha eliminat el spot \"{{title}}\"", + "airQuality": "Qualitat de l'aire", + "altSkateSpot": "Spot de skate: {{title}}", + "areYouShopOwner": "Ets el propietari de la botiga?", + "askBeforeSkating": "Demana abans de patinar", + "backToSpot": "Torna al spot", + "beFirstToListGear": "Sigues el primer a posar material en venda en aquest spot!", + "beFirstToSay": "Sigues el primer a dir alguna cosa.", + "byAuthor": "per {{name}}", + "captionPlaceholder": "Afegeix un peu de foto (opcional): descriu què surt a la foto, quan es va fer, etc.", + "chatPublicNote": "Ho pot llegir tothom: els missatges són públics i efímers. Per a xats privats, fes servir els missatges directes.", + "checkPinBelow": "Comprova el marcador de sota abans d'afegir un duplicat.", + "claimBullet1": "Et converteixes en el propietari i pots editar el spot", + "claimBullet2": "El spot original es manté (Nostr és descentralitzat)", + "claimBullet3": "La teva versió pot aparèixer al costat de l'original", + "claimFailed": "La reclamació ha fallat", + "claiming": "S'està reclamant...", + "claimIntro": "Estàs a punt de reclamar la propietat d'aquest spot. Això crearà la teva pròpia versió del spot, que podràs editar i mantenir.", + "claimSpot": "Reclama el spot", + "claimThisSpot": "Reclama aquest spot", + "claimTitle": "Vols reclamar \"{{title}}\"?", + "claimWhatHappens": "Què passa quan el reclames:", + "coachesAndFilmersAvailable": "Entrenadors i filmers disponibles en aquest spot", + "coachesCount": "Entrenadors ({{count}})", + "coachHere": "Entrenador aquí", + "community": "Comunitat", + "communityVerified": "Verificat per la comunitat", + "communityVerifiedTitle": "Un altre skater hi ha contribuït (foto o informe d'estat).", + "conditions": "Condicions", + "contactForPermission": "Contacta per obtenir permís", + "contactInfo": "Informació de contacte", + "contributePhoto": "Contribueix amb una foto", + "contributing": "S'està contribuint...", + "couldNotSendMessage": "No s'ha pogut enviar el missatge.", + "couldNotSubmit": "No s'ha pogut enviar", + "couldNotUploadPhoto": "No s'ha pogut pujar la foto. En pots afegir una a sota.", + "crewsThatSkateHere": "Colles que patinen aquí", + "current": "Actual:", + "currentTags": "Etiquetes actuals d'aquest spot:", + "daysAgo": "Fa {{count}} dia", + "daysAgoPlural": "Fa {{count}} dies", + "deleteDialogDesc": "Això eliminarà permanentment \"{{title}}\" de tots els relés. Aquesta acció no es pot desfer.", + "deletedSpotReason": "Spot eliminat", + "deleteFailed": "L'eliminació ha fallat", + "deleteSpot": "Elimina el spot", + "deleteSpotTitle": "Vols eliminar el spot?", + "differentSpotPublishAnyway": "És un spot diferent: publica-ho igualment", + "dragDropOrClick": "Arrossega i deixa anar o fes clic", + "dropPhotos": "Deixa anar les fotos", + "duplicateOne": "Hi ha un spot a menys de 60 m del teu marcador. Si és el mateix lloc, afegeix-hi la teva foto o un informe d'estat en lloc de crear un duplicat.", + "duplicateOther": "Hi ha spots a menys de 60 m del teu marcador. Si és el mateix lloc, afegeix-hi la teva foto o un informe d'estat en lloc de crear un duplicat.", + "editSpotSeoDesc": "Edita el teu spot de skate.", + "failedToContribute": "No s'ha pogut contribuir", + "failedToPublish": "No s'ha pogut publicar", + "failedToPublishDesc": "Hi ha hagut un error. Consulta la consola per obtenir més detalls.", + "failedToSubmitReport": "No s'ha pogut enviar la denúncia", + "failedToSuggestTags": "No s'han pogut suggerir etiquetes", + "failedToUpdate": "No s'ha pogut actualitzar", + "failedToUploadImage": "No s'ha pogut pujar la imatge", + "failedToUploadPhoto": "No s'ha pogut pujar la foto", + "feelsLikeTemp": "Sensació de {{temp}}°C", + "filmersCount": "Filmers ({{count}})", + "filmHere": "Filma aquí", + "gearSwap": "Intercanvi de material", + "geolocationNotSupported": "Geolocalització no compatible", + "geolocationNotSupportedDesc": "El teu navegador no admet la geolocalització.", + "getDirections": "Com arribar-hi", + "hangTight": "Un moment", + "hangTightDesc": "La teva foto encara s'està pujant. S'adjuntarà d'aquí un segon.", + "helpImproveSpot": "Ajuda a millorar aquest spot afegint fotos o suggerint etiquetes", + "hiddenByModerator": "Amagat per un moderador", + "hiddenByModeratorDesc": "Aquest spot no es mostra al mapa ni a la cerca. Encara el veus perquè és teu. Editar-lo no farà que es torni a mostrar: romandrà amagat fins que un moderador retiri el veredicte.", + "humidity": "Humitat", + "imageUploaded": "Imatge pujada", + "imageUploadedDesc": "La teva imatge s'ha pujat correctament.", + "imHere": "Soc aquí", + "invalidCoordinates": "Coordenades no vàlides", + "invalidCoordinatesDesc": "Introdueix una latitud (-90 a 90) i una longitud (-180 a 180) vàlides.", + "invalidNpub": "npub no vàlid", + "invalidNpubDesc": "Introdueix una adreça npub vàlida.", + "lastReported": "última {{time}}", + "listGear": "Posa material en venda", + "listYourGearHere": "Posa el teu material en venda aquí", + "loadingChat": "S'està carregant el xat…", + "locationError": "Error d'ubicació", + "locationFound": "Ubicació trobada", + "locationFoundDesc": "S'ha establert la teva ubicació actual.", + "locationRequired": "Cal una ubicació", + "locationRequiredDesc": "Introdueix coordenades o fes servir la teva ubicació actual.", + "loginRequiredTitle": "Cal iniciar sessió", + "logInToChat": "Inicia sessió per unir-te al xat local.", + "logInToContributePhotos": "Inicia sessió per contribuir amb fotos", + "loginToEditSpot": "Has d'iniciar sessió per editar aquest spot.", + "logInToReport": "Has de tenir la sessió iniciada per denunciar contingut.", + "logInToReportStatus": "Inicia sessió per informar de l'estat d'aquest spot.", + "logInToSuggestTags": "Inicia sessió per suggerir etiquetes", + "manageNip05ToClaim": "Gestiona el NIP-05 per reclamar", + "meetAtSpotForPickup": "💡 Trobada en aquest spot per a una recollida segura", + "memberOne": "{{count}} membre", + "memberOther": "{{count}} membres", + "messageFailed": "El missatge ha fallat", + "messageMapper": "Mapejador de missatges", + "messagePlaceholder": "Envia un missatge a aquest spot… (prova /me o /who)", + "messagesHiddenOne": "{{count}} missatge amagat pel teu filtre de confiança. Baixa el filtre per veure'n més.", + "messagesHiddenOther": "{{count}} missatges amagats pel teu filtre de confiança. Baixa el filtre per veure'n més.", + "messagesHiddenShortOne": "{{count}} missatge amagat pel teu filtre de confiança", + "messagesHiddenShortOther": "{{count}} missatges amagats pel teu filtre de confiança", + "metresAway": "a {{distance}} m", + "moderatorVouchedDesc": "Un moderador ha revisat aquest spot i n'ha donat garantia. Bona feina.", + "monthsAgo": "Fa {{count}} mes", + "monthsAgoPlural": "Fa {{count}} mesos", + "newOwnerNpub": "npub del nou propietari", + "newOwnerNpubHint": "Introdueix l'npub de l'usuari a qui vols transferir aquest spot.", + "nip05RequiredToClaim": "⚠️ Cal verificació NIP-05 per reclamar botigues", + "noCommunitySignalTitle": "Encara no hi ha cap foto ni informe d'estat de la comunitat: ningú no ha confirmat aquest lloc.", + "breakdownPhotos": "{{count}} foto(es)", + "breakdownStatus": "{{count}} informe(s) d'estat", + "breakdownComments": "{{count}} comentari(s)", + "breakdownReactions": "{{count}} reacció(ons)", + "breakdownCollections": "{{count}} desat(s)", + "breakdownZaps": "{{count}} zap(s)", + "breakdownTags": "{{count}} etiqueta(es) suggerida(es)", + "breakdownCrews": "{{count}} colla(es)", + "breakdownLab": "{{count}} enllaç(os) pro", + "verifyNudgeTitle": "Sigues el primer a confirmar aquest spot", + "verifyNudgeBody": "Una foto o un \"he patinat aquí\" és com es verifica un spot: ajuda el proper skater.", + "verifyNudgeStatus": "He patinat aquí", + "communityChip": "Comunitat", + "seenChip": "Vist", + "noGearListedYet": "Encara no hi ha material a la venda", + "noMessagesYet": "Encara no hi ha missatges en aquest canal local. Digues hola: \"algú patina aquesta nit?\"", + "noPhoto": "Sense foto", + "noReportsYet": "Encara no hi ha informes", + "noTags": "Sense etiquetes", + "notASkateSpot": "No és un spot de skate", + "offerServicesHere": "💡 Ofereix els teus serveis en aquest spot", + "photoCaptured": "Foto capturada!", + "photoCapturedDesc": "La teva foto s'ha pujat correctament.", + "photoContributed": "Foto aportada!", + "photoContributedDesc": "La teva foto s'ha afegit a aquest spot.", + "photosAdded": "S'han afegit les teves fotos.", + "photosRecommended": "molt recomanat: els spots sense foto es queden marcats com a no verificats", + "photosUploaded": "{{count}} fotos pujades", + "photoUploaded": "Foto pujada", + "photoUploadedDesc": "Afegeix un peu de foto i envia-ho per contribuir!", + "photoUploadFailed": "No s'ha pogut pujar la foto", + "pleaseTryAgain": "Torna-ho a provar", + "public": "Públic", + "publicChatTitle": "Tothom pot llegir els missatges d'aquest canal: és públic i no està xifrat.", + "recentReports": "Informes recents", + "recipientRequired": "Cal un destinatari", + "recipientRequiredDesc": "Introdueix l'npub del nou propietari.", + "removeAdmin": "Treu (admin)", + "removeSpot": "Treu el spot", + "removeSpotAdminTitle": "Vols treure aquest spot? (admin)", + "reportOne": "informe", + "reportContent": "Denuncia contingut", + "reportContentDesc": "Ajuda a mantenir la comunitat segura denunciant contingut inadequat.", + "reportedBySkaters": " per {{count}} skaters: en revisió. Si és un spot real, afegeix-hi una foto o un informe d'estat per confirmar-ho.", + "reportedNotASpot": "Denunciat com a no-spot de skate", + "reportingType": "Denunciant {{type}}", + "reports": "informes", + "reportShop": "Denuncia la botiga", + "reportSpot": "Denuncia el spot", + "reportStatus": "Informa de l'estat", + "reportSubmitted": "Denúncia enviada", + "reportSubmittedDesc": "Gràcies per ajudar a mantenir SkateSpots segur.", + "reportSubmittedLong": "Gràcies per ajudar a mantenir SkateSpots segur i precís. La teva denúncia serà revisada per membres de confiança de la comunitat.", + "reportSubmittedTitle": "Denúncia enviada", + "report": { + "notASkateSpot": { + "label": "No és un spot de skate", + "description": "Una entrada de prova o un lloc que no és per patinar" + }, + "fakeSpot": { + "label": "Spot fals o inexistent", + "description": "Aquest spot no existeix o la ubicació és incorrecta" + }, + "stolenPhotos": { + "label": "Fotos robades o falses", + "description": "Les fotos són imatges d'estoc o robades d'un altre lloc" + }, + "spamAd": { + "label": "Spam o publicitat", + "description": "Contingut promocional o fitxes duplicades" + }, + "dangerousLocation": { + "label": "Ubicació perillosa", + "description": "Propietat privada, perillós o il·legal d'accedir-hi" + }, + "inappropriateContent": { + "label": "Contingut inadequat", + "description": "Conté contingut ofensiu o per a adults" + }, + "impersonation": { + "label": "Suplantació d'identitat", + "description": "Algú que es fa passar per una altra persona" + }, + "other": { + "label": "Altres", + "description": "Una altra cosa que no apareix a la llista" + } + }, + "targetType": { + "spot": "Spot", + "event": "Esdeveniment", + "tour": "Ruta", + "shop": "Botiga", + "user": "Usuari", + "listing": "Anunci", + "coach": "Entrenador", + "filmer": "Filmer" + }, + "sameOwner": "Mateix propietari", + "sameOwnerDesc": "No es pot transferir al propietari actual.", + "saveChanges": "Desa els canvis", + "saving": "S'està desant...", + "services": "Serveis", + "shareSpotText": "Mira aquest spot de skate: {{title}}", + "shelter": "Resguard", + "shelterHint": "Aquest spot està resguardat del temps? Ajuda els skaters a trobar llocs secs quan plou.", + "shopClaimDesc": "Si ets el propietari o gestiones aquesta botiga, la pots reclamar per verificar-ne la propietat i gestionar la fitxa.", + "shopClaimNip05Hint": "Per reclamar aquesta botiga, afegeix un identificador NIP-05 que coincideixi amb el domini del web de la botiga.", + "skatersActiveDesc": "Persones que han publicat en aquest canal durant les últimes 24 h.", + "skatersActiveOne": "{{count}} skater actiu aquí", + "skatersActiveOther": "{{count}} skaters actius aquí", + "skatersSellingGear": "Els skaters d'aquest spot venen material", + "skateSpot": "Spot de skate", + "somethingWentWrong": "Hi ha hagut un error", + "spot": "Spot", + "spotAdded": "Spot afegit!", + "spotAddedDesc": "El teu spot de skate s'ha publicat a la xarxa.", + "spotAddedNoPhoto": "Publicat i marcat com a no verificat fins que algú afegeixi una foto. Una foto del spot ajuda molt.", + "spotChat": "Xat del spot", + "spotClaimed": "Spot reclamat!", + "spotClaimedDesc": "Ara ets el propietari d'aquest spot. El pots editar des del teu perfil.", + "spotDeleted": "Spot eliminat", + "spotDeletedDesc": "S'ha enviat una sol·licitud d'eliminació als relés. La majoria de relés trauran aquest contingut.", + "spotMayAlreadyBeOnMap": "Potser aquest spot ja és al mapa", + "spotMayAlreadyExist": "Potser aquest spot ja existeix", + "spotMayBeAbandoned": "El spot pot estar abandonat", + "spotPhotoAlt": "Spot", + "spotRemoved": "Spot retirat", + "spotRemovedDesc": "Aquest spot s'ha retirat i s'amagarà a tot SkateSpots.", + "spotSeoDesc": "Mira aquest spot de skate a SkateSpots.", + "spotStatus": "Estat del spot", + "spotStatusDesc": "\"{{title}}\" encara es pot patinar? Informa la comunitat del seu estat actual.", + "spotTypeRequired": "Cal el tipus de spot", + "spotTypeRequiredDesc": "Tria un tipus de spot perquè els skaters sàpiguen què es trobaran.", + "spotUpdated": "Spot actualitzat!", + "spotUpdatedDesc": "Els teus canvis s'han publicat a la xarxa.", + "staffVerifiedTitle": "Un administrador de SkateSpots ha revisat i avalat aquest spot.", + "statusNotePlaceholder": "Opcional: afegeix detalls (per exemple, \"baranes noves al caixó\", \"la seguretat expulsa després de les 18 h\")", + "statusReported": "Estat informat", + "statusReportedDesc": "Gràcies per mantenir el mapa al dia. El teu informe ja és visible.", + "submitReport": "Envia l'informe", + "submitting": "S'està enviant...", + "suggestedByUser": "Suggerit per {{count}} usuari", + "suggestedByUsers": "Suggerit per {{count}} usuaris", + "suggestedTagsContent": "Etiquetes suggerides per a {{title}}: {{tags}}", + "suggestNTags": "Suggereix {{count}} etiquetes", + "suggestOneTag": "Suggereix 1 etiqueta", + "suggestTags": "Suggereix etiquetes", + "suggestTagsDesc": "Ajuda a classificar aquest spot suggerint etiquetes rellevants.", + "tags": "Etiquetes", + "tagsHint": "Afegeix etiquetes per a característiques, superfícies i ambient (màxim {{max}})", + "tagsSuggested": "Etiquetes suggerides!", + "tagsSuggestedDesc": "S'han enviat les teves suggerències d'etiquetes.", + "takePhoto": "Fes una foto", + "threeDayForecast": "Previsió de 3 dies", + "forecastDays": "Previsió de {{count}} dies", + "tipTheMapper": "Dona una propina al mapejador", + "tipTheMapperDesc": "T'ha estat útil aquest spot? Envia un zap per agrair-ho al mapejador!", + "titleRequired": "Cal un títol", + "titleRequiredDesc": "Introdueix un nom per a aquest spot.", + "today": "Avui", + "tomorrow": "Demà", + "transferDesc": "Transfereix \"{{title}}\" a un altre usuari. Aquesta acció no es pot desfer.", + "transferFailed": "La transferència ha fallat", + "transferOwnership": "Transfereix la propietat", + "transferRequestContent": "Sol·licitud de transferència de propietat del spot \"{{title}}\"", + "transferRequested": "Transferència sol·licitada", + "transferRequestedDesc": "El nou propietari haurà de reclamar el spot per completar la transferència.", + "transferring": "S'està transferint...", + "transferSpotOwnership": "Transfereix la propietat del spot", + "transferWarningDesc": "Després de la transferència, ja no podràs editar ni eliminar aquest spot.", + "typeToSearchTags": "Escriu per cercar o afegir etiquetes...", + "underReview": " — en revisió. Si és un spot real, afegeix-hi una foto o un informe d'estat per confirmar-ho.", + "untitledSpot": "Spot sense títol", + "unverified": "No verificat", + "updateDetailsFor": "Actualitza els detalls de {{title}}", + "updateSpotDesc": "Actualitza la informació d'aquest spot. Tots els camps amb * són obligatoris.", + "uploadAPhoto": "Puja una foto", + "uploadAPhotoHint": "Arrossega i deixa anar o fes clic · JPG, PNG, WebP", + "uploadedAlt": "Pujada", + "uploadFailed": "La pujada ha fallat", + "uploadingPhoto": "S'està pujant la foto…", + "uploadPhotoFirst": "Primer puja una foto.", + "uvIndex": "Índex UV", + "verifiedBySkateSpots": "Verificat per SkateSpots", + "viewPhotoFullScreen": "Veure la foto a pantalla completa", + "viewPhotoOf": "Veure la foto {{n}} de {{total}}", + "warning": "Avís", + "weatherConditions": "Condicions meteorològiques", + "weatherOnly": "només temps", + "weatherOnlyUnconfirmed": "Només temps. Ningú no ha confirmat encara que això sigui un spot de skate, així que no hi ha puntuació de condicions: afegeix-hi una foto o un informe d'estat per confirmar-ho.", + "whyReporting": "Per què ho denuncies?", + "wind": "Vent", + "yearsAgo": "Fa {{count}} any", + "yearsAgoPlural": "Fa {{count}} anys" + }, + "weatherUi": { + "condition": { + "clearSky": "Cel clar", + "mainlyClear": "Principalment clar", + "partlyCloudy": "Parcialment ennuvolat", + "overcast": "Cobert", + "foggy": "Boira", + "depositingRimeFog": "Boira gebradora", + "lightDrizzle": "Plugim lleuger", + "moderateDrizzle": "Plugim moderat", + "denseDrizzle": "Plugim intens", + "lightFreezingDrizzle": "Plugim gelat lleuger", + "denseFreezingDrizzle": "Plugim gelat intens", + "slightRain": "Pluja feble", + "moderateRain": "Pluja moderada", + "heavyRain": "Pluja forta", + "lightFreezingRain": "Pluja gelada lleugera", + "heavyFreezingRain": "Pluja gelada forta", + "slightSnow": "Neu feble", + "moderateSnow": "Neu moderada", + "heavySnow": "Neu forta", + "snowGrains": "Grans de neu", + "slightRainShowers": "Xàfecs febles", + "moderateRainShowers": "Xàfecs moderats", + "violentRainShowers": "Xàfecs violents", + "slightSnowShowers": "Xàfecs de neu febles", + "heavySnowShowers": "Xàfecs de neu forts", + "thunderstorm": "Tempesta", + "thunderstormSlightHail": "Tempesta amb calamarsa feble", + "thunderstormHeavyHail": "Tempesta amb calamarsa forta", + "unknown": "Desconegut" + }, + "aqi": { + "good": "Bona", + "moderate": "Moderada", + "unhealthySensitive": "Perjudicial per als grups sensibles", + "unhealthy": "Perjudicial", + "veryUnhealthy": "Molt perjudicial", + "hazardous": "Perillosa" + }, + "skateability": { + "perfect": "Perfecte", + "good": "Bé", + "okay": "Acceptable", + "poor": "Fluix", + "bad": "Dolent", + "unrideable": "No patinable" + }, + "updated": "Actualitzat", + "refresh": "Actualitza", + "unavailable": "El temps no està disponible.", + "retry": "Torna-ho a provar", + "sunrise": "Sortida del sol", + "sunset": "Posta del sol", + "legendTitle": "Puntuació del temps", + "legendWeatherOnly": "Només temps", + "reason": { + "currentlyRaining": "Està plovent ara", + "raining": "Plou", + "snowing": "Neva", + "thunderstorm": "Tempesta", + "freezingTemperature": "Temperatura sota zero", + "veryCold": "Molt fred", + "extremelyHot": "Extremadament calorós", + "veryHot": "Molt calorós", + "veryStrongWind": "Vent molt fort", + "strongWind": "Vent fort", + "moderateWind": "Vent moderat", + "veryUnhealthyAir": "Aire molt perjudicial", + "unhealthyAir": "Aire perjudicial", + "moderateAirQuality": "Qualitat de l'aire moderada", + "veryHumid": "Molt humit", + "humid": "Humit", + "extremeUv": "UV extrem: posa't protector solar", + "highUv": "UV alt: es recomana protecció solar", + "perfectConditions": "Condicions perfectes per patinar" + } + }, + "cordnUi": { + "title": "Xat privat", + "subtitle": "Xifrat d'extrem a extrem (MLS) entre els membres de la colla. El coordinador només encamina text xifrat i metadades: mai no veu el contingut dels missatges.", + "notLoggedIn": "Inicia sessió per fer servir el xat privat de la colla.", + "membersOnly": "Només els membres de la colla poden obrir el xat privat.", + "connecting": "S'està connectant…", + "noCoordinator": "Encara no hi ha cap coordinador configurat per a aquesta colla.", + "noGroupAdmin": "Encara no s'ha creat el xat privat d'aquesta colla.", + "noGroupMember": "Encara no ets al xat privat d'aquesta colla.", + "create": "Crea el xat privat", + "requestJoin": "Demana d'unir-t'hi", + "checkInvite": "Comprova si hi ha invitació", + "requested": "Sol·licitud enviada: un administrador de la colla l'aprovarà.", + "noInvite": "Encara no hi ha cap invitació. Demana a un administrador que aprovi la teva sol·licitud.", + "placeholder": "Envia un missatge a la colla…", + "send": "Envia", + "refresh": "Actualitza", + "requests": "Sol·licituds d'accés", + "checkRequests": "Comprova les sol·licituds", + "approve": "Afegeix", + "noRequests": "No hi ha sol·licituds pendents.", + "inviteHint": "De moment només hi ets tu en aquest xat: els membres de la colla poden tocar \"Demana d'unir-t'hi\" i després els aproves aquí.", + "shareInvite": "Convida", + "shareInviteText": "Uneix-te a {{crew}}: xat privat de la colla", + "inviteCopied": "Enllaç d'invitació copiat", + "memberCount": "{{count}} al grup", + "you": "Tu", + "groupRef": "Enllaç del grup", + "copyRef": "Copia", + "copied": "Copiat", + "attachImage": "Adjunta una imatge", + "uploading": "S'està pujant…", + "uploadFailed": "No s'ha pogut pujar la imatge.", + "bannerTitle": "Aquesta colla encara no té xat privat", + "bannerBody": "Configura un xat xifrat d'extrem a extrem (MLS) per a la teva colla: els membres s'hi uneixen des de la pestanya.", + "bannerCta": "Configura-ho", + "ready": "Connectat · MLS", + "errorPrefix": "No s'ha pogut connectar amb el coordinador", + "interactiveHint": "El teu signador demana aprovació a cada acció: fes servir Actualitza i Envia quan calgui." + }, + "trustUi": { + "alertsTitle": "Alertes de la xarxa", + "alertsDesc": "Comptes que segueixes que persones de confiança han denunciat o silenciat.", + "alertsEmpty": "Cap alerta. Revisem els comptes que segueixes per buscar denúncies de persones de confiança.", + "alertsReported": "Denunciat per {{count}} persones de confiança", + "alertsMuted": "Silenciat per {{count}} persones de confiança", + "alertsIgnore": "Ignora", + "alertsUnfollow": "Deixa de seguir", + "alertsLogin": "Inicia sessió per veure alertes dels comptes que segueixes.", + "providerTitle": "Proveïdor", + "providerDesc": "Les puntuacions provenen d'un proveïdor que tries tu. El proveïdor de la comunitat és el predeterminat.", + "useCommunity": "Fes servir el proveïdor de la comunitat", + "setProvider": "Defineix un proveïdor", + "customPubkeyPlaceholder": "npub o clau pública hex del proveïdor", + "customRelayPlaceholder": "wss://relay.example.com", + "invalidProvider": "Introdueix un npub vàlid o una clau pública hex de 64 caràcters, i un relé wss://.", + "publishFailed": "No s'ha pogut publicar el proveïdor. Torna-ho a provar.", + "providerSaved": "Proveïdor actualitzat.", + "loggedOutProvider": "Inicia sessió per triar un proveïdor.", + "showMarks": "Mostra les marques de confiança", + "showMarksDesc": "Marques de verificat i desconegut. Les denúncies sempre es mostren.", + "sourceLabel": "Font", + "sourceHouse": "Proveïdor de confiança de la comunitat", + "sourceCustom": "El teu proveïdor", + "loggedOut": "Inicia sessió per triar el teu propi proveïdor de confiança.", + "seoTitle": "Com funciona la confiança", + "seoDescription": "Com mostra SkateSpots la confiança: tres estats, d'on surten les puntuacions i per què l'absència no és desconfiança.", + "title": "Com funciona la confiança", + "intro": "Aquí la confiança és un senyal, no un veredicte. Ve de qui coneixes o d'un proveïdor que tries tu. No classifiquem les persones globalment.", + "statesTitle": "Tres estats", + "verifiedTitle": "Verificat", + "verifiedDesc": "Algú de la teva xarxa avala aquest compte: un amic d'amics o el proveïdor que has triat.", + "unknownTitle": "Desconegut", + "unknownDesc": "Encara ningú no l'ha avalat. Aquí és on comença tot compte nou.", + "flaggedTitle": "Marcat", + "flaggedDesc": "Persones de confiança han denunciat aquest compte. És un avís per mirar-s'ho més de prop, no una prova de res.", + "absenceTitle": "No tenir insígnia no vol dir desconfiança", + "absenceDesc": "La majoria de comptes no mostren res. Això vol dir que ningú de la teva xarxa els ha avalat encara, no que hi hagi res malament. No interpretis mai una marca absent com a negativa.", + "sourceTitle": "Qui ho calcula", + "sourceDesc": "Per defecte fem servir la teva pròpia xarxa. També pots triar un proveïdor de confiança que publiqui puntuacions signades a Nostr (NIP-85) o desactivar-ne la visualització. Marcat sempre es mostra, perquè és un senyal de seguretat.", + "endorsementTitle": "Ser-hi no és avalar-ho", + "endorsementDesc": "Una marca de verificat vol dir que algú ha avalat, no que la persona sigui bona. Una marca vol dir que persones de confiança l'han denunciat, no que sigui culpable. Mira els detalls abans de decidir.", + "povTitle": "Depèn del punt de vista", + "povDesc": "Una puntuació és relativa a qui mira. Una classificació d'un proveïdor o d'una persona no es pot comparar amb una altra, i mai no la presentem com un fet objectiu.", + "settingsCta": "Gestiona-ho a Configuració" + }, + "notifyUi": { + "activity": { + "zappedWithAmount": "T'han zapat {{sats}} sats", + "zapped": "T'han zapat", + "liked": "A algú li ha agradat la teva publicació", + "reposted": "Algú ha compartit la teva publicació", + "mentioned": "Algú t'ha mencionat", + "replied": "Algú t'ha respost", + "rsvp": "Algú ha confirmat assistència al teu esdeveniment", + "eventUpdated": "S'ha actualitzat un esdeveniment al qual vas", + "newActivity": "Activitat nova", + "tapToOpen": "Toca per obrir SkateSpots" + }, + "crew": { + "inviteTitle": "Invitació a una colla", + "inviteBody": "T'han convidat a {{crew}}", + "addedTitle": "T'han afegit a una colla", + "addedBody": "{{crew}}: confirma per unir-t'hi", + "joinRequestTitle": "Sol·licitud d'accés", + "joinRequestBody": "Algú vol unir-se a {{name}}" + }, + "dm": { + "title": "Missatge directe nou", + "body": "Toca per llegir-lo" + }, + "trade": { + "confirm": "Confirma un intercanvi", + "confirmed": "Intercanvi confirmat", + "newOffer": "Oferta nova al teu anunci", + "counter": "Contraoferta", + "accepted": "Oferta acceptada 🎉", + "declined": "Oferta rebutjada", + "withdrawn": "Oferta retirada" + }, + "newsletter": { + "drop": "Novetats de SkateSpots" + }, + "summary": { + "moreUpdates": "{{count}} actualitzacions més", + "openToCatchUp": "Obre SkateSpots per posar-te al dia" + } + }, + "toastsUi": { + "followingSuccess": "Ara el segueixes", + "followingSuccessDesc": "Aquest usuari ja és a la teva xarxa", + "followFailed": "No s'ha pogut seguir", + "unfollowSuccess": "Has deixat de seguir", + "unfollowSuccessDesc": "S'ha tret de la teva xarxa", + "unfollowFailed": "No s'ha pogut deixar de seguir", + "reportThanks": "Gràcies, s'ha enviat per revisar", + "reportFailed": "No s'ha pogut enviar la denúncia", + "savedOffline": "Desat fora de línia", + "savedOfflineDesc": "Ho publicarem automàticament quan tornis a estar en línia.", + "cacheCleaned": "Memòria cau netejada", + "cacheCleanedDesc": "S'han tret {{count}} spots antics de la memòria cau", + "cacheCleared": "Memòria cau esborrada", + "cacheClearedDesc": "S'han tret tots els spots de la memòria cau", + "backOnline": "Tornes a estar en línia", + "backOnlineDesc": "S'han enviat {{count}} accions desades.", + "postQueued": "Publicació a la cua", + "postQueuedDesc": "La teva publicació es publicarà quan tornis a estar en línia", + "invalidIdentifier": "Identificador no vàlid. Fes servir npub1..., usuari@domini.com o una clau pública hex", + "notASpotThanks": "Gràcies, s'ha enviat per revisar", + "notASpotThanksDesc": "No passa res: això marca el marcador com a fora de tema perquè la gent decideixi.", + "notASpotFailed": "No s'ha pogut enviar la denúncia", + "pleaseTryAgain": "Torna-ho a provar.", + "relayUnreachable": "No s'ha pogut connectar amb cap relé: comprova la connexió i torna-ho a provar.", + "loginToReport": "Inicia sessió per denunciar un spot.", + "zapLoginRequired": "Cal iniciar sessió", + "zapLoginRequiredDesc": "Has de tenir la sessió iniciada per enviar un zap.", + "zapEventNotFound": "Esdeveniment no trobat", + "zapEventNotFoundDesc": "No s'ha pogut trobar l'esdeveniment per zapar.", + "zapAuthorNotFound": "Autor no trobat", + "zapAuthorNotFoundDesc": "No s'ha pogut trobar l'autor d'aquest element.", + "zapSuccess": "Zap enviat!", + "zapSuccessNwcDesc": "Has enviat {{amount}} sats a l'autor via NWC.", + "zapSuccessDesc": "Has enviat {{amount}} sats a l'autor.", + "zapStatusUnknown": "Estat del pagament desconegut", + "zapStatusUnknownDesc": "Potser la teva cartera encara està liquidant aquest zap. Comprova la cartera abans de tornar-ho a provar: no paguis dos cops.", + "zapNwcFailed": "El pagament per NWC ha fallat", + "zapWeblnFailed": "El pagament per WebLN ha fallat", + "zapFallingBack": "{{error}}. S'està provant amb altres mètodes de pagament...", + "zapFailed": "El zap ha fallat", + "zapUnknownNwcError": "Error NWC desconegut", + "zapUnknownWeblnError": "Error WebLN desconegut", + "nwcInvalidUri": "URI NWC no vàlid", + "nwcInvalidUriDesc": "Comprova la cadena de connexió i torna-ho a provar.", + "nwcExists": "La connexió ja existeix", + "nwcExistsDesc": "Aquesta cartera ja està connectada.", + "nwcConnected": "Cartera connectada", + "nwcConnectedDesc": "S'ha connectat correctament a {{alias}}.", + "nwcFailed": "La connexió ha fallat", + "nwcFailedDesc": "No s'ha pogut connectar amb la cartera: {{error}}", + "nwcUnknownError": "S'ha produït un error desconegut", + "nwcDisconnected": "Cartera desconnectada", + "nwcDisconnectedDesc": "S'ha eliminat la connexió de la cartera.", + "deleteApproveAmber": "Aprova-ho a Amber", + "deleteApproveAmberDesc": "S'obrirà Amber: toca Aprova per confirmar l'eliminació.", + "deleteCancelled": "Cancel·lat", + "deleteCancelledDesc": "Has rebutjat la sol·licitud a Amber.", + "deleteCouldntSign": "No s'ha pogut signar", + "deletePublishing": "Pas 2/2: s'està publicant…", + "deletePublishingDesc": "S'està enviant l'eliminació als relés.", + "deleteStuck": "Bloquejat a PUBLICANT", + "deleteStuckDesc": "El pas del relé ha fallat: {{error}}. La signatura és correcta; el relé no ho ha confirmat.", + "stashMerged": "S'han fusionat canvis d'un altre dispositiu", + "stashMergedDesc": "El teu Stash s'ha editat en un altre lloc: s'han conservat tots dos conjunts de canvis.", + "statusUpdated": "Estat actualitzat!", + "statusUpdatedDesc": "El teu estat de skate ja és visible per als altres.", + "statusFailed": "No s'ha pogut definir l'estat", + "statusCleared": "Estat esborrat", + "statusClearedDesc": "S'ha eliminat el teu estat.", + "statusClearFailed": "No s'ha pogut esborrar l'estat", + "nutzapEnabled": "Recepció de nutzaps activada", + "nutzapEnabledDesc": "Ara ja pots rebre zaps en ecash!", + "nutzapSetupFailed": "La configuració ha fallat", + "nutzapUnavailable": "L'enviament de nutzaps no està disponible", + "tokenReceived": "Token rebut", + "tokenReceivedDesc": "Token Cashu bescanviat correctament!", + "receiveFailed": "La recepció ha fallat", + "invalidAmount": "Import no vàlid", + "invalidAmountDesc": "Introdueix un import vàlid", + "tokenCreated": "Token creat", + "sendFailed": "L'enviament ha fallat", + "mintAdded": "Mint afegit", + "mintAddedDesc": "Mint afegit i marcat com a fiable correctament", + "mintAddFailed": "No s'ha pogut afegir el mint", + "mintRemoved": "Mint eliminat", + "mintRemoveFailed": "No s'ha pogut eliminar el mint", + "paymentReceived": "Pagament rebut", + "paymentReceivedDesc": "S'han rebut {{amount}} sats correctament!", + "paymentSent": "Pagament enviat", + "paymentSentDesc": "El pagament Lightning s'ha completat correctament", + "loginRequired": "Cal iniciar sessió", + "loginToFollowFounder": "Inicia sessió per seguir el fundador", + "alreadyFollowing": "Ja el segueixes", + "alreadyFollowingDesc": "Ja segueixes {{name}}!", + "couldNotComplete": "No s'ha pogut completar", + "tryAgainLower": "Torna-ho a provar.", + "couldNotLoadProfile": "No s'ha pogut carregar el perfil", + "couldNotLoadProfileDesc": "Comprova la connexió a internet i prova d'actualitzar.", + "undone": "Desfet", + "undoneDesc": "Tornat a neutral: ni amagat ni avalat.", + "confirmed": "Confirmat", + "confirmedDesc": "Avalat: surt d'aquesta cua.", + "hiddenToast": "Amagat", + "couldNotUndo": "No s'ha pogut desfer", + "couldNotConfirm": "No s'ha pogut confirmar", + "deleteFailed": "L'eliminació ha fallat", + "somethingWentWrong": "Hi ha hagut un error" + }, + "miscUi": { + "openingCamera": "S'està obrint la càmera…", + "usePhoneCamera": "Fes servir la càmera del telèfon i torna aquí", + "startingCamera": "S'està iniciant la càmera...", + "cameraAccessRequired": "Cal accés a la càmera", + "cameraAccessHint": "Permet l'accés a la càmera a la configuració del navegador o fes servir el selector de fitxers de sota.", + "cameraErrorTitle": "Error de càmera", + "cameraErrorDesc": "No s'ha pogut obrir la càmera. Comprova els permisos de l'app a Configuració.", + "cameraDeniedTitle": "Accés a la càmera denegat", + "cameraDeniedDesc": "Permet l'accés a la càmera a la configuració del navegador.", + "uploadFromGallery": "Puja des de la galeria", + "uploading": "S'està pujant...", + "usePhoto": "Fes servir la foto", + "earningPotential": "Potencial de guanys", + "qualityExcellent": "Excel·lent!", + "qualityGood": "Bé", + "qualityBasic": "Bàsic", + "qualityGettingStarted": "Per començar", + "qualityLocationAdded": "Ubicació afegida", + "qualityOnePhoto": "Com a mínim 1 foto", + "qualityThreePhotos": "3 fotos o més", + "qualityMoreAngles": "Més angles = millor", + "qualityDescription": "Descripció", + "qualityDetailedDesc": "Descripció detallada (100+ caràcters)", + "qualityContact": "Informació de contacte", + "qualityPhoneOrWebsite": "Telèfon o lloc web", + "qualityHours": "Horari d'obertura", + "qualitySpotType": "Tipus de spot seleccionat", + "failedToLoadComments": "No s'han pogut carregar els comentaris", + "commentsTitle": "Comentaris", + "noCommentsYet": "Encara no hi ha comentaris", + "beFirstComment": "Sigues el primer a compartir la teva opinió!", + "removeMember": "Treu el membre", + "whoIsThisFor": "Per a qui és aquest perfil?", + "individual": "Persona individual", + "individualDesc": "Una sola persona", + "collective": "Col·lectiu", + "collectiveDesc": "Colla, estudi o empresa", + "membersLabel": "Membres", + "dismissReport": "Descarta la denúncia", + "reportedBy": "denunciat per", + "completingLoginAmber": "S'està completant l'inici de sessió amb Amber...", + "entityMembersHint": "Afegeix els comptes Nostr de la teva colla. Cada membre confirma el seu propi lloc amb la seva clau; fins llavors apareixen com a \"pendents\".", + "entityVerifiedHint": "La pertinença es verifica membre a membre: ningú no es pot afegir a la teva colla sense confirmar-ho des del seu propi compte.", + "entityInvalidPubkey": "Introdueix un npub, nprofile o clau pública hex de 64 caràcters vàlids.", + "entityAlreadyAdded": "Aquest membre ja està afegit.", + "offline": "Fora de línia", + "connected": "Connectat", + "offlineMode": "Mode fora de línia", + "allFeaturesAvailable": "Totes les funcions disponibles", + "browsingCachedSpots": "Navegant per spots en memòria cau", + "queuedActions": "{{count}} accions a la cua", + "syncing": "S'està sincronitzant", + "publishingWhenStable": "Es publicarà quan la connexió s'estabilitzi...", + "willPublishOnline": "Es publicarà quan tornis a estar en línia", + "availableOffline": "Disponible fora de línia:", + "offlineBrowseSpots": "Navega pels spots vistos anteriorment", + "offlineViewDetails": "Consulta els detalls dels spots en memòria cau", + "offlineKeepActing": "Continua fent coses: les publicacions, confirmacions, anuncis i missatges es posen a la cua i s'envien quan et tornis a connectar" + }, + "feesUi": { + "feeFeaturedEventLabel": "Esdeveniment destacat", + "feeFeaturedEventDesc": "Destaca el teu esdeveniment a SkateSpots", + "feeFeaturedEventBenefit": "El teu esdeveniment apareix al capdamunt de la pàgina d'esdeveniments", + "feeLabProfileLabel": "Perfil Pro de The Lab", + "feeLabProfileDesc": "Destaca els teus serveis a The Lab", + "feeLabProfileBenefit": "Insígnia Pro + posició destacada quan els skaters naveguen per The Lab", + "feeFeaturedShopLabel": "Botiga destacada", + "feeFeaturedShopDesc": "Destaca la teva botiga de skate al mapa i al directori", + "feeFeaturedShopBenefit": "Insígnia de verificat + marcador destacat al mapa", + "feeFeaturedTourLabel": "Ruta destacada", + "feeFeaturedTourDesc": "Destaca la teva ruta a SkateSpots", + "feeFeaturedTourBenefit": "Insígnia Pro + posició principal quan els skaters naveguen per les rutes", + "duration7d": "7 dies", + "duration30d": "1 mes", + "duration90d": "3 mesos", + "duration365d": "12 mesos", + "metaActive": "{{label}} — Actiu", + "daysRemainingOne": "Queda {{count}} dia", + "daysRemainingMany": "Queden {{count}} dies", + "zapRequestContent": "SkateSpots {{label}} ({{tier}})", + "errGenerate": "No s'ha pogut generar la factura", + "paymentReceived": "⚡ Pagament rebut!", + "paymentReceivedDesc": "{{amount}} sats: {{label}} ja està actiu.", + "autoPayFailed": "El pagament automàtic ha fallat", + "autoPayFailedDesc": "Paga manualment amb el codi QR o la factura de sota.", + "payStatusUnknown": "Estat del pagament desconegut: potser el pagament s'ha fet. Comprova la cartera abans de tornar a pagar.", + "invoiceCopied": "Factura copiada!", + "activeBang": "{{label}} actiu!", + "chooseDuration": "Tria la durada", + "bestValue": "Millor relació qualitat-preu", + "perDay": "{{price}}/dia", + "validFor": "Vàlid per", + "amountLine": "~${{usd}} USD · a {{name}} · {{tier}}", + "payToContinue": "Paga {{amount}} sats per continuar", + "generating": "S'està generant la factura…", + "processing": "S'està processant el pagament…", + "invoiceQrAlt": "Codi QR de la factura Lightning", + "copyInvoice": "Copia la factura", + "openWallet": "Obre la cartera", + "payConnected": "Paga amb la cartera connectada", + "scanAny": "Escaneja amb qualsevol cartera Lightning", + "tryAgain": "Torna-ho a provar", + "proReceiptTitle": "🦧⚡ Sasquatch Pro: ja hi ets!", + "proReceiptPass": "Passi: {{pass}} ({{sats}} sats)", + "proReceiptActiveUntil": "Actiu fins a: {{until}}", + "proReceiptUnlocked": "Què has desbloquejat:", + "proReceiptBullet1": "• Assistent personal: llegeixo el teu Stash, colles, spots i anuncis", + "proReceiptBullet2": "• Esborranys d'accions: posa material en venda, publica l'estat d'un spot, planifica viatges (tu confirmes)", + "proReceiptBullet3": "• Respostes amb el teu context personal, no només dades públiques", + "proReceiptBullet4": "• ⚡ Dones suport directament a SkateSpots i l'ajudes a ser gratuït i sense anuncis", + "proReceiptThanks": "Gràcies per mantenir SkateSpots gratuït i sense anuncis. Ara ves a patinar. 🛹", + "proReceiptSubject": "Rebut de Sasquatch Pro", + "receiptContent": "Sasquatch Pro — passi de suport {{tier}} 🦧⚡", + "receiptAlt": "Passi de suport Sasquatch Pro ({{tier}}), vàlid fins a {{until}}", + "purchaseComment": "Sasquatch Pro — {{tier}} 🦧", + "errLogin": "Inicia sessió per passar a Pro.", + "errStart": "No s'ha pogut iniciar la compra.", + "errRecord": "No s'ha pogut registrar el teu passi." + } +}; + +export default batch1; diff --git a/src/i18n/ca/batch2.ts b/src/i18n/ca/batch2.ts new file mode 100644 index 0000000..074fb84 --- /dev/null +++ b/src/i18n/ca/batch2.ts @@ -0,0 +1,1491 @@ +const batch2 = { + socialUi: { + agentPanel: { + spot: "Spot", + event: "Esdeveniment", + labPro: "Lab pro", + gear: "Material", + crew: "Crew", + description: "Coneix aquesta crew: les seves jams, el roster i la crida oberta, i també l'escena més àmplia amb dades en directe.", + greeting: "Ei! Soc el Sasquatch, el guia de {{crew}}. Pregunta'm per la crew —la propera jam, qui la porta, què busquem— o per l'escena més àmplia.", + suggestion1: "Quina és la propera jam?", + suggestion2: "Qui porta aquesta crew?", + suggestion3: "Què estem buscant?", + suggestion4: "Els millors spots a prop?", + suggestion5: "Quin temps fa per patinar?", + thinking: "El Sasquatch està pensant…", + placeholder: "Pregunta per l'escena local…", + disclaimer: "La IA pot equivocar-se: els enllaços porten a anuncis reals." + }, + badge: { + upcomingOne: "{{count}} esdeveniment proper", + upcomingMany: "{{count}} esdeveniments propers", + comingOne: "{{count}} esdeveniment en camí", + comingMany: "{{count}} esdeveniments en camí" + }, + bell: { + youAreIn: "Ja ets a {{crew}}! 🛹", + membershipConfirmed: "Membresia confirmada.", + couldNotConfirm: "No s'ha pogut confirmar", + addedYouTo: "t'ha afegit a", + confirmToAppear: "Confirma per aparèixer com a membre.", + notifications: "Notificacions", + notificationsNew: "Notificacions ({{count}} noves)", + unreadCount: "{{count}} notificacions sense llegir", + markRead: "Marca com a llegit", + allClear: "Tot al dia", + tabAll: "Tot", + tabTrades: "Intercanvis", + tabSocial: "Social", + tabNews: "Notícies", + tabCrews: "Crews", + checkingUpdates: "Buscant actualitzacions…", + checkingTrades: "Buscant ofertes i intercanvis…", + loadingDrops: "Carregant les últimes novetats…", + emptyAll: "Les ofertes, intercanvis, zaps, respostes, butlletins i l'activitat de la crew apareixeran aquí.", + emptyTrades: "Les ofertes, contraofertes i confirmacions d'intercanvi arriben aquí, tant si vens com si compres o canvies.", + emptySocial: "Els zaps, reaccions, reposts, mencions, respostes, confirmacions d'assistència i actualitzacions dels amfitrions arriben aquí.", + emptyNews: "Els butlletins de SkateSpots arribaran aquí. Subscriu-te a la pàgina del butlletí.", + emptyCrews: "Les invitacions de crew, les sol·licituds col·lectives i les sol·licituds de membresia apareixeran aquí.", + subscribeBanner: "Subscriu-te per rebre les novetats a la campana", + read: "Llegit", + allCaughtUp: "Estàs al dia" + }, + chat: { + hidden: "Amagat", + hideMessageAria: "Amaga aquest missatge", + hideMessageTitle: "Amaga el missatge (admin)", + messageHidden: "Missatge amagat", + messageHiddenDesc: "Amagat del xat de la crew per a tothom.", + messageHideFailed: "No s'ha pogut amagar el missatge", + encryptionUnavailable: "Xifratge no disponible", + encryptionUnavailableDesc: "El teu signador no admet el xifratge NIP-44. Actualitza l'extensió.", + messageFailed: "El missatge ha fallat", + couldNotSend: "No s'ha pogut enviar el missatge.", + noOneToMessage: "Encara no hi ha ningú a qui escriure", + noOneToMessageDesc: "Aquesta crew no té altres membres amb qui xatejar.", + subject: "Xat de la crew {{crew}}", + title: "Xat de la crew", + cordnBadgeTitle: "Enviat a través del coordinador Cordn d'aquesta crew amb ContextVM. Xifrat d'extrem a extrem.", + private: "Privat", + privateBadgeTitle: "Xifrat d'extrem a extrem: només els membres de la crew poden llegir aquests missatges.", + encryptedCordn: "Xifrat i enviat a través del coordinador de la crew (Cordn): cap missatge passa pels relays públics.", + encryptedNip17: "Xat de grup xifrat per al fundador i tots els membres de la crew.", + moderatorNote: " Com a moderador, pots amagar missatges de la crew.", + loginToSee: "Inicia sessió per veure si pots unir-te al xat de la crew.", + membersOnly: "Aquest xat és privat per als membres de la crew. Demana al fundador que t'afegeixi a la crew per participar-hi.", + noMessages: "Encara no hi ha missatges. Engega el xat de la crew: planifica una sessió, comparteix un spot, presumeix d'un clip.", + newMessages: "Missatges nous", + new: "Nou", + placeholder: "Escriu a la teva crew…", + sendAria: "Envia el missatge" + }, + collectiveJoinRequest: { + addedTitle: "Has afegit {{name}} a {{collective}} 🛹", + addedDesc: "Confirmarà des del seu costat per aparèixer com a membre verificat.", + couldNotAdd: "No s'ha pogut afegir el membre", + couldNotDismiss: "No s'ha pogut descartar", + addedDone: "Afegit", + addedTo: "a", + dismissedDone: "Sol·licitud de {{name}} descartada", + wantsToJoin: "vol unir-s'hi", + alreadyOnRoster: "Ja és al roster", + openCollective: "Obre el col·lectiu", + dismiss: "Descarta", + addToCollective: "Afegeix al col·lectiu" + }, + collectiveMembers: { + confirmed: "Confirmat", + pending: "Pendent", + pendingTooltip: "Llistat pel col·lectiu: pendent de la confirmació d'aquest membre.", + crewOnly: "Només crew", + crewOnlyTooltip: "Aquest membre ha triat ser visible només per als seus companys de crew. El veus perquè ets a la crew.", + hiddenMember: "Membre ocult", + title: "Membres", + verifiedOf: "{{confirmed}} de {{total}} verificats: cada membre confirmat ha signat amb la seva pròpia clau Nostr.", + verifiedPerMember: "La membresia es verifica per membre. Cada membre confirma amb la seva pròpia clau Nostr.", + adminsOne: "{{count}} admin ajuda a portar la crew.", + adminsMany: "{{count}} admins ajuden a portar la crew." + }, + confirmMembership: { + public: "Públic", + crewOnly: "Només crew", + confirmedTitle: "Membresia confirmada!", + confirmedCrew: "Estàs verificat a {{name}}: visible només per als companys de crew.", + confirmedPublic: "Ara apareixes com a membre verificat de {{name}}.", + failed: "No s'ha pogut confirmar", + addedTo: "T'han afegit a {{name}}", + addedDesc: "Confirma la teva membresia perquè aparegui com a verificada al teu perfil i al seu.", + yourVisibility: "La teva visibilitat", + confirming: "Confirmant…", + confirmButton: "Confirma la membresia" + }, + contacts: { + message: "Missatge", + removePrivate: "Treu dels contactes privats", + savePrivate: "Desa als contactes privats", + seoTitle: "Contactes - SkateSpots", + seoDescription: "La teva escena: companys de crew, gent que segueixes i converses recents, amb contactes privats xifrats.", + encryptionUnavailableDesc: "El teu signador no admet el xifratge NIP-44.", + removed: "Tret dels contactes privats", + saved: "Desat als contactes privats", + savedDesc: "Només tu pots veure aquesta llista.", + updateFailed: "No s'han pogut actualitzar els contactes", + loginTitle: "La teva escena, en un sol lloc", + loginDesc: "Inicia sessió per veure els teus companys de crew, la gent que segueixes i les converses recents, i mantén una llista de contactes privada i xifrada.", + title: "Contactes", + subtitle: "La teva escena: companys, seguiments i converses", + filterPlaceholder: "Filtra per npub…", + tabCrew: "Crew", + tabFollows: "Seguiments", + tabDms: "MD", + tabSaved: "Desats", + emptyCrewmates: "Encara no tens companys de crew. Uneix-te a una crew o crea'n una per fer créixer la teva xarxa.", + emptyFollowing: "Encara no segueixes ningú.", + emptyDms: "Encara no hi ha converses. Escriu a un patinador per començar-ne una.", + savedHint: "Aquesta llista està xifrada amb la teva clau: només tu la pots llegir. Toca l'estrella de qui vulguis per afegir-lo.", + emptySaved: "Encara no hi ha contactes desats. Marca persones amb l'estrella des de qualsevol pestanya per crear la teva agenda privada." + }, + conversation: { + unknown: "Desconegut", + seoTitle: "Xat amb {{name}} - SkateSpots", + seoDescription: "Conversa privada xifrada", + sendFailed: "No s'ha pogut enviar el missatge", + sendFailedDesc: "Torna-ho a provar d'aquí un moment.", + tradeConfirmed: "Intercanvi confirmat", + tradeConfirmedDesc: "Reputació actualitzada per a tots dos.", + tradeConfirmFailed: "No s'ha pogut confirmar l'intercanvi", + somethingWrong: "Alguna cosa ha fallat.", + soldNote: "Venut a {{name}}.", + saleConfirmed: "Venda confirmada", + saleConfirmedDesc: "{{name}} ja pot confirmar la seva part.", + saleConfirmFailed: "No s'ha pogut confirmar la venda", + escrowRedeemed: "Dipòsit en garantia bescanviat", + escrowRedeemedDesc: "Els fons ja són al teu moneder Cashu.", + escrowRedeemFailed: "No s'ha pogut bescanviar el dipòsit en garantia", + loginTitle: "Inicia sessió per veure els missatges", + secureLoginTitle: "Cal un inici de sessió segur", + secureLoginDesc: "Els missatges requereixen una app signadora segura.", + encrypted: "Xifrat", + refresh: "Actualitza", + didCompleteTrade: "Has completat aquest intercanvi?", + recordedSale: "{{name}} ha registrat la venda. Confirma-ho per actualitzar la reputació de tots dos.", + confirm: "Confirma", + confirmSale: "Vols confirmar aquesta venda?", + askedToRecord: "{{name}} t'ha demanat que ho registris. Confirmar-ho dona reputació a tots dos.", + confirmSaleButton: "Confirma la venda", + redeemEscrow: "Bescanvia el dipòsit en garantia", + escrowAppOnly: "El dipòsit en garantia de Cashu només funciona a l'app: obre SkateSpots al mòbil per bescanviar-lo.", + startThread: "Envia un missatge per iniciar la conversa", + placeholder: "Escriu un missatge...", + e2eeNote: "Els missatges estan xifrats d'extrem a extrem amb NIP-17" + }, + coordinator: { + secondsAgo: "fa {{count}} s", + minutesAgo: "fa {{count}} min", + hoursAgo: "fa {{count}} h", + daysAgo: "fa {{count}} d", + statusIdle: "No comprovat", + statusChecking: "Comprovant…", + statusOnline: "Connectat", + statusStale: "Silenciós", + statusOffline: "No vist", + statusError: "Inabastable", + notACoordinator: "Això no és un coordinador", + notACoordinatorDesc: "Enganxa un nprofile, un npub o un enllaç de cordn.net.", + added: "Coordinador afegit", + relayOne: "{{count}} relay", + relayMany: "{{count}} relays", + lastSeen: "vist per última vegada {{time}}", + onlineDesc: "S'està anunciant. Els grups que el fan servir poden lliurar missatges ara.", + staleDesc: "S'ha trobat, però no s'anuncia recentment: potser està adormit.", + offlineDesc: "No s'ha vist cap anunci. Pot ser privat (cap problema) o simplement estar fora de línia.", + errorDesc: "No s'han pogut assolir els relays.", + idleDesc: "Comprovant…", + checkingDesc: "Buscant el seu anunci…", + eventFoundOne: "{{count}} esdeveniment trobat.", + eventFoundMany: "{{count}} esdeveniments trobats.", + check: "Comprova", + addLinkCopied: "Enllaç per afegir copiat", + copyFailed: "No s'ha pogut copiar", + copyManually: "Copia-ho manualment.", + addLink: "Enllaç per afegir", + removeConfirm: "Vols treure aquest coordinador d'aquest dispositiu?", + scanToJoin: "Escaneja a Cordn per unir-te a aquest coordinador.", + noCoordinator: "Encara no hi ha cap coordinador", + noCoordinatorDescA: "Un coordinador lliura els missatges", + encryptedWord: "xifrats", + noCoordinatorDescB: "de grup de la teva crew en ordre. Veu qui, quan i quin grup, però mai el contingut. Tria'n un o posa'n un de propi.", + change: "Canvia de coordinador", + addTitle: "Afegeix un coordinador", + add: "Afegeix", + scanQR: "Escaneja un QR de coordinador", + inputPlaceholder: "nprofile… o un enllaç de cordn.net", + runOwn: "Posa'n un de propi", + runOwnDesc: "Pot viure en un mòbil vell, una Raspberry Pi o qualsevol caixa petita que deixis engegada. El teu grup segueix funcionant mentre estigui actiu, i pots moure el grup quan vulguis.", + onPhone: "En un mòbil", + onPhoneDesc: "Fes servir l'app Cordn Coordinator i escaneja'n el QR aquí per afegir-lo.", + ourDefaultTitle: "Coordinador de SkateSpots", + ourDefaultDesc: "SkateSpots gestiona un coordinador a relay.skate-spots.org. Fes-lo servir per defecte o posa'n un de propi: un coordinador només veu text xifrat i metadades, mai els teus missatges.", + useOurs: "Fes servir el coordinador de SkateSpots", + openCordn: "Obre Cordn", + scanItsQR: "Escaneja'n el QR", + onServer: "En un servidor", + commandCopied: "Comanda copiada", + copyCommand: "Copia la comanda", + androidSleep: "Android pot adormir un coordinador en un mòbil. Compta que hauràs de moure el grup de tant en tant.", + privacyNote: "🔒 Un coordinador només veu text xifrat i metadades, mai el contingut dels missatges. Posa'n un de propi perquè fins i tot les metadades siguin teves.", + customTitle: "Coordinador de xat personalitzat", + customBadge: "· experimental · relay propi", + customDescShort: "Opcional: la teva crew ja té xat xifrat d'extrem a extrem integrat, així que no cal. Configura'l només si tens el teu propi", + remove: "Treu", + pointerNote: "De moment només és un punter: un endpoint wss:// s'usa com a relay de xat de la crew; un https://, via el relay ContextVM compartit. El MLS real de Cordn encara no està connectat.", + cordnCoordinator: "Coordinador Cordn", + invalid: "Això no sembla un coordinador. Enganxa un nprofile, un enllaç de cordn.net o una URL https/wss.", + useMine: "Fes servir el meu coordinador" + }, + createCrew: { + seoTitle: "Crea una crew - SkateSpots", + seoDescription: "Crea la teva crew de skate: territori, membres i spots.", + loginRequired: "Cal iniciar sessió", + loginRequiredDesc: "Has d'iniciar sessió per crear una crew.", + backToCrews: "Torna a les crews", + title: "Crea una crew", + intro: "La teva família skater: la gent amb qui patines. Amb un nom ja pots començar; la resta és opcional." + }, + crew: { + seoTitleNamed: "{{name}} - Crew de SkateSpots", + seoTitle: "Crew - SkateSpots", + seoDescription: "Una crew de skate a SkateSpots.", + postHidden: "Publicació amagada", + postHiddenDesc: "Treta del feed de la crew per a tothom.", + postHideFailed: "No s'ha pogut amagar la publicació", + backToCrews: "Torna a les crews", + disband: "Dissol", + youAreCaptain: "Ets capità", + member: "Membre", + askSasquatch: "Pregunta al Sasquatch", + agent: "Agent de la crew", + agentDesc: "El guia d'IA de la teva crew: spots a prop, esdeveniments, entrenadors i material, amb dades en directe.", + eventsTab: "Esdeveniments", + chatTab: "Xat", + newMessages: "Missatges nous", + hostJam: "Organitza una jam", + noEvents: "Encara no hi ha esdeveniments de la crew. Organitza una jam, un campionat o una quedada com a crew: connecta la teva crew al calendari d'esdeveniments i permet que la gent hi enviï zaps.", + support: "Suport", + zapCrew: "Envia un zap a la crew", + bandTitle: "Banda de la crew", + bandTagline: "Música en directe · skate i so", + listenTitle: "Escolta: {{domain}}", + listen: "Escolta la música", + setUpGig: "Organitza un concert", + bookGigMessage: "Ei {{crew}}, ens interessa contractar {{band}} per a un concert. Tens temps per parlar de dates?", + messageAboutGig: "Missatge sobre un concert", + gigHintA: "afegeix un esdeveniment de música al calendari organitzat per aquesta crew.", + messageShort: "Missatge", + gigHintB: "obre un MD xifrat a la crew per quadrar dates i detalls.", + homeSpots: "Spots de casa", + viewSpot: "Veure el spot", + seeOnMap: "Veure al mapa →", + founderLinks: "Fundador i enllaços", + startedBy: "Creada per {{name}}", + opens: "Obre: {{domain}}" + }, + crews: { + seoTitle: "Crews - SkateSpots", + seoDescription: "Troba la teva gent. Descobreix crews de skate, col·lectius i comunitats a prop teu.", + videoPartTooltip: "Aquesta crew té una part de vídeo", + part: "Part", + bandTooltip: "Banda de la crew: {{name}}", + band: "Banda", + focusAll: "Tot", + focusAllShort: "Tot", + focusDiy: "DIY", + focusPhoto: "Foto", + focusCoaching: "Entrenament", + focusArt: "Art", + focusMusic: "Música", + focusPhysio: "Fisio", + focusMixed: "Mixt", + title: "Crews", + heroLine: "La teva família skater ancorada al mapa: la gent amb qui", + heroWith: "patines", + heroRest: ", no qui contractes (això és The Lab).", + crewCountOne: "{{count}} crew", + crewCountMany: "{{count}} crews", + cityCountOne: "{{count}} ciutat", + cityCountMany: "{{count}} ciutats", + createCrew: "Crea una crew", + create: "Crea", + searchPlaceholder: "Cerca crews per nom o ciutat…", + filterTitle: "Filtra les crews", + filterDesc: "Què li agrada a la crew.", + nearMe: "A prop meu", + emptySearchTitle: "Cap crew coincideix amb la cerca", + emptySearchHint: "No s'ha trobat res per «{{query}}». Prova un altre nom o ciutat.", + clearSearch: "Esborra la cerca", + emptyFocusTitle: "Encara no hi ha crews de {{label}}", + emptyFocusHint: "Aquí encara ningú no aixeca la bandera «{{label}}». Mostra totes les crews o crea'n una tu.", + showAll: "Mostra totes les crews", + claimTitle: "Reclama la teva escena local", + claimHint: "Encara no hi ha crews aquí. Sigues el primer: crea la teva crew, enllaça els teus spots de casa i posa la teva escena al mapa perquè tothom la trobi." + }, + crewCoordinator: { + privateChat: "Xat privat de la crew", + encryptedChat: "Xat xifrat", + privateChatName: "Xat privat", + privateChatDesc: "Xat de grup amb secret de reenviament (MLS) a través d'un coordinador.", + privateChatDescFull: "Un admin crea el xat privat una vegada i després els membres s'hi uneixen.", + chatRowDesc: "Tothom de la crew: segellat amb la clau de cada membre (NIP-17).", + openChat: "Obre", + setUpChat: "Configura", + joinChat: "Uneix-t'hi", + checking: "Comprovant…", + openInAnotherApp: "Obre en una altra app", + on: "A", + defaultA: "La pestanya", + chatWord: "Xat", + defaultB: "està", + e2ee: "xifrada d'extrem a extrem", + defaultC: "per al fundador i tots els membres llistats: no cal configurar res. Els missatges es segellen amb la clau de cada membre (NIP-17), així que només la teva crew els pot llegir.", + advancedA: "Avançat: posa'n un de propi", + cordnCoordinator: "Coordinador Cordn", + routeThrough: "Fes-hi passar el xat", + coordinator: "Coordinador", + deliveredOver: "Lliurat per", + sharedRelay: ": el relay compartit de ContextVM.", + ownRelay: ": el relay propi de la teva crew.", + chatLive: "El xat privat està actiu", + routesA: "La pestanya", + routesB: "passa per aquest coordinador: els missatges van xifrats d'extrem a extrem (NIP-44, segellats per a cada membre), així que només gestiona trànsit segellat.", + publicWarning: "Atenció: s'adreça a través del relay compartit de ContextVM, així que el text xifrat i les seves metadades (quina crew i quan) són visibles públicament, tot i que no llegibles. Apunta la crew a un relay wss:// privat per mantenir-ho tot privat.", + ownRelaySafe: "Res específic de la crew surt del relay propi de la crew.", + manage: "Gestiona el coordinador", + open: "Obre {{domain}}", + openInCordnWeb: "Cordn (web)", + openCordnGroup: "Obre el xat de la crew", + copyForStaircase: "Copia per a Staircase", + runBy: "Coordinador gestionat per" + }, + dms: { + securityReminder: "Recordatori de seguretat", + phishingStrong: "SkateSpots mai t'enviarà un MD", + phishingRest: "per demanar-te que verifiquis el compte, comparteixis les claus o facis pagaments. Si algú diu ser suport de SkateSpots per MD, és una estafa.", + dismissReminder: "Descarta el recordatori de seguretat", + peopleCount: "{{count}} persones", + youPrefix: "Tu: ", + unreadMessages: "Missatges sense llegir", + seoTitle: "Missatges - SkateSpots", + seoDescription: "Missatges privats xifrats amb la comunitat skater", + loginTitle: "Inicia sessió per accedir als missatges", + loginDesc: "Missatgeria privada i xifrada amb patinadors de la comunitat", + secureLoginTitle: "Cal un inici de sessió segur", + secureLoginDesc: "Els missatges privats requereixen una app signadora segura per xifrar les converses.", + onAndroid: "A Android:", + useAmber: "Fes servir l'app Amber", + getAmber: "Aconsegueix Amber →", + onIOS: "A iOS:", + iosHint: "Prova d'iniciar sessió amb una connexió bunker (nsec.app) des de Configuració", + browserHint: "Prova d'iniciar sessió amb una extensió del navegador com Alby o nos2x que admeti xifratge.", + title: "Missatges", + subtitleFull: "Xifrat d'extrem a extrem amb NIP-17", + subtitleShort: "Xifrat", + newMessage: "Missatge nou", + groups: "Grups", + refresh: "Actualitza", + crews: "Crews", + crewFounder: "Fundador", + crewMember: "Membre", + crewOpen: "Obre", + crewSetUp: "Configura", + loadFailed: "No s'han pogut carregar els missatges", + emptyTitle: "Encara no hi ha missatges", + emptyDesc: "Inicia una conversa amb algú de la comunitat", + startConversation: "Inicia una conversa", + undecryptableOne: "El teu signador no ha pogut obrir {{count}} missatge xifrat.", + undecryptableMany: "El teu signador no ha pogut obrir {{count}} missatges xifrats." + }, + editCrew: { + seoTitleNamed: "Edita {{name}} - SkateSpots", + seoTitle: "Edita la crew - SkateSpots", + seoDescription: "Edita la teva crew de skate.", + loginRequired: "Cal iniciar sessió", + notYours: "No és la teva crew", + notYoursDesc: "Només el fundador de la crew pot editar-la.", + backToCrew: "Torna a la crew", + title: "Edita la crew" + }, + form: { + add: "Afegeix", + added: "Afegit", + addNameInBasicsA: "Torna a posar un nom de crew a", + addNameInBasicsB: "per acabar.", + adminsDescA: "Fes que membres de confiança siguin", + adminsWord: "admins", + adminsDescB: "poden convidar membres i moderar el feed i el xat de la crew amb les seves pròpies claus. Tu (el fundador) sempre ets el propietari de la identitat de la crew.", + agentDescA: "Afegeix", + agentDescB: ", un guia d'IA que realment coneix la teva crew. Els membres poden preguntar per", + agentDescC: "i també per spots a prop, esdeveniments, entrenadors i material amb dades en directe de SkateSpots. Funciona al navegador; sense claus ni configuració. És aviat (IA gratuïta, així que de vegades va lenta).", + agentDescStrong: "la propera jam, qui porta la crew, què busqueu i el vostre rotllo", + agentEnabledNote: "El Sasquatch apareixerà a la pàgina de la crew quan desis.", + bandDesc: "Tens una banda? Les escenes de skate i la música local van de la mà: posa el nom de la teva banda i un enllaç a la música.", + bandFooterA: "Per a un perfil de banda complet (gèneres, instruments, concerts), crea un", + musicianWord: "Músic", + bandFooterB: "a The Lab i enllaça'l a la secció", + linkedLabWord: "Perfils de Lab enllaçats", + bandFooterC: "de dalt.", + bandMusicWord: "Banda i música", + bandName: "Nom de la banda", + bandNamePlaceholder: "p. ex. The Bail Outs", + bandNudgeA: "Tens una banda: toca per configurar el teu", + crewTypeWord: "Tipus de crew", + bandNudgeB: "a", + bandNudgeC: "perquè també surtis a l'escena de Música de The Lab.", + beta: "Beta", + bioLabel: "Sobre nosaltres / Manifest", + bioPlaceholder: "Qui ets, què patines, la teva història...", + continue: "Continua", + crewCreated: "Crew creada!", + crewUpdated: "Crew actualitzada!", + crewName: "Nom de la crew", + cordnGroup: "Grup de Cordn", + cordnGroupHint: "Opcional: enganxa l'enllaç del grup de Staircase o de Cordn web. Així la teva crew tindrà xat MLS real d'extrem a extrem, allotjat al nostre coordinador.", + crewOnlyWord: "Només crew", + crewType: "Tipus de crew", + crewTypeDescA: "La teva crew se centra en un ofici? Tria'n un perquè també surti en aquesta escena a", + theLab: "The Lab", + crewTypeDescB: ". Les crews de skate normals es queden a", + mixedWord: "Mixt", + crewTypeDescC: ".", + customVibeHint: "Afegeix el teu propi rotllo o enfocament amb un #", + customVibePlaceholder: "p. ex. baixades, sessions nocturnes, no-comply", + editDesc: "La identitat de la teva crew, el seu territori i els seus membres", + enableAgent: "Activa l'agent de la crew", + enableTreasury: "Activa la tresoreria de la crew", + failed: "Ha fallat", + founded: "Fundada (any)", + geolocationUnsupported: "Geolocalització no compatible", + gettingLocation: "Obtenint...", + goalHint: "Assegura't que el teu perfil Nostr tingui una adreça Lightning (lud16) perquè hi arribin les contribucions.", + goalPlaceholder: "p. ex. Formigonar el spot DIY", + goalTarget: "Objectiu (sats)", + goalWhat: "Quin és l'objectiu?", + homeSpots: "Spots de casa", + homeSpotsDesc: "Enllaça els spots que freqüenta la teva crew: es connectaran amb la crew al mapa", + homeTurf: "Territori (ciutat / zona)", + homeTurfPlaceholder: "Bristol, Regne Unit", + instagramDetected: "Clip d'Instagram detectat", + invalidMember: "Introdueix un npub, nprofile o pubkey hex vàlid.", + latitude: "Latitud", + leaveBlankLocation: "Deixa-ho buit per mantenir la ubicació actual del territori.", + links: "Enllaços", + locationError: "Error d'ubicació", + locationFound: "Ubicació trobada", + logoAlt: "Crew", + logoHint: "Un logotip fa que la teva crew sigui reconeixible al mapa i als feeds. Millor quadrat.", + logoLabel: "Logotip / foto de la crew", + logoUploaded: "Logotip pujat", + longitude: "Longitud", + looksGood: "Sembla bé", + makeAdmin: "Fes admin", + mapPin: "Punt al mapa", + mapPinHint: "Posa la teva crew al mapa perquè la gent local et trobi. Toca el botó: no cal escriure res.", + memberAlreadyAdded: "Aquest membre ja està afegit.", + members: "Membres", + membersDesc: "Afegeix els comptes Nostr de la teva crew. Cada membre confirma amb la seva pròpia clau; fins llavors apareix com a «pendent».", + musicLink: "Enllaç de música", + nameCrew: "Posa nom a la teva crew", + nameCrewDesc: "Una crew necessita un nom per continuar.", + nameCrewFirst: "Posa nom a la teva crew primer", + nameHint: "L'única cosa que realment necessites. La pots canviar després.", + namePlaceholder: "p. ex. Backyard Bandits", + nameRequired: "Cal un nom", + nameRequiredDesc: "Posa un nom a la teva crew.", + nip05DescA: "Un identificador verificable que controles en qualsevol domini, p. ex.", + nip05DescB: ". Es verifica contra la clau del fundador d'aquesta crew i en pots afegir uns quants: cadascun mostra una marca verda quan el seu domini el confirma.", + nip05Label: "NIP-05 de la crew", + nip05Placeholder: "crew@elteudomini.com", + nip05Add: "Afegeix", + nip05Invalid: "Introdueix un identificador com crew@elteudomini.com", + nip05TooMany: "Pots afegir fins a {{count}} identificadors.", + nip05Unverified: "No comprovat", + nip05Remove: "Treu {{handle}}", + notAKeyA: "Això encara no sembla una clau Nostr: enganxa un", + notAKeyB: ",", + notAKeyC: "o una pubkey hex.", + onlyYouTubeInstagram: "Només s'admeten enllaços de YouTube i Instagram.", + openCall: "Crida oberta", + openCallDescA: "Busques un filmer, editor o sang nova? Fes una crida: sortirà a la pàgina de la crew perquè gent que encaixi de", + openCallDescB: "es pugui posar en contacte.", + optional: "· opcional", + optionalParen: "(opcional)", + otherSocials: "Altres xarxes", + otherSocialsDesc: "Afegeix-ne tantes com vulguis: YouTube, TikTok, Discord, Telegram, etc.", + ownVisibility: "visibilitat pròpia", + progress: "Progrés", + publicWord: "Públic", + publishedToScene: "Publicat a l'escena.", + publishFailed: "No s'ha pogut publicar", + publishing: "Publicant...", + ready: "A punt", + readyToRollA: "A punt per sortir: toca", + readyToRollB: "quan vulguis.", + removeAdminRole: "Treu el rol d'admin", + removeMember: "Treu el membre", + removeSocial: "Treu l'enllaç social", + removeVibe: "Treu {{vibe}}", + roles: "Rols:", + sasquatch: "Sasquatch", + saveCrew: "Desa la crew", + skipToEnd: "Salta al final", + socialPlaceholder: "@usuari o enllaç", + sponsorDesc: "Si una botiga local dona suport a la teva crew, tria-la aquí per mostrar una banda «Patrocinat per» que enllaci a la seva botiga.", + stepAria: "Pas {{step}}: {{title}}", + stepBasics: "El bàsic", + stepBasicsShort: "Bàsic", + stepBasicsHint: "Només l'essencial: pots crear una crew amb aquest pas.", + stepVibe: "Identitat i rotllo", + stepVibeShort: "Rotllo", + stepVibeHint: "Com apareix la teva crew a l'app. Tot opcional.", + stepSquad: "Colla i spots", + stepSquadShort: "Colla", + stepSquadHint: "Afegeix la teva gent i el teu territori. Sempre ho pots fer després.", + stepExtras: "Extres", + stepExtrasShort: "Extres", + stepExtrasHint: "Millores per després: salta el que no tinguis clar.", + extrasAllOptional: "Tot en aquest pas és opcional.", + groupIdentity: "Identitat", + groupIdentityHint: "Identificador, enllaços", + groupAi: "IA Sasquatch", + groupShowcase: "Aparador", + groupPayments: "Pagaments i tresoreria", + groupIntegrations: "Integracions", + groupAdvanced: "Avançat", + groupAdvancedHint: "experimental", + pro: "Pro", + agentProNote: "Amb la tecnologia de Sasquatch. Pro té els millors models; sense Pro fa servir una alternativa gratuïta.", + stepOf: "Pas {{step}} de {{total}}", + treasuryDescA: "Recapta sats per un objectiu comú: arreglar el spot DIY local, un viatge de la crew, un pot de premis d'un campionat. És un objectiu Lightning transparent; els zaps van", + treasuryDescStrong: "directament al teu moneder", + treasuryDescB: "(a través de l'adreça Lightning del teu perfil). SkateSpots mai reté els fons.", + upload: "Puja", + uploadFailed: "No s'ha pogut pujar", + useCurrentLocation: "Fes servir la ubicació actual", + vibeLabel: "Rotllo / enfocament", + videoDescA: "La part completa de la teva crew, un muntatge o l'últim clip. Enganxa un enllaç de", + videoDescB: "i es reproduirà directament a la pàgina de la crew.", + visibilityDescA: "Cada membre controla la seva", + visibilityDescB: "quan confirma amb la seva clau pot triar", + visibilityDescC: "(amagat dels de fora). No ho pots decidir tu: és cosa seva.", + website: "Web", + yourRoles: "Els teus rols (líder de l'equip)", + youtubeDetected: "Vídeo de YouTube detectat", + invalidUrl: "Introdueix un enllaç vàlid (p. ex. https://example.com)." + }, + groupConversation: { + seoTitle: "Xat de grup - SkateSpots", + invalidLink: "Aquest enllaç de xat de grup no és vàlid.", + loginTitle: "Inicia sessió per veure aquest grup", + secureSignerTitle: "Cal un signador segur", + secureSignerDesc: "Els missatges de grup necessiten un signador compatible amb NIP-44.", + encryptedGroup: "Grup xifrat d'extrem a extrem", + empty: "Encara no hi ha missatges: saluda el grup.", + placeholder: "Escriu al grup..." + }, + hero: { + established: "Des de {{year}}", + teamLeader: "Líder de l'equip: {{name}}", + ledBy: "Liderada per" + }, + inviteCard: { + acceptedTitle: "Invitació acceptada 🛹", + acceptedDesc: "El fundador de la crew confirma els membres a {{crew}}. Apareixeràs al roster quan t'aprovi.", + couldNotAccept: "No s'ha pogut acceptar", + couldNotDecline: "No s'ha pogut rebutjar", + acceptedDone: "Acceptada:", + confirmsMembers: "confirma els membres", + declinedDone: "Invitació a {{crew}} rebutjada", + invitedYou: "t'ha convidat a unir-te a", + admin: "Admin", + accept: "Accepta", + decline: "Rebutja" + }, + inviteDialog: { + messageIntro: "Ei, uneix-te a la crew {{crew}} a SkateSpots 🛹", + messageBody: "Inicia sessió amb la teva clau Nostr i sol·licita unir-te des de la pàgina de la crew.", + copyFailed: "No s'ha pogut copiar", + shareTitle: "Uneix-te a {{crew}}", + sentTitle: "Invitació enviada! 🛹", + sentDesc: "Rebrà una notificació per acceptar o rebutjar.", + couldNotSend: "No s'ha pogut enviar la invitació", + trigger: "Convida", + title: "Convida a {{crew}}", + description: "Envia una invitació a la clau Nostr d'algú o comparteix un enllaç.", + sendTab: "Envia la invitació", + shareTab: "Comparteix l'enllaç", + npubLabel: "npub del patinador", + invalidNpub: "Això no sembla un npub vàlid.", + noteLabel: "Nota", + optional: "(opcional)", + notePlaceholder: "Vine a patinar amb nosaltres…", + inviteAsAdmin: "Convida com a admin", + inviteAsAdminDesc: "Pot gestionar la crew i convidar altres persones.", + sendButton: "Envia la invitació", + sendFooter: "Rebrà una notificació per acceptar o rebutjar. La membresia només compta quan accepta.", + inviteLink: "Enllaç d'invitació", + messageLabel: "Missatge", + copyMessage: "Copia el missatge", + founderHint: "Com a fundador, també pots afegir directament la clau d'un membre i després ell confirma.", + addMemberSettings: "Afegeix un membre a la configuració de la crew" + }, + joinRequest: { + moreCount: "+{{count}} més", + addedTitle: "Has afegit {{name}} a {{crew}} 🛹", + addedDesc: "Confirmarà des del seu costat per aparèixer com a membre.", + vouchedTitle: "Has avalat {{name}} 🤝", + vouchedDesc: "El fundador de {{crew}} veurà el teu aval i podrà afegir-lo.", + couldNotEndorse: "No s'ha pogut avalar", + endorsedDoneA: "Has avalat", + endorsedDoneB: ": el fundador confirmarà", + vouchedBy: "Avalat per", + approveAndAdd: "Aprova i afegeix", + addToCrew: "Afegeix a la crew", + vouchedWaiting: "Avalat: pendent del fundador", + vouchForThem: "Avala'l", + leadershipOnly: "Només per a la direcció de la crew.", + adminHelp: "Els admins no poden afegir membres directament: avalar indica al fundador que dones suport a aquest rider." + }, + leadership: { + teamLeader: "Líder de l'equip", + captain: "Capità", + verifiedMember: "Membre verificat", + messageName: "Envia un missatge a {{name}}", + title: "Direcció", + captainsOne: "{{count}} capità", + captainsMany: "{{count}} capitans", + footer: "El líder de l'equip porta el roster; els capitans ajuden a convidar, organitzar jams i mantenir la crew en ordre." + }, + linkField: { + title: "Crew enllaçada", + description: "També portes una crew? Enllaça-la perquè la gent pugui saltar entre el teu estudi i la teva crew. Opcional. Enllaça aquesta crew de tornada al perfil des de l'editor de crew i apareixerà una insígnia verda", + descriptionRest: "a tots dos.", + none: "Encara no tens cap crew. Crea'n una a la pàgina de crews per enllaçar-la aquí.", + linkedCrew: "Crew enllaçada ({{id}})" + }, + lookingFor: { + title: "Crida oberta", + subtitle: "Aquesta crew busca:" + }, + memberVisibility: { + updatedTitle: "Visibilitat actualitzada", + updatedCrew: "Ara apareixes només per als companys de crew.", + updatedPublic: "Ara apareixes públicament en aquesta crew.", + couldNotUpdate: "No s'ha pogut actualitzar", + title: "La teva visibilitat en aquesta crew", + save: "Desa la visibilitat" + }, + newMessage: { + inCrew: "A la teva crew: {{crews}}", + crewmate: "Company de crew", + following: "Segueixes", + invalidKey: "Això no sembla un npub o una clau pública vàlida.", + description: "Cerca la teva gent pel nom o enganxa un npub per escriure a qualsevol. Tria'n dos o més per iniciar un grup.", + searchPlaceholder: "Cerca un nom o enganxa npub1...", + messageThisKey: "Envia un missatge a aquesta clau", + loadingPeople: "Carregant la teva gent...", + noPeople: "Encara no tens companys de crew ni seguiments.", + noPeopleHint: "Enganxa l'npub d'algú a dalt per iniciar una conversa.", + yourCrews: "Les teves crews", + selected: "{{count}} seleccionats", + startGroup: "Inicia el grup ({{count}})", + message: "Missatge" + }, + nip05: { + mismatch: "Aquest domini apunta l'identificador a una clau Nostr diferent de la del fundador de la crew. No verificat.", + verified: "Verificat: el domini confirma que aquest identificador pertany a la clau del fundador de la crew." + }, + requestCollective: { + sentTitle: "Sol·licitud enviada 🤝", + sentDesc: "{{name}} la veurà a les notificacions i et podrà afegir.", + couldNotSend: "No s'ha pogut enviar la sol·licitud", + title: "Uneix-te a aquest col·lectiu", + waiting: "Sol·licitud enviada: pendent de {{name}}.", + askA: "Demana a la crew darrere de", + askB: "que t'afegeixi al roster. Rebrà una notificació i et podrà afegir amb un toc.", + placeholder: "Opcional: explica per què encaixaries…", + sendButton: "Envia la sol·licitud" + }, + requestToJoin: { + sentTitle: "Sol·licitud enviada! 🛹", + sentDesc: "La direcció de {{crew}} la veurà a les notificacions.", + couldNotSend: "No s'ha pogut enviar la sol·licitud", + trigger: "Demana d'unir-t'hi", + title: "Uneix-te a {{crew}}", + description: "Avisa el fundador i els admins de la crew perquè et puguin afegir.", + placeholder: "Saluda: on patines, a qui coneixes, per què vols entrar…", + sending: "Enviant…", + sendButton: "Envia la sol·licitud" + }, + sponsorBanner: { + loading: "Carregant el patrocinador…", + sponsoredBy: "Patrocinat per" + }, + sponsorPicker: { + selected: "Patrocinador seleccionat", + setLoading: "Patrocinador definit (carregant la botiga…)", + set: "Patrocinador definit", + clearAria: "Treu el patrocinador", + searchPlaceholder: "Cerca botigues de skate per nom o ciutat…", + loading: "Carregant botigues…", + noMatch: "Cap botiga coincideix: prova una altra cerca.", + none: "Encara no s'ha trobat cap botiga." + }, + treasury: { + title: "Tresoreria de la crew", + ofGoal: "de l'objectiu de {{target}}", + goalReached: "Objectiu assolit!", + funded: "{{percent}}% finançat", + contributionOne: "{{count}} contribució", + contributionMany: "{{count}} contribucions", + daysLeft: "queden {{days}} d", + closed: "tancada", + nonCustodial: "No custodial: els zaps van directament al moneder Lightning de la crew" + }, + userStatus: { + atSpot: "📍 En un spot", + autoClears: "⏱️ S'esborra automàticament d'aquí a {{min}} min" + }, + video: { + title: "La part", + fullVideo: "Vídeo complet · muntatge", + latestClip: "Últim clip", + watch: "Mira", + iframeTitle: "{{crew}} — vídeo", + playAria: "Reprodueix el vídeo de {{crew}}", + thumbAlt: "Miniatura del vídeo de {{crew}}", + instagramTitle: "Clip d'Instagram" + }, + vouch: { + removedTitle: "Aval retirat", + vouchedTitle: "Avalat!", + removedDesc: "Ja no avales {{name}}.", + vouchedDesc: "Has avalat {{name}}. L'escena es fia de la seva gent.", + couldNotVouch: "No s'ha pogut avalar", + title: "Avals de l'escena", + sceneVerified: "Verificat per l'escena", + vouched: "Avalat", + newUnvouched: "Nou · sense aval", + checking: "Comprovant l'escena…", + empty: "Encara no hi ha avals. Els avals de patinadors dels teus cercles són la millor senyal que algú és de veritat, no un qualsevol que ha passat per aquí.", + countOne: "{{count}} aval", + countMany: "{{count}} avals", + trusted: "{{count}} de patinadors de la teva xarxa de confiança", + remove: "Treu l'aval", + vouchFor: "Avala {{name}}", + ownerNote: "Els patinadors que coneixen la teva feina et poden avalar aquí." + } + }, + labelsUi: { + spotCategory: { + street: { + label: "Carrer", + description: "Spots improvisats, terreny urbà" + }, + transition: { + label: "Transició", + description: "Superfícies corbes o amb rampes" + }, + park: { + label: "Parc", + description: "Skateparks construïts" + }, + plaza: { + label: "Plaça", + description: "Plaçes urbanes (com MACBA, Love Park)" + } + }, + spotFeature: { + wallrides: "Wallrides", + stairs: "Escales i baranes", + rails: "Baranes", + ledges: "Ledges i vorades", + gaps: "Gaps", + flatground: "Pla", + "manual-pads": "Manual pads", + "half-pipes": "Half pipes", + "quarter-pipes": "Quarter pipes", + "mini-ramps": "Mini ramps", + bowls: "Bowls", + vert: "Ramps vert", + "mega-ramps": "Mega ramps", + hubbas: "Hubbas", + "euro-gaps": "Euro gaps", + banks: "Bancs", + "spine-ramps": "Spine ramps", + "roll-ins": "Roll-ins", + hips: "Hips", + volcano: "Volcà", + pyramids: "Piràmides / Funboxes", + "snake-runs": "Snake runs", + "pump-track": "Rollers de pump track", + "flat-bars": "Barres planes" + }, + spotType: { + street: "Carrer", + transition: "Transició", + park: "Parc", + plaza: "Plaça", + wallrides: "Wallrides", + stairs: "Escales i baranes", + rails: "Baranes", + ledges: "Ledges i vorades", + gaps: "Gaps", + flatground: "Pla", + "manual-pads": "Manual pads", + "half-pipes": "Half pipes", + "quarter-pipes": "Quarter pipes", + "mini-ramps": "Mini ramps", + bowls: "Bowls", + vert: "Ramps vert", + "mega-ramps": "Mega ramps", + hubbas: "Hubbas", + "euro-gaps": "Euro gaps", + banks: "Bancs", + "spine-ramps": "Spine ramps", + "roll-ins": "Roll-ins", + hips: "Hips", + volcano: "Volcà", + pyramids: "Piràmides / Funboxes", + "snake-runs": "Snake runs", + "pump-track": "Rollers de pump track", + "flat-bars": "Barres planes", + diy: "DIY", + rail: "Barana", + ledge: "Ledge", + gap: "Gap", + bowl: "Bowl", + stall: "Stall", + slappy: "Slappy" + }, + access: { + public: { + label: "Públic: obert a tothom" + }, + private: { + label: "Propietat privada: cal permís" + }, + locals: { + label: "Pregunta primer als locals" + } + }, + shelter: { + outdoor: { + label: "A l'aire lliure", + short: "Fora", + description: "Totalment exposat: la pluja atura la sessió" + }, + partial: { + label: "Parcialment cobert", + short: "Parcialment cobert", + description: "Alguns obstacles es mantenen secs" + }, + covered: { + label: "Cobert / amb sostre", + short: "Cobert", + description: "A l'aire lliure però sota un sostre" + }, + indoor: { + label: "Interior", + short: "Interior", + description: "Totalment tancat: patina plogui o faci sol" + } + }, + eventType: { + contest: "Concurs", + demo: "Demo", + session: "Sessió", + workshop: "Taller", + premiere: "Estrena", + tradeshow: "Fira", + gameskate: "Game of Skate", + concert: "🎸 Concert", + jam: "🎵 Jam", + festival: "🎪 Festival", + popup: "🎯 Pop-up" + }, + gearCategory: { + deck: "Taulell", + trucks: "Eixos", + wheels: "Rodes", + bearings: "Rodaments", + shoes: "Sabatilles de skate", + clothing: "Roba", + protective: "Proteccions", + stickers: "Adhesius", + wax: "Cera", + tools: "Eines", + griptape: "Griptape", + rubbrick: "Maó abrasiu" + }, + gearCondition: { + new: { + label: "Nou", + description: "Mai usat, encara amb l'embalatge" + }, + like_new: { + label: "Com nou", + description: "Gairebé sense ús, en excel·lent estat" + }, + good: { + label: "Bé", + description: "Desgast normal, funciona perfectament" + }, + well_used: { + label: "Molt usat", + description: "Mostra desgast però encara funciona" + } + }, + priceType: { + fixed: { + label: "Preu fix", + description: "Preu fixat en USD o sats" + }, + free: { + label: "Gratis", + description: "Es regala" + }, + trade: { + label: "Intercanvi", + description: "Vols canviar-lo" + }, + offer: { + label: "Fes una oferta", + description: "Preu negociable" + } + }, + listingType: { + selling: { + label: "Venc", + description: "Anunci de material en venda" + }, + wtb: { + label: "Busco", + description: "Busco material concret" + } + }, + tour: { + spotType: { + street: "Carrer", + park: "Parc", + diy: "DIY", + transition: "Transició", + hidden: "Tresors amagats" + }, + category: { + local: { + label: "Ruta local", + description: "Mostra spots amagats de la teva ciutat" + }, + national: { + label: "Ruta nacional", + description: "Viatges per carretera per diverses ciutats del país" + }, + international: { + label: "Ruta internacional", + description: "Aventures transfrontereres per diversos països" + }, + destruction: { + label: "Destrucció mundial", + description: "Competició global d'equips a l'estil KOTR" + } + } + }, + crew: { + vibe: { + street: "Carrer", + transition: "Transició / Vert", + park: "Parc", + diy: "DIY", + cruising: "Cruising / Filmar", + oldschool: "Old school", + allterrain: "Tot terreny", + girls: "Noies / Dones", + youth: "Joves / Groms", + adaptive: "Adaptat", + punk: "Punk", + hiphop: "Rap / Hip-hop" + }, + focus: { + mixed: "Mixt / general", + builder: "DIY i constructors", + photo: "Foto i vídeo", + coaching: "Entrenament", + art: "Art i disseny", + music: "Banda i música", + wellness: "Preparació i fisio" + }, + focusDescription: { + mixed: "Una crew de skate normal: només surt a la pàgina de crews.", + builder: "Una crew de DIY o construcció de parcs: també surt a The Lab, a Constructors.", + photo: "Una crew de filmació, fotografia o edició: també surt a The Lab, a Foto i vídeo.", + coaching: "Una crew d'entrenament o classes: també surt a The Lab, a Entrenament.", + art: "Un col·lectiu d'art, disseny, graffiti o tatuatges: també surt a The Lab, a Art i disseny.", + music: "Una banda o col·lectiu musical: també surt a The Lab, a Música.", + wellness: "Una crew d'entrenament, fitness o fisio: també surt a The Lab, a Preparació." + }, + lookingFor: { + filmer: "Filmer", + photographer: "Fotògraf", + editor: "Editor de vídeo", + coach: "Entrenador", + builder: "Constructor de rampes", + artist: "Artista / dissenyador", + musician: "Músic / banda", + members: "Membres nous" + }, + role: { + filmer: "Filmer", + photographer: "Fotògraf", + editor: "Editor", + coach: "Entrenador", + builder: "Constructor", + artist: "Artista", + graffiti: "Graffiti", + tattoo: "Tatuatge", + trainer: "Preparador", + musician: "Músic", + judge: "Jutge", + manager: "Team manager", + og: "OG" + } + }, + memberVisibility: { + public: { + label: "Públic", + description: "Tothom et pot veure en aquesta crew, a la pàgina pública de la crew i al descobriment de companys." + }, + crew: { + label: "Només crew", + description: "Només els companys de crew confirmats i el fundador et veuen aquí. Per a la resta apareixes com un «membre ocult» anònim. Nota: això és privacitat a nivell d'app; la teva etiqueta de membresia segueix existint públicament als relays, només que mai es mostra a fora." + } + }, + tagCategory: { + features: { + name: "Característiques", + description: "Obstacles i terreny" + }, + surfaces: { + name: "Superfícies", + description: "Materials i textures" + }, + sizes: { + name: "Mides", + description: "Dimensions i escala" + }, + stairs: { + name: "Nombre d'escales", + description: "Quantitat d'escales" + }, + vibes: { + name: "Ambient", + description: "Atmosfera i estat" + }, + location: { + name: "Ubicació", + description: "Context de la ubicació" + }, + tricks: { + name: "Trucs", + description: "Bons per a trucs concrets" + } + }, + spotTagCategory: { + street: { + label: "Carrer", + description: "Spots de carrer: escales, baranes, ledges" + }, + park: { + label: "Parc", + description: "Skateparks: públics o privats" + }, + diy: { + label: "DIY", + description: "Spots DIY o fets a mà" + }, + plaza: { + label: "Plaça", + description: "Plaçes públiques amb arquitectura apta per al skate" + } + }, + status: { + active: { + label: "Actiu", + description: "Tot bé: a patinar." + }, + bust: { + label: "Bust", + description: "Risc alt que et facin fora: seguretat o policies." + }, + skate_stopped: { + label: "Skate-stopped", + description: "Amb taps o barrots, però parcialment patinable." + }, + closed: { + label: "Tancat", + description: "Tancat temporalment: obres o esdeveniment." + }, + gone: { + label: "Desaparegut", + description: "Enderrocat, asfaltat o tancat per sempre." + } + }, + price: { + free: "GRATIS", + trade: "Intercanvi", + makeOffer: "Fes una oferta", + offer: "Oferta" + } + }, + cardUi: { + save: "Desa la targeta a Nostr", + saved: "Targeta desada", + savedDesc: "La teva targeta ja està signada i és verificable.", + saveFailed: "No s'ha pogut desar la targeta", + notPublished: "No publicada", + titleNeon: "Patinador", + titleRest: "Targeta", + saveFrontPng: "Desa l'anvers (PNG)", + expired: "CADUCADA", + logoUploaded: "Logotip pujat", + logoUploadFailed: "No s'ha pogut pujar el logotip", + venue: "Recinte enllaçat (opcional)", + venueNone: "Sense recinte", + venueHint: "Tria un dels teus spots per vincular aquest passi a un recinte. Un verificador confirmarà que és teu.", + venuePick: "Tria el teu recinte", + parkNoVenue: "Un passi de Parc només el pot emetre el propietari del recinte: primer marca un spot que sigui teu.", + parkAddVenue: "Afegeix un spot", + parkNeedsVenue: "Tria un recinte que sigui teu", + parkIssued: "Passis emesos", + parkRevoke: "Revoca", + parkRevoked: "Revocat", + parkRevokeFailed: "No s'ha pogut revocar", + v: { + valid: "Vàlid", + validDesc: "Signatura vàlida i emesa pel recinte.", + expired: "Caducat", + expiredDesc: "Ha passat la data de validesa.", + revoked: "Revocat", + revokedDesc: "L'emissor ha cancel·lat aquest passi: no l'acceptis.", + invalid: "No vàlid", + invalidDesc: "La signatura no es verifica. No te'n fiïs.", + notFound: "No trobat", + notFoundDesc: "No hi ha cap registre coincident als relays.", + unverifiedIssuer: "Emissor no verificat", + unverifiedIssuerDesc: "Aquest passi esmenta un recinte que no és propietat de la clau de l'emissor.", + notBound: "No vinculat", + notBoundDesc: "No està vinculat a cap recinte: no demostra cap dret d'accés.", + noRsvp: "Sense RSVP", + noRsvpDesc: "El titular no té cap RSVP registrat per a aquest esdeveniment.", + admitted: "Admès", + admittedDesc: "Esdeveniment de l'organitzador i el titular ha confirmat assistència.", + noHolder: "Sense titular a l'enllaç", + noHolderDesc: "Aquest QR no té titular (`?h=`), així que no es pot comprovar." + }, + passes: { + tab: "Els meus passis", + pass: "Passi d'accés", + none: "Encara no tens passis. Quan un recinte o organitzador t'emeti un, apareixerà aquí." + }, + facets: { + title: "Mostra les facetes d'identitat", + crews: "Crews", + local: "Local", + roles: "Rols de Lab" + }, + roles: { + coach: "Entrenador", + filmer: "Filmer", + editor: "Editor", + photographer: "Fotògraf", + builder: "Constructor", + artist: "Artista", + graffiti: "Graffiti", + tattoo: "Tatuatge", + trainer: "Preparador", + musician: "Músic", + judge: "Jutge", + organizer: "Organitzador", + barber: "Barber" + }, + crew: { + crewCard: "TARGETA DE CREW", + crewSub: "La teva crew, en una targeta", + pick: "Tria una crew", + none: "Encara no ets a cap crew: uneix-te'n a una o crea-la primer.", + hint: "La targeta es construeix amb les dades signades de la mateixa crew. Edita la crew a la seva pàgina per canviar-la.", + members: "MEMBRES", + spots: "SPOTS", + est: "Des de {{year}}", + openCall: "Crida oberta", + verifiedCrew: "Crew verificada", + viewCrew: "Veure la crew" + }, + event: { + pass: "PASSI D'ESDEVENIMENT", + passSub: "Un passi per a un esdeveniment on vas", + pick: "Tria un esdeveniment", + none: "Encara no hi ha esdeveniments: crea'n un o confirma assistència a un primer.", + hint: "El passi es construeix amb les dades signades de l'esdeveniment. Només l'organitzador el pot canviar.", + admits: "ADMET", + going: "{{count}} hi van", + verifiedEvent: "Esdeveniment verificat", + viewEvent: "Veure l'esdeveniment", + issuePass: "Emiteix un passi d'entrada", + issuePassBtn: "Emiteix el passi", + issuePassHint: "Un passi signat per a un assistent concret: el mostra a la porta.", + notOrganiser: "Només l'organitzador pot emetre passis", + passIssued: "Passi emès", + issueFailed: "No s'ha pogut emetre el passi", + issuedPasses: "Passis d'entrada emesos" + }, + studio: { + unsaved: "Canvis sense desar", + saved: "Desat", + saveChanges: "Desa els canvis", + allSaved: "Desat: tot al dia", + showOnCard: "Mostra a la targeta", + derived: "Del teu perfil de patinador", + noSkaterProfile: "Encara no tens perfil de patinador:", + editSkaterProfile: "afegeix els teus estils i nivell", + noPhoto: "Encara no tens foto de perfil:", + addPhoto: "afegeix-ne una al teu perfil", + finishTitle: "Completa la teva targeta", + finishDesc: "Una foto i un perfil de patinador fan que sembli de veritat.", + checkPhoto: "Foto de perfil", + checkName: "Nom visible", + checkProfile: "Estils i nivell", + checkCrew: "Uneix-te a una crew", + moreTypes: "Es desbloquegen més tipus de targeta quan marques spots que són teus, t'uneixes a crews o confirmes assistència a esdeveniments.", + accent: "Color d'accent", + accentHint: "Substitueix l'accent del tema", + accentClear: "Fes servir el color del tema", + logo: "Logotip / escut personalitzat", + logoAdd: "Puja", + logoChange: "Canvia", + logoClear: "Treu" + }, + back: { + title: "Revers imprimible", + desc: "Crews, rols, patrocinadors i enllaços al revers", + showBack: "Mostra el revers", + showFront: "Mostra l'anvers", + empty: "Encara no hi ha res: afegeix crews, rols o patrocinadors." + }, + verify: { + checking: "Comprovant la targeta…", + notFound: "Targeta no trobada", + notFoundDesc: "No s'ha trobat cap esdeveniment coincident als relays. Pot ser que s'hagi esborrat o que l'enllaç sigui incorrecte.", + invalid: "Signatura no vàlida", + invalidDesc: "Aquest esdeveniment existeix però la seva signatura no es verifica. No te'n fiïs.", + authentic: "Autèntica", + authenticDesc: "La signatura de l'emissor és vàlida.", + kind: "Tipus", + kindPark: "Targeta d'accés al parc", + kindRider: "Targeta de patinador", + kindCrew: "Targeta de crew", + kindEvent: "Passi d'esdeveniment", + organiser: "Organitzador", + expired: "Caducada", + valid: "Vàlida", + holder: "Titular", + ticketHolder: "Titular de l'entrada", + rsvp: "RSVP", + rsvpGoing: "Hi va", + rsvpInterested: "Interessat", + rsvpNone: "No s'ha trobat cap RSVP", + revoked: "Passi revocat", + revokedDesc: "L'emissor ha cancel·lat aquest passi: no l'acceptis.", + issuedBy: "Emès per", + accessLevel: "Nivell d'accés", + validThru: "Vàlida fins", + selfIssued: "Estat", + selfIssuedDesc: "Targeta d'identitat autogenerada", + venue: "Recinte", + venueVerified: "Verificat: la clau del propietari d'aquest recinte coincideix amb l'emissor.", + venueMismatch: "Aquest passi esmenta un recinte que no és propietat de la clau de l'emissor.", + venueNone: "No vinculat a cap recinte.", + viewCard: "Veure la targeta", + disclaimer: "Una signatura vàlida demostra qui ha signat aquesta targeta, però no és una prova d'habilitat ni de drets d'accés més enllà del que ha emès el recinte.", + details: "Detalls", + invalidLink: "Enllaç no vàlid", + invalidLinkDesc: "Això no sembla un enllaç de targeta vàlid." + }, + public: { + invalid: "Això no sembla un enllaç de targeta vàlid.", + createYourOwn: "Crea la teva targeta", + editYourCard: "Edita la teva targeta", + backToEditor: "Torna a l'editor", + backHome: "Torna a l'inici", + notCustomised: "Aquest patinador encara no ha personalitzat la seva targeta: aquest és l'aspecte per defecte.", + verifyNote: "Escaneja el QR de la targeta per verificar-la." + } + }, + routeUi: { + destination: "Destinació", + routeTo: "Ruta fins a {{label}}", + routeToLabel: "Ruta fins a", + search: "Cerca", + description: "Opcions de ruta i indicacions a l'app.", + routeMapAria: "Mapa de la ruta", + findingLocation: "Trobant la teva ubicació…", + plottingRoute: "Traçant la teva ruta…", + refiningLocation: "Refinant la ubicació…", + offlineSavedRoute: "Fora de línia · ruta desada {{age}}", + tapMapStart: "Toca el mapa per fixar el punt de sortida", + fitRouteAria: "Ajusta tota la ruta al mapa", + wholeRoute: "Ruta sencera", + next: "Següent", + nextStep: "Següent · pas {{n}}", + followTheLine: "Segueix la línia", + toTheTurn: "fins al gir", + toGo: "per arribar", + tryAgain: "Torna-ho a provar", + mode: { + foot: "Skate / A peu", + bike: "Bici", + moto: "Moto", + car: "Cotxe", + transit: "Transport públic" + }, + from: "Des de", + myLocation: "La meva ubicació", + tapTheMap: "Toca el mapa…", + chooseOnMap: "Tria al mapa", + direct: "directe", + transferOne: "1 transbord", + transfers: "{{count}} transbords", + options: "{{count}} opcions", + ride: "trajecte", + arrive: "arribada", + speedAvg: "{{speed}} km/h de mitjana", + stepsCount: "{{count}} passos", + onABoard: "amb skate", + usesDrivingRoads: "per carreteres", + drivingEstimate: "estimació en cotxe", + updating: "actualitzant…", + pickMode: "Tria un mode per veure la teva ruta.", + waitingLocation: "Esperant la teva ubicació…", + routeSteps: "Passos de la ruta", + walkingRoute: "ruta a peu: més ràpida amb skate", + planningView: "Vista de planificació: toca Inicia per seguir-la amb girs en directe, veu i arribada.", + leaveNow: "Surt ara", + departAt: "Surt a les", + arriveBy: "Arriba abans de les", + departureTime: "Hora de sortida", + arrivalTime: "Hora d'arribada", + only: "Només", + clear: "esborra", + itinerary: "Itinerari", + group: { + bus: "Bus", + tram: "Tramvia", + metro: "Metro", + train: "Tren", + ferry: "Ferri" + }, + walk: "A peu", + rideVerb: "Amb skate", + walkLower: "a peu", + rideLower: "amb skate", + toStop: "fins a", + track: "via {{track}}", + stopOne: "1 parada", + stopsCount: "{{count}} parades", + tickets: "bitllets ↗", + done: "Fet", + stop: "Atura", + start: "Inicia", + arrived: "Has arribat. 🛹", + voiceOnNote: "La pantalla es manté encesa · veu activada: els girs i l'arribada es diuen en veu alta.", + voiceOffNote: "La pantalla es manté encesa · veu desactivada.", + followNote: "Girs, veu i arribada mentre patines. Manté la pantalla encesa.", + voiceOffAria: "Desactiva la guia per veu", + voiceOnAria: "Activa la guia per veu", + voiceStart: "Iniciant la navegació", + voiceArrived: "Has arribat", + voiceIn: "D'aquí a {{metres}} metres, {{instruction}}", + voiceContinue: "continua", + voiceContinueCaps: "Continua", + errPermissionDenied: "Permís d'ubicació denegat.", + errWaitingGps: "Esperant el senyal GPS…", + errPermissionDeniedLong: "Permís d'ubicació denegat. Activa la ubicació per calcular la ruta des d'on ets.", + errNoLocation: "No s'ha pogut obtenir la teva ubicació. Torna-ho a provar.", + errNoLocationShort: "No s'ha pogut obtenir la teva ubicació.", + errTransitNoRouteFiltered: "No hi ha ruta per a aquesta hora o mode de transport: prova una altra hora o inclou més modes.", + errTransitNoRoute: "No s'ha trobat cap ruta de transport públic aquí: potser aquesta zona no publica horaris oberts.", + errTransitUnreachable: "No s'ha pogut contactar el servei de transport. Comprova la connexió i torna-ho a provar.", + errRoutingBusy: "El servei de rutes està ocupat ara mateix: torna-ho a provar d'aquí un moment.", + errNoRouteMode: "No hi ha ruta per a aquest mode: potser la destinació queda fora de la xarxa viària. Prova un altre mode.", + errRoutingUnreachable: "No s'ha pogut contactar el servei de rutes. Comprova la connexió i torna-ho a provar.", + departures: "Sortides", + upcomingFrom: "Properes sortides de {{stop}}", + loadingDepartures: "Carregant les sortides…", + noDepartures: "No s'han trobat properes sortides en aquesta parada.", + live: "en directe", + cancelled: "cancel·lat", + refresh: "Actualitza", + tripLoginTitle: "Inicia sessió per desar", + tripLoginDesc: "Inicia sessió per guardar aquest viatge com a col·lecció.", + tripCollectionTitle: "Viatge de skate a {{destination}} 🛹", + tripCollectionDesc: "Pla de viatge del Sasquatch: {{count}} dies a {{destination}}.", + tripCollectionDescOne: "Pla de viatge del Sasquatch: {{count}} dia a {{destination}}.", + tripSavedTitle: "Desat a Col·leccions 🦧", + tripSavedDesc: "El teu viatge a {{destination}} està desat.", + tripSaveFailed: "No s'ha pogut desar", + tripSaveFailedDesc: "Torna-ho a provar d'aquí un segon.", + daysInDestinationOne: "{{count}} dia a {{destination}}", + daysInDestination: "{{count}} dies a {{destination}}", + wetForecast: "Previsió de pluja: busca una crew local per opcions cobertes o d'interior.", + dayLabel: "Dia {{n}}", + freeSkate: "Skate lliure: explora i filma. 🎥", + tapToBook: "toca per reservar o enviar un zap ⚡", + localCrews: "Crews locals", + saving: "Desant…", + savedToCollections: "Desat a Col·leccions", + saveSpotOne: "Desa {{count}} spot a una col·lecció", + saveSpots: "Desa {{count}} spots a una col·lecció", + flights: "Vols", + stays: "Allotjaments", + gettingAround: "Moure's", + noMiddleman: "Jo planifico el skate: els vols i allotjaments s'obren als llocs reals (sense KYC, sense intermediaris).", + ageJustNow: "fa un moment", + ageMinAgo: "fa {{count}} min", + ageHourAgo: "fa {{count}} h", + ageDayAgo: "fa {{count}} d", + skateRightHere: "aquí mateix", + skateMin: "~{{count}} min de patí", + skateHours: "~{{hours}} h de patí", + maneuver: { + headOut: "Surt", + arrive: "Arriba al spot", + continueStraight: "Continua", + bearLeft: "Gira lleugerament a l'esquerra", + bearRight: "Gira lleugerament a la dreta", + turnLeft: "Gira a l'esquerra", + turnRight: "Gira a la dreta", + sharpLeft: "Gira fort a l'esquerra", + sharpRight: "Gira fort a la dreta", + turn: "Gira", + keepLeft: "Mantén-te a l'esquerra", + keepRight: "Mantén-te a la dreta", + takeFork: "Agafa la bifurcació", + merge: "Incorpora't", + roundabout: "Agafa la rotonda", + takeRamp: "Agafa la rampa", + takeExit: "Agafa la sortida" + }, + maneuverOnto: "{{instruction}} cap a {{road}}" + } +}; + +export default batch2; diff --git a/src/i18n/ca/batch3.ts b/src/i18n/ca/batch3.ts new file mode 100644 index 0000000..b4eb856 --- /dev/null +++ b/src/i18n/ca/batch3.ts @@ -0,0 +1,1300 @@ +const batch3 = { + "settingsUi": { + "proSupport": { + "title": "Pro i suport", + "subtitle": "Extres opcionals que mantenen SkateSpots gratuït", + "prepaidTitle": "Pagament anticipat, no subscripció", + "prepaidBody": "Cada compra és un pagament únic amb Bitcoin/Lightning: sense compte, sense càrrecs recurrents i sense custòdia. Si tornes a pagar, allargues el teu temps.", + "sasquatchTitle": "Sasquatch Pro", + "sasquatchBenefit": "Desbloqueja l'assistent personal d'IA —pot llegir el teu Stash, les teves crews i els teus anuncis— i ajuda a finançar el projecte.", + "active": "Actiu", + "activeUntil": "Actiu fins al {{date}}", + "daysLeft": "Queden {{count}} dies", + "notActive": "No actiu", + "goPro": "Fes-te Pro", + "extend": "Allarga Pro", + "day": "dia", + "featuredTitle": "Destacat", + "featuredBenefit": "Puja un anunci a dalt de tot amb una insígnia Pro, per a perfils de The Lab, esdeveniments, botigues i rutes.", + "featuredHow": "Els trams de durada s'apliquen a tots els tipus; com més llarg el compromís, menys costa per dia. Pots destacar un anunci quan el crees o l'edites.", + "featuredUntil": "Fins al {{date}}", + "yourFeatured": "Els teus anuncis destacats", + "noneFeatured": "No tens cap anunci destacat actiu.", + "freeTitle": "Vies gratuïtes", + "freeBody": "Les preguntes freqüents de la IA i la cerca local sempre són gratuïtes, i pots publicar un anunci al mercat amb una prova de treball gratuïta en lloc de la comissió en sats." + }, + "notFound": { + "seoTitle": "404 - Pàgina no trobada", + "seoDescription": "No s'ha pogut trobar la pàgina que busques. Torna a l'inici per continuar navegant.", + "message": "Ups! Pàgina no trobada", + "returnHome": "Torna a l'inici" + }, + "loginArea": { + "signUp": "Crea un compte", + "logIn": "Inicia sessió" + }, + "accountSwitcher": { + "switchAccount": "Canvia de compte", + "walletSettings": "Configuració del moneder", + "addAccount": "Afegeix un altre compte", + "logout": "Tanca la sessió" + }, + "amberHint": { + "defaultAction": "enviar", + "multiBefore": "El teu signador et demanarà que aprovis", + "multiTimes": "{{approvals}} vegades", + "multiAfter": "per {{action}}: és normal en missatges xifrats (un xifrat i una signatura per membre). Aprova cadascun.", + "single": "El teu signador et demanarà que ho aprovis per {{action}}." + }, + "amberCallback": { + "processing": "S'està processant l'inici de sessió amb Amber...", + "gotResult": "Resultat: {{result}}", + "noResultDebug": "Cap resultat d'Amber", + "noResultToast": "No s'ha rebut cap resultat d'Amber. Potser l'operació s'ha cancel·lat.", + "validPubkey": "Clau pública vàlida! S'està iniciant la sessió...", + "loginSuccessful": "Sessió iniciada!", + "loginErrorDebug": "Error d'inici de sessió: {{error}}", + "invalidResultDebug": "Format de resultat no vàlid: {{result}}", + "loggedInTitle": "Sessió iniciada", + "amberLoginDesc": "Has iniciat sessió amb Amber!", + "loginFailedTitle": "No s'ha pogut iniciar la sessió", + "loginFailedDesc": "No s'ha pogut completar l'inici de sessió amb Amber. Torna-ho a provar.", + "invalidPubkeyDesc": "S'ha rebut una clau pública no vàlida d'Amber.", + "sessionLostToast": "S'han perdut les dades de la sessió. Torna-ho a provar.", + "eventSignedTitle": "Esdeveniment signat", + "eventSignedDesc": "Amber ha signat el teu esdeveniment.", + "signingFailedTitle": "La signatura ha fallat", + "signingFailedDesc": "No s'ha pogut processar l'esdeveniment signat d'Amber.", + "operationCompleteTitle": "Operació completada", + "operationCompleteDesc": "{{op}} completat." + }, + "loginDialog": { + "loginWithAmber": "Inicia sessió amb Amber (Android)", + "welcomeTitle": "Benvingut a SkateSpots", + "welcomeSubtitle": "Crea un compte o inicia sessió per continuar", + "welcomeSubtitleBrowse": "Crea un compte o inicia sessió, o continua explorant.", + "extensionCard": "Extensió del navegador", + "signerCard": "Aplicació signadora", + "secretKeyLink": "Fes servir una clau secreta", + "whereBunker": "D'on trec un bunker?", + "newHere": "Ets nou per aquí?", + "createFree": "Crea un compte gratuït. Sense correu electrònic.", + "createAccount": "Crea un compte", + "orLogIn": "O inicia sessió", + "loggedInTitle": "🛹 Sessió iniciada!", + "loggedIn": "Sessió iniciada!", + "connectedAmber": "Connexió feta amb Amber!", + "amberLoginFailed": "No s'ha pogut iniciar sessió amb Amber", + "amberCancelled": "Inici de sessió cancel·lat. Toca \"Obre Amber\" per tornar-ho a provar.", + "amberNotFound": "No s'ha trobat Amber. Comprova que Amber estigui instal·lat des de Zapstore.", + "loginFailed": "No s'ha pogut iniciar la sessió", + "pubkeyError": "Enganxa la teva clau pública hex (64 caràcters) o l'npub d'Amber", + "pairedSigner": "Aparellat amb el teu signador.", + "connectFailed": "No s'ha pogut connectar amb el teu signador.", + "openedEncrypted": "Hem obert la teva clau xifrada.", + "openKeyFailed": "No s'ha pogut obrir aquesta clau.", + "bunkerPrefix": "Ha de començar per bunker://", + "connectedBunker": "Connectat amb el bunker!", + "bunkerFailed": "Ha fallat: {{error}}", + "checkBunkerUri": "Comprova l'URI del teu bunker", + "nsecPrefix": "Ha de començar per nsec1", + "invalidNsec": "nsec no vàlid: {{error}}", + "checkKey": "Comprova la teva clau", + "noExtensionTitle": "No s'ha trobat cap extensió", + "noExtensionDesc": "Instal·la Alby o una altra extensió NIP-07.", + "amberIdleDesc": "La teva clau es queda dins d'Amber. Un toc: ho aproves a Amber i tornaràs aquí amb la sessió iniciada. No cal copiar res.", + "continueWithAmber": "Continua amb Amber", + "noAmberGetIt": "No tens Amber? Aconsegueix-lo →", + "waitingAmberTitle": "S'està esperant Amber…", + "waitingAmberDesc": "Aprova la sol·licitud a Amber. Iniciaràs la sessió automàticament quan tornis.", + "openAmberAgain": "Obre Amber de nou", + "havingTrouble": "Tens problemes? Introdueix la clau manualment", + "enterPublicKey": "Introdueix la teva clau pública", + "enterPublicKeyDescBefore": "Només si el flux automàtic no ha funcionat. A Amber: toca el teu perfil →", + "copyPublicKey": "Copia la clau pública", + "enterPublicKeyDescAfter": "i enganxa-la aquí.", + "connect": "Connecta", + "back": "← Enrere", + "signInWithPhone": "Inicia sessió amb el telèfon", + "signInWithPhoneDesc": "Escaneja amb una aplicació signadora (Amber, nsec.app). La teva clau no surt mai del telèfon.", + "showPairingCode": "Mostra el codi d'aparellament", + "waitingSigner": "S'està esperant el teu signador…", + "copyLink": "Copia l'enllaç", + "orPasteBunker": "o enganxa una URL de bunker", + "bunkerTitle": "Bunker (NIP-46)", + "bunkerPasteBefore": "Enganxa el teu", + "bunkerPasteAfter": "URI.", + "amberInstructions": "Configuració → Bunker NIP-46 → Crea → Copia", + "nsecAppInstructions": "Connecta l'aplicació → Copia l'URI del bunker", + "secretKeyTitle": "Clau secreta", + "secretKeyRawDesc": "Enganxa directament la teva clau secreta de Nostr.", + "secretKeyEncDesc": "Obre una còpia de seguretat de la clau protegida amb contrasenya.", + "rawNsec": "nsec en brut", + "encryptedNip49": "Xifrada (NIP-49)", + "nsecWarning": "⚠️ Fes-ho servir només en un dispositiu de confiança. No comparteixis mai el teu nsec.", + "login": "Inicia sessió", + "encSaferDesc": "Més segur: la clau es queda xifrada fins que introdueixes la contrasenya, així que la còpia és segura per guardar-la al núvol o en un gestor de contrasenyes.", + "password": "Contrasenya", + "openEncryptedKey": "Obre la clau xifrada", + "browserExtensionTitle": "Extensió del navegador (NIP-07)", + "browserExtensionDesc": "La millor opció per a ordinador. Funciona amb Alby, nos2x i Flamingo.", + "loginWithExtension": "Inicia sessió amb l'extensió" + }, + "signupDialog": { + "download": "Descarrega", + "stepChoose": "Tria", + "stepProfile": "Perfil", + "stepSaveKey": "Desa la clau", + "somethingWrong": "Alguna cosa ha fallat", + "createFailed": "No s'ha pogut crear el teu compte. Torna-ho a provar.", + "keySavedTitle": "Clau secreta desada!", + "keySavedDesc": "La teva clau s'ha desat de manera segura.", + "downloadFailedTitle": "La descàrrega ha fallat", + "downloadFailedDesc": "No s'ha pogut descarregar el fitxer de la clau. Copia-la manualment.", + "encSavedTitle": "Còpia xifrada desada 🔐", + "encSavedDesc": "Guarda el fitxer I la contrasenya: necessites les dues coses per tornar a iniciar sessió.", + "encFailed": "No s'ha pogut xifrar aquesta clau.", + "invalidFileTitle": "Tipus de fitxer no vàlid", + "invalidFileDesc": "Selecciona una imatge per al teu avatar.", + "fileTooLargeTitle": "Fitxer massa gran", + "fileTooLargeDesc": "La imatge de l'avatar ha de ser més petita de 5 MB.", + "avatarUploadedTitle": "Avatar pujat!", + "avatarUploadedDesc": "El teu avatar s'ha pujat correctament.", + "uploadFailedTitle": "La pujada ha fallat", + "uploadFailedDesc": "No s'ha pogut pujar l'avatar. Torna-ho a provar.", + "nameRequiredTitle": "Cal un nom visible", + "nameRequiredDesc": "Tria un nom visible perquè els altres skaters sàpiguen qui ets. El pots canviar quan vulguis.", + "reserveFailedTitle": "No s'ha pogut reservar aquest nom", + "reserveFailedDesc": "{{error}} El pots demanar més tard a Configuració.", + "profileCreatedTitle": "Perfil creat!", + "profileCreatedDesc": "El teu perfil ja està configurat.", + "profileFailedTitle": "No s'ha pogut configurar el perfil", + "profileFailedDesc": "El teu compte s'ha creat, però la configuració del perfil ha fallat. El pots actualitzar més tard.", + "welcomeToastTitle": "Benvingut!", + "welcomeToastDesc": "El teu compte ja està a punt.", + "titleWelcome": "Uneix-te a SkateSpots", + "titleProfile": "Configura el teu perfil", + "titleDone": "Benvingut!", + "createFreeAccount": "Crea el teu compte gratuït", + "createFreeAccountDesc": "Sense correu, sense telèfon, sense contrasenya. El teu compte és una clau de Nostr: tria on viu.", + "recommended": "Recomanat", + "signUpWithAmber": "Crea un compte amb Amber", + "signUpWithAmberDesc": "La teva clau es crea i es guarda dins de l'aplicació Amber; SkateSpots no hi té mai accés. És el més segur. Un toc per aprovar.", + "continueWithAmber": "Continua amb Amber", + "orQuickWay": "o la via ràpida", + "quickAccount": "Compte ràpid en aquest dispositiu", + "quickAccountDesc": "Generem una clau que viu en aquest dispositiu. L'inici més ràpid: just després t'ajudarem a desar-ne una còpia de seguretat.", + "createQuickAccount": "Crea un compte ràpid", + "quickReassurance": "Trigues 5 segons · viu en aquest dispositiu · després t'ajudarem a fer-ne una còpia", + "preferAnotherSigner": "Prefereixes un altre signador?", + "iosDesktopNudge": "Ets a iOS o a l'ordinador? Una aplicació signadora o una extensió del navegador és l'opció més segura:", + "seeAllOptions": "Veure totes les opcions", + "youreInPickName": "Ja hi ets! 🛹 Tria un nom visible perquè els skaters sàpiguen qui ets", + "changeAnytime": "El pots canviar quan vulguis més endavant. La bio i l'avatar són opcionals.", + "publishingProfile": "S'està publicant el teu perfil...", + "displayName": "Nom visible", + "displayNamePlaceholder": "p. ex. Tony, gnarlyGrind o el nom de la teva crew", + "displayNameHint": "Obligatori: així et veuran a SkateSpots. El pots canviar quan vulguis.", + "skateName": "El teu nom de SkateSpots", + "skateNameHint": "Gratuït i opcional: un identificador verificat que mostra un ✓ al teu perfil.", + "bio": "Bio", + "bioPlaceholder": "Explica una mica de tu...", + "avatar": "Avatar", + "uploadAvatar": "Puja una imatge d'avatar", + "saving": "S'està desant...", + "saveAndStart": "Desa i comença a patinar", + "addNameToContinue": "Afegeix un nom visible per continuar.", + "savingPublishesNote": "En desar, el teu perfil es publica a Nostr: potser el teu signador et demanarà que ho aprovis un cop.", + "youreIn": "Ja hi ets! 🛹", + "oneQuickThing": "Una cosa ràpida abans de llançar-te…", + "saveLoginKey": "Desa la teva clau d'accés", + "saveLoginKeyBefore": "Aquesta és l'", + "only": "única", + "saveLoginKeyAfter": "manera de tornar al teu compte: sense correu, sense restablir contrasenya. Desa-la ara i podràs iniciar sessió a qualsevol dispositiu, allà on patinis.", + "revealSaveKey": "Mostra i desa la meva clau", + "recoveryCopied": "Codi de recuperació copiat. Guarda'l en un lloc segur.", + "saved": "Desat", + "treatLikeBoardKeys": "Tracta-la com les claus del teu skate: qui tingui aquest codi controla el teu compte. No la comparteixis mai.", + "hideEncBackup": "Amaga la còpia xifrada", + "saveEncBackup": "Desa una còpia xifrada", + "encBackupBefore": "Una còpia protegida amb contrasenya: segura per guardar al núvol o en un gestor de contrasenyes. Necessitaràs el fitxer", + "and": "i", + "encBackupAfter": "la contrasenya.", + "choosePassword": "Tria una contrasenya", + "saveEncBackupCta": "Desa la còpia xifrada", + "savedCodeAria": "He desat el meu codi de recuperació", + "savedCodeLabel": "He desat el meu codi de recuperació en un lloc segur: un gestor de contrasenyes o escrit en paper fora de línia.", + "letsSkate": "Anem a patinar", + "saveLater": "El desaré més tard des de Configuració", + "advancedSigner": "Avançat: fes servir una aplicació signadora" + }, + "mnemonic": { + "generatedTitle": "Frase de recuperació generada! 🎉", + "generatedDesc": "Apunta aquestes 12 paraules en ordre. Són la clau del teu compte!", + "savedTitle": "Frase de recuperació desada!", + "savedDesc": "Guarda aquest fitxer en un lloc segur.", + "downloadFailedTitle": "La descàrrega ha fallat", + "downloadFailedDesc": "No s'ha pogut descarregar el fitxer. Copia'l manualment.", + "copiedTitle": "Copiat al porta-retalls!", + "copiedDesc": "S'ha copiat la teva frase de recuperació.", + "qrWindowTitle": "Codi QR de la frase de recuperació", + "qrHeading": "El codi QR de la teva frase de recuperació", + "qrAlt": "Codi QR de la frase de recuperació", + "qrWarning": "Mantingues aquest codi QR privat i segur!", + "qrPrint": "Imprimeix el codi QR", + "qrFailedTitle": "El codi QR ha fallat", + "qrFailedDesc": "No s'ha pogut generar el codi QR.", + "accountCreatedTitle": "Compte creat! 🎉", + "accountCreatedDesc": "Tot a punt! La teva frase de recuperació està segura.", + "loginFailedTitle": "No s'ha pogut iniciar la sessió", + "loginFailedDesc": "No s'ha pogut crear el compte. Torna-ho a provar.", + "verifyFailedTitle": "La verificació ha fallat", + "verifyFailedDesc": "Les paraules no coincideixen. Comprova-ho i torna-ho a provar.", + "titlePrefix": "Crea un compte amb", + "titleSuffix": "frase de recuperació", + "twelveWordTitle": "Frase de recuperació de 12 paraules", + "twelveWordDesc": "La teva frase de recuperació és com una contrasenya mestra. Apunta-la en paper i guarda-la bé. La necessitaràs per accedir al teu compte des d'altres dispositius o si esborres les dades del navegador.", + "generate": "Genera la frase de recuperació", + "useNsecInstead": "Fes servir una clau nsec avançada", + "yourPhrase": "La teva frase de recuperació", + "copy": "Copia", + "download": "Descarrega", + "qrCode": "Codi QR", + "criticalWarning": "Avís de seguretat important", + "warnWriteStrong": "Apunta-la", + "warnWrite": "en paper i guarda-la en un lloc segur", + "warnNeverShareStrong": "No la comparteixis mai", + "warnNeverShare": "amb ningú", + "warnBackupsStrong": "Fes diverses còpies", + "warnBackups": "en llocs segurs diferents", + "warnAnyoneStrong": "Qui tingui aquesta frase", + "warnAnyone": "controla el teu compte per sempre", + "warnLoseStrong": "Si la perds", + "warnLose": "perds el compte per sempre", + "savedSecurely": "L'he desada de manera segura", + "verifyTitle": "Verifica la teva frase de recuperació", + "verifyDesc": "Per assegurar-nos que l'has desada bé, escriu aquestes paraules:", + "wordLabel": "Paraula #{{n}}", + "wordPlaceholder": "Escriu la paraula #{{n}}", + "goBack": "Torna enrere", + "verifyCreate": "Verifica i crea el compte", + "completeTitle": "Compte creat!", + "completeDesc": "El teu compte de Nostr ja està a punt!", + "signerTitle": "Recomanat: configura una aplicació signadora", + "signerSubtitle": "Mantén les teves claus extra segures", + "signerDesc": "Per a més seguretat, fes servir una aplicació signadora dedicada en lloc d'enganxar la frase de recuperació a tot arreu. Les aplicacions signadores mantenen les claus segures i et deixen usar qualsevol app de Nostr.", + "signerCta": "Coneix les aplicacions signadores", + "skip": "Omet-ho per ara" + }, + "signupMethod": { + "titlePrefix": "Tria el teu", + "titleSuffix": "mètode de registre", + "subtitle": "Tots dos mètodes són segurs. Tria el que et vagi millor!", + "recommended": "Recomanat", + "mnemonicTitle": "Frase de recuperació", + "mnemonicDesc": "12 paraules fàcils de recordar. L'estàndard que fan servir Bitcoin, Ethereum i la majoria de moneders cripto.", + "mnemonicF1": "Fàcil d'apuntar en paper", + "mnemonicF2": "Funciona amb altres apps de Nostr (NIP-06)", + "mnemonicF3": "Pot generar diversos comptes", + "mnemonicF4": "Familiar per als usuaris de cripto", + "useMnemonic": "Fes servir la frase de recuperació", + "advanced": "Avançat", + "nsecTitle": "Clau secreta (nsec)", + "nsecDesc": "Clau criptogràfica en brut. Més tècnica, però et dona accés directe a la teva identitat de Nostr.", + "nsecF1": "Control criptogràfic directe", + "nsecF2": "Compatible amb totes les apps de Nostr", + "nsecF3": "Una sola cadena per fer la còpia", + "nsecF4": "Sense capa de derivació", + "useNsec": "Fes servir la clau secreta", + "footer": "🔒 Tots dos mètodes són igual de segurs. Tria segons la teva preferència!" + }, + "skateNip05": { + "placeholder": "elteunom", + "claimedSuffix": "és teu: desa el teu perfil per publicar-lo.", + "checking": "S'està comprovant la disponibilitat…", + "available": "{{name}}@{{domain}} està disponible", + "claim": "Reserva'l", + "hint": "Lletres, números i guions. Gratuït, i es mostra com una insígnia ✓ al teu perfil." + }, + "nip05Required": { + "getFree": "Aconsegueix un NIP-05 gratuït / barat", + "paid": "De pagament", + "requiredTitle": "Cal verificació NIP-05", + "bannerReason": "Per evitar el spam i generar confiança, {{role}} necessita una adreça de Nostr verificada (NIP-05).", + "gateReason": "Per evitar el spam i generar confiança, {{role}} ha de tenir la verificació NIP-05.", + "addInSettings": "Afegeix NIP-05 a Configuració", + "explainer": "NIP-05 demostra la teva identitat vinculant el teu perfil de Nostr a un domini, com ara", + "updateProfile": "Actualitza el teu perfil" + }, + "editProfile": { + "uploadSuccessTitle": "Fet", + "uploadSuccessDesc": "{{field}} s'ha pujat correctament", + "uploadErrorDesc": "No s'ha pogut pujar {{field}}. Torna-ho a provar.", + "mustBeLoggedIn": "Has d'iniciar sessió per actualitzar el teu perfil", + "invalidClinkTitle": "Codi CLINK no vàlid", + "invalidClinkDesc": "Això no sembla un codi noffer1… vàlid. Esborra'l o enganxa'n un de vàlid.", + "invalidLightningTitle": "Adreça Lightning no vàlida", + "invalidLightningDesc": "Fes servir una adreça com un correu, per exemple tu@walletofsatoshi.com.", + "invalidSpTitle": "Adreça de Silent Payment no vàlida", + "invalidSpDesc": "Una adreça de Silent Payment comença per \"sp1\" i és bastant llarga. Esborra-la o enganxa'n una de vàlida.", + "invalidCordnTitle": "Enllaç de Cordn no vàlid", + "invalidCordnDesc": "Enganxa un enllaç de contacte de Cordn complet https://…", + "updateSuccessTitle": "Fet", + "updateSuccessDesc": "El teu perfil s'ha actualitzat", + "updateErrorDesc": "No s'ha pogut publicar el perfil. Comprova les connexions als relés a Configuració > Relés", + "identityTitle": "Identitat", + "identityDesc": "Com et veuen a SkateSpots.", + "displayName": "Nom visible", + "displayNamePlaceholder": "El teu nom", + "bio": "Bio", + "bioPlaceholder": "Unes paraules sobre tu i el teu patinatge…", + "profilePicture": "Foto de perfil", + "pictureDesc": "Puja o enganxa una imatge quadrada.", + "bannerImage": "Imatge de portada", + "bannerDesc": "Una imatge ampla per a la part superior del teu perfil.", + "website": "Lloc web", + "bitcoinTitle": "Bitcoin i pagaments", + "bitcoinDesc": "Deixa que la gent t'enviï zaps, propines i pagaments directament, sense intermediaris.", + "lightningAddress": "Adreça Lightning", + "lud16Invalid": "Fes servir una adreça com un correu, p. ex. tu@elteudomini.com.", + "lud16Ok": "Activa el botó «Zap» del teu perfil.", + "lud16Hint": "Propines instantànies en Bitcoin. Activa el botó «Zap» del teu perfil.", + "silentPaymentAddress": "Adreça de Silent Payment", + "spInvalid": "Ha de començar per «sp1» i ser bastant llarga.", + "spOk": "Vàlida: una adreça en cadena reutilitzable i privada.", + "spHint": "Adreça estàtica en cadena reutilitzable (BIP-352). Comparteix-la un cop; cada pagament queda desvinculat.", + "clinkTipCode": "Codi de propina CLINK", + "nofferInvalid": "Això no sembla un codi noffer1… vàlid.", + "nofferOk": "Vàlid: es mostrarà un botó «Propina en Bitcoin» al teu perfil.", + "nofferHint": "Codi CLINK autocustodiat perquè qualsevol et pugui enviar propines per Nostr, sense intermediaris.", + "skateProfileTitle": "Perfil de skate", + "skateProfileDesc": "Mostra els teus patrocinadors i com et pot contactar la crew.", + "badges": "Insígnies", + "badgesHint": "(etiqueta + enllaç opcional)", + "badgeExample": "p. ex. Independent Trucks", + "badgeLabelPlaceholder": "Etiqueta de la insígnia…", + "badgeUrlPlaceholder": "https://… (opcional)", + "removeBadge": "Treu la insígnia", + "addBadge": "Afegeix una insígnia", + "badgesDescBefore": "Patrocinadors, botigues o persones que donen suport al teu patinatge, i qualsevol altra cosa que vulguis lluir. Cadascuna es converteix en una etiqueta clicable al teu perfil. La insígnia de", + "badgesDescAfter": "membre s'afegeix automàticament.", + "coordinator": "Coordinador", + "cordnInvalid": "Això no sembla un coordinador. Enganxa un nprofile, un enllaç de cordn.net o una URL https://.", + "cordnOk": "Es mostra al teu perfil: els altres el poden afegir amb un toc.", + "cordnHint": "El coordinador de Cordn que els altres fan servir per escriure't. Privat, xifrat i teu.", + "useMyCoordinator": "Fes servir el meu coordinador", + "accountTitle": "Compte", + "accountDesc": "Configuració addicional del compte.", + "botAccount": "Compte de bot", + "botAccountDesc": "Marca aquest compte com a automatitzat o com a bot.", + "saving": "S'està desant…", + "saveProfile": "Desa el perfil", + "nip05VerifiedHandle": "Identificador verificat NIP-05", + "nip05How": "Com?", + "extraHandles": "Identificadors addicionals", + "extraHandlesHint": "opcional: pots afegir-ne fins a 5", + "nip05HintEmpty": "Un identificador verificat com tu@elteudomini.com: la versió de Nostr del tick blau. Mostra una insígnia ✓ al teu perfil i desbloqueja el filtre «Verificat» al directori de skaters.", + "nip05Invalid": "Fes servir un identificador com un correu, p. ex. tu@elteudomini.com, sense «https://» ni espais.", + "nip05Checking": "S'està comprovant el teu domini…", + "nip05Verified": "Verificat: el teu domini confirma que aquest identificador és teu. ✓", + "nip05Mismatch": "El teu domini assigna aquest identificador a una clau DIFERENT. Corregeix el teu .well-known/nostr.json perquè apunti a aquest compte.", + "nip05Unreachable": "Encara no s'ha pogut accedir al /.well-known/nostr.json del teu domini. Els identificadors desats funcionaran quan el domini estigui ben configurat.", + "nip05Enter": "Introdueix el teu identificador NIP-05.", + "freeHandleBefore": "No tens domini propi? Reserva un", + "freeHandleAfter": "identificador gratuït de SkateSpots.", + "uploadLabel": "Puja {{label}}", + "previewLabel": "Vista prèvia de {{label}}" + }, + "security": { + "recoveryCopied": "Codi de recuperació copiat. Guarda'l en un lloc segur.", + "savedTitle": "Desat!", + "recoveryDownloaded": "Codi de recuperació descarregat. Guarda'l en un lloc segur.", + "downloadFailedTitle": "La descàrrega ha fallat", + "downloadFailedDesc": "Copia'l manualment.", + "loginRequired": "Cal iniciar sessió", + "loginRequiredDesc": "Inicia sessió per accedir a la configuració de seguretat.", + "backupConfirmedTitle": "Còpia confirmada! ✅", + "backupConfirmedDesc": "Genial! Les teves claus estan segures.", + "yourRecoveryCode": "El teu codi de recuperació", + "recoveryCodeDesc": "No el vas desar quan et vas registrar? El pots obtenir aquí quan vulguis.", + "recoveryCodeBefore": "Aquest codi és l'", + "only": "única", + "recoveryCodeAfter": "manera de tornar a iniciar sessió en un dispositiu o navegador nou. Guarda'l en un lloc segur (un gestor de contrasenyes o escrit en paper). Qui el tingui controla el teu compte: no el comparteixis mai.", + "revealRecovery": "Mostra el meu codi de recuperació", + "qrHint": "Escaneja'l amb una altra app de Nostr per iniciar sessió. Mantén aquesta pantalla privada.", + "neverShareHide": "⚠️ No ho comparteixis mai. Amaga-ho quan acabis.", + "hide": "Amaga", + "amberNoteBefore": "Has iniciat sessió amb", + "amberNoteAfter": ". El teu codi de recuperació viu dins d'Amber: obre l'aplicació Amber per fer-ne una còpia. SkateSpots no veu mai la teva clau.", + "bunkerNoteBefore": "Has iniciat sessió amb un", + "remoteSigner": "signador remot (bunker)", + "bunkerNoteAfter": ". El teu codi de recuperació el guarda el teu servei signador, no SkateSpots. Fes-ne la còpia allà.", + "extensionNoteBefore": "Has iniciat sessió amb una", + "browserExtension": "extensió del navegador", + "extensionNoteAfter": ". El teu codi de recuperació viu a l'extensió: fes servir la seva opció de còpia o exportació. SkateSpots no veu mai la teva clau.", + "otherNote": "El teu codi de recuperació el gestiona la teva aplicació signadora, no SkateSpots. Fes-ne la còpia allà.", + "backupWarningTitle": "⚠️ Has fet una còpia de la teva frase de recuperació o clau secreta?", + "backupWarningBody": "Les teves claus són l'ÚNICA manera d'accedir al teu compte. Si les perds, ho perds tot: no hi ha restabliment de contrasenya!", + "iveBackedUp": "He fet una còpia de les meves claus", + "backupConfirmed": "✅ Còpia confirmada", + "backupNotConfirmed": "⚠️ Còpia no confirmada", + "backupConfirmedStatusDesc": "Has confirmat que les teves claus estan ben desades.", + "backupNotConfirmedDesc": "Assegura't de fer una còpia de la teva frase de recuperació o clau secreta!", + "notSavedYetBefore": "Encara no has desat el teu codi de recuperació? Cap problema: agafa'l de la", + "notSavedYetAfter": "secció de dalt, guarda'l en un lloc segur i confirma-ho a baix.", + "yesBackedUp": "Sí, he fet una còpia de les meves claus", + "bestPracticesTitle": "Bones pràctiques per a la seguretat de les claus", + "bestPracticesDesc": "Com mantenir segur el teu compte de Nostr", + "bp1Title": "Apunta-la en paper", + "bp1Desc": "La còpia física és la més segura. Guarda-la en un lloc segur, com una caixa forta.", + "bp2Title": "Diverses còpies", + "bp2Desc": "Guarda còpies en llocs segurs diferents (la caixa forta de casa, una caixa de seguretat del banc, etc.)", + "bp3Title": "No comparteixis mai les claus", + "bp3Desc": "Les apps de Nostr de veritat MAI no demanen el teu nsec ni la frase de recuperació després del primer inici de sessió", + "bp4Title": "No les guardis al núvol sense xifrar", + "bp4Desc": "Evita Google Docs, esborranys de correu o emmagatzematge al núvol en text pla", + "bp5Title": "Pensa a fer servir una extensió del navegador", + "bp5Desc": "Alby, nos2x o Flamingo mantenen les teves claus segures i no les exposen mai als llocs web", + "importantReminders": "⚠️ Recordatoris importants", + "rem1": "Si perds les claus, perds el compte per sempre", + "rem2": "Cap empresa ni persona pot restablir la teva contrasenya, ni tan sols nosaltres", + "rem3": "Qui tingui les teves claus té el control total del teu compte", + "rem4": "Les teves claus controlen totes les teves dades de Nostr a TOTES les apps", + "recommendedSigners": "🔌 Signadors de Nostr recomanats", + "recommendedSignersDesc": "Fes servir un signador de Nostr per tenir més seguretat i comoditat", + "recommended": "Recomanat", + "amberDesc": "Signador de Nostr segur per a Android. Manté les claus segures al telèfon i signa esdeveniments sense exposar-les.", + "albyDesc": "Extensió completa amb moneder Lightning, WebLN i suport per a NWC.", + "flamingoDesc": "Interfície simple i neta. Es centra a signar a Nostr, sense funcions de moneder.", + "nos2xDesc": "Extensió mínima i lleugera per a usuaris avançats.", + "nostrConnectTitle": "☁️ Nostr Connect (signadors remots)", + "nostrConnectDesc": "Fes servir un signador remot per accedir al teu compte des de qualsevol dispositiu", + "nostrConnectBody": "Nostr Connect (també anomenat \"bunkers\") et deixa guardar les claus en un servidor segur i iniciar sessió des de qualsevol dispositiu. Les claus no surten mai del servidor, però pots fer servir el compte a qualsevol lloc!", + "nsecAppDesc": "Signador remot gratuït i segur. Crea un URI bunker:// i enganxa'l en iniciar sessió.", + "nostrumDesc": "Una altra opció de signador remot amb suport per a mòbils.", + "howToUse": "💡 Com fer-lo servir:", + "howToUseDesc": "Crea un compte en un d'aquests serveis, aconsegueix la cadena de connexió bunker:// i enganxa-la a la pestanya \"Nostr Connect\" quan iniciïs sessió." + }, + "relayList": { + "connected": "Connectat", + "connecting": "S'està connectant…", + "offline": "Fora de línia", + "removeUrl": "Treu {{url}}", + "add": "Afegeix", + "publishedTitle": "Llista de relés publicada", + "publishedDesc": "Sincronitzada amb Nostr (kind 10002).", + "publishFailedTitle": "No s'ha pogut publicar la llista de relés", + "invalidUrlTitle": "URL de relé no vàlida", + "invalidUrlDesc": "Prova una cosa com wss://relay.example.com", + "alreadyInList": "El relé ja és a la teva llista", + "keepReadWriteTitle": "Deixa lectura o escriptura activada", + "keepReadWriteDesc": "Un relé necessita com a mínim lectura o escriptura.", + "alreadyInThisList": "El relé ja és en aquesta llista", + "dmPublishedTitle": "Relés de MD publicats", + "dmPublishedDesc": "Safata d'entrada NIP-17 actualitzada.", + "dmPublishFailedTitle": "No s'han pogut publicar els relés de MD", + "nip65Title": "Relés (NIP-65)", + "nip65DescUser": "Toca Lectura / Escriptura per canviar-ho. Es publica a Nostr com la teva llista kind 10002.", + "nip65DescLoggedOut": "Toca Lectura / Escriptura per canviar-ho. Inicia sessió per publicar la teva llista a Nostr.", + "noRelays": "Encara no hi ha relés: afegeix-ne un a baix.", + "local": "Local", + "read": "Lectura", + "readHint": "Obtén contingut d'aquest relé", + "write": "Escriptura", + "writeHint": "Publica els teus esdeveniments en aquest relé", + "dmTitle": "Relés de safata d'entrada de MD", + "dmDesc": "On reps els missatges directes NIP-17 (kind 10050). Si està buit, s'usen els teus relés d'escriptura.", + "localTitle": "Relés locals", + "localDesc": "Només per a l'app (p. ex. un node de la xarxa local). S'usen per llegir i escriure; no es publiquen mai.", + "blockedTitle": "Relés bloquejats", + "blockedDesc": "No t'hi connectes mai: queden exclosos de totes les lectures i escriptures." + }, + "relatr": { + "searchingTitle": "S'està cercant el servei Relatr...", + "searchingDesc": "S'estan consultant perfils de Relatr a Nostr", + "foundTitle": "Servei Relatr trobat!", + "foundDesc": "Servei: {{name}}", + "unknown": "Desconegut", + "notFoundTitle": "No s'ha trobat cap servei Relatr", + "notFoundDesc": "Prova d'introduir la clau pública manualment o consulta https://www.relatr.xyz/", + "searchFailedTitle": "La cerca ha fallat", + "searchFailedDesc": "No s'han pogut consultar perfils de Relatr a Nostr", + "invalidPubkeyTitle": "Clau pública no vàlida", + "invalidPubkeyDesc": "Introdueix una clau pública hex vàlida de 64 caràcters", + "enabledTitle": "Relatr activat!", + "enabledDesc": "Ara les puntuacions de confiança globals estan actives.", + "disabledTitle": "Relatr desactivat", + "disabledDesc": "Ja no s'obtenen puntuacions de confiança.", + "title": "Puntuacions de confiança de Relatr", + "desc": "Les puntuacions de confiança globals ajuden a identificar usuaris fiables i reduir el spam", + "status": "Estat", + "active": "Actiu", + "disabled": "Desactivat", + "activeStrong": "Relatr està actiu.", + "activeDesc": "Les puntuacions de confiança de l'anàlisi de xarxa global de ContextVM ajuden a identificar skaters fiables i reduir el spam.", + "disabledStrong": "Relatr està desactivat.", + "disabledHint": "Activa'l per obtenir puntuacions de confiança de la xarxa global de Nostr.", + "disable": "Desactiva Relatr", + "enable": "Activa Relatr", + "advancedSettings": "Configuració avançada", + "servicePubkey": "Clau pública del servei Relatr", + "pubkeyPlaceholder": "Introdueix una clau pública hex de 64 caràcters...", + "searching": "S'està cercant...", + "autoDiscover": "Descobriment automàtic", + "pubkeyDefault": "Per defecte: el servei Relatr oficial de ContextVM (npub1dvmc...)", + "relayLabel": "Relé (on Relatr publica les puntuacions)", + "relayDefault": "Per defecte: wss://relay.contextvm.org (el relé oficial de ContextVM)", + "applyChanges": "Aplica els canvis", + "learnMore": "Més informació:", + "website": "Lloc web de Relatr", + "github": "GitHub de Relatr", + "nip85Spec": "Especificació NIP-85" + }, + "followList": { + "unfollow": "Deixa de seguir", + "title": "La teva xarxa de Nostr", + "desc": "Gestiona a qui segueixes. Seguir usuaris ajuda a construir la teva xarxa de confiança i determina quins spots mostren insígnies de confiança.", + "following": "Seguint ({{count}})", + "followers": "Seguidors ({{count}})", + "follow": "Segueix", + "followHint": "💡 Enganxa una clau pública de Nostr (npub1...), una adreça NIP-05 (usuari@domini.com) o una clau pública hex", + "notFollowing": "Encara no segueixes ningú", + "notFollowingHint": "Segueix skaters per veure els seus spots amb insígnies ✅ VERIFICAT", + "trustActiveStrong": "✅ Insígnies de confiança actives:", + "trustActive": "Els spots creats per gent que segueixes ara mostraran insígnies VERIFICAT. Els spots dels seus amics mostraran insígnies DE CONFIANÇA.", + "noFollowers": "Encara no tens seguidors", + "noFollowersHint": "Comparteix el teu perfil de Nostr per guanyar seguidors!", + "howTitle": "💡 Com afecta seguir algú a les insígnies de confiança", + "verifiedStrong": "✅ VERIFICAT (verd):", + "verifiedDesc": "Spots creats per gent que segueixes directament", + "trustedStrong": "🟡 DE CONFIANÇA (groc):", + "trustedDesc": "Spots creats per gent que segueixen els teus amics (2 salts)", + "unverifiedStrong": "⚪ No verificat:", + "unverifiedDesc": "Spots d'usuaris sense cap connexió amb la teva xarxa", + "tip": "💡 Consell: segueix skaters actius per veure més spots verificats i fer créixer la teva xarxa de confiança!" + }, + "notify": { + "enableTitle": "Activa les notificacions", + "enableDesc": "Fes vibrar aquest dispositiu quan hi hagi alguna cosa per a tu.", + "checkingPermission": "S'està comprovant el permís…", + "unsupported": "Aquest dispositiu no admet notificacions aquí. Torna a compilar l'app d'Android per activar-les al telèfon.", + "denied": "Les notificacions estan bloquejades per a aquest lloc. Permet-les a la configuració del navegador o del sistema i torna-ho a provar.", + "backgroundTitle": "Notificacions en segon pla", + "backgroundDesc": "Rep avisos de missatges i intercanvis fins i tot quan SkateSpots està tancat.", + "pushUnsupported": "Aquest navegador no admet notificacions push en segon pla. Al mòbil, afegeix SkateSpots a la pantalla d'inici.", + "pushPrivacy": "Per arribar-te mentre l'app està tancada, un servidor de notificacions de SkateSpots rep un avís del teu relé quan arriba alguna cosa per a la teva clau i el passa al servei push del telèfon. Només veu que la teva clau té alguna cosa: mai qui ho ha enviat ni què diu, i no pot desxifrar els missatges. Ho actives per dispositiu.", + "bgDeliveryTitle": "Lliurament en segon pla (Android)", + "bgDeliveryDesc": "Comprova missatges, ofertes i intercanvis nous mentre l'app està tancada, sense serveis de Google.", + "off": "Desactivat", + "standard": "Estàndard (~15 min)", + "fast": "Ràpid (~5 min)", + "bgDeliveryNote": "L'estàndard és el millor possible: Android pot ajornar-lo amb el Doze. El ràpid mostra una notificació permanent i consumeix més bateria. No es desxifra res al nostre servidor.", + "notifyMeAbout": "Avisa'm de", + "couldNotEnable": "No s'ha pogut activar", + "sendTest": "Envia una notificació de prova", + "testTitle": "Les notificacions de SkateSpots estan activades 🛹", + "testBody": "Així es veuran un MD, un zap o una invitació a una crew.", + "footerBefore": "Els avisos es generen al teu dispositiu amb dades que l'app ja té, i els avisos de missatges directes no desxifren mai els missatges, així que no es demana mai a Amber que n'obri cap. Amb les notificacions", + "footerAfter": "desactivades, no es pot arribar a una app completament tancada, així que els avisos arriben la propera vegada que obris SkateSpots.", + "cat_dms_label": "Missatges directes", + "cat_dms_hint": "Algú t'envia un missatge privat", + "cat_crew_label": "Crews", + "cat_crew_hint": "Invitacions, sol·licituds d'unió i confirmacions de membres", + "cat_social_label": "Zaps, respostes i mencions", + "cat_social_hint": "Reaccions, reposts, zaps, respostes i actualitzacions d'esdeveniments", + "cat_newsletter_label": "Butlletí", + "cat_newsletter_hint": "Novetats de SkateSpots (només subscriptors)", + "cat_trades_label": "Ofertes i intercanvis", + "cat_trades_hint": "Ofertes, contraofertes i confirmacions d'intercanvi", + "cat_reminders_label": "Recordatoris d'esdeveniments", + "cat_reminders_hint": "Un avís una hora abans dels esdeveniments on aniràs (app d'Android)" + }, + "regionBackfill": { + "taggedTitle": "S'han etiquetat {{count}} lloc{{s}}", + "taggedSkipped": "{{count}} omesos (sense coordenades o sense coincidència amb el geocodificador).", + "taggedOk": "Les etiquetes de regió s'han escrit al relé de la comunitat.", + "nothingTitle": "No hi ha res per etiquetar", + "nothingDesc": "No s'ha pogut geocodificar cap marcador. Torna-ho a provar més tard.", + "failedTitle": "No s'ha pogut omplir", + "title": "Omple les etiquetes de regió", + "admin": "Administració", + "descBefore": "Els marcadors creats abans que existís la geocodificació tenen coordenades però cap etiqueta de ciutat o país, així que el mapa els dibuixa mentre que les estadístiques de la comunitat només poden dir «Sense categoria». Això torna a calcular les etiquetes de cada marcador i republica", + "descStrong": "els teus propis", + "descAfter": "spots i botigues sense etiquetar.", + "scanning": "S'estan escanejant els teus spots…", + "allTagged": "Tots els spots i botigues que tens ja tenen etiqueta de regió. 🎉 Els marcadors «Sense categoria» que quedin són d'altres col·laboradors: només les seves pròpies claus els poden etiquetar.", + "countLine": "{{count}} dels teus spot{{s}}/botigues no tenen etiqueta de regió. És possible que el teu signador demani aprovar-ne un per un.", + "tagging": "S'està etiquetant {{done}}/{{total}}…", + "run": "Omple les etiquetes de regió", + "summary": "{{updated}} actualitzats · {{skipped}} omesos · {{failed}} fallits" + }, + "adminReview": { + "title": "Cua de revisió", + "flagged": "{{count}} spot{{s}} donen senyals de brossa: amaga'ls o descarta'ls.", + "clean": "Spots que semblen entrades de prova o marcadors fora de tema." + }, + "grantPro": { + "invalidNpub": "Introdueix un npub vàlid (o una clau pública hex)", + "invalidDays": "Els dies han de ser un nombre positiu", + "grantedTitle": "Pro concedit ⚡", + "grantedDesc": "{{npub}} fins al {{date}}", + "failedTitle": "No s'ha pogut concedir", + "title": "Concedeix Sasquatch Pro", + "owner": "Propietari", + "desc": "Opció manual per a un pagament verificat que el rebut del zap va passar per alt. Publica una concessió signada pel propietari; l'usuari no la pot falsificar.", + "targetPlaceholder": "npub1… (o hex)", + "grant": "Concedeix" + }, + "myData": { + "reactionTitle": "Reacció {{emoji}}", + "deleting": "S'està eliminant...", + "requestDeletion": "Sol·licita l'eliminació", + "selectContentTitle": "Selecciona el contingut a eliminar", + "selectContentDesc": "Selecciona els elements concrets per als quals vols sol·licitar l'eliminació.", + "all": "Tot", + "spots": "Spots", + "events": "Esdeveniments", + "shops": "Botigues", + "listings": "Anuncis", + "collections": "Col·leccions", + "lab": "The Lab", + "posts": "Publicacions", + "reactions": "Reaccions", + "selectAll": "Selecciona-ho tot", + "selectAllVisible": "Selecciona tot el visible", + "selectedCount": "{{count}} seleccionats", + "noItemsCategory": "No hi ha elements en aquesta categoria", + "decentralizedStrong": "Important:", + "decentralizedNote": "Nostr és descentralitzat. Els relés haurien de respectar les sol·licituds d'eliminació, però alguns potser no ho faran. No és una eliminació permanent garantida.", + "deleteCount": "Elimina {{count}} element{{s}}", + "noDataTitle": "No hi ha dades per exportar", + "noDataDesc": "Encara no has publicat cap esdeveniment.", + "exportedTitle": "Dades exportades!", + "exportedDesc": "S'han descarregat {{count}} esdeveniments en JSON.", + "deletionRequestedTitle": "Eliminació sol·licitada", + "deletionRequestedDesc": "La sol·licitud d'eliminació s'ha publicat als relés.", + "deletionRequestedMany": "S'ha sol·licitat l'eliminació de {{count}} elements. Nota: alguns relés potser no respectaran la sol·licitud.", + "deletionFailedTitle": "L'eliminació ha fallat", + "deletionFailedDesc": "No s'ha pogut publicar la sol·licitud d'eliminació. Torna-ho a provar.", + "loginRequired": "Cal iniciar sessió", + "loginRequiredDesc": "Inicia sessió per veure i gestionar les teves dades.", + "title": "Les meves dades", + "desc": "El teu contingut a la xarxa Nostr. Aquestes dades són teves: exporta-les quan vulguis o sol·licita'n l'eliminació.", + "coachFilmer": "Entrenador/Filmer", + "zaps": "Zaps", + "received": "Rebuts", + "exportAll": "Exporta totes les dades", + "recentActivity": "Activitat recent", + "viewAll": "Veure-ho tot ({{count}})", + "noDataPublished": "Encara no s'ha publicat cap dada", + "startBy": "Comença", + "addingASpot": "afegint un spot", + "aboutYourData": "Sobre les teves dades", + "ownDataStrong": "Les teves dades són teves.", + "ownData": "Tot el contingut està signat amb les teves claus criptogràfiques i guardat en relés de Nostr. Cap empresa el controla.", + "exportAnytimeStrong": "Exporta quan vulguis", + "exportAnytime": "- Descarrega tots els teus esdeveniments en JSON", + "portableStrong": "Portable", + "portable": "- Fes servir les teves claus a qualsevol app de Nostr", + "selectiveStrong": "Eliminació selectiva", + "selective": "- Tria exactament què vols eliminar", + "caveatStrong": "Advertiment de descentralització", + "caveat": "- Alguns relés poden conservar dades tot i les sol·licituds d'eliminació" + }, + "settingsPage": { + "seoTitle": "Configuració - SkateSpots", + "seoDescription": "Gestiona la configuració del teu compte de SkateSpots.", + "heading": "CONFIGURACIÓ", + "subtitle": "Preferències del compte i de l'app", + "editProfile": "Edita el perfil", + "profileRefreshed": "Perfil actualitzat!", + "found": "Trobat: {{name}}", + "unnamed": "sense nom", + "profileNotFound": "Perfil no trobat", + "notFoundOnRelay": "No s'ha trobat a cap relé.", + "refreshFailed": "L'actualització ha fallat", + "refreshFailedDesc": "No s'ha pogut connectar amb els relés.", + "loginToEdit": "Inicia sessió per editar el teu perfil", + "noProfileRelays": "No hem trobat cap perfil als relés. Si ja n'havies creat un, prova d'actualitzar.", + "checkDisplayName": "un nom visible", + "checkPhoto": "una foto de perfil", + "checkBio": "una bio curta", + "checkLightning": "una adreça Lightning perquè la gent et pugui enviar zaps", + "checkHandle": "un identificador gratuït @skate-spots.org", + "finishProfile": "Completa el teu perfil", + "addItem": "Afegeix {{item}}", + "nip05Title": "Verificació NIP-05", + "nip05Desc": "Aconsegueix una adreça de Nostr verificada (com nom@domini.com) per generar confiança. Cal per crear esdeveniments, perfils de coaching i botigues.", + "freeFromSkateSpots": "Gratuït, de SkateSpots", + "claimHandleBefore": "Reserva un identificador com", + "claimHandleAfter": "—sense registre, sense cost i sense cap domini per mantenir. Reserva'l a la pestanya Perfil i desa.", + "claimInProfile": "Reserva'l al perfil", + "nip05Footer": "Quan tinguis el NIP-05, afegeix-lo al camp del perfil i desa.", + "localRelayOn": "Relé local activat", + "localRelayOff": "Relé local desactivat", + "lookingForCitrine": "S'està buscant Citrine en aquest dispositiu…", + "noLongerUsing": "Ja no fas servir el relé del dispositiu.", + "localRelay": "Relé local", + "citrineOff": "Lectures més ràpides i còpia fora de línia en aquest dispositiu", + "citrineSearching": "S'està buscant Citrine en aquest dispositiu…", + "citrineLive": "Connectat: lectura i còpia local", + "citrineWaiting": "Activat: engega Citrine per connectar", + "toggleCitrine": "Activa o desactiva el relé local Citrine", + "citrineDetected": "Relé Citrine detectat", + "citrineLooking": "S'està buscant Citrine…", + "citrineNotDetected": "Citrine no detectat", + "recheckCitrine": "Torna a comprovar el relé Citrine", + "checking": "S'està comprovant", + "recheck": "Torna a comprovar", + "chipInstantReads": "Lectures instantànies", + "chipWorksOffline": "Funciona fora de línia", + "chipOnDeviceBackup": "Còpia al dispositiu", + "cantReachStrong": "No es pot arribar a Citrine.", + "cantReachBefore": "Assegura't que l'app gratuïta Citrine estigui instal·lada i que el seu relé estigui", + "started": "engegat", + "cantReachAfter": ", i toca Torna a comprovar. Executa un relé de Nostr privat al teu telèfon per tenir lectures instantànies i una còpia fora de línia.", + "citrineStep1Before": "Obre Citrine → toca", + "start": "Inicia", + "citrineStep2Before": "Torna aquí → toca", + "getCitrine": "Aconsegueix Citrine", + "citrinePrivacy": "El teu Stash i els teus missatges es queden xifrats d'extrem a extrem aquí, exactament com a la resta de llocs. El relé local només accelera les coses i en guarda una còpia al dispositiu: no substitueix mai el xifratge.", + "communityRelayDisabled": "Relé de la comunitat desactivat", + "communityRelayEnabled": "Relé de la comunitat activat", + "usingOnlyPersonal": "Només s'usen els relés que has configurat.", + "skateRelayIncluded": "S'inclou el relé de SkateSpots.", + "relays": "Relés", + "relayPrivacyBefore": "Els relés poden veure la teva", + "ipAddress": "adreça IP", + "relayPrivacyAfter": "quan et connectes. Tor l'amaga, i tracta una VPN \"gratuïta\" com un senyal d'alerta: normalment monetitzen el teu trànsit.", + "communityRelay": "Relé de la comunitat", + "syncingGlobal": "Sincronitzat amb la comunitat global de skate", + "usingOnlyPersonalShort": "Només relés personals", + "appearance": "Aparença", + "language": "Idioma", + "darkModeOnly": "Només mode fosc", + "darkModeDesc": "SkateSpots fa servir una estètica neó fosca inspirada en la cultura del skate. Fons negre, rosa neó, llima i taronja.", + "navigation": "Navegació", + "sasquatchExpanded": "El Sasquatch s'ha ampliat! 🦧 Actualitza la pàgina per veure'l.", + "advanced": "Avançat", + "sasquatchGuide": "🦧 Guia del Sasquatch", + "sasquatchResetDesc": "Restableix la guia d'inici a la vista ampliada", + "expandSasquatch": "Amplia el Sasquatch", + "wallet": "Moneder", + "loginToWallet": "Inicia sessió per gestionar el moneder", + "openWallet": "Obre el moneder", + "balanceSendReceive": "Saldo, enviar, rebre", + "connectNwc": "Connecta un moneder NWC", + "account": "Compte", + "security": "Seguretat", + "securitySub": "Claus, signatura, Amber", + "nip05Sub": "Aconsegueix una adreça de Nostr verificada", + "app": "App", + "myStash": "El meu Stash", + "myStashSub": "Inventari privat de material", + "relaysSub": "Connexions als relés de Nostr", + "appearanceSub": "Idioma i tema", + "assistant": "Assistent", + "showSasquatch": "Mostra l'assistent Sasquatch", + "showSasquatchDesc": "Mostra el botó flotant del Sasquatch al mapa i a altres pantalles.", + "showMapFooter": "Mostra la barra d'enllaços del mapa", + "showMapFooterDesc": "Mostra la franja fina d'enllaços a la part inferior del mapa.", + "notifications": "Notificacions", + "notificationsSub": "Avisos de MD, crews i zaps", + "coordinator": "Coordinador", + "coordinatorSub": "El servidor de grup Cordn", + "data": "Dades", + "myData": "Les meves dades", + "myDataSub": "Exporta, importa, gestiona", + "advancedSub": "Relatr, Sasquatch, eines", + "trust": "Confiança", + "trustSub": "Fonts i visualització", + "notLoaded": "No carregat", + "notLoggedIn": "Sense sessió" + }, + "onboarding": { + "seoTitle": "Comença — SkateSpots", + "seoDescription": "Uneix-te a la comunitat de skate descentralitzada. Troba spots, connecta amb entrenadors i envia zaps. Gratis per sempre.", + "homeSetTitle": "Casa configurada 🛹", + "homeSetDesc": "Ara el mapa s'obrirà a la teva zona.", + "locationFailedTitle": "No s'ha pogut obtenir la teva ubicació", + "locationFailedDesc": "Comprova els permisos d'ubicació o tria la teva zona al mapa.", + "niceTitle": "🎉 Genial!", + "niceDesc": "Ja entens com funciona Nostr. Anem a patinar!", + "npubCopied": "npub copiat al porta-retalls.", + "saveLoginNow": "Desa el teu accés: fes-ho ara", + "saveLoginNowDesc": "El teu codi de recuperació és l'única manera de tornar al teu compte. Sense correu, sense restablir contrasenya.", + "betaBadge": "Beta: obert a skaters de tot el món", + "headline1": "PATINA", + "headline2": "EL TEU MÓN", + "heroBefore": "Una comunitat de skate", + "decentralized": "descentralitzada", + "heroAfter": ". Cap empresa en és propietària. Cap algorisme enterra els teus spots. Cap martell de bans. Només skaters.", + "pillMap": "Mapa de spots", + "pillCoaches": "Entrenadors i filmers", + "pillEvents": "Esdeveniments", + "pillGear": "Compra o ven material", + "pillZaps": "Zaps de Bitcoin", + "pillStash": "Stash de material", + "pillCrews": "Crews", + "createFreeAccount": "Crea el teu compte gratuït", + "noEmailNoPassword": "Sense correu. Sense contrasenya. La teva identitat és teva per sempre.", + "findSpots": "Troba spots a prop", + "addFirstSpot": "Afegeix el teu primer spot", + "accountCreated": "Ja hi ets! Compte creat ✓", + "identityYours": "La teva identitat és teva: guardada a la teva clau, no als nostres servidors.", + "whereSkate": "On patines?", + "whereSkateDesc": "Configura la teva zona d'origen un cop i el mapa s'obrirà als teus spots cada vegada. El teu GPS no surt mai del dispositiu.", + "useMyLocation": "Fes servir la meva ubicació", + "pickOnMap": "Tria al mapa", + "loginSaved": "Accés desat: el teu compte es pot recuperar.", + "whyBother": "Per què molestar-se?", + "why1Title": "Tots els spots, un mapa", + "why1Body": "Vores, baranes, DIY, parcs: mapejats per skaters que hi patinen de veritat. Consulta l'estat abans de sortir per no gastar una sessió en un lloc on t'expulsaran.", + "why2Title": "Fet per skaters, no per trajos", + "why2Body": "Sense anuncis, sense algorisme que t'empassi brossa, sense recol·lecció de dades. Codi obert. El mapa és de la comunitat, tu inclòs.", + "why3Title": "Cobra pel que aportes", + "why3Body": "Mapeja una joia, filma un clip brutal, organitza una sessió, i rep zaps de Bitcoin de veritat directament al moneder. Sense comissions de plataforma, sense intermediaris.", + "why4Title": "El teu compte és realment teu", + "why4Body": "Una clau t'obre totes les apps de Nostr. Cap empresa et pot bloquejar o esborrar el compte quan vulgui. Porta la teva identitat allà on vulguis.", + "everythingFree": "Tot el que pots fer, gratis", + "featSpots": "Descobreix spots", + "featSpotsDesc": "Mapa interactiu amb milers de spots a tot el món", + "featLab": "The Lab", + "featLabDesc": "Troba entrenadors, filmers i editors de vídeo a prop", + "featEvents": "Esdeveniments", + "featEventsDesc": "Competicions, sessions, trobades", + "featGear": "Compra / ven material", + "featGearDesc": "Mercat entre usuaris per a material de skate de segona mà", + "featStash": "El meu Stash", + "featStashDesc": "Inventari privat i xifrat de tot el que tens", + "featCrews": "Crews", + "featCrewsDesc": "Roda amb la teva crew: spots compartits, xat i sessions", + "whatIsNostr": "Què és Nostr?", + "whatIsNostrSub": "El protocol que impulsa SkateSpots", + "nostrBefore": "Nostr és un protocol obert, com el correu electrònic però per a apps socials. El teu compte és una", + "cryptoKeyPair": "parella de claus criptogràfiques", + "nostrAfter": "que és teva. Cap empresa controla el teu compte ni les teves dades: tu tries quins relés les guarden, i fins i tot pots fer anar el teu. La teva identitat funciona a totes les apps de Nostr.", + "nostrPoint1": "Les teves dades i claus són teves", + "nostrPoint2": "Cap empresa et pot fer fora", + "nostrPoint3": "La identitat funciona a tot arreu", + "nostrPoint4": "Propines directes en Bitcoin", + "deepDive": "A fons: com funciona Nostr", + "privacyTip": "Consell de privacitat: el teu GPS no surt mai del dispositiu. Els servidors amb què et connectes (com els de les rajoles del mapa) encara poden veure la teva IP; si també vols amagar-la, una VPN o Tor funcionen. És totalment opcional.", + "readPrivacy": "Llegeix la nostra pàgina de privacitat", + "zapsWallet": "⚡ Zaps i moneder", + "optional": "Opcional", + "walletDesc": "Els zaps són propines en Bitcoin que envies directament a un skater que ha descobert un spot increïble, ha filmat un clip brutal o ha organitzat una gran sessió. Sense comissions de plataforma. Sense intermediaris. El 100 % és per a ell.", + "builtInWallet": "Moneder Cashu integrat", + "builtInWalletDesc": "Rep pagaments Lightning directament a l'app. Sense configuració.", + "balance": "Saldo", + "connectExternal": "Connecta un moneder extern", + "connectExternalDesc": "Tens Alby, Mutiny o un altre moneder? Connecta'l per NWC.", + "connectViaNwc": "Connecta per NWC", + "loginToConnect": "Inicia sessió per connectar el teu propi moneder.", + "fiveDollars": "💡 5 $ en Bitcoin = centenars de zaps per repartir per la comunitat", + "commonQuestions": "Preguntes habituals", + "faq1Q": "SkateSpots és gratuït?", + "faq1A": "100 % gratuït. Explorar spots, afegir llocs, trobar entrenadors, crear esdeveniments i unir-te a sessions: tot gratis, per sempre. El Bitcoin (zaps) és opcional si vols enviar propines als creadors.", + "faq2Q": "Què és Nostr i per què el fa servir SkateSpots?", + "faq2Before": "Nostr és un protocol obert per a apps descentralitzades: pensa-hi com en la mateixa internet, que no és propietat de cap empresa. El teu compte de SkateSpots és una parella de claus criptogràfiques que", + "faq2Strong": "és teva", + "faq2After": ". Cap empresa pot bloquejar el teu compte ni segrestar les teves dades: tu tries quins relés les guarden, i fins i tot pots fer anar el teu. La teva identitat també funciona en altres apps de Nostr com Primal, Damus o Amethyst.", + "faq3Q": "Què és un nsec i per què és important?", + "faq3Before": "El teu", + "faq3Mid": "és la teva clau privada: és l'única prova que el compte és teu. A diferència de les contrasenyes, no hi ha", + "faq3Strong": "cap «he oblidat la contrasenya»", + "faq3After": ". Si perds el nsec, el compte desapareix per sempre. Quan crees un compte, descarrega la còpia de seguretat immediatament i guarda-la en un lloc segur (un gestor de contrasenyes o escrit fora de línia).", + "faq4Q": "Quins signadors o apps funcionen amb SkateSpots?", + "faq4Desktop": "A l'ordinador:", + "faq4Extensions": "extensions del navegador.", + "faq4Android": "A Android:", + "faq4AndroidAfter": "(la millor experiència amb l'app nativa).", + "faq4Ios": "A iOS:", + "faq4IosAfter": "o enganxa el teu nsec directament (menys segur).", + "faq4Note": "També pots iniciar sessió enganxant el teu nsec directament, però fer servir una extensió signadora és més segur.", + "faq5Q": "Puc fer servir SkateSpots al mòbil?", + "faq5Before": "Sí! SkateSpots és una PWA (aplicació web progressiva). Visita", + "faq5Mid": "al navegador del telèfon i toca", + "faq5Em": "«Afegeix a la pantalla d'inici»", + "faq5After": "per tenir l'experiència completa d'app. O descarrega-la de", + "faq5End": ", una botiga d'apps descentralitzada.", + "faq6Q": "Què és un zap?", + "faq6A": "Un zap és una propina instantània en Bitcoin enviada per la Lightning Network. Quan envies un zap a un skater, els sats arriben al seu moneder en segons: sense PayPal, sense Venmo, sense comissions. Qui ha filmat aquell salt de 4 graons cobra directament dels fans.", + "faq7Q": "Els meus spots s'esborraran si SkateSpots tanca?", + "faq7A": "No. Els teus spots es publiquen en relés de Nostr, servidors distribuïts que qualsevol pot fer anar. Fins i tot si SkateSpots desaparegués demà com a producte, les teves dades continuarien als relés i qualsevol client de Nostr les podria mostrar.", + "faq8Q": "Puc afegir un spot que és en propietat privada?", + "faq8A": "Pots, però fes servir el sentit comú. Els spots en propietat privada s'han de marcar com a tal perquè els skaters sàpiguen a què s'enfronten. SkateSpots no es responsabilitza de les intrusions: respecta sempre els propietaris i la gent del lloc.", + "faq9Q": "Com puc informar d'un error o donar la meva opinió?", + "faq9Before": "Envia un MD a l'equip de SkateSpots directament per Nostr, o contacta amb el nostre coordinador de beta:", + "faq9Link": "Comentaris de beta → cordn.net", + "readyToShred": "A PUNT PER ANAR A TOPE?", + "stopScrolling": "Deixa de fer scroll. Aconsegueix l'app. Troba un spot. Patina'l.", + "exploreSpots": "Explora spots", + "betaFeedbackTitle": "Beta: volem la teva opinió", + "betaFeedbackDesc": "SkateSpots està en desenvolupament actiu. Potser trobes arestes: és culpa nostra, no teva. Informa d'errors, proposa funcions i digue'ns què no funciona.", + "betaCoordinator": "Coordinador de la beta", + "betaCoordinatorDesc": "cordn.net → escriu-nos", + "dmOnNostr": "MD a Nostr", + "fixSameDay": "Has trobat un error? El corregim el mateix dia. Els teus informes fan l'app millor per a tots els skaters.", + "relaySetup": "Configuració dels relés" + }, + "relayEdu": { + "understandingNostr": "Entendre Nostr", + "stepOf": "Pas {{current}} de {{total}}", + "step1Title": "Entendre els relés", + "step1Desc": "Pensa en els relés com a botigues de skate que comparteixen notícies sobre spots", + "you": "Tu", + "relays": "Relés", + "skaters": "Skaters", + "s1Good1": "Cap empresa és propietària del teu compte", + "s1Good1Desc": "La teva identitat viu en diversos servidors de relés", + "s1Good2": "Tu controles on viuen les teves dades", + "s1Good2Desc": "Les teves publicacions se sincronitzen entre els relés que tries: tria els teus o fes anar un tu mateix", + "s1Warn": "Els operadors dels relés poden veure les publicacions públiques", + "s1WarnDesc": "Pensa-hi com penjar un anunci al tauler del barri", + "step2Title": "Públic o privat", + "step2Desc": "Sàpigues què és visible i què està xifrat", + "publicTitle": "Públic (ho pot veure tothom)", + "pub1": "Els spots que afegeixes al mapa", + "pub2": "Ressenyes i comentaris", + "pub3": "La informació del teu perfil (nom, foto)", + "pub4": "A qui segueixes", + "privateTitle": "Privat (xifrat)", + "priv1": "Missatges directes", + "priv2": "Comunicacions del moneder", + "noteStrong": "Nota:", + "note": "Les publicacions es poden guardar permanentment als relés. Pensa-t'ho abans de publicar, com a la vida real!", + "step3Title": "Les teves claus = el teu compte", + "step3Desc": "Això és el més important que has d'entendre", + "secretKeyTitle": "La teva clau secreta (nsec)", + "secretKeyDesc": "Pensa-hi com en el teu skate: no el deixis mai a ningú. Demostra que el compte és teu.", + "s3Bad1": "Si la perds, el compte no es pot recuperar", + "s3Bad2": "No hi ha «he oblidat la contrasenya»: ningú no la pot restablir", + "s3Good": "Fes-ne una còpia i guarda-la en un lloc segur", + "publicKeyTitle": "La teva clau pública (npub)", + "publicKeyDesc": "És com el teu nom d'usuari: comparteix-la lliurement perquè els altres et trobin!", + "inControl": "🔐 Tu manes: cap empresa et pot deixar fora!", + "skip": "Omet", + "gotIt": "Entesos!" + }, + "about": { + "seoTitle": "Sobre nosaltres - SkateSpots", + "seoDescription": "Coneix SkateSpots i la nostra missió de construir una comunitat de skate descentralitzada.", + "npubCopied": "npub copiat al porta-retalls. Enganxa'l al teu client de Nostr preferit per enviar un MD.", + "bugReport": "🐛 Informe d'error", + "bugWhatHappened": "Què ha passat:", + "bugExpected": "Què esperava:", + "bugSteps": "Passos per reproduir-ho:", + "aboutWord": "SOBRE NOSALTRES", + "heroBefore": "Connecta amb escenes de skate locals d'arreu del món.", + "skaterOwned": "Dades propietat dels skaters", + "heroAfter": ", relés gestionats per la comunitat.", + "viewStats": "Veure les estadístiques de la comunitat", + "missionTitle": "La nostra missió", + "mission1": "SkateSpots ajuda els skaters a descobrir spots, connectar amb professionals a The Lab i organitzar sessions, tot sense control corporatiu. El skate de veritat passa fora de línia; aquesta eina només t'hi connecta.", + "mission2": "El coneixement del skate hauria de viure amb la comunitat, no tancat en apps corporatives. Per això SkateSpots funciona sobre Nostr: un sistema basat en relés on els skaters controlen les seves dades, trien quins relés les guarden i fins i tot poden fer anar el seu. Cap empresa és propietària del mapa.", + "whyNostr": "Per què Nostr?", + "why1Title": "Controlada per la comunitat", + "why1Desc": "Els teus spots viuen en relés de la comunitat. Els skaters fan anar els servidors, no les corporacions.", + "why2Title": "Les teves dades són teves", + "why2Desc": "La teva identitat de Nostr és teva. Porta-la a qualsevol app de Nostr: sense lligams.", + "why3Title": "Integració amb Bitcoin", + "why3Desc": "Envia zaps als creadors directament amb Bitcoin. Cap plataforma que es quedi el 30 %.", + "why4Title": "Codi obert", + "why4Desc": "Fet en obert. Qualsevol pot contribuir-hi o bifurcar el codi.", + "getInvolved": "Participa-hi", + "getInvolvedDesc": "SkateSpots és de codi obert i impulsat per la comunitat. Contribueix amb codi, comparteix spots o ajuda els altres a començar.", + "betaTitle": "Proves de beta", + "betaDesc": "Estimat usuari! Gràcies per provar SkateSpots en beta. Tingues en compte que l'app encara és en beta i pot tenir errors o problemes de seguretat. Si trobes cap problema o vols informar d'un error, posa't en contacte!", + "giveFeedback": "Dona'ns la teva opinió:", + "copyNpub": "Copia l'npub", + "reportBug": "Informa d'un error", + "viewProfile": "Veure el perfil", + "downloadApp": "Descarrega l'app", + "downloadAppDesc": "Instal·la SkateSpots a Android via Zapstore, la botiga d'apps de codi obert i nativa de Bitcoin.", + "getOnZapstore": "Aconsegueix-ho a Zapstore", + "credits": "Crèdits", + "creditPoweredBy": "Impulsat per", + "creditNostr": "Protocol descentralitzat", + "creditCrewChat": "Xat de crew via", + "creditCordn": "Xat de grup xifrat d'extrem a extrem", + "creditEcash": "Ecash amb", + "creditCashu": "Ecash chaumian per a Lightning", + "creditWalletConnect": "Connexió de moneder via", + "creditNwc": "Nostr Wallet Connect (NIP-47)", + "creditSigning": "Signatura a Android amb", + "creditAmber": "Signador de Nostr per a Android", + "creditMapData": "Dades de mapa de Bitcoin de", + "creditBtcmap": "Llocs que accepten Bitcoin", + "creditCrowdfunding": "Micromecenatge", + "creditAngor": "Micromecenatge descentralitzat amb Bitcoin", + "creditDistributed": "Distribuït a", + "creditZapstore": "Botiga d'apps de codi obert", + "creditTrust": "Confiança i xat de crew via", + "creditContextvm": "Puntuacions de confiança de Relatr i coordinació de xat de crew xifrat", + "stillQuestions": "Encara tens preguntes?", + "stillQuestionsDesc": "El Sasquatch és el nostre guia d'IA, impulsat per dades en directe de SkateSpots. Pregunta-li per spots, esdeveniments, entrenadors, material o com funciona qualsevol cosa.", + "askSasquatch": "Pregunta al Sasquatch", + "poweredBy": "Impulsat per", + "decentralized": "Descentralitzat", + "communityOwned": "De la comunitat" + }, + "faq": { + "seoTitle": "Preguntes freqüents - SkateSpots", + "seoDescription": "Pregunta al Sasquatch qualsevol cosa sobre SkateSpots.", + "greeting": "Hola! Sóc el Sasquatch 🦧: pregunta'm qualsevol cosa sobre SkateSpots. Spots, esdeveniments, material, moneders, privacitat, Nostr... t'ajudo. Què vols saber?", + "gotQuestions": "Tens preguntes?", + "heroDesc": "Pregunta al Sasquatch: ho sap tot sobre SkateSpots, Nostr, Bitcoin i el skate.", + "askTitle": "Pregunta al Sasquatch", + "askDesc": "El Sasquatch està obert a la cantonada inferior esquerra de la pantalla: fes-hi clic i escriu la teva pregunta. Té accés en directe a spots, esdeveniments, entrenadors i el temps.", + "askQuestion": "En què em pots ajudar a SkateSpots?", + "openSasquatch": "Obre el Sasquatch", + "commonQuestions": "Preguntes habituals: toca per preguntar", + "quickAnswers": "Respostes ràpides", + "footerHint": "El Sasquatch fa servir dades en directe de Nostr del relé de SkateSpots + IA per respondre les teves preguntes. 🛹", + "chip1Label": "Què és SkateSpots?", + "chip1Q": "Què és SkateSpots i com funciona?", + "chip2Label": "Com afegeixo un spot?", + "chip2Q": "Com afegeixo un spot de skate al mapa?", + "chip3Label": "Què són els zaps?", + "chip3Q": "Què són els zaps?", + "chip4Label": "És gratuït?", + "chip4Q": "SkateSpots és gratuït?", + "chip5Label": "Què és el meu Stash?", + "chip5Q": "Què és el meu Stash?", + "chip6Label": "Com inicio sessió?", + "chip6Q": "Com inicio sessió o creo un compte?", + "chip7Label": "Què és Nostr?", + "chip7Q": "Què és Nostr?", + "chip8Label": "Privacitat i dades", + "chip8Q": "Quines dades són públiques i quines privades a SkateSpots?", + "chip9Label": "Com venc material?", + "chip9Q": "Com puc vendre material a SkateSpots?", + "chip10Label": "Què és The Lab?", + "chip10Q": "Què és The Lab?", + "fact1Label": "Spots de skate a tot el món", + "fact1Value": "Descobreix i afegeix", + "fact2Label": "Zaps per Bitcoin Lightning", + "fact2Value": "100 % gratuït", + "fact3Label": "Descentralitzat a Nostr", + "fact3Value": "Les teves dades són teves", + "fact4Label": "Inventari privat de material", + "fact4Value": "Stash xifrat", + "s1Q": "Què és SkateSpots?", + "s1A": "Un mapa i una comunitat descentralitzats per al skate, construïts sobre Nostr. Descobreix spots, troba entrenadors i filmers, uneix-te a crews, publica esdeveniments i compra o ven material, sense cap empresa pel mig.", + "s2Q": "Com afegeixo un spot?", + "s2A": "Toca el mapa o fes servir el botó + / «Afegeix un spot», després col·loca un marcador i omple els detalls. Necessites un compte de Nostr gratuït (toca Inicia sessió → Crea un compte; no cal correu).", + "s3Q": "Què són els zaps?", + "s3A": "Els zaps són propines en Bitcoin Lightning. Pots enviar zaps a spots, esdeveniments, crews i persones que t'agradin. Van directament al destinatari per Lightning: SkateSpots no guarda mai els teus fons.", + "s4Q": "És gratuït?", + "s4A": "Sí. Crear un compte, afegir spots i navegar és gratuït. Els extres opcionals de pagament (com els anuncis destacats) i les propines (zaps) es paguen directament entre persones.", + "s5Q": "Quines dades són públiques?", + "s5A": "Tot el que publiques (spots, esdeveniments, el teu perfil) és públic als relés de Nostr. Els teus missatges privats i el teu Stash estan xifrats d'extrem a extrem. Consulta la pàgina de privacitat per als detalls.", + "s6Q": "Què és The Lab?", + "s6A": "The Lab és on trobes gent per contractar o de qui aprendre: entrenadors, preparadors físics, filmers, editors de vídeo, fotògrafs, constructors, artistes i més." + }, + "privacy": { + "seoTitle": "Privacitat — SkateSpots", + "seoDescription": "Com gestiona SkateSpots les teves dades: el teu GPS es queda al dispositiu, els spots que publiques són públics i com amagar la teva IP amb una VPN o Tor si vols.", + "heroBefore": "La teva", + "heroHighlight": "privacitat", + "heroDesc": "Sense seguiment, sense anuncis, sense vendre dades. Aquí tens exactament què es queda al teu dispositiu, què és públic i com tancar-ho més si vols.", + "locationTitle": "La teva ubicació es queda al dispositiu", + "locationBefore": "Quan toques", + "nearMe": "«A prop meu»,", + "locationAfter": "la teva ubicació GPS es llegeix al dispositiu i només s'usa per centrar el mapa i ordenar els spots propers.", + "locationGood1": "No es publica mai a Nostr.", + "locationGood2": "No s'envia mai a SkateSpots: no hi ha cap servidor de SkateSpots que la reculli.", + "locationGood3": "No es comparteix mai amb tercers.", + "locationGood4": "A l'app nativa fem servir directament el sistema d'ubicació del telèfon i ens saltem els serveis de Google Play, així que funciona en telèfons sense Google (GrapheneOS, /e/OS) i Google no la veu mai.", + "weatherBefore": "El temps està desactivat per defecte. Quan l'actives, consulta les condicions de la ubicació pública del", + "weatherEm": "spot", + "weatherAfter": ", no de la teva.", + "publicTitle": "Què és públic per disseny", + "publicDesc": "SkateSpots és un mapa compartit, així que algunes coses estan pensades perquè les vegi tothom. Quan tries publicar-les, són públiques a la xarxa Nostr:", + "public1Strong": "Els spots que afegeixes", + "public1": ": inclouen les seves coordenades. Si afegeixes un spot a la teva ubicació exacta, aquesta ubicació es fa pública. Pensa-t'ho abans de col·locar un marcador a l'entrada de casa teva.", + "public2Strong": "Ressenyes, comentaris i el teu perfil públic", + "public2": "(nom, foto).", + "public3": "A qui segueixes i les reaccions públiques.", + "public4Strong": "Els zaps", + "public4": "són públics per defecte: un zap vincula el teu compte (sovint la teva adreça Lightning) amb la publicació que has pagat i amb la propina. El teu moneder el pot enviar d'anònim si prefereixes que no ho faci.", + "publicNoteBefore": "Una VPN o Tor", + "notWord": "no", + "publicNoteAfter": "amaga el contingut del que publiques: les coordenades d'un spot són públiques igualment. Les eines de privacitat amaguen la teva identitat de xarxa (la teva IP), no les coses que tries publicar.", + "encryptedTitle": "Què és privat i xifrat", + "enc1Strong": "Els missatges directes", + "enc1Mid": "i", + "enc1Strong2": "els xats de crew", + "enc1": "estan xifrats d'extrem a extrem (NIP-17). Només els participants els poden llegir.", + "enc2Strong": "El meu Stash", + "enc2": ", el teu inventari privat de material, està xifrat amb la teva pròpia clau.", + "enc3Strong": "Els membres només de crew", + "enc3": "poden triar ser visibles només per als companys de crew.", + "ipTitle": "Què surt del dispositiu: la teva IP", + "ipBefore": "Com a qualsevol lloc web, els servidors amb què parla SkateSpots poden veure la teva", + "ipAddress": "adreça IP", + "ipAfter": "(un indicador aproximat de la teva regió). És normal en qualsevol app web o de mapes i no és exclusiu nostre. Aquests servidors són:", + "ipTileStrong": "Rajoles del mapa", + "ipTile": "(OpenStreetMap): veuen la teva IP i quina zona del mapa mires.", + "ipGeoStrong": "Geocodificació de spots i botigues", + "ipGeo": ": quan crees o edites un spot o una botiga, les coordenades van a OpenStreetMap Nominatim per omplir l'etiqueta de ciutat o país. Quan obres les estadístiques de la comunitat, les coordenades dels marcadors sense etiqueta d'ubicació van a BigDataCloud perquè es puguin agrupar per regió (es guarda a la memòria cau del dispositiu, com a molt un cop per marcador). Tots dos veuen la teva IP. Són les coordenades del marcador que has posat o coordenades de marcadors públiques, mai el GPS en directe del dispositiu.", + "ipPushStrong": "Notificacions en segon pla", + "ipPush": "(opcional): si les actives, un servidor push de SkateSpots veu que la teva clau ha rebut alguna cosa i quan (mai qui ho ha enviat ni què diu; els missatges continuen xifrats), i el servei push del sistema (Google/Mozilla/Apple) lliura l'avís.", + "ipBtcStrong": "Llocs de Bitcoin", + "ipBtc": "(BTCMap, quan actives aquesta capa): veuen la teva IP i la zona que estàs mirant.", + "ipRelayStrong": "Relés de Nostr", + "ipRelay": ": veuen la teva IP quan l'app llegeix o publica.", + "ipMintStrong": "Emetedors de Cashu", + "ipMint": ": veuen la teva IP cada cop que el moneder envia, rep o fon.", + "ipRouteStrong": "Indicacions", + "ipRoute": "(OSRM i Transitous per al transport públic): reben l'inici i el final de qualsevol ruta que demanis, no només la teva IP. L'encaminament es queda a l'app: l'origen i la destinació no s'envien mai a Google ni a Apple Maps.", + "ipWeatherStrong": "Temps", + "ipWeatherMid": "(Open-Meteo, opcional) i", + "ipUploadStrong": "pujades d'imatges", + "ipWeather": "(Blossom), quan els fas servir.", + "ipAiStrong": "IA del Sasquatch", + "ipAi": ": el teu missatge va al nostre servidor i després al proveïdor del model.", + "ipLink1": "Com que envies la teva clau pública (npub) a la mateixa connexió, un relé pot vincular la teva IP amb tu: no només «algú s'ha connectat», sinó «aquesta persona, des d'aquesta adreça».", + "ipShieldBefore": "Una cosa sí que protegim: el", + "ipMintsStrong": "directori d'emetedors", + "ipShieldAfter": "es consulta a través del nostre servidor, així que MintRadar no veu mai la teva IP.", + "vpnTitle": "Vols més privacitat? VPN o Tor (opcional)", + "vpnDesc": "Per a la majoria de skaters no cal, però si vols amagar la teva IP i la teva ubicació aproximada dels servidors de dalt, tens dues opcions gratuïtes:", + "vpnReputable": "🛡️ Una VPN de confiança", + "vpnReputableDesc": "Amaga la teva IP darrere dels servidors de la VPN. Fàcil i ràpid. Fes servir una que paguis i en què confiïs; les VPN gratuïtes solen monetitzar el teu trànsit, així que tracta «gratuït» com un senyal d'alerta.", + "torBrowser": "🧅 Navegador Tor", + "torDesc": "Gratuït, màxima privacitat d'IP, passa per diversos relés. Més lent: els mapes i alguns relés de Nostr poden anar a poc a poc o bloquejar els nodes de sortida de Tor. Ideal per als més prudents.", + "readThis": "Llegeix això perquè no t'enganyin", + "caveat1Before": "Una VPN o Tor amaga la teva", + "ipWord": "IP", + "caveat1": ", no els spots que publiques. Un marcador a casa teva és públic tant si fas servir VPN com si no.", + "caveat2Before": "No activis", + "nearMeGps": "«A prop meu» / el GPS del navegador", + "caveat2": "si el teu objectiu és mantenir l'anonimat: un GPS precís anul·la qualsevol amagament d'IP.", + "caveat3": "Cap eina et fa «anònim» del tot. Aquestes redueixen què poden inferir els servidors sobre la teva ubicació de xarxa; res més.", + "keysTitle": "Les teves claus, el teu compte", + "keysBefore": "El teu compte és una parella de claus criptogràfiques que és teva. La manera més segura d'iniciar sessió és un", + "signer": "signador", + "keysAfter": "(Alby, nos2x o Amber a Android) perquè la teva clau secreta no s'enganxi mai a l'app.", + "keysCaveatBefore": "Si enganxes la teva", + "keysCaveatAfter": "directament, es guarda al navegador. Fes servir una extensió signadora sempre que puguis i guarda la còpia del nsec en un lloc segur fora de línia.", + "footerBefore": "Tens preguntes? Pregunta-ho a", + "sasquatchName": "El Sasquatch", + "footerMid": "a l'app, o llegeix la", + "gettingStarted": "guia d'inici", + "about": "Sobre nosaltres" + }, + "license": { + "seoTitle": "Llicència - SkateSpots", + "seoDescription": "Llicència de SkateSpots. Ets lliure de patinar.", + "tagline": "Patina, guanya, diverteix-te i gasta sats allà on siguis.", + "copyright": "Col·laboradors de SkateSpots i la comunitat", + "licenseLabel": "Llicència", + "freeLine1": "ETS LLIURE", + "freeLine2": "DE PATINAR", + "body": "Aquest projecte és obert. Comparteix-lo, bifurca'l, construeix-hi, patina'l. Els carrers són de tothom. Aquest codi també. Segueix patinant, diverteix-te, aprèn trucs, dona suport a qui construeix i torna a patinar.", + "builtBefore": "Fet amb ❤️ a", + "builtMid": "· Impulsat per", + "lightning": "Bitcoin Lightning ⚡", + "viewSource": "Veure el codi", + "aboutSkateSpots": "Sobre SkateSpots", + "supporters": "Qui ens dona suport" + }, + "glossary": { + "seoTitle": "Glossari de trucs · SkateSpots", + "seoDescription": "El glossari complet de skate: {{count}} entrades sobre flips, grinds, slides, grabs, airs, trucs de lip, handplants, freestyle, termes de transició, postures i material, amb noms alternatius.", + "heading": "GLOSSARI DE TRUCS", + "subheading": "{{count}} entrades · trucs, transició, freestyle, postura i material", + "searchPlaceholder": "Cerca trucs o sobrenoms: tre flip, crooks, method…", + "clearSearch": "Esborra la cerca", + "all": "Tot", + "results": "{{count}} resultat{{s}} per a", + "noMatch": "Cap truc coincideix. Prova un sobrenom com «tre flip», «crooks» o «melon».", + "tricksCount": "{{count}} trucs", + "footerBefore": "Coneixes algun truc o sobrenom que ens hàgim deixat? Els trucs tenen noms diferents a cada escena: escriu a", + "sasquatch": "El Sasquatch 🦧", + "footerAfter": "i digue-nos-ho." + }, + "signers": { + "seoTitle": "Aplicacions signadores - Protegeix les teves claus de Nostr | SkateSpots", + "seoDescription": "Coneix les aplicacions signadores que mantenen segures les teves claus de Nostr. Troba la millor opció per a Android, iOS o navegadors d'ordinador.", + "securityGuide": "Guia de seguretat", + "protect": "Protegeix les teves", + "nostrKeys": "claus de Nostr", + "heroDesc": "Les aplicacions signadores mantenen les teves claus privades segures signant esdeveniments sense exposar-les. En lloc d'enganxar la clau a cada app, deixa que un signador se n'encarregui amb seguretat.", + "whySignerStrong": "Per què un signador?", + "whySigner": "La teva clau privada de Nostr és com una contrasenya que no es pot canviar mai. Una aplicació signadora la manté segura mentre fas servir qualsevol app de Nostr.", + "androidTitle": "Signadors per a Android", + "androidDesc": "Aplicacions signadores natives per a dispositius Android, inclòs GrapheneOS.", + "iosTitle": "Signadors per a iOS", + "iosDesc": "Opcions de signador per als usuaris d'iPhone i iPad.", + "browserTitle": "Extensions del navegador", + "browserDesc": "Extensions per a navegadors d'ordinador per signar a apps web.", + "recommended": "Recomanat", + "yourPlatform": "La teva plataforma", + "get": "Aconsegueix {{name}}", + "protocolsTitle": "Entendre els protocols", + "nip07Desc": "Estàndard d'extensió del navegador. L'extensió injecta capacitats de signatura a les apps web. El fan servir Alby, nos2x, Flamingo i extensions similars.", + "nip46Desc": "Protocol de signatura remot (\"bunker\"). La teva aplicació signadora aprova sol·licituds d'altres apps sense compartir les claus. El fan servir Nsec.app, Nostria i Nowser.", + "nip55Desc": "Protocol de signatura específic per a Android. Les apps natives poden demanar signatures a Amber sense exposar les claus. L'experiència més fluida a Android.", + "whichChoose": "Quin triar?", + "chooseAndroid": "Android:", + "chooseAndroidDesc": "Amber (NIP-55) per a apps natives", + "chooseIos": "iOS:", + "chooseIosDesc": "Nsec.app (NIP-46) per a la millor compatibilitat", + "chooseDesktop": "Ordinador:", + "chooseDesktopDesc": "Alby, nos2x o Flamingo (NIP-07)", + "amberDesc": "Signador natiu per a Android centrat en la seguretat i la facilitat d'ús. La millor opció per als usuaris d'Android.", + "nsecAppDesc": "Signador remot multiplataforma que fa de caixa forta segura per a les teves claus.", + "nostriaDesc": "Aplicació signadora remota amb les claus guardades a l'emmagatzematge segur del dispositiu.", + "nowserDesc": "Signador multiautenticació compatible amb extensions del navegador i protocols de signatura remota.", + "nsecAppIosDesc": "La millor opció per a iOS. Fes-lo servir com a signador remot amb qualsevol client de Nostr.", + "nowserTfDesc": "Signador per a iOS disponible via TestFlight amb capacitats de signatura similars a Android.", + "nostriaIosDesc": "Signador remot amb emmagatzematge segur de claus al dispositiu.", + "nos2xDesc": "Extensió del navegador simple i fiable per signar esdeveniments de Nostr.", + "albyDesc": "Moneder Bitcoin Lightning amb gestió de claus de Nostr integrada i WebLN.", + "flamingoDesc": "Extensió del navegador centrada en Nostr amb una interfície neta.", + "kiwiDesc": "A Android/GrapheneOS, fes servir Kiwi Browser per carregar les extensions nos2x o Alby.", + "fNativeApp": "App nativa", + "fMultiKey": "Suport per a diverses claus", + "fEventSigning": "Signatura d'esdeveniments", + "fSecureStorage": "Emmagatzematge segur de claus", + "fRemoteSigning": "Signatura remota", + "fAnyClient": "Funciona amb qualsevol client", + "fCrossDevice": "Sincronització entre dispositius", + "fMultiKeySupport": "Suport per a diverses claus", + "fNip07": "Suport NIP-07", + "fNip46": "Suport NIP-46", + "fFlexibleSigning": "Signatura flexible", + "fNativeIos": "App nativa per a iOS", + "fLightweight": "Lleuger", + "fEasyToUse": "Fàcil d'usar", + "fChromeSupport": "Suport per a Chrome/Brave/Edge", + "fLightningPayments": "Pagaments Lightning", + "fNostrSigning": "Signatura a Nostr", + "fWebln": "Suport WebLN", + "fNwc": "Suport NWC", + "fCleanUi": "Interfície neta", + "fPrivacyFocused": "Centrat en la privacitat", + "fExtensionMobile": "Suport d'extensions al mòbil", + "fFullBrowser": "Experiència completa de navegador", + "fGraphene": "Funciona a GrapheneOS" + }, + "betaDisclaimer": { + "title": "Atenció: això és una beta", + "subtitle": "Unes paraules abans de començar.", + "ossTitle": "Codi obert i experimental", + "ossBody": "Fet en obert per la comunitat. Tafaneja, bifurca'l, trenca'l.", + "betaTitle": "En beta: sense auditoria", + "betaBody": "El codi encara no ha passat cap auditoria de seguretat formal. Els errors passen.", + "moneyTitle": "Gestiona Bitcoin i Lightning de veritat", + "moneyBody": "Fes-hi servir diners sota la teva responsabilitat. Carrega-hi només el que et puguis permetre perdre.", + "finePrint": "Sense cap garantia de cap tipus. Ets l'únic responsable dels teus fons i claus.", + "viewCode": "Veure el codi", + "accept": "Entesos, deixa'm entrar" + } + } +}; + +export default batch3; diff --git a/src/i18n/ca/batch4.ts b/src/i18n/ca/batch4.ts new file mode 100644 index 0000000..d763065 --- /dev/null +++ b/src/i18n/ca/batch4.ts @@ -0,0 +1,1427 @@ +const batch4 = { + "marketUi": { + "gearSwap": { + "title": "Intercanvi de material", + "subtitle": "Compra i ven material de skate de segona mà amb altres skaters", + "listGear": "Publica material", + "searchPlaceholder": "Cerca material...", + "allCategories": "Totes les categories", + "forSale": "En venda", + "wtb": "Busco", + "trust": "Confiança", + "filterByTrust": "Filtra per confiança", + "allSellers": "Tots els venedors", + "verifiedOnly": "Només verificats", + "trustedPlus": "De confiança+", + "followingOnly": "Només els que segueixes", + "pickupOrShip": "Recollida o enviament", + "localPickup": "Recollida en mà", + "ships": "Enviament", + "sortBy": "Ordena per", + "newest": "Més recents", + "priceLowHigh": "Preu: de menor a major", + "priceHighLow": "Preu: de major a menor", + "trustScore": "Puntuació de confiança", + "nearest": "Més a prop (local)", + "listingFound": "{{count}} anunci trobat", + "listingsFound": "{{count}} anuncis trobats", + "loadFailed": "No s'han pogut carregar els anuncis", + "tryLater": "Torna-ho a provar més tard.", + "noneTitle": "No s'ha trobat cap anunci", + "noneFiltered": "Cap material coincideix amb els filtres actuals. Prova d'esborrar-los o de cercar una altra cosa.", + "noneFirst": "Sigues el primer a publicar el teu material: taules, eixos, rodes, sabates, qualsevol cosa de skate!", + "listYourGear": "Publica el teu material", + "faqLink": "Tens preguntes? Consulta les FAQ →" + }, + "hub": { + "browse": "Explora", + "selling": "Vendes", + "myTrades": "Els meus intercanvis", + "reputation": "Reputació", + "loginListings": "Inicia sessió per gestionar els teus anuncis.", + "loginReputation": "Inicia sessió per veure la teva reputació i les ressenyes." + }, + "marketplace": { + "heroTitle": "Botigues i mercat", + "heroBefore": "El nostre mercat funciona amb", + "heroAfter": ": un mercat descentralitzat a Nostr. Les botigues de skate hi poden publicar els seus productes, i pots comprar i vendre material de segona mà directament amb Bitcoin.", + "whatIsTitle": "Què és Plebeian Market?", + "whatIsBody": "Plebeian Market és un mercat descentralitzat construït sobre Nostr. Compra i ven material de skate directament amb altres skaters fent servir Bitcoin. Sense intermediaris, sense comissions i amb llibertat total.", + "noFeesTitle": "Sense comissions", + "noFeesBody": "Cap plataforma que es quedi el 30 %. Vendes directes entre particulars.", + "bitcoinTitle": "Pagaments amb Bitcoin", + "bitcoinBody": "Paga amb Bitcoin. Ràpid, segur i global.", + "decentralizedTitle": "Descentralitzat", + "decentralizedBody": "Construït sobre Nostr. Cap empresa el controla.", + "visit": "Visita Plebeian Market", + "buySellTitle": "Què hi pots comprar i vendre", + "catCompletes": "Skates complets", + "preBuilt": "Complets de fàbrica", + "customSetups": "Configuracions a mida", + "beginnerBoards": "Taules per a principiants", + "catParts": "Components", + "decks": "Taules", + "trucks": "Eixos", + "wheels": "Rodes", + "bearings": "Rodaments", + "gripTape": "Lija", + "hardware": "Tornilleria", + "catApparel": "Roba i proteccions", + "skateShoes": "Sabates de skate", + "clothing": "Roba", + "helmets": "Cascs", + "pads": "Proteccions", + "backpacks": "Motxilles", + "catAccessories": "Accessoris", + "tools": "Eines", + "wax": "Cera", + "rails": "Baranes", + "stickers": "Adhesius", + "videos": "Vídeos", + "magazines": "Revistes", + "howItWorks": "Com funciona", + "step1Title": "Explora productes", + "step1Body": "Visita Plebeian Market i explora material de skate de botigues i particulars d'arreu del món.", + "step2Title": "Contacta amb els venedors", + "step2Body": "Escriu directament als venedors via Nostr. Negocia preus, fes preguntes i acorda l'enviament.", + "step3Title": "Paga amb Bitcoin", + "step3Body": "Completa la compra amb Bitcoin Lightning per tenir pagaments instantanis i amb comissions baixes.", + "step4Title": "Deixa una valoració", + "step4Body": "Valora la teva experiència i construeix la reputació del venedor a Nostr. Les teves ressenyes ajuden la comunitat.", + "needBitcoinTitle": "Necessites Bitcoin?", + "needBitcoinBefore": "Necessitaràs un moneder Lightning amb alguns sats per comprar. Consulta la", + "onboardingGuide": "guia d'inici", + "needBitcoinAfter": "per a recomanacions de moneders.", + "ownShopTitle": "Tens una botiga de skate?", + "ownShopBody": "Publica la teva botiga a SkateSpots i ven els teus productes a Plebeian Market. Arriba a clients d'arreu del món sense comissions de plataforma.", + "addShop": "Afegeix la teva botiga", + "startSelling": "Comença a vendre" + }, + "listingDetail": { + "notFound": "Anunci no trobat", + "notFoundBody": "Potser s'ha eliminat o l'enllaç és incorrecte.", + "backToGearSwap": "Torna a l'intercanvi de material", + "gearSwap": "Intercanvi de material", + "viewPhoto": "Veure la foto {{n}}", + "photoAlt": "{{title}} — foto {{n}}", + "wantToBuy": "VULL COMPRAR", + "sold": "VENUT", + "description": "Descripció", + "usuallyHere": "Normalment hi sóc {{availability}}", + "listed": "Publicat {{date}}", + "listingCountOne": "{{count}} anunci · fa {{age}} d", + "listingCountMany": "{{count}} anuncis · fa {{age}} d", + "relistActive": "Torna a activar", + "markSold": "Marca com a venut", + "deleteListing": "Elimina l'anunci", + "makeOffer": "Fes una oferta", + "shareListing": "Comparteix l'anunci", + "unknown": "Desconegut", + "linkCopied": "Enllaç copiat", + "linkCopiedBody": "Comparteix-lo amb un skater.", + "copyFailed": "No s'ha pogut copiar l'enllaç", + "relisted": "Tornat a publicar", + "relistedBody": "El teu anunci torna a estar actiu.", + "couldNotUpdate": "No s'ha pogut actualitzar", + "somethingWrong": "Alguna cosa ha fallat" + }, + "create": { + "imageUploaded": "Imatge pujada", + "uploadFailed": "No s'ha pogut pujar", + "failed": "Ha fallat", + "cooldownActive": "Temps d'espera actiu", + "cooldownWait": "Espera {{time}} abans de crear un altre anunci", + "limitReached": "Has arribat al límit d'anuncis", + "limitReachedBody": "Has arribat al límit mensual de {{limit}} anuncis", + "feeRequired": "Cal pagar una comissió", + "feeRequiredBody": "Paga la comissió antispam per continuar", + "titleRequired": "Cal un títol", + "categoryRequired": "Cal una categoria", + "photoRequired": "Cal una foto", + "photoRequiredBody": "Cal almenys una foto per vendre material", + "nip05Required": "Cal verificació NIP-05", + "nip05RequiredBody": "Necessites una adreça Nostr verificada per publicar material", + "priceRequired": "Cal un preu per als anuncis de preu fix", + "sizeRequired": "Cal una mida", + "sizeRequiredBody": "Selecciona una mida per a {{category}}", + "conditionRequired": "Cal un estat", + "conditionRequiredBody": "Selecciona l'estat de la teva {{category}}", + "wtbPosted": "Sol·licitud de compra publicada!", + "wtbPostedBody": "Els venedors podran trobar la teva sol·licitud.", + "listingCreated": "Anunci creat!", + "listingCreatedBody": "El teu material ja està publicat.", + "publishFailed": "No s'ha pogut publicar", + "loginRequired": "Cal iniciar sessió", + "loginRequiredBody": "Has d'iniciar sessió per publicar material.", + "backToStash": "Torna al Stash", + "backToSpot": "Torna a {{title}}", + "backToMarketplace": "Torna al mercat", + "backToMap": "Torna al mapa", + "wantToBuy": "Vull comprar", + "listYourGear": "Publica el teu material", + "wtbSubtitle": "Digues a la comunitat quin material busques", + "sellSubtitle": "Ven material de skate a la comunitat", + "fromStashTitle": "Anunci des del teu Stash", + "fromStashBody": "S'ha omplert amb les dades de l'article del teu Stash. Revisa-ho i tria un punt de trobada!", + "nip05Banner": "Per evitar el spam i protegir els compradors, necessites una adreça Nostr verificada (NIP-05) per publicar material.", + "verifiedLabel": "Verificat:", + "checkingTrust": "Comprovant el teu nivell de confiança...", + "trustLevel": "Nivell de confiança:", + "trusted": "De confiança", + "active": "Actiu", + "newcomer": "Recent arribat", + "newUser": "Usuari nou", + "remaining": "{{remaining}} de {{limit}} anuncis disponibles aquest mes", + "cooldownBody": "Els usuaris nous tenen 24 hores d'espera entre anuncis.", + "timeRemaining": "Temps restant: {{time}}", + "monthlyLimitTitle": "Límit mensual assolit", + "monthlyLimitBody": "Has arribat al límit de {{limit}} anuncis aquest mes. Construeix la teva reputació creant spots o completant vendes per augmentar el límit.", + "powAccepted": "Prova de treball acceptada!", + "feePaid": "Comissió pagada!", + "canCreateNow": "Ja pots crear el teu anunci.", + "whatDoTitle": "Què vols fer?", + "sellGear": "VEN MATERIAL", + "categoryTitle": "Categoria *", + "categoryHint": "Quin tipus de material?", + "detailsTitle": "Detalls del material", + "detailsWtbHint": "Descriu què busques", + "detailsSellHint": "Explica als compradors com és el teu article", + "titleLabel": "Títol *", + "titlePlaceholderWtb": "Busco taula de 8.0\"", + "titlePlaceholderSell": "Taula Palace 8.25\" gairebé nova", + "summaryLabel": "Resum curt", + "summaryPlaceholderWtb": "Qualsevol marca, prefereixo gràfics discrets", + "summaryPlaceholderSell": "Molt bon estat, gairebé sense ús", + "descriptionLabel": "Descripció", + "descriptionPlaceholderWtb": "Descriu exactament què busques: marques preferides, estat mínim, etc.", + "descriptionPlaceholderSell": "Em van regalar aquesta taula per Nadal però prefereixo una mida més petita. Cap problema si vols provar-la abans de comprar!", + "fulfilmentLabel": "Com s'entrega?", + "pickup": "Recollida", + "pickupHint": "Trobada en persona", + "ships": "Enviament", + "shipsHint": "Per correu", + "both": "Totes dues", + "bothHint": "Qualsevol", + "addressNote": "No recollim mai la teva adreça: per als enviaments, comparteix-la en privat al xat de l'intercanvi.", + "postageLabel": "Qui paga les despeses d'enviament?", + "requireEscrow": "Exigir custòdia", + "requireEscrowHint": "Demana al comprador que pagui mitjançant la custòdia de Cashu.", + "postageBuyer": "Paga el comprador", + "postageSeller": "Pago jo", + "postageSplit": "A mitges", + "sizeLabel": "Mida", + "selectSize": "Selecciona la mida", + "truckHeight": "Alçada dels eixos", + "selectHeight": "Selecciona l'alçada", + "wheelHardness": "Duresa de les rodes", + "selectHardness": "Selecciona la duresa", + "pricingTitle": "Preu", + "pricingWtbHint": "Com vols pagar?", + "pricingSellHint": "Com vols vendre?", + "priceLabel": "Preu *", + "currencyLabel": "Moneda", + "photosTitle": "Fotos", + "photosSellHint": "Cal almenys una foto", + "photosWtbHint": "Opcional: afegeix imatges de referència", + "productPhoto": "Producte {{n}}", + "upload": "Puja", + "photosNote": "Afegeix fins a 5 fotos. La primera imatge serà la principal.", + "pickupLocationTitle": "Punt de recollida", + "pickupLocationHint": "Enllaça un spot de skate per facilitar les trobades", + "searchSpots": "Cerca spots...", + "noSpotsFound": "No s'ha trobat cap spot. Prova una altra cerca.", + "availabilityLabel": "Quan acostumes a estar disponible?", + "availabilityPlaceholder": "Caps de setmana de 10 a 14 h, dimarts i dijous al vespre", + "availabilityHint": "Ajuda els compradors a coordinar trobades amb tu", + "durationTitle": "Durada de l'anunci", + "durationHint": "Quant temps ha de romandre actiu aquest anunci?", + "publishing": "Publicant...", + "checkingEligibility": "Comprovant si hi pots accedir...", + "cooldownButton": "ESPERA: {{time}}", + "limitReachedButton": "LÍMIT ASSOLIT", + "payFeeButton": "PAGA LA COMISSIÓ PER CONTINUAR", + "postWtbButton": "PUBLICA LA SOL·LICITUD", + "listForSaleButton": "PUBLICA EL MATERIAL EN VENDA" + }, + "trades": { + "title": "Els meus intercanvis", + "loginBody": "Inicia sessió per gestionar els teus intercanvis i la teva reputació al mercat.", + "subtitle": "Confirmacions, sol·licituds i la reputació que generen. El pagament s'acorda amb l'altre skater: l'aplicació només registra el tracte.", + "actionNeeded": "Cal fer alguna cosa", + "askedToConfirmSale": "t'ha demanat que confirmis una venda", + "recordedSale": "ha registrat una venda: confirma la teva part", + "confirmSale": "Confirma la venda", + "confirm": "Confirma", + "stateRevoked": "revocat", + "stateVerifying": "verificant", + "nothingWaiting": "Ara mateix no tens res pendent. 🛹", + "yourRecords": "Els teus registres d'intercanvis", + "noTrades": "Encara no hi ha intercanvis. Tanca un tracte i confirma'l per començar a construir reputació.", + "browseGearSwap": "Explora l'intercanvi de material", + "roleSold": "Venut", + "roleBought": "Comprat", + "roleTrade": "Intercanvi", + "with": "amb", + "viewListing": "Veure l'anunci", + "revoke": "Revoca", + "revokeTitle": "Vols revocar aquest registre d'intercanvi?", + "revokeBody": "Deixarà de comptar per a la teva reputació. L'altra part conserva la seva pròpia attestació. Fes-ho servir per a un tracte en disputa o equivocat.", + "revokeNote": "Retirat per l'autor.", + "revoked": "Registre d'intercanvi revocat", + "revokedBody": "Ja no compta per a la reputació.", + "revokeFailed": "No s'ha pogut revocar l'intercanvi", + "saleConfirmed": "Venda confirmada", + "saleConfirmedBody": "Ara ja pot confirmar la seva part.", + "saleConfirmFailed": "No s'ha pogut confirmar la venda", + "tradeConfirmed": "Intercanvi confirmat", + "tradeConfirmedBody": "S'ha actualitzat la reputació de tots dos.", + "tradeConfirmFailed": "No s'ha pogut confirmar l'intercanvi", + "somethingWrong": "Alguna cosa ha fallat." + }, + "card": { + "listingDeleted": "Anunci eliminat", + "listingRemoved": "Anunci retirat", + "listingDeletedBody": "El teu anunci s'ha eliminat. Els relés que respecten les eliminacions deixaran de servir-lo.", + "listingRemovedBody": "Aquest anunci s'ha retirat i s'amagarà a tot SkateSpots.", + "removeFailed": "No s'ha pogut retirar", + "somethingWrong": "Alguna cosa ha fallat", + "markedSold": "Marcat com a venut", + "markedSoldBody": "El teu anunci ara apareix com a venut.", + "couldNotUpdate": "No s'ha pogut actualitzar", + "relisted": "Tornat a publicar", + "relistedBody": "El teu anunci torna a estar actiu.", + "listingOptions": "Opcions de l'anunci", + "report": "Denuncia", + "removeAdmin": "Retira (admin)", + "postage": "enviament", + "newSeller": "Venedor nou", + "saleOne": "{{count}} venda", + "saleMany": "{{count}} vendes", + "iHaveThis": "En tinc!", + "deleteTitle": "Vols eliminar «{{title}}»?", + "adminRemoveTitle": "Vols retirar aquest anunci? (admin)", + "deleteBody": "Això demana als relés que retirin el teu anunci «{{title}}». No es pot desfer des d'aquí: hauries de crear-ne un de nou.", + "adminRemoveBody": "Com a admin de SkateSpots, estàs retirant «{{title}}». S'amagarà a tota l'aplicació per a tothom i s'enviarà una sol·licitud d'eliminació als relés.", + "deleting": "Eliminant…", + "removing": "Retirant…", + "deleteListing": "Elimina l'anunci", + "removeListing": "Retira l'anunci", + "reportCount": "{{count}} denúncia", + "reports": "{{count}} denúncies", + "viewTitle": "Veure {{title}}", + "reportListing": "Denuncia l'anunci", + "manageListing": "Gestiona l'anunci", + "trusted": "De confiança", + "daysOld": "fa {{n}} d", + "monthsOld": "fa {{n}} mesos", + "yearsOld": "fa {{n}} anys", + "listingsCount": "{{count}} anuncis", + "postageBuyer": "enviament: comprador", + "postageSeller": "enviament: venedor", + "postageSplit": "enviament: a mitges", + "powTitle": "Prova de treball NIP-13: antispam gratuït", + "verifiedTradeOne": "{{count}} intercanvi verificat", + "verifiedTrades": "{{count}} intercanvis verificats", + "reportSubmitted": "Denúncia enviada", + "reportSubmittedBody": "Gràcies per ajudar a mantenir el mercat segur.", + "reportFailed": "No s'ha pogut enviar la denúncia", + "selectReason": "Selecciona un motiu", + "reportDialogBody": "Ajuda a mantenir el mercat segur denunciant anuncis inadequats o enganyosos.", + "reasonLabel": "Motiu de la denúncia *", + "detailsLabel": "Detalls addicionals (opcional)", + "detailsPlaceholder": "Afegeix qualsevol context que pugui ajudar...", + "reportNote": "Les denúncies es publiquen a Nostr i ajuden la comunitat a identificar anuncis problemàtics. Els anuncis amb diverses denúncies es poden amagar automàticament.", + "submitting": "Enviant...", + "submitReport": "Envia la denúncia" + }, + "tradeActions": { + "tradeConfirmed": "Intercanvi confirmat", + "tradeConfirmedWithProof": "S'ha adjuntat un rebut verificable: compta per als intercanvis verificats.", + "tradeConfirmedBody": "S'ha actualitzat la reputació de tots dos.", + "tradeConfirmFailed": "No s'ha pogut confirmar l'intercanvi", + "somethingWrong": "Alguna cosa ha fallat.", + "requestNote": "Confirma el nostre intercanvi de «{{title}}».", + "requestSent": "Confirmació sol·licitada", + "requestSentBody": "El venedor ja pot confirmar la venda i construir la reputació de tots dos.", + "requestFailed": "No s'ha pogut enviar la sol·licitud", + "escrowRefunded": "Custòdia reemborsada", + "escrowRefundedBody": "Els fons tornen al teu moneder Cashu.", + "escrowRefundFailed": "No s'ha pogut reemborsar la custòdia", + "confirmThisTrade": "Confirma aquest intercanvi", + "escrowAndRequest": "Custòdia i sol·licitud", + "shipsEscrowHint": "Tracte amb enviament: fes servir la custòdia perquè cap de les parts enviï a cegues. Comparteix la teva adreça en privat al xat de l'intercanvi, mai aquí.", + "shipsHint": "Tracte amb enviament: prefereix la custòdia si el venedor l'ofereix i comparteix la teva adreça només al xat.", + "askSeller": "Demana al venedor que ho confirmi", + "waitingSeller": "Confirmació sol·licitada: esperant el venedor.", + "refundEscrow": "Reemborsa la custòdia", + "buyWithSats": "Compra amb sats", + "depositTitle": "Dipòsit de bona fe (opcional)", + "payDeposit": "Paga el dipòsit", + "depositBefore": "Un intercanvi no té factura, així que així és com n'aconsegueix un", + "verifiableCost": "cost verificable", + "depositAfter": ". Es reemborsa a l'entrega (o fes servir la custòdia de Cashu per a un reemborsament automàtic). ⚠️ Demostra compromís, no entrega.", + "depositPaid": "Dipòsit pagat", + "depositPaidBody": "Desat: s'adjuntarà quan es confirmi l'intercanvi.", + "paid": "Pagat ⚡", + "paidWithProof": "Has desat un rebut verificable: confirma l'intercanvi perquè compti.", + "paidBody": "Demana al venedor que confirmi l'intercanvi perquè compti per a tots dos." + }, + "loadFailed": "No s'ha pogut connectar amb els relés. Comprova la connexió i torna-ho a provar.", + "statusPending": "pendent", + "offers": { + "accepted": "Acceptada", + "declined": "Rebutjada", + "withdrawn": "Retirada", + "open": "Oberta", + "closeDeal": "Tanca el tracte", + "noAmount": "sense import", + "titleOwner": "Ofertes ({{count}})", + "loadFailed": "No s'han pogut carregar les ofertes. Comprova la connexió i torna-ho a provar.", + "titleBuyer": "Les teves negociacions", + "you": "Tu", + "them": "L'altra part", + "paidAskConfirm": "Pagat: demana al venedor que confirmi l'intercanvi.", + "payWithSats": "Paga amb sats", + "accept": "Accepta", + "decline": "Rebutja", + "counter": "Contraoferta", + "counterPlaceholder": "La teva contraoferta (sats)", + "send": "Envia", + "counterItemPlaceholder": "…o fes una contraoferta amb un article a canvi (opcional)", + "waitingOn": "Esperant", + "waitingOnSuffix": ": tornaràs a tenir el torn si et fan una contraoferta.", + "withdraw": "Retira", + "dmAccepted": "✅ Han acceptat la teva oferta! Envia un missatge per acordar l'entrega.", + "dmDeclined": "❌ Han rebutjat la teva oferta.", + "offerAccepted": "Oferta acceptada", + "offerDeclined": "Oferta rebutjada", + "respondFailed": "No s'ha pogut respondre", + "somethingWrong": "Alguna cosa ha fallat.", + "offerWithdrawn": "Oferta retirada", + "withdrawFailed": "No s'ha pogut retirar", + "enterAmountOrItem": "Introdueix un import o un article a canvi", + "counterDm": "Contraoferta", + "counterSent": "Contraoferta enviada", + "counterSentBody": "Ara els toca a ells.", + "counterFailed": "No s'ha pogut enviar la contraoferta" + }, + "offer": { + "validAmount": "Introdueix un import vàlid", + "describeOffer": "Descriu la teva oferta", + "describeOfferBody": "Afegeix un import, un article a canvi o un missatge.", + "dmAmount": " per {{amount}} sats", + "dmItem": " (ofereixo: {{item}})", + "dmBody": "🛹 Nova oferta al teu anunci «{{title}}»{{amount}}{{item}}.{{note}}", + "sent": "Oferta enviada", + "sentBody": "{{sellerName}} pot acceptar-la o rebutjar-la.", + "sendFailed": "No s'ha pogut enviar l'oferta", + "somethingWrong": "Alguna cosa ha fallat.", + "title": "Fes una oferta", + "description": "Ofereix sats o canvia alguna cosa: {{sellerName}} pot acceptar, rebutjar o fer una contraoferta. L'entrega la coordineu entre vosaltres.", + "amountLabel": "Import (sats, opcional)", + "amountPlaceholder": "p. ex. 45000", + "itemLabel": "O canviar alguna cosa (opcional)", + "itemPlaceholder": "p. ex. la meva taula de 8.25 + rodes de recanvi", + "itemHint": "Vols fer un canvi? Posa aquí què ofereixes: ho pots combinar amb sats.", + "messageLabel": "Missatge (opcional)", + "messagePlaceholder": "Tot el que el venedor hagi de saber…", + "send": "Envia l'oferta" + }, + "markSold": { + "enterBuyer": "Introdueix l'npub del comprador", + "dealClosed": "Tracte tancat 🎉", + "dealClosedBody": "Anunci marcat com a venut i intercanvi publicat per a la reputació.", + "closeFailed": "No s'ha pogut tancar el tracte", + "somethingWrong": "Alguna cosa ha fallat.", + "title": "Tanca el tracte", + "description": "Marca aquest anunci com a venut i registra una attestació d'intercanvi signada per a tu i el comprador.", + "buyerLabel": "npub del comprador", + "methodLabel": "Com s'ha pagat? (declarat per tu)", + "amountLabel": "Import en sats (opcional)", + "submit": "Marca com a venut" + }, + "handoff": { + "title": "Acorda l'entrega", + "suggest": "Proposa dia i lloc", + "suggestDm": "Hola! Voldria comprar «{{title}}». Proposa'm un dia i un lloc per trobar-nos; em va bé quedar en un spot de skate públic.", + "orMeetAt": "O trobem-nos en un spot públic a prop:", + "spotDm": "Hola! Voldria comprar «{{title}}». Et va bé quedar a {{spot}}? {{url}}", + "shareDelivery": "Comparteix les dades d'entrega", + "deliveryDm": "Hola! Voldria comprar «{{title}}». Aquí tens les meves dades d'entrega:\n\nNom:\nAdreça:\n\n(Comparteix només el que necessiti el transportista.)", + "useLocker": "Fes servir un locker o un punt de recollida", + "lockerDm": "Hola! Voldria comprar «{{title}}». Podríem fer servir un locker o un punt de recollida en lloc de l'adreça de casa?", + "noteBefore": "Aquestes dades es queden al xat privat: SkateSpots no les veu mai. Per als enviaments, prefereix", + "escrow": "la custòdia", + "noteMiddle": ", i", + "neverPay": "no paguis mai fora dels canals de l'aplicació", + "noteAfter": ". Trobem-nos en un lloc públic." + }, + "shipping": { + "noCounterparty": "Encara no hi ha contrapart", + "noCounterpartyBody": "El venedor ha de registrar la venda (indicant el comprador) primer.", + "markedShipped": "Marcat com a enviat", + "markedReceived": "Marcat com a rebut", + "issueReported": "Incidència notificada", + "receivedBody": "Gràcies: això no allibera la custòdia; liquida-ho directament amb el venedor.", + "notifiedBody": "S'ha avisat l'altra part.", + "updateFailed": "No s'ha pogut actualitzar", + "somethingWrong": "Alguna cosa ha fallat.", + "title": "Enviament", + "shipped": "enviat", + "received": "rebut", + "issue": "incidència", + "trackingPlaceholder": "Número de seguiment (opcional)", + "iShipped": "L'he enviat", + "iReceived": "L'he rebut", + "reportIssue": "Notifica una incidència", + "noteBefore": "Declarat per tu: és una nota logística,", + "notProof": "no una prova", + "noteAfter": ". Marcar «rebut» no allibera la custòdia. ⚠️ No fotografies un paquet amb l'adreça visible i comparteix el número de seguiment només si no et fa res que sigui públic." + }, + "pay": { + "sent": "Pagament enviat ⚡", + "sentWithProof": "Has desat un rebut de pagament verificable: comptarà com a pagament verificat.", + "sentBody": "Avisa el venedor: pot confirmar l'intercanvi perquè compti per a tots dos.", + "failed": "El pagament ha fallat", + "title": "Paga amb sats", + "descSendPrefix": "Envia", + "descSendSuffix": "a {{sellerName}} per tancar aquest tracte.", + "descSettle": "Tanca aquest tracte directament amb {{sellerName}}.", + "paid": "Pagat!", + "paidBody": "Demana al venedor que confirmi l'intercanvi: dues confirmacions construeixen la reputació de tots dos.", + "noMethod": "{{sellerName}} no ha configurat cap mètode de pagament (ni factura ni adreça Lightning). Envia-li un missatge per acordar el pagament.", + "nonSats": "Aquesta oferta té el preu en {{currency}}. Els pagaments dins l'aplicació només són en sats. Liquida-ho directament amb el venedor.", + "unsupported": "Aquest codi de pagament (una sol·licitud Cashu) encara no és compatible. Demana al venedor una factura o una adreça Lightning.", + "ownListing": "Aquest anunci és teu.", + "paying": "Pagant…", + "pay": "Paga", + "payAmount": "Paga {{amount}} sats", + "footnote": "Paga des del moneder connectat (NWC, WebLN o Cashu) directament a {{sellerName}}: SkateSpots no custodia mai els fons." + }, + "spamFee": { + "invoiceComment": "Comissió d'anunci de SkateSpots", + "generateFailed": "No s'ha pogut generar la factura", + "paymentSuccess": "Pagament completat!", + "satsSent": "{{amount}} sats enviats a {{name}}", + "autoPayFailed": "El pagament automàtic ha fallat", + "autoPayFailedBody": "Paga manualment amb el codi QR o la factura", + "invoiceCopied": "Factura copiada!", + "copyFailed": "No s'ha pogut copiar", + "received": "Pagament rebut!", + "receivedBody": "S'ha pagat la comissió de {{amount}} sats. Ja pots crear el teu anunci.", + "title": "Comissió d'anunci única", + "subtitle": "Com a membre nou, cal una petita comissió per al teu primer anunci.", + "whyTitle": "Per què he de pagar?", + "spamLabel": "Prevenció del spam:", + "spamBody": "Aquesta comissió evita que els bots i els estafadors omplin el mercat d'anuncis falsos.", + "trustLabel": "Construcció de confiança:", + "trustBody": "Els comptes nous han de demostrar compromís abans de publicar. Després d'uns quants anuncis amb èxit, la comissió s'anul·la.", + "supportsLabel": "Dóna suport a la comunitat:", + "supportsPrefix": "La comissió va a", + "supportsSpotOwner": ": la persona que ha creat aquest spot!", + "supportsPlatform": ": ajuda a mantenir SkateSpots en marxa.", + "oneTimeFee": "~{{usd}} USD • Comissió única", + "payToContinue": "Paga {{amount}} sats per continuar", + "proveWork": "Demostra feina en lloc de pagar: gratis", + "proveWorkBody": "Gasta uns segons de CPU en lloc de {{amount}} sats. Sense diners ni moneder: un impost antispam, no un pagament.", + "generating": "Generant la factura...", + "processing": "Processant el pagament...", + "qrAlt": "Codi QR de pagament", + "copyInvoice": "Copia la factura", + "openWallet": "Obre el moneder", + "payWithWallet": "Paga amb el moneder connectat", + "scanHint": "Escaneja el codi QR amb un moneder Lightning o fes servir els botons de dalt", + "skipTitle": "Com evitar aquesta comissió en el futur:", + "skip1": "Afegeix un spot de skate al mapa", + "skip2": "Completa 2 o 3 anuncis amb èxit", + "skip3": "Construeix la teva reputació a la comunitat", + "skipNote": "Els membres de confiança tenen anuncis il·limitats i gratis!" + }, + "reputation": { + "highlyTrusted": "Comerciant molt fiable", + "building": "Construint reputació", + "newTrader": "Comerciant nou", + "title": "Intercanvis", + "verified": "Verificats", + "sales": "Vendes", + "purchases": "Compres", + "tradeConfirmedOne": "intercanvi confirmat mútuament", + "tradeConfirmedMany": "intercanvis confirmats mútuament", + "with": "amb", + "personOne": "persona", + "personMany": "persones", + "awaiting": "Esperant confirmació mútua", + "withPaymentProof": "amb una prova de pagament adjunta", + "selfReported": "(declarat per l'usuari, no verificat)", + "paymentVerified": "pagament verificat", + "zapReceipt": "(rebut de zap)", + "singlePartnerWarning": "Totes les confirmacions són amb el mateix compte. La confirmació mútua és declarada pels usuaris, així que tracta aquest registre amb prudència.", + "lowDiversityWarning": "La majoria de confirmacions vénen de molt pocs comptes. Un grup petit que es valida entre si pot semblar actiu: tracta aquest registre amb prudència.", + "ringWarning": "Aquests comptes intercanvien sobretot entre ells: un grup tancat. La confirmació mútua dins d'un grup tancat és una prova feble.", + "weighted": "Ponderat per confiança i activitat", + "footnote": "Declarat per l'usuari i signat per totes dues parts: un senyal, no una prova de pagament." + }, + "reputationPanel": { + "reviewOfYou": "Ressenya sobre tu", + "yourRecord": "el teu registre", + "listing": "Anunci", + "averageOne": "mitjana de {{count}} valoració", + "averageMany": "mitjana de {{count}} valoracions", + "reviewsTitle": "Ressenyes i registres d'intercanvis", + "fromOthers": "{{count}} d'altres", + "emptyBefore": "Encara no hi ha registres d'intercanvis. Tanca un tracte i confirma'l a", + "emptyAfter": ": cada confirmació es converteix en una ressenya als dos perfils." + }, + "recommendations": { + "published": "Recomanació publicada", + "publishedBody": "Gràcies per avalar-lo.", + "failed": "No s'ha pogut recomanar", + "somethingWrong": "Alguna cosa ha fallat.", + "title": "Comerciant fiable", + "recommendedBy": "Recomanat per", + "skaterOne": "skater", + "skaterMany": "skaters", + "none": "Encara no hi ha recomanacions.", + "youRecommend": "Recomanes aquest comerciant ✓", + "recommend": "Recomana com a comerciant fiable" + }, + "notification": { + "newOffer": "Nova oferta", + "counterOffer": "Contraoferta", + "offerAccepted": "Oferta acceptada", + "offerDeclined": "Oferta rebutjada", + "offerWithdrawn": "Oferta retirada", + "confirmTrade": "Confirma un intercanvi", + "tradeConfirmed": "Intercanvi confirmat", + "reviewOffer": "Revisa l'oferta", + "openListing": "Obre l'anunci" + }, + "confirmRow": { + "rateTrade": "Valora l'intercanvi:" + }, + "deckRating": { + "title": "{{value}}/10 taules", + "aria": "{{n}} de 10" + }, + "clink": { + "tip": "Deixa propina en Bitcoin", + "copiedBody": "Codi CLINK copiat al porta-retalls.", + "copyFailed": "No s'ha pogut copiar", + "copyFailedBody": "No s'ha pogut accedir al porta-retalls.", + "whatIs": "Què és CLINK?", + "tooltipTitle": "Paga directament amb Bitcoin a través de Nostr", + "tooltipBody": "CLINK és un codi de pagament autocustodiat: sense compte d'aplicació ni intermediaris. Escaneja'l amb un moneder Lightning compatible i la propina va directament a la persona.", + "descRecipient": "Envia un pagament Bitcoin (Lightning) autocustodiat a {{recipientName}}: sense intermediaris.", + "descGeneric": "Envia un pagament Bitcoin (Lightning) autocustodiat a través de Nostr: sense intermediaris.", + "qrAlt": "Codi QR de l'oferta CLINK", + "copyCode": "Copia el codi CLINK", + "openWallet": "Obre al moneder CLINK", + "copyToWallet": "Copia el codi per al teu moneder", + "priceFixed": "Fix: {{amount}} sats", + "priceFixedShort": "Preu fix", + "priceVariable": "Preu variable", + "priceVariableCurrency": "Preu en {{currency}}", + "priceSpontaneous": "Tries tu l'import", + "footnote": "Escaneja amb un moneder compatible amb CLINK (p. ex. ShockWallet). Si no s'obre res, copia el codi de dalt: potser no tens cap moneder compatible amb CLINK instal·lat. Sense custodi ni servidor web: la factura es demana directament per Nostr." + }, + "paymentReadiness": { + "ready": "Pots cobrar", + "notReady": "Configura els pagaments per cobrar", + "readyBefore": "La teva adreça Lightning", + "readyAfter": " és al teu perfil: la gent et pot enviar zaps i pagar-te directament.", + "silentSet": " També hi ha configurada una adreça de Bitcoin Silent Payment.", + "notReadyBefore": "Afegeix una adreça Lightning (i, si vols, una adreça de Bitcoin Silent Payment) al teu", + "nostrProfile": "perfil de Nostr", + "notReadyAfter": "perquè els skaters et puguin pagar. Es configura un cop i funciona a tots els perfils que tinguis aquí." + }, + "seller": { + "trade": "Intercanvi", + "active": "Actiu", + "markSold": "Marca com a venut", + "yourListings": "Els teus anuncis", + "activeCount": "{{count}} actius", + "listItem": "Publica un article", + "loading": "Carregant els teus anuncis…", + "empty": "Encara no tens cap anunci.", + "listFirst": "Publica el teu primer article" + }, + "noffer": { + "label": "Codi d'oferta CLINK", + "optional": "(opcional, avançat)", + "offerId": "Oferta: {{id}}", + "relay": "Relé: {{relay}}", + "invalidBefore": "Això no sembla un", + "invalidAfter": "codi vàlid.", + "valid": "Codi CLINK vàlid: al teu perfil apareixerà un botó «Paga via CLINK».", + "help": "Enganxa un codi de pagament CLINK autocustodiat (p. ex. de ShockWallet / Lightning.Pub) per acceptar pagaments Lightning natius de Nostr, sense servidor web ni custodi.", + "learnSpecs": "Coneix les especificacions" + }, + "escrowPanel": { + "escrowed": "{{amount}} sats en custòdia", + "mint": "Mint", + "refundSinceBefore": "El comprador pot reemborsar des de", + "redeemBefore": "El venedor pot bescanviar ara · el comprador reemborsa després", + "noExpiry": "Aquest testimoni no té caducitat." + }, + "escrowRequest": { + "enterAmount": "Introdueix un import per a la custòdia", + "minLock": "Bloqueja durant un mínim de {{days}} dies", + "requestNote": "He deixat {{amount}} sats en custòdia per al nostre intercanvi: confirma la venda, si us plau.", + "created": "Custòdia creada 🎉", + "createdBody": "{{amount}} sats bloquejats durant {{days}} dies. {{sellerName}} pot bescanviar-los a l'entrega.", + "createFailed": "No s'ha pogut crear la custòdia", + "somethingWrong": "Alguna cosa ha fallat.", + "title": "Deixa aquest intercanvi en custòdia", + "description": "Els fons queden bloquejats per a {{sellerName}} i tu els pots recuperar si el tracte no es tanca després del termini. Cal un moneder Lightning connectat.", + "amountLabel": "Import (sats)", + "daysLabel": "Reemborsament al comprador després de (dies)", + "daysHint": "Després d'aquests dies pots recuperar els fons si el venedor no ha fet l'entrega.", + "lockedNotSent": "Els fons estan bloquejats en custòdia i desats en aquest dispositiu, però la sol·licitud no s'ha enviat. Torna a obrir l'anunci per reintentar-ho. No tornis a pagar.", + "mintLabel": "Mint (on queden bloquejats els fons)", + "sellerMintHint": "El venedor prefereix aquest mint; els fons bloquejats aquí són els més fàcils de bescanviar per a ell.", + "mintHint": "La custòdia es fa en aquest mint. El venedor els bescanvia aquí, així que tria'n un en què confieu tots dos.", + "noMints": "No hi ha cap mint disponible", + "p2pkUnsupported": "Aquest mint no anuncia compatibilitat amb P2PK (NUT-11), així que no s'hi pot bloquejar la custòdia. Tria un altre mint.", + "nativeOnly": "La custòdia de Cashu només està disponible a l'aplicació de SkateSpots (no a la versió web).", + "lockAndRequest": "Bloqueja i sol·licita" + } + }, + "placesUi": { + "addToCalendar": { + "add": "Afegeix al calendari", + "appleOutlook": "Apple / Outlook (.ics)", + "google": "Google Calendar" + }, + "attendees": { + "goingCount": "hi van", + "goingTab": "Hi van ({{count}})", + "interestedTab": "Interessats ({{count}})", + "nobodyGoing": "Encara no ho ha confirmat ningú.", + "nobodyInterested": "Encara ningú no s'ha marcat com a interessat.", + "noRsvps": "Encara no hi ha cap confirmació: sigues el primer a dir que hi vas.", + "trusted": "De confiança", + "trustedTitle": "Algú que segueixes o un col·laborador de confiança", + "youTrust": "en qui confies" + }, + "bounty": { + "addressCoords": "Adreça i coordenades", + "basic": "Bàsic", + "contactInfo": "Dades de contacte", + "description": "Descripció", + "earningPotential": "Potencial de guanys", + "excellent": "Excel·lent!", + "gettingStarted": "Per començar", + "good": "Bé", + "onePhoto": "Almenys 1 foto", + "openingHours": "Horari", + "shopName": "Nom de la botiga", + "threePhotos": "3 fotos o més", + "tip": "💡 Com més qualitat, més zaps de la comunitat!" + }, + "calendar": { + "allDay": "Tot el dia", + "eventDay": "Dia de l'esdeveniment", + "eventsOnDay": "{{count}} esdeveniments", + "eventsThisMonth": "esdeveniments aquest mes", + "going": "hi van", + "months": { + "january": "Gener", + "february": "Febrer", + "march": "Març", + "april": "Abril", + "may": "Maig", + "june": "Juny", + "july": "Juliol", + "august": "Agost", + "september": "Setembre", + "october": "Octubre", + "november": "Novembre", + "december": "Desembre" + }, + "nextMonth": "Mes següent", + "nothingOnDay": "No hi ha res aquest dia.", + "prevMonth": "Mes anterior", + "tapHighlighted": "Toca un dia destacat per veure què hi ha.", + "today": "Avui", + "tourDay": "Dia de la ruta", + "toursOnDay": "{{count}} rutes", + "toursThisMonth": "rutes aquest mes", + "weekdays": { + "sun": "Dg.", + "mon": "Dl.", + "tue": "Dt.", + "wed": "Dc.", + "thu": "Dj.", + "fri": "Dv.", + "sat": "Ds." + }, + "weekdaysShort": { + "sun": "D", + "mon": "L", + "tue": "M", + "wed": "X", + "thu": "J", + "fri": "V", + "sat": "S" + } + }, + "countdown": { + "ended": "Acabat", + "happeningNow": "En curs", + "inDays": "D'aquí a {{count}} dies", + "inHoursMins": "D'aquí a {{hours}} h {{mins}} min", + "inMins": "D'aquí a {{count}} min", + "startingNow": "Comença ara", + "tomorrow": "Demà" + }, + "createEvent": { + "add": "Afegeix", + "addNewSpot": "Afegeix un spot nou →", + "changeSpot": "Canvia el spot", + "created": "Esdeveniment creat!", + "createdDesc": "El teu esdeveniment s'ha publicat a la xarxa.", + "entryFee": "Entrada", + "entryFeeHint": "(opcional: p. ex. «500 sats» o «10 €»)", + "entryFeePlaceholder": "Deixa-ho buit per a esdeveniments gratuïts", + "featuring": "Amb {{name}}", + "featuringDesc": "Aquest acte s'etiquetarà com a música en directe i apareixerà a la seva llista de concerts.", + "fundingGoal": "Objectiu de finançament", + "fundingGoalHint": "(opcional: sats per finançar amb zaps)", + "fundingGoalPlaceholder": "p. ex. 50000", + "geoNotSupported": "Geolocalització no compatible", + "geoNotSupportedDesc": "El teu navegador no admet la geolocalització.", + "hideSpots": "Amaga els spots", + "hostingAs": "Organitzes com a {{name}}", + "hostingAsDesc": "Aquest esdeveniment apareixerà a la pàgina de la teva crew i es marcarà com a organitzat per la crew.", + "imageUploaded": "Imatge pujada", + "imageUploadedDesc": "La teva imatge s'ha pujat correctament.", + "invalidDate": "Data no vàlida", + "invalidDateDesc": "Introdueix una data i una hora d'inici vàlides.", + "invalidEnd": "Hora de fi no vàlida", + "invalidEndDesc": "L'hora de fi ha de ser posterior a l'hora d'inici.", + "linkedTo": "Enllaçat a: {{title}}", + "linkToSpot": "Enllaça amb un spot de skate", + "linkToShop": "Enllaça amb una botiga", + "selectedShop": "Enllaçat a {{name}}", + "selectShopHint": "Opcional: si s'hi fa o l'organitza una botiga de skate.", + "selectShop": "Selecciona la botiga", + "changeShop": "Canvia la botiga", + "hideShops": "Amaga les botigues", + "searchShops": "Cerca botigues…", + "noShopsMatch": "Cap botiga coincideix amb la cerca.", + "noShopsAvailable": "Encara no hi ha botigues disponibles.", + "linkToTour": "Enllaça amb una ruta (opcional)", + "linkTourDesc": "Enllaça aquest esdeveniment amb una ruta per mostrar que forma part d'una sèrie més gran. Ideal per a rutes nacionals, aventures internacionals o dies de repte del World Destruction Tour.", + "loadingSpots": "Carregant spots...", + "loadingTours": "Carregant rutes...", + "locationError": "Error de ubicació", + "locationFound": "Ubicació trobada", + "locationFoundDesc": "S'ha definit la teva ubicació actual.", + "logoUrl": "URL del logotip (opcional)", + "noSpotsAvailable": "No hi ha spots disponibles", + "noSpotsMatch": "Cap spot coincideix amb la cerca", + "noTourLinked": "Cap ruta enllaçada", + "optional": "(opcional)", + "pastDesc": "Tria una data i una hora futures perquè els skaters puguin confirmar l'assistència i venir.", + "pastTitle": "Aquesta hora d'inici ja ha passat", + "publishFailed": "No s'ha pogut publicar", + "publishFeatured": "Publica l'esdeveniment destacat", + "removeSponsor": "Treu el patrocinador", + "searchSpots": "Cerca spots per nom, ubicació o categoria...", + "selectedSpot": "Seleccionat: {{name}}", + "selectSpot": "Selecciona el spot", + "selectSpotHint": "Selecciona al mapa un spot on es faci aquest esdeveniment", + "selectTour": "Selecciona la ruta", + "somethingWrong": "Alguna cosa ha fallat", + "sponsorName": "Nom del patrocinador", + "sponsors": "Patrocinadors", + "sponsorsHint": "Tens una botiga o una marca que hi dóna suport? Afegeix-ne el logotip: apareixerà com una franja «Presentat per» a l'esdeveniment.", + "startRequired": "Cal una hora d'inici", + "startRequiredDesc": "Introdueix quan comença l'esdeveniment.", + "titleRequired": "Cal un títol", + "titleRequiredDesc": "Introdueix un nom per a aquest esdeveniment.", + "uploadFailed": "No s'ha pogut pujar", + "uploadFailedDesc": "No s'ha pogut pujar la imatge", + "websiteUrl": "URL del lloc web (opcional)" + }, + "createShop": { + "address": "Adreça de la botiga", + "addressPlaceholder": "p. ex. 411 N Fairfax Ave, Los Angeles, CA 90036", + "addressRequired": "Cal una adreça", + "addressRequiredDesc": "Introdueix l'adreça de la teva botiga.", + "contactHint": "Ajuda els clients a contactar-te (es recomana almenys un mètode de contacte)", + "contactInfo": "Dades de contacte", + "created": "🎉 Botiga afegida!", + "createdDesc": "La teva botiga de skate ja és al mapa. Els skaters et poden enviar zaps per donar-te les gràcies!", + "descriptionPlaceholder": "Explica a la gent com és la teva botiga, què hi venen, què hi destaca...", + "detailsDesc": "Explica a la comunitat com és la teva botiga. Tots els camps amb * són obligatoris.", + "email": "Correu electrònic", + "hoursOfOperation": "Horari d'obertura", + "hoursPlaceholder": "p. ex. dl.-ds. 10-20 h, dg. 12-18 h", + "instagram": "Instagram", + "invalidCoords": "Coordenades no vàlides", + "invalidCoordsDesc": "Introdueix una latitud (-90 a 90) i una longitud (-180 a 180) vàlides.", + "latPlaceholder": "Latitud (p. ex. 34.0737)", + "lngPlaceholder": "Longitud (p. ex. -118.3614)", + "locationRequired": "Cal una ubicació", + "locationRequiredDesc": "Introdueix les coordenades o fes servir la teva ubicació actual.", + "loginToAdd": "Has d'iniciar sessió per afegir una botiga de skate.", + "namePlaceholder": "p. ex. Supreme Los Angeles", + "nameRequired": "Cal el nom de la botiga", + "nameRequiredDesc": "Introdueix un nom per a la teva botiga.", + "phoneNumber": "Telèfon", + "publishFailedDesc": "Alguna cosa ha fallat. Consulta la consola per veure'n els detalls.", + "shopPhotoAlt": "Botiga", + "shopPhotos": "Fotos de la botiga", + "subtitle": "Publica la teva botiga al mapa i connecta amb la comunitat", + "upload": "Puja" + }, + "createTour": { + "acceptedClipSources": "Fonts de clips acceptades", + "acceptedClipSourcesDesc": "Quins formats acceptaràs per als clips?", + "accommodationInfo": "Informació d'allotjament", + "accommodationPlaceholder": "Recomanacions o opcions d'allotjament, p. ex. «Albergs econòmics a la ruta», «Cal portar material de càmping», «Airbnb inclòs»", + "addChallenge": "Afegeix un repte", + "addCity": "Afegeix una ciutat...", + "addCountry": "Afegeix un país...", + "addShopFirst": "Afegeix primer una botiga", + "alsoSelected": "També seleccionats:", + "availabilityPlaceholder": "p. ex. Caps de setmana, només matins, amb cita prèvia", + "availabilityQuestion": "Quan acostumes a estar disponible?", + "availableShops": "Botigues de skate disponibles ({{count}})", + "challengeDescPlaceholder": "Descripció opcional...", + "challenges": "Reptes", + "challengesRequired": "Calen reptes", + "challengesRequiredDesc": "Afegeix almenys un repte perquè els equips el completin.", + "challengesSecret": "Tots els reptes són SECRETS fins a la data d'inici de la competició. Els equips no els veuran fins aleshores!", + "challengeTitlePlaceholder": "Títol del repte, p. ex. «Kickflip per un salt de 10 graons»", + "citiesLabel": "Ciutats", + "citiesOnTour": "Ciutats de la ruta", + "cityPlaceholder": "p. ex. Berlín, Alemanya", + "cityRegion": "Ciutat / regió", + "cityRequired": "Cal una ciutat o regió", + "cityRequiredDesc": "Introdueix la teva ciutat o regió.", + "clipAnyUrl": "🔗 Qualsevol URL", + "clipBlossom": "📦 Pujada a Blossom", + "clipInstagram": "📸 Instagram", + "clipYouTube": "▶️ YouTube", + "competitionDates": "Dates de la competició", + "competitionDatesWarning": "⚠️ Tots els reptes són SECRETS fins a la data d'inici! Els equips no els veuran fins que comenci la competició.", + "competitionLocations": "Ubicacions de la competició", + "competitionLocationsDesc": "On competiran els equips? Afegeix-hi totes les ciutats i països.", + "coordsHint": "Les coordenades són opcionals. Afegeix-les per marcar el punt de trobada al mapa.", + "countriesLabel": "Països", + "countriesRequired": "Calen països", + "countriesRequiredDesc": "Afegeix almenys un país per a la teva ruta internacional.", + "createdDestruction": "💀 RUTA WORLD DESTRUCTION CREADA!", + "createdDestructionDesc": "Els equips ja es poden inscriure. Els reptes es revelaran a la data d'inici!", + "createDestructionTour": "Crea una ruta World Destruction", + "createdInternational": "✈️ Ruta internacional creada!", + "createdInternationalDesc": "La teva aventura global ja és a la llista! Connecta amb skaters d'arreu del món.", + "createdLocal": "🏠 Ruta local creada!", + "createdLocalDesc": "La teva ruta ja és visible. Els skaters poden reservar per missatge directe!", + "createdNational": "🚐 Ruta nacional creada!", + "createdNationalDesc": "El teu road trip ja està en marxa! Comença a coordinar-te amb els skaters interessats.", + "departure": "Sortida *", + "departureRequired": "Cal una data de sortida", + "departureRequiredDesc": "Indica quan surt el viatge perquè els skaters puguin planificar i reservar.", + "descriptionPlaceholder": "Descriu què viuran els skaters: els spots que visitareu, l'ambient, què fa única la teva ruta...", + "destructionDesc": "Munta la teva competició global estil KOTR: tu ho defineixes TOT!", + "discountHint": "Els participants de la ruta poden mostrar la confirmació de reserva a la botiga per obtenir aquest descompte", + "discountPercentage": "Percentatge de descompte", + "dropTour": "Publica una ruta", + "duration": "Durada", + "durationHintDestruction": "Quant dura la competició? (1-12 mesos)", + "durationHintInternational": "Quantes setmanes dura l'aventura? (fins a 2 mesos)", + "durationHintLocal": "Quant dura la teva ruta habitual?", + "durationHintNational": "Quants dies dura el road trip?", + "durationWeeksMonths": "{{weeks}} setmanes (~{{months}} mesos)", + "editTour": "Edita la ruta", + "enable": "Activa", + "enabled": "Activat", + "endBeforeStart": "Fi abans de l'inici", + "endBeforeStartDesc": "La data de fi de la competició ha de ser igual o posterior a la data d'inici.", + "endDate": "Data de fi", + "entryFeeHint": "Et quedes el 95 % • La plataforma es queda el 5 % • Deixa-ho buit per a entrada gratuïta", + "entryFeePerTeam": "Entrada per equip (sats)", + "entryFeePlaceholder": "p. ex. 100000", + "entryPrizes": "Entrada i premis", + "filmPremieres": "Estrenes dels films dels equips", + "filmPremieresDesc": "Després de la competició, els clips de cada equip es converteixen en un film complet que es pot estrenar a botigues de skate d'arreu del món.", + "filmPremieresInfo": "🎥 Els equips munten els clips dels reptes en un film final. Les botigues poden organitzar estrenes, connectant la competició global amb les comunitats locals.", + "filmReleaseDate": "Data d'estrena del film (opcional)", + "filmReleaseDateHint": "Quan estaran disponibles els films. Deixa-ho buit per publicar-los just després que acabi la competició.", + "fixedSession": "Sessió fixa", + "fixedSessionDesc": "Una data i hora concretes", + "flexible": "Flexible", + "flexibleDesc": "Reserva quan vulguis per missatge directe", + "hide": "Amaga", + "howDestruction1": "• Competició global per equips: fins a 12 mesos de durada", + "howDestruction2": "• TU defineixes els reptes, els punts i els premis: nosaltres només posem la plataforma", + "howDestruction3": "• Tots els reptes són SECRETS fins a la data d'inici de la competició", + "howDestruction4": "• Clips amb pujada a Blossom O enllaços externs (YouTube, Instagram, qualsevol URL)", + "howDestruction5": "• Només nivell avançat: tots els tipus de spot s'inclouen automàticament", + "howDestruction6": "• La plataforma només es queda el 5 % de les entrades (NO del premi acumulat)", + "howDestructionTitle": "💀 RUTA WORLD DESTRUCTION - Estil KOTR", + "howInternational1": "• Aventures transfrontereres per diversos països", + "howInternational2": "• Tu fixes el preu: la plataforma només es queda el 5 %", + "howInternational3": "• Fixa les dates de sortida i de tornada perquè la colla pugui reservar vols", + "howInternational4": "• Connecta skaters d'arreu del món", + "howInternational5": "• Crea experiències globals inoblidables!", + "howInternationalTitle": "Com funcionen les rutes internacionals", + "howItWorks": "Com funciona:", + "howLocal1": "• Tu fixes el preu: la plataforma es queda el 10 %", + "howLocal2": "• Els spots amagats segueixen amagats: els ensenyes en persona", + "howLocal3": "• Organitza una sessió programada o mantén-ho flexible / amb cita prèvia", + "howLocal4": "• Els skaters reserven per missatge directe, paguen en Lightning i ho poden afegir al calendari", + "howLocal5": "• Construeix la teva reputació amb ressenyes i zaps", + "howLocalTitle": "Com funcionen les rutes locals", + "howNational1": "• Road trips per diverses ciutats del teu país", + "howNational2": "• Tu fixes el preu: la plataforma només es queda el 7 %", + "howNational3": "• Fixa les dates del viatge perquè els skaters puguin demanar dies lliures i organitzar-se", + "howNational4": "• Inclou informació de transport i allotjament per a la colla", + "howNational5": "• Construeix aventures de skate llegendàries!", + "howNationalTitle": "Com funcionen les rutes nacionals", + "imageUploadedDesc": "S'ha pujat la imatge de la teva ruta.", + "incompleteCoords": "Coordenades incompletes", + "incompleteCoordsDesc": "Introdueix la latitud i la longitud, o deixa les dues buides.", + "internationalDetails": "Detalls de l'aventura internacional", + "languagesSelected": "{{count}} seleccionats", + "languagesSpoken": "Idiomes", + "latOptional": "Latitud (opcional)", + "lngOptional": "Longitud (opcional)", + "loadingProfile": "Carregant el perfil...", + "loadingProfileDesc": "Comprovant l'estat de la teva verificació NIP-05.", + "loadingShops": "Carregant botigues...", + "localShopPremieres": "Estrenes a botigues locals", + "localShopPremieresDesc": "Les botigues de skate d'arreu del món poden organitzar nits de films", + "loginToCreate": "Has d'iniciar sessió per crear una ruta.", + "maxGroupSize": "Mida màxima del grup", + "maxTeams": "Màxim d'equips", + "maxTeamSize": "Mida màxima de l'equip", + "meetingLocationSet": "S'ha definit la teva ubicació actual com a punt de trobada.", + "meetingPointDesc": "On trobaràs els participants de la ruta? Tria un lloc públic i conegut.", + "meetingPointLabel": "Punt de trobada", + "meetingPointPlaceholder": "p. ex. Estació de Warschauer Straße", + "meetingPointRequired": "Cal un punt de trobada", + "meetingPointRequiredDesc": "Introdueix on trobaràs els participants de la ruta.", + "minTeamSize": "Mida mínima de l'equip", + "noChallenges": "Encara no hi ha reptes", + "noChallengesDesc": "Afegeix reptes perquè els equips els completin", + "noPartnerShop": "Cap botiga col·laboradora", + "noShopsFound": "Encara no s'ha trobat cap botiga de skate a la xarxa.", + "noShopsRegistered": "Encara no hi ha cap botiga de skate registrada", + "onlineRelease": "Estrena en línia", + "onlineReleaseDesc": "Publica també els films a YouTube/Nostr", + "organizerContact": "Dades de contacte de l'organitzador", + "organizerContactHint": "Seran visibles per als equips inscrits", + "organizerContactPlaceholder": "Com poden contactar-te els equips? p. ex. npub de Nostr, correu, Telegram, etc.", + "partnerDiscountDesc": "Ofereix un descompte als participants de la ruta en una botiga de skate local", + "partnerStep1": "1. Col·labora amb una botiga de skate local de confiança", + "partnerStep2": "2. Fixa un percentatge de descompte per als participants de la ruta", + "partnerStep3": "3. Després de la ruta, dóna als participants una confirmació per mostrar a la botiga", + "partnerStep4": "4. La botiga aplica el descompte: crea comunitat i porta gent a la botiga!", + "percentOff": "{{percent}}% DE DESCOMPTE", + "photoHint": "Afegeix una foto teva patinant o d'algun spot xulo de la teva ruta.", + "pickRide": "Tria el teu vehicle", + "place1": "🥇 1r", + "place2": "🥈 2n", + "place3": "🥉 3r", + "platformFee": "Tu fixes el preu • La plataforma es queda {{percent}}", + "points": "Punts:", + "pricePerPerson": "Preu per persona (sats)", + "pricePlaceholder": "p. ex. 25000", + "prizeDistribution": "Distribució dels premis", + "prizePoolHint": "Opcional: total de premis disponibles", + "prizePoolPlaceholder": "p. ex. 2000000", + "proTipDesc": "Abans de publicar un descompte de col·laboració, contacta amb el propietari de la botiga per missatge directe per acordar el percentatge. Així t'assegures que hi està d'acord i que aplicarà el descompte als participants de la teva ruta.", + "proTipTitle": "💡 Consell: coordina't primer amb la botiga!", + "return": "Tornada", + "returnBeforeDeparture": "Tornada abans de la sortida", + "returnBeforeDepartureDesc": "La data de tornada ha de ser igual o posterior a la data de sortida.", + "roadTripDetails": "Detalls del road trip", + "schedule": "Programació", + "scheduleDesc": "Organitza-ho com una sessió programada puntual o mantén-ho flexible i deixa que els skaters reservin un dia per missatge directe.", + "secretUntilStart": "Secret fins a l'inici", + "selectPartnerShop": "Selecciona la botiga col·laboradora", + "sessionDateRequired": "Cal una data de sessió", + "sessionDateRequiredDesc": "Tria la data i l'hora de la sessió programada o canvia a una programació flexible.", + "sessionDateTime": "Data i hora de la sessió", + "sessionDateTimeHint": "Els skaters veuran aquesta hora i la podran afegir al calendari des de la pàgina de la ruta.", + "shopPremieresContact": "Contacta directament amb aquestes botigues per organitzar nits d'estrena. Tots els acords són privats.", + "shopPremieresHow": "💡 Com funcionen les estrenes a botigues: contacta directament amb les botigues per organitzar nits d'estrena. Tots els acords són privats entre tu i les botigues.", + "shopsCanRegister": "Les botigues es poden registrar a /create-shop", + "show": "Mostra", + "showAllLanguages": "Mostra els {{count}} idiomes", + "somethingWrong": "Alguna cosa ha fallat.", + "spotTypes": "Tipus de spots", + "spotTypesRequired": "Calen tipus de spots", + "spotTypesRequiredDesc": "Selecciona almenys un tipus de spot que mostraràs.", + "startDate": "Data d'inici", + "startDateRequired": "Cal una data d'inici", + "startDateRequiredDesc": "Indica quan comença la competició (els reptes es revelaran en aquesta data).", + "startingCity": "Ciutat d'inici", + "startingCityPlaceholder": "p. ex. Los Angeles, EUA", + "teamSettings": "Configuració d'equips", + "teamsCount": "{{count}} equips", + "titlePlaceholder": "p. ex. Berlín Kreuzberg - Ruta de spots underground", + "titleRequired": "Cal un títol de la ruta", + "titleRequiredDesc": "Introdueix un nom per a la teva ruta.", + "totalPercent": "Total: {{percent}}%", + "totalPrizePool": "Premi acumulat total (sats)", + "tourDesc": "Explica als skaters què poden esperar de la teva ruta", + "tourDetails": "Detalls de la ruta", + "tourPhoto": "Foto de la ruta", + "tourTitle": "Títol de la ruta", + "transportDestructionPlaceholder": "Com viatjaran els equips entre ubicacions? Hi ha transport inclòs o recomanat?", + "transportInfo": "Informació de transport", + "transportPlaceholder": "Com viatjaran els participants? p. ex. «Furgoneta inclosa», «Voleu a Barcelona i lloguem una furgoneta», «Tren entre ciutats»", + "tripDatesDesc": "Fixa les dates perquè els skaters puguin demanar dies lliures, reservar vols i planificar el viatge.", + "tripDatesTitle": "Dates del viatge", + "updated": "Ruta actualitzada!", + "updatedDesc": "S'han publicat els teus canvis.", + "upload": "Puja", + "view": "Veure →", + "worldDestruction": "Ruta World Destruction", + "youReceive": "Reps: {{amount}} sats per persona" + }, + "editEvent": { + "accessDenied": "Accés denegat", + "accessDeniedDesc": "Només pots editar els esdeveniments que has creat.", + "backToEvent": "Torna a l'esdeveniment", + "detailsDesc": "Actualitza la informació d'aquest esdeveniment. Tots els camps amb * són obligatoris.", + "eventCover": "Imatge de portada", + "locationUpdated": "Ubicació actualitzada.", + "loginToEdit": "Has d'iniciar sessió per editar aquest esdeveniment.", + "newSpot": "Spot nou: {{location}}.", + "newTime": "Hora nova: {{date}} a les {{time}}.", + "saveChanges": "Desa els canvis", + "saving": "Desant...", + "title": "Edita l'esdeveniment", + "updated": "Esdeveniment actualitzat!", + "updatedDesc": "S'han publicat els teus canvis a la xarxa.", + "updateDetails": "Actualitza els detalls de {{title}}", + "updatedNotified": "Canvis publicats: {{count}} assistents avisats.", + "updateFailed": "No s'ha pogut actualitzar", + "updateMessage": "{{parts}}: consulta l'esdeveniment per veure'n els detalls." + }, + "editShop": { + "accessDeniedDesc": "Només pots editar les botigues que has creat.", + "backToShop": "Torna a la botiga", + "detailsDesc": "Actualitza la informació de la teva botiga. Tots els camps amb * són obligatoris.", + "loginToEdit": "Has d'iniciar sessió per editar aquesta botiga.", + "updated": "Botiga actualitzada!", + "updateDetails": "Actualitza els detalls de {{name}}" + }, + "editTour": { + "accessDeniedDesc": "Només pots editar les rutes que has creat.", + "loginToEdit": "Has d'iniciar sessió per editar aquesta ruta." + }, + "eventCard": { + "report": "Denuncia" + }, + "eventDetail": { + "aCrew": "una crew", + "addToCalendar": "Afegeix al calendari", + "backToEvents": "Torna als esdeveniments", + "cancelled": "Aquest esdeveniment s'ha cancel·lat", + "checkUpdate": ": consulta l'actualització", + "copyFailed": "No s'ha pogut copiar", + "date": "Data", + "editEvent": "Edita l'esdeveniment", + "eventFallback": "Esdeveniment", + "eventOrganizer": "Organitzador de l'esdeveniment", + "getDirections": "Com arribar-hi", + "linkCopied": "Enllaç copiat", + "linkCopiedDesc": "Enllaç de l'esdeveniment copiat al porta-retalls: enganxa'l on vulguis.", + "live": "En directe:", + "liveMusic": "música en directe", + "location": "Ubicació", + "newLocation": "Ubicació nova", + "noRsvps": "No s'ha registrat cap confirmació.", + "organizer": "Organitzador", + "rsvpsClosed": "Les confirmacions estan tancades: l'amfitrió ha cancel·lat aquest esdeveniment.", + "seeMap": "Veure el mapa", + "shareEvent": "Comparteix l'esdeveniment", + "shareText": "{{title}}: un esdeveniment de skate a SkateSpots", + "shareTextFallback": "Mira aquest esdeveniment de skate a SkateSpots", + "time": "Hora", + "timeChanged": "Hora canviada", + "updatesFromHost": "Actualitzacions de l'amfitrió", + "where": "On", + "whoCame": "Qui hi va venir", + "whosGoing": "Qui hi va" + }, + "events": { + "calendar": "Calendari", + "createTour": "Crea una ruta", + "events": "Esdeveniments", + "faqFooter": "Tens preguntes? Consulta les FAQ →", + "hosting": "Organitzes", + "hostingSubtitle": "Els teus esdeveniments: confirmacions, actualitzacions i edicions ràpides", + "list": "Llista", + "noEventsMatchFilters": "Cap esdeveniment coincideix amb els filtres. Prova d'ajustar-los o d'esborrar-los.", + "noPast": "No hi ha esdeveniments passats", + "noPastBody": "No s'ha trobat cap esdeveniment de skate passat amb els filtres actuals.", + "noTours": "No s'ha trobat cap ruta", + "noToursBody": "Encara no hi ha rutes de skate. Crea la primera i porta els skaters a descobrir spots!", + "noToursMatchFilters": "Cap ruta coincideix amb els filtres. Prova d'ajustar-los o d'esborrar-los.", + "noUpcoming": "No hi ha esdeveniments propers", + "noUpcomingBody": "No s'ha trobat cap esdeveniment de skate proper. Sigues el primer a crear-ne un!", + "past": "Passats", + "resultsCount": "{{count}} resultats", + "searchCity": "Ciutat…", + "searchEvent": "Nom de l'esdeveniment…", + "searchTour": "Nom de la ruta…", + "tours": "Rutes", + "toursSubtitle": "Guies locals, road trips i competicions World Destruction", + "upcoming": "Propers" + }, + "eventTypes": { + "contest": "Concurs", + "demo": "Demo", + "jam": "Jam", + "meetup": "Trobada", + "premiere": "Estrena", + "session": "Sessió", + "workshop": "Taller" + }, + "featured": { + "active": "Actiu", + "bodyEvent": "Publicar és gratuït. Els esdeveniments destacats tenen una insígnia i apareixen a dalt de la pàgina d'esdeveniments.", + "bodyTour": "Publicar és gratuït. Les rutes destacades tenen una insígnia i apareixen a dalt de la llista de rutes.", + "contextEvent": "El teu esdeveniment apareix igualment i gratis: el destaque només afegeix la insígnia i l'impuls.", + "contextTour": "La teva ruta apareix igualment i gratis: el destaque només afegeix la insígnia i l'impuls.", + "daysRemaining": "Destaque actiu · queden {{count}} dies.", + "headingEvent": "Destaca aquest esdeveniment", + "headingTour": "Destaca aquesta ruta", + "optional": "opcional", + "platformOwner": "Propietari de la plataforma: el destaque sempre està actiu." + }, + "filters": { + "activeCount": "{{count}} actius", + "all": "Tots", + "allLevels": "Tots els nivells", + "eventType": "Tipus d'esdeveniment", + "following": "Segueixes", + "newest": "Més recents", + "popular": "Populars", + "showResults": "Mostra els resultats", + "showResultsActive": "Mostra els resultats · {{count}} actius", + "skillLevel": "Nivell", + "sortBy": "Ordena per", + "topRated": "Millor valorats", + "tourCategory": "Categoria de la ruta", + "trusted": "De confiança", + "trustLevel": "Nivell de confiança", + "verified": "Verificats" + }, + "food": { + "bar": "Bar", + "cafe": "Cafè", + "call": "Truca", + "chooseSpot": "Tria un spot...", + "directions": "Com arribar-hi", + "fastFood": "Menjar ràpid", + "foodCourt": "Zona de restauració", + "locationLabel": "Ubicació:", + "noneFound": "No s'ha trobat cap lloc per menjar", + "noneFoundDesc": "No hem trobat cap restaurant ni cafè a menys d'1 km d'aquest spot. Prova de seleccionar una altra ubicació.", + "placesFound": "{{count}} llocs trobats a menys d'1 km de {{spot}}", + "pub": "Pub", + "restaurant": "Restaurant", + "selectSpot": "Selecciona un spot de skate", + "selectSpotDesc": "Tria un spot de skate al desplegable de dalt per trobar-hi restaurants, cafès i altres opcions per menjar a prop.", + "selectSpotTitle": "Selecciona un spot de skate", + "subtitle": "Troba llocs per menjar a prop dels teus spots de skate preferits", + "title": "Menjar a prop dels spots", + "unknown": "Desconegut", + "website": "Lloc web" + }, + "rsvp": { + "areYouGoing": "Hi vas?", + "cant": "No puc", + "cantMakeIt": "No hi puc anar", + "going": "Hi vaig", + "goingCount": "hi van", + "goingShort": "Hi vaig", + "hostNote": "Organitzes aquest esdeveniment, però també pots definir el teu estat.", + "interested": "M'interessa", + "interestedCount": "interessats", + "loginToRsvp": "Inicia sessió per confirmar l'assistència.", + "maybe": "Potser", + "toastError": "No s'ha pogut confirmar", + "toastGoing": "Hi vas! 🛹", + "toastInterested": "Marcat com a interessat.", + "toastNotGoing": "Marcat com que no hi vas.", + "tryAgain": "Torna-ho a provar." + }, + "shop": { + "addNip05Settings": "Afegeix NIP-05 a la configuració", + "adminRemovedReason": "Un admin de SkateSpots ha retirat la botiga «{{name}}»", + "areYouOwner": "Ets el propietari de la botiga?", + "backToMap": "Torna al mapa", + "claimDesc": "Si ets el propietari o gestiones aquesta botiga, la pots reclamar per verificar-ne la propietat amb NIP-05.", + "claimNip05Intro": "Per reclamar aquesta botiga, afegeix un identificador NIP-05 que coincideixi amb el domini del web de la botiga. Per exemple, si el web de la botiga és", + "claimNip05Your": "el teu NIP-05 hauria de ser", + "contactShop": "Contacta amb la botiga", + "deleted": "Botiga eliminada", + "deletedDesc": "Sol·licitud d'eliminació enviada als relés. La majoria de relés retiraran aquest contingut.", + "deleteDialogDesc": "Això eliminarà «{{name}}» permanentment de tots els relés. Aquesta acció no es pot desfer.", + "deleteDialogTitle": "Vols eliminar la botiga?", + "deletedReason": "Botiga eliminada", + "deleteFailed": "No s'ha pogut eliminar", + "deleteShop": "Elimina la botiga", + "linkCopied": "Enllaç copiat!", + "linkCopiedDesc": "Enllaç de la botiga copiat al porta-retalls.", + "nip05Required": "⚠️ Cal verificació NIP-05 per reclamar botigues", + "opens": "Obre: {{domain}}", + "removeAdmin": "Retira (admin)", + "removed": "Botiga retirada", + "removedDesc": "Aquesta botiga s'ha retirat i s'amagarà a tot SkateSpots.", + "removeDialogDesc": "Com a admin de SkateSpots, estàs retirant «{{name}}». S'amagarà a tota l'aplicació per a tothom i s'enviarà una sol·licitud d'eliminació als relés.", + "removeDialogTitle": "Vols retirar aquesta botiga? (admin)", + "removeShop": "Retira la botiga", + "tipMapper": "Dóna una propina al col·laborador", + "tipMapperDesc": "Aquesta botiga l'ha afegida un membre de la comunitat. Envia-li un zap per donar-li les gràcies!", + "updateNip05": "Actualitza el NIP-05 per reclamar-la", + "viewPhotoFull": "Veure la foto a pantalla completa", + "viewPhotoOf": "Veure la foto {{index}} de {{total}}" + }, + "sponsors": { + "presentedBy": "Presentat per" + }, + "tourCard": { + "active": "Activa", + "completed": "Completada", + "contactForPrice": "Consulta el preu", + "durationDays": "{{count}} dies", + "durationHours": "{{count}} hores", + "durationMonths": "{{count}} mesos", + "durationWeeks": "{{count}} setmanes", + "entry": "Entrada: {{amount}} sats", + "happeningNow": "En curs", + "inDays": "D'aquí a {{count}} dies", + "inHours": "D'aquí a {{count}} h", + "inMonths": "D'aquí a {{count}} mesos", + "inWeeks": "D'aquí a {{count}} setmanes", + "maxGroup": "Màx. {{count}}", + "price": "{{amount}} sats", + "prizePool": "{{amount}} sats", + "registrationOpen": "Inscripcions obertes", + "startingSoon": "Comença aviat", + "teamsMax": "Màxim {{count}} equips", + "tomorrow": "Demà", + "worldwide": "A tot el món" + }, + "tourDetail": { + "about": "Sobre aquesta ruta", + "availability": "Disponibilitat", + "competitionWindow": "Període de competició", + "contactToBook": "Contacta amb el guia per reservar", + "discountAt": "{{percent}}% de descompte a {{shop}}", + "duration": "Durada", + "languages": "Idiomes", + "loginToBook": "Inicia sessió per reservar", + "loginToBookDesc": "Inicia sessió per contactar amb el guia i reservar aquesta ruta", + "maxGroup": "Grup màxim", + "meetingPoint": "Punt de trobada", + "notFound": "Ruta no trobada", + "notFoundDesc": "Aquesta ruta potser s'ha eliminat o no existeix.", + "organizer": "Organitzador", + "partnerDiscount": "Descompte de la botiga col·laboradora", + "partnerDiscountDesc": "Reserva aquesta ruta per obtenir un descompte a la botiga de skate col·laboradora. Mostra la confirmació de reserva al personal de la botiga.", + "people": "{{count}} persones", + "perPerson": "per persona", + "price": "Preu", + "runsAbout": "Dura aproximadament {{duration}}", + "scheduledSession": "Sessió programada", + "shareText": "Mira aquesta ruta de skate local: {{title}}", + "skillLevel": "Nivell", + "spotTypes": "Tipus de spots", + "tourGuide": "Guia de la ruta", + "tourSponsors": "Patrocinadors de la ruta", + "tripDates": "Dates del viatge", + "viewProfile": "Veure el perfil" + }, + "updates": { + "admin": "Admin", + "adminNote": "Publiques com a admin de SkateSpots. Es marcarà clarament com un avís d'admin, no de l'amfitrió.", + "kindCancelled": "Cancel·lat", + "kindNewSpot": "Spot nou", + "kindNewTime": "Hora nova", + "kindUpdate": "Actualització", + "loading": "Carregant actualitzacions…", + "notifiedCount": "{{count}} persones avisades.", + "notifiedEveryone": "Tothom ho veurà a l'esdeveniment.", + "notifiesRsvps": "Avisa {{count}} confirmacions", + "noUpdates": "Encara no hi ha actualitzacions de l'amfitrió. Confirma l'assistència i t'avisarem si hi ha cap canvi.", + "placeholder": "Pluja: ho passem a diumenge a les 14 h. Trobada al vorell del darrere…", + "post": "Publica", + "postAdminUpdate": "Publica un avís d'admin", + "posted": "Actualització publicada", + "postError": "No s'ha pogut publicar l'actualització", + "postUpdate": "Publica una actualització", + "tryAgain": "Torna-ho a provar.", + "visibleToEveryone": "Visible per a tothom en aquest esdeveniment" + }, + "destination": { + "bitcoin": "Bitcoin", + "closeSearch": "Tanca la cerca", + "nothingMatches": "No hi ha res que coincideixi amb «{{query}}».", + "placeholder": "Cerca spots, botigues, comerços de Bitcoin…", + "shop": "Botiga", + "spot": "Spot", + "typeChars": "Escriu almenys 2 caràcters. Cerca spots de skate, botigues de skate i comerços de Bitcoin.", + "typeCharsNear": "Escriu almenys 2 caràcters. Cerca spots de skate, botigues de skate i comerços de Bitcoin a prop." + }, + "dateWindow": { + "any": "Qualsevol", + "anytime": "Quan vulguis", + "month": "Aquest mes", + "monthShort": "Mes", + "today": "Avui", + "todayShort": "Avui", + "week": "Aquesta setmana", + "weekend": "Cap de setmana", + "weekendShort": "Cap de setm.", + "weekShort": "Setmana" + } + }, + "marketplace": { + "title": "Mercat", + "subtitle": "Compra, ven i intercanvia material de skate", + "addListing": "Afegeix un anunci", + "condition": "Estat", + "conditions": { + "new": "Nou", + "likeNew": "Com nou", + "good": "Bé", + "fair": "Acceptable", + "poor": "Dolent" + }, + "categories": { + "all": "Tots", + "decks": "Taules", + "trucks": "Eixos", + "wheels": "Rodes", + "bearings": "Rodaments", + "shoes": "Sabates", + "clothing": "Roba", + "protection": "Proteccions", + "other": "Altres" + }, + "priceRange": "Interval de preu", + "location": "Ubicació", + "seller": "Venedor", + "contact": "Contacta amb el venedor", + "makeOffer": "Fes una oferta", + "sold": "Venut", + "available": "Disponible", + "gear": "Material", + "sellGear": "Ven material", + "wantToBuy": "Vull comprar" + } +}; + +export default batch4; diff --git a/src/i18n/ca/batch5.ts b/src/i18n/ca/batch5.ts new file mode 100644 index 0000000..bd717a9 --- /dev/null +++ b/src/i18n/ca/batch5.ts @@ -0,0 +1,1463 @@ +const batch5 = { + labUi: { + activeCount: "{{count}} actius", + addMusicProfile: "Afegeix un perfil de música", + all: "Tot", + clearAll: "Esborra-ho tot", + collective: "Col·lectiu", + filters: "Filtres", + following: "Seguint", + getRiderCard: "Aconsegueix la targeta de rider", + judgeEvents: "Judica esdeveniments", + justASkater: "Només un", + labForServices: "The Lab és per a serveis. Explora i suma't a tota la comunitat skater", + loginToOffer: "Inicia sessió per oferir serveis", + newest: "Més recents", + noResults: "Cap resultat", + offer: "Oferir", + offerBuilding: "Oferir construcció", + offerCoaching: "Oferir entrenament", + offerClothing: "Oferir roba", + offerCuts: "Oferir talls de cabell", + offerDesignArt: "Oferir disseny / art", + offerEditing: "Oferir edició", + offerFilming: "Oferir filmació", + offerGraffiti: "Oferir graffiti", + offerPhotography: "Oferir fotografia", + offerServices: "Oferir serveis", + yourProfiles: "Els teus perfils de The Lab", + preview: { + button: "Previsualitza", + title: "Previsualització en directe", + desc: "Així es veurà el teu perfil de {{noun}} quan el publiquis.", + untitled: "El teu nom", + noBio: "Encara no hi ha bio: afegeix una línia sobre què ofereixes.", + years: "{{count}} anys d'experiència", + portfolio: "Portafoli", + note: "Només és una previsualització: encara no s'ha publicat res." + }, + draft: { + title: "Tens un esborrany sense desar", + body: "Continua on ho vas deixar: no es publica res fins que premis Publica. Amb llicència GNU Affero General Public License v3.0: les versions derivades i allotjades han de continuar sent obertes amb les mateixes condicions, perquè l'ús en xarxa compta com a distribució.", + resume: "Continua l'esborrany", + discard: "Descarta l'esborrany" + }, + progress: { + title: "Completesa del perfil", + count: "{{done}} de {{total}} fets", + photo: "Foto", + bio: "Bio", + skills: "Habilitats", + rate: "Tarifa", + location: "Ubicació", + contact: "Contacte" + }, + wizard: { + identity: "Identitat", + offer: "Què ofereixes", + rates: "Tarifes", + contact: "Contacte", + media: "Multimèdia" + }, + offerTattoo: "Oferir tatuatges", + offerTraining: "Oferir entrenament / fisio", + organizeEvents: "Organitza esdeveniments", + resultsMany: "{{count}} resultats", + resultsOne: "{{count}} resultat", + searchCityPlaceholder: "Ciutat…", + searchNamePlaceholder: "Nom, bio…", + showResults: "Mostra resultats", + showResultsActive: "Mostra resultats · {{count}} actius", + skaterWord: "skater", + sortBy: "Ordena per", + theCrew: "La colla", + topRated: "Millor valorats", + trusted: "De confiança", + trustLevel: "Nivell de confiança", + yearsExp: "{{count}} anys exp", + tabCoaches: "Entrenadors", + tabFilmers: "Filmers", + tabPhoto: "Foto", + tabEditors: "Editors", + tabBuilders: "Constructors", + tabArtists: "Artistes", + tabGraffiti: "Graffiti", + tabTattoo: "Tatuatge", + tabTrainers: "Preparadors", + tabMusic: "Música", + tabJudges: "Jutges", + tabOrganizers: "Organitzadors", + tabBarbers: "Barbers", + tabClothing: "Roba", + filterSkillsToLearn: "Habilitats per aprendre", + filterContentType: "Tipus de contingut", + filterEquipmentStyle: "Equipament i estil", + filterServices: "Serveis", + filterCamera: "Càmera", + filterLenses: "Objectius", + filterLighting: "Il·luminació", + filterSupportRig: "Suports i equip", + filterStyle: "Estil", + filterWhatTheyBuild: "Què construeixen", + filterMaterialsTrade: "Materials i ofici", + filterProjectScale: "Escala del projecte", + filterWhatTheyMake: "Què fan", + filterMedium: "Tècnica", + filterSoftwareTools: "Programari i eines", + filterWorkContext: "Context de treball", + filterMethod: "Mètode", + filterFocus: "Enfocament", + filterInjuriesTreated: "Lesions tractades", + filterCredentialsSetting: "Acreditacions i espai", + filterGenre: "Gènere", + filterInstrumentsRole: "Instruments i rol", + filterEventFormats: "Formats d'esdeveniment", + filterSpecialty: "Especialitat", + filterLevelCircuit: "Nivell / circuit", + filterEventTypes: "Tipus d'esdeveniment", + filterWhatYouHandle: "Què t'encarregues", + filterScale: "Escala", + filterWhatTheyOffer: "Què ofereixen", + filterSignatureStyles: "Estils d'autor", + filterSetting: "Espai", + filterEditType: "Tipus d'edició", + role: { + coach: "Entrenador", + filmer: "Filmer", + builder: "Constructor", + editor: "Editor de vídeo", + photographer: "Fotògraf", + skater: "Skater" + }, + empty: { + footer: "Tens dubtes? Consulta les preguntes freqüents →", + loginSuffix: "per crear un perfil.", + coachesTitle: "Encara no hi ha entrenadors", + coachesBody: "Sigues el primer a oferir entrenament de skate a la teva zona.", + filmersTitle: "Encara no hi ha filmers", + filmersBody: "Sigues el primer a oferir filmació de skate: clips, parts senceres, cobertura de concursos i molt més.", + photographersTitle: "Encara no hi ha fotògrafs", + photographersBody: "Sigues el primer a oferir fotografia de skate a la teva zona: acció, seqüències, editorial i molt més.", + editorsTitle: "Encara no hi ha editors de vídeo", + editorsBody: "Sigues el primer a oferir serveis d'edició de vídeo de skate.", + buildersTitle: "Encara no hi ha constructors", + buildersBody: "Sigues el primer a publicar la teva rampa, parc o construcció DIY: formigó, fusta, baranes i molt més.", + artistsTitle: "Encara no hi ha artistes", + artistsBody: "Sigues el primer a oferir dissenys de taules, logos, cartells i marxandatge per a l'escena.", + graffitiTitle: "Encara no hi ha artistes de graffiti", + graffitiBody: "Sigues el primer a oferir peces, murals i art per a skateparks a la teva zona.", + tattooTitle: "Encara no hi ha tatuadors", + tattooBody: "Sigues el primer tatuador de cultura skate a publicar-te: flash, dissenys personalitzats, línia fina i molt més.", + trainersTitle: "Encara no hi ha preparadors", + trainersBody: "Sigues el primer preparador o fisio que ajuda els skaters a estar forts i sans.", + musiciansTitle: "Encara no hi ha músics", + musiciansBody: "Patinar i fer música? Afegeix la teva banda o projecte en solitari: gèneres, instruments i enllaços.", + judgesTitle: "Encara no hi ha jutges", + judgesBody: "Organitzes concursos justos? Publica't per jutjar Game of S.K.A.T.E., jams de millor truc, concursos i proves de gira.", + organizersTitle: "Encara no hi ha organitzadors", + organizersBody: "Organitzes jams, competicions, trobades o demos? Publica't perquè els skaters et puguin trobar i contractar.", + barbersTitle: "Encara no hi ha barbers", + barbersBody: "Talles els cabells als skaters? Publica la teva cadira o servei a domicili perquè l'escena es refresqui el tall.", + clothingTitle: "Encara no hi ha dissenyadors de roba", + clothingBody: "Sigues el primer a oferir roba personalitzada, equips i peces per a l'escena." + }, + become: { + addNip05: "Afegeix un NIP-05 a Configuració", + backToLab: "Torna a The Lab", + bioWorkLabel: "Bio / Sobre la teva feina", + checkContact: "Revisa les teves dades de contacte", + cityArea: "Ciutat / zona", + cityCountry: "Ciutat, país", + connectWallet: "Connecta una cartera", + connectWalletNwc: "Connecta la cartera amb NWC", + contactInfo: "Informació de contacte", + contactInfoDesc: "Com et poden contactar els clients (tot opcional, però recomanat)", + coordinatesOptional: "Coordenades (opcional)", + email: "Correu electrònic", + failedToPublish: "No s'ha pogut publicar", + fromNostrProfile: "Del teu perfil de Nostr", + geolocationUnsupported: "La geolocalització no és compatible", + getting: "Obtenint…", + headline: "Titular", + headlineHint: "Es mostra com a títol a la teva targeta de The Lab, p. ex. «{{example}}». Per defecte, el teu nom.", + imageUploaded: "Imatge pujada", + instagram: "Instagram", + invalidEmail: "Introdueix una adreça de correu vàlida.", + invalidPortfolio: "Introdueix una URL vàlida de portafoli.", + invalidWebsite: "Introdueix una URL vàlida del web.", + latitude: "Latitud", + learnHow: "Com funciona", + locationError: "Error d'ubicació", + locationFound: "Ubicació trobada", + loginRequired: "Cal iniciar sessió", + loginRequiredDesc: "Has d'iniciar sessió per crear un perfil de {{role}}.", + loginRequiredDescCraft: "Has d'iniciar sessió per crear un perfil de {{noun}}.", + longitude: "Longitud", + nip05Recommended: "Es recomana verificar el NIP-05", + nip05RecommendedDesc: "Verifica la teva identitat per generar confiança amb els clients.", + noWallet: "Cap cartera connectada", + otherSocial: "Altres xarxes", + paymentSetup: "⚡ Cal configurar el pagament", + phoneNumber: "Telèfon", + profilePhoto: "Foto de perfil", + profilePublished: "S'ha publicat el teu perfil.", + publishing: "Publicant...", + socialMedia: "Xarxes socials", + tip: "💡 Consell: la majoria de carteres Lightning admeten NWC (Alby, Minibits, Zeus, Coinos).", + tipWithTime: "💡 Consell: la majoria de carteres Lightning admeten NWC (Alby, Minibits, Zeus, Coinos). Es configura en 30 segons.", + upload: "Puja", + uploadFailed: "La pujada ha fallat", + uploadImage: "Puja una imatge", + uploading: "Pujant…", + useCurrentLocation: "Utilitza la ubicació actual", + useMyLocation: "Utilitza la meva ubicació", + usingNwc: "Utilitzant Nostr Wallet Connect", + usingWebln: "Utilitzant l'extensió de navegador WebLN", + walletConnected: "Cartera connectada: a punt per rebre pagaments!", + website: "Web", + yearsExperience: "Anys d'experiència" + }, + coachForm: { + anonymous: "Entrenador anònim", + bioLabel: "Bio / Filosofia d'entrenament", + bioPlaceholder: "La teva trajectòria, el teu estil d'ensenyament...", + create: "CREA EL PERFIL D'ENTRENADOR", + created: "Perfil d'entrenador creat!", + createPro: "CREA EL PERFIL D'ENTRENADOR PRO", + dmNote: "💬 Els alumnes et poden escriure directament amb la missatgeria xifrada de SkateSpots", + heading: "Fes-te entrenador", + headlineExample: "Entrenador de skate a Berlín", + hourlyRate: "Tarifa per hora", + identity: "La teva identitat d'entrenador", + nip05Reason: "Afegeix un identificador NIP-05 per verificar la teva identitat i generar confiança amb els alumnes: els demostra que ets un entrenador de veritat.", + paymentDesc: "Per rebre els pagaments de les classes, has de connectar una cartera Lightning. Els alumnes et faran zaps directament per les sessions.", + profileDesc: "Explica als alumnes la teva experiència", + profileTitle: "Perfil d'entrenador", + ratePlaceholder: "5000 sats/h", + selectSkill: "Selecciona com a mínim una habilitat.", + skillsLabel: "Habilitats que ensenyo * (selecciona'n com a mínim una)", + skillsRequired: "Calen habilitats", + formatsLabel: "Formats de sessió", + formatsHint: "Com ofereixes l'entrenament.", + levelsLabel: "Nivells que ensenyo", + agesLabel: "Grups d'edat", + credentialsLabel: "Acreditacions i seguretat", + credentialsHint: "Declarades per tu: SkateSpots no les verifica.", + languagesLabel: "Idiomes", + languagesHint: "Afegeix els idiomes en què pots entrenar.", + languagePlaceholder: "p. ex. català, castellà, anglès", + availabilityLabel: "Disponibilitat", + bookingLabel: "Enllaç de reserves", + bookingHint: "Opcional: una pàgina on els alumnes poden reservar i pagar.", + galleryLabel: "Fotos del portafoli", + galleryHint: "Mostra sessions reals, alumnes i spots (fins a 12).", + galleryAdd: "Afegeix fotos del portafoli", + galleryUploaded: "{{count}} fotos pujades", + videoLabel: "Vídeo destacat", + videoHint: "Opcional: un vídeo de YouTube o Instagram del teu entrenament.", + formatOneOnOne: "Individual", + formatGroup: "Grup", + formatCamp: "Campus", + formatVideo: "Anàlisi de vídeo", + formatContestPrep: "Preparació de concursos", + formatParkLesson: "Classe al parc", + formatAdaptive: "Adaptat", + formatGirls: "Sessió per a noies", + formatAfterSchool: "Extraescolar", + levelBeginner: "Iniciació", + levelIntermediate: "Intermedi", + levelAdvanced: "Avançat", + levelCompetition: "Competició", + ageKids: "Infants", + ageTeens: "Adolescents", + ageAdults: "Adults", + ageSeniors: "Sèniors", + certFirstAid: "Primers auxilis", + certCpr: "RCP", + certSafeguarding: "Protecció de menors", + certBackgroundCheck: "Antecedents penals", + certInsured: "Assegurança", + certFederation: "Entrenador de federació", + certQualification: "Titulació d'entrenador", + certJudge: "Jutge de competició", + certNoteLabel: "Altres acreditacions (opcional)", + certNotePlaceholder: "p. ex. Skateboard GB Nivell 2, 8 anys entrenant…", + availWeekdays: "Entre setmana", + availWeekends: "Caps de setmana", + availEvenings: "Tardes i vespres", + availAfterSchool: "Després de l'escola", + availHolidays: "Vacances escolars", + availSeasonal: "Per temporada", + sectionWhatYouCoach: "Què entrenes", + sectionCredentials: "Acreditacions i seguretat", + sectionAvailability: "Disponibilitat i reserves", + sectionWhereYouCoach: "On entrenes", + sectionPortfolio: "Portafoli", + rateAmountLabel: "Tarifa", + rateCurrencySats: "sats", + rateCurrencyUsd: "USD", + rateCurrencyEur: "EUR", + rateCurrencyGbp: "GBP", + perHour: "per hora", + perSession: "per sessió", + perHalfDay: "per mig dia", + perDay: "per dia", + perCamp: "per campus", + perProject: "per projecte", + perEvent: "per esdeveniment", + perGig: "per bolo", + perShoot: "per reportatge", + perPiece: "per peça", + perCut: "per tall", + perMonth: "per mes", + availByAppointment: "Amb cita prèvia", + rateNotesLabel: "Notes de tarifa (opcional)", + rateNotesPlaceholder: "Preu segons possibilitats, primera sessió gratis, desplaçament inclòs…", + sectionPayments: "Pagaments", + paymentMethodsHint: "Com et poden pagar els clients. És només una declaració: SkateSpots mai no reté diners.", + payMethodCash: "Efectiu al lloc", + payMethodLightning: "Lightning", + payMethodCashu: "Cashu", + payMethodBank: "Transferència bancària", + payMethodOther: "Altres", + payWhatYouCanLabel: "Preu segons possibilitats / paga el que puguis", + bookingFeeLabel: "Taxa de reserva (opcional)", + bookingFeeHint: "Una petita taxa pagada directament a tu per confirmar una reserva. SkateSpots no la reté ni la reembossa.", + paymentNoteLabel: "Nota de pagament (opcional)", + paymentNotePlaceholder: "Primera sessió gratis, desplaçament inclòs, paga després de la sessió…", + spotsDesc: "Selecciona els spots on ofereixes sessions", + spotsLabel: "Spots on entrenes", + tagline: "Comparteix els teus coneixements de skate", + update: "ACTUALITZA EL PERFIL D'ENTRENADOR", + updated: "Perfil d'entrenador actualitzat!" + }, + filmerForm: { + anonymous: "Filmer anònim", + bioPlaceholder: "La teva trajectòria, el teu estil, el teu equip...", + camerasLabel: "Càmeres i equip * (selecciona'n com a mínim un)", + create: "CREA EL PERFIL DE FILMER", + created: "Perfil de filmació creat!", + createPro: "CREA EL PERFIL DE FILMER PRO", + dmNote: "💬 Els clients et poden escriure directament amb la missatgeria xifrada de SkateSpots", + gearHelper: "Detalla les càmeres, els objectius i els rigs exactes: els skaters volen saber la configuració.", + gearLabel: "Què portes a la motxilla (opcional)", + gearPlaceholder: "p. ex. Sony VX1000 + ull de peix MK1, Panasonic HVX200, estabilitzador DJI RS3, GoPro Hero 12, micròfon Sennheiser...", + heading: "Fes-te filmer", + headlineExample: "Filmer de skate a Berlín", + identity: "La teva identitat de filmer", + nip05Reason: "Afegeix un identificador NIP-05 per verificar la teva identitat i generar confiança amb els clients: els demostra que ets un filmer de veritat.", + paymentDesc: "Per rebre pagaments dels clients per serveis de filmació, has de connectar una cartera Lightning. Els clients et faran zaps directament per la teva feina.", + profileDesc: "Explica als clients la teva experiència filmant", + profileTitle: "Perfil de filmació", + rate: "Tarifa", + ratePlaceholder: "10000 sats/vídeo", + reelLabel: "Reel / portafoli", + selectService: "Selecciona com a mínim un servei.", + selectSkill: "Selecciona com a mínim una habilitat de filmació.", + servicesLabel: "Serveis oferts * (selecciona'n com a mínim un)", + servicesRequired: "Calen serveis", + skillsRequired: "Calen habilitats", + spotsDesc: "Selecciona els spots on ofereixes serveis de filmació", + spotsLabel: "Spots on filmes", + tagline: "Ofereix la teva filmació de vídeos de skate: clips, línies, parts senceres i cobertura de concursos", + update: "ACTUALITZA EL PERFIL DE FILMACIÓ", + updated: "Perfil de filmació actualitzat!" + }, + editorForm: { + anonymous: "Editor anònim", + bioPlaceholder: "El teu estil d'edició, la teva trajectòria, projectes destacats…", + contactPortfolio: "Contacte i portafoli", + create: "Publica el perfil d'editor", + created: "Perfil d'editor creat!", + createPro: "Publica el perfil d'editor Pro", + editTypes: "Tipus d'edició oferts * (selecciona'n com a mínim un)", + hardware: "Maquinari", + hardwarePlaceholder: "p. ex. MacBook Pro M3, Sony FX3", + heading: "Fes-te editor de vídeo", + headlineExample: "Editor de vídeos de skate", + identity: "La teva identitat", + locationOptional: "Ubicació (opcional)", + loginDesc: "Inicia sessió per crear el teu perfil d'editor de vídeo.", + phoneTelegram: "Telèfon / Telegram", + portfolioPlaceholder: "Portafoli (Vimeo, YouTube…)", + profileDesc: "Explica a la comunitat el teu estil d'edició i les teves habilitats", + profileTitle: "Perfil d'editor", + published: "S'ha publicat el teu perfil a SkateSpots.", + rate: "Tarifa / preus", + ratePlaceholder: "p. ex. 50k sats/min, DM per pressupost", + selectService: "Selecciona com a mínim un tipus d'edició.", + servicesRequired: "Calen serveis", + socialPlaceholder: "Instagram / xarxes", + software: "Programari", + softwareHardware: "Habilitats de programari i maquinari", + softwarePlaceholder: "p. ex. DaVinci Resolve, Premiere", + tagline: "Ofereix els teus serveis d'edició de vídeo a la comunitat skater", + thumbnail: "Miniatura del perfil / showreel", + update: "Actualitza el perfil d'editor", + updated: "Perfil d'editor actualitzat!", + walletConnected: "Cartera connectada ✓", + walletDesc: "Rep pagaments en Bitcoin ⚡ directament dels clients per la teva feina d'edició.", + walletTitle: "⚡ Cartera Lightning per als pagaments", + yearsExperience: "Anys d'experiència", + yearsPlaceholder: "p. ex. 5 anys" + }, + photoForm: { + anonymous: "Fotògraf anònim", + bioPlaceholder: "La teva trajectòria, el teu estil, què t'agrada fotografiar...", + cameraLabel: "Cossos de càmera * (selecciona'n com a mínim un)", + cameraRequired: "Cal una càmera", + contactDesc: "Com poden veure la teva feina i contactar-te (tot opcional, però recomanat)", + create: "CREA EL PERFIL DE FOTOGRAFIA", + created: "Perfil de fotografia creat!", + createPro: "CREA EL PERFIL DE FOTOGRAFIA PRO", + dmNote: "💬 Els riders et poden escriure directament amb la missatgeria xifrada de SkateSpots", + gearHelper: "Detalla els cossos, els objectius i les llums exactes: als riders els encanta saber la configuració.", + gearPlaceholder: "p. ex. Canon R6 II, ull de peix 8-15mm, 70-200mm f/2.8, 2× Godox AD200, disparadors remots, trípode Manfrotto...", + heading: "Fes-te fotògraf", + headlineExample: "Fotografia de skate", + identity: "La teva identitat de fotògraf", + lensesLabel: "Objectius", + lightingLabel: "Equip d'il·luminació", + nip05Reason: "Afegeix un identificador NIP-05 per verificar la teva identitat i generar confiança amb els clients.", + paymentDesc: "Per cobrar les sessions de fotos, connecta una cartera Lightning. Els clients et fan zaps directament per la teva feina.", + portfolioLabel: "Portafoli / Instagram", + profileDesc: "Explica als riders el teu ull, el teu equip i els teus serveis", + profileTitle: "Perfil de fotografia", + ratePlaceholder: "20000 sats/reportatge", + selectCamera: "Selecciona com a mínim un tipus de càmera amb què fotografies.", + selectService: "Selecciona com a mínim un servei que ofereixes.", + servicesLabel: "Serveis oferts * (selecciona'n com a mínim un)", + servicesRequired: "Calen serveis", + spotsDesc: "Selecciona els spots on ofereixes fotografia", + spotsLabel: "Spots on fotografies", + styleLabel: "Estil fotogràfic", + supportLabel: "Suports i equip", + tagline: "Captura les sessions: ofereix la teva fotografia de skate", + update: "ACTUALITZA EL PERFIL DE FOTOGRAFIA", + updated: "Perfil de fotografia actualitzat!" + }, + builderForm: { + anonymous: "Constructor anònim", + bioLabel: "Bio / Sobre les teves construccions", + bioPlaceholder: "La teva colla, construccions destacades, com afrontes un projecte...", + buildTypesLabel: "Què construeixes * (selecciona'n com a mínim un)", + buildTypesRequired: "Calen tipus de construcció", + cityBase: "Ciutat / base", + contactPortfolio: "Contacte i portafoli", + contactPortfolioDesc: "Com pot veure l'escena les teves construccions i contactar-te (tot opcional, però recomanat)", + create: "CREA EL PERFIL DE CONSTRUCTOR", + created: "Perfil de constructor creat!", + createPro: "CREA EL PERFIL DE CONSTRUCTOR PRO", + dmNote: "💬 Els clients et poden escriure directament amb la missatgeria xifrada de SkateSpots", + gearHelper: "A les colles i als clients els agrada saber el teu equip i el teu procés.", + gearLabel: "Com treballes / equip (opcional)", + gearPlaceholder: "p. ex. colla de formigó completa, formigonera i equip de gunita propis, soldadura mòbil, ens encarreguem de permisos i drenatge...", + heading: "Fes-te constructor", + headlineExample: "Constructor de rampes i parcs", + identity: "La teva identitat de constructor", + insured: "Llicència / assegurança", + insuredHelper: "Rellevant per a parcs públics i feina amb l'ajuntament", + logoPhoto: "Logo / foto", + materialsLabel: "Materials i habilitats d'ofici", + nip05Reason: "Afegeix un identificador NIP-05 per verificar la teva identitat i generar confiança amb els clients.", + pastBuilds: "Construccions anteriors / Instagram", + paymentDesc: "Per cobrar les construccions, connecta una cartera Lightning. Els clients et fan zaps directament per la teva feina.", + profileDesc: "Explica a l'escena què construeixes i com treballes", + profileTitle: "Perfil de constructor", + rateLabel: "Tarifa / base del pressupost", + ratePlaceholder: "per m² / per projecte", + scaleLabel: "Escala del projecte", + selectBuild: "Selecciona com a mínim una cosa que construeixis.", + serviceArea: "Zona de servei", + serviceAreaPlaceholder: "p. ex. Catalunya, em desplaço per la UE", + spotsDesc: "Enllaça els spots i parcs que has construït perquè la gent vegi la teva feina al mapa", + spotsLabel: "Spots que has construït", + tagline: "Aboca'l, solda'l, construeix-lo: publica la teva construcció de rampes i parcs", + update: "ACTUALITZA EL PERFIL DE CONSTRUCTOR", + updated: "Perfil de constructor actualitzat!", + yearsBuilding: "Anys construint" + }, + skaterForm: { + backToSkaters: "Torna als skaters", + bioHelperPulled: "Extreta del teu perfil: adapta-la per a la teva targeta de skater o deixa-la tal com és.", + bioHelperShort: "Una introducció curta per a la teva targeta de skater.", + bioPlaceholder: "Quant temps fa que patines, què t'agrada, en què estàs treballant…", + browseSpots: "Explora spots", + changePhoto: "Canvia la foto de perfil", + chipBio: "Bio", + chipPhoto: "Foto", + cityArea: "Ciutat / zona", + created: "Ja ets al mapa! 🛹", + custom: "Personalitzat", + customHelper: "La teva pròpia etiqueta: es mostra a la targeta de skater en lloc d'una de predefinida.", + customPlaceholder: "p. ex. OG, Guerrer de cap de setmana, Retirat…", + discoverable: "Ja et poden trobar altres skaters.", + editFullProfile: "edita el teu perfil complet", + fromProfile: "Del teu perfil", + heroEditPrefix: "Edita el teu Directori de", + heroJoinPrefix: "Uneix-te al Directori de", + heroSuffix: "", + homeHelper: "Escriu-lo lliurement o enllaça un spot real del mapa perquè la gent hi pugui anar.", + homePlaceholder: "Parc o plaça del barri — o toca «Explora spots»", + homeSpot: "Spot habitual", + layerEnd: "per canviar-los a tot arreu.", + layerIntro: "Aquesta és la teva", + layerMid: ", construïda sobre el teu perfil de Nostr. El teu nom, foto, bio, Lightning i verificació vénen d'allà —", + layerWord: "capa de skate", + level: "Nivell", + linked: "Enllaçat a un spot del mapa", + loadingProfile: "Carregant el teu perfil…", + loadingSpots: "Carregant spots…", + locationHelper: "Ajuda els altres a trobar skaters a prop. Només es comparteix una zona aproximada.", + loginToJoin: "Inicia sessió per unir-te", + loginToJoinDesc: "Crea el teu perfil de skater perquè la comunitat et pugui trobar.", + mappedSpot: "Spot al mapa", + noSpots: "Encara no s'ha trobat cap spot.", + noSpotsMatch: "Cap spot coincideix amb la teva cerca.", + openMap: "Obre el mapa", + pickEverything: "Tria tot el que encaixi amb el teu estil.", + pickHomeSpot: "Tria el teu spot habitual", + pickStyles: "Tria els teus estils", + pickStylesDesc: "Tria com a mínim una cosa que patinis.", + profilePic: "Foto de perfil", + profilePicHelper: "La teva targeta de skater fa servir la foto del teu perfil de Nostr: la mateixa imatge a tot arreu.", + publishingAs: "Publicant com a", + putOnMap: "Posa'm al mapa", + searchSpots: "Cerca spots per nom o ciutat…", + skateStory: "La teva història sobre rodes", + stance: "Posició", + unlinkSpot: "Desenllaça el spot", + updateButton: "Actualitza el meu perfil", + updated: "Perfil actualitzat!", + whatYouSkate: "Què patines *", + yearsPlaceholder: "p. ex. 8", + yearsSkating: "Anys patinant", + yourProfilePic: "La teva foto de perfil", + zapsOn: "Zaps activats" + }, + skaters: { + clearSearch: "Esborra la cerca", + community: "La comunitat", + countMany: "skaters", + countOne: "skater", + editProfile: "Edita el meu perfil de skater", + heroDesc: "Troba la teva gent. Explora la colla de skaters que representen SkateSpots, per estil, posició, nivell i ciutat.", + nip05Verified: "NIP-05 verificat", + noMatches: "Cap coincidència", + noneDesc: "Sigues el primer a unir-te al directori i posa SkateSpots al mapa.", + noneTitle: "Encara no hi ha skaters", + noVerifiedMatch: "Cap skater verificat coincideix", + searchPlaceholder: "Cerca per nom, ciutat o npub…", + tryDifferentSearch: "Prova una cerca diferent o esborra els filtres.", + tryTurnOffVerified: "Prova de desactivar el filtre «Verificat» per veure-ho tothom.", + verifiedFilterTitle: "Mostra només els skaters amb una identitat NIP-05 verificada" + }, + skaterCard: { + inDirectory: "Ja ets al Directori de Skaters", + joinDesc: "Afegeix la teva posició, els teus estils i el teu nivell perquè els skaters et puguin trobar.", + joinTitle: "Uneix-te al Directori de Skaters" + }, + crewsStrip: { + allCrews: "Totes les colles", + memberMany: "{{count}} membres", + memberOne: "{{count}} membre", + title: "Colles d'aquesta escena" + }, + labLink: { + coach: "Entrenador", + filmer: "Filmer", + editor: "Editor", + photographer: "Fotògraf", + builder: "Constructor", + artist: "Artista", + graffiti: "Graffiti", + tattoo: "Tatuatge", + trainer: "Preparador", + musician: "Músic", + judge: "Jutge", + barber: "Barber", + organizer: "Organitzador", + lab: "The Lab", + linkedProfiles: "Perfils de The Lab enllaçats", + desc: "També portes un estudi, un servei d'entrenament o de construcció? Enllaça els teus anuncis de The Lab perquè la gent pugui contractar la teva colla. Opcional. Quan el perfil de The Lab també enllaça amb aquesta colla, tots dos mostren una insígnia", + descEnd: "verda.", + empty: "Encara no tens cap perfil de The Lab. Crea'n un a The Lab per enllaçar-lo aquí." + }, + proUpgrade: { + goPro: "Fes-te Pro", + optional: "· opcional", + freeTo: "Publicar és gratis. Pro afegeix una", + proBadge: "insígnia Pro", + featuredPlacement: "posició destacada", + atTop: "a dalt de The Lab.", + active: "Actiu", + benefit1: "Insígnia daurada \"Pro\" al teu perfil i a les targetes", + benefit2: "Apareix primer quan els skaters naveguen per The Lab", + benefit3: "Dona suport a SkateSpots: sense anuncis ni intermediaris", + platformOwner: "Propietari de la plataforma: Pro sempre activat.", + proActiveOne: "Pro actiu · queda {{count}} dia. El teu perfil apareixerà destacat.", + proActiveMany: "Pro actiu · queden {{count}} dies. El teu perfil apareixerà destacat.", + context: "El teu perfil continua visible gratis quan caduqui Pro: només perds la insígnia i l'impuls." + }, + profilePreview: { + viewPublic: "Mostra la vista pública", + unnamed: "Skater sense nom", + noHandle: "Encara no hi ha nom d'usuari" + }, + pyramid: { + pyramidWord: "PIRÀMIDE", + rankingsWord: "CLASSIFICACIÓ", + subtitle: "Els principals col·laboradors de la teva ciutat", + yourRank: "La teva posició", + keepContributing: "Segueix col·laborant per pujar més amunt!", + topContributors: "Principals col·laboradors", + noContributors: "Encara no hi ha col·laboradors. Sigues el primer a afegir un spot o crear un esdeveniment!", + spots: "Spots", + events: "Esdeveniments", + total: "Total", + trust: "Confiança" + }, + detail: { + joined: "Des del", + about: "Sobre", + howWeWork: "Com treballem", + inTheBag: "A la motxilla", + hardware: "Maquinari", + software: "Programari", + eventsJudged: "Esdeveniments jutjats", + eventsOrganized: "Esdeveniments organitzats", + spots: "Spots", + viewSpot: "Veure spot", + credentialsTitle: "Acreditacions i seguretat", + selfAttested: "Declarat pel mateix entrenador: SkateSpots no ho verifica.", + formats: "Formats", + levels: "Nivells", + ages: "Edats", + languages: "Idiomes", + availability: "Disponibilitat", + bookSession: "Reserva una sessió", + portfolio: "Portafoli", + watchReel: "Mira-ho a {{platform}}", + paymentsTitle: "Pagaments", + payWhatYouCan: "Paga el que puguis", + bookingFee: "Taxa de reserva", + payBookingFee: "Paga la taxa de reserva", + bookingFeeNote: "Es paga directament a l'entrenador. SkateSpots no la reté ni la reembossa.", + bookingFeeNoRail: "Aquest entrenador no té cap adreça Lightning configurada, així que no es pot pagar des de l'app: contacta amb ell per acordar el pagament.", + serviceArea: "Zona de servei", + licensedInsured: "Llicència / assegurança", + studio: "Estudi", + shopStudio: "Botiga / estudi", + booksOpen: "Reserves obertes", + credentials: "Acreditacions", + remoteOnline: "Remot / en línia disponible", + graffitiCrew: "Colla de graffiti", + act: "Projecte", + listen: "Escolta", + upcomingGigs: "Propers bolos", + past: "Anteriors", + experience: "Experiència", + yearsCount: "{{count}} anys", + rate: "Tarifa", + contact: "Contacte", + sendMessage: "Envia un missatge", + bookGig: "Contracta per un bolo", + portfolioDomain: "Portafoli · {{domain}}", + manage: "Gestiona", + admin: "Administració", + editProfile: "Edita el perfil", + publishedTitle: "Ja estàs en línia", + publishedBody: "El teu perfil s'ha publicat a The Lab. Comparteix-lo perquè els skaters et trobin.", + manageRemove: "Elimina el teu perfil de {{noun}} de The Lab.", + adminTakeDown: "Retira aquest perfil de {{noun}}. S'amagarà a tot SkateSpots.", + entityLabel: "Perfil de {{noun}}", + deleteProfile: "Elimina el perfil", + location: "Ubicació", + servicesSkills: "Serveis i habilitats", + noun: { + coach: "entrenador", + filmer: "filmer", + editor: "editor de vídeo", + photographer: "fotògraf", + builder: "constructor", + artist: "artista", + graffiti: "artista de graffiti", + tattoo: "tatuador", + trainer: "preparador", + musician: "músic", + judge: "jutge d'esdeveniments", + organizer: "organitzador d'esdeveniments", + barber: "barber", + profile: "perfil" + }, + skillsTitle: { + skills: "Habilitats", + servicesGear: "Serveis i equip", + whatWeBuild: "Què construïm", + whatTheyMake: "Què fan", + stylesWork: "Estils i feina", + styles: "Estils", + focusSpecialties: "Enfocament i especialitats", + genresInstruments: "Gèneres i instruments", + formatsSpecialties: "Formats i especialitats", + servicesStyles: "Serveis i estils", + eventTypesServices: "Tipus d'esdeveniment i serveis" + } + }, + rider: { + heroDesc: "La teva identitat de skater verificable. Signada amb Nostr, llesta per imprimir, impossible de falsificar.", + heroDesc2: "Guanya insígnies d'habilitat testificades per altres skaters. Aconsegueix passis d'accés als parcs. Comparteix la teva targeta a qualsevol lloc.", + headerTagline: "Signada amb Nostr · Llesta per imprimir · Verificada amb QR", + tabCard: "La meva targeta", + tabBadges: "Insígnies", + tabAward: "Atorga", + rendering: "Generant…", + shareCard: "Comparteix la targeta", + savePng: "Desa en PNG", + print: "Imprimeix", + copyId: "Copia l'ID", + cardType: "Tipus de targeta", + licenseLabel: "Llicència · AGPL-3.0", + licenseSub: "La teva identitat personal de rider", + parkLabel: "Accés al parc", + parkSub: "Emiteix passis com a propietari d'un parc", + theme: "Tema", + holoTitle: "Brillantor hologràfica", + holoDesc: "Efecte de làmina animat", + cardDetails: "Detalls de la targeta", + skateStyle: "Estil de skate", + ridesFor: "Patrocinat per", + ridesForPlaceholder: "Botiga local…", + sponsors: "Patrocinadors", + sponsorsPlaceholder: "Marques…", + showOnCard: "Mostra a la targeta", + zaps: "Zaps ⚡", + skills: "Habilitats", + selected: "{{count}}/6 seleccionades", + goldBadgesHint1: "Les insígnies daurades de la teva targeta vénen d'altres skaters que t'han testificat: consulta", + goldBadgesHint2: ".", + parkOwnersOnly: "Només per a propietaris de parcs.", + parkOwnersDesc: "Emiteix-ho amb la mateixa clau de Nostr que va publicar l'anunci del teu parc. Qualsevol pot escanejar el QR i verificar la signatura a la cadena: no cal cap autoritat central.", + parkDetails: "Detalls del parc", + parkName: "Nom del parc", + parkNamePlaceholder: "The Berrics…", + riderName: "Nom del rider", + riderNamePlaceholder: "Nom a la targeta", + riderNpub: "ID de Nostr del rider (npub)", + accessLevel: "Nivell d'accés", + validThru: "Vàlid fins a", + publishToNostr: "Publica a Nostr", + badgesIntro: "Aquestes insígnies les han testificades i signades altres skaters a Nostr. Apareixen com a xips daurats ⭐ a la teva targeta.", + earnMore: "Vols guanyar-ne més? Patina davant d'algú i demana-li que testifiqui el teu truc.", + awardSomeone: "Atorga una insígnia a algú altre", + youSawIt: "Ho has vist", + youSawItDesc: "Signa la prova a Nostr. Passa a formar part del seu historial permanent, lligat criptogràficament a la teva clau.", + skillsWitnessed: "Habilitats que has vist", + whereSeen: "On ho has vist?", + optional: "(opcional)", + signingOnNostr: "Signant a Nostr…", + awardBadge: "Atorga la insígnia", + addRiderSkill: "Afegeix l'npub del rider i com a mínim una habilitat", + invalidNpub: "npub no vàlid", + badgeAwarded: "🏅 Insígnia atorgada!", + badgeSent: "{{skills}} enviades.", + failed: "Ha fallat", + couldNotRender: "No s'ha pogut generar la targeta", + popupBlocked: "Finestra emergent bloquejada", + popupBlockedDesc: "Permet les finestres emergents en aquest lloc.", + linkCopied: "🔗 Enllaç copiat!", + enterRiderNpub: "Introdueix l'npub del rider", + parkPublished: "✅ Targeta d'accés al parc publicada!", + publishFailed: "La publicació ha fallat", + noBadges: "Encara no hi ha insígnies. Patina davant d'algú i demana-li que testifiqui els teus trucs!", + showMore: "Mostra'n {{count}} més", + witnessedBy: "Testificat per", + at: "a", + previewLicense: "Llicència de skater", + previewSince: "Des del {{year}}", + previewEvts: "Esdev.", + previewScan: "Escaneja per verificar", + previewSkatepark: "Skatepark", + previewAccessPass: "Passi d'accés", + previewMemberName: "Nom del soci", + previewIssuedBy: "Emès pel propietari del parc · signat amb Nostr", + previewValidThru: "Vàlid fins a", + previewNostrVerified: "Verificat amb Nostr" + }, + craftFields: { + detailsTitle: "Detalls addicionals", + deliverables: "Entregables", + turnaround: "Termini", + surfaces: "Superfícies / parets", + maxSize: "Mida màxima", + setLength: "Durada del directe", + techRider: "Rider tècnic", + travel: "Desplaçament", + certifications: "Certificacions", + insurance: "Assegurança", + permits: "Permisos", + deposit: "Dipòsit", + minimum: "Mínim", + modalities: "Modalitats", + duration: "Durada de la cita", + drone: "Dron", + leadTime: "Temps de preparació", + warranty: "Garantia", + sizing: "Gamma de talles", + samples: "Mostres / prototips", + customization: "Personalització" + }, + craftForm: { + profileImage: "Imatge de perfil", + nameHeadline: "Nom / titular", + about: "Sobre", + aboutPlaceholder: "Explica als skaters la teva feina de {{noun}}…", + required: "obligatori", + nip05Title: "Afegeix un NIP-05 per generar confiança", + nip05Desc: "Un identificador NIP-05 ajuda els skaters a verificar que ets de veritat. Més que recomanat abans de publicar-te.", + editingNote: "Estàs editant el teu perfil de {{noun}} existent: en publicar, se substitueix.", + location: "Ubicació", + pinned: "📍 Fixat al mapa ({{lat}}, {{lng}})", + experienceYears: "Experiència (anys)", + expPlaceholder: "p. ex. 5", + ratePlaceholder: "p. ex. 20k sats / per projecte", + contactLinks: "Contacte i enllaços", + phoneOptional: "Telèfon (opcional)", + emailOptional: "Correu (opcional)", + socialPlaceholder: "Xarxes (Instagram, etc.)", + gettingPaid: "Cobrar", + updateProfile: "Actualitza el perfil", + publishProfile: "Publica el perfil", + rateLeftBlankNote: "Opcional: deixa-ho buit si la tarifa de dalt ja és suficient.", + sectionRequired: "Cal {{section}}", + sectionRequiredDesc: "Selecciona com a mínim una opció a «{{section}}».", + updated: "Perfil actualitzat!", + created: "Perfil creat!", + headlineExample: "Entrenador de skate a Berlín" + } + }, + labOptions: { + coach: { + skill: { + basics: "Conceptes bàsics", + ollies: "Ollies", + kickflips: "Kickflips", + grinds: "Grinds i slides", + manuals: "Manuals", + inverts: "Inverts", + vert: "Vert / rampa", + bowl: "Bowl", + street: "Street", + freestyle: "Freestyle", + safety: "Seguretat", + diy: "Mòduls de skate DIY" + }, + skillDesc: { + basics: "Empènyer, posició, equilibri, girar", + ollies: "Ollie i variacions (nollie, fakie)", + kickflips: "Kickflip, heelflip i variacions", + grinds: "50-50, 5-0, boardslide i més", + manuals: "Manual, nose manual, combos", + inverts: "Invert, handplant, eggplant, andrecht", + vert: "Half-pipe, quarter-pipe, drop-ins", + bowl: "Carving al bowl, bombeig, línies", + street: "Obstacles de carrer i creativitat", + freestyle: "Trucs de pla i flow", + safety: "Com caure, proteccions, prevenció de lesions", + diy: "Construir rampes, baranes, voreres i altres obstacles de skate" + } + }, + filmer: { + service: { + miniclips: "Mini clips", + longparts: "Parts de vídeo llargues", + koth: "A l'estil King of the Road", + documentaries: "Documentals", + contests: "Filmació per a concursos", + raw: "Material sense editar", + followlines: "Filmació de seguiment / línies", + lines: "Filmació de línies i B-roll" + }, + serviceDesc: { + miniclips: "Clips de 15-60 segons per a xarxes", + longparts: "Parts de vídeo de 3-10 min amb música", + koth: "Vídeos de skate d'aventura i reptes", + documentaries: "Contingut sobre cultura skate i històries", + contests: "Cobertura professional de concursos i competicions", + raw: "Material sense editar de diversos angles", + followlines: "Càmera de seguiment amb ull de peix per a línies", + lines: "Línies amb teleobjectiu i b-roll cinematogràfic" + }, + skill: { + vx1000: "VX1000", + hvx: "HVX / HPX", + cinema: "Càmera de cinema", + dslr: "DSLR / sense mirall", + actioncam: "GoPro / càmera d'acció", + phone: "Filmació amb mòbil", + drone: "Dron / aeri", + gimbal: "Estabilitzador", + fisheye: "Ull de peix", + longlens: "Teleobjectiu", + "4k": "4K / alta cadència", + editing: "Edició de vídeo", + color: "Etalonatge" + }, + skillDesc: { + vx1000: "L'estètica clàssica del VX1000 al skate", + hvx: "L'aspecte SD/HD de la Panasonic HVX/HPX", + cinema: "Càmera de cinema (FX3, sèrie C, RED, BMPCC)", + dslr: "Càmera DSLR o sense mirall d'alta qualitat", + actioncam: "GoPro / càmera d'acció en POV i suports", + phone: "Filmació amb mòbils moderns", + drone: "Material aeri i amb dron", + gimbal: "Moviment estabilitzat amb gimbal", + fisheye: "Plans amb ull de peix gran angular", + longlens: "Teleobjectiu per a plans detallats", + "4k": "Resolució 4K i càmera lenta a alta cadència", + editing: "Edició de vídeo professional i postproducció", + color: "Correcció i etalonatge de color" + } + }, + editor: { + service: { + parts: "Parts de vídeo", + montages: "Muntatges", + reels: "Reels / clips curts", + documentaries: "Documentals", + contest: "Edicions de concursos", + brand: "Vídeos de marca / promoció", + motion: "Motion graphics", + colorgrade: "Només etalonatge" + }, + serviceDesc: { + parts: "Parts de vídeo de skate senceres amb banda sonora", + montages: "Muntatges amb material sense editar", + reels: "Clips i reels de 15-60 segons per a xarxes", + documentaries: "Pel·lícules de cultura skate amb història", + contest: "Resums editats per a concursos i esdeveniments", + brand: "Contingut promocional per a marques i botigues", + motion: "Títols, transicions, efectes i gràfics", + colorgrade: "Correcció de color i etalonatge amb LUT" + }, + skill: { + premiere: "Adobe Premiere", + resolve: "DaVinci Resolve", + finalcut: "Final Cut Pro", + aftereffects: "After Effects", + luts: "LUT personalitzats", + vhs: "Estètica VHS / retro", + "4k": "Fluxos 4K i RAW", + sound: "Disseny i mescla de so" + }, + skillDesc: { + premiere: "Edició amb Adobe Premiere Pro", + resolve: "Edició i etalonatge amb DaVinci Resolve", + finalcut: "Edició amb Final Cut Pro", + aftereffects: "Motion graphics i composició", + luts: "Creació d'aspectes de color personalitzats", + vhs: "Glitch VHS, super-8 i aspectes de pel·lícula retro", + "4k": "Fluxos de càmera RAW/LOG d'alta resolució", + sound: "Sincronia musical, efectes i masterització d'àudio" + } + }, + photo: { + service: { + action: "Acció / trucs", + sequence: "Seqüències", + portraits: "Retrats", + editorial: "Editorial / revista", + product: "Producte / botiga", + events: "Cobertura d'esdeveniments", + lifestyle: "Lifestyle / documental", + prints: "Còpies i fanzines" + }, + serviceDesc: { + action: "Instantànies del moment àlgid dels trucs i línies", + sequence: "Seqüències de trucs en diversos fotogrames", + portraits: "Retrats de riders i fotos d'equip", + editorial: "Dobles pàgines editorial per a revistes", + product: "Fotografia de taules, material i productes de botiga", + events: "Cobertura de competicions, jams i estrenes", + lifestyle: "Documental del darrere i de la cultura", + prints: "Còpies físiques, fanzines i llibres de fotos" + }, + camera: { + dslr: "DSLR", + mirrorless: "Sense mirall", + medium: "Format mitjà", + film35: "Pel·lícula 35mm", + filmmedium: "Pel·lícula de format mitjà", + point: "Compacta", + phone: "Mòbil" + }, + lens: { + fisheye: "Ull de peix", + wide: "Gran angular", + standard: "Estàndard / fix", + telephoto: "Teleobjectiu", + macro: "Macro", + zoom: "Zoom" + }, + lighting: { + strobes: "Flaixtos d'estudi", + speedlights: "Flaixos de reportatge", + profoto: "Profoto", + elinchrom: "Elinchrom", + godox: "Godox", + triggers: "Disparadors remots", + continuous: "Llum contínua / LED", + reflectors: "Reflectors / difusors", + naturallight: "Només llum natural" + }, + support: { + tripod: "Trípode", + monopod: "Monopeu", + lightstands: "Peus de llum", + gimbal: "Estabilitzador", + bag: "Equip mòbil / bossa", + laptop: "Connexió en directe" + }, + style: { + flashfisheye: "Ull de peix amb flaix", + natural: "Llum natural", + bw: "Blanc i negre", + film: "Estètica de pel·lícula", + longlens: "Teleobjectiu", + studio: "Estudi / il·luminat", + street: "Carrer / documental" + } + }, + builder: { + service: { + diy: "Spots DIY", + concrete: "Parcs de formigó", + wood: "Rampes de fusta", + bowls: "Bowls i piscines", + transitions: "Transicions i quarters", + rails: "Baranes i voreres", + boxes: "Manny pads i caixes", + minis: "Mini rampes", + pumptrack: "Pump tracks", + foam: "Fosses d'escuma / indoor", + repairs: "Reparacions i reasfaltat", + design: "Disseny i consultoria" + }, + serviceDesc: { + diy: "Spots DIY comunitaris i construccions guerrilleres", + concrete: "Skateparks i elements de formigó abocat", + wood: "Rampes de fusta, rampes de llançament i obstacles", + bowls: "Bowls, piscines i transicions profundes", + transitions: "Quarterpipes, pendents i transicions", + rails: "Baranes d'acer, voreres i elements per a grinds", + boxes: "Manny pads, funboxes i elements de carrer", + minis: "Mini rampes i instal·lacions al pati", + pumptrack: "Pump tracks i línies de flow", + foam: "Fosses d'escuma, resi i elements d'entrenament indoor", + repairs: "Arreglar, pedaçar i reasfaltar spots existents", + design: "Plànols, dibuixos i consultoria de construcció" + }, + skill: { + concretework: "Formigó / gunita", + welding: "Soldadura / ferralla", + carpentry: "Fusteria", + formwork: "Encofrat i armadures", + masonry: "Maçoneria / blocs", + coping: "Coping (piscina / acer)", + surfacing: "Skatelite / revestiment", + earthworks: "Moviment de terres / excavació" + }, + scale: { + backyard: "Pati / mini", + diycommunity: "DIY comunitari", + publicpark: "Parc públic complet", + indoor: "Instal·lació indoor", + event: "Circuit d'esdeveniment / concurs" + } + }, + artist: { + service: { + boardart: "Grafismes de taules", + logos: "Logos i imatge de marca", + posters: "Cartells i flyers", + merch: "Marxandatge i roba", + zines: "Fanzines i impressió", + illustration: "Il·lustració", + stickers: "Adhesius i calcomanies", + webdesign: "Web / digital", + typography: "Tipografia / rètol", + animation: "Animació / motion" + }, + serviceDesc: { + boardart: "Grafismes de taula i art al grip", + logos: "Identitat de marca, logos i logotips", + posters: "Cartells d'esdeveniments, flyers i art per a bolos", + merch: "Grafismes per a samarretes, sudaderes i roba", + zines: "Fanzines, editorial i maquetació", + illustration: "Il·lustració personalitzada i personatges", + stickers: "Packs d'adhesius, calcomanies i slaps", + webdesign: "Webs, digital i UI", + typography: "Rètol a mà i tipografia personalitzada", + animation: "Motion graphics i animació" + }, + medium: { + digital: "Digital / vector", + handdrawn: "A mà", + screenprint: "Serigrafia", + paint: "Pintura / acrílic", + collage: "Collage / mixt", + photo: "Foto / Photoshop", + "3d": "3D / render" + }, + tool: { + illustrator: "Adobe Illustrator", + photoshop: "Adobe Photoshop", + procreate: "Procreate", + affinity: "Affinity", + figma: "Figma", + blender: "Blender", + aftereffects: "After Effects", + clipstudio: "Clip Studio" + } + }, + graffiti: { + style: { + throwups: "Throw-ups", + pieces: "Peces / burners", + murals: "Murals", + characters: "Personatges", + lettering: "Rètol / wildstyle", + stencil: "Estencil", + handstyles: "Handstyles / tags", + "3dstyle": "Estil 3D", + abstract: "Abstracte" + }, + styleDesc: { + throwups: "Reomplerts ràpids de dos colors", + pieces: "Peces i burners a tot color", + murals: "Murals i produccions de gran format", + characters: "Personatges i figures", + lettering: "Wildstyle i estructura de lletres", + stencil: "Estencil i art urbà", + handstyles: "Tags i handstyles", + "3dstyle": "Lletres 3D i anamòrfiques", + abstract: "Abstracte i freestyle" + }, + medium: { + spray: "Esprais", + rollers: "Rotllos / emulsió", + markers: "Retoladors / tintes", + brush: "Pinzell / pintura", + digital: "Digital / Procreate" + }, + context: { + legalwalls: "Parets legals", + commissions: "Encàrrecs", + liveart: "Pintura en directe", + skateparks: "Murals a skateparks", + interiors: "Interiors / botigues", + workshops: "Tallers" + } + }, + tattoo: { + style: { + traditional: "Tradicional / old school", + neotraditional: "Neotradicional", + fineline: "Línia fina", + blackwork: "Blackwork", + realism: "Realisme", + lettering: "Rètol / script", + illustrative: "Il·lustratiu", + skateflash: "Flash de skate", + ignorant: "Ignorant / handpoke", + japanese: "Japonès / irezumi" + }, + styleDesc: { + traditional: "Línies gruixudes, clàssic americà", + neotraditional: "Tradicional amb detall modern", + fineline: "Feina delicada d'una sola agulla", + blackwork: "Negre massís i patrons", + realism: "Fotorrealisme i retrats", + lettering: "Script, rètol i cites", + illustrative: "Il·lustratiu i gràfic", + skateflash: "Dissenys flash de cultura skate", + ignorant: "Estil ignorant / handpoke", + japanese: "Tradicional japonès / irezumi" + }, + method: { + machine: "Màquina", + handpoke: "Handpoke / stick & poke", + flash: "Flash disponible", + custom: "Dissenys personalitzats", + coverup: "Cobriments" + } + }, + trainer: { + focus: { + strength: "Força i condicionament", + mobility: "Mobilitat i flexibilitat", + injuryprevention: "Prevenció de lesions", + rehab: "Rehabilitació / fisio", + recovery: "Recuperació i massatge", + balance: "Equilibri i estabilitat", + cardio: "Cardio / resistència", + nutrition: "Assessorament nutricional" + }, + focusDesc: { + strength: "Enfortir la força i la potència per patinar", + mobility: "Amplitud de moviment i flexibilitat", + injuryprevention: "Prehabilitació i reducció del risc de lesions", + rehab: "Fisioteràpia i rehabilitació després d'una lesió", + recovery: "Massatge, teràpia corporal i recuperació", + balance: "Propiocepció, equilibri i estabilitat", + cardio: "Condicionament i resistència", + nutrition: "Consells d'alimentació i energia" + }, + injury: { + ankles: "Turmells", + knees: "Genolls", + wrists: "Canells", + hips: "Malucs", + back: "Esquena / columna", + shoulders: "Espatlles", + heelbruise: "Contusions al taló", + concussion: "Protocol de commoció" + }, + credential: { + physio: "Fisioterapeuta titulat", + osteo: "Osteòpata", + certtrainer: "Entrenador certificat", + sportstherapist: "Terapeuta esportiu", + massage: "Massatgista", + inperson: "Presencial", + remote: "Remot / en línia" + } + }, + musician: { + genre: { + punk: "Punk", + hardcore: "Hardcore", + metal: "Metal", + rock: "Rock", + indie: "Indie / alt", + hiphop: "Hip-hop / rap", + electronic: "Electrònica", + lofi: "Lo-fi / beats", + reggae: "Reggae / dub", + ska: "Ska", + jazz: "Jazz", + funk: "Funk / soul", + flamenco: "Flamenc", + folk: "Folk / acústic", + experimental: "Experimental", + grunge: "Grunge" + }, + instrument: { + vocals: "Veu", + guitar: "Guitarra", + bass: "Baix", + drums: "Bateria", + keys: "Teclats / sintetitzador", + dj: "DJ / tocadiscos", + producer: "Productor / beats", + sax: "Saxo / metall", + strings: "Corda", + other: "Altres" + }, + act: { + solo: "Artista en solitari", + band: "Banda", + dj: "DJ", + producer: "Productor", + collective: "Col·lectiu" + } + }, + judge: { + format: { + game_of_skate: "Game of S.K.A.T.E.", + best_trick: "Millor truc", + jam: "Format jam", + contest: "Concurs / competició", + street_league: "Estil Street League", + bowl: "Bowl / vert", + mini_ramp: "Mini rampa", + park: "Parc", + street: "Street", + freestyle: "Freestyle", + world_tour: "World Destruction Tour", + am_series: "Sèrie Am / classificatòries", + local_jam: "Jam local / de base", + online: "En línia / concurs a IG" + }, + specialty: { + head_judge: "Jutge principal", + scoring: "Puntuació / taules", + mc: "MC / presentador", + format_design: "Disseny de format", + rules: "Regles / arbitratge", + brackets: "Quadres / sèries", + livestream: "Judici en directe", + am_scout: "Cerca de talents Am" + }, + level: { + local: "Local", + regional: "Regional", + national: "Nacional", + international: "Internacional", + pro: "Circuit pro" + } + }, + organizer: { + event: { + street_jam: "Jam de carrer", + best_trick: "Millor truc", + game_of_skate: "Game of S.K.A.T.E.", + contest: "Concurs / competició", + bowl: "Bowl / vert", + mini_ramp: "Mini rampa", + park: "Sessió al parc", + demo: "Demo pro", + clinic: "Classe / taller", + meetup: "Trobada / ruta", + downhill: "Descens / cursa", + slalom: "Eslàlom", + kids: "Infants / joves", + charity: "Solidari / recaptació", + tour_stop: "Prova de gira", + premiere: "Estrena de vídeo", + market: "Mercat / exposició" + }, + service: { + organizing: "Organització completa", + hosting: "Presentació / MC", + permits: "Permisos i ajuntament", + sponsorship: "Patrocinis / acords de marca", + promotion: "Promoció i màrqueting", + livestream: "Directe / cobertura", + sound: "So i música", + ramps: "Rampes i obstacles", + safety: "Seguretat i primers auxilis", + vendors: "Menjar i paradetes", + media: "Cobertura de foto / vídeo", + registration: "Inscripcions i quadres" + }, + scale: { + grassroots: "De base", + local: "Local", + regional: "Regional", + national: "Nacional", + international: "Internacional", + pro: "Circuit pro" + } + }, + barber: { + service: { + haircut: "Tall de cabell", + fade: "Degradat", + beard: "Arreglar la barba", + lineup: "Vores / perfilat", + colour: "Color i tint", + kids: "Talls per a infants" + }, + serviceDesc: { + haircut: "Un tall clàssic: màquina i tisores.", + fade: "Un degradat progressiu: baix, mitjà o alt.", + beard: "Retallar, perfilar i arreglar la barba.", + lineup: "Vores netes al voltant de la línia del cabell i el coll.", + colour: "Color, decoloració, tint i tonalització.", + kids: "Talls amb paciència per als skaters més joves." + }, + style: { + skin_fade: "Degradat a pell", + taper: "Taper", + buzz: "Rapada", + mohawk: "Cresta", + mullet: "Mullet", + curly: "Rínxols / afro", + long: "Cabell llarg / capes", + classic: "Tall clàssic amb tisores" + }, + setting: { + shop: "Botiga / barberia", + mobile: "A domicili", + event: "Esdeveniments i competicions de skate" + } + }, + clothing: { + service: { + tees: "Samarretes", + hoodies: "Sudaderes", + pants: "Pantalons i pantalons curts", + jackets: "Jaquetes i abrics", + kits: "Equipacions i samarretes d'equip", + caps: "Gorres i barrets", + socks: "Mitjons", + accessories: "Bosses i accessoris", + footwear: "Calçat", + patches: "Pedacos i aplicacions", + griptape: "Art al grip i roba de taula", + onepiece: "Peces úniques / upcycling" + }, + serviceDesc: { + tees: "Samarretes i tops personalitzats", + hoodies: "Sudaderes, jerseis i pantalons de xandall", + pants: "Pantalons de feina, cargo i curts", + jackets: "Jaquetes d'entrenador, shells i de feina", + kits: "Equipacions, samarretes i uniformes", + caps: "Gorres, barrets i lligadures", + socks: "Mitjons alts i gènere de punt", + accessories: "Bosses, cinturons i complements petits", + footwear: "Sabates i calçat personalitzat", + patches: "Pedacos brodats i aplicacions", + griptape: "Art al grip i roba de taula", + onepiece: "Peces úniques i roba upcycled" + }, + method: { + screenprint: "Serigrafia", + dtg: "DTG / impressió directa", + embroidery: "Brodat", + cutsew: "Tall i confecció", + sublimation: "Sublimació", + heattransfer: "Transferència de calor / vinil", + garmentdye: "Tint de la peça", + knit: "Gènere de punt", + patchwork: "Patchwork", + allover: "Estampat a tot arreu" + }, + material: { + cotton: "Cotó", + heavyweight: "Gramatge alt", + organic: "Orgànic / sostenible", + fleece: "Polar", + denim: "Denim", + canvas: "Lona", + nylon: "Nylon / tècnic", + wool: "Merino / llana", + leather: "Cuir", + recycled: "Reciclat / deadstock" + } + }, + tour: { + skill: { + beginner: { + label: "Iniciació", + description: "Nou al skate o trucs bàsics" + }, + intermediate: { + label: "Intermedi", + description: "Còmode en la majoria de terrenys" + }, + advanced: { + label: "Avançat", + description: "Skater experimentat, spots complicats" + }, + all: { + label: "Tots els nivells", + description: "Apte per a tothom" + } + } + } + } +}; + +export default batch5; diff --git a/src/i18n/ca/batch6.ts b/src/i18n/ca/batch6.ts new file mode 100644 index 0000000..6e54e15 --- /dev/null +++ b/src/i18n/ca/batch6.ts @@ -0,0 +1,1137 @@ +const batch6 = { + walletUi: { + page: { + title: "Cartera", + subtitle: "Bitcoin Lightning + Cashu", + manage: "Gestiona", + getAWallet: "Aconsegueix una cartera", + learnPlanB: "Aprèn-ne més a Plan B Academy", + walletMinibits: "Cashu per a mòbil · NWC", + walletAlby: "Extensió de navegador · WebLN + NWC", + walletZeus: "Lightning amb autocustòdia", + walletCoinos: "Basat en web · funciona a tot arreu", + whatAreZaps: "Què són els zaps?", + whatAreZapsShort: "Què són els zaps?", + zapsDesc: "Pagaments instantanis amb Bitcoin Lightning. Envia sats a qualsevol skater, creador de spots o entrenador — sense intermediaris, sense comissions de plataforma.", + instant: "Instantani", + instantDesc: "Es liquida en segons", + flexible: "Flexible", + flexibleDesc: "La teva cartera, les teves claus", + private: "Privat", + privateDesc: "Cashu amaga qui paga", + direct: "Directe", + directDesc: "El valor va al creador", + loginRequired: "Cal iniciar sessió", + loginRequiredDesc: "Inicia sessió amb el teu compte Nostr per connectar la teva cartera Lightning i començar a enviar zaps.", + browseMints: "Explora els mints de Cashu" + }, + modal: { + walletName: "Nom de la cartera (opcional)", + walletNamePlaceholder: "La meva cartera Lightning", + connectionUri: "URI de connexió", + spendLimitTitle: "Estableix primer un límit de despesa", + spendLimitBody1: "Aquesta cadena permet que SkateSpots pagui factures Lightning des de la teva cartera. A l'aplicació de la cartera, dona a aquesta connexió un", + dailyBudget: "pressupost diari", + spendLimitBody2: "(per exemple, uns quants milers de sats) i activa només", + spendLimitBody3: "No enganxis mai una connexió amb pressupost il·limitat. Pots revocar-la a la teva cartera quan vulguis.", + addWallet: "Afegeix cartera", + nwcConnection: "Connexió NWC", + lightningWallet: "Cartera Lightning", + pasteNwc: "Enganxa la teva cadena de connexió NWC per enviar zaps", + connectWallet: "Connecta la cartera", + browserExtension: "Extensió de navegador (WebLN)", + autoDetected: "Detectada automàticament si està instal·lada", + ready: "A punt", + notFound: "No trobada", + getNwcFrom: "Aconsegueix NWC a:", + connectionRequired: "Cal un URI de connexió", + connectionRequiredDesc: "Introdueix un URI de connexió NWC vàlid.", + activeChanged: "Cartera activa canviada", + activeChangedDesc: "La cartera seleccionada ja és l'activa per als zaps.", + connectNwc: "Connecta una cartera NWC", + connectNwcDesc: "Introdueix la cadena de connexió d'una cartera compatible.", + connect: "Connecta", + connecting: "Connectant...", + walletSettings: "Configuració de la cartera", + connectDesc: "Connecta la teva cartera Lightning per enviar zaps a l'instant." + }, + cashu: { + title: "Cartera Cashu", + desc: "Cartera ecash integrada — no cal cap configuració externa", + initializing: "Inicialitzant la cartera...", + walletError: "Error de la cartera", + balance: "Saldo", + balanceAria: "Saldo de la cartera: {{amount}} sats", + activeMint: "Mint actiu", + selectMint: "Selecciona un mint", + receive: "Rep", + send: "Envia", + receiveViaLightning: "⚡ Rep per Lightning", + amountSats: "Import en sats", + generateInvoice: "Genera factura", + generating: "Generant…", + or: "O", + receiveCashu: "🥜 Rep un token Cashu", + scanQr: "Escaneja el QR", + pasteCashu: "Enganxa un token Cashu (cashu...)", + receiveToken: "Rep token", + receiving: "Rebent…", + createCashu: "🥜 Crea un token Cashu", + createToken: "Crea token", + creating: "Creant…", + payInvoice: "⚡ Paga una factura Lightning", + pasteInvoice: "Enganxa una factura Lightning (lnbc...)", + payInvoiceBtn: "Paga la factura", + processing: "Processant...", + payAddress: "📧 Paga a una adreça Lightning", + sendToAddress: "Envia a l'adreça", + sending: "Enviant…", + recentActivity: "Activitat recent", + receivedLightning: "Has rebut ⚡ Lightning", + sentLightning: "Has enviat ⚡ Lightning", + sentToken: "Token 🥜 enviat", + receivedToken: "Token 🥜 rebut", + whatIsCashu: "Què és Cashu?", + whatIsCashuDesc: "Cashu és diners digitals recolzats per Bitcoin Lightning. Pensa-hi com a tokens de Bitcoin que guardes al navegador.", + benefitOffline: "Funciona sense connexió als skate spots", + benefitInstant: "Pagaments instantanis entre iguals", + benefitPrivacy: "Centrat en la privadesa (els mints no et poden rastrejar)", + benefitRedeemable: "Sempre bescanviable per sats Lightning", + findMints: "Troba mints a mintradar.pedani.eu", + backupTitle: "Fes una còpia de seguretat de la cartera", + backupDesc: "La teva cartera està protegida amb una frase de recuperació de 12 paraules. Guarda-la en lloc segur — la necessitaràs per restaurar el saldo si esborres les dades del navegador.", + viewRecovery: "Mostra la frase de recuperació", + backupNote: "És com la teva nsec de Nostr — mantén-la en secret i amb còpia de seguretat!", + tokenReceived: "Token rebut", + tokenReceivedDesc: "Token Cashu bescanviat correctament!", + receiveFailed: "No s'ha pogut rebre", + unknownError: "Error desconegut", + requestUnsupported: "Les sol·licituds Cashu encara no són compatibles", + requestUnsupportedDesc: "Aquesta cartera encara no pot pagar una sol·licitud Cashu (creq) — demana una factura o una adreça Lightning.", + onchainUnsupported: "Aquí no s'admet on-chain", + onchainUnsupportedDesc: "Això és una adreça de Bitcoin. Aquesta cartera només envia tokens Cashu i pagaments Lightning.", + nostrProfile: "Això és un perfil de Nostr", + nostrProfileDesc: "Escaneja un token Cashu, una factura Lightning o una adreça Lightning per pagar.", + clinkUnsupported: "Codi de pagament encara no compatible", + clinkUnsupportedDesc: "Aquesta cartera encara no pot pagar codis CLINK. Fes servir una factura o una adreça Lightning.", + unrecognizedQr: "Codi QR no reconegut", + unrecognizedQrDesc: "Escaneja un token Cashu, una factura Lightning o una adreça Lightning.", + invalidAmount: "Import no vàlid", + invalidAmountDesc: "Introdueix un import vàlid", + paymentSent: "Pagament enviat", + paymentSentDesc: "Has enviat {{amount}} sats a {{address}}", + paymentFailed: "Pagament fallit", + copied: "Copiat", + copiedDesc: "{{label}} copiat al porta-retalls", + receiveSats: "Rep {{amount}} sats", + payInvoiceHint: "Paga aquesta factura des de qualsevol cartera Lightning", + invoiceQrAlt: "Codi QR de la factura", + lightningInvoice: "Factura Lightning", + invoiceLabel: "Factura", + waiting: "⏳ Esperant el pagament...", + tokenReady: "Token a punt per enviar", + shareToken: "Comparteix aquest token amb el destinatari", + tokenQrAlt: "Codi QR del token", + cashuToken: "Token Cashu", + tokenLabel: "Token", + copyToken: "Copia el token", + tokenWarning: "Qualsevol persona amb aquest token el pot reclamar — tracta'l com diners en efectiu!", + browser: { + title: "Cartera ecash integrada", + appOnly: "Només a l'aplicació", + desc: "Ecash Cashu amb autocustòdia, impulsat per Bitcoin Lightning", + unlockTitle: "Desbloqueja la cartera completa a l'aplicació SkateSpots", + unlockDesc: "La cartera ecash integrada et permet crear, enviar i bescanviar tokens Cashu directament al spot. Viu a l'aplicació nativa, on pot parlar directament amb els mints — els navegadors aïllen aquestes connexions per la teva seguretat.", + zapTipTitle: "Envia zaps i propines — ja funciona al navegador", + zapTipDesc: "Enviar sats a spots, esdeveniments, entrenadors i crews funciona aquí mateix. Només cal connectar una cartera Lightning a sota — Nostr Wallet Connect o una extensió de navegador com Alby. No cal cap mint de Cashu." + } + }, + escrow: { + title: "Dipòsit en garantia", + desc: "Ven de manera segura: activa el dipòsit en garantia i un comprador podrà bloquejar els seus sats per a tu en una operació. Els alliberes quan lliures l'article i, si no ho fas, el comprador els pot recuperar passat el temps acordat.", + active: "El dipòsit en garantia està activat", + publish: "Activa el dipòsit en garantia", + published: "El dipòsit en garantia està activat", + publishedDesc: "Ara els compradors poden bloquejar fons per a tu en una operació.", + failed: "No s'ha pogut activar el dipòsit en garantia" + }, + escrowSettings: { + title: "Configuració del dipòsit en garantia", + desc: "Valors per defecte per a operacions amb dipòsit en garantia Cashu. Només en aquest dispositiu.", + lockWindow: "Finestra de bloqueig per defecte", + lockWindowHint: "Quant de temps queden bloquejats els fons abans que el comprador els pugui recuperar. Com més llarg, més segur per al venedor.", + days: "dies", + preferredMint: "Mint per al dipòsit en garantia", + activeMint: "Mint actiu", + preferredMintHint: "Quin mint garanteix el dipòsit. Fes servir-ne un de confiança.", + requireListings: "Exigeix dipòsit en garantia als anuncis nous", + requireListingsHint: "Preselecciona «Exigeix dipòsit en garantia» quan publiques un article." + }, + privacy: { + title: "Consells de privadesa", + subtitle: "Aprèn a protegir la teva privadesa financera", + cashuRecommended: "CASHU (RECOMANAT)", + anon: "Transaccions anònimes", + blind: "Les signatures cegues amaguen l'activitat", + noIp: "Sense exposició d'IP", + trustMint: "Confies els fons al mint", + lightningAddress: "ADREÇA LIGHTNING", + linked: "Es pot vincular amb la identitat", + traceable: "Historial de pagaments rastrejable", + ipVisible: "IP visible en emetre factures", + selfCustody: "Autocustòdia possible", + bestPractices: "Bones pràctiques", + tip1Title: "Fes servir Cashu per rebre propines", + tip1Desc: "La cartera Cashu integrada és la manera més privada de rebre zaps", + tip2Title: "Fes servir una cartera a part per a SkateSpots", + tip2Desc: "No facis servir la teva cartera d'estalvis principal — mantén els fons de l'aplicació a part", + tip3Title: "Considera fer servir VPN o Tor", + tip3Desc: "Amaga la teva adreça IP quan fas transaccions", + tip4Title: "Evita adreces Lightning vinculades a la identitat", + tip4Desc: "Fes servir adreces pseudònimes que no estiguin lligades al teu nom real", + proTip: "Consell pro:", + proTipDesc: "Rep els pagaments primer a la cartera Cashu i després mou periòdicament imports més grans a la teva cartera personal fent servir una VPN per a la transferència.", + warnTitle: "Nota de privadesa", + warnDesc: "Les adreces Lightning poden arribar a vincular la teva activitat a SkateSpots amb la teva identitat real.", + betterPrivacy: "Per a més privadesa:", + bullet1: "Fes servir una cartera dedicada per a aquesta aplicació", + bullet2: "Considera fer servir la cartera Cashu en lloc seu", + bullet3: "Fes servir VPN/Tor per a les transaccions", + useCashu: "Fes servir Cashu", + understand: "Ho entenc" + }, + mintPrivacy: { + title: "Privadesa dels mints", + desc: "Fer servir diversos mints millora la privadesa perquè cap mint no pot veure totes les teves transaccions", + distribution: "Distribució dels fons", + singleWarning: "Fer servir un sol mint vol dir que aquell mint pot veure l'import i el moment de totes les teves transaccions. Considera afegir més mints per a més privadesa.", + yourMints: "Els teus mints ({{count}})", + default: "Per defecte", + addMint: "Afegeix un mint", + addMintDesc: "Afegeix un nou mint de Cashu a la teva cartera", + mintUrl: "URL del mint", + add: "Afegeix", + adding: "Afegint...", + orChoose: "O tria'n un de la llista", + recommended: "Mints recomanats", + allMints: "Tots els mints (directori)", + searchMints: "Cerca mints…", + noDirectoryMints: "Cap mint coincideix amb la teva cerca.", + directoryHint: "Del directori comunitari MintRadar — no oficial i pot estar desactualitzat.", + added: "Afegit", + soon: "Properament", + autoDistribute: "Distribueix els fons automàticament", + autoDesc: "Reparteix els fons rebuts entre diversos mints", + autoAria: "Distribueix els fons automàticament (properament)", + tip1: "Fes servir com a mínim 2 o 3 mints diferents per a més privadesa", + tip2: "No guardis tots els fons en un sol mint — reparteix-los", + tip3: "Tingues en compte la jurisdicció del mint (països diferents = accés legal diferent)", + tip4: "Els mints veuen quan fas les transaccions, però NO a qui pagues (signatures cegues)", + future: "Properes funcions: rotació de mints i puntuació de privadesa — aviat!", + findMore: "Troba més mints a mintradar.pedani.eu", + trustWarning: "Avís de confiança:", + trustWarningDesc: "Els mints són custodials — guarden els teus fons. Fes servir només mints de confiança. Si un mint desapareix, pots perdre els fons. Repartir els fons entre diversos mints redueix el risc.", + removeTitle: "Vols eliminar el mint?", + removeDesc: "Segur que vols eliminar {{name}}?", + removeMint: "Elimina el mint", + warning: "Atenció:", + withdrawWarning: "Aquest mint té {{amount}} sats. Retira els fons abans d'eliminar-lo!", + invalidUrl: "URL no vàlida", + invalidUrlDesc: "L'URL del mint ha de començar per https://", + mintAdded: "Mint afegit", + mintAddedDesc: "Nou mint afegit correctament", + mintAddedNamed: "{{name}} afegit correctament", + failedAdd: "No s'ha pogut afegir el mint", + failed: "Ha fallat", + noMints: "Cap mint", + singleMint: "Un sol mint", + concentrated: "Concentrat", + moderate: "Moderat", + wellDistributed: "Ben distribuït", + mintCoinosWebDesc: "Mint apte per a web (recomanat per a navegadors)", + mintMinibitsWebDesc: "⚠ Només a l'aplicació nativa — no accessible des de navegadors web", + mintMinibitsNativeDesc: "Mint de SkateSpots — recomanat", + mintCoinosDesc: "Mint apte per a web", + mintLnbitsDesc: "Mint comunitari a LNbits" + }, + nwc: { + title: "Cartera Lightning", + noConnection: "Cartera NWC", + refresh: "Actualitza el saldo", + createInvoice: "Crea una factura", + copyInvoice: "Copia la factura", + pasteInvoice: "Enganxa una factura Lightning (lnbc…)", + amount: "Import: {{amount}} sats", + pasteToSee: "Enganxa una factura per veure l'import", + pay: "Paga", + invoiceQrAlt: "Codi QR de la factura Lightning", + enterAmount: "Introdueix un import en sats", + readBalanceFailed: "No s'ha pogut llegir el saldo", + readBalanceFailedDesc: "La teva cartera no ha respost.", + createInvoiceFailed: "No s'ha pogut crear la factura", + createInvoiceFailedDesc: "Torna-ho a provar d'aquí a un moment.", + paymentSent: "Pagament enviat", + paidAmount: "Has pagat {{amount}} sats.", + paid: "Pagat.", + paymentRejected: "La cartera ha rebutjat el pagament." + }, + qr: { + title: "Escaneja el codi QR", + desc: "Col·loca el codi QR dins de la vista de la càmera per escanejar-lo", + paste: "Enganxa del porta-retalls", + hint: "Escaneja un token Cashu, una factura Lightning o una adreça Lightning", + clipboardEmpty: "Porta-retalls buit", + clipboardEmptyDesc: "No s'ha trobat cap text al porta-retalls", + pasteFailed: "No s'ha pogut enganxar", + pasteFailedDesc: "No s'ha pogut llegir del porta-retalls" + }, + recovery: { + title: "Frase de recuperació", + desc: "Aquestes 12 paraules són l'única manera de restaurar el saldo d'ecash. Escriu-les en ordre i guarda-les fora de línia — no les comparteixis mai amb ningú.", + tapReveal: "Toca per mostrar", + noWatching: "Assegura't que ningú t'estigui mirant", + hide: "Amaga", + reveal: "Mostra", + paperHint: "El més segur és escriure-les en paper — copiar-les al porta-retalls pot filtrar-se a altres aplicacions.", + written: "Ja les he escrites", + revealFirst: "Primer mostra les paraules", + copiedDesc: "Frase de recuperació copiada — enganxa-la en un lloc segur i després buida el porta-retalls.", + copyFailed: "No s'ha pogut copiar", + copyFailedDesc: "Escriu les paraules a mà, si us plau." + }, + guide: { + quickGuide: "Guia ràpida", + fullGuide: "Guia de la cartera (edició skater)", + cashuSummary: "Privadesa + comoditat", + mintHoldsFunds: "(el mint guarda els fons)", + lightningSummary: "Control + seguretat", + youHoldKeys: "(tu tens les claus)", + useBoth: "Fes servir les dues: Cashu per a propines, Lightning per a estalvis", + cashuTitle: "CARTERA CASHU", + cashuTagline: "Com diners en efectiu a la butxaca al skatepark", + cashuBullet1: "Ràpida de treure per a una propina", + cashuBullet2: "No hi portis els estalvis de la teva vida", + cashuBullet3: "Si el mint desapareix, els fons es poden perdre", + cashuBullet4: "Ningú sap quants diners tens (privadesa!)", + cashuPerfectFor: "Berenes de sessió, zaps a clips, propines petites", + lightningTitle: "CARTERA LIGHTNING", + lightningTagline: "Com el teu compte bancari — tu tens el control", + lightningBullet1: "Segura, tu controles les claus", + lightningBullet2: "Trigaràs un moment a configurar-la", + lightningBullet3: "Historial complet de transaccions", + lightningBullet4: "Millor per a imports més grans", + lightningPerfectFor: "Compres de material, estalvis, zaps grans", + perfectFor: "Perfecta per a:", + proTips: "CONSELLS PRO", + tip1Title: "Fes servir les dues carteres", + tip1Desc: "Porta els diners de la sessió a Cashu i els estalvis a Lightning", + tip2Title: "Prova carteres diferents", + tip2Desc: "Experimenta per trobar la que et vagi bé. Cadascuna té funcions i contrapartides diferents", + tip3Title: "Millor privadesa", + tip3Desc: "Fer servir diverses carteres fa que cap aplicació no vegi tota la teva activitat", + tip4Title: "Agafa experiència", + tip4Desc: "Com més eines coneixes, més opcions tens. Comença poc a poc i aprèn sobre la marxa", + tldr: "En resum:", + tldrDesc: "No hi ha cap cartera \"millor\" — depèn de les teves necessitats. Prova les dues, fes servir la que et vagi bé i no guardis tots els teus sats en un sol lloc!" + }, + zap: { + count: "{{count}} zaps", + connectFirst: "Connecta primer la teva cartera", + connectFirstDesc: "Per enviar zaps (propines en Bitcoin), necessites connectar una cartera Lightning.", + quickSetup: "Configuració ràpida (30 segons)", + quickSetupDesc: "Connecta la teva cartera Lightning amb Nostr Wallet Connect (NWC). No cal cap compte extra.", + connectNwc: "Connecta la cartera amb NWC", + noWallet: "No tens cartera? Aprèn com", + skip: "Omet-ho per ara (factura manual)", + note: "ℹ️ Nota:", + noteDesc: "Pots crear una factura sense connectar cap cartera, però l'hauràs de copiar manualment per pagar.", + payWithWebln: "Paga amb WebLN", + processing: "Processant...", + openInWallet: "Obre a la cartera Lightning", + scanHint: "Escaneja el codi QR o copia la factura per pagar amb qualsevol cartera Lightning.", + cashuInstant: "Paga a l'instant amb la teva cartera integrada", + satsAvailable: "sats disponibles", + or: "O", + customAmount: "Import personalitzat", + addComment: "Afegeix un comentari (opcional)", + insufficientBanner: "⚠️ Saldo Cashu insuficient. Et falten {{amount}} sats. Canvia a Lightning o recarrega la cartera Cashu.", + creatingInvoice: "Creant la factura...", + zapAmount: "Envia {{amount}} sats", + zapAmountCashu: "Envia {{amount}} sats amb Cashu", + lightningInvoice: "Factura Lightning", + qrAlt: "Codi QR de la factura Lightning", + enterAmount: "Introdueix un import", + enterAmountDesc: "Tria un import predefinit o escriu un nombre vàlid de sats.", + cashuUnavailable: "Cartera Cashu no disponible", + cashuUnavailableDesc: "La teva cartera Cashu no està a punt. Canvia a Lightning o obre primer la cartera.", + insufficientCashu: "Saldo Cashu insuficient", + insufficientCashuDesc: "Et falten {{amount}} sats. Canvia a Lightning o recarrega.", + zapSentCashu: "Zap enviat! 🥜", + zapSentCashuDesc: "Has enviat {{amount}} sats des de la teva cartera Cashu.", + cashuFailed: "El pagament Cashu ha fallat", + cashuFailedDesc: "No s'ha pogut pagar amb la teva cartera Cashu.", + invoiceCopied: "Factura copiada", + invoiceCopiedDesc: "Factura Lightning copiada al porta-retalls", + defaultComment: "Zap enviat a SkateSpots! 🛹", + titleConnect: "Connecta la cartera", + titlePayment: "Pagament Lightning", + titleZap: "Envia un zap", + descConnect: "Connecta la teva cartera Lightning per enviar zaps", + descPayment: "Paga amb la Lightning Network de Bitcoin", + descZap: "Els zaps són petits pagaments en Bitcoin que donen suport al creador d'aquest element. Si t'ha agradat, considera enviar un zap!", + descZapShort: "Els zaps són petits pagaments en Bitcoin que donen suport als creadors. Considera enviar un zap!" + }, + zapCrew: { + title: "Zap al crew", + desc: "Reparteix un zap a parts iguals entre {{count}} membres del crew amb adreça Lightning.", + noMembers: "Ara mateix no hi ha altres membres del crew per enviar zaps.", + totalAmount: "Import total", + customTotal: "Total personalitzat", + each: "sats cadascun", + rounded: "(arrodonit)", + noWallet: "No hi ha cap cartera connectada — obtindràs una factura per membre per pagar manualment. Connecta una cartera per repartir-ho amb un toc.", + zapAcross: "Envia {{amount}} sats entre {{count}}", + sentTo: "⚡ Enviat a {{done}}/{{total}}", + none: "No s'ha completat cap pagament automàtic", + copyPending: "Copia les factures pendents per acabar de pagar manualment.", + thanks: "Gràcies per donar suport al crew!", + payingCrew: "Pagant al crew…", + defaultComment: "Zap al crew {{crew}}! 🤘", + sent: "Enviat", + paying: "Pagant", + resolving: "Resolent", + skipped: "Omès", + failed: "Ha fallat", + waiting: "Esperant", + copyInvoice: "Copia la factura", + invoiceCopied: "Factura copiada", + invoiceCopiedDesc: "Enganxa-la a qualsevol cartera Lightning" + }, + zapBadges: { + title: "Insígnies de zaps", + zaps: "zaps", + satsSent: "sats enviats", + rank: "posició", + footnote: "Basat en els zaps dels últims 30 dies.", + first: "Primer zap", + firstHint: "Envia el teu primer zap", + regular: "Habitual", + regularHint: "Envia 10 zaps", + generous: "Generós", + generousHint: "Envia 10.000 sats", + patron: "Mecenes", + patronHint: "Envia 100.000 sats", + top10: "Top 10", + top10Hint: "Arriba al top 10 de qui més zaps envia" + }, + trust: { + mute: "Silencia", + muted: "Silenciat", + mutedDesc: "No veuràs el seu contingut.", + muteFailed: "No s'ha pogut silenciar. Torna-ho a provar.", + loginToMute: "Inicia sessió per silenciar.", + attributedNetwork: "De gent de la teva xarxa", + attributedProviderHouse: "Del proveïdor de confiança de la comunitat", + attributedProviderCustom: "Del proveïdor que has triat", + howItWorks: "Com funciona la confiança", + flaggedNoticeTitle: "Denunciat per skaters de confiança", + flaggedNoticeDesc: "Ves amb compte. Gent de confiança de la xarxa ha denunciat aquest compte.", + flaggedReporterFollow: "{{count}} que segueixes", + flaggedReporterNetwork: "{{count}} de la teva xarxa", + flaggedReporterOther: "{{count}} altres comptes", + flaggedReport: "Denuncia", + flaggedDismiss: "Descarta", + bucketVerified: "Verificat", + bucketUnknown: "Desconegut", + bucketFlagged: "Denunciat", + bucketVerifiedDesc: "Algú de la teva xarxa avala aquest compte.", + bucketUnknownDesc: "Encara ningú de la teva xarxa no ha avalat aquest compte.", + bucketFlaggedDesc: "Gent de confiança ha denunciat aquest compte.", + reportedByTrusted: "Denunciat per {{count}} persones de confiança", + unavailable: "Puntuació de confiança no disponible", + yourContent: "Aquest és el teu contingut", + following: "Segueixes aquest usuari", + friendOfFriend: "Amic d'un amic (2 salts)", + nip05: "Usuari verificat amb NIP-05", + unknown: "Usuari desconegut", + help: "Les puntuacions de confiança ajuden a identificar col·laboradors fiables de la comunitat skate." + }, + share: { + title: "Comparteix el perfil", + desc: "Apunta la càmera del mòbil al codi per obrir el perfil de {{name}}.", + qrAlt: "Codi QR del perfil", + copyLink: "Copia l'enllaç", + copyFailed: "No s'ha pogut copiar", + copyFailedDesc: "No s'ha pogut copiar l'enllaç.", + shareEllipsis: "Comparteix…" + }, + addToCollection: { + title: "Desa a una col·lecció", + desc: "Desa \"{{spot}}\" en una de les teves col·leccions", + loginRequired: "Inicia sessió per desar spots a les col·leccions", + noCollections: "Encara no tens cap col·lecció", + createFirst: "Crea la primera a sota!", + spotCount: "{{count}} spots", + alreadySavedTag: "Ja desat", + alreadySaved: "Ja desat", + alreadySavedDesc: "«{{spot}}» ja és a «{{collection}}»", + saved: "Spot desat!", + savedDesc: "S'ha afegit \"{{spot}}\" a \"{{collection}}\"", + saveFailed: "No s'ha pogut desar", + somethingWrong: "Alguna cosa ha anat malament", + created: "Col·lecció creada!", + createdDesc: "S'ha afegit \"{{spot}}\" a la teva nova col·lecció \"{{collection}}\"", + createFailed: "No s'ha pogut crear la col·lecció", + name: "Nom de la col·lecció", + descriptionOptional: "Descripció (opcional)", + creating: "Creant...", + createAndSave: "Crea i desa", + createNew: "Crea una col·lecció nova" + }, + collection: { + back: "Torna a les col·leccions", + created: "Creada el {{date}}", + deleteTitle: "Vols eliminar la col·lecció?", + deleteDesc: "Això eliminarà permanentment \"{{title}}\". Els spots no es modificaran.", + deleting: "Eliminant...", + deleteFailed: "No s'ha pogut eliminar la col·lecció", + deleted: "Col·lecció eliminada", + deletedDesc: "\"{{title}}\" s'ha eliminat", + empty: "No hi ha spots en aquesta col·lecció", + emptyOwner: "Afegeix spots a la col·lecció clicant \"Desa a una col·lecció\" a qualsevol spot", + emptyOther: "Aquesta col·lecció és buida", + browseSpots: "Explora spots", + linkCopied: "Enllaç copiat!", + linkCopiedDesc: "L'enllaç de la col·lecció s'ha copiat al porta-retalls", + map: "Mapa de la col·lecció", + removeFailed: "No s'ha pogut treure el spot", + shareText: "Mira aquesta col·lecció de spots: {{title}}", + spotRemoved: "Spot tret", + spotRemovedDesc: "\"{{title}}\" s'ha tret d'aquesta col·lecció" + }, + mints: { + title: "Mints", + subtitle: "Explora els mints de Cashu i la seva salut. Les operacions de la cartera Cashu es fan a l'aplicació SkateSpots.", + searchPlaceholder: "Cerca mints per nom o URL…", + onlineOnly: "Només en línia", + count: "{{filtered}} de {{total}} mints", + directoryError: "No s'ha pogut carregar el directori de mints.", + directoryHint: "El directori el gestiona la comunitat i té límit de peticions — pot estar temporalment no disponible.", + goToWallet: "Ves a la cartera", + appOnly: "Afegir un mint es fa a l'aplicació SkateSpots (Cashu només funciona a l'aplicació).", + noMatch: "Cap mint coincideix amb «{{query}}».", + footer: "Dades de salut del projecte comunitari MintRadar — no oficials i poden estar desactualitzades. Revisa sempre les condicions d'un mint abans de confiar-hi fons.", + archived: "Arxivat", + degraded: "Degradat", + offline: "Fora de línia", + online: "En línia", + terms: "Condicions", + reliability: "fiabilitat", + add: "Afegeix", + addToWallet: "Afegeix a la cartera", + copyUrl: "Copia l'URL", + openMint: "Obre el mint", + inWallet: "A la teva cartera", + addedBadge: "Afegit", + urlCopied: "URL del mint copiat", + added: "Mint afegit", + addedDesc: "{{host}} ja és a la teva cartera.", + couldNotAdd: "No s'ha pogut afegir el mint", + communityRating: "Valoració de la comunitat", + reliabilityLabel: "Fiabilitat", + uptime: "Temps actiu 24h / 7d", + location: "Ubicació", + latency: "Latència", + nuts: "NUTs compatibles", + units: "Unitats", + version: "Versió", + ratedBy: "Valorat {{rating}}/5 per {{count}} persones a MintRadar.", + noRating: "Encara no hi ha valoració de la comunitat a MintRadar.", + reviewsNote1: "Les ressenyes escrites no formen part del directori —", + openMintRadar: "obre MintRadar", + reviewsNote2: "per llegir-ne o deixar-ne una.", + liveness: "Auditoria d'activitat: {{mints}} mints i {{melts}} melts provats", + livenessErrors: " · {{errors}}/{{total}} errors recents", + whatsAMint: "Què és un mint?", + whatsAMintDesc: "Un mint de Cashu emet i bescanvia l'ecash de la teva cartera. Guarda el Bitcoin que dona suport als teus tokens — així que un mint que no gestiones tu mateix és un mint en què has de confiar.", + mintWarning: "Els mints es poden desconnectar, canviar les condicions o desaparèixer amb els fons. Mantén només saldos petits tret que confiïs en l'operador.", + healthDisclaimer: "Les dades de salut les gestiona la comunitat (MintRadar) — no oficials i possiblement desactualitzades." + }, + appShop: { + title: "Botiga de l'aplicació", + subtitle: "Marxandatge de SkateSpots per a qui manté l'escena en marxa.", + comingSoon: "Properament", + wearThe: "Porta", + scene: "l'escena", + heroDesc1: "Marxandatge per a qui manté això en marxa — venut", + locally: "en local, per encàrrec", + heroDesc2: ". Em poses un missatge, ho enllestim i pagues en", + heroDesc3: "— Lightning o Cashu — quan ho reculls. Sense targetes, sense comptes, sense robot de compra, sense intermediaris que es quedin part del drop.", + requestItem: "Demana un article", + dmHint: "Obre un DM privat i xifrat amb mi.", + lightning: "Lightning", + cashu: "Cashu", + localHandover: "Lliurament local", + inTheWorks: "En procés", + notForSale: "encara no a la venda", + soon: "aviat", + tees: "Samarretes i dessuadores", + decks: "Taulells", + shopTools: "Eines de taller", + stickerPacks: "Packs d'adhesius", + stickerPacksDesc: "Els packs arriben. Els dissenys no — imprimeix aquests dos ara mateix, gratis.", + sticker: "Adhesiu", + stickerTip: "Tallat en negre. Imprimeix en paper d'adhesius i retalla pel contorn negre.", + poster: "Pòster", + posterTip: "S'imprimeix en A3; redueix-lo a A4 (50%) i encara s'escaneja bé.", + printableAlt: "SkateSpots {{title}} — imprimible", + print: "Imprimeix", + printNote1: "Imprimeix a", + actualSize: "100% / «Mida real»", + printNote2: "perquè la mida sigui exacta i el QR es mantingui nítid — apunta a skate-spots.org. Fitxers vectorials, així s'escalen sense difuminar-se.", + howBuying: "Com funciona la compra", + dmNotCart: "és un DM, no un carret", + step1Title: "Escriu-me", + step1Desc: "Envia'm un DM amb el que vols — article, talla, color, el que sigui.", + step2Title: "Ho enllestim", + step2Desc: "Preu en sats i on i quan ens trobem. És una conversa, no una caixa.", + step3Title: "Paga en sats", + step3Desc: "Lightning o Cashu en el lliurament i ja és teu. Sense enviaments, sense sales d'espera." + }, + newsletter: { + newIssue: "Nova edició", + composerTitle: "Publica una edició del butlletí", + composerDesc: "Es publica com a article NIP-23 (kind 30023) al relay de la comunitat. Els subscriptors el reben a la campana de notificacions. El cos admet Markdown.", + fieldTitle: "Títol", + identifier: "Identificador (slug)", + leaveBlank: "deixa-ho en blanc per generar-lo automàticament", + reusingSlug: "Si reutilitzes un slug existent, editaràs aquella edició en lloc de crear-ne una de nova.", + summary: "Resum", + optional: "opcional", + coverImage: "URL de la imatge de portada", + bodyMarkdown: "Cos (Markdown)", + characters: "{{count}} caràcters", + publishIssue: "Publica l'edició", + issuePublished: "Edició publicada! 🛹", + issuePublishedDesc: "Els subscriptors la veuran a la campana de notificacions.", + publishFailed: "No s'ha pogut publicar", + couldNotReachRelay: "No s'ha pogut contactar amb cap relay — comprova la connexió i torna-ho a provar.", + tryAgain: "Torna-ho a provar.", + publishedToNostr: "Publicat a Nostr", + publishedToast: "Publicat!", + postedToNostr: "Drop {{number}} publicat a Nostr.", + postToNostr: "Publica a Nostr", + previewLabel: "Previsualització", + editFirst: "Edita primer", + previewNoteDesc: "Així és com es veurà la nota a la majoria de clients de Nostr. El format varia segons el client.", + editNoteDesc: "Edita el text de la nota a sota. Els canvis només afecten aquesta publicació — el fitxer original no es modifica.", + dropNumber: "Drop {{number}}", + publish: "Publica", + publishing: "Publicant...", + dropIsOut: "Ja ha sortit el drop {{number}}", + daysAgo: "fa {{count}}d", + dismiss: "Descarta", + itsMonday: "És dilluns", + mondayDesc: "Toca publicar el butlletí setmanal. Amb un clic, la IA l'escriu a partir del registre de git.", + writeDrop: "Escriu el drop {{number}}", + dismissReminder: "Descarta el recordatori", + loginPrompt: "Inicia sessió amb Nostr per rebre els nous drops a la bústia.", + subscribedToast: "T'has subscrit! 🛹", + subscribedToastDesc: "Els nous drops arribaran a la campana de notificacions, a \"Notícies\".", + unsubscribed: "Subscripció cancel·lada", + unsubscribedDesc: "Encara pots llegir qualsevol edició aquí quan vulguis.", + checking: "Comprovant…", + subscribed: "Subscrit", + unsubscribe: "Cancel·la la subscripció", + subscribeCta: "Subscriu-te al butlletí", + archiveSynced: "Arxiu sincronitzat amb Nostr", + missingCount: "{{count}} edicions de l'arxiu encara no són a Nostr", + backfillDesc: "Publica {{list}} com a articles NIP-23 perquè els subscriptors i els lectors de textos llargs puguin veure l'arxiu complet. La pàgina manté el disseny ric igualment.", + backfill: "Publica {{count}} a Nostr", + publishing2: "Publicant…", + publishingLabel: "Publicant…", + backfilled: "S'han publicat {{count}} edicions 🛹", + backfilledDesc: "L'arxiu ja és a Nostr per als subscriptors i lectors.", + partialBackfill: "Publicades {{published}}, {{failed}} fallides", + retryFinish: "Torna-ho a provar per acabar: {{list}}.", + notLoggedIn: "No has iniciat sessió", + allIssues: "Totes les edicions", + brand: "Butlletí de SkateSpots", + digTheDrop: "T'agrada el drop? Fes-hi un zap i no et perdis el següent.", + sectionStats: "La comunitat en xifres", + sectionWhatsNew: "Novetats", + sectionSpotOfWeek: "Spot de la setmana", + sectionCommunity: "Comunitat", + sectionSupport: "Dona suport al projecte", + sectionLatestDrops: "Últims drops · En directe des de Nostr", + mappedBy: "Mapejat per", + viewOnMap: "Veure al mapa", + noSpotPicked: "Aquesta setmana no s'ha triat cap spot. Envia el teu i potser surt al proper drop.", + browseMap: "Explora el mapa", + spotMap: "Mapa de spots", + statsBadge: "Estadístiques", + supportDesc: "100% codi obert, finançat per la comunitat, sense anuncis ni inversors. Si t'és útil, fes-hi un zap o dona-hi suport a Angor.", + readFull: "Llegeix l'edició completa", + joinSkaters: "Uneix-te a {{count}} skaters que reben els drops", + weeklyDrops: "Drops setmanals", + tagline: "Un butlletí setmanal · publicat quan ens dona la gana", + freeNote: "Gratuït. Impulsat per Nostr — la teva subscripció viu a les teves claus i et segueix entre dispositius. Els nous drops arriben a la campana de notificacions.", + live: "En directe", + builtOn: "Construït sobre", + openSource: "Codi obert", + supportUs: "Dona'ns suport", + freeToSkate: "Ets lliure de patinar" + }, + stats: { + subtitle: "Mètriques en directe extretes de la xarxa Nostr. Transparents, descentralitzades i verificables per qualsevol.", + dataSource: "Font de dades:", + updated: "actualitzat {{age}}", + refresh: "Actualitza", + partial: "No s'ha pogut contactar amb tots els relays — aquestes xifres poden estar incompletes.", + error: "Ara mateix no s'ha pogut contactar amb el relay. Les estadístiques es carregaran quan es restableixi la connexió.", + atAGlance: "La comunitat d'un cop d'ull", + skateSpots: "Skate spots", + listedShops: "Botigues llistades", + events: "Esdeveniments", + mappers: "Mapejadors", + uniqueContributors: "col·laboradors únics", + labHeader: "El Lab · Creadors i serveis", + total: "{{count}} en total", + coaches: "Entrenadors", + filmers: "Filmakers", + editors: "Editors", + photographers: "Fotògrafs", + builders: "Constructors", + artists: "Artistes", + graffiti: "Graffiti", + tattoo: "Tatuatge", + trainers: "Preparadors", + musicians: "Músics", + judges: "Jutges", + organizers: "Organitzadors", + barbers: "Barbers", + showFewer: "Mostra'n menys", + showAllCrafts: "Mostra els 13 oficis", + community: "Comunitat", + tours: "Rutes", + crews: "Crews", + marketplace: "Mercat", + liveListings: "Anuncis actius", + tradesRecorded: "Intercanvis registrats", + satsTraded: "Sats intercanviats", + zapsToMappers: "Zaps als mapejadors", + tradesNote1: "intercanvis mutus entre", + tradesNote2: "persones. Els sats els declaren els mateixos intercanviadors — l'aplicació no pot veure un pagament fet fora — així que el titular només compta", + mutual: "mutus", + tradesNote3: "intercanvis amb un límit per parella; la xifra bruta declarada és de", + tradesNote4: "sats. \"Zaps als mapejadors\" només compta els rebuts adreçats als nostres principals col·laboradors — no és", + not: "no", + tradesNote5: "el volum global de zaps.", + byRegion: "Spots i botigues per regió", + resolving: "Resolent {{count}} ubicacions sense etiqueta a partir de les seves coordenades… un sol cop, després es guarden en memòria cau en aquest dispositiu.", + topCountries: "Principals països", + topCities: "Principals ciutats", + other: "Altres", + otherCountriesTitle: "Països fora del top 6", + otherCitiesTitle: "Ciutats fora del top 6", + uncategorised: "Sense categoria", + uncategorisedTitle: "Sense etiqueta de ciutat/país", + regionNote1: "Recompte de", + spotsAndShops: "spots i botigues", + regionNote2: ", no de skaters — a partir de l'etiqueta de ciutat/país de cadascun, o derivat de les coordenades del seu marcador quan no en té (guardat en memòria cau al teu dispositiu; països agrupats per codi ISO quan existeix), només relay de la comunitat, exclòs el contingut amagat per moderació.", + ofTotal: "{{count}} de {{total}}", + regionNote3: "ubicacions no tenen etiqueta d'ubicació i es mostren com a \"Sense categoria\".", + growth: "Creixement al llarg del temps", + chartCumulativeTitle: "Spots mapejats (acumulat)", + chartCumulativeDesc: "Total de spots afegits al mapa al llarg del temps", + chartMonthlyTitle: "Activitat mensual", + chartMonthlyDesc: "Contingut nou publicat cada mes", + chartMappersTitle: "Mapejadors actius / mes", + chartMappersDesc: "Col·laboradors únics que publiquen cada mes", + chartMixTitle: "Barreja de contingut", + chartMixDesc: "Desglossament per tipus de contingut (tot el temps)", + noData: "Encara no hi ha dades", + topMappers: "Principals mapejadors", + mostSpots: "— més spots afegits", + noMapperData: "Encara no hi ha dades de mapejadors", + topShops: "Principals botigues", + mostShops: "— més botigues afegides", + shopCount: "{{count}} botigues", + noShopData: "Encara no hi ha dades de botigues", + supporters: "Suportadors de la comunitat", + fundedTitle: "Finançat per la comunitat", + fundedDesc1: "Microfinançament descentralitzat amb Bitcoin via Angor.", + fundedDesc2: "Sense anuncis, sense inversors, sense vendre dades.", + backAngor: "Dona'ns suport a Angor", + communityLink: "Comunitat →", + footer1: "Totes les dades s'extreuen en directe de", + footer2: "— un relay públic de Nostr.", + footer3: "Cada esdeveniment està signat pel seu creador i es pot verificar criptogràficament.", + footer4: "No es poden falsificar les xifres.", + spots: "Spots", + shops: "Botigues", + lab: "Lab", + thisMonth: "+{{count}} aquest mes", + fromActive: "{{count}} de comptes actius", + viewAll: "Veure-ho tot", + spotCount: "{{count}} spots" + }, + leaderboard: { + mapEarn: "Mapeja i guanya", + helpMap: "AJUDA A MAPEJAR EL MÓN", + intro: "Afegeix spots i botigues i rep zaps d'skaters agraïts. Els principals col·laboradors poden rebre recompenses extra!", + howItWorks: "Com funciona", + step1Title: "1. Mapeja", + step1Desc: "Afegeix spots i botigues amb fotos i detalls", + step2Title: "2. Guanya zaps", + step2Desc: "Els skaters que trobin útils els teus spots et faran propines", + step3Title: "3. Recompenses extra", + step3Desc: "Els millors mapejadors poden rebre recompenses extra del nostre fons", + proTips: "💡 Consells pro per a més zaps:", + tipPhotos: "Afegeix 3 fotos o més", + tipDescriptions: "Escriu descripcions detallades", + tipLocation: "Ubicació precisa", + mapShop: "Mapeja una botiga", + mapShopDesc: "Botigues de skate, tendes de taules", + mapSpot: "Mapeja un spot", + mapSpotDesc: "Parcs, spots de carrer, DIY", + shops: "Botigues", + spotsLower: "spots", + shopsLower: "botigues", + contributions: "col·laboracions", + yourRanking: "La teva posició", + spotsShops: "{{spots}} spots • {{shops}} botigues", + totalLower: "total", + overall: "General", + noContributions: "Encara no hi ha col·laboracions. Sigues el primer!", + addFirstSpot: "Afegeix el primer spot", + noShops: "Encara no hi ha botigues mapejades", + addFirstShop: "Afegeix la primera botiga", + noSpots: "Encara no hi ha spots mapejats", + poweredBy: "Impulsat pels zaps de la comunitat", + poweredByDesc: "Quan un spot et sigui útil, fes un zap al mapejador! És la millor manera de donar les gràcies i fomentar més col·laboracions.", + you: "Tu", + zapTitle: "Classificació de zaps", + zapSubtitle: "Els spots que reben més estima — i els skaters que la donen.", + thisWeek: "Aquesta setmana", + thisMonth: "Aquest mes", + allTime: "Tot el temps", + topZappedSpots: "Spots amb més zaps", + noZaps: "Encara no hi ha zaps en aquest període. Sigues el primer — toca el ⚡ d'un spot que t'encanti.", + topSupporters: "Principals suportadors", + noZapsSent: "Encara no s'han enviat zaps en aquest període.", + fromTop10: "⚡ {{amount}} sats dels 10 primers", + supporter: "Suportador", + skateShop: "Botiga de skate", + skateSpot: "Skate spot" + }, + supporters: { + our: "LA NOSTRA", + community: "COMUNITAT", + heroDesc: "SkateSpots està fet per a la comunitat i per la comunitat. Suportadors, col·laboradors, socis i amics que el mantenen gratuït i descentralitzat.", + backAngor: "Dona'ns suport a Angor", + backers: "Suportadors", + backersDesc: "Skaters que han donat suport a SkateSpots — finançament on-chain via Angor i zaps Lightning al projecte.", + sourceAngor: "Angor", + supportersTotals: "{{count}} suportadors · {{angor}} sats via Angor · {{zap}} sats en zaps", + quietNote: "I també tothom qui ha donat en silenci — gràcies. ❤️", + silentTitle: "On-chain privat (pagaments silenciosos)", + silentDesc: "Un nom, una adreça nova per a cada pagament — on-chain amb pagaments silenciosos, o Lightning des del mateix registre. Res a reutilitzar, res a vincular.", + silentCopyName: "Copia el nom", + silentCopied: "Copiat", + silentWallets: "Cal una cartera compatible amb noms de pagament / pagaments silenciosos: Sparrow, Cake, Dana, Phoenix, BlueWallet, Wasabi, Nunchuk o BitBox02.", + wayLightningTitle: "Instantani i públic", + wayLightningDesc: "Fes un zap a SkateSpots o paga en privat. Funciona sense iniciar sessió.", + waySilentTitle: "On-chain privat", + waySilentDesc: "Un nom de pagaments silenciosos — una adreça nova per a cada pagament.", + wayAngorTitle: "Finança el desenvolupament", + wayAngorDesc: "Angor — alliberament per etapes, reemborsable per sobre de 100k sats.", + donateTitle: "Dona suport a SkateSpots", + donateDesc: "Tres vies, tres motius — tria la que et vagi bé. Cada sat manté el mapa gratuït, sense anuncis i de codi obert.", + donatePageLink: "Obre la pàgina de donacions senzilla", + updatedAt: "Actualitzat {{when}}", + tiersNote: "Nivells: Suportador fins a 100k sats · Mecenes 100k–1M · Llegenda 1M+", + tierEmpty: "Encara no hi ha ningú — sigues el primer.", + joinSupporters: "Uneix-te a {{count}} suportadors", + showAll: "Mostra tots els {{count}}", + showLess: "Mostra'n menys", + impactSeeStats: "Veure el panorama complet →", + impactAsOf: "en directe des dels relays de la comunitat", + anonymousBacker: "Suportador anònim", + beFirstBacker: "Encara no hi ha suportadors públics — sigues el primer.", + backersTotal: "{{count}} suportadors · {{amount}} sats recaptats", + verifiedOnChain: "Verificat on-chain", + supportedBy: "Amb el suport de {{count}}", + tierSupporter: "Suportador", + tierPatron: "Mecenes", + tierLegend: "Llegenda", + topZappers: "Zaps a SkateSpots", + topZappersDesc: "Skaters que han enviat un zap públic directament al projecte. Els pagaments privats no hi apareixen.", + paysFor: "En què es gasta el teu suport", + paysForDesc: "On va cada sat — sense sous, sense oficines, sense anuncis.", + payRelay: "Allotjament del relay", + payDomain: "Domini i TLS", + payAi: "Node d'IA / ContextVM", + payDev: "Temps de desenvolupament", + payOps: "Operacions", + payMarketing: "Màrqueting", + payRelayDesc: "Manté el mapa en línia i resilient.", + payDomainDesc: "El nom, el certificat, la connexió segura.", + payAiDesc: "Sasquatch, el guia de la comunitat.", + payDevDesc: "Construir i arreglar SkateSpots.", + payOpsDesc: "La feina poc glamurosa que ho manté funcionant.", + payMarketingDesc: "Arribar a noves escenes locals i botigues de skate.", + impact: "Impacte fins ara", + impactDesc: "El que ha construït la comunitat — finançat pels skaters.", + impactSpots: "Spots", + impactCrews: "Crews", + impactEvents: "Esdeveniments", + impactLab: "Professionals del Lab", + impactShops: "Botigues", + impactMappers: "Mapejadors", + support: "Suport", + supportDesc: "Finança SkateSpots a Angor — microfinançament descentralitzat amb Bitcoin on-chain. Sense intermediaris, sense KYC.", + collaborators: "Col·laboradors", + collaboratorsDesc: "Gent que construeix SkateSpots activament — desenvolupadors, dissenyadors, operadors de relays.", + partners: "Socis", + partnersDesc: "Organitzacions i projectes amb qui treballem estretament.", + friends: "Amics", + friendsDesc: "Gent amb qui connectem.", + backTitle: "Dona suport al projecte a Angor", + backDesc: "Angor és finançament descentralitzat amb Bitcoin on-chain construït sobre Nostr — els teus fons segueixen sota el teu control, s'alliberen per etapes i cap custodi guarda el pot. Les aportacions fins a 100.000 sats funcionen com una donació (sense protocol de recuperació); els imports més grans són inversions els fons no gastats de les quals es poden recuperar. Cada sat va al desenvolupament, a l'allotjament del relay i a mantenir SkateSpots gratuït per a tots els skaters del món.", + donateNote: "Prefereixes una donació directa? ⚡ Fes un zap a sota — res a reemborsar, res a recuperar.", + openAngor: "Obre Angor", + orZap: "o fes ⚡ un zap a qualsevol spot, crew o creador directament a l'aplicació", + wantCollaborate: "Vols col·laborar?", + wantCollaborateDesc: "Desenvolupadors, dissenyadors, skaters amb habilitats — posa't en contacte.", + viewNostrHub: "Veure a NostrHub", + wantPartner: "Vols ser soci de SkateSpots? Contacta'ns a Nostr.", + comingSoon: "Properament", + wantListed: "Vols aparèixer aquí?", + wantListedDesc: "Envia'ns un logotip (PNG/WebP, fons transparent, mínim 200×200 px) i el teu URL per DM a Nostr, només si tens bona vibra.", + whyTitle1: "Per què necessitem", + whyTitle2: "suport", + whyDesc: "SkateSpots és 100% gratuït, de codi obert i construït sobre Nostr — un protocol descentralitzat sense cap servidor central que el pugui tancar. Sense anuncis, sense vendre dades, sense inversors. Cada sat va directament al desenvolupament, a l'allotjament del relay i a mantenir-ho gratuït per a tots els skaters del món.", + why1Title: "Nadiu de Nostr", + why1Desc: "Sense servidor central. Les teves dades viuen als relays que triïs.", + why2Title: "Impulsat per Bitcoin", + why2Desc: "Guanya sats mapejant spots. Gasta'ls a les botigues locals.", + why3Title: "Gratuït per sempre", + why3Desc: "Codi obert, sense murs de pagament, sense rastreig, sense capital risc.", + thankYou: "Gràcies. Cada sat manté els spots al mapa. 🛹⚡", + license: "Llicència", + faq: "Preguntes freqüents" + }, + admin: { + confirmed: "Confirmat", + title: "Cua de revisió", + subtitle: "Spots, botigues, esdeveniments, rutes i material que disparen els senyals de brossa. Amaga i Confirma són etiquetes lleus i reversibles; les denúncies van primer. No s'elimina res.", + tabReports: "Denúncies", + tabSpots: "Spots", + tabShops: "Botigues", + tabEvents: "Esdeveniments", + tabTours: "Rutes", + tabGear: "Material", + tabCrews: "Crews", + tabLab: "Lab", + tabClaims: "Reclamacions", + nothingToReview: "Res a revisar — res d'aquest tipus dispara els senyals de brossa.", + hideActioned: "Amaga els gestionats", + showActioned: "Mostra els gestionats ({{count}})", + undoAll: "Desfés-ho tot ({{count}})", + undoAllTitle: "Desfer tots els veredictes d'aquesta pestanya?", + undoAllDesc: "Això torna cada element a neutre — ni amagat ni avalat. Publica una etiqueta pública per element, així que amb Amber veuràs {{count}} pantalles d'aprovació.", + undoCount: "Desfés {{count}}", + undo: "Desfés", + confirm: "Confirma", + hide: "Amaga", + hideIt: "Amaga-ho", + hideForEveryone: "Amagar-ho per a tothom?", + hideForEveryoneDesc: "Això treu l'element de l'exploració i la cerca per a tots els usuaris de SkateSpots. És una etiqueta pública i reversible — pots desfer-ho des d'aquesta cua.", + hidden: "Amagat", + hiddenDesc: "Tret de l'aplicació mitjançant una etiqueta pública. Reversible.", + couldNotHide: "No s'ha pogut amagar", + notASpot: "No és un skate spot", + lookAtIt: "Mira-ho" + }, + profile: { + nip05Verified: "Verificat amb NIP-05", + nip05NotVerified: "NIP-05 no verificat amb aquesta clau", + message: "Missatge", + zapsReceived: "zaps rebuts", + memberSince: "Membre des de", + badges: "Insígnies", + sponsorsSupport: "Patrocinadors i suport", + skater: "Skater", + stance: "Posició", + skating: "Modalitat", + homeSpot: "Spot habitual", + basedIn: "Ubicació", + addSkateDetails: "Afegeix els teus detalls de skate", + addSkateDetailsDesc: "Defineix la teva posició, estils i nivell per aparèixer al directori de skaters.", + spotsAdded: "Spots afegits", + shopsAdded: "Botigues afegides", + noSpots: "Encara no has afegit cap spot", + noSpotsDesc: "Posa el teu spot local al mapa →", + stash: "Armari", + gear: "Material", + crews: "Crews", + info: "Informació", + lightning: "Lightning", + silentPayment: "Pagament silenciós", + coordinator: "Coordinador", + coordinatorAdded: "Coordinador afegit", + add: "Afegeix", + messagePrivately: "Envia un missatge privat", + founder: "Fundador", + member: "Membre", + supportSkater: "Dona suport a aquest skater", + supportSkaterDesc: "Envia una propina per agrair-li les seves contribucions" + }, + index: { + joinCommunity: "Uneix-te a la comunitat per afegir spots, crear esdeveniments i molt més", + topZapped: "MÉS ZAPEJATS", + topZappedDesc: "Els spots amb més suport aquest mes", + leaderboard: "Classificació", + newHere: "ETS NOU?", + newHereDesc: "Crea un compte gratuït per afegir spots, unir-te a esdeveniments, connectar amb skaters i formar part de la comunitat. No cal correu electrònic.", + followFounder: "Segueix el fundador", + followFounderDesc: "Mantén premut l'avatar 3 segons per seguir-lo i estar al dia de les novetats i els esdeveniments!", + createAccount: "Crea un compte", + accountWorks: "El teu compte funciona a totes les aplicacions de la xarxa", + footerTagline: "Codi obert • Propietat de la comunitat • Sense anuncis" + }, + stash: { + title: "El meu armari", + loginDesc: "El teu inventari privat de material. Controla el que tens, posa preus i comparteix-ho selectivament amb altres intercanviadors.", + encrypted: "Xifrat", + syncsEverywhere: "Se sincronitza a tot arreu", + p2pTrading: "Intercanvi P2P", + encryptionRequired: "Cal xifratge", + encryptionRequiredDesc: "El teu armari està xifrat per privadesa. Fes servir un signer compatible amb el xifratge NIP-44 (com Alby, nos2x o Amber).", + learnSigners: "Aprèn sobre els signers", + select: "Selecciona", + stash: "Armari", + wishlist: "Llista de desitjos", + allCategories: "Totes les categories", + sortNewest: "Més nous", + sortValue: "Valor", + sortCondition: "Estat", + sortAz: "A–Z", + friendsOnly: "Només amics", + addToWishlist: "Afegeix a la llista de desitjos", + addItemToStash: "Afegeix un article a l'armari", + addItem: "Afegeix un article", + editItem: "Edita l'article", + publicStash: "Armari públic", + listView: "Vista de llista", + gridView: "Vista de graella", + uploading: "Pujant...", + addPhotos: "Afegeix fotos", + wishlistReqPlaceholder: "Requisits concrets...", + itemDescPlaceholder: "Descriu l'article, si té cap desperfecte...", + itemsCount: "{{count}} article(s)", + wishlistEmpty: "Llista de desitjos buida", + wishlistEmptyDesc: "Afegeix material que busquis — et posarem en contacte amb els armaris dels teus amics.", + stashEmpty: "El teu armari és buit", + stashEmptyDesc: "Comença a controlar el teu material. Taulells, eixos, sabates — afegeix-ho un cop i tingues-ho a tot arreu via Nostr.", + noMatch: "Cap article coincideix", + noMatchDesc: "Prova d'ajustar els filtres.", + backupTransfer: "Còpia de seguretat i transferència", + backupDesc: "El teu armari està xifrat a Nostr. Guarda'n una còpia que controlis — un relay caigut o un compte nou no poden fer-te perdre la llista de material.", + exportTitle: "Còpia de seguretat xifrada", + exportDialogDesc: "Desa {{count}} article(s) en un fitxer. Xifra'l perquè un fitxer filtrat no sigui una fuita.", + modePassword: "Contrasenya", + modeKey: "La meva clau", + password: "Contrasenya", + confirmPassword: "Confirma la contrasenya", + passwordHint: "Fes servir com a mínim 8 caràcters. No hi ha recuperació — no l'oblidis.", + keyModeHint: "Xifrat amb la teva clau de Nostr. Només aquella clau el pot obrir — res a recordar.", + exportPlaintext: "Exporta sense xifratge", + pwTooShort: "Fes servir com a mínim 8 caràcters.", + pwMismatch: "Les contrasenyes no coincideixen.", + exportFailed: "No s'ha pogut crear la còpia de seguretat.", + unlockTitle: "Desbloqueja la còpia de seguretat", + unlockDesc: "Aquesta còpia de seguretat està protegida amb contrasenya.", + unlock: "Desbloqueja", + unlockFailed: "No s'ha pogut desbloquejar la còpia de seguretat.", + show: "Mostra", + hide: "Amaga", + strength: "Fortalesa de la contrasenya", + strengthWeak: "Feble", + strengthFair: "Acceptable", + strengthGood: "Bona", + strengthStrong: "Forta", + filenameWillSave: "Es desarà com a {{name}}", + export: "Exporta", + import: "Importa", + exported: "Armari exportat", + exportedDesc: "{{count}} articles desats en un fitxer.", + noItemsInFile: "No s'ha trobat cap article en aquest fitxer.", + noValidItems: "No s'ha trobat cap article vàlid en aquest fitxer.", + imported: "S'han importat {{count}} articles", + importSkipped: "{{count}} omesos (ja eren al teu armari).", + importAdded: "Afegits al teu armari.", + importFailed: "La importació ha fallat", + couldNotRead: "No s'ha pogut llegir aquest fitxer.", + updateFailed: "No s'ha pogut actualitzar el teu armari", + updatedCount: "S'han actualitzat {{count}} articles", + markedForSale: "S'han marcat {{count}} per vendre", + unmarkedCount: "S'han desmarcat {{count}}", + removedCount: "S'han eliminat {{count}} articles", + selectedCount: "{{count}} seleccionats", + selectAll: "Selecciona-ho tot", + visibilityPublic: "Públic", + visibilityPrivate: "Privat", + forSale: "En venda", + remove: "Elimina", + bulkDeleteTitle: "Vols eliminar {{count}} articles?", + bulkDeleteDesc: "Això reescriu el teu armari xifrat amb una sola signatura i no es pot desfer aquí. Exporta una còpia de seguretat primer si no n'estàs segur.", + deleteTitle: "Vols treure-ho del teu armari?", + deleteDesc: "«{{title}}» s'eliminarà del teu armari", + deleteDescPublic: " i es retirarà de la teva vitrina pública", + deleteUndone: ". Això no es pot desfer.", + deleteDescGeneric: "Aquest article s'eliminarà del teu armari. Això no es pot desfer.", + listOnMarketplace: "Publica al mercat", + noPriceSet: "Sense preu", + categoryLabel: "Categoria", + photosLabel: "Fotos", + willingToSell: "Disposat a vendre", + willingToTrade: "Disposat a intercanviar", + whereIsThisItem: "On és aquest article?", + visibilityLabel: "Visibilitat", + visibilityPrivateOnlyYou: "Privat - Només tu", + visibilityFriendsMutual: "Amics - Seguiments mutus", + visibilityPublicAnyone: "Públic - Tothom", + visibilityFriends: "Amics", + brandLabel: "Marca", + sizeLabel: "Mida", + descriptionLabel: "Descripció", + conditionLabel: "Estat", + itemName: "Nom de l'article", + saveChanges: "Desa els canvis", + listItemDialogTitle: "Publica «{{title}}»", + pickUpWhere: "On poden recollir l'article els compradors?", + linkToSpot: "Vincula a un skate spot", + linkToSpotDesc: "Millor per a vendes locals • Es mostra a la pàgina del spot i al mapa", + recommended: "Recomanat", + noSpecificSpot: "Cap spot concret", + noSpecificSpotDesc: "Visible només a la pàgina del mercat", + tipLinkedSpots: "💡 Consell: els anuncis vinculats a spots són més fàcils de trobar per als skaters locals.", + anyoneCanSee: "Qualsevol pot veure-ho al teu perfil.", + seeWhatOthersSee: "Mira què veuen els altres", + inventory: "Inventari", + publicWantsNote: "Els desitjos públics es publiquen al mercat com a anuncis de \"busco\", així els venedors et poden trobar.", + howItWorks: "Com funciona", + tapToMarketplace: "Toca per anar al mercat →", + viewWishlist: "Veure la llista de desitjos", + tipEditItems: "Edita els articles amb el botó del llapis", + tipListForSale: "Posa en venda amb el botó de la botiga", + tipAddPhotos: "Afegeix fotos per rebre millors ofertes d'intercanvi", + tipKeySyncs: "La clau de Nostr se sincronitza amb tots els dispositius", + itemsReadyToSell: "{{count}} article(s) a punt per vendre" + } + } +}; + +export default batch6; diff --git a/src/i18n/ca/batch7.ts b/src/i18n/ca/batch7.ts new file mode 100644 index 0000000..e028bc9 --- /dev/null +++ b/src/i18n/ca/batch7.ts @@ -0,0 +1,1599 @@ +const batch7 = { + "backup": { + "title": "Desa el teu inici de sessió", + "subtitle": "Només triga 10 segons: fes-ho un cop", + "message": "El teu codi de recuperació és l'única manera de tornar al teu compte. Desa'l i podràs iniciar sessió a qualsevol dispositiu.", + "warning": "Si el perds, no hi ha manera de restablir-lo: ni correu, ni recuperació de contrasenya.", + "backupNow": "Desa'l ara", + "confirmed": "Ja l'he desat", + "remindLater": "Més tard" + }, + "pwa": { + "installTitle": "Instal·la SkateSpots", + "installSubtitle": "Tingues l'experiència completa de l'app", + "addToHomeScreen": "Afegeix a la pantalla d'inici", + "installApp": "Instal·la l'app", + "maybeLater": "Potser més tard", + "gotIt": "Entesos!", + "benefits": { + "fast": "Ràpid com un llamp", + "offline": "Funciona sense connexió", + "fullAccess": "Accés complet" + }, + "iosStep1": "Toca el botó Compartir", + "iosStep1Hint": "a la part inferior del Safari", + "iosStep2": "Desplaça't i toca «Afegeix a la pantalla d'inici»", + "iosStep2Hint": "al menú de compartir", + "iosStep3": "Toca «Afegeix» per instal·lar", + "iosStep3Hint": "L'app apareixerà a la pantalla d'inici", + "androidStep1": "Toca el botó de menú", + "androidStep1Hint": "(tres punts) del navegador", + "androidStep2": "Tria «Afegeix a la pantalla d'inici»", + "androidStep2Hint": "o «Instal·la l'app»", + "androidStep3": "Confirma la instal·lació", + "androidStep3Hint": "L'app apareixerà a la pantalla d'inici", + "tagline": "Gratuït • Funciona sense connexió • Ràpid i fiable" + }, + "mapPage": { + "searchSuggestPlaces": "Llocs", + "title": "Botigues i spots", + "spots": "Spots", + "shops": "Botigues", + "filters": "Filtres", + "listView": "Llista", + "mapView": "Mapa", + "nearMe": "A prop meu", + "searchPlaceholder": "Cerca spots...", + "noSpotsInArea": "No hi ha spots en aquesta zona", + "zoomIn": "Amplia", + "zoomOut": "Redueix", + "myLocation": "La meva ubicació", + "locationsFound": "{{count}} llocs trobats", + "spotsOnly": "Només spots", + "shopsOnly": "Només botigues", + "spotsAndShops": "Spots i botigues", + "noSpotsMatch": "Cap spot coincideix amb els filtres.", + "noSpotsYet": "Encara no s'ha afegit cap spot.", + "addFirstSpot": "Afegeix el primer spot" + }, + "shops": { + "title": "Botigues de skate", + "addShop": "Afegeix una botiga", + "editShop": "Edita la botiga", + "shopDetails": "Detalls de la botiga", + "shopName": "Nom de la botiga", + "hours": "Horari", + "phone": "Telèfon", + "website": "Web", + "services": "Serveis", + "brands": "Marques", + "supportLocal": "Dona suport al comerç local", + "nip05": "NIP-05 de la botiga", + "nip05Hint": "Un identificador opcional que tu control·les per a aquesta botiga (p. ex. botiga@elteudomini.com), verificat amb la teva clau. Pots afegir-ne fins a 5." + }, + "wallet": { + "title": "Cartera", + "balance": "Saldo", + "send": "Envia", + "receive": "Rep", + "transactions": "Transaccions", + "history": "Historial", + "noTransactions": "Encara no hi ha transaccions", + "sendSats": "Envia sats", + "receiveSats": "Rep sats", + "amount": "Import", + "recipient": "Destinatari", + "lightning": "Lightning", + "onChain": "On-chain", + "invoice": "Factura", + "address": "Adreça", + "scanQR": "Escaneja el QR", + "paste": "Enganxa", + "payInvoice": "Paga la factura", + "createInvoice": "Crea una factura", + "copied": "Copiat al porta-retalls!", + "insufficientFunds": "Fons insuficients", + "paymentSent": "Pagament enviat!", + "paymentReceived": "Pagament rebut!", + "cashu": { + "title": "Cartera Cashu", + "tokens": "Tokens", + "mint": "Mint", + "mints": "Mints", + "manageMints": "Gestiona els mints", + "addMint": "Afegeix un mint", + "removeMint": "Treu el mint", + "defaultMint": "Mint per defecte", + "backup": "Còpia de seguretat", + "restore": "Restaura", + "recoveryPhrase": "Frase de recuperació", + "viewRecoveryPhrase": "Mostra la frase de recuperació", + "seedWarning": "És com la teva nsec de Nostr: mantén-la en secret i fes-ne una còpia de seguretat!" + } + }, + "settings": { + "title": "Configuració", + "profile": "Perfil", + "editProfile": "Edita el perfil", + "account": "Compte", + "security": "Seguretat", + "relays": "Relés", + "appearance": "Aparença", + "language": "Idioma", + "notifications": "Notificacions", + "privacy": "Privacitat", + "about": "Quant a", + "help": "Ajuda", + "feedback": "Comentaris", + "version": "Versió", + "displayName": "Nom visible", + "username": "Nom d'usuari", + "bio": "Bio", + "website": "Web", + "lightningAddress": "Adreça Lightning", + "profilePicture": "Foto de perfil", + "banner": "Banner", + "saveProfile": "Desa el perfil", + "backupKeys": "Còpia de seguretat de les claus", + "exportKeys": "Exporta les claus", + "secretKey": "Clau secreta", + "publicKey": "Clau pública", + "showSecretKey": "Mostra la clau secreta", + "hideSecretKey": "Amaga la clau secreta", + "copyKey": "Copia la clau", + "keysBackedUp": "Has confirmat que les teves claus estan ben desades.", + "keysNotBackedUp": "Assegura't de fer una còpia de la frase de recuperació o de la clau secreta!", + "selectLanguage": "Tria l'idioma", + "english": "Anglès", + "spanish": "Castellà" + }, + "lab": { + "title": "The Lab", + "subtitle": "Puja de nivell patinant", + "coaches": "Entrenadors", + "filmers": "Filmers", + "findCoach": "Troba un entrenador", + "becomeCoach": "Fes-te entrenador", + "findFilmer": "Troba un filmer", + "becomeFilmer": "Fes-te filmer", + "hourlyRate": "Tarifa per hora", + "experience": "Experiència", + "specialties": "Especialitats", + "availability": "Disponibilitat", + "bookSession": "Reserva una sessió", + "contactCoach": "Contacta l'entrenador", + "noCoaches": "No s'ha trobat cap entrenador a la teva zona", + "noFilmers": "No s'ha trobat cap filmer a la teva zona" + }, + "rewards": { + "title": "Recompenses", + "yourPoints": "Els teus punts", + "earnPoints": "Guanya punts", + "redeemPoints": "Bescanvia punts", + "leaderboard": "Classificació", + "achievements": "Assoliments", + "dailyTasks": "Tasques diàries", + "weeklyTasks": "Tasques setmanals" + }, + "zaps": { + "zapButton": "Zap", + "sendZap": "Envia un zap", + "zapAmount": "Import del zap", + "customAmount": "Import personalitzat", + "addMessage": "Afegeix un missatge (opcional)", + "sending": "S'està enviant...", + "sent": "Zap enviat!", + "failed": "El zap ha fallat", + "received": "Has rebut un zap!" + }, + "errors": { + "somethingWentWrong": "Alguna cosa ha anat malament", + "tryAgainLater": "Torna-ho a provar més tard", + "notFound": "No s'ha trobat", + "pageNotFound": "No s'ha trobat la pàgina", + "unauthorized": "No autoritzat", + "loginRequired": "Inicia sessió per continuar", + "networkError": "Error de xarxa", + "checkConnection": "Comprova la connexió a internet", + "invalidInput": "Entrada no vàlida", + "requiredField": "Aquest camp és obligatori" + }, + "time": { + "today": "Avui", + "yesterday": "Ahir", + "tomorrow": "Demà", + "thisWeek": "Aquesta setmana", + "nextWeek": "La setmana que ve", + "thisMonth": "Aquest mes", + "justNow": "Ara mateix", + "minutesAgo": "Fa {{count}} minuts", + "hoursAgo": "Fa {{count}} hores", + "daysAgo": "Fa {{count}} dies" + }, + "footer": { + "vibedWith": "Fet amb", + "poweredBy": "Impulsat per", + "openSource": "Codi obert", + "contribute": "Col·labora", + "decentralized": "Descentralitzat", + "communityOwned": "Propietat de la comunitat" + }, + "createSpot": { + "title": "Afegeix un spot de skate", + "subtitle": "Comparteix un spot de skate amb la comunitat", + "backToMap": "Torna al mapa", + "namePlaceholder": "p. ex. Institut Hollywood", + "descriptionPlaceholder": "Descriu el spot, els obstacles, les millors hores per patinar, informació sobre la seguretat, etc.", + "addressPlaceholder": "p. ex. 1521 N Highland Ave, Los Angeles, CA", + "selectType": "Tria el tipus de spot", + "selectBustLevel": "Tria el nivell de risc d'expulsió", + "uploadPhotos": "Puja", + "dragDrop": "Arrossega i deixa anar, o fes clic per pujar", + "maxPhotos": "Màxim 5 fotos", + "publishing": "S'està publicant...", + "success": "Spot publicat correctament!", + "error": "No s'ha pogut publicar el spot", + "locationRequired": "Selecciona una ubicació al mapa", + "useCurrentLocation": "Utilitza la meva ubicació actual", + "pickOnMap": "Tria la ubicació al mapa", + "loginToAdd": "Has d'iniciar sessió per afegir un spot de skate.", + "locationLabel": "Ubicació", + "tapToPlace": "Toca el mapa per col·locar el marcador o arrossega'l per ajustar-lo.", + "manualCoords": "Introdueix les coordenades manualment", + "moreDetails": "Més detalls (opcional)", + "photoHint": "cal una foto per publicar", + "nameRequired": "Escriu un nom per a aquest spot.", + "descriptionRequired": "Descriu aquest spot.", + "addressRequired": "Afegeix una adreça o el nom de la zona.", + "photoRequired": "Afegeix com a mínim una foto.", + "draftTitle": "Tens un esborrany sense desar", + "draftBody": "Continua on ho vas deixar o descarta'l.", + "draftResume": "Continua", + "draftDiscard": "Descarta l'esborrany", + "requiredFields": "Explica'ns com és aquest spot. Tots els camps amb * són obligatoris.", + "coordinates": "Coordenades", + "latitudePlaceholder": "Latitud (p. ex. 34.1012)", + "longitudePlaceholder": "Longitud (p. ex. -118.3389)", + "gettingLocation": "S'està obtenint la ubicació...", + "accessType": "Tipus d'accés", + "publicTitle": "Públic: obert a tothom", + "publicDesc": "Skateparks, places públiques, spots de carrer", + "privateTitle": "Propietat privada: cal permís", + "privateDesc": "Rampes al pati, terrenys privats, spots amb porta", + "localsTitle": "Pregunta primer als locals", + "localsDesc": "Respecta el spot i no el cremis", + "contactInfo": "Informació de contacte", + "contactPlaceholder": "p. ex. telèfon, Instagram, correu...", + "contactHintPrivate": "Com vols que la gent et contacti per demanar permís?", + "contactHintLocals": "Com vols que la gent es posi en contacte per preguntar pel spot?" + }, + "createEvent": { + "title": "Crea un esdeveniment", + "subtitle": "Organitza un esdeveniment de skate per a la comunitat", + "backToEvents": "Torna als esdeveniments", + "namePlaceholder": "p. ex. Sessió de skate d'estiu", + "descriptionPlaceholder": "Descriu l'esdeveniment, què hi trobaran, les normes, els premis, etc.", + "selectType": "Tria el tipus d'esdeveniment", + "venuePlaceholder": "p. ex. Skatepark de la Barceloneta, Barcelona", + "selectDate": "Tria la data", + "selectTime": "Tria l'hora", + "ticketPricePlaceholder": "Deixa-ho buit si l'entrada és gratuïta", + "publishing": "S'està publicant...", + "success": "Esdeveniment publicat correctament!", + "error": "No s'ha pogut publicar l'esdeveniment", + "loginToCreate": "Has d'iniciar sessió per crear un esdeveniment.", + "requiredFields": "Explica'ns com serà aquest esdeveniment. Tots els camps amb * són obligatoris.", + "startDateTime": "Data i hora d'inici", + "endDateTime": "Data i hora de fi (opcional)", + "coordinatesOptional": "Coordenades (opcional)", + "coverImage": "Imatge de portada", + "uploadCover": "Puja una imatge de portada", + "nip05Recommended": "Es recomana la verificació NIP-05", + "nip05Desc": "Afegeix un identificador NIP-05 al teu perfil per verificar la teva identitat i generar confiança amb els assistents.", + "addNip05": "Afegeix NIP-05 a Configuració" + }, + "spotDetail": { + "postedBy": "Publicat per", + "getDirections": "Com arribar-hi", + "reviews": "Ressenyes", + "noReviews": "Encara no hi ha ressenyes", + "beFirstReview": "Sigues el primer a ressenyar aquest spot!", + "writeReview": "Escriu una ressenya", + "submitReview": "Envia la ressenya", + "rating": "Valoració", + "reviewPlaceholder": "Comparteix la teva experiència en aquest spot...", + "relatedSpots": "Spots a prop" + }, + "eventDetail": { + "organizedBy": "Organitzat per", + "eventInfo": "Info de l'esdeveniment", + "location": "Ubicació", + "dateTime": "Data i hora", + "price": "Preu", + "attendeeCount": "{{count}} hi van", + "interested": "M'interessa", + "going": "Hi vaig", + "notGoing": "No hi vaig", + "share": "Comparteix l'esdeveniment" + }, + "profile": { + "posts": "Publicacions", + "spots": "Spots", + "events": "Esdeveniments", + "following": "Seguint", + "followers": "Seguidors", + "editProfile": "Edita el perfil", + "follow": "Segueix", + "unfollow": "Deixa de seguir", + "noPostsYet": "Encara no hi ha publicacions", + "noBio": "Encara no hi ha bio", + "zapProfile": "Fes un zap a aquest skater" + }, + "about": { + "title": "Quant a SkateSpots", + "subtitle": "Una comunitat de skate descentralitzada", + "whatIs": "Què és SkateSpots?", + "whatIsDesc": "SkateSpots és una plataforma impulsada per la comunitat per descobrir llocs on patinar arreu del món. Està construïda sobre Nostr i dona als skaters la propietat real de les seves dades.", + "features": "Funcions", + "featuresDesc": "Troba spots, crea esdeveniments, connecta amb entrenadors i dona suport a les botigues de skate del teu barri, tot en un sol lloc.", + "nostr": "Construït sobre Nostr", + "nostrDesc": "Nostr és un protocol obert i senzill que permet una comunicació global realment resistent a la censura. El teu compte i les teves dades són teves.", + "openSource": "Codi obert", + "openSourceDesc": "SkateSpots és completament de codi obert. Col·labora-hi, fes-ne un fork o allotja la teva pròpia instància.", + "lightning": "Pagaments Lightning", + "lightningDesc": "Fes zaps als teus skaters, entrenadors i creadors de contingut preferits amb pagaments Bitcoin Lightning." + }, + "faq": { + "title": "Preguntes freqüents", + "subtitle": "Tot el que necessites saber sobre SkateSpots", + "whatIsNostr": "Què és Nostr?", + "whatIsNostrAnswer": "Nostr és un protocol obert per a xarxes socials descentralitzades. A diferència de les plataformes tradicionals, les teves dades i la teva identitat són teves.", + "howToStart": "Com començo?", + "howToStartAnswer": "Fes clic a «Registra't» per crear un compte de Nostr nou, o a «Inicia sessió» si ja en tens un. Pots fer servir una extensió del navegador, una app mòbil o una clau secreta.", + "whatAreZaps": "Què són els zaps?", + "whatAreZapsAnswer": "Els zaps són propines en Bitcoin Lightning que pots enviar a altres usuaris. Són una manera d'agrair contingut de qualitat o donar suport als creadors.", + "howToAddSpot": "Com afegeixo un spot?", + "howToAddSpotAnswer": "Inicia sessió al teu compte, fes clic a «Afegeix un spot» i omple els detalls: ubicació, fotos i descripció.", + "isItFree": "SkateSpots és gratuït?", + "isItFreeAnswer": "Sí! SkateSpots és completament gratuït. Opcionalment pots enviar zaps (propines en Bitcoin) a altres usuaris.", + "canIEditSpot": "Puc editar o eliminar els meus spots?", + "canIEditSpotAnswer": "Sí, pots editar els spots que hagis creat. Com que Nostr és descentralitzat, les sol·licituds d'eliminació s'envien, però alguns relés poden conservar les dades." + }, + "onboarding": { + "welcome": "Benvingut a SkateSpots!", + "welcomeDesc": "En uns quants passos ja estaràs a punt.", + "step1Title": "Crea el teu compte", + "step1Desc": "S'estan generant les teves claus de Nostr. És com una contrasenya que tu control·les.", + "step2Title": "Fes una còpia de seguretat de les claus", + "step2Desc": "Desa la teva frase de recuperació en un lloc segur. És l'única manera de recuperar el compte!", + "step3Title": "Configura el teu perfil", + "step3Desc": "Explica a la comunitat qui ets.", + "step4Title": "Ja estàs a punt!", + "step4Desc": "Comença a explorar spots i esdeveniments, i connecta amb altres skaters.", + "skipForNow": "Omet-ho de moment", + "continueToApp": "Continua a l'app" + }, + "labPage": { + "title": "The Lab", + "subtitle": "Aprèn trucs. Captura moments. Connecta amb altres skaters", + "coachesTab": "Entrenament", + "filmersTab": "Filmació", + "offerCoaching": "OFEREIX ENTRENAMENT", + "offerFilming": "OFEREIX FILMACIÓ", + "loginToOffer": "Inicia sessió per oferir serveis", + "whatToLearn": "QUÈ VOLS APRENDRE?", + "whatContent": "QUIN TIPUS DE CONTINGUT?", + "selectSkillsDesc": "Tria habilitats i et posarem en contacte amb entrenadors", + "selectFilmingDesc": "Tria els serveis de filmació que busques", + "searchPlaceholder": "Cerca per nom, ubicació o habilitats...", + "noServicesYet": "ENCARA NO HI HA SERVEIS", + "beFirstToOffer": "Sigues el primer a oferir entrenament o filmació a la comunitat!", + "skills": "Habilitats", + "rate": "Tarifa", + "perHour": "/hora", + "contact": "Contacte", + "viewProfile": "Veure el perfil", + "noProfilesYet": "Encara no hi ha perfils", + "beFirstCoach": "Sigues el primer a registrar-te com a entrenador!", + "beFirstFilmer": "Sigues el primer a registrar-te com a filmer!", + "yearsExperience": "anys d'experiència" + }, + "becomeCoach": { + "title": "Fes-te entrenador", + "subtitle": "Comparteix les teves habilitats i ajuda altres skaters a progressar", + "bioPlaceholder": "Explica'ns la teva trajectòria al skate i el teu estil d'ensenyament...", + "skillsPlaceholder": "p. ex. kickflip, heelflip, grinds, bowls", + "selectSkills": "Tria les habilitats que pots ensenyar", + "hourlyRate": "Tarifa per hora (sats)", + "ratePlaceholder": "p. ex. 5000", + "locationPlaceholder": "La teva ciutat o zona", + "publishing": "S'està publicant el perfil...", + "success": "Perfil d'entrenador creat!", + "error": "No s'ha pogut crear el perfil" + }, + "becomeFilmer": { + "title": "Fes-te filmer", + "subtitle": "Captura els millors clips per a la comunitat", + "bioPlaceholder": "Explica'ns la teva experiència filmant i el teu equip...", + "specialtiesPlaceholder": "p. ex. ull de peix, teleobjectiu, dron, edició", + "selectSpecialties": "Tria les teves especialitats", + "hourlyRate": "Tarifa per hora (sats)", + "ratePlaceholder": "p. ex. 5000", + "locationPlaceholder": "La teva ciutat o zona", + "portfolioUrl": "URL del portafoli", + "portfolioPlaceholder": "Enllaç a la teva feina (YouTube, Instagram, etc.)", + "publishing": "S'està publicant el perfil...", + "success": "Perfil de filmer creat!", + "error": "No s'ha pogut crear el perfil" + }, + "skills": { + "kickflip": "Kickflip", + "heelflip": "Heelflip", + "ollie": "Ollie", + "treflip": "360 Flip", + "shuvit": "Shuvit", + "hardflip": "Hardflip", + "varial": "Varial", + "nollie": "Nollie", + "fakie": "Fakie", + "switch": "Switch", + "grind": "Grind", + "slide": "Slide", + "manual": "Manual", + "transition": "Transició", + "bowl": "Bowl", + "vert": "Vert", + "street": "Street", + "flatground": "Pla" + }, + "food": { + "title": "Spots per menjar", + "subtitle": "Recarrega abans o després de la sessió", + "addFood": "Afegeix un lloc per menjar", + "categories": { + "all": "Tot", + "burgers": "Hamburgueses", + "pizza": "Pizza", + "tacos": "Tacos", + "coffee": "Cafè", + "drinks": "Begudes", + "snacks": "Snacks" + }, + "skaterFriendly": "Apte per a skaters", + "nearSpots": "A prop de spots de skate" + }, + "weather": { + "title": "Temps", + "current": "Condicions actuals", + "forecast": "Previsió", + "humidity": "Humitat", + "wind": "Vent", + "feelsLike": "Sensació de", + "goodForSkating": "Bon moment per patinar!", + "notIdeal": "Condicions no ideals", + "allWeather": "Qualsevol temps", + "goodWeather": "Bon temps", + "perfectWeather": "Temps perfecte" + }, + "diyUi": { + "title": "DIY: fes-ho tu mateix", + "tagline": "Guies, eines obertes i plans per construir les teves pròpies taules, rampes i spots de formigó, i després trobar la gent, els llocs i el mercat que hi van lligats.", + "doItWithPeople": "Fes-ho amb gent", + "backToDiy": "Torna a DIY", + "calc": { + "title": "Calculadora de cost de taula", + "intro": "Quant costa fer una taula: mà d'obra, equip, materials, temps de procés, embalatge i marge, i un preu de venda just. Es desa en aquest dispositiu." + }, + "designer": { + "title": "Dissenyador de taules", + "intro": "Dibuixa el contorn d'un skate o un longboard i exporta una plantilla imprimible a escala 1:1, un SVG o un DXF per a CNC. Es desa en aquest dispositiu.", + "presets": "Preconfiguracions", + "dimensions": "Dimensions", + "shape": "Forma", + "kicks": "Kicks", + "hardware": "Forats dels eixos", + "width": "Amplada màxima", + "wheelbase": "Distància entre eixos", + "nose": "Longitud del nose", + "tail": "Longitud del tail", + "length": "Longitud total", + "waist": "Cintura", + "endRound": "Arrodoniment dels extrems", + "concave": "Còncau", + "thickness": "Gruix", + "tailKick": "Kick del tail", + "noseKick": "Kick del nose", + "holeNew": "New school (2.125″)", + "holeOld": "Old school (2.5″)", + "holeSpacing": "El new school fa 2.125″ × 1.625″ (54 × 41 mm); l'old school, 2.5″ × 1.625″. Forats de muntatge de 3/16″.", + "topView": "Vista superior", + "sideView": "Perfil lateral", + "concaveSection": "Secció del còncau", + "export": "Exporta", + "pdfA4": "PDF 1:1 · A4", + "pdfLetter": "PDF 1:1 · Letter", + "printNote": "Imprimeix el PDF al 100 % (sense «ajusta a la pàgina») i uneix els fulls amb les creus de les cantonades. L'SVG també és a mida real.", + "note": "Aquest és el contorn 2D que dibuixes i talles. Per a formes 3D completes i disseny de motlles, una eina CAD de veritat continua sent la millor opció." + }, + "source": "Font", + "comingSoon": "Properament", + "footer": "Les guies pas a pas estan en camí. De moment: troba la gent que construeix a The Lab, marca el teu spot al mapa i compra o ven al Mercat. Treballa amb seguretat: proteccions, guants i ulleres.", + "categories": { + "boards": "Taules", + "ramps": "Rampes i obstacles de fusta", + "concrete": "Formigó i spots DIY", + "repairs": "Reparacions i ajustos", + "tools": "Eines i plans" + }, + "cards": { + "ossBuild": { + "title": "Construeix un skate", + "blurb": "Fabricació de taules pas a pas: fusta, motlles, premses i acabats." + }, + "sk8cad": { + "title": "SK8CAD", + "blurb": "CAD de codi obert per a formes de taula, còncau i disseny de motlles." + }, + "deckCost": { + "title": "Cost i preu de la taula", + "blurb": "Calcula materials, mà d'obra i un preu de venda just abans de construir." + }, + "deckDesigner": { + "title": "Dissenyador de taules", + "blurb": "Dibuixa un contorn i imprimeix una plantilla 1:1, o exporta SVG/DXF per a CNC." + }, + "ledgeBox": { + "title": "Construeix un ledge o un box", + "blurb": "Un obstacle de fusta apte per a principiants que pots fer en un cap de setmana." + }, + "quarterpipe": { + "title": "Construeix un quarterpipe", + "blurb": "Plans de rampa, transició i coping per a un mini al pati." + }, + "flatbar": { + "title": "Construeix una barra plana", + "blurb": "Barata, portàtil i la millor manera d'aprendre a fer rails." + }, + "concreteBasics": { + "title": "Nocions bàsiques del formigó", + "blurb": "Barrejar, encofrar i acabar un ledge o un bank que duri." + }, + "coping": { + "title": "Coping i arestes", + "blurb": "Com col·locar el coping i acabar una transició perquè llisqui bé." + }, + "buyParts": { + "title": "Compra peces i equip", + "blurb": "Troba taules, ferramentes i eines de venedors del Mercat." + }, + "mapSpot": { + "title": "Marca el teu spot DIY", + "blurb": "Has construït alguna cosa? Afegeix-la al mapa perquè altres la trobin i la puguin patinar." + }, + "regrip": { + "title": "Canvia el grip d'una taula", + "blurb": "Treu el grip vell i posa'n de nou sense bombolles." + }, + "tune": { + "title": "Ajusta rodaments i eixos", + "blurb": "Neteja els rodaments, canvia els bushings i ajusta la geometria dels eixos." + }, + "printMolds": { + "title": "Motlles impresos en 3D", + "blurb": "Fitxers de motlles i bases d'alineació imprimibles de la comunitat." + }, + "sk8cadTools": { + "title": "Eines de motlles i alineació", + "blurb": "Dissenya motlles amb bases d'alineació integrades." + } + }, + "actions": { + "findBuilder": { + "title": "Troba un constructor", + "blurb": "Constructors de rampes i DIY de The Lab que poden dissenyar-ho o abocar-ho per tu." + }, + "findCrew": { + "title": "Troba una colla DIY", + "blurb": "Colles centrades a construir: uneix-te a les que fan realitat els spots." + }, + "mapSpot": { + "title": "Marca un spot DIY", + "blurb": "Afegeix el spot que has construït perquè visqui al mapa." + }, + "sellBuilds": { + "title": "Ven les teves construccions", + "blurb": "Publica taules, rampes o peces que facis al Mercat." + }, + "findCoach": { + "title": "Troba un entrenador", + "blurb": "Entrenadors que ensenyen mòduls de skate DIY i construcció de spots." + } + } + }, + "seoUi": { + "becomeBuilderTitle": "Fes-te constructor - SkateSpots", + "becomeBuilderDesc": "Publica els teus serveis de construcció de rampes, parcs i DIY: què construeixes, materials i escala.", + "tradesTitle": "Els meus intercanvis — SkateSpots", + "tradesDesc": "Gestiona els teus intercanvis al mercat, les confirmacions i la reputació.", + "eventsTitle": "Esdeveniments i rutes de skate - SkateSpots", + "eventsDesc": "Descobreix esdeveniments de skate, competicions, rutes i sessions a prop teu.", + "editShopDesc": "Edita la teva botiga de skate.", + "createTourDesc": "Organitza rutes de skate: rutes locals pels racons amagats, viatges nacionals, aventures internacionals o competicions de destrucció a l'estil KOTR.", + "deckDesignerTitle": "Dissenyador de taules — DIY de SkateSpots", + "deckDesignerDesc": "Dissenya el contorn d'un skate o un longboard i exporta una plantilla imprimible 1:1, SVG o DXF, amb còncau, kicks, distància entre eixos i forats dels eixos.", + "createEventTitle": "Crea un esdeveniment de skate - SkateSpots", + "createEventDesc": "Crea un esdeveniment de skate nou per a la comunitat.", + "editTourDesc": "Edita la teva ruta de skate: actualitza les parades, les dates i els detalls.", + "walletTitle": "Cartera - SkateSpots", + "walletDesc": "Connecta la teva cartera Lightning per enviar zaps a skaters i creadors de spots.", + "becomePhotographerTitle": "Fes-te fotògraf - SkateSpots", + "becomePhotographerDesc": "Crea el teu perfil de fotografia de skate: càmeres, objectius, il·luminació i serveis.", + "newsletterTitle": "Butlletí - SkateSpots", + "newsletterDesc": "Novetats setmanals de la comunitat de SkateSpots. Actualitzacions de l'app, spots nous, esdeveniments i la gent que manté el skate viu.", + "homeTitle": "SkateSpots - Descobreix llocs on patinar arreu del món", + "zapLeaderboardTitle": "Classificacions de zaps - SkateSpots", + "zapLeaderboardDesc": "Els spots de skate amb més zaps i els membres de la comunitat que els donen suport.", + "adminReviewTitle": "Cua de revisió — SkateSpots", + "gearSwapTitle": "Intercanvi d'equip - SkateSpots", + "gearSwapDesc": "Compra i ven equip de skate de segona mà amb altres skaters. Taules, eixos, rodes, sabates i molt més.", + "donateTitle": "Fes una donació — SkateSpots", + "donateDesc": "Dona suport a SkateSpots: Lightning, on-chain privat (silent payments) o finança el projecte a Angor.", + "verifyCardTitle": "Verificació — SkateSpots", + "verifyCardDesc": "Verifica una targeta de SkateSpots o un passi d'accés.", + "mapTitle": "Mapa de spots de skate - SkateSpots", + "mapDesc": "Explora spots de skate d'arreu del món al nostre mapa interactiu.", + "diyTitle": "DIY — Fes-ho tu mateix | SkateSpots", + "diyDesc": "Guies, eines obertes i plans per fer els teus propis skates, rampes i spots de formigó, i la gent i els llocs per fer-ho.", + "appShopTitle": "Botiga de l'app — SkateSpots", + "becomeSkaterTitle": "Uneix-te al directori de skaters - SkateSpots", + "becomeSkaterDesc": "Crea el teu perfil de skater perquè la comunitat et pugui trobar.", + "marketplaceTitle": "Mercat - SkateSpots", + "marketplaceDesc": "Compra i ven equip de skate al Plebeian Market descentralitzat.", + "becomeEditorTitle": "Fes-te editor de vídeo - SkateSpots", + "becomeEditorDesc": "Crea el teu perfil d'editor de vídeo de skate a SkateSpots.", + "amberCallbackTitle": "Iniciant sessió amb Amber - SkateSpots", + "amberCallbackDesc": "S'està completant l'inici de sessió amb Amber (NIP-55).", + "supportersTitle": "Col·laboradors - SkateSpots", + "supportersDesc": "La comunitat que manté viu SkateSpots: col·laboradors, socis i amics.", + "becomeCoachTitle": "Fes-te entrenador - SkateSpots", + "becomeCoachDesc": "Crea el teu perfil d'entrenador de skate.", + "riderCardTitle": "Targeta de skater — SkateSpots", + "riderCardDesc": "Crea la teva llicència de skater o targeta d'accés al parc de SkateSpots per imprimir.", + "editEventDesc": "Edita el teu esdeveniment de skate.", + "createShopTitle": "Afegeix una botiga de skate - SkateSpots", + "createShopDesc": "Afegeix la teva botiga de skate a la comunitat.", + "deckCostTitle": "Calculadora de cost de taules — DIY de SkateSpots", + "deckCostDesc": "Calcula quant costa fer una taula (mà d'obra, equip, materials, temps de procés, embalatge i marge) i un preu de venda just.", + "pyramidTitle": "Classificació piramidal - SkateSpots", + "pyramidDesc": "Els principals col·laboradors i líders de la comunitat.", + "foodTitle": "Menjar a prop dels spots - SkateSpots", + "foodDesc": "Troba restaurants, cafeteries i opcions per menjar a prop dels spots de skate.", + "createListingTitle": "Publica equip - SkateSpots", + "createListingDesc": "Publica equip de skate per vendre o troba l'equip que vols comprar.", + "becomeFilmerTitle": "Fes-te filmer - SkateSpots", + "becomeFilmerDesc": "Crea el teu perfil de filmació de skate.", + "skatersTitle": "Skaters - SkateSpots", + "skatersDesc": "Descobreix skaters de la comunitat de SkateSpots. Filtra per estil, postura, nivell i ubicació.", + "communityStatsTitle": "Estadístiques de la comunitat — SkateSpots", + "communityStatsDesc": "Mètriques en directe de la comunitat de SkateSpots: spots, esdeveniments, entrenadors, filmers, editors, rutes i creixement al llarg del temps. Directament de Nostr.", + "labTitle": "The Lab - SkateSpots", + "labDesc": "Troba entrenadors, filmers, fotògrafs i editors de vídeo de skate.", + "stashTitle": "El meu Stash - SkateSpots", + "stashDesc": "Gestiona el teu inventari privat d'equip. Controla què tens i què vols vendre o intercanviar.", + "bountyLeaderboardTitle": "Marca i guanya - SkateSpots", + "bountyLeaderboardDesc": "Marca spots i botigues de skate al mapa i guanya zaps de la comunitat. Consulta els principals col·laboradors.", + "spotCollectionsTitle": "Les meves col·leccions de spots - SkateSpots", + "spotCollectionsDesc": "Organitza els teus spots de skate preferits en col·leccions personalitzades", + "mintsTitle": "Mints Cashu — SkateSpots", + "mintsDesc": "Explora els mints de Cashu, comprova'n l'estat i afegeix-ne un a la teva cartera." + }, + "statusUi": { + "quickStatus": "Estat ràpid", + "skating": "Patinant", + "skatingDesc": "Ara mateix estàs patinant", + "filming": "Filmant", + "filmingDesc": "Filmant trucs", + "lookingForSesh": "Busco sessió", + "lookingForSeshDesc": "Vols patinar amb altres", + "coaching": "Entrenant", + "coachingDesc": "Ensenyant o entrenant", + "chilling": "Relax", + "chillingDesc": "Passant l'estona al spot", + "onMyWay": "De camí", + "onMyWayDesc": "Anant cap a un spot", + "takingABreak": "Fent una pausa", + "takingABreakDesc": "Descansant i bevent aigua", + "doneForToday": "Ja he acabat", + "doneForTodayDesc": "Has acabat de patinar" + }, + "sasquatchGuide": { + "homeTitle": "Benvingut a SkateSpots! 🦧", + "homeMessage": "Hola, soc el Sasquatch. Guardo les taules, els camins i les aventures més salvatges. Benvingut al món del skate sense domesticar a Nostr: sense vestits, sense anuncis, només skaters que es fan el seu propi camí. Aquí les teves piruetes i les teves dades són teves, i fins i tot pots guanyar Bitcoin per deixar la teva petjada. Connecta amb skaters del teu barri o de l'altra punta del món. Cap norma tret de patinar, cap petjada tret de la teva.", + "homeQ1": "Planifica'm 3 dies a Barcelona", + "homeQ2": "Troba spots per a principiants", + "homeQ3": "Hi ha esdeveniments aviat?", + "homeQ4": "Estadístiques de la comunitat", + "homeQ5": "Troba entrenadors a prop meu", + "homeQ6": "Equip a la venda?", + "homeQ7": "Què és Nostr?", + "homeQ8": "Això és gratuït?", + "homeLearnMore": "Més informació", + "onboardingTitle": "Primers passos 🚀", + "onboardingMessage": "Deixa'm explicar-te les bases! Nostr és la teva identitat, Bitcoin Lightning et permet guanyar sats per les teves aportacions i els zaps són propines instantànies. Pregunta'm el que vulguis per començar!", + "onboardingQ1": "Com inicio sessió?", + "onboardingQ2": "Què és Nostr?", + "onboardingQ3": "Com funciona Nostr?", + "onboardingQ4": "Què és Cashu?", + "onboardingQ5": "Com es fa servir la cartera Cashu?", + "onboardingQ6": "Què són els mints?", + "onboardingQ7": "Què són els zaps?", + "onboardingQ8": "Què és NWC?", + "onboardingStart": "Comença a explorar", + "onboardingLogin": "Inicia sessió per començar", + "labTitle": "Benvingut a The Lab! 🎓", + "labMessage": "Aquí és on passa la màgia! Troba entrenadors que t'ensenyin des d'un kickflip fins a un darkslide, o connecta amb filmers per capturar les teves millors sessions. Filtra per habilitats, mira la seva experiència i reserva una sessió. Recorda: tothom va començar d'alguna manera!", + "labQ1": "Troba entrenadors", + "labQ2": "Troba filmers", + "labQ3": "Troba fotògrafs", + "labQ4": "Troba editors de vídeo", + "labQ5": "Troba un constructor de rampes", + "labQ6": "Què és The Lab?", + "labQ7": "Què és un constructor?", + "labQ8": "Com ofereixo entrenament?", + "labLogin": "Inicia sessió per oferir serveis", + "crewsTitle": "Colles 🤘", + "crewsMessage": "Les colles són la teva família skater ancorada al mapa: la gent amb qui patines, no qui contractes. Cada colla té el seu territori al mapa, els seus spots de referència, membres i un manifest. Els membres confirmen amb les seves pròpies claus, així que la llista és de veritat. Crea'n una o troba la teva gent!", + "crewsQ1": "Què són les colles?", + "crewsQ2": "Com creo una colla?", + "crewsQ3": "En què es diferencia una colla de The Lab?", + "crewsQ4": "Com confirmen els membres?", + "crewsQ5": "Què és Nostr?", + "crewsQ6": "Com funcionen els zaps?", + "crewsLogin": "Inicia sessió per crear una colla" + }, + "supportUi": { + "keepMapFree": "Mantén el mapa gratuït", + "keepMapFreeDesc": "Sense anuncis, sense seguiment, sense capital risc. Els teus sats paguen l'allotjament, el node d'IA i el relé.", + "thankYou": "Gràcies! ⚡", + "satsKeepMapFree": "Els teus sats mantenen el mapa gratuït.", + "keptFreeNext": "Acabes de mantenir SkateSpots gratuït per al pròxim skater.", + "scanToPay": "Escaneja per pagar", + "zapSkateSpots": "Fes un zap a SkateSpots", + "payQuietly": "Paga discretament", + "pickAmount": "Tria un import", + "enterAmount": "Indica quants sats vols enviar.", + "couldNotStartPayment": "No s'ha pogut iniciar el pagament.", + "customAmountAria": "Import personalitzat en sats", + "commentPlaceholder": "Digues alguna cosa (opcional: només per a zaps públics)", + "publicZapTitle": "Zap públic amb el teu comentari", + "loginToZapTitle": "Inicia sessió per enviar un zap públic", + "anonymousTitle": "Anònim: sense inici de sessió ni registre", + "copyLightningTitle": "Copia l'adreça Lightning", + "copiedSuffix": "{{label}} copiat", + "invoiceLabel": "Factura", + "addressLabel": "Adreça", + "notAPurchase": "És un suport, no una compra: no dona dret a res i no hi ha devolucions. El marxandatge i Sasquatch Pro van a part. La teva ubicació i la teva identitat no intervenen mai en un pagament discret." + }, + "role": { + "owner": "Propietari", + "admin": "Administrador", + "organiser": "Organitzador", + "verifiedOwner": "Propietari verificat" + }, + "nfc": { + "write": "Escriu a l'etiqueta NFC", + "written": "Etiqueta escrita", + "writtenDesc": "Acosta l'etiqueta a un telèfon per obrir la pàgina de verificació.", + "failed": "No s'ha pogut escriure l'etiqueta" + }, + "venueAccess": { + "title": "Passis d'accés", + "desc": "Emiteix un passi signat a un rider perquè pugui demostrar l'accés a la porta: mostra la seva targeta i qualsevol pot escanejar el QR per verificar-la.", + "active": "{{count}} actius", + "revoked": "{{count}} revocats", + "issue": "Emiteix un passi", + "verifyHint": "Verificat escanejant: no cal cap app ni compte per comprovar-ho.", + "publicTitle": "Passis d'accés", + "publicDesc": "Aquest recinte emet passis d'accés. Escaneja la targeta d'un rider a la porta per verificar-la.", + "badge": "Passis", + "sellerHint": "El recinte d'aquest venedor emet passis d'accés" + }, + "marketTerms": { + "link": "Normes del mercat", + "seoTitle": "Normes del mercat", + "seoDescription": "Com funcionen els anuncis d'equip de SkateSpots: entre particulars, compte amb el que compres i les normes.", + "title": "Normes del mercat", + "intro": "SkateSpots és un tauler d'equip entre particulars. Tractes directament amb l'altra persona: nosaltres no custodiem diners, no enviem articles ni resolem disputes.", + "howTitle": "Com funciona", + "howBody": "Publica equip, contacta amb el venedor per missatge privat i feu el tracte directament (efectiu, Lightning o un bescanvi). No hi ha carretó ni procés de compra.", + "rulesTitle": "Què no està permès", + "rulesBody": "Res de contingut il·legal, perillós o per a adults; res de drogues, armes, productes falsificats o robats. Mantén els anuncis centrats en equip de skate i articles relacionats.", + "respectTitle": "Sigues respectuós", + "respectBody": "Res d'insults, assetjament, amenaces ni odi. Els moderadors poden amagar anuncis o comptes.", + "trustTitle": "La confiança és una guia, no una garantia", + "trustBody": "Les marques de verificació i la reputació comercial són senyals de la xarxa, no promeses. Fes les teves comprovacions abans de tancar un tracte.", + "trustLink": "Com funciona la confiança", + "privacyLink": "Què surt del teu dispositiu", + "safetyTitle": "Fes tractes amb seguretat", + "safetyBody": "Queda en un lloc públic per a les entregues, fes servir dipòsit en garantia o una paga i senyal per als enviaments, i no enviïs mai diners fora de l'app.", + "moderationTitle": "La moderació és tova i reversible", + "moderationBody": "El contingut amagat continua als relés i es pot restaurar; les disputes entre persones les heu de resoldre vosaltres." + }, + "sasquatchUi": { + "live": "en directe", + "offline": "fora de línia", + "genericTitle": "Assistent de SkateSpots 🦧", + "genericGreeting": "Hola! Soc el Sasquatch. Pregunta'm el que vulguis sobre spots, esdeveniments, entrenadors, equip o com funciona l'app. Tinc dades en directe del relé de SkateSpots!", + "q1": "Planifica'm 3 dies a Lisboa", + "q2": "Troba spots a prop meu", + "q3": "Hi ha esdeveniments aviat?", + "q4": "Què són les colles?", + "q5": "Com funcionen els zaps?", + "q6": "Què és Nostr?", + "q7": "Què és El meu Stash?", + "q8": "Això és gratuït?", + "bubbleTitle": "Prem i arrossega per moure · Toca per obrir", + "openGuideAria": "Obre la guia del Sasquatch", + "hideAria": "Amaga l'assistent Sasquatch", + "hide": "Amaga l'assistent", + "showAria": "Mostra l'assistent Sasquatch", + "activeUntil": "Actiu fins al {{date}}", + "platformOwner": "Propietari de la plataforma", + "upgradeTitle": "Passa a Sasquatch Pro", + "goPro": "Fes-te Pro", + "goProBlurb": "IA personal · des de 2k sats", + "aiBalanceTitle": "Saldo de crèdit d'IA del Sasquatch (només per al propietari): recarrega a {{provider}}", + "aiChip": "⚡ IA {{balance}}", + "minimizeToBubbleAria": "Minimitza a la bombolla", + "minimize": "Minimitza", + "closePanelAria": "Tanca el panell", + "close": "Tanca", + "askLab": "Pregunta sobre entrenament i filmació", + "askMap": "Pregunta sobre spots, botigues i equip", + "askAnything": "Pregunta'm el que vulguis 🛹", + "quickQuestions": "Preguntes ràpides:", + "you": "🧑 Tu", + "thinking": "pensant...", + "inputPlaceholder": "Pregunta sobre spots, esdeveniments, entrenadors...", + "liveDataFrom": "Dades en directe de", + "nostrRelays": "Relés de Nostr", + "clear": "neteja", + "gettingLocation": "📍 S'està obtenint la teva ubicació…", + "findingClosest": "🔍 S'estan buscant els spots més propers…", + "checkingLive": "🔍 S'estan comprovant les dades en directe…", + "planningTrip": "🗺️ S'està planificant el teu viatge a {{destination}}...", + "searchingRelays": "🔍 S'està cercant {{tool}} als relés...", + "perk1": "Assistent personal: el Sasquatch llegeix el teu Stash, colles, spots i anuncis", + "perk2": "Esborranys d'accions: publicar equip, penjar un estat de skate, planificar un viatge... tu confirmes abans que es publiqui res", + "perk3": "Les respostes fan servir el teu context personal, no només dades públiques", + "perk4": "⚡ Dona suport directe a SkateSpots i mantén-ho gratuït i sense anuncis", + "welcomeTitle": "Gràcies per donar suport a Sasquatch Pro! 🦧⚡", + "welcomeDesc": "Pagament enviat: el teu passi s'activa quan el proveïdor el confirmi (normalment en menys d'un minut). Gràcies per mantenir els carrers lliures.", + "invoiceCopied": "Factura copiada", + "dialogDesc": "Potencia la teva guia de skate amb IA. El 100 % finança una app comunitària gratuïta i sense anuncis.", + "proSupporter": "Ets col·laborador Pro ⚡", + "extendPrompt": "Vols ampliar-lo? Tria un nivell a sota per afegir més temps.", + "scanToPayPre": "Escaneja per pagar", + "scanToPayAmount": "{{sats}} sats", + "scanToPayPost": "per {{label}} de Pro", + "invoiceQrAlt": "Codi QR de la factura Lightning", + "copyInvoice": "Copia la factura", + "ivePaid": "Ja he pagat", + "ivePaidHint": "Toca «Ja he pagat» quan la teva cartera ho confirmi: així es registra el teu passi a la teva identitat de Nostr.", + "freeStaysPre": "El Sasquatch gratuït continua sent gratuït: cerca pública de spots, esdeveniments i entrenadors, planificació de viatges i el glossari complet de trucs. Pro afegeix la ", + "freeStaysEmphasis": "capa personal i d'acció", + "freeStaysPost": ".", + "loginFirst": "Inicia sessió primer per passar a Pro.", + "paysTo": "Paga a", + "overLightning": "per Lightning. Lligat al teu npub.", + "popular": "Popular", + "sats": "sats", + "extend": "Amplia", + "done": "Fet!", + "cancelledNothing": "Cancel·lat: no s'ha publicat res.", + "draftReview": "Esborrany: revisa i confirma", + "statusTextPlaceholder": "Text de l'estat", + "titlePlaceholder": "Títol", + "priceSatsPlaceholder": "Preu (sats)", + "conditionPlaceholder": "Estat", + "cancel": "Cancel·la", + "aiTitle": "Sasquatch IA", + "owner": "Propietari", + "notConfigured": "no configurat", + "unavailable": "no disponible", + "satsValue": "{{balance}} sats", + "theNode": "el node", + "lowBalance": "Saldo baix: recarrega a {{provider}} o la IA passarà al proveïdor sense clau.", + "aiDesc": "IA de pagament per petició, finançada en sats via Routstr. Es recarrega quan baixa.", + "tier7d": "7 dies", + "tier1m": "1 mes", + "tier3m": "3 mesos", + "tier1y": "1 any", + "badgeTry": "Prova-ho", + "badgeOff20": "20 % de descompte", + "badgeBest": "Millor valor · 40 % de descompte", + "draftPostStatusTitle": "Publica un estat de skate", + "draftAutoExpires": "Caduca automàticament d'aquí a {{count}} min", + "draftPostStatusCta": "Publica l'estat", + "draftCategory": "Categoria: {{value}}", + "draftSize": "Mida: {{value}}", + "draftCondition": "Estat: {{value}}", + "draftMaxPrice": "Preu màxim: {{price}} {{currency}}", + "draftPriceOpen": "Preu: obert", + "draftLookingForTitle": "Buscant «{{title}}»", + "draftWantedCta": "Publica un anunci de cerca", + "draftPrice": "Preu: {{price}} {{currency}}", + "draftPriceOffer": "Preu: accepta ofertes", + "draftListTitle": "Publica «{{title}}» a la venda", + "draftPublishCta": "Publica l'anunci", + "statusPosted": "Estat publicat 🛹", + "wantedPublished": "Anunci de cerca publicat 🔎", + "listingPublished": "Anunci publicat 💸", + "mustBeLoggedIn": "Has d'iniciar sessió." + }, + "collectionUi": { + "namePlaceholder": "Viatge a Barcelona 2024", + "descriptionPlaceholder": "Els meus spots preferits del viatge a Barcelona..." + }, + "bootUi": { + "ariaLoading": "S'està carregant SkateSpots", + "ariaReady": "SkateSpots a punt", + "ready": "A punt", + "statusWaking": "Despertant la xarxa", + "statusTuning": "Afinant els relés", + "statusPulling": "Carregant spots", + "statusDropping": "Arribant" + }, + "sasquatchChat": { + "faq": { + "hi": "Hola! Soc el Sasquatch 🦧 La teva guia de skate amb IA. Pregunta'm per spots, esdeveniments, entrenadors, equip o qualsevol cosa de l'app. Què necessites?", + "hello": "Ei! 🛹 Soc el Sasquatch. Pregunta'm per spots de skate, esdeveniments, entrenadors o com funciona l'app. Què passa?", + "hey": "Hola, skater! 🤙 Pregunta'm per spots a prop teu, esdeveniments propers, entrenadors o qualsevol cosa de SkateSpots.", + "whoAreYou": "Soc el Sasquatch 🦧, la guia amb IA de SkateSpots. Puc trobar spots de skate d'arreu del món, consultar esdeveniments, entrenadors, filmers i anuncis d'equip. Tot amb dades en directe de Nostr. Endavant!", + "whatCanYouDo": "Puc trobar spots de skate per ciutat o país, consultar esdeveniments propers, trobar entrenadors i filmers a The Lab, cercar anuncis d'equip i respondre preguntes sobre com funciona l'app. Prova: «spots a Bangkok» o «troba un entrenador»! 🛹", + "whatIsNostr": "Nostr és un protocol obert i senzill per a xarxes socials descentralitzades. Pensa en Twitter, però sense cap empresa que el controli: fas servir claus criptogràfiques en lloc de noms d'usuari, tries quins relés guarden les teves dades (o fas servir els teus) i un sol compte funciona a totes les apps de Nostr! 🔑", + "isThisPrivate": "T'ho explico clar 🛡️\n\n• La teva **ubicació GPS es queda al teu dispositiu**: «A prop meu» només centra el mapa. No ens l'enviem mai ni es publica.\n• **Els spots que afegeixes són públics** (és el sentit d'un mapa compartit), així que no posis el marcador a la porta de casa teva.\n• **Els missatges privats i els xats de colla estan xifrats d'extrem a extrem**: només els membres els poden llegir.\n• Com qualsevol web, els servidors als quals et connectes (rajoles del mapa, relés) poden veure la teva **IP**. Vols amagar-ho també? Fes servir una VPN o Tor.\n\nTots els detalls a la [pàgina de privacitat](/privacy). 🛹", + "privacy": "Versió curta 🛡️: el teu GPS no surt mai del dispositiu, els spots que publiques són públics per disseny i els missatges privats i els xats de colla estan xifrats d'extrem a extrem. Els servidors encara poden veure la teva IP (normal a qualsevol web): una VPN o Tor ho amaga si vols. Ho tens tot detallat a la [pàgina de privacitat](/privacy).", + "amITracked": "SkateSpots no et segueix: sense anuncis, sense perfilatge analític, sense venda de dades i sense cap servidor de SkateSpots que reculli la teva ubicació. El teu GPS es queda al teu dispositiu. L'única cosa que veuen els servidors (rajoles del mapa, relés) és la teva **IP**, igual que a qualsevol web. Fes servir una VPN o Tor per amagar-la. Més informació a la [pàgina de privacitat](/privacy). 🛡️", + "doYouTrack": "No: sense seguiment, sense anuncis, sense recol·lecció de dades. El teu GPS es queda al teu dispositiu i no hi ha cap servidor central que et registri. Els servidors als quals et connectes poden veure la teva IP (com a qualsevol lloc); una VPN o Tor ho amaga. Mira la [pàgina de privacitat](/privacy). 🛹", + "vpn": "Totalment opcional, però molt útil si vols més privacitat 🛡️. Una VPN amaga la teva **IP** (la ubicació aproximada) als servidors amb què parla SkateSpots: rajoles del mapa, relés, etc. Tria un proveïdor de confiança que no guardi registres (p. ex. Mullvad); evita els gratuïts dubtosos.\n\nAtenció: una VPN **no** amaga els spots que publiques (són públics), i no activis el GPS del navegador si vols mantenir l'anonimat. Tots els detalls a la [pàgina de privacitat](/privacy).", + "tor": "El navegador Tor et dona la màxima privacitat d'IP: et fa passar per diversos relés perquè els servidors no vegin la teva IP real 🧅. A canvi, és més lent, i els mapes i alguns relés de Nostr poden anar a poc a poc o bloquejar les sortides de Tor. Ideal per als més prudents.\n\nRecorda: Tor amaga la teva IP, no els spots que publiques, i no activis el GPS del navegador si l'anonimat és l'objectiu. Més informació a la [pàgina de privacitat](/privacy).", + "hideMyIp": "Dues opcions gratuïtes 🛡️: una **VPN de confiança** (fàcil i ràpida: amaga la teva IP darrere dels seus servidors) o el **navegador Tor** (privacitat màxima, més lent). Totes dues eviten que els servidors amb què es connecta SkateSpots vegin la teva IP real. Tingues en compte que no amaguen els spots que publiques. Mira la [pàgina de privacitat](/privacy).", + "isMyLocation": "La teva ubicació està segura 📍: «A prop meu» llegeix el GPS només al teu dispositiu, per centrar el mapa i ordenar els spots propers. No es publica mai a Nostr, no ens s'envia mai i no es comparteix. Només són públics els spots que afegeixes tu expressament. Detalls a la [pàgina de privacitat](/privacy).", + "whatAreZaps": "Els zaps són propines instantànies en Bitcoin Lightning enviades per Nostr! Fes clic a ⚡ a qualsevol contingut i envia sats directament a la cartera del creador. Com un «m'agrada», però amb diners de veritat. Instantani, entre iguals i sense intermediaris. ⚡", + "howToLogin": "Dues maneres:\n1. **Extensió del navegador** (ordinador): instal·la Alby o nos2x i fes clic a «Inicia sessió»\n2. **Usuari nou**: fes clic a «Registra't» per generar les claus. Descarrega la teva nsec (clau secreta) i DESA-LA: és el teu compte per sempre!", + "whatIsCashu": "Cartera Bitcoin integrada! Els tokens ecash de Cashu estan recolzats per Lightning: funcionen sense connexió als spots de skate i estan pensats per a la privacitat (els mints no poden seguir els pagaments). Ves a Cartera, a Configuració, per fer-la servir. 🥜", + "whatIsNwc": "Nostr Wallet Connect: com l'USB-C de les carteres Lightning. Connecta Alby, Minibits, Zeus o Coinos una vegada i fes zaps amb un clic per sempre. Xifrat, i tu control·les els límits de despesa. 🔌⚡", + "isItFree": "100 % gratuït. Sense anuncis, sense subscripcions, sense tonteries corporatives. Fet per skaters per a skaters. Finançat per la comunitat a través d'Angor: mira la pàgina de col·laboradors. També pots guanyar Bitcoin amb zaps de la comunitat per aportar spots de qualitat. 🛹", + "whatCanIDo": "Descobreix spots d'arreu del món al mapa, contracta professionals a The Lab (entrenadors, filmers, fotògrafs, editors, constructors de rampes), patina amb una colla, apunta't a esdeveniments, fes rutes, compra i ven equip, controla el teu Stash privat, fes zaps als creadors, consulta el temps al spot i construeix la comunitat de skate descentralitzada!", + "whatIsTheLab": "The Lab és on contractes professionals de l'escena del skate: entrenadors, filmers, fotògrafs, editors de vídeo i constructors de rampes, parcs i DIY. Cadascun pot ser una persona o un col·lectiu (colla o estudi): els membres confirmen amb les seves pròpies claus, així que és de veritat. Tot a Nostr, sense comptes falsos. 🎓", + "whatIsACrew": "Les colles són la teva família skater ancorada al mapa: la gent amb qui patines, no qui contractes. Cada colla té territori al mapa (pins turquesa), spots de referència, membres, ambient i un manifest. Els membres confirmen amb la seva pròpia clau. Crea'n una a Colles → «Crea una colla». 🤘", + "whatAreCrews": "Les colles són la teva família skater ancorada al mapa: la gent amb qui patines, no qui contractes. Cada colla té territori al mapa (pins turquesa), spots de referència, membres i un manifest. Els membres confirmen amb la seva pròpia clau. Ves a la pestanya Colles per començar-ne una o unir-te'n! 🤘", + "howToStartACrew": "Ves a la pestanya Colles → «Crea una colla». Posa-li nom, marca el teu territori al mapa, afegeix ambient (o el teu propi #hashtag), enllaça els teus spots de referència i afegeix membres per npub. Cada membre confirma amb la seva pròpia clau, així que la llista és de veritat. 🤘", + "whatIsMyStash": "El meu Stash és el teu armari d'equip PRIVAT i xifrat (xifratge NIP-44). Controla les teves taules, eixos, rodes i sabates, amb el lloc on els guardes, l'estat, la raresa i el preu. Només TU el pots llegir tret que marquis articles com a públics. Va molt bé per a l'assegurança o per planificar un bescanvi. 🎒", + "whatIsStash": "El meu Stash és el teu inventari d'equip PRIVAT i xifrat. Registra tot el que tens: estat, on es guarda, valor... Tot xifrat perquè només tu ho puguis veure. Marca articles com a públics si vols vendre'ls o lluir-los. 🎒", + "whatIsABuilder": "Els constructors són colles de rampes, parcs i DIY de The Lab que pots contractar per fer transicions, bowls, baranes o un parc sencer. Publiquen què construeixen, materials, escala del projecte i poden tenir llicència i assegurança. Sovint són col·lectius, i poden enllaçar al mapa els spots que han construït. 🏗️", + "whatIsANutzap": "Els nutzaps (NIP-61) són propines en ecash enviades per Nostr: tokens Cashu privats enviats directament a algú. Pots configurar la RECEPCIÓ de nutzaps a la Cartera. (L'enviament complet de nutzaps s'està desplegant; de moment, fes servir zaps Lightning.) 🥜⚡", + "whatIsClink": "CLINK és un codi de pagament natiu de Nostr (un «noffer»). Les botigues, colles i professionals de The Lab poden afegir-ne un perquè els paguis sense necessitat d'una adreça Lightning: veuràs un botó «Paga amb CLINK» amb un QR. Escaneja'l amb una cartera CLINK com ShockWallet. 🔗⚡ [especificacions](https://clinkme.dev/specs.html) [apps](https://clinkme.dev/apps.html)", + "whatIsNoffer": "Un noffer és un codi de pagament CLINK: una manera reutilitzable i nativa de Nostr de cobrar sense servidor web ni adreça Lightning. Afegeix-lo a la teva botiga, colla o perfil de The Lab i la gent et podrà pagar directament. 🔗", + "whatAreTours": "Les rutes són viatges de skate guiats: sessions locals, viatges nacionals o gires mundials de destrucció. Troba-les al mapa o a la secció Rutes, queda amb la gent i patina terrenys nous amb els locals. 🗺️🛹", + "whatIsAShop": "Les botigues de skate són botigues locals que apareixen al mapa. Descobreix i dona suport a botigues de skate reals, físiques o en línia, de la teva zona: algunes fins i tot accepten Bitcoin. 🏪", + "howToSellGear": "Ves a Intercanvi d'equip o al Mercat i crea un anunci (NIP-99). Afegeix fotos, preu en sats, estat i, si vols, enllaça'l a un spot perquè surti al mapa. Els compradors et fan un zap o t'escriuen directament. 🛹💸", + "supporters": "SkateSpots es finança per la comunitat a través d'Angor (micromecenatge descentralitzat en Bitcoin): sense anuncis, sense inversors, sense venda de dades. Mira la pàgina de col·laboradors per donar suport al projecte i mantenir els carrers lliures. ❤️⚡", + "trustScore": "Puntuacions de confiança (0-100) de Relatr. Analitza la teva xarxa de Nostr: seguidors, activitat, interacció, zaps. Com més alta, més confiança. Ajuda a filtrar bots i brossa. Consulta qualsevol perfil per veure'n la puntuació. 🛡️", + "whatRelay": "SkateSpots fa servir: 🛹 relay.skate-spots.org (principal, amb llista blanca per garantir la qualitat) + relay.ditto.pub (global) + purplepag.es (agregador de perfils). Les teves dades es repliquen a tots per tenir redundància.", + "tripPlanner": "Digues-me una ciutat i et muntaré un viatge de skate dia a dia 🗺️: spots, esdeveniments, entrenadors i colles locals, tenint en compte el temps (dia de pluja = consell de colla per a spots coberts). Prova «planifica'm 3 dies a Lisboa». Ho puc desar tot en una col·lecció i passar-te a vols i allotjament als llocs de veritat (sense KYC, sense intermediaris). 🛹", + "planATrip": "Només digues «planifica'm 3 dies a Barcelona» (o qualsevol ciutat) i et traçaré spots, sessions, entrenadors i colles locals per a cada dia. Desa-ho com a col·lecció i ves a patinar. 🗺️🛹", + "sasquatchPro": "**Sasquatch Pro** 🦧⚡ és un passi de col·laborador amb Lightning que desbloqueja la meva part personal:\n\n• 🧠 **Assistent personal**: llegeixo el teu Stash, colles, spots i anuncis\n• ✨ **Esborranys d'accions**: publica equip, penja el teu estat de skate, planifica viatges (tu sempre confirmes abans que es publiqui res)\n• 💬 **Context personal**: les meves respostes fan servir les teves dades, no només resultats públics\n• ⚡ **Dona suport al projecte**: mantens SkateSpots gratuït i sense anuncis\n\nEl Sasquatch gratuït continua sent gratuït: la cerca pública de spots, esdeveniments, entrenadors i colles, el glossari i la planificació de viatges funcionen sense Pro. Pro només afegeix la part *personal*. Toca **⚡ Fes-te Pro** a dalt. Nivells: 7 dies ~2k sats, 1 mes ~5k, 3 mesos ~12k, 1 any ~36k.", + "proPerks": "Avantatges Pro 🦧⚡: assistent personal (llegeix el teu Stash, colles, spots i anuncis), esborranys d'accions (publicar equip, penjar un estat, planificar viatges; tu sempre confirmes) i respostes que fan servir el teu context personal. A més, dones suport directe a SkateSpots i el mantens gratuït i sense anuncis. El gratuït continua sent gratuït: Pro afegeix la capa personal. Toca **⚡ Fes-te Pro** a dalt.", + "proVersion": "La versió Pro de mi 🦧⚡ afegeix un **assistent personal**: puc llegir el teu Stash, colles, spots i anuncis, preparar-te accions (publicar equip, penjar un estat, planificar un viatge; tu sempre confirmes primer) i fer servir el teu context personal a les respostes. També dona suport directe al projecte. El Sasquatch gratuït (cerca de spots, esdeveniments, entrenadors i colles, glossari, planificador de viatges) continua sent gratuït. Toca **⚡ Fes-te Pro** a dalt.", + "perks": "Avantatges Pro 🦧⚡: assistent personal (el teu Stash, colles, spots i anuncis), esborranys d'accions que confirmes tu i respostes amb el teu propi context, a més de mantenir l'app gratuïta i sense anuncis. Toca **⚡ Fes-te Pro** a dalt.", + "goPro": "Toca el botó **⚡ Fes-te Pro** de dalt per obrir el full de millora. Pro desbloqueja el meu assistent personal (Stash, colles, spots i anuncis) i els esborranys d'accions, i dona suport directe al projecte. Paga amb Lightning: des de 7 dies ~2k sats fins a 1 any ~36k sats. Les funcions gratuïtes continuen sent gratuïtes. 🦧", + "proPricing": "Nivells Pro (paga amb Lightning ⚡): **7 dies** ~2.000 sats (~1,20 $), **1 mes** ~5.000 sats (~3 $), **3 mesos** ~12.000 sats (~7 $, 20 % de descompte), **1 any** ~36.000 sats (~21 $, millor valor). Toca **⚡ Fes-te Pro** a dalt.", + "howMuchIsPro": "Nivells Pro: 7 dies ~2.000 sats, 1 mes ~5.000 sats, 3 mesos ~12.000 sats (20 % de descompte), 1 any ~36.000 sats (millor valor). Paga amb Lightning ⚡. Toca **⚡ Fes-te Pro** a dalt.", + "upgrade": "Per passar a Sasquatch Pro, toca el botó **⚡ Fes-te Pro** de dalt. Paga amb Lightning (des de 7 dies ~2k sats fins a 1 any ~36k). Pro desbloqueja el meu assistent personal i els esborranys d'accions, i dona suport directe al projecte. 🦧⚡" + }, + "statsTitle": "📊 **SkateSpots en xifres**", + "weatherTemp": "• {{temp}}°C (sensació de {{feels}}°C)", + "weatherSkateability": "• Condicions per patinar: **{{label}}** ({{score}}/100)", + "weatherError": "Ara mateix no he pogut llegir el temps. Torna-ho a provar d'aquí un moment. 🌧️", + "labelSpots": "spots", + "labelEvents": "esdeveniments", + "labelLabPros": "professionals de The Lab", + "labelCrews": "colles", + "labelShops": "botigues de skate", + "labelTours": "rutes", + "labelGear": "anuncis d'equip", + "unnamed": "Sense nom", + "emptyWhere": " a **{{place}}**", + "emptyResult": "Ara mateix no he trobat cap {{label}}{{where}} 🦧\n\nPotser encara no n'hi ha cap de publicat, o els relés han trigat a respondre. Torna-ho a provar d'aquí un moment, comprova l'ortografia o [afegeix el primer al mapa](https://skate-spots.org/map). 🛹", + "foundTitle": "{{emoji}} He trobat **{{count}}** {{label}}:\n{{lines}}{{more}}", + "moreResults": "\n\n…i **{{count}}** més: [mira-ho tot al mapa](https://skate-spots.org/map) 🗺️", + "locationDenied": "No puc veure la teva ubicació: res no surt mai del teu dispositiu; només la llegeixo localment quan m'ho demanes, i el navegador acaba de dir que no. Toca 🎯 **A prop meu** al mapa o digues-me una ciutat: «spots a Bangkok». 🛹", + "noNearbySpots": "Encara no hi ha spots al mapa a prop teu 🦧: [sigues el primer a posar-ne un](https://skate-spots.org/create-spot). 🛹", + "closestTitle": "Els més propers a tu ara mateix:", + "closestFooter": "_Calculat al teu dispositiu: la teva ubicació no n'ha sortit mai._", + "proNudge": "Això és cosa de **Sasquatch Pro** 🦧⚡: amb Pro puc llegir el teu Stash, colles, spots i anuncis, redactar anuncis d'equip, anuncis de cerca i estats de skate, i planificar els teus viatges. És un passi de col·laborador amb Lightning que manté SkateSpots gratuït i sense anuncis. Toca el botó **⚡ Fes-te Pro** de dalt per desbloquejar-ho. 🛹", + "draftingProPerk": "Redactar accions (penjar un estat, publicar equip) és un avantatge de **Sasquatch Pro** 🦧⚡: toca **⚡ Fes-te Pro** a dalt per desbloquejar-ho.", + "draftIntro": "Aquí tens un esborrany: revisa'l i toca per publicar. No es publica res fins que ho confirmis. 🛹", + "draftFailed": "No he pogut acabar de muntar aquest esborrany: torna-me a explicar els detalls (p. ex. «publica les meves rodes Spitfire per 8000 sats»).", + "tripAskCity": "On vols anar? Digues-me una ciutat (p. ex. «planifica'm 3 dies a Lisboa») i et muntaré un viatge. 🗺️", + "tripEmptyMap": "Encara no hi ha res al mapa per a **{{destination}}** 🦧: sigues el primer a posar spots a [skate-spots.org](https://skate-spots.org). Quan els locals afegeixin spots, colles i esdeveniments, et muntaré un viatge complet.", + "tripLocked": "T'he preparat una missió a **{{destination}}** 🛹: spots, sessions i locals a sota. Ajusta-la o desa-la.", + "tripFailed": "Ara mateix no he pogut accedir a les dades en directe per planificar-ho. Torna-ho a provar d'aquí un moment! 🛹", + "tripEmptyMapLocal": "Encara no hi ha res al mapa per a **{{destination}}** 🦧: sigues el primer a [skate-spots.org](https://skate-spots.org).", + "tripMissionLocal": "Aquí tens una missió a **{{destination}}** 🛹: spots, sessions i locals a sota.", + "relayFailed": "Ara mateix els relés no han respost a temps 🛰️: normalment és una connexió lenta, no pas un spot inexistent. Torna-ho a provar d'aquí un moment. 🛹", + "couldNotProcess": "Hmm, no he pogut processar-ho. Torna-ho a dir d'una altra manera!", + "freeTierFallback": "Això necessita raonament amb IA, una funció de **Sasquatch Pro** ⚡🦧\n\nEncara puc trobar **spots, esdeveniments, entrenadors, colles, botigues, rutes i equip** directament als relés: pregunta'm, p. ex., «spots a Barcelona», i el [Glossari](/glossary) cobreix més de 150 trucs i termes. Toca **⚡ Fes-te Pro** a dalt per desbloquejar les respostes amb IA.", + "aiDownFallback": "El meu cervell d'IA està agafant aire ara mateix 🦧, però encara et tinc cobert:\n\n• 🗺️ [Mapa](/) — spots, botigues i esdeveniments a prop teu\n• 🧪 [The Lab](/lab) — entrenadors, filmers, editors\n• 📖 [Glossari](/glossary) — més de 150 trucs i termes\n• 👥 [Colles](/crews) — troba la teva gent\n\nO digues-me una **ciutat** («spots a Barcelona») o un **truc** («què és un nollie») i et respondré directament. 🛹", + "wentWrong": "Alguna cosa se m'ha desviat. Torna-ho a provar d'aquí un segon! 🦧", + "publishError": "No s'ha pogut publicar: {{error}}. Torna-ho a provar d'aquí un segon.", + "unknownError": "error desconegut" + }, + "navSheet": { + "title": "Personalitza la teva barra", + "desc": "Tria les {{count}} pestanyes que més fas servir. La resta es queden al menú.", + "preview": "Previsualització", + "empty": "Buida", + "order": "Ordre ({{done}}/{{total}})", + "available": "Pestanyes disponibles", + "full": "Barra plena: treu-ne una per canviar-la", + "moveUp": "Mou {{name}} cap amunt", + "moveDown": "Mou {{name}} cap avall", + "login": "Inicia sessió", + "profile": "Perfil", + "reset": "Restableix", + "done": "Fet" + }, + "errorsUi": { + "slammedTitle": "Caiguda", + "slammedBody": "Aquesta pantalla ha ensopegat. El teu compte i les teves dades estan segurs: tornem a rodar.", + "tryAgain": "Torna-ho a provar", + "reloadApp": "Recarrega l'app", + "pageSlammedTitle": "Aquesta pàgina ha caigut", + "pageSlammedBody": "Alguna cosa d'aquesta pantalla ha ensopegat. El teu compte i les teves dades estan segurs. Normalment, recarregar-ho ho arregla.", + "reload": "Recarrega", + "goBack": "Torna enrere" + }, + "desktopNav": { + "title": "Navegació d'escriptori", + "desc": "Tria quines pestanyes apareixen a la barra superior i en quin ordre. Les amagades continuen al menú «Més».", + "fixed": "Fixes", + "shownInTopBar": "A la barra superior ({{count}})", + "noExtraTabs": "No hi ha pestanyes addicionals: tot és al menú «Més». Afegeix-ne a sota.", + "inMoreMenu": "Al menú «Més» ({{count}})", + "moveUp": "Mou {{name}} cap amunt", + "moveDown": "Mou {{name}} cap avall", + "hide": "Amaga {{name}}", + "moveToMore": "Mou al menú Més", + "show": "Mostra", + "showInTopBar": "Mostra {{name}} a la barra superior", + "showInTopBarTitle": "Mostra a la barra superior", + "reset": "Restableix els valors per defecte" + }, + "deckCostUi": { + "presetPrompt": "Posa un nom a aquesta preconfiguració", + "presetDefaultName": "Preconfiguració {{n}}", + "summaryCopied": "Resum copiat", + "couldNotCopy": "No s'ha pogut copiar", + "resetConfirm": "Vols restablir-ho tot als valors d'exemple?", + "logoTooLarge": "El logotip és massa gran (màxim 500 KB)", + "loginToFill": "Inicia sessió per omplir-ho amb el teu perfil de Nostr", + "filledFromProfile": "Omplert amb el teu perfil de Nostr", + "warnRetailBelowOne": "El marge minorista és inferior a 1×: vendries amb pèrdues.", + "warnWholesaleAboveRetail": "El marge a l'engròs hauria de ser inferior al marge minorista.", + "warnZeroBoards": "{{count}} fila(es) fan servir 0 taules: el cost d'aquesta fila s'ignora.", + "warnFixedNoBoards": "Hi ha costos fixos mensuals però les taules/mes són 0, així que el cost d'operacions s'ignora.", + "warnNoMaterials": "No hi ha cost de materials: afegeix com a mínim un material.", + "warnEquipmentOverhead": "Equip i despeses generals superen el 60 % del cost: aquest model assumeix un volum alt; revisa el nombre de taules.", + "warnOneBoard": "Part de l'equip es reparteix en una sola taula: augmenta'n el nombre de taules per amortitzar-lo.", + "templateStarterName": "Inici d'aficionat", + "templateStarterBlurb": "Unes quantes files, sense costos fixos", + "templateShopName": "Botiga petita", + "templateShopBlurb": "Full complet amb lloguer i despeses generals", + "currency": "Moneda", + "noCurrencyMatches": "Cap moneda coincideix.", + "ratesUnavailable": "Els tipus de canvi en directe no estan disponibles: canviar-ho només reetiqueta.", + "liveRates": "tipus BTC en directe · sats inclosos", + "chipCost": "cost", + "chipSell": "venda", + "chipTotal": "total", + "startFrom": "Comença amb", + "advancedToggleHint": "Mostra les tarifes i el malbaratament per operació, la configuració per lot, els impostos i la corba de cost en funció de la quantitat", + "advanced": "Avançat", + "simple": "Simple", + "sectionLabor": "Mà d'obra", + "sectionEquipment": "Equip", + "sectionOperations": "Despeses d'operació", + "sectionMaterials": "Materials", + "sectionProcesses": "Costos de procés", + "sectionPackaging": "Embalatge", + "sectionMargins": "Marges", + "subtotalLoaded": "{{value}}/h amb càrrega", + "subtotalPerBoard": "{{value}}/taula", + "hourlyRate": "Tarifa per hora ({{unit}})", + "labourBurden": "Càrrega laboral (×)", + "loadedRate": "Cost carregat", + "loadedRateHintBefore": "Cost carregat = salari × càrrega (impostos i assegurances del treball a càrrec de l'empresa). El lloguer i les factures van a ", + "loadedRateHintAfter": ": no els comptis dues vegades.", + "colEquipment": "Equip", + "colCostUnit": "Cost ({{unit}})", + "colCost": "Cost", + "colSetupH": "Preparació (h)", + "colLifetimeBoards": "Taules de vida útil", + "colPerBoard": "Per taula", + "colMaterial": "Material", + "colOrderUnit": "Comanda ({{unit}})", + "colShipUnit": "Enviament ({{unit}})", + "colBoardsOrder": "Taules / comanda", + "colOrderM": "Comanda (m)", + "colUnloadM": "Descàrrega (m)", + "colOrder": "Comanda", + "colShipping": "Enviament", + "colOrderMin": "Comanda (min)", + "colUnloadMin": "Descàrrega (min)", + "colProcess": "Procés", + "colTimeM": "Temps (m)", + "colBoardsRun": "Taules / tanda", + "colRateHr": "Tarifa/h (0 = taller)", + "colRateHrShort": "Tarifa/h", + "colScrapPct": "% malbaratament", + "colTimeMin": "Temps (min)", + "colPackaging": "Embalatge", + "colTimeBoardM": "Temps/taula (m)", + "colTimeBoardMin": "Temps/taula (min)", + "colMaterialsBoardUnit": "Materials/taula ({{unit}})", + "colMaterialsBoard": "Materials/taula", + "equipmentPerBoard": "Equip per taula:", + "materialsPerBoard": "Materials per taula:", + "processesPerBoard": "Processos per taula:", + "packagingPerBoard": "Embalatge per taula:", + "perBoard": "Per taula:", + "addEquipment": "Afegeix equip", + "addMaterial": "Afegeix material", + "addProcess": "Afegeix procés", + "addPackagingStep": "Afegeix un pas d'embalatge", + "duplicate": "Duplica", + "remove": "Treu", + "boardsPerMonth": "Taules / mes", + "rentPerMonth": "Lloguer / mes", + "utilitiesPerMonth": "Subministraments / mes", + "subscriptionsPerMonth": "Subscripcions / mes", + "markup": "Marge (×)", + "wholesaleMarkup": "Marge a l'engròs (×)", + "scrapWaste": "Malbaratament / residus (%)", + "quantityDecks": "Quantitat (taules)", + "targetMonthlyProfit": "Benefici mensual objectiu ({{unit}})", + "costNoPackaging": "Cost / taula (sense embalatge)", + "costWithPackaging": "Cost / taula (amb embalatge)", + "batchSetupHours": "Preparació del lot (h / tanda)", + "batchSetupCost": "Cost de preparació del lot ({{unit}} / tanda)", + "taxVat": "Impost / IVA (%)", + "quoteTax": "Impost del pressupost", + "includedInPrice": "Inclòs al preu", + "addedOnTop": "Afegit a sobre", + "setupPerBoard": "Preparació / taula", + "marginNoteBefore": "Marge {{markup}}× ≈ ", + "grossMargin": "{{pct}} % de marge brut", + "marginNoteAfter": " · el {{waste}} % de malbaratament es reparteix entre les taules bones.", + "sellingPriceNoPackaging": "Preu de venda · sense embalatge", + "sellingPriceWithPackaging": "Preu de venda · amb embalatge", + "profitPerDeck": "Benefici / taula", + "wholesalePerDeck": "Preu a l'engròs / taula", + "orderTotalQty": "Total de la comanda ({{qty}})", + "orderTotal": "Total de la comanda", + "breakeven": "Punt d'equilibri", + "breakevenPerMonth": "{{count}}/mes", + "targetDecksHint": "Per guanyar {{amount}}/mes per sobre dels costos fixos, ven {{decks}} taules/mes.", + "priceIncludesTax": "El preu inclou un {{pct}} % d'impost: {{amount}} del total.", + "plusTax": "Més un {{pct}} % d'impost: {{amount}} → {{total}} en total.", + "costVsQuantity": "Cost en funció de la quantitat (preparació amortitzada)", + "deckOne": "taula", + "deckOther": "taules", + "perDeckSuffix": "/ taula", + "orderSuffix": "comanda {{amount}}", + "shippingNotIncluded": "No inclou l'enviament al comprador.", + "clientQuoteDetails": "Detalls del pressupost al client (per al PDF)", + "fillFromProfileTitle": "Omple el nom, la web, el NIP-05, Lightning i l'npub amb el teu perfil de Nostr", + "fillFromProfile": "Omple des del perfil", + "businessName": "Nom de l'empresa / botiga", + "email": "Correu electrònic", + "phone": "Telèfon", + "website": "Web", + "address": "Adreça", + "quoteNumber": "Pressupost núm.", + "nextNumber": "Número següent", + "validDays": "Validesa (dies)", + "nip05": "NIP-05", + "lightningAddress": "Adreça Lightning", + "nostrNpub": "Nostr (npub)", + "depositPct": "Paga i senyal per endavant (%)", + "deliveryTerms": "Condicions de lliurament (Incoterm, opcional)", + "paymentMethods": "Mètodes de pagament", + "paymentTerms": "Condicions de pagament", + "paymentDetails": "Detalls del pagament", + "notesTerms": "Notes / condicions", + "changeLogo": "Canvia el logotip", + "addLogo": "Afegeix un logotip", + "incotermNone": "Cap", + "incotermExw": "EXW: recollida al venedor", + "incotermFca": "FCA: lliurat al transportista del comprador", + "incotermDap": "DAP: lliurat a l'adreça del comprador", + "incotermDdp": "DDP: lliurat amb drets pagats", + "payMethodCash": "Efectiu", + "payMethodLightning": "Lightning", + "payMethodCashu": "Cashu", + "payMethodBank": "Transferència bancària", + "payMethodCard": "Targeta", + "payMethodOther": "Altres", + "listDeckAtPrice": "Publica una taula a aquest preu", + "getItMade": "Fes-la construir: troba un constructor", + "savePreset": "Desa la preconfiguració", + "load": "Carrega", + "export": "Exporta", + "import": "Importa", + "reset": "Restableix", + "deletePreset": "Elimina la preconfiguració", + "exportPdfFull": "PDF: full complet", + "exportPdfQuote": "PDF: pressupost al client", + "exportPng": "Imatge PNG", + "exportXlsx": "Llibre XLSX", + "exportCsv": "CSV (full de càlcul)", + "exportMarkdown": "Markdown", + "exportJson": "JSON (còpia de seguretat)", + "exportCopySummary": "Copia el resum" + }, + "becomeRolesUi": { + "artist": { + "seoTitle": "Fes-te dissenyador / artista - SkateSpots", + "seoDescription": "Publica el teu disseny i art de skate: grafismes de taula, logotips, cartells, marxandatge i més.", + "heading": "Dissenyador / artista", + "tagline": "Grafismes de taula, logotips, cartells, marxandatge: posa el teu art a l'escena", + "noun": "artista", + "rateLabel": "Tarifa", + "portfolioLabel": "Enllaç al portafoli o botiga", + "sectionWhatYouMake": "Què crees", + "sectionMedium": "Tècnica", + "sectionSoftwareTools": "Programari i eines", + "deliverablesPlaceholder": "p. ex. fitxers a punt per imprimir, fitxers font, grafismes de taula", + "turnaroundPlaceholder": "p. ex. 3-5 dies" + }, + "graffiti": { + "seoTitle": "Ofereix graffiti / murals - SkateSpots", + "seoDescription": "Publica la teva feina de graffiti i murals: peces, murals, art per a skateparks i més.", + "heading": "Artista de graffiti / murals", + "tagline": "Peces, murals, art per a skateparks: pinta l'escena", + "noun": "grafiter", + "rateLabel": "Tarifa", + "portfolioLabel": "Enllaç al portafoli (IG, web)", + "sectionStyle": "Estil", + "sectionMedium": "Tècnica", + "sectionWorkContext": "Context de treball", + "crewLabel": "Colla de graffiti", + "crewPlaceholder": "La teva colla d'escriptura (opcional)", + "crewHelper": "A part de la teva colla de skate: la gent amb qui pintes.", + "surfacesPlaceholder": "p. ex. formigó, maó, parets permeses", + "maxSizePlaceholder": "p. ex. fins a 10 m" + }, + "musician": { + "seoTitle": "Afegeix un perfil musical - SkateSpots", + "seoDescription": "Patinar i fer música? Publica la teva banda o projecte en solitari: gèneres, instruments i enllaços.", + "heading": "Músic / banda", + "tagline": "Patinar i fer música? Deixa't contractar per a demos, jams i afters", + "noun": "músic", + "rateLabel": "Tarifa de contractació", + "portfolioLabel": "Enllaç a la web o EPK", + "sectionGenre": "Gènere", + "sectionInstruments": "Instruments i rol", + "actLabel": "Tipus d'acte", + "actPlaceholder": "sol / banda / dj / productor", + "spotifyLabel": "Spotify", + "spotifyPlaceholder": "https://open.spotify.com/…", + "bandcampLabel": "Bandcamp", + "bandcampPlaceholder": "https://…bandcamp.com", + "soundcloudLabel": "SoundCloud", + "soundcloudPlaceholder": "https://soundcloud.com/…", + "youtubeLabel": "YouTube", + "youtubePlaceholder": "https://youtube.com/…", + "setLengthPlaceholder": "p. ex. 30-45 min", + "techRiderPlaceholder": "p. ex. PA, micròfons, backline" + }, + "judge": { + "seoTitle": "Judica esdeveniments de skate - SkateSpots", + "seoDescription": "Publica't com a jutge d'esdeveniments de skate: Game of S.K.A.T.E., jams de millor truc, concursos, sèries amateur i parades del circuit mundial. Deixa't contractar per organitzar esdeveniments justos i creïbles.", + "heading": "Jutge d'esdeveniments de skate", + "tagline": "Des d'un Game of S.K.A.T.E. al terra fins al World Destruction Tour: organitza'l de manera justa i creïble", + "noun": "jutge", + "rateLabel": "Tarifa diària / honoraris", + "portfolioLabel": "Arxiu de resultats / enllaç al perfil", + "sectionEventFormats": "Formats d'esdeveniment", + "sectionSpecialty": "Especialitat", + "sectionLevelCircuit": "Nivell / circuit", + "eventsJudgedLabel": "Esdeveniments jutjats", + "eventsJudgedPlaceholder": "p. ex. més de 40 concursos, 3 parades del circuit mundial", + "eventsJudgedHelper": "Esdeveniments, competicions o gires destacades que hagis arbitrat.", + "travelPlaceholder": "p. ex. regional / estatal / internacional", + "certificationsPlaceholder": "p. ex. curs nacional de jutge" + }, + "organizer": { + "seoTitle": "Organitza esdeveniments de skate - SkateSpots", + "seoDescription": "Publica't com a organitzador d'esdeveniments de skate: jams de carrer, millor truc, concursos, trobades, demos i parades de gira. Deixa't descobrir i contractar per dirigir la sessió.", + "heading": "Organitzador d'esdeveniments", + "tagline": "Jams, concursos, trobades i demos: organitza la sessió i uneix l'escena", + "noun": "organitzador", + "rateLabel": "Tarifa / pressupost de l'esdeveniment", + "portfolioLabel": "Enllaç a esdeveniments anteriors / resultats", + "sectionEventTypes": "Tipus d'esdeveniment", + "sectionWhatYouHandle": "Què gestiones", + "sectionScale": "Escala", + "eventsHostedLabel": "Esdeveniments organitzats", + "eventsHostedPlaceholder": "p. ex. 25 jams, 3 concursos de ciutat", + "eventsHostedHelper": "Esdeveniments, competicions o trobades destacades que hagis organitzat.", + "insurancePlaceholder": "p. ex. responsabilitat civil inclosa", + "permitsPlaceholder": "p. ex. permisos municipals gestionats" + }, + "tattoo": { + "seoTitle": "Fes-te tatuador - SkateSpots", + "seoDescription": "Publica la teva feina de tatuatge per a l'escena del skate: estils, flash, personalitzats i més.", + "heading": "Tatuador", + "tagline": "Tinta per a l'escena: flash, personalitzat, línia fina i més", + "noun": "tatuador", + "rateLabel": "Tarifa / per hora", + "portfolioLabel": "Enllaç al portafoli (IG, web)", + "sectionStyles": "Estils", + "sectionMethod": "Mètode", + "studioLabel": "Estudi / botiga", + "studioPlaceholder": "Nom de l'estudi (opcional)", + "booksOpenLabel": "Agenda oberta", + "booksOpenHelper": "Acceptes reserves ara mateix?", + "depositPlaceholder": "p. ex. 50 EUR no reemborsables", + "minimumPlaceholder": "p. ex. 80 EUR" + }, + "trainer": { + "seoTitle": "Fes-te entrenador / fisio - SkateSpots", + "seoDescription": "Ajuda els skaters a estar forts i sans: força, mobilitat, prevenció de lesions i recuperació.", + "heading": "Entrenador / fisio", + "tagline": "Força, mobilitat, prevenció de lesions i recuperació per a skaters", + "noun": "preparador", + "rateLabel": "Tarifa / sessió", + "portfolioLabel": "Enllaç al perfil o a reserves", + "sectionFocus": "Enfocament", + "sectionInjuries": "Lesions que tractes", + "sectionCredentialsSetting": "Titulació i entorn", + "credentialsPlaceholder": "p. ex. grau en Fisioteràpia, CSCS…", + "credentialsHelper": "Posa titulacions reals: els skaters es fien de credencials verificables.", + "remoteLabel": "A distància / en línia", + "remoteHelper": "Ofereixes entrenament o consultes en línia?", + "modalitiesPlaceholder": "p. ex. teràpia manual, força i condicionament, punció seca" + }, + "barber": { + "seoTitle": "Fes-te barber / perruquer - SkateSpots", + "seoDescription": "Publica la teva barberia o cadira per a l'escena del skate: talls, degradats, retocs de barba, color i més. Deixa't reservar pels skaters.", + "heading": "Barber / perruquer", + "tagline": "Talls, degradats i barbes per a l'escena: a la cadira o a domicili", + "noun": "barber", + "rateLabel": "Preu / tall", + "portfolioLabel": "Galeria de talls / enllaç a IG", + "sectionWhatYouOffer": "Què ofereixes", + "sectionSignatureStyles": "Estils propis", + "sectionSetting": "Entorn", + "studioLabel": "Botiga / estudi", + "studioPlaceholder": "Nom de la botiga o estudi (opcional)", + "booksOpenLabel": "Agenda oberta", + "booksOpenHelper": "Acceptes reserves ara mateix?", + "durationPlaceholder": "p. ex. 30-45 min" + }, + "clothing": { + "seoTitle": "Fes-te dissenyador de roba - SkateSpots", + "seoDescription": "Roba personalitzada, equipacions per a equips i peces per a l'escena.", + "heading": "Dissenyador de roba", + "tagline": "Roba personalitzada, equipacions per a equips i peces per a l'escena", + "noun": "dissenyador de roba", + "rateLabel": "Tarifa", + "portfolioLabel": "Enllaç a la botiga o portafoli", + "sectionWhatYouMake": "Què crees", + "sectionHowYouMake": "Com ho fabriques", + "sectionMaterials": "Materials", + "minimumPlaceholder": "p. ex. 10 peces", + "turnaroundPlaceholder": "p. ex. 2-3 setmanes", + "sizingPlaceholder": "p. ex. XS-3XL / a mida", + "samplesHelper": "Ofereixes mostres o prototips abans d'una producció completa?", + "customizationPlaceholder": "p. ex. noms, números, grafismes" + } + }, + "skaterLabelsUi": { + "stance": { + "regular": "Regular", + "goofy": "Goofy" + }, + "style": { + "street": "Street", + "park": "Parc", + "vert": "Vert", + "transition": "Transició", + "bowl": "Bowl", + "cruising": "Cruising", + "downhill": "Descens", + "freestyle": "Freestyle", + "ledges": "Ledges", + "stairs": "Escales", + "diy": "DIY" + }, + "level": { + "grom": "Grom", + "intermediate": "Intermedi", + "advanced": "Avançat", + "ripper": "Ripper" + }, + "sponsor": { + "title": "Patrocinador principal", + "gold": "Or", + "silver": "Plata", + "partner": "Col·laborador" + } + }, + "legacyMiscUi": { + "hostingGoing": "{{count}} hi van", + "hostingInterested": "{{count}} interessats", + "hostingPostUpdate": "Publica una actualització", + "hostingEdit": "Edita", + "hostingLoginToSee": "Inicia sessió per veure els esdeveniments que organitzes.", + "hostingEmptyTitle": "Encara no organitzes res", + "hostingEmptyBody": "Organitza un jam, un concurs o una sessió. Crea un esdeveniment i els skaters podran confirmar assistència, rebre actualitzacions i passar-s'hi.", + "hostingCreateEvent": "Crea un esdeveniment", + "hostingUpcoming": "Propers · {{count}}", + "hostingPast": "Passats · {{count}}", + "sponsorPartners": "Col·laboradors", + "sponsorTitleSponsor": "Patrocinador principal", + "sponsorPlatformPartners": "Col·laboradors de la plataforma", + "reportsUntitled": "(sense títol)", + "reportsResolveFailed": "No s'ha pogut resoldre l'esdeveniment denunciat (potser s'ha eliminat, o la denúncia fa referència a un perfil i no a una publicació).", + "reportsLookAtIt": "Mira-ho", + "reportsNoReports": "Encara no hi ha denúncies. O tot va bé, o ningú no ha trobat el botó.", + "statusSetYourStatus": "Posa el teu estat", + "statusSetDesc": "Fes saber als altres què fas. El teu estat es veurà al teu perfil i als spots enllaçats.", + "statusClear": "Neteja", + "statusOrWriteOwn": "O escriu el teu", + "statusCustomPlaceholder": "Què estàs fent?", + "statusLinkToSpot": "Enllaça amb un spot (opcional)", + "statusSpotSelected": "Spot seleccionat", + "statusSearchSpots": "Cerca spots...", + "statusNoSpotsFound": "No s'ha trobat cap spot.", + "statusSelectSpot": "Tria un spot", + "statusAutoClearAfter": "S'esborra automàticament al cap de: {{time}}", + "statusExpMin": "{{count}} min", + "statusExpOneHour": "1 hora", + "statusExpHours": "{{count}} hores", + "statusExpOneDay": "1 dia", + "statusExpDays": "{{count}} dies", + "statusSlider15": "15 min", + "statusSlider1h": "1 h", + "statusSlider4h": "4 h", + "statusSlider24h": "24 h", + "statusSetting": "S'està establint l'estat...", + "statusSet": "Posa l'estat", + "statusSomethingWrong": "Alguna cosa ha anat malament", + "seoProfileTitle": "Perfil - SkateSpots", + "seoViewProfile": "Veure el perfil.", + "bannerAlt": "Banner", + "openInCordn": "Obre a Cordn", + "modHelp": "Amaga publica org.skatespots.moderation / hidden; Confirma publica … / verified; Desfés publica … / cleared (torna a neutral). Les tres són etiquetes públiques i reversibles: no s'esborra mai res dels relés.", + "zapNoActiveMint": "No s'ha trobat cap mint de Cashu actiu.", + "altProfile": "Perfil", + "altCardPreview": "Previsualització de la targeta", + "altCard": "Targeta", + "altCaptured": "Capturat", + "ariaPrevPhoto": "Foto anterior", + "ariaNextPhoto": "Foto següent", + "ariaCommentOptions": "Opcions de comentari", + "ariaMessageConversation": "Conversa de missatges", + "exportTitle": "SkateSpots — Calculadora de cost de taules", + "exportQuoteTitle": "PRESSUPOST", + "exportPngTitle": "Cost de la taula", + "exportMarkdownTitle": "Calculadora de cost de taules", + "exportSectionLabor": "Mà d'obra", + "exportSectionEquipment": "Equip", + "exportSectionOperations": "Despeses d'operació", + "exportSectionMaterials": "Materials", + "exportSectionProcesses": "Costos de procés", + "exportSectionPackaging": "Embalatge", + "exportSectionResult": "Resultat", + "exportLabelOperations": "Operacions", + "exportLabelProcesses": "Processos", + "exportKvHourlyRate": "Tarifa per hora", + "exportKvLabourBurden": "Càrrega laboral", + "exportKvLoadedRate": "Cost carregat", + "exportKvEquipmentPerBoard": "Equip per taula", + "exportKvBoardsPerMonth": "Taules / mes", + "exportKvRentPerMonth": "Lloguer / mes", + "exportKvUtilitiesPerMonth": "Subministraments / mes", + "exportKvSubscriptionsPerMonth": "Subscripcions / mes", + "exportKvPerBoard": "Per taula", + "exportKvMaterialsPerBoard": "Materials per taula", + "exportKvProcessesPerBoard": "Processos per taula", + "exportKvPackagingPerBoard": "Embalatge per taula", + "exportKvMarkup": "Marge", + "exportMarkupValue": "{{markup}}× (≈ {{pct}} % de marge brut)", + "exportKvWasteEffective": "Malbaratament (efectiu)", + "exportKvCostNoPack": "Cost / taula (sense embalatge)", + "exportKvCostWithPack": "Cost / taula (amb embalatge)", + "exportKvBatchSetupPerBoard": "Preparació del lot / taula", + "exportKvTax": "Impost ({{pct}} %)", + "exportKvTaxIncluded": "Impost ({{pct}} %, inclòs)", + "exportKvSellingNoPack": "Preu de venda (sense embalatge)", + "exportKvSellingWithPack": "Preu de venda (amb embalatge)", + "exportShippingNote": "No inclou l'enviament al comprador.", + "exportGeneratedBy": "Generat per SkateSpots · skate-spots.org", + "exportGeneratedWith": "Generat amb SkateSpots · skate-spots.org", + "exportDetailSetup": "+ {{hours}} h de preparació", + "exportDetailBoards": "{{boards}} taules", + "exportDetailShip": "+ {{amount}} d'enviament", + "exportDetailMinutes": "{{minutes}} min", + "exportDetailPerBoards": "/ {{boards}} taules", + "exportDetailScrap": "{{pct}} % de malbaratament", + "exportDetailMaterials": "{{materials}} materials", + "exportQuoteRef": "Ref. {{ref}}", + "exportQuoteLineItem": "Taula de skate personalitzada", + "exportQuoteLineItemQty": "Taula de skate personalitzada × {{qty}}", + "exportQuoteLineDesc": "Feta a mà, acabada i embalada. Quantitat 1.", + "exportQuoteLineDescQty": "Feta a mà, acabada i embalada. {{price}} cadascuna.", + "exportQuoteSubtotal": "Subtotal", + "exportQuoteSubtotalQty": "Subtotal ({{qty}} taules)", + "exportQuoteTax": "Impost / IVA ({{pct}} %)", + "exportQuoteTotal": "Total", + "exportQuoteTotalQty": "Total ({{qty}} taules)", + "exportQuoteIncludesTax": "Inclou un {{pct}} % d'impost ({{amount}})", + "exportQuoteDeposit": "Paga i senyal ara ({{pct}} %)", + "exportQuoteBalance": "Resta en finalitzar", + "exportQuotePayment": "Pagament: {{value}}", + "exportQuoteLightning": "Lightning: {{value}}", + "exportQuoteDetails": "Detalls: {{value}}", + "exportQuoteTerms": "Condicions: {{value}}", + "exportQuoteDelivery": "Lliurament: {{value}}", + "exportQuoteValidUntil": "No inclou l'enviament. Pressupost vàlid fins al {{date}}.", + "exportPngSellingWith": "PREU DE VENDA · AMB EMBALATGE", + "exportPngSellingNo": "PREU DE VENDA · SENSE EMBALATGE", + "exportPngCostWith": "COST / TAULA (AMB EMBALATGE)", + "exportPngDeposit": "Paga i senyal {{pct}} %: {{amount}}", + "exportXlsxSummary": "Resum", + "exportXlsxCurrency": "Moneda", + "exportXlsxDate": "Data", + "exportXlsxOperationsPerBoard": "Operacions per taula", + "exportColCost": "Cost", + "exportColSetupH": "Preparació (h)", + "exportColBoards": "Taules", + "exportColPerBoard": "Per taula", + "exportColMaterial": "Material", + "exportColOrderCost": "Cost de la comanda", + "exportColShipping": "Enviament", + "exportColOrderMin": "Comanda (min)", + "exportColUnloadMin": "Descàrrega (min)", + "exportColProcess": "Procés", + "exportColTimeMin": "Temps (min)", + "exportColTimeBoardMin": "Temps/taula (min)", + "exportColMaterialsBoard": "Materials/taula", + "exportCopyTitle": "Cost de la taula — {{currency}}", + "exportCopyCostWith": "Cost / taula (amb embalatge): {{amount}}", + "exportCopySellingNo": "Preu de venda (sense embalatge): {{amount}}", + "exportCopySellingWith": "Preu de venda (amb embalatge): {{amount}}", + "exportCopyBreakdown": "Equip {{equipment}} · Operacions {{operations}} · Materials {{materials}} · Processos {{processes}} · Embalatge {{packaging}}", + "exportMdHourlyRate": "Tarifa per hora: {{value}}", + "exportMdLabourBurden": "Càrrega laboral: {{value}}", + "exportMdLoadedRate": "Cost carregat: {{value}}", + "exportMdBoardsPerMonth": "Taules/mes: {{value}}", + "exportMdRent": "Lloguer: {{value}}", + "exportMdUtilities": "Subministraments: {{value}}", + "exportMdSubscriptions": "Subscripcions: {{value}}", + "exportMdPerBoard": "Per taula: {{value}}", + "exportMdMarkupWaste": "Marge: {{markup}}× (≈ {{pct}} % de marge brut) · Malbaratament: {{waste}} %", + "exportMdCostNoPack": "Cost/taula (sense embalatge): {{value}}", + "exportMdCostWithPack": "Cost/taula (amb embalatge): {{value}}", + "exportMdBatchSetup": "Preparació del lot/taula: {{value}}", + "exportMdSellingNo": "Preu de venda (sense embalatge): {{value}}", + "exportMdSellingWith": "Preu de venda (amb embalatge): {{value}}", + "exportMdDisclaimer": "No inclou l'enviament al comprador. Generat per SkateSpots." + } +}; + +export default batch7; diff --git a/src/i18n/ca/drift.ts b/src/i18n/ca/drift.ts new file mode 100644 index 0000000..cfd5234 --- /dev/null +++ b/src/i18n/ca/drift.ts @@ -0,0 +1,9 @@ +/** + * Post-translation corrections for ca. + * + * Add keys here when a batch translation needs fixing without editing the + * generated batch files. Values must also exist in `en`. + */ +const drift = {}; + +export default drift; diff --git a/src/i18n/ca/index.ts b/src/i18n/ca/index.ts new file mode 100644 index 0000000..518f10a --- /dev/null +++ b/src/i18n/ca/index.ts @@ -0,0 +1,24 @@ +import batch1 from './batch1'; +import batch2 from './batch2'; +import batch3 from './batch3'; +import batch4 from './batch4'; +import batch5 from './batch5'; +import batch6 from './batch6'; +import batch7 from './batch7'; +import drift from './drift'; +import { deepMerge } from '../deepMerge'; + +const ca = deepMerge( + { + ...batch1, + ...batch2, + ...batch3, + ...batch4, + ...batch5, + ...batch6, + ...batch7, + }, + drift, +); + +export default ca; diff --git a/src/i18n/eu/batch1.ts b/src/i18n/eu/batch1.ts new file mode 100644 index 0000000..7245d0d --- /dev/null +++ b/src/i18n/eu/batch1.ts @@ -0,0 +1,1268 @@ +const batch1 = { + common: { + loading: "Kargatzen...", + error: "Errorea", + save: "Gorde", + cancel: "Utzi", + delete: "Ezabatu", + edit: "Editatu", + add: "Gehitu", + remove: "Kendu", + create: "Sortu", + submit: "Bidali", + close: "Itxi", + back: "Atzera", + next: "Hurrengoa", + done: "Eginda", + search: "Bilatu", + filter: "Iragazkia", + sort: "Ordenatu", + share: "Partekatu", + more: "Gehiago", + copy: "Kopiatu", + copied: "Kopiatuta!", + viewAll: "Ikusi guztia", + seeMore: "Ikusi gehiago", + showMore: "Erakutsi gehiago", + showLess: "Erakutsi gutxiago", + noResults: "Ez da emaitzarik aurkitu", + tryAgain: "Saiatu berriro", + learnMore: "Ikasi gehiago", + getStarted: "Hasi", + yes: "Bai", + no: "Ez", + or: "edo", + and: "eta", + free: "Doan", + new: "Berria", + popular: "Ospetsua", + featured: "Nabarmendua", + verified: "Egiaztatua", + sats: "sats", + clear: "Garbitu", + clearFilters: "Garbitu iragazkiak", + clearAll: "Garbitu guztia", + hide: "Ezkutatu", + undo: "Desegin" + }, + nav: { + searchLanguages: "Bilatu hizkuntzak...", + noLanguages: "Ez da hizkuntzarik aurkitu", + home: "Hasiera", + map: "Tokiak", + lab: "Laborategia", + events: "Ekitaldiak", + crews: "Taldeak", + wallet: "Zorroa", + settings: "Ezarpenak", + more: "Gehiago", + rewards: "Sariak", + stats: "Komunitatearen estatistikak", + about: "Honi buruz", + food: "Janaria", + marketplace: "Azoka", + mints: "Mintak", + appShop: "App-denda", + diy: "DIY", + trades: "Azoka", + stash: "Biltegia", + collections: "Bildumak", + contacts: "Kontaktuak", + messages: "Mezuak", + skaters: "Skaterrak", + glossary: "Glosarioa", + riderCard: "Rider txartela", + supporters: "Laguntzaileak ⚡", + newsletter: "Buletina", + viewProfile: "Ikusi profila", + leaderboards: "Sailkapenak" + }, + chromeUi: { + skipToContent: "Joan edukira", + menu: "Menua", + inBadge: "Barruan", + loggedIn: "Saioa hasita", + profile: "Profila", + logIn: "Hasi saioa", + logOut: "Amaitu saioa", + notLoggedIn: "Saioa hasi gabe", + loggedOutPrompt: "Hasi saioa tokiak gehitzeko, skaterrei zap egiteko eta gustukoak gordetzeko", + accounts: "Kontuak", + addAnotherAccount: "Gehitu beste kontu bat", + setStatus: "Ezarri egoera", + setYourStatus: "Ezarri zure egoera", + status: "Egoera", + addSpot: "Gehitu tokia", + myData: "Nire datuak", + myStash: "Nire biltegia", + myCollections: "Nire bildumak", + viewMyProfile: "Ikusi nire profila", + customizeNavBar: "Pertsonalizatu nabigazio-barra", + ecash: "Ecash", + madeWith: "Eginda", + forSkateCommunity: "skate komunitatearentzat", + beta: "Beta", + license: "Lizentzia", + privacy: "Pribatutasuna", + collaborators: "Laguntzaileak eta lagunak", + notSponsoredBy: "Babeslerik ez:", + errorTitle: "Ezin izan da hau kargatu", + errorDescription: "Sare-eskakizunak huts egin du. Egiaztatu konexioa eta saiatu berriro.", + tryAgain: "Saiatu berriro", + weatherOn: "Eguraldia aktibatuta", + weatherOff: "Eguraldia desaktibatuta", + trustFilter: "Konfiantza-iragazkia", + filterByTrustLevel: "Iragazi konfiantza-mailaren arabera", + trust: { + all: "Erabiltzaile guztiak", + allDesc: "Erakutsi guztien edukia", + verified: "Egiaztatua", + verifiedDesc: "Jarraitzen diezu edo egiaztatuta daude (konfiantza ≥90)", + trusted: "Fidagarria", + trustedDesc: "Lagunen lagunak edo NIP-05 egiaztatua (konfiantza ≥60)", + following: "Jarraitutakoak soilik", + followingDesc: "Erakutsi soilik jarraitzen dituzunen edukia", + followingShort: "Jarraitutakoak" + }, + sort: { + recent: "Berrienak", + recentDesc: "Berrienak lehenengo", + trust: "Konfiantza handiena", + trustDesc: "Sortzaile fidagarrienak", + proximity: "Niri hurbilenak", + proximityDesc: "Kokapen hurbilenak", + popular: "Ospetsuenak", + popularDesc: "Iruzkin eta erreakzio gehien", + zaps: "Zap gehien jaso dutenak", + zapsDesc: "Balio handiena jasotakoak" + }, + spotType: { + street: "Kalea", + transition: "Trantsizioa", + park: "Parkea", + plaza: "Plaza", + diy: "DIY", + bowl: "Bowl", + vert: "Vert", + indoor: "Estalia", + skatepark: "Skatepark", + miniramp: "Mini-rampa" + } + }, + auth: { + login: "Hasi saioa", + logout: "Amaitu saioa", + signUp: "Erregistratu", + signUpTitle: "Nostr-en berria zara?", + signUpDesc: "Sortu kontu berri bat hasteko. Doakoa eta irekia da.", + orLogIn: "Edo hasi saioa", + loginWithExtension: "Hasi saioa luzapenarekin", + loginWithAmber: "Hasi saioa Amber-ekin (Android)", + loginWithKey: "Giltza sekretua (nsec) edo berreskuratze-esaldia", + loginWithBunker: "Hasi saioa Nostr Connect-ekin", + bunkerUri: "Bunker konexio-katea", + openAmber: "Ireki Amber", + connectToBunker: "Konektatu Bunker-era", + noExtension: "Ez da luzapenik aurkitu.", + extensionHelp: "Saiatu goiko Erregistratu botoia erabiltzen kontu berri bat sortzeko, edo erabili Amber, Giltza edo Bunker fitxak jada kredentzialak badituzu.", + amberDesc: "Amber Android gailuetarako Nostr sinatzaile segurua da. Egin klik beheko botoian Amber irekitzeko eta sarbidea baimentzeko.", + bunkerDesc: "Sartu zure kontura edozein gailutatik urruneko sinatzaile bat (bunker) erabiliz. Zure giltzak zerbitzarian seguru egoten dira, inoiz ez webguneetara agertuta.", + keyPlaceholder: "nsec1... edo zure 12 hitzako berreskuratze-esaldia", + keyHint: "nsec giltza edo 12 hitzako berreskuratze-esaldia itsats dezakezu", + uploadKeyFile: "Kargatu zure giltza-fitxategia", + loggingIn: "Saioa hasten...", + connecting: "Konektatzen...", + verifying: "Egiaztatzen..." + }, + home: { + tagline: "Komunitateak bultzatuta • Relayetan oinarrituta", + title: "SKATE SPOTS", + subtitle: "Aurkitu tokiak • Elkartu • Ikasi trikimailuak • Lagundu bertakoei", + description: "Benetako skateboardinga lineaz kanpo gertatzen da — tresna honek hori aurkitzen laguntzen dizu.", + betaWarning: "BETA — Eraikitzen • Erabili zeure ardurapean", + pwaHint: "Progressive Web App — Instalatu zure gailuan", + exploreMap: "Arakatu mapa", + addSpot: "Gehitu tokia", + globalSpots: "Toki globalak", + openCommunity: "Komunitate irekia", + lightningZaps: "Lightning zap-ak", + featuredSpots: "Toki nabarmenduak", + featuredSpotsDesc: "Mundu osoko komunitateak egiaztatutako skate tokiak", + upcomingEvents: "Datozen ekitaldiak", + upcomingEventsDesc: "Laster izango diren lehiaketak, topaketak eta saioak", + noSpotsYet: "Oraindik ez da tokirik aurkitu", + noSpotsHint: "Izan zaitez lehena skate toki bat gehitzen!", + noEventsYet: "Ez dago datozen ekitaldirik", + noEventsHint: "Etorri berriro geroago edo sortu bat!", + theLab: "Laborategia", + theLabDesc: "Ikasi trikimailuak, aurkitu entrenatzaileak eta hobetu zure skatea", + coaches: "Entrenatzaileak", + coachesDesc: "Ikasi aurrera egiten lagun zaitzaketen skater esperientdunekin", + filmers: "Bideo-egileak", + filmersDesc: "Konektatu bideo-egileekin zure klip onenak harrapatzeko", + findCoach: "Aurkitu entrenatzaile bat", + becomeCoach: "Izan entrenatzaile", + findFilmer: "Aurkitu bideo-egile bat", + becomeFilmer: "Izan bideo-egile", + viewAllSpots: "Ikusi toki guztiak", + viewAllEvents: "Ikusi ekitaldi guztiak", + createEvent: "Sortu ekitaldia", + readyToShare: "Partekatzeko prest?", + readyToShareDesc: "Lagundu skate komunitateari hazten zure toki gustukoenak gehituz. Partekatzen duzun kokapen bakoitzak beste skaterrei leku berriak deskubritzen laguntzen die." + }, + spots: { + addSpot: "Gehitu tokia", + editSpot: "Editatu tokia", + spotDetails: "Tokiaren xehetasunak", + spotName: "Tokiaren izena", + spotType: "Toki mota", + description: "Deskribapena", + location: "Kokapena", + address: "Helbidea", + photos: "Argazkiak", + addPhotos: "Gehitu argazkiak", + obstacles: "Oztopoak", + features: "Ezaugarriak", + bustLevel: "Arrisku maila", + bestTime: "Ordu onena", + tips: "Aholkuak", + reviews: "Iruzkinak", + addReview: "Gehitu iruzkina", + reportSpot: "Salatu tokia", + directions: "Nola iritsi", + shareSpot: "Partekatu tokia", + createdBy: "Sortzailea", + lastUpdated: "Azken eguneratzea", + types: { + park: "Skatepark", + street: "Kaleko tokia", + diy: "DIY tokia", + plaza: "Plaza", + indoor: "Estalia", + bowl: "Bowl", + vert: "Vert", + miniramp: "Mini-rampa" + }, + bustLevels: { + chill: "Lasai", + moderate: "Ertaina", + sketchy: "Zalantzazkoa", + heavy: "Gogorra" + } + }, + events: { + title: "Skate ekitaldiak", + createEvent: "Sortu ekitaldia", + editEvent: "Editatu ekitaldia", + eventDetails: "Ekitaldiaren xehetasunak", + eventName: "Ekitaldiaren izena", + eventType: "Ekitaldi mota", + date: "Data", + time: "Ordua", + startDate: "Hasiera-data", + endDate: "Amaiera-data", + venue: "Lekua", + organizer: "Antolatzailea", + attendees: "Parte-hartzaileak", + going: "Joango naiz", + interested: "Interesatuta", + rsvp: "Berretsi", + ticketPrice: "Sarreraren prezioa", + freeEntry: "Sarrera doan", + register: "Erregistratu", + moreInfo: "Informazio gehiago", + upcomingEvents: "Datozenak", + pastEvents: "Iraganak", + noEvents: "Ez da ekitaldirik aurkitu", + findEvents: "Aurkitu lehiaketak, demoak, saioak eta gehiago", + searchPlaceholder: "Bilatu ekitaldiak...", + loginToCreate: "Hasi saioa ekitaldiak sortzeko", + noEventsMatch: "Ez dago zure iragazkiekin bat datorren datozen ekitaldirik.", + noUpcoming: "Ez da datozen ekitaldirik aurkitu.", + noPast: "Ez da iraganeko ekitaldirik aurkitu.", + types: { + contest: "Lehiaketa", + session: "Saioa", + meetup: "Topaketa", + premiere: "Bideo-estreinaldia", + workshop: "Tailerra", + demo: "Demoa", + jam: "Jam" + } + }, + mapUi: { + mapFooter: { + links: "Estekak", + hide: "Ezkutatu mapeko esteken barra" + }, + findingSpots: "Tokiak bilatzen", + loadingSpots: "Tokiak kargatzen", + loadingMap: "Mapa kargatzen...", + mapViewAria: "Mapa ikuspegia", + listViewAria: "Zerrenda ikuspegia", + layers: "Geruzak", + mapLayers: "Mapa geruzak", + showOnMap: "Erakutsi mapan", + showResults: "Erakutsi emaitzak", + quickActions: "Ekintza azkarrak", + spots: "Tokiak", + shops: "Dendak", + gear: "Ekipamendua", + tours: "Birak", + events: "Ekitaldiak", + crews: "Taldeak", + spotType: "Toki mota", + sortBy: "Ordenatu", + trustLevel: "Konfiantza maila", + weather: "Eguraldia", + buySellGear: "Erosi/Saldu ekipamendua", + stash: "Biltegia", + more: "Gehiago", + newHere: "Berria zara hemen?", + welcomeDesc: "Aurkitu skate tokiak, ekitaldiak eta komunitatea.", + firstRunTitle: "Hasi", + firstRunAddSpot: "Gehitu zure lehen tokia", + firstRunJoinCrew: "Batu talde batera", + firstRunStartCrew: "Sortu zure taldea", + firstRunWallet: "Konfiguratu zure zorroa", + getOnZapstore: "Lortu Zapstore-n", + dismiss: "Baztertu", + addedBy: "Gehitu du", + directions: "Nola iritsi", + viewDetails: "Ikusi xehetasunak", + viewDetailsArrow: "Ikusi xehetasunak →", + spotDetails: "Tokiaren xehetasunak", + skateShop: "Skate denda", + skateSpot: "Skate tokia", + youAreHere: "Hemen zaude", + conditions: "Baldintzak", + weatherScoreSuffix: "{{score}}/100 eguraldia", + wind: "Haizea", + humidity: "Hezetasuna", + airQuality: "Airearen kalitatea", + threeDayForecast: "3 eguneko iragarpena", + forecastDays: "{{count}} eguneko iragarpena", + gearForSale: "Salgai dagoen ekipamendua ({{count}})", + viewItems: "Ikusi artikuluak →", + viewAllItems: "Ikusi {{count}} artikulu guztiak →", + viewGear: "Ikusi ekipamendua →", + localTour: "Tokiko bira", + meetAt: "Topaketak: {{place}}", + hours: "{{count}} ordu", + level: "{{level}} maila", + viewTour: "Ikusi bira →", + upcomingEvent: "Hurrengo ekitaldia", + viewEvent: "Ikusi ekitaldia →", + skateCrew: "Skate taldea", + members: "{{count}} kide", + since: "{{year}}(e)tik", + viewCrew: "Ikusi taldea →", + acceptsBitcoin: "Bitcoin onartzen du", + boosted: "Bultzatuta", + website: "Webgunea", + offlineSavedSpots: "Lineaz kanpo · gordetako tokiak erakusten", + cantReachRelays: "Ezin da relay-etara iritsi", + relayOnlineNoAnswer: "Konektatuta zaude, baina komunitatearen relay-ak ez du orain erantzuten.", + youreOffline: "Lineaz kanpo zaude.", + savedOnDevice: "Dagoeneko ikusi dituzun tokiak gailu honetan gordeta daude eta hemen agertuko dira.", + noSpotsMatchTitle: "Ez dago tokirik bat datorrenik", + noSpotsMatchDesc: "Saiatu beste bilaketa batekin edo garbitu iragazkiak.", + noSpotsMappedYet: "Oraindik ez dago tokirik mapan", + noSpotsMappedDesc: "Izan zaitez lehena zure parkea mapan jartzen — minutu bat baino ez da, zurea da, eta handik pasatzen den hurrengo skaterrak eskertuko dizu.", + addFirstSpot: "Gehitu lehen tokia", + findSpotsNearMe: "Aurkitu nire inguruko tokiak", + locating: "Kokapena bilatzen…", + refiningLocation: "Zure kokapena zehazten…", + refiningLocationDesc: "Azken tokian zentratuta — GPS kokapen berria zehazten.", + locatingYou: "Zure kokapena bilatzen…", + locatingDesc: "GPS kokapena lortzen. Lehen aldian minutu bat behar dezake.", + foundYou: "Aurkitu zaitugu", + foundYouDesc: "Mapa zure kokapenean zentratu da.", + locationPermissionNeeded: "Kokapen-baimena behar da", + permissionNeededDesc: "Baimendu kokapena SkateSpots-entzat zure gailuaren Ezarpenak → Aplikazioak → SkateSpots → Baimenak atalean, eta sakatu berriro Nire inguruan.", + locationTimedOut: "Kokapenak denbora-muga gainditu du", + timeoutNativeDesc: "Ezin izan da kokapena garaiz lortu. Barruan bazaude, GPS-ak ezin ditu sateliteak ikusi — gaitu Sare bidezko kokapena (Ezarpenak → Kokapena) edo irten kanpora, eta saiatu berriro.", + timeoutWebDesc: "Ezin izan da zure kokapena garaiz lortu. Egiaztatu seinalea eta saiatu berriro.", + noLocationProvider: "Ez dago kokapen-hornitzailerik", + noProviderNativeDesc: "Zure telefonuak ez du kokapenik ematen. Pribatutasunean oinarritutako ROM-etan (adibidez, GrapheneOS) gaitu Sare bidezko kokapena Ezarpenak → Kokapena atalean, edo ziurtatu GPS-a piztuta dagoela eta saiatu kanpoan.", + noProviderWebDesc: "Ez dago kokapen-hornitzailerik erabilgarri. Gaitu kokapen-zerbitzuak eta saiatu berriro.", + locationUnavailable: "Kokapena ez dago erabilgarri", + unavailableNativeDesc: "Piztu Kokapena/GPS zure telefonoaren ezarpenetan, baimendu kokapena SkateSpots-entzat (Ezarpenak → Aplikazioak → SkateSpots → Baimenak), eta saiatu berriro.", + unavailableWebDesc: "Ezin izan da zure kokapena zehaztu. Ziurtatu kokapen-zerbitzuak gaituta daudela.", + locationBlocked: "Kokapena blokeatuta", + locationBlockedDesc: "Zure arakatzaileak gune honetako kokapen-sarbidea blokeatu du. Hona hemen nola berraktibatu:", + locationPlatformAndroid: "Android Chrome", + locationPlatformIos: "iOS Safari", + locationPlatformDesktop: "Chrome mahaigainean", + locationPlatformFirefox: "Firefox", + locationStepsAndroid: "Sakatu helbide-barran giltzarrapoaren ikonoa → Gunearen ezarpenak → Kokapena → Baimendu", + locationStepsIos: "Ezarpenak aplikazioa → Safari → Kokapena → Baimendu (edo sakatu Safari-ren helbide-barran \"AA\" botoia)", + locationStepsDesktop: "Egin klik giltzarrapoaren ikonoan → Gunearen ezarpenak → Kokapena → Baimendu", + locationStepsFirefox: "Egin klik giltzarrapoaren ikonoan → Konexio segurua → Informazio gehiago → Baimenak → Sartu zure kokapenera → Baimendu", + gotIt: "Ulertuta", + addSpot: "Gehitu tokia", + addShop: "Gehitu denda", + addEvent: "Gehitu ekitaldia", + addSpotHereTitle: "Toki bat gehitu hemen?", + addSpotHereDesc: "Jarri markagailu bat sakatu duzun lekuan", + sellGear: "Saldu ekipamendua", + offerTour: "Eskaini bira", + closeAddMenu: "Itxi gehitzeko menua", + addMenuAria: "Gehitu tokia, denda, ekitaldia, ekipamendua edo bira", + localChat: "Tokiko txata", + localChatDesc: "Zuzeneko txata mapa zentratuta dagoen edozein lekurentzat. Aukeratu kanalak zenbat eremu hartzen duen.", + btcMapShowing: "{{count}} leku erakusten inguruan zure sats-ak Spedn ditzakezun", + btcMapShow: "Erakutsi inguruko lekuak zure sats-ak Spedn egiteko (BTC Map bidez)", + yourPrivateStash: "Zure biltegi pribatua", + stashIntro: "Jarraitu zure ekipamendua, ezarri prezioak eta aurkitu trukeak beste skater batzuekin.", + encryptionRequired: "Zifratzea beharrezkoa", + encryptionRequiredDesc: "Erabili NIP-44 onartzen duen sinatzaile bat (Alby, nos2x, Amber).", + myStash: "Nire biltegia", + encrypted: "Zifratua", + itemsCount: "{{count}} artikulu", + items: "Artikuluak", + wishlist: "Nahi-zerrenda", + types: "Motak", + stashEmpty: "Zure biltegia hutsik dago", + addFirstItem: "Gehitu lehen artikulua", + wishlistCount: "Nahi-zerrenda ({{count}})", + myGearCount: "Nire ekipamendua ({{count}})", + openFullStash: "Ireki biltegi osoa", + addItem: "Gehitu artikulua", + searchSpotsPlaceholder: "Bilatu tokiak...", + selected: "Hautatuta", + noSpotsFound: "Ez da tokirik aurkitu. Saiatu beste bilaketa batekin.", + addingSpotsHint: "Tokiak gehitzeak erabiltzaileei zu aurkitzen laguntzen die kokapen zehatzak arakatzen dituztenean", + report: "Salatu", + spotSingular: "Toki 1", + spotPlural: "{{count}} toki", + view: "Ikusi", + myCollections: "Nire bildumak", + collectionsSubtitle: "Antolatu zure toki gustukoenak zerrenda pertsonalizatuetan", + newCollection: "Bilduma berria", + loginToCreate: "Hasi saioa bildumak sortzeko", + loginToCreateDesc: "Gorde zure toki gustukoenak zerrenda pertsonalizatuetan, adibidez \"Bartzelona bidaia 2024\" edo \"LAko rail onenak\"", + noCollections: "Oraindik ez dago bildumarik", + noCollectionsDesc: "Sortu zure lehen bilduma tokiak antolatzen hasteko", + createFirstCollection: "Sortu zure lehen bilduma", + createNewCollection: "Sortu bilduma berria", + createCollectionDesc: "Eman izen bat zure bildumari eta, nahi izanez gero, deskribapen bat", + collectionName: "Bildumaren izena", + collectionNamePlaceholder: "Bartzelona bidaia 2024", + descriptionOptional: "Deskribapena (aukerakoa)", + descriptionPlaceholder: "Nire Bartzelona bidaiako toki gustukoenak...", + creating: "Sortzen...", + createCollection: "Sortu bilduma", + editCollection: "Editatu bilduma", + saving: "Gordetzen...", + saveChanges: "Gorde aldaketak", + deleteCollectionTitle: "Bilduma ezabatu?", + deleteCollectionDesc: "\"{{title}}\" behin betiko ezabatuko da. Tokiak beraiek ez dira aldatuko.", + deleting: "Ezabatzen...", + collectionCreated: "Bilduma sortuta!", + collectionCreatedDesc: "\"{{title}}\" prest dago tokiak jasotzeko", + collectionCreateFailed: "Ezin izan da bilduma sortu", + collectionUpdated: "Bilduma eguneratuta!", + changesSaved: "Zure aldaketak gorde dira", + collectionUpdateFailed: "Ezin izan da bilduma eguneratu", + collectionDeleted: "Bilduma ezabatuta", + collectionDeletedDesc: "\"{{title}}\" kendu da", + collectionDeleteFailed: "Ezin izan da bilduma ezabatu", + somethingWentWrong: "Zerbait gaizki joan da" + }, + spotUi: { + claim: { + areYouOwner: "Hau zure tokia da?", + privateDesc: "Toki hau pribatu gisa markatuta dago. Zurea edo kudeatzen duzuna bada, erreklamatu — SkateSpots moderatzaile batek jabetza egiaztatuko du, eta orduan zuk hartuko duzu zerrenda.", + claimSpot: "Erreklamatu toki hau", + nip05Required: "NIP-05 helduleku egiaztatua behar duzu toki pribatu bat erreklamatzeko (Nostr identitate bat kontrolatzen duzunaren froga). Gehitu bat zure profilean, eta itzuli geroago.", + addNip05: "Gehitu NIP-05 Ezarpenean", + pendingTitle: "Erreklamazioa berrikusteko zain", + pendingDesc: "Zure erreklamazioa bidali da. SkateSpots moderatzaile batek berrikusiko du — tokiaren erreklamazioa amaitu ahal izango duzu onartzen denean.", + approvedTitle: "Erreklamazioa onartuta", + approvedDesc: "Moderatzaile batek zure erreklamazioa onartu du. Amaitu toki honen jabe izateko.", + complete: "Amaitu erreklamazioa", + submitted: "Erreklamazioa bidalita", + submittedDesc: "Moderatzaile batek zure erreklamazioa berrikusiko du. Tokia onartzen denean hartuko duzu.", + submitFailed: "Ezin izan da erreklamazioa bidali", + submit: "Bidali erreklamazioa", + submitting: "Bidaltzen…", + confirmTitle: "Erreklamatu \"{{title}}\"?", + confirmIntro: "Toki pribatu honen jabe izatea eskatzen ari zara.", + confirmBullet1: "SkateSpots moderatzaile batek eskaera berrikusten du (ezin dugu jabetza egiaztatu, Nostr giltzak soilik)", + confirmBullet2: "Onartzen bada, erreklamazioa amaitzen duzu jabe izateko eta tokia editatu ahal izateko", + confirmBullet3: "Jatorrizko tokia Nostr-en geratzen da — sarea deszentralizatuta dago", + adminTitle: "Jabetza-erreklamazioak zain", + adminApprove: "Onartu", + adminApproved: "Onartuta", + adminApprovedDesc: "Orain tokiaren erreklamazioa amaitu dezakete.", + adminApproveFailed: "Ezin izan da erreklamazioa onartu", + loginRequired: "Hasi saioa toki pribatu hau erreklamatzeko edo jabetza eskatzeko." + }, + abandonedDesc: "Azken eguneratzea: {{time}}. Jatorrizko jabea aktiboa ez bada, toki hau erreklama dezakezu mantendu eta hobetzeko.", + claimedNotice: "Erreklamatutako zerrenda", + claimedNoticeDesc: "Toki hau jabe berri batek berrargitaratu du erreklamazio baten ondoren. Jatorrizko zerrenda bereizita egon daiteke oraindik.", + abandonedLoginDesc: "Azken eguneratzea: {{time}}. Hasi saioa tokia erreklamatzeko eta mantentzeko.", + accessDeniedDesc: "Sortu dituzun tokiak soilik edita ditzakezu.", + accessDeniedTitle: "Sarbidea ukatuta", + addAtLeastOneTag: "Gehitu gutxienez etiketa bat.", + additionalDetails: "Xehetasun gehigarriak (aukerakoak)", + additionalDetailsPlaceholder: "Eman lagungarri izan daitekeen testuinguru gehigarria...", + addNewTags: "Gehitu etiketa berriak:", + addNip05InSettings: "Gehitu NIP-05 Ezarpenean", + addPhoto: "Gehitu argazkia", + addPhotoDesc: "Ekarri argazki bat besteek toki hau aurkitzeko.", + addPhotoOrDescription: "Gehitu argazki bat edo deskribapen bat", + addPhotoOrDescriptionDesc: "Eman skaterrei zerbait — argazki bat edo lekuari buruzko esaldi bat.", + addPhotos: "Gehitu argazkiak", + addPhotoToSpot: "Gehitu argazkia tokira", + adminDeleteDialogDesc: "SkateSpots administratzaile gisa \"{{title}}\" kentzen ari zara. Aplikazio osoan ezkutatuko da guztientzat eta ezabatzeko eskaera bat bidaliko zaie relay-ei.", + adminDeleteReason: "SkateSpots administratzaileak \"{{title}}\" tokia kendu du", + airQuality: "Airearen kalitatea", + altSkateSpot: "Skate tokia: {{title}}", + areYouShopOwner: "Dendaren jabea zara?", + askBeforeSkating: "Galdetu baimena skate egin aurretik", + backToSpot: "Itzuli tokira", + beFirstToListGear: "Izan zaitez lehena toki honetan ekipamendua zerrendatzen!", + beFirstToSay: "Izan zaitez lehena zerbait esaten.", + byAuthor: "Egilea: {{name}}", + captionPlaceholder: "Gehitu oina (aukerakoa) - deskribatu argazkian dagoena, noiz atera zen, etab.", + chatPublicNote: "Edonork irakur dezake hau — mezuak publiko eta efimeroak dira. Txat pribatuetarako, erabili Mezu zuzenak.", + checkPinBelow: "Egiaztatu beheko markagailua bikoiztu bat gehitu aurretik.", + claimBullet1: "Jabe bihurtzen zara eta tokia editatu dezakezu", + claimBullet2: "Jatorrizko tokia geratzen da (Nostr deszentralizatuta dago)", + claimBullet3: "Zure bertsioa jatorrizkoarekin batera ager daiteke", + claimFailed: "Erreklamazioak huts egin du", + claiming: "Erreklamatzen...", + claimIntro: "Toki honen jabetza erreklamatzear zaude. Horrek zure tokiaren bertsioa sortuko du, editatu eta mantendu ahal izateko.", + claimSpot: "Erreklamatu tokia", + claimThisSpot: "Erreklamatu toki hau", + claimTitle: "Erreklamatu \"{{title}}\"?", + claimWhatHappens: "Zer gertatzen da erreklamatzen duzunean:", + coachesAndFilmersAvailable: "Toki honetan eskuragarri dauden entrenatzaileak eta bideo-egileak", + coachesCount: "Entrenatzaileak ({{count}})", + coachHere: "Entrenatzailea hemen", + community: "Komunitatea", + communityVerified: "Komunitateak egiaztatua", + communityVerifiedTitle: "Beste skater batek hemen lagundu du (argazkia edo egoera-txostena).", + conditions: "Baldintzak", + contactForPermission: "Jarri harremanetan baimena lortzeko", + contactInfo: "Kontaktu-informazioa", + contributePhoto: "Ekarri argazkia", + contributing: "Ekartzen...", + couldNotSendMessage: "Ezin izan da mezua bidali.", + couldNotSubmit: "Ezin izan da bidali", + couldNotUploadPhoto: "Ezin izan da argazkia kargatu. Behean bat gehi dezakezu.", + crewsThatSkateHere: "Hemen skatertzen duten taldeak", + current: "Oraingoa:", + currentTags: "Toki honetako uneko etiketak:", + daysAgo: "Duela {{count}} egun", + daysAgoPlural: "Duela {{count}} egun", + deleteDialogDesc: "\"{{title}}\" relay guztietatik behin betiko ezabatuko da. Ekintza hau ezin da desegin.", + deletedSpotReason: "Ezabatutako tokia", + deleteFailed: "Ezabaketak huts egin du", + deleteSpot: "Ezabatu tokia", + deleteSpotTitle: "Tokia ezabatu?", + differentSpotPublishAnyway: "Beste toki bat da — argitaratu hala ere", + dragDropOrClick: "Arrastatu eta jaregin edo klik", + dropPhotos: "Jaregin argazkiak", + duplicateOne: "Badago zure markagailutik 60 m-ra dagoen toki bat. Leku bera bada, gehitu zure argazkia edo egoera-txostena han, bikoiztu bat sortu beharrean.", + duplicateOther: "Badaude zure markagailutik 60 m-ra dauden tokiak. Leku bera bada, gehitu zure argazkia edo egoera-txostena han, bikoiztu bat sortu beharrean.", + editSpotSeoDesc: "Editatu zure skate tokia.", + failedToContribute: "Ezin izan da ekarpena egin", + failedToPublish: "Ezin izan da argitaratu", + failedToPublishDesc: "Zerbait gaizki joan da. Egiaztatu kontsola xehetasunetarako.", + failedToSubmitReport: "Ezin izan da txostena bidali", + failedToSuggestTags: "Ezin izan dira etiketak iradoki", + failedToUpdate: "Ezin izan da eguneratu", + failedToUploadImage: "Ezin izan da irudia kargatu", + failedToUploadPhoto: "Ezin izan da argazkia kargatu", + feelsLikeTemp: "Sentsazioa: {{temp}}°C", + filmersCount: "Bideo-egileak ({{count}})", + filmHere: "Filmatu hemen", + gearSwap: "Ekipamendu-trukea", + geolocationNotSupported: "Geokokapena ez da onartzen", + geolocationNotSupportedDesc: "Zure arakatzaileak ez du geokokapena onartzen.", + getDirections: "Nola iritsi", + hangTight: "Itxaron une bat", + hangTightDesc: "Zure argazkia oraindik kargatzen ari da. Segundu bat barru erantsiko da.", + helpImproveSpot: "Lagundu toki hau hobetzen argazkiak gehituta edo etiketak iradokita", + hiddenByModerator: "Moderatzaile batek ezkutatuta", + hiddenByModeratorDesc: "Toki hau ez da mapan edo bilaketan erakusten. Oraindik ikus dezakezu zurea delako. Editatzeak ez du ezkutuan jarraitzen uztea lortuko — ezkutatuta egongo da moderatzaile batek erabakia atzera arte.", + humidity: "Hezetasuna", + imageUploaded: "Irudia kargatuta", + imageUploadedDesc: "Zure irudia behar bezala kargatu da.", + imHere: "Hemen nago", + invalidCoordinates: "Koordenatu baliogabeak", + invalidCoordinatesDesc: "Sartu baliozko latitudea (-90 eta 90) eta longitudea (-180 eta 180).", + invalidNpub: "npub baliogabea", + invalidNpubDesc: "Sartu baliozko npub helbide bat.", + lastReported: "azkena: {{time}}", + listGear: "Zerrendatu ekipamendua", + listYourGearHere: "Zerrendatu zure ekipamendua hemen", + loadingChat: "Txata kargatzen…", + locationError: "Kokapen-errorea", + locationFound: "Kokapena aurkitu da", + locationFoundDesc: "Zure uneko kokapena ezarri da.", + locationRequired: "Kokapena beharrezkoa", + locationRequiredDesc: "Sartu koordenatuak edo erabili zure uneko kokapena.", + loginRequiredTitle: "Saioa hasi behar da", + logInToChat: "Hasi saioa tokiko txatean parte hartzeko.", + logInToContributePhotos: "Hasi saioa argazkiak ekartzeko", + loginToEditSpot: "Saioa hasi behar duzu toki hau editatzeko.", + logInToReport: "Saioa hasita egon behar duzu edukia salatzeko.", + logInToReportStatus: "Hasi saioa toki honen egoera salatzeko.", + logInToSuggestTags: "Hasi saioa etiketak iradokitzeko", + manageNip05ToClaim: "Kudeatu NIP-05 erreklamatzeko", + meetAtSpotForPickup: "💡 Elkartu toki honetan modu seguruan jasotzeko", + memberOne: "{{count}} kide", + memberOther: "{{count}} kide", + messageFailed: "Mezuak huts egin du", + messageMapper: "Mezua mapagileari", + messagePlaceholder: "Bidali mezu bat toki honi… (probatu /me edo /who)", + messagesHiddenOne: "{{count}} mezu ezkutatu du zure konfiantza-iragazkiak. Jaitsi iragazkia gehiago ikusteko.", + messagesHiddenOther: "{{count}} mezu ezkutatu ditu zure konfiantza-iragazkiak. Jaitsi iragazkia gehiago ikusteko.", + messagesHiddenShortOne: "{{count}} mezu ezkutatu du zure konfiantza-iragazkiak", + messagesHiddenShortOther: "{{count}} mezu ezkutatu ditu zure konfiantza-iragazkiak", + metresAway: "{{distance}} m-ra", + moderatorVouchedDesc: "Moderatzaile batek toki hau berrikusi eta bermatu du. Primeran.", + monthsAgo: "Duela {{count}} hilabete", + monthsAgoPlural: "Duela {{count}} hilabete", + newOwnerNpub: "Jabe berriaren npub", + newOwnerNpubHint: "Sartu toki hau transferitu nahi diozun erabiltzailearen npub.", + nip05RequiredToClaim: "⚠️ NIP-05 egiaztapena behar da dendak erreklamatzeko", + noCommunitySignalTitle: "Oraindik ez dago komunitatearen argazkirik edo egoera-txostenik — inork ez du leku hau baieztatu.", + breakdownPhotos: "{{count}} argazki", + breakdownStatus: "{{count}} egoera-txosten", + breakdownComments: "{{count}} iruzkin", + breakdownReactions: "{{count}} erreakzio", + breakdownCollections: "{{count}} gordetze", + breakdownZaps: "{{count}} zap", + breakdownTags: "{{count}} etiketa-iradokizun", + breakdownCrews: "{{count}} talde", + breakdownLab: "{{count}} pro estekak", + verifyNudgeTitle: "Izan zaitez lehena toki hau baieztatzen", + verifyNudgeBody: "Argazki batek edo \"Hemen skatertu dut\" batek toki bat egiaztatzen du — lagundu hurrengo skaterrari.", + verifyNudgeStatus: "Hemen skatertu dut", + communityChip: "Komunitatea", + seenChip: "Ikusia", + noGearListedYet: "Oraindik ez dago ekipamendurik zerrendatuta", + noMessagesYet: "Oraindik ez dago mezurik kanal lokal honetan. Esan kaixo — \"inor skatertzen gaur gauean?\"", + noPhoto: "Argazkirik ez", + noReportsYet: "Oraindik ez dago txostenik", + noTags: "Etiketarik ez", + notASkateSpot: "Ez da skate toki bat", + offerServicesHere: "💡 Eskaini zure zerbitzuak toki honetan", + photoCaptured: "Argazkia aterata!", + photoCapturedDesc: "Zure argazkia behar bezala kargatu da.", + photoContributed: "Argazkia gehituta!", + photoContributedDesc: "Zure argazkia toki honetara gehitu da.", + photosAdded: "Zure argazkiak gehitu dira.", + photosRecommended: "guztiz gomendagarria — argazkirik gabeko tokiak Egiaztatu gabe markatuta jarraitzen dute", + photosUploaded: "{{count}} argazki kargatuta", + photoUploaded: "Argazkia kargatuta", + photoUploadedDesc: "Gehitu oin bat eta bidali ekartzeko!", + photoUploadFailed: "Argazkia kargatzeak huts egin du", + pleaseTryAgain: "Saiatu berriro", + public: "Publikoa", + publicChatTitle: "Edonork irakur ditzake kanal honetako mezuak — publikoa da eta ez dago zifratuta.", + recentReports: "Azken txostenak", + recipientRequired: "Hartzailea beharrezkoa", + recipientRequiredDesc: "Sartu jabe berriaren npub.", + removeAdmin: "Kendu (admin)", + removeSpot: "Kendu tokia", + removeSpotAdminTitle: "Toki hau kendu? (admin)", + reportOne: "txosten", + reportContent: "Salatu edukia", + reportContentDesc: "Lagundu komunitatea seguru mantentzen eduki desegokia salatuz.", + reportedBySkaters: " {{count}} skaterrek salatua — berrikusten. Toki erreala bada, gehitu argazki bat edo egoera-txosten bat baieztatzeko.", + reportedNotASpot: "Skate toki ez dela salatu da", + reportingType: "{{type}} salatzen", + reports: "txosten", + reportShop: "Salatu denda", + reportSpot: "Salatu tokia", + reportStatus: "Salatu egoera", + reportSubmitted: "Txostena bidalita", + reportSubmittedDesc: "Eskerrik asko SkateSpots seguru mantentzen laguntzeagatik.", + reportSubmittedLong: "Eskerrik asko SkateSpots seguru eta zehatz mantentzen laguntzeagatik. Komunitateko kide fidagarriek berrikusiko dute zure txostena.", + reportSubmittedTitle: "Txostena bidalita", + report: { + notASkateSpot: { + label: "Ez da skate toki bat", + description: "Proba-sarrera bat, edo skaterako ez den leku bat" + }, + fakeSpot: { + label: "Toki faltsua/ez-dagoena", + description: "Toki hau ez da existitzen edo kokapena okerra da" + }, + stolenPhotos: { + label: "Argazki lapurtuak/faltsuak", + description: "Argazkiak stock-irudiak dira edo beste leku batetik lapurtuak" + }, + spamAd: { + label: "Spama edo publizitatea", + description: "Eduki promozionala edo zerrenda bikoiztuak" + }, + dangerousLocation: { + label: "Kokapen arriskutsua", + description: "Jabetza pribatua, segurua ez dena edo legez kanpo sartzekoa" + }, + inappropriateContent: { + label: "Eduki desegokia", + description: "Eduki iraingarria edo helduentzako edukia dauka" + }, + impersonation: { + label: "Norbaiten nortasuna hartzea", + description: "Norbait beste norbait dela sinetsarazten" + }, + other: { + label: "Beste bat", + description: "Goian zerrendatu ez den beste zerbait" + } + }, + targetType: { + spot: "Tokia", + event: "Ekitaldia", + tour: "Bira", + shop: "Denda", + user: "Erabiltzailea", + listing: "Zerrenda", + coach: "Entrenatzailea", + filmer: "Bideo-egilea" + }, + sameOwner: "Jabe bera", + sameOwnerDesc: "Ezin zaio uneko jabeari transferitu.", + saveChanges: "Gorde aldaketak", + saving: "Gordetzen...", + services: "Zerbitzuak", + shareSpotText: "Begiratu skate toki hau: {{title}}", + shelter: "Aterpea", + shelterHint: "Toki hau eguraldiaren eraginpean dago? Skaterrei lehor dauden tokiak aurkitzen laguntzen die euria egiten duenean.", + shopClaimDesc: "Denda hau zurea edo kudeatzen duzuna bada, erreklama dezakezu jabetza egiaztatzeko eta zerrenda kudeatzeko.", + shopClaimNip05Hint: "Denda hau erreklamatzeko, gehitu dendaren webgunearen domeinuarekin bat datorren NIP-05 identifikatzaile bat.", + skatersActiveDesc: "Azken 24 orduetan kanal honetan idatzi duten pertsonak.", + skatersActiveOne: "{{count}} skater aktibo hemen", + skatersActiveOther: "{{count}} skater aktibo hemen", + skatersSellingGear: "Toki honetako skaterrek ekipamendua saltzen dute", + skateSpot: "Skate tokia", + somethingWentWrong: "Zerbait gaizki joan da", + spot: "Tokia", + spotAdded: "Tokia gehituta!", + spotAddedDesc: "Zure skate tokia sarean argitaratu da.", + spotAddedNoPhoto: "Argitaratuta — eta Egiaztatu gabe markatuta norbait argazki bat gehitu arte. Tokiaren argazki batek asko laguntzen du.", + spotChat: "Tokiaren txata", + spotClaimed: "Tokia erreklamatuta!", + spotClaimedDesc: "Orain toki honen jabea zara. Zure profiletik edita dezakezu.", + spotDeleted: "Tokia ezabatuta", + spotDeletedDesc: "Ezabatzeko eskaera relay-ei bidali zaie. Relay gehienek eduki hau kenduko dute.", + spotMayAlreadyBeOnMap: "Toki hori jada mapan egon daiteke", + spotMayAlreadyExist: "Toki hau jada existitu daiteke", + spotMayBeAbandoned: "Tokia bertan behera utzita egon daiteke", + spotPhotoAlt: "Tokia", + spotRemoved: "Tokia kenduta", + spotRemovedDesc: "Toki hau kendu da eta SkateSpots osoan ezkutatuko da.", + spotSeoDesc: "Ikusi skate toki hau SkateSpots-en.", + spotStatus: "Tokiaren egoera", + spotStatusDesc: "\"{{title}}\" skaterako egokia da oraindik? Jakinarazi komunitateari bere uneko egoera.", + spotTypeRequired: "Toki mota beharrezkoa", + spotTypeRequiredDesc: "Aukeratu toki mota bat skaterrek zer topatuko duten jakiteko.", + spotUpdated: "Tokia eguneratuta!", + spotUpdatedDesc: "Zure aldaketak sarean argitaratu dira.", + staffVerifiedTitle: "SkateSpots administratzaile batek toki hau berrikusi eta bermatu du.", + statusNotePlaceholder: "Aukerakoa: gehitu xehetasunak (adibidez, \"ertzean helduleku berriak\", \"zaintzaileak 18:00etatik aurrera botatzen ditu\")", + statusReported: "Egoera salatuta", + statusReportedDesc: "Eskerrik asko mapa eguneratuta mantentzeagatik. Zure txostena argitaratuta dago.", + submitReport: "Bidali txostena", + submitting: "Bidaltzen...", + suggestedByUser: "{{count}} erabiltzailek iradokia", + suggestedByUsers: "{{count}} erabiltzailek iradokia", + suggestedTagsContent: "Iradokitako etiketak {{title}}(e)rako: {{tags}}", + suggestNTags: "Iradoki {{count}} etiketa", + suggestOneTag: "Iradoki etiketa 1", + suggestTags: "Iradoki etiketak", + suggestTagsDesc: "Lagundu toki hau sailkatzen etiketa egokiak iradokiz.", + tags: "Etiketak", + tagsHint: "Gehitu etiketak ezaugarriak, gainazalak eta giroak adierazteko (gehienez {{max}})", + tagsSuggested: "Etiketak iradokita!", + tagsSuggestedDesc: "Zure etiketa-iradokizunak bidali dira.", + takePhoto: "Atera argazkia", + threeDayForecast: "3 eguneko iragarpena", + forecastDays: "{{count}} eguneko iragarpena", + tipTheMapper: "Bidali zap bat mapagileari", + tipTheMapperDesc: "Toki hau erabilgarria iruditu zaizu? Bidali zap bat mapagileari eskertzeko!", + titleRequired: "Izenburua beharrezkoa", + titleRequiredDesc: "Sartu izen bat toki honetarako.", + today: "Gaur", + tomorrow: "Bihar", + transferDesc: "Transferitu \"{{title}}\" beste erabiltzaile bati. Ekintza hau ezin da desegin.", + transferFailed: "Transferentziak huts egin du", + transferOwnership: "Transferitu jabetza", + transferRequestContent: "Jabetza-transferentzia eskaera \"{{title}}\" tokirako", + transferRequested: "Transferentzia eskatu da", + transferRequestedDesc: "Jabe berriak tokia erreklamatu beharko du transferentzia osatzeko.", + transferring: "Transferitzen...", + transferSpotOwnership: "Transferitu tokiaren jabetza", + transferWarningDesc: "Transferitu ondoren, ezin izango duzu toki hau editatu edo ezabatu.", + typeToSearchTags: "Idatzi etiketak bilatzeko edo gehitzeko...", + underReview: " — berrikusten. Toki erreala bada, gehitu argazki bat edo egoera-txosten bat baieztatzeko.", + untitledSpot: "Izenik gabeko tokia", + unverified: "Egiaztatu gabe", + updateDetailsFor: "Eguneratu {{title}} tokiaren xehetasunak", + updateSpotDesc: "Eguneratu toki honen informazioa. * ikurra duten eremu guztiak derrigorrezkoak dira.", + uploadAPhoto: "Kargatu argazki bat", + uploadAPhotoHint: "Arrastatu eta jaregin edo klik · JPG, PNG, WebP", + uploadedAlt: "Kargatuta", + uploadFailed: "Kargatzeak huts egin du", + uploadingPhoto: "Argazkia kargatzen…", + uploadPhotoFirst: "Kargatu argazki bat lehenengo.", + uvIndex: "UV indizea", + verifiedBySkateSpots: "SkateSpots-ek egiaztatua", + viewPhotoFullScreen: "Ikusi argazkia pantaila osoan", + viewPhotoOf: "Ikusi {{n}}. argazkia {{total}}etik", + warning: "Abisua", + weatherConditions: "Eguraldi-baldintzak", + weatherOnly: "eguraldia soilik", + weatherOnlyUnconfirmed: "Eguraldia soilik. Inork ez du oraindik baieztatu skate toki bat denik, beraz ez dago baldintzen puntuaziorik — gehitu argazki bat edo egoera-txosten bat baieztatzeko.", + whyReporting: "Zergatik salatzen ari zara hau?", + wind: "Haizea", + yearsAgo: "Duela {{count}} urte", + yearsAgoPlural: "Duela {{count}} urte" + }, + weatherUi: { + condition: { + clearSky: "Oskarbi", + mainlyClear: "Gehienbat oskarbi", + partlyCloudy: "Hodeitsu", + overcast: "Estalia", + foggy: "Lainotsua", + depositingRimeFog: "Izotz-lainoa metatzen", + lightDrizzle: "Zirimiri arina", + moderateDrizzle: "Zirimiri ertaina", + denseDrizzle: "Zirimiri trinkoa", + lightFreezingDrizzle: "Zirimiri izoztaile arina", + denseFreezingDrizzle: "Zirimiri izoztaile trinkoa", + slightRain: "Euri arina", + moderateRain: "Euri ertaina", + heavyRain: "Euri handia", + lightFreezingRain: "Euri izoztaile arina", + heavyFreezingRain: "Euri izoztaile handia", + slightSnow: "Elur arina", + moderateSnow: "Elur ertaina", + heavySnow: "Elur handia", + snowGrains: "Elur-aleak", + slightRainShowers: "Euri-zaparrada arinak", + moderateRainShowers: "Euri-zaparrada ertainak", + violentRainShowers: "Euri-zaparrada bortitzak", + slightSnowShowers: "Elur-zaparrada arinak", + heavySnowShowers: "Elur-zaparrada handiak", + thunderstorm: "Ekaitza", + thunderstormSlightHail: "Ekaitza kazkabar arinarekin", + thunderstormHeavyHail: "Ekaitza kazkabar handiarekin", + unknown: "Ezezaguna" + }, + aqi: { + good: "Ona", + moderate: "Ertaina", + unhealthySensitive: "Osasungaitza talde sentikorrentzat", + unhealthy: "Osasungaitza", + veryUnhealthy: "Oso osasungaitza", + hazardous: "Arriskutsua" + }, + skateability: { + perfect: "Bikaina", + good: "Ona", + okay: "Nahikoa", + poor: "Kaskarra", + bad: "Txarra", + unrideable: "Ezin da skatertu" + }, + updated: "Eguneratua", + refresh: "Freskatu", + unavailable: "Eguraldia ez dago erabilgarri.", + retry: "Saiatu berriro", + sunrise: "Egunsentia", + sunset: "Ilunabarra", + legendTitle: "Eguraldiaren puntuazioa", + legendWeatherOnly: "Eguraldia soilik", + reason: { + currentlyRaining: "Orain euria ari du", + raining: "Euria ari du", + snowing: "Elurra ari du", + thunderstorm: "Ekaitza", + freezingTemperature: "Tenperatura izoztailea", + veryCold: "Oso hotza", + extremelyHot: "Bero itzela", + veryHot: "Oso beroa", + veryStrongWind: "Haize oso indartsua", + strongWind: "Haize indartsua", + moderateWind: "Haize ertaina", + veryUnhealthyAir: "Aire oso osasungaitza", + unhealthyAir: "Aire osasungaitza", + moderateAirQuality: "Aire-kalitate ertaina", + veryHumid: "Oso hezea", + humid: "Hezea", + extremeUv: "UV muturra - erabili eguzki-babesa", + highUv: "UV altua - eguzki-babesa gomendatzen da", + perfectConditions: "Skate egiteko baldintza bikainak" + } + }, + cordnUi: { + title: "Txat pribatua", + subtitle: "Muturretik muturrera zifratuta (MLS) taldeko kideen artean. Koordinatzaileak zifratutako testua eta metadatuak soilik bideratzen ditu — ez du inoiz mezuaren edukia ikusten.", + notLoggedIn: "Hasi saioa taldearen txat pribatua erabiltzeko.", + membersOnly: "Taldeko kideek soilik ireki dezakete txat pribatua.", + connecting: "Konektatzen…", + noCoordinator: "Oraindik ez dago koordinatzailearik konfiguratuta talde honetarako.", + noGroupAdmin: "Talde honen txat pribatua ez da oraindik sortu.", + noGroupMember: "Oraindik ez zaude talde honen txat pribatuan.", + create: "Sortu txat pribatua", + requestJoin: "Eskatu sartzea", + checkInvite: "Egiaztatu gonbidapena", + requested: "Eskaera bidali da — taldeko administratzaile batek onartuko du.", + noInvite: "Oraindik ez dago gonbidapenik zain. Eskatu administratzaile bati zure eskaera onartzeko.", + placeholder: "Bidali mezua taldeari…", + send: "Bidali", + refresh: "Freskatu", + requests: "Sartzeko eskaerak", + checkRequests: "Egiaztatu eskaerak", + approve: "Gehitu", + noRequests: "Ez dago sartzeko eskaera zain.", + inviteHint: "Oraindik zu soilik zaude txat honetan — taldeko kideek \"Eskatu sartzea\" sakatu dezakete, eta gero zuk hemen onartuko dituzu.", + shareInvite: "Gonbidatu", + shareInviteText: "Batu {{crew}} taldera — taldeko txat pribatua", + inviteCopied: "Gonbidapen-esteka kopiatuta", + memberCount: "{{count}} taldean", + you: "Zu", + groupRef: "Taldearen esteka", + copyRef: "Kopiatu", + copied: "Kopiatuta", + attachImage: "Erantsi irudia", + uploading: "Kargatzen…", + uploadFailed: "Ezin izan da irudia kargatu.", + bannerTitle: "Talde honek ez du txat pribaturik oraindik", + bannerBody: "Konfiguratu muturretik muturrera zifratutako (MLS) txata zure taldearentzat — kideak fitxatik sartzen dira.", + bannerCta: "Konfiguratu", + ready: "Konektatuta · MLS", + errorPrefix: "Ezin izan da koordinatzailera iritsi", + interactiveHint: "Zure sinatzaileak ekintza bakoitzean onarpena eskatzen du — erabili Freskatu eta Bidali behar duzunean." + }, + trustUi: { + alertsTitle: "Sareko alertak", + alertsDesc: "Jarraitzen dituzun kontuak, pertsona fidagarriek salatu edo isilarazi dituztenak.", + alertsEmpty: "Ez dago alertarik. Jarraitzen dituzun kontuak pertsona fidagarrien txostenetan bilatzen ditugu.", + alertsReported: "{{count}} pertsona fidagarrik salatua", + alertsMuted: "{{count}} pertsona fidagarrik isilarazia", + alertsIgnore: "Ez ikusi", + alertsUnfollow: "Utzi jarraitzeari", + alertsLogin: "Hasi saioa jarraitzen dituzun kontuen alertak ikusteko.", + providerTitle: "Hornitzailea", + providerDesc: "Puntuazioak zuk aukeratutako hornitzaile batetik datoz. Komunitatearen hornitzailea da lehenetsia.", + useCommunity: "Erabili komunitatearen hornitzailea", + setProvider: "Ezarri hornitzaile bat", + customPubkeyPlaceholder: "Hornitzailearen npub edo hex pubkey", + customRelayPlaceholder: "wss://relay.example.com", + invalidProvider: "Sartu baliozko npub edo 64 karaktereko hex pubkey bat, eta wss:// relay bat.", + publishFailed: "Ezin izan da hornitzailea argitaratu. Saiatu berriro.", + providerSaved: "Hornitzailea eguneratu da.", + loggedOutProvider: "Hasi saioa hornitzaile bat aukeratzeko.", + showMarks: "Erakutsi konfiantza-markak", + showMarksDesc: "Marka egiaztatuak eta ezezagunak. Txostenak beti erakusten dira.", + sourceLabel: "Iturria", + sourceHouse: "Komunitatearen konfiantza-hornitzailea", + sourceCustom: "Zure hornitzailea", + loggedOut: "Hasi saioa zure konfiantza-hornitzailea aukeratzeko.", + seoTitle: "Nola funtzionatzen duen konfiantzak", + seoDescription: "Nola erakusten duen SkateSpots-ek konfiantza: hiru egoera, puntuazioen jatorria eta zergatik ez den hutsunea mesfidantza.", + title: "Nola funtzionatzen duen konfiantzak", + intro: "Konfiantza hemen seinale bat da, ez epai bat. Ezagutzen duzun jendearenetik dator, edo zuk aukeratutako hornitzaile batetik. Ez ditugu pertsonak modu globalean sailkatzen.", + statesTitle: "Hiru egoera", + verifiedTitle: "Egiaztatua", + verifiedDesc: "Zure sareko norbaitek kontu hau bermatzen du: lagun baten lagun bat, edo zuk aukeratutako hornitzailea.", + unknownTitle: "Ezezaguna", + unknownDesc: "Inork ez du oraindik bermatu. Kontu berri guztiak hemen hasten dira.", + flaggedTitle: "Markatua", + flaggedDesc: "Pertsona fidagarriek kontu hau salatu dute. Arreta handiagoz begiratzeko abisua da, ez ezeren froga.", + absenceTitle: "Markarik ezak ez du mesfidantza esan nahi", + absenceDesc: "Kontu gehienek ez dute ezer erakusten. Horrek esan nahi du zure sareko inork ez dituela oraindik bermatu, ez dagoela ezer gaizki. Ez irakurri inoiz falta den marka bat ezezkotzat.", + sourceTitle: "Nork kalkulatzen duen", + sourceDesc: "Lehenespenez zure sare propioa erabiltzen dugu. Nostr-en (NIP-85) sinatutako puntuazioak argitaratzen dituen konfiantza-hornitzaile bat ere aukeratu dezakezu, edo bistaratzea itzali. Markatua beti erakusten da, segurtasun-seinalea delako.", + endorsementTitle: "Egoteak ez du onarpena esan nahi", + endorsementDesc: "Marka egiaztatu batek norbaitek bermatu duela esan nahi du, ez pertsona ona denik. Marka batek pertsona fidagarriek salatu dutela esan nahi du, ez erruduna denik. Egiaztatu xehetasunak erabaki aurretik.", + povTitle: "Ikuspegiaren araberakoa da", + povDesc: "Puntuazioa erlatiboa da ikusten duenarentzat. Hornitzaile edo pertsona bateko sailkapena ezin da beste batekin alderatu, eta ez dugu inoiz bat egitate objektibotzat aurkezten.", + settingsCta: "Kudeatu Ezarpenean" + }, + notifyUi: { + activity: { + zappedWithAmount: "{{sats}} sats jaso dituzu zap bidez", + zapped: "Zap bat jaso duzu", + liked: "Norbaitek zure argitalpena gustuko du", + reposted: "Norbaitek zure argitalpena berrargitaratu du", + mentioned: "Norbaitek zu aipatu zaitu", + replied: "Norbaitek erantzun dizu", + rsvp: "Norbaitek zure ekitaldian parte hartzea berretsi du", + eventUpdated: "Joango zaren ekitaldi bat eguneratu da", + newActivity: "Jarduera berria", + tapToOpen: "Sakatu SkateSpots irekitzeko" + }, + crew: { + inviteTitle: "Talde-gonbidapena", + inviteBody: "{{crew}} taldera gonbidatu zaituzte", + addedTitle: "Talde batera gehitu zaituzte", + addedBody: "{{crew}} — berretsi sartzeko", + joinRequestTitle: "Batzeko eskaera", + joinRequestBody: "Norbaitek {{name}} taldera bat egin nahi du" + }, + dm: { + title: "Mezu zuzen berria", + body: "Sakatu irakurtzeko" + }, + trade: { + confirm: "Berretsi truke bat", + confirmed: "Trukea berretsita", + newOffer: "Oferta berria zure zerrendan", + counter: "Kontraeskaintza", + accepted: "Oferta onartuta 🎉", + declined: "Oferta baztertuta", + withdrawn: "Oferta erretiratuta" + }, + newsletter: { + drop: "SkateSpots-en nobedadea" + }, + summary: { + moreUpdates: "{{count}} eguneratze gehiago", + openToCatchUp: "Ireki SkateSpots egunean jartzeko" + } + }, + toastsUi: { + followingSuccess: "Jarraipena ondo egin da", + followingSuccessDesc: "Erabiltzaile hau zure sarean dago orain", + followFailed: "Ezin izan da jarraitu", + unfollowSuccess: "Jarraitzeari uztea ondo egin da", + unfollowSuccessDesc: "Zure saretik kendu da", + unfollowFailed: "Ezin izan zaio jarraitzeari utzi", + reportThanks: "Eskerrik asko — berrikustera bidali da", + reportFailed: "Ezin izan da txostena bidali", + savedOffline: "Lineaz kanpo gordeta", + savedOfflineDesc: "Berriro linean zaudenean automatikoki argitaratuko dugu.", + cacheCleaned: "Cachea garbituta", + cacheCleanedDesc: "{{count}} toki zahar kendu dira cachetik", + cacheCleared: "Cachea hustuta", + cacheClearedDesc: "Cachean zeuden toki guztiak kendu dira", + backOnline: "Berriro linean", + backOnlineDesc: "{{count}} gordetako ekintza bidali dira.", + postQueued: "Argitalpena ilaran", + postQueuedDesc: "Zure argitalpena berriro linean zaudenean argitaratuko da", + invalidIdentifier: "Identifikatzaile baliogabea. Erabili npub1..., user@domain.com edo hex pubkey", + notASpotThanks: "Eskerrik asko — berrikustera bidali da", + notASpotThanksDesc: "Ez zaitez haserretu: honek markagailua gai-kanpokotzat markatzen du, jendeak berak erabaki dezan.", + notASpotFailed: "Ezin izan da txostena bidali", + pleaseTryAgain: "Saiatu berriro.", + relayUnreachable: "Ezin izan da relay batera ere iritsi — egiaztatu konexioa eta saiatu berriro.", + loginToReport: "Hasi saioa toki bat salatzeko.", + zapLoginRequired: "Saioa hasi behar da", + zapLoginRequiredDesc: "Saioa hasita egon behar duzu zap bat bidaltzeko.", + zapEventNotFound: "Ekitaldia ez da aurkitu", + zapEventNotFoundDesc: "Ezin izan da zapatzeko ekitaldia aurkitu.", + zapAuthorNotFound: "Egilea ez da aurkitu", + zapAuthorNotFoundDesc: "Ezin izan da elementu honen egilea aurkitu.", + zapSuccess: "Zap-a ondo bidali da!", + zapSuccessNwcDesc: "{{amount}} sats bidali dizkiozu egileari NWC bidez.", + zapSuccessDesc: "{{amount}} sats bidali dizkiozu egileari.", + zapStatusUnknown: "Ordainketaren egoera ezezaguna", + zapStatusUnknownDesc: "Zure zorroak oraindik zap hau prozesatzen ari izan daiteke. Egiaztatu zorroa berriro saiatu aurretik — ez ordaindu birritan.", + zapNwcFailed: "NWC ordainketak huts egin du", + zapWeblnFailed: "WebLN ordainketak huts egin du", + zapFallingBack: "{{error}}. Beste ordainketa-metodo batzuetara aldatzen...", + zapFailed: "Zap-ak huts egin du", + zapUnknownNwcError: "NWC errore ezezaguna", + zapUnknownWeblnError: "WebLN errore ezezaguna", + nwcInvalidUri: "NWC URI baliogabea", + nwcInvalidUriDesc: "Egiaztatu konexio-katea eta saiatu berriro.", + nwcExists: "Konexioa jada existitzen da", + nwcExistsDesc: "Zorro hau jada konektatuta dago.", + nwcConnected: "Zorroa konektatuta", + nwcConnectedDesc: "Ondo konektatu da {{alias}}(e)ra.", + nwcFailed: "Konexioak huts egin du", + nwcFailedDesc: "Ezin izan da zorroarekin konektatu: {{error}}", + nwcUnknownError: "Errore ezezaguna gertatu da", + nwcDisconnected: "Zorroa deskonektatuta", + nwcDisconnectedDesc: "Zorroaren konexioa kendu da.", + deleteApproveAmber: "Onartu Amber-en", + deleteApproveAmberDesc: "Amber irekiko da — sakatu Onartu ezabaketa berresteko.", + deleteCancelled: "Utzita", + deleteCancelledDesc: "Eskaera baztertu duzu Amber-en.", + deleteCouldntSign: "Ezin izan da sinatu", + deletePublishing: "2/2 urratsa: Argitaratzen…", + deletePublishingDesc: "Ezabaketa relay-ei bidaltzen.", + deleteStuck: "ARGITARATZEN ataskatuta", + deleteStuckDesc: "Relay urratsak huts egin du: {{error}}. Ondo sinatu zen; relay-ak ez zuen berretsi.", + stashMerged: "Beste gailu bateko aldaketak bateratu dira", + stashMergedDesc: "Zure biltegia beste nonbait editatu da — bi aldaketa-multzoak mantendu dira.", + statusUpdated: "Egoera eguneratuta!", + statusUpdatedDesc: "Zure skate-egoera orain besteek ikus dezakete.", + statusFailed: "Ezin izan da egoera ezarri", + statusCleared: "Egoera garbituta", + statusClearedDesc: "Zure egoera kendu da.", + statusClearFailed: "Ezin izan da egoera garbitu", + nutzapEnabled: "Nutzap jasotzea gaituta", + nutzapEnabledDesc: "Orain ecash zap-ak jaso ditzakezu!", + nutzapSetupFailed: "Konfigurazioak huts egin du", + nutzapUnavailable: "Nutzap bidaltzea ez dago erabilgarri", + tokenReceived: "Tokena jasota", + tokenReceivedDesc: "Cashu tokena ondo trukatu da!", + receiveFailed: "Jasotzeak huts egin du", + invalidAmount: "Zenbateko baliogabea", + invalidAmountDesc: "Sartu baliozko zenbateko bat", + tokenCreated: "Tokena sortuta", + sendFailed: "Bidaltzeak huts egin du", + mintAdded: "Minta gehituta", + mintAddedDesc: "Minta gehituta eta fidagarri gisa markatuta", + mintAddFailed: "Ezin izan da minta gehitu", + mintRemoved: "Minta kenduta", + mintRemoveFailed: "Ezin izan da minta kendu", + paymentReceived: "Ordainketa jasota", + paymentReceivedDesc: "{{amount}} sats ondo jaso dira!", + paymentSent: "Ordainketa bidalita", + paymentSentDesc: "Lightning ordainketa ondo osatu da", + loginRequired: "Saioa hasi behar da", + loginToFollowFounder: "Hasi saioa sortzailea jarraitzeko", + alreadyFollowing: "Jada jarraitzen duzu", + alreadyFollowingDesc: "Dagoeneko {{name}} jarraitzen duzu!", + couldNotComplete: "Ezin izan da hori osatu", + tryAgainLower: "Saiatu berriro.", + couldNotLoadProfile: "Ezin izan da profila kargatu", + couldNotLoadProfileDesc: "Egiaztatu interneteko konexioa eta saiatu freskatzen.", + undone: "Deseginda", + undoneDesc: "Berriro neutralera — ez ezkutatuta, ez bermaturik.", + confirmed: "Berretsita", + confirmedDesc: "Bermatuta — ilara honetatik ateratzen da.", + hiddenToast: "Ezkutatuta", + couldNotUndo: "Ezin izan da desegin", + couldNotConfirm: "Ezin izan da berretsi", + deleteFailed: "Ezabaketak huts egin du", + somethingWentWrong: "Zerbait gaizki joan da" + }, + miscUi: { + openingCamera: "Kamera irekitzen…", + usePhoneCamera: "Erabili zure telefonoaren kamera, eta itzuli hona", + startingCamera: "Kamera abiarazten...", + cameraAccessRequired: "Kamerarako sarbidea behar da", + cameraAccessHint: "Baimendu kamerarako sarbidea zure arakatzailearen ezarpenetan, edo erabili beheko fitxategi-hautatzailea.", + cameraErrorTitle: "Kamera-errorea", + cameraErrorDesc: "Ezin izan da kamera ireki. Egiaztatu aplikazioaren baimenak Ezarpenean.", + cameraDeniedTitle: "Kamerarako sarbidea ukatuta", + cameraDeniedDesc: "Baimendu kamerarako sarbidea zure arakatzailearen ezarpenetan.", + uploadFromGallery: "Kargatu galeriatik", + uploading: "Kargatzen...", + usePhoto: "Erabili argazkia", + earningPotential: "Irabazteko potentziala", + qualityExcellent: "Bikaina!", + qualityGood: "Ona", + qualityBasic: "Oinarrizkoa", + qualityGettingStarted: "Hasten", + qualityLocationAdded: "Kokapena gehituta", + qualityOnePhoto: "Gutxienez argazki 1", + qualityThreePhotos: "3 argazki edo gehiago", + qualityMoreAngles: "Angelu gehiago = hobe", + qualityDescription: "Deskribapena", + qualityDetailedDesc: "Deskribapen zehatza (100+ karaktere)", + qualityContact: "Kontaktu-informazioa", + qualityPhoneOrWebsite: "Telefonoa edo webgunea", + qualityHours: "Irekiera-ordutegia", + qualitySpotType: "Toki mota hautatuta", + failedToLoadComments: "Ezin izan dira iruzkinak kargatu", + commentsTitle: "Iruzkinak", + noCommentsYet: "Oraindik ez dago iruzkinik", + beFirstComment: "Izan zaitez lehena zure iritzia partekatzen!", + removeMember: "Kendu kidea", + whoIsThisFor: "Norentzat da profil hau?", + individual: "Banakakoa", + individualDesc: "Pertsona bakarra", + collective: "Kolektiboa", + collectiveDesc: "Taldea, estudioa edo enpresa", + membersLabel: "Kideak", + dismissReport: "Baztertu txostena", + reportedBy: "salatua", + completingLoginAmber: "Saioa Amber-ekin osatzen...", + entityMembersHint: "Gehitu zure taldearen Nostr kontuak. Kide bakoitzak bere tokia berresten du bere giltzarekin — harik eta \"zain\" gisa agertzen dira.", + entityVerifiedHint: "Partaidetza kide bakoitzeko egiaztatzen da — inor ezin da zure taldera gehitua izan bere kontutik berretsi gabe.", + entityInvalidPubkey: "Sartu baliozko npub, nprofile edo 64 karaktereko hex pubkey bat.", + entityAlreadyAdded: "Kide hori jada gehituta dago.", + offline: "Lineaz kanpo", + connected: "Konektatuta", + offlineMode: "Lineaz kanpoko modua", + allFeaturesAvailable: "Funtzio guztiak erabilgarri", + browsingCachedSpots: "Cachean dauden tokiak arakatzen", + queuedActions: "{{count}} ekintza ilaran", + syncing: "Sinkronizatzen", + publishingWhenStable: "Konexioa egonkortzen denean argitaratzen...", + willPublishOnline: "Berriro linean zaudenean argitaratuko da", + availableOffline: "Lineaz kanpo erabilgarri:", + offlineBrowseSpots: "Arakatu aurretik ikusitako tokiak", + offlineViewDetails: "Ikusi cachean dauden toki-xehetasunak", + offlineKeepActing: "Jarraitu jarduten — argitalpenak, berresteak, zerrendak eta mezuak ilaran geratzen dira eta berriro konektatzean bidaltzen dira" + }, + feesUi: { + feeFeaturedEventLabel: "Ekitaldi nabarmendua", + feeFeaturedEventDesc: "Nabarmendu zure ekitaldia SkateSpots-en", + feeFeaturedEventBenefit: "Zure ekitaldia ekitaldien orriaren goialdean agertzen da", + feeLabProfileLabel: "Lab Pro profila", + feeLabProfileDesc: "Nabarmendu zure zerbitzuak Laborategian", + feeLabProfileBenefit: "Pro txartela + leku nabarmendua skaterrek Laborategia arakatzen dutenean", + feeFeaturedShopLabel: "Denda nabarmendua", + feeFeaturedShopDesc: "Nabarmendu zure skate denda mapan eta direktorioan", + feeFeaturedShopBenefit: "Egiaztatutako txartela + markagailu nabarmendua mapan", + feeFeaturedTourLabel: "Bira nabarmendua", + feeFeaturedTourDesc: "Nabarmendu zure bira SkateSpots-en", + feeFeaturedTourBenefit: "Pro txartela + leku nagusia skaterrek birak arakatzen dituztenean", + duration7d: "7 egun", + duration30d: "hilabete 1", + duration90d: "3 hilabete", + duration365d: "12 hilabete", + metaActive: "{{label}} — Aktiboa", + daysRemainingOne: "{{count}} egun geratzen da", + daysRemainingMany: "{{count}} egun geratzen dira", + zapRequestContent: "SkateSpots {{label}} ({{tier}})", + errGenerate: "Ezin izan da faktura sortu", + paymentReceived: "⚡ Ordainketa jasota!", + paymentReceivedDesc: "{{amount}} sats — {{label}} aktibo dago orain.", + autoPayFailed: "Ordainketa automatikoa huts egin du", + autoPayFailedDesc: "Ordaindu eskuz beheko QR edo faktura erabiliz.", + payStatusUnknown: "Ordainketaren egoera ezezaguna — ordainketa egin liteke. Egiaztatu zorroa berriro ordaindu aurretik.", + invoiceCopied: "Faktura kopiatuta!", + activeBang: "{{label}} aktibo!", + chooseDuration: "Aukeratu iraupena", + bestValue: "Balio onena", + perDay: "{{price}}/egun", + validFor: "Baliozkoa", + amountLine: "~${{usd}} USD · hartzailea: {{name}} · {{tier}}", + payToContinue: "Ordaindu {{amount}} sats jarraitzeko", + generating: "Faktura sortzen…", + processing: "Ordainketa prozesatzen…", + invoiceQrAlt: "Lightning fakturaren QR", + copyInvoice: "Kopiatu faktura", + openWallet: "Ireki zorroa", + payConnected: "Ordaindu konektatutako zorroarekin", + scanAny: "Eskaneatu edozein Lightning zorrorekin", + tryAgain: "Saiatu berriro", + proReceiptTitle: "🦧⚡ Sasquatch Pro — barruan zaude!", + proReceiptPass: "Pasa: {{pass}} ({{sats}} sats)", + proReceiptActiveUntil: "Aktiboa: {{until}} arte", + proReceiptUnlocked: "Desblokeatu duzuna:", + proReceiptBullet1: "• Laguntzaile pertsonala — zure Biltegia, taldeak, tokiak eta zerrendak irakurtzen ditut", + proReceiptBullet2: "• Ekintza-zirriborroak — zerrendatu ekipamendua, argitaratu toki-egoera, planifikatu bidaia (zuk berresten duzu)", + proReceiptBullet3: "• Zure testuinguru pertsonala erabiltzen duten erantzunak, datu publikoak soilik ez", + proReceiptBullet4: "• ⚡ SkateSpots zuzenean laguntzen ari zara eta doakoa eta iragarkirik gabea mantentzen", + proReceiptThanks: "Eskerrik asko SkateSpots doakoa eta iragarkirik gabea mantentzeagatik. Orain zoaz skatertzera. 🛹", + proReceiptSubject: "Sasquatch Pro ordainagiria", + receiptContent: "Sasquatch Pro — {{tier}} laguntzaile-pasa 🦧⚡", + receiptAlt: "Sasquatch Pro laguntzaile-pasa ({{tier}}), {{until}} arte baliozkoa", + purchaseComment: "Sasquatch Pro — {{tier}} 🦧", + errLogin: "Hasi saioa Pro-ra igotzeko.", + errStart: "Ezin izan da erosketa hasi.", + errRecord: "Ezin izan da zure pasa erregistratu." + } +}; + +export default batch1; diff --git a/src/i18n/eu/batch2.ts b/src/i18n/eu/batch2.ts new file mode 100644 index 0000000..c238920 --- /dev/null +++ b/src/i18n/eu/batch2.ts @@ -0,0 +1,1491 @@ +const batch2 = { + socialUi: { + agentPanel: { + spot: "Spot", + event: "Ekitaldia", + labPro: "Lab pro", + gear: "Ekipamendua", + crew: "Koadrila", + description: "Koadrila hau ezagutzen du — bere jamak, zerrenda eta dei irekia — eta eszena zabalagoa, zuzeneko datuekin.", + greeting: "Kaixo! Sasquatch naiz, {{crew}} koadrilaren gidaria. Galdetu niri koadrilari buruz — hurrengo jama, nor arduratzen den, zer bilatzen dugun — edo eszena zabalagoaz.", + suggestion1: "Zein da gure hurrengo jama?", + suggestion2: "Nork zuzentzen du koadrila hau?", + suggestion3: "Zer bilatzen ari gara?", + suggestion4: "Gertuko spot onenak?", + suggestion5: "Nolako eguraldia dago skate egiteko?", + thinking: "Sasquatch pentsatzen ari da…", + placeholder: "Galdetu zure tokiko eszenaz…", + disclaimer: "AIak huts egin dezake — estekak benetako iragarkietara doaz." + }, + badge: { + upcomingOne: "{{count}} ekitaldi dator", + upcomingMany: "{{count}} ekitaldi datoz", + comingOne: "{{count}} ekitaldi hastear", + comingMany: "{{count}} ekitaldi hastear" + }, + bell: { + youAreIn: "{{crew}} koadrilan zaude! 🛹", + membershipConfirmed: "Kidetza berretsita.", + couldNotConfirm: "Ezin izan da berretsi", + addedYouTo: "gehitu zaitu hemen:", + confirmToAppear: "Berretsi kide gisa agertzeko.", + notifications: "Jakinarazpenak", + notificationsNew: "Jakinarazpenak ({{count}} berri)", + unreadCount: "{{count}} jakinarazpen irakurri gabe", + markRead: "Markatu irakurrita", + allClear: "Dena garbi", + tabAll: "Guztiak", + tabTrades: "Trukeak", + tabSocial: "Soziala", + tabNews: "Berriak", + tabCrews: "Koadrilak", + checkingUpdates: "Eguneratzeak egiaztatzen…", + checkingTrades: "Eskaintzak eta trukeak egiaztatzen…", + loadingDrops: "Azken bidalketak kargatzen…", + emptyAll: "Eskaintzak, trukeak, zapak, erantzunak, buletinen bidalketak eta koadrilen jarduera hemen agertuko dira.", + emptyTrades: "Eskaintzak, kontraeskaintzak eta truke-berrespenak hemen jasoko dira — saltzen, erosten edo trukatzen ari zaren ala ez.", + emptySocial: "Zapak, erreakzioak, birmoldaketak, aipamenak, erantzunak, ekitaldietako RSVPak eta antolatzaileen eguneratzeak hemen jasoko dira.", + emptyNews: "SkateSpots buletinaren bidalketak hemen jasoko dira. Harpidetu zaitez Buletina orrialdean.", + emptyCrews: "Koadrilen gonbidapenak, kolektiboen eskaerak eta kidetza-eskaerak hemen agertuko dira.", + subscribeBanner: "Harpidetu bidalketa berriak zure txirrinan jasotzeko", + read: "Irakurrita", + allCaughtUp: "Dena irakurrita duzu" + }, + chat: { + hidden: "Ezkutatuta", + hideMessageAria: "Ezkutatu mezu hau", + hideMessageTitle: "Ezkutatu mezua (admin)", + messageHidden: "Mezua ezkutatuta", + messageHiddenDesc: "Koadrilaren txatean denentzat ezkutatuta.", + messageHideFailed: "Ezin izan da mezua ezkutatu", + encryptionUnavailable: "Zifratzea ez dago erabilgarri", + encryptionUnavailableDesc: "Zure sinatzaileak ez du NIP-44 zifratzea onartzen. Mesedez, eguneratu zure luzapena.", + messageFailed: "Mezuak huts egin du", + couldNotSend: "Ezin izan da mezua bidali.", + noOneToMessage: "Oraindik ez dago inori mezurik bidaltzeko", + noOneToMessageDesc: "Koadrila honetan ez dago beste kiderik txateatzeko.", + subject: "{{crew}} koadrilaren txata", + title: "Koadrilaren txata", + cordnBadgeTitle: "Koadrila honetako Cordn koordinatzailearen bidez bideratuta ContextVM erabiliz. Muturretik muturrera zifratuta.", + private: "Pribatua", + privateBadgeTitle: "Muturretik muturrera zifratuta — koadrilako kideek soilik irakur ditzakete mezu hauek.", + encryptedCordn: "Zifratuta eta koadrilaren koordinatzailearen (Cordn) bidez bideratuta — mezuak ez dira relay publikoetara iristen.", + encryptedNip17: "Taldeko txat zifratua sortzailearentzat eta zerrendatutako koadrila-kide guztientzat.", + moderatorNote: " Moderatzaile gisa, mezuak ezkutatu diezazkiekezu koadrilari.", + loginToSee: "Hasi saioa koadrilaren txatean sartu zaitezkeen ikusteko.", + membersOnly: "Txat hau koadrila-kideentzat da soilik. Eskatu sortzaileari koadrilan gehitzeko, elkarrizketan parte hartu ahal izateko.", + noMessages: "Oraindik ez dago mezurik. Hasi koadrilaren txata — planifikatu saio bat, partekatu spot bat, goraipatu klip bat.", + newMessages: "Mezu berriak", + new: "Berria", + placeholder: "Bidali mezua zure koadrilari…", + sendAria: "Bidali mezua" + }, + collectiveJoinRequest: { + addedTitle: "{{name}} {{collective}} kolektiboan gehituta 🛹", + addedDesc: "Beraiek beren aldetik berretsiko dute kide egiaztatu gisa agertzeko.", + couldNotAdd: "Ezin izan da kidea gehitu", + couldNotDismiss: "Ezin izan da baztertu", + addedDone: "Gehituta", + addedTo: "→", + dismissedDone: "{{name}} pertsonaren eskaera baztertuta", + wantsToJoin: "sartu nahi du", + alreadyOnRoster: "Jada zerrendan dago", + openCollective: "Ireki kolektiboa", + dismiss: "Baztertu", + addToCollective: "Gehitu kolektiboan" + }, + collectiveMembers: { + confirmed: "Berretsita", + pending: "Zain", + pendingTooltip: "Kolektiboak zerrendatuta — kide honek berrestearen zain.", + crewOnly: "Koadrila soilik", + crewOnlyTooltip: "Kide honek koadrila-kideei soilik ikusgarri izatea aukeratu du. Zu ikusten ari zara koadrilan zaudelako.", + hiddenMember: "Kide ezkutua", + title: "Kideak", + verifiedOf: "{{confirmed}} / {{total}} egiaztatuta — kide bakoitzak bere Nostr gakoarekin sinatu zuen.", + verifiedPerMember: "Kidetza kidez kide egiaztatzen da. Kide bakoitzak bere Nostr gakoarekin berresten du.", + adminsOne: "{{count}} admin koadrila kudeatzen laguntzen du.", + adminsMany: "{{count}} admin koadrila kudeatzen laguntzen dute." + }, + confirmMembership: { + public: "Publikoa", + crewOnly: "Koadrila soilik", + confirmedTitle: "Kidetza berretsita!", + confirmedCrew: "{{name}} koadrilan egiaztatuta zaude — koadrila-kideei soilik ikusgarri.", + confirmedPublic: "Orain {{name}} koadrilaren kide egiaztatu gisa agertzen zara.", + failed: "Ezin izan da berretsi", + addedTo: "{{name}} koadrilan gehitu zaituzte", + addedDesc: "Berretsi zure kidetza zure profilean eta haienean egiaztatuta ager dadin.", + yourVisibility: "Zure ikusgaitasuna", + confirming: "Berresten…", + confirmButton: "Berretsi kidetza" + }, + contacts: { + message: "Mezua", + removePrivate: "Kendu kontaktu pribatuetatik", + savePrivate: "Gorde kontaktu pribatuetan", + seoTitle: "Kontaktuak - SkateSpots", + seoDescription: "Zure eszena — koadrila-kideak, jarraitzen dituzun pertsonak eta azken elkarrizketak, kontaktu pribatu zifratuekin.", + encryptionUnavailableDesc: "Zure sinatzaileak ez du NIP-44 zifratzea onartzen.", + removed: "Kontaktu pribatuetatik kenduta", + saved: "Kontaktu pribatuetan gordeta", + savedDesc: "Zuk soilik ikus dezakezu zerrenda hau.", + updateFailed: "Ezin izan dira kontaktuak eguneratu", + loginTitle: "Zure eszena, leku bakarrean", + loginDesc: "Hasi saioa zure koadrila-kideak, jarraitzen dituzun pertsonak eta azken elkarrizketak ikusteko — eta kontaktu-zerrenda pribatu eta zifratua eduki.", + title: "Kontaktuak", + subtitle: "Zure eszena — koadrila-kideak, jarraipenak eta elkarrizketak", + filterPlaceholder: "Iragazi npubaren arabera…", + tabCrew: "Koadrila", + tabFollows: "Jarraipenak", + tabDms: "DMak", + tabSaved: "Gordeta", + emptyCrewmates: "Oraindik ez dago koadrila-kiderik. Sartu koadrila batean edo sortu bat zure eszena-sarea eraikitzeko.", + emptyFollowing: "Oraindik ez duzu inor jarraitzen.", + emptyDms: "Oraindik ez dago elkarrizketarik. Idatzi skater bati bat hasteko.", + savedHint: "Zerrenda hau zure gakorako zifratuta dago — zuk soilik irakur dezakezu. Sakatu izarra edonori gehitzeko.", + emptySaved: "Oraindik ez dago kontaktu gorderik. Markatu pertsonak edozein fitxatatik zure helbide-liburu pribatua eraikitzeko." + }, + conversation: { + unknown: "Ezezaguna", + seoTitle: "Txata {{name}} pertsonarekin - SkateSpots", + seoDescription: "Elkarrizketa pribatu zifratua", + sendFailed: "Mezuak ezin izan du bidali", + sendFailedDesc: "Saiatu berriro une bat barru.", + tradeConfirmed: "Trukea berretsita", + tradeConfirmedDesc: "Ospea eguneratuta zuek biok.", + tradeConfirmFailed: "Ezin izan da trukea berretsi", + somethingWrong: "Zerbait gaizki joan da.", + soldNote: "Saldua: {{name}}.", + saleConfirmed: "Salmenta berretsita", + saleConfirmedDesc: "{{name}} pertsonak orain bere aldea berretsi dezake.", + saleConfirmFailed: "Ezin izan da salmenta berretsi", + escrowRedeemed: "Fidantza berreskuratuta", + escrowRedeemedDesc: "Funtsak jada zure Cashu diru-zorroan daude.", + escrowRedeemFailed: "Ezin izan da fidantza berreskuratu", + loginTitle: "Hasi saioa mezuak ikusteko", + secureLoginTitle: "Saio-hasiera segurua behar da", + secureLoginDesc: "Mezuek sinatzaile-aplikazio segurua behar dute.", + encrypted: "Zifratuta", + refresh: "Freskatu", + didCompleteTrade: "Truke hau osatu al duzu?", + recordedSale: "{{name}} pertsonak salmenta erregistratu du. Berretsi zuek bien ospea eguneratzeko.", + confirm: "Berretsi", + confirmSale: "Salmenta hau berretsi?", + askedToRecord: "{{name}} pertsonak erregistratzeko eskatu dizu. Berresteak zuen biok ospea handitzen du.", + confirmSaleButton: "Berretsi salmenta", + redeemEscrow: "Berreskuratu fidantza", + escrowAppOnly: "Cashu fidantza aplikazioan soilik dago erabilgarri — ireki SkateSpots zure telefonoan berreskuratzeko.", + startThread: "Bidali mezu bat elkarrizketa hasteko", + placeholder: "Idatzi mezu bat...", + e2eeNote: "Mezuak muturretik muturrera zifratuta daude NIP-17 erabiliz" + }, + coordinator: { + secondsAgo: "duela {{count}} s", + minutesAgo: "duela {{count}} min", + hoursAgo: "duela {{count}} h", + daysAgo: "duela {{count}} egun", + statusIdle: "Egiaztatu gabe", + statusChecking: "Egiaztatzen…", + statusOnline: "Konektatuta", + statusStale: "Isilik", + statusOffline: "Ez da ikusi", + statusError: "Ezin iritsi", + notACoordinator: "Hori ez da koordinatzaile bat", + notACoordinatorDesc: "Itsatsi nprofile bat, npub bat edo cordn.net esteka bat.", + added: "Koordinatzailea gehituta", + relayOne: "{{count}} relay", + relayMany: "{{count}} relay", + lastSeen: "azken aldiz ikusia: {{time}}", + onlineDesc: "Iragartzen ari da. Erabiltzen duten taldeek mezuak orain entregatu ditzakete.", + staleDesc: "Aurkituta, baina duela gutxi ez du iragarri — lo egon daiteke.", + offlineDesc: "Ez da iragarpenik ikusi. Pribatua izan daiteke (hori ondo dago), edo lineaz kanpo.", + errorDesc: "Ezin izan da relayetara iritsi.", + idleDesc: "Egiaztatzen…", + checkingDesc: "Bere iragarpena bilatzen…", + eventFoundOne: "{{count}} gertaera aurkitu da.", + eventFoundMany: "{{count}} gertaera aurkitu dira.", + check: "Egiaztatu", + addLinkCopied: "Gehitzeko esteka kopiatuta", + copyFailed: "Ezin izan da kopiatu", + copyManually: "Kopiatu eskuz.", + addLink: "Gehitu esteka", + removeConfirm: "Kendu koordinatzaile hau gailu honetatik?", + scanToJoin: "Eskaneatu Cordn-en koordinatzaile honetan sartzeko.", + noCoordinator: "Oraindik ez dago koordinatzailerik", + noCoordinatorDescA: "Koordinatzaile batek zure koadrilaren talde-mezu", + encryptedWord: "zifratuak", + noCoordinatorDescB: "ordenan entregatzen ditu. Nork, noiz eta zein taldek ikusten du — inoiz ez edukia. Aukeratu bat, edo jarri zurea martxan.", + change: "Aldatu koordinatzailea", + addTitle: "Gehitu koordinatzaile bat", + add: "Gehitu", + scanQR: "Eskaneatu koordinatzailearen QR bat", + inputPlaceholder: "nprofile… edo cordn.net esteka bat", + runOwn: "Martxan jarri zurea", + runOwnDesc: "Telefono zahar batean, Raspberry Pi batean edo piztuta uzten duzun kutxa txiki edozeinetan bizi daiteke. Zure taldeak funtzionatzen jarraitzen du martxan dagoen bitartean — eta taldea nahi duzunean mugitu dezakezu.", + onPhone: "Telefonoan", + onPhoneDesc: "Erabili Cordn Coordinator aplikazioa, eta eskaneatu bertan QR kodea hemen gehitzeko.", + ourDefaultTitle: "SkateSpots koordinatzailea", + ourDefaultDesc: "SkateSpotsek koordinatzaile bat du relay.skate-spots.org helbidean. Erabili lehenespenez, edo jarri zurea martxan — koordinatzaile batek zifratutako testua eta metadatuak soilik ikusten ditu, inoiz ez zure mezuak.", + useOurs: "Erabili SkateSpots koordinatzailea", + openCordn: "Ireki Cordn", + scanItsQR: "Eskaneatu bere QR kodea", + onServer: "Zerbitzari batean", + commandCopied: "Komandoa kopiatuta", + copyCommand: "Kopiatu komandoa", + androidSleep: "Androidek telefono bateko koordinatzailea loarazi dezake. Kontuan izan taldea noizean behin mugitu beharko duzula.", + privacyNote: "🔒 Koordinatzaile batek zifratutako testua eta metadatuak soilik ikusten ditu — inoiz ez mezuaren edukia. Jarri zurea martxan metadatuak ere zureak izateko.", + customTitle: "Txat-koordinatzaile pertsonalizatua", + customBadge: "· esperimentala · zure relay propioa", + customDescShort: "Aukerakoa — zure koadrilak jada badu muturretik muturrera zifratutako txata, beraz ez duzu hau behar. Ezarri soilik zurea martxan baduzu", + remove: "Kendu", + pointerNote: "Oraingoz erakuslea soilik: wss:// amaiera bat koadrilaren txat-relay gisa erabiltzen da; https:// bat ContextVM relay partekatuaren bidez. Benetako Cordn MLS ez dago konektatuta oraindik.", + cordnCoordinator: "Cordn koordinatzailea", + invalid: "Horrek ez du koordinatzaile itxurarik. Itsatsi nprofile bat, cordn.net esteka bat edo https/wss URLa.", + useMine: "Erabili nire koordinatzailea" + }, + createCrew: { + seoTitle: "Sortu koadrila bat - SkateSpots", + seoDescription: "Sortu zure skate koadrila — etxeko lurraldea, kideak eta spotak.", + loginRequired: "Saioa beharrezkoa", + loginRequiredDesc: "Saioa hasi behar duzu koadrila bat sortzeko.", + backToCrews: "Itzuli koadriletara", + title: "Sortu koadrila bat", + intro: "Zure skate familia — elkarrekin skatatzen duzun jendea. Izen batekin has zaitezke; gainerako guztia aukerakoa da." + }, + crew: { + seoTitleNamed: "{{name}} - SkateSpots koadrila", + seoTitle: "Koadrila - SkateSpots", + seoDescription: "Skate koadrila bat SkateSpotsen.", + postHidden: "Argitalpena ezkutatuta", + postHiddenDesc: "Koadrilaren jariotik kenduta denentzat.", + postHideFailed: "Ezin izan da argitalpena ezkutatu", + backToCrews: "Itzuli koadriletara", + disband: "Desegin", + youAreCaptain: "Kapitaina zara", + member: "Kidea", + askSasquatch: "Galdetu Sasquatchi", + agent: "Koadrilaren agentea", + agentDesc: "Zure koadrilaren AI gidaria — inguruko spotak, ekitaldiak, entrenatzaileak eta ekipamendua, zuzeneko datuekin.", + eventsTab: "Ekitaldiak", + chatTab: "Txata", + newMessages: "Mezu berriak", + hostJam: "Antolatu jam bat", + noEvents: "Oraindik ez dago koadrilaren ekitaldirik. Antolatu jam, lehiaketa edo topagune bat koadrila gisa — zure koadrila ekitaldi-egutegiarekin lotzen du eta jendeak zap egin dezake.", + support: "Lagundu", + zapCrew: "Zap egin koadrilari", + bandTitle: "Koadrilaren banda", + bandTagline: "Zuzeneko musika · skate eta soinua", + listenTitle: "Entzun: {{domain}}", + listen: "Entzun doinuak", + setUpGig: "Antolatu kontzertu bat", + bookGigMessage: "Kaixo {{crew}} — {{band}} kontzertu baterako kontratatzeko interesa dugu. Hemen zaudete datak hitz egiteko?", + messageAboutGig: "Idatzi kontzertu bati buruz", + gigHintA: "musika-ekitaldi bat gehitzen dio egutegiari, koadrila honek antolatuta.", + messageShort: "Mezua", + gigHintB: "DM zifratu bat irekitzen dio koadrilari datak eta xehetasunak adosteko.", + homeSpots: "Etxeko spotak", + viewSpot: "Ikusi spot", + seeOnMap: "Ikusi mapan →", + founderLinks: "Sortzailea eta estekak", + startedBy: "Sortzailea: {{name}}", + opens: "Ireki: {{domain}}" + }, + crews: { + seoTitle: "Koadrilak - SkateSpots", + seoDescription: "Aurkitu zure jendea. Ezagutu inguruko skate koadrilak, kolektiboak eta komunitateak.", + videoPartTooltip: "Koadrila honek bideo-parte bat du", + part: "Partea", + bandTooltip: "Koadrilaren banda: {{name}}", + band: "Banda", + focusAll: "Guztiak", + focusAllShort: "Guztiak", + focusDiy: "DIY", + focusPhoto: "Argazkia", + focusCoaching: "Entrenamendua", + focusArt: "Artea", + focusMusic: "Musika", + focusPhysio: "Fisioterapia", + focusMixed: "Nahasia", + title: "Koadrilak", + heroLine: "Mapari lotutako zure skate familia — skatatzen duzun jendea", + heroWith: "zure alboan", + heroRest: ", ez kontratatzen duzuna (hori The Lab da).", + crewCountOne: "{{count}} koadrila", + crewCountMany: "{{count}} koadrila", + cityCountOne: "{{count}} hiri", + cityCountMany: "{{count}} hiri", + createCrew: "Sortu koadrila", + create: "Sortu", + searchPlaceholder: "Bilatu koadrilak izenaren edo hiriaren arabera…", + filterTitle: "Iragazi koadrilak", + filterDesc: "Koadrilari zer zaion.", + nearMe: "Nire inguruan", + emptySearchTitle: "Ez dago bilaketarekin bat datorren koadrilarik", + emptySearchHint: "Ez da ezer aurkitu “{{query}}” bilaketarako. Saiatu beste izen edo hiri batekin.", + clearSearch: "Garbitu bilaketa", + emptyFocusTitle: "Oraindik ez dago {{label}} koadrilarik", + emptyFocusHint: "Inork ez du “{{label}}” bandera altxatu hemen oraindik. Erakutsi koadrila guztiak, edo hasi zu zeu.", + showAll: "Erakutsi koadrila guztiak", + claimTitle: "Eskuratu zure tokiko eszena", + claimHint: "Ez da koadrilarik landatu hemen oraindik. Izan lehenengoa — sortu zure koadrila, lotu etxeko spotak eta jarri zure eszena mapan denek aurkitu dezaten." + }, + crewCoordinator: { + privateChat: "Koadrilaren txat pribatua", + encryptedChat: "Txat zifratua", + privateChatName: "Txat pribatua", + privateChatDesc: "Aurrerako sekretua duen talde-txata (MLS) koordinatzaile baten bidez.", + privateChatDescFull: "Txat pribatua admin batek sortzen du behin, eta gero kideek bat egiten dute.", + chatRowDesc: "Koadrilako guztiak — kide bakoitzaren gakoarekin zigilatuta (NIP-17).", + openChat: "Ireki", + setUpChat: "Konfiguratu", + joinChat: "Sartu", + checking: "Egiaztatzen…", + openInAnotherApp: "Ireki beste app batean", + on: "Aktibo", + defaultA: "Hona hemen", + chatWord: "Chat", + defaultB: "fitxa:", + e2ee: "muturretik muturrera zifratuta dago", + defaultC: "sortzailearentzat eta zerrendatutako kide guztientzat — ez dago ezer konfiguratu beharrik. Mezuak kide bakoitzaren gakoarekin zigilatzen dira (NIP-17), beraz zure koadrilak soilik irakur ditzake.", + advancedA: "Aurreratua: jarri zurea martxan", + cordnCoordinator: "Cordn koordinatzailea", + routeThrough: "Bideratu txata honen bidez", + coordinator: "Koordinatzailea", + deliveredOver: "Entregatuta", + sharedRelay: "— ContextVM relay partekatuaren bidez.", + ownRelay: "— zure koadrilaren relay propioaren bidez.", + chatLive: "Txat pribatua martxan dago", + routesA: "Chat fitxa", + routesB: "koordinatzaile honen bidez bideratzen da: mezuak muturretik muturrera zifratuta daude (NIP-44, kide bakoitzari zigilatuta), beraz zigilatutako trafikoa soilik kudeatzen du.", + publicWarning: "Kontuz: ContextVM relay partekatuaren bidez helbideratzen da, beraz zifratutako testua eta haren metadatuak (zein koadrila eta noiz) publikoki ikusgai daude — irakurri ezin badira ere. Ezarri koadrila wss:// relay pribatu batera hori ere pribatua izan dadin.", + ownRelaySafe: "Koadrilarekiko ezer ez da zure koadrilaren relay propiotik ateratzen.", + manage: "Kudeatu koordinatzailea", + open: "Ireki {{domain}}", + openInCordnWeb: "Cordn (web)", + openCordnGroup: "Ireki koadrilaren txata", + copyForStaircase: "Kopiatu Staircase-rako", + runBy: "Koordinatzailea nork kudeatuta" + }, + dms: { + securityReminder: "Segurtasun-oharra", + phishingStrong: "SkateSpotsek ez dizu inoiz DMrik bidaliko", + phishingRest: "zure kontua egiaztatzeko, zure gakoak partekatzeko edo ordainketak bidaltzeko eskatuz. Norbaitek SkateSpots laguntza dela esaten badizu DM bidez — iruzurra da.", + dismissReminder: "Baztertu segurtasun-oharra", + peopleCount: "{{count}} pertsona", + youPrefix: "Zu: ", + unreadMessages: "Irakurri gabeko mezuak", + seoTitle: "Mezuak - SkateSpots", + seoDescription: "Mezu pribatu zifratuak skate-komunitatearekin", + loginTitle: "Hasi saioa mezuei sarbidea izateko", + loginDesc: "Mezu pribatu eta zifratuak komunitateko skaterekin", + secureLoginTitle: "Saio-hasiera segurua behar da", + secureLoginDesc: "Mezu pribatuek sinatzaile-aplikazio segurua behar dute zure elkarrizketak zifratzeko.", + onAndroid: "Androidean:", + useAmber: "Erabili Amber aplikazioa", + getAmber: "Lortu Amber →", + onIOS: "iOSen:", + iosHint: "Saiatu bunker konexio batekin (nsec.app) saioa hasteko Ezarpenetatik", + browserHint: "Saiatu saioa hasteko Alby edo nos2x bezalako nabigatzaile-luzapen batekin, zifratzea onartzen duena.", + title: "Mezuak", + subtitleFull: "Muturretik muturrera zifratuta NIP-17rekin", + subtitleShort: "Zifratuta", + newMessage: "Mezu berria", + groups: "Taldeak", + refresh: "Freskatu", + crews: "Koadrilak", + crewFounder: "Sortzailea", + crewMember: "Kidea", + crewOpen: "Ireki", + crewSetUp: "Konfiguratu", + loadFailed: "Ezin izan dira mezuak kargatu", + emptyTitle: "Oraindik ez dago mezurik", + emptyDesc: "Hasi elkarrizketa bat komunitateko norbaitekin", + startConversation: "Hasi elkarrizketa bat", + undecryptableOne: "Zure sinatzaileak ezin izan du {{count}} mezu zifratu ireki.", + undecryptableMany: "Zure sinatzaileak ezin izan ditu {{count}} mezu zifratu ireki." + }, + editCrew: { + seoTitleNamed: "Editatu {{name}} - SkateSpots", + seoTitle: "Editatu koadrila - SkateSpots", + seoDescription: "Editatu zure skate koadrila.", + loginRequired: "Saioa beharrezkoa", + notYours: "Ez da zure koadrila", + notYoursDesc: "Koadrilaren sortzaileak soilik edita dezake koadrila hau.", + backToCrew: "Itzuli koadrilara", + title: "Editatu koadrila" + }, + form: { + add: "Gehitu", + added: "Gehituta", + addNameInBasicsA: "Gehitu koadrilaren izena berriro", + addNameInBasicsB: "atalean amaitzeko.", + adminsDescA: "Egin kide fidagarriak", + adminsWord: "admin", + adminsDescB: "— kideak gonbidatu eta koadrilaren jarioa eta txata moderatu ditzakete beren gakoekin. Zuk (sortzaileak) koadrilaren nortasunaren jabe izaten jarraitzen duzu.", + agentDescA: "Gehitu", + agentDescB: ", zure koadrila benetan ezagutzen duen AI gidaria. Kideek galdetu diezaiokete", + agentDescC: "— eta inguruko spotei, ekitaldiei, entrenatzaileei eta ekipamenduari buruz, SkateSpotsen zuzeneko datuekin. Nabigatzailean bertan dabil; ez du gakorik edo konfiguraziorik behar. Goiztiarra da (doako AI maila, beraz batzuetan geldoa).", + agentDescStrong: "zure hurrengo jama, nork zuzentzen duen koadrila, zer bilatzen duzun eta zure giroa", + agentEnabledNote: "Sasquatch zure koadrilaren orrialdean agertuko da gordetzen duzunean.", + bandDesc: "Banda duzu? Skate eszenak eta tokiko musika elkarrekin doaz — idatzi zure bandaren izena eta esteka bat doinuekin.", + bandFooterA: "Banda-profil oso bat egiteko (generoak, instrumentuak, kontzertuak), sortu", + musicianWord: "musikari", + bandFooterB: "bat The Lab-en, eta gero lotu", + linkedLabWord: "Lotutako Lab profilak", + bandFooterC: "atalasean goian.", + bandMusicWord: "Banda eta musika", + bandName: "Bandaren izena", + bandNamePlaceholder: "adib. The Bail Outs", + bandNudgeA: "Banda duzu — sakatu zure", + crewTypeWord: "koadrila mota", + bandNudgeB: "ezartzeko", + bandNudgeC: "gisa, The Lab-en musika-eszenan ere ager zaitezen.", + beta: "Beta", + bioLabel: "Honi buruz / Manifestua", + bioPlaceholder: "Nor zaren, zer skatatzen duzun, zure istorioa...", + continue: "Jarraitu", + crewCreated: "Koadrila sortuta!", + crewUpdated: "Koadrila eguneratuta!", + crewName: "Koadrilaren izena", + cordnGroup: "Cordn taldea", + cordnGroupHint: "Aukerakoa: itsatsi taldearen esteka Staircase edo Cordn webtik. Orduan zure koadrilak benetako MLS txat zifratua izango du, gure koordinatzailean ostatatuta.", + crewOnlyWord: "Koadrila soilik", + crewType: "Koadrila mota", + crewTypeDescA: "Zure koadrila artisautza zehatz batean zentratuta dago? Aukeratu bat eszena horretan ere agertzeko", + theLab: "The Lab", + crewTypeDescB: "-en. Skate koadrila arruntak", + mixedWord: "Nahasiak", + crewTypeDescC: "izaten jarraitzen dute.", + customVibeHint: "Gehitu zure giro edo fokua # batekin", + customVibePlaceholder: "adib. maldan behera, gau-saioak, no-comply", + editDesc: "Zure koadrilaren nortasuna, etxeko lurraldea eta kideak", + enableAgent: "Gaitu koadrilaren agentea", + enableTreasury: "Gaitu koadrilaren diruzaintza", + failed: "Huts egin du", + founded: "Sortua (urtea)", + geolocationUnsupported: "Kokalekua ez da onartzen", + gettingLocation: "Lortzen...", + goalHint: "Ziurtatu zure Nostr profilean Lightning helbidea (lud16) duzula, ekarpenak iristeko.", + goalPlaceholder: "adib. DIY spot-a hormigonatu", + goalTarget: "Helburua (sats)", + goalWhat: "Zein da helburua?", + homeSpots: "Etxeko spotak", + homeSpotsDesc: "Lotu zure koadrilak bisitatzen dituen spotak — zure koadrilarekin lotuko dira mapan", + homeTurf: "Etxeko lurraldea (hiria / eremua)", + homeTurfPlaceholder: "Bilbo, Euskadi", + instagramDetected: "Instagram klipa detektatuta", + invalidMember: "Sartu npub, nprofile edo hex pubkey baliozkoa.", + latitude: "Latitudea", + leaveBlankLocation: "Utzi hutsik etxeko lurraldearen kokalekua mantentzeko.", + links: "Estekak", + locationError: "Kokaleku-errorea", + locationFound: "Kokalekua aurkituta", + logoAlt: "Koadrila", + logoHint: "Logo batek zure koadrila berehala ezagutarazten du mapan eta jarioetan. Karratua da onena.", + logoLabel: "Koadrilaren logoa / argazkia", + logoUploaded: "Logoa igota", + longitude: "Longitudea", + looksGood: "Itxura ona du", + makeAdmin: "Egin admin", + mapPin: "Mapa-pin", + mapPinHint: "Jarri zure koadrila mapan bertakoek aurkitu zaitzaten. Sakatu botoia — ez da ezer idatzi behar.", + memberAlreadyAdded: "Kide hori jada gehituta dago.", + members: "Kideak", + membersDesc: "Gehitu zure koadrilaren Nostr kontuak. Kide bakoitzak bere gakoarekin berresten du — harik eta “zain” gisa agertzen dira.", + musicLink: "Musika-esteka", + nameCrew: "Emango diozu izena zure koadrilari", + nameCrewDesc: "Koadrila batek izena behar du jarraitu aurretik.", + nameCrewFirst: "Eman izena koadrilari lehenik", + nameHint: "Benetan behar duzun gauza bakarra. Geroago alda dezakezu.", + namePlaceholder: "adib. Backyard Bandits", + nameRequired: "Izena beharrezkoa", + nameRequiredDesc: "Eman izen bat zure koadrilari.", + nip05DescA: "Edozein domeinutan kontrolatzen duzun helbide egiaztagarria, adib.", + nip05DescB: ". Koadrila honen sortzaile-gakoaren aurka egiaztatzen da, eta batzuk gehi ditzakezu — bakoitzak marka berde bat erakusten du bere domeinuak berresten duenean.", + nip05Label: "Koadrilaren NIP-05", + nip05Placeholder: "koadrila@zuredomeinua.com", + nip05Add: "Gehitu", + nip05Invalid: "Sartu koadrila@zuredomeinua.com bezalako helbidea", + nip05TooMany: "Gehienez {{count}} helbide gehi ditzakezu.", + nip05Unverified: "Egiaztatu gabe", + nip05Remove: "Kendu {{handle}}", + notAKeyA: "Horrek ez du oraindik Nostr gako itxurarik — itsatsi", + notAKeyB: ",", + notAKeyC: ", edo hex pubkey.", + onlyYouTubeInstagram: "YouTube eta Instagram estekak soilik onartzen dira.", + openCall: "Dei irekia", + openCallDescA: "Filmatzaile, editore edo odol berri baten bila? Atera dei bat — zure koadrilaren orrialdean agertzen da, eta", + openCallDescB: "-ko jende egokia harremanetan jarri ahal izango da.", + optional: "· aukerakoa", + optionalParen: "(aukerakoa)", + otherSocials: "Beste sare sozialak", + otherSocialsDesc: "Gehitu nahi adina — YouTube, TikTok, Discord, Telegram, etab.", + ownVisibility: "norberaren ikusgaitasuna", + progress: "Aurrerapena", + publicWord: "Publikoa", + publishedToScene: "Eszenan argitaratuta.", + publishFailed: "Ezin izan da argitaratu", + publishing: "Argitaratzen...", + ready: "Prest", + readyToRollA: "Prest — sakatu", + readyToRollB: "nahi duzunean.", + removeAdminRole: "Kendu admin rola", + removeMember: "Kendu kidea", + removeSocial: "Kendu sare sozialaren esteka", + removeVibe: "Kendu {{vibe}}", + roles: "Rolak:", + sasquatch: "Sasquatch", + saveCrew: "Gorde koadrila", + skipToEnd: "Joan amaierara", + socialPlaceholder: "@erabiltzailea edo esteka", + sponsorDesc: "Tokiko denda batek zure koadrila babesten badu, aukeratu hemen “Babeslea” banner bat erakusteko, dendaren estekarekin.", + stepAria: "{{step}}. urratsa: {{title}}", + stepBasics: "Oinarrizkoak", + stepBasicsShort: "Oinarriak", + stepBasicsHint: "Funtsezkoena soilik — urrats honekin bakarrik sor dezakezu koadrila bat.", + stepVibe: "Nortasuna eta giroa", + stepVibeShort: "Giroa", + stepVibeHint: "Zure koadrila app osoan nola agertzen den. Dena aukerakoa.", + stepSquad: "Taldea eta spotak", + stepSquadShort: "Taldea", + stepSquadHint: "Gehitu zure jendea eta etxeko lurraldea. Hau beti egin dezakezu geroago.", + stepExtras: "Gehigarriak", + stepExtrasShort: "Gehigarriak", + stepExtrasHint: "Geroagoko hobekuntzak — saltatu zalantza duzun edozer.", + extrasAllOptional: "Urrats honetako dena aukerakoa da.", + groupIdentity: "Nortasuna", + groupIdentityHint: "Helbidea, estekak", + groupAi: "Sasquatch AI", + groupShowcase: "Erakusleihoa", + groupPayments: "Ordainketak eta diruzaintza", + groupIntegrations: "Integrazioak", + groupAdvanced: "Aurreratua", + groupAdvancedHint: "esperimentala", + pro: "Pro", + agentProNote: "Sasquatchek bultzatuta. Pro-k modelorik onenak lortzen ditu; Pro gabe, doako ordezko bat erabiltzen du.", + stepOf: "{{total}} urratsetik {{step}}.a", + treasuryDescA: "Bildu sats helburu komun baterako — tokiko DIY spot-a konpondu, koadrilaren bidaia, lehiaketa-sariak. Lightning helburu gardena da; zapak", + treasuryDescStrong: "zuzenean zure diru-zorrora", + treasuryDescB: "(zure profileko Lightning helbidearen bidez). SkateSpotsek ez du inoiz funtsik gordetzen.", + upload: "Igo", + uploadFailed: "Igoerak huts egin du", + useCurrentLocation: "Erabili uneko kokalekua", + vibeLabel: "Giroa / fokua", + videoDescA: "Zure koadrilaren parte osoa, montajea edo azken klipa. Itsatsi", + videoDescB: "esteka — zure koadrilaren orrialdean bertan erreproduzituko da.", + visibilityDescA: "Kide bakoitzak bere", + visibilityDescB: "kontrolatzen du — bere gakoarekin berresten duenean aukera dezake", + visibilityDescC: "— kanpokoentzat ezkutatuta). Ezin duzu hau haien ordez ezarri; haien erabakia da.", + website: "Webgunea", + yourRoles: "Zure rolak (taldeburua)", + youtubeDetected: "YouTube bideoa detektatuta", + invalidUrl: "Sartu esteka baliozkoa (adib. https://example.com)." + }, + groupConversation: { + seoTitle: "Talde-txata - SkateSpots", + invalidLink: "Talde-txataren esteka hau baliogabea da.", + loginTitle: "Hasi saioa talde hau ikusteko", + secureSignerTitle: "Sinatzaile segurua behar da", + secureSignerDesc: "Taldeko mezuek NIP-44 onartzen duen sinatzailea behar dute.", + encryptedGroup: "Muturretik muturrera zifratutako taldea", + empty: "Oraindik ez dago mezurik — agurtu taldea.", + placeholder: "Bidali mezua taldeari..." + }, + hero: { + established: "{{year}}. urtetik", + teamLeader: "Taldeburua: {{name}}", + ledBy: "Burua:" + }, + inviteCard: { + acceptedTitle: "Gonbidapena onartuta 🛹", + acceptedDesc: "Koadrilaren sortzaileak kideak berresten ditu {{crew}} koadrilan. Zerrendan agertuko zara onartzen dutenean.", + couldNotAccept: "Ezin izan da onartu", + couldNotDecline: "Ezin izan da uko egin", + acceptedDone: "Onartuta —", + confirmsMembers: "kideak berresten ditu", + declinedDone: "Gonbidapenari uko egin diozu: {{crew}}", + invitedYou: "gonbidatu zaitu sartzera", + admin: "Admin", + accept: "Onartu", + decline: "Uko egin" + }, + inviteDialog: { + messageIntro: "Aupa — etorri {{crew}} koadrilan sartzera SkateSpotsen 🛹", + messageBody: "Hasi saioa zure Nostr gakoarekin, eta eskatu sartzea koadrilaren orrialdetik.", + copyFailed: "Ezin izan da kopiatu", + shareTitle: "Sartu {{crew}} koadrilan", + sentTitle: "Gonbidapena bidalita! 🛹", + sentDesc: "Jakinarazpen bat jasoko dute onartzeko edo uko egiteko.", + couldNotSend: "Ezin izan da gonbidapena bidali", + trigger: "Gonbidatu", + title: "Gonbidatu {{crew}} koadrilan", + description: "Bidali gonbidapena norbaiten Nostr gakora, edo partekatu esteka bat.", + sendTab: "Bidali gonbidapena", + shareTab: "Partekatu esteka", + npubLabel: "Skaterraren npuba", + invalidNpub: "Horrek ez du npub baliozko itxurarik.", + noteLabel: "Oharra", + optional: "(aukerakoa)", + notePlaceholder: "Etorri gurekin skate egitera…", + inviteAsAdmin: "Gonbidatu admin gisa", + inviteAsAdminDesc: "Koadrila kudeatu eta beste batzuk gonbida ditzake.", + sendButton: "Bidali gonbidapena", + sendFooter: "Jakinarazpen bat jasoko dute onartzeko edo uko egiteko. Kidetzak balio du onartzen dutenean.", + inviteLink: "Gonbidapen-esteka", + messageLabel: "Mezua", + copyMessage: "Kopiatu mezua", + founderHint: "Sortzaile gisa, kide baten gakoa zuzenean ere gehi dezakezu; gero beraiek berretsiko dute.", + addMemberSettings: "Gehitu kidea koadrilaren ezarpenetan" + }, + joinRequest: { + moreCount: "+{{count}} gehiago", + addedTitle: "{{name}} {{crew}} koadrilan gehituta 🛹", + addedDesc: "Beraiek beren aldetik berretsiko dute kide gisa agertzeko.", + vouchedTitle: "{{name}} bermatu duzu 🤝", + vouchedDesc: "{{crew}} koadrilaren sortzaileak zure bermea ikusiko du eta gehitu ahal izango du.", + couldNotEndorse: "Ezin izan da bermatu", + endorsedDoneA: "Bermeatu duzu", + endorsedDoneB: "— sortzaileak berretsiko du", + vouchedBy: "Nork bermatu du", + approveAndAdd: "Onartu eta gehitu", + addToCrew: "Gehitu koadrilan", + vouchedWaiting: "Bermatuta — sortzailearen zain", + vouchForThem: "Bermatu pertsona hau", + leadershipOnly: "Koadrilaren zuzendaritzarentzat soilik.", + adminHelp: "Adminek ezin dituzte kideak zuzenean gehitu — bermeak sortzaileari esaten dio rider honen alde zaudela." + }, + leadership: { + teamLeader: "Taldeburua", + captain: "Kapitaina", + verifiedMember: "Kide egiaztatua", + messageName: "Bidali mezua: {{name}}", + title: "Zuzendaritza", + captainsOne: "{{count}} kapitain", + captainsMany: "{{count}} kapitain", + footer: "Taldeburuak zerrenda kudeatzen du; kapitainek gonbidatzen, jamak antolatzen eta koadrila txukun edukitzen laguntzen dute." + }, + linkField: { + title: "Lotutako koadrila", + description: "Koadrila bat ere kudeatzen duzu? Lotu ezazu, jendeak zure estudioaren eta koadrilaren artean salto egin dezan. Aukerakoa. Lotu koadrila hau profilean berriro koadrilaren editoretik eta berde bat erakutsiko du", + descriptionRest: "bereizgarria bietan.", + none: "Oraindik ez duzu koadrilarik. Sortu bat Koadrilak orrialdean hemen lotzeko.", + linkedCrew: "Lotutako koadrila ({{id}})" + }, + lookingFor: { + title: "Dei irekia", + subtitle: "Koadrila honek hau bilatzen du:" + }, + memberVisibility: { + updatedTitle: "Ikusgaitasuna eguneratuta", + updatedCrew: "Orain koadrila-kideei soilik agertzen zara.", + updatedPublic: "Orain publikoki agertzen zara koadrila honetan.", + couldNotUpdate: "Ezin izan da eguneratu", + title: "Zure ikusgaitasuna koadrila honetan", + save: "Gorde ikusgaitasuna" + }, + newMessage: { + inCrew: "Zure koadrilan: {{crews}}", + crewmate: "Koadrila-kidea", + following: "Jarraitzen", + invalidKey: "Horrek ez du npub edo gako publiko baliozko itxurarik.", + description: "Bilatu zure jendea izenaren arabera, edo itsatsi npub bat edonori idazteko. Hautatu bi edo gehiago talde bat hasteko.", + searchPlaceholder: "Bilatu izena edo itsatsi npub1...", + messageThisKey: "Idatzi gako honi", + loadingPeople: "Zure jendea kargatzen...", + noPeople: "Oraindik ez dago koadrila-kiderik edo jarraitzailerik.", + noPeopleHint: "Itsatsi norbaiten npuba goian elkarrizketa bat hasteko.", + yourCrews: "Zure koadrilak", + selected: "{{count}} hautatuta", + startGroup: "Hasi taldea ({{count}})", + message: "Mezua" + }, + nip05: { + mismatch: "Domeinu honek helbidea koadrilaren sortzailearena ez den beste Nostr gako batera zuzentzen du. Ez dago egiaztatuta.", + verified: "Egiaztatuta — domeinuak berresten du helbide hau koadrilaren sortzaile-gakoarena dela." + }, + requestCollective: { + sentTitle: "Eskaera bidalita 🤝", + sentDesc: "{{name}} pertsonak jakinarazpenetan ikusiko du eta gehitu ahal izango zaitu.", + couldNotSend: "Ezin izan da eskaera bidali", + title: "Sartu kolektibo honetan", + waiting: "Eskaera bidalita — {{name}} zain.", + askA: "Galdekatu atzean dagoen koadrilari", + askB: "zerrendan gehitzeko. Jakinarazpen bat jasoko dute eta ukitu bakar batean gehi zaitzakete.", + placeholder: "Aukerakoa: esan zergatik izango zinatekeen egokia…", + sendButton: "Bidali eskaera" + }, + requestToJoin: { + sentTitle: "Eskaera bidalita! 🛹", + sentDesc: "{{crew}} koadrilaren zuzendaritzak jakinarazpenetan ikusiko du.", + couldNotSend: "Ezin izan da eskaera bidali", + trigger: "Eskatu sartzea", + title: "Sartu {{crew}} koadrilan", + description: "Koadrilaren sortzaileari eta adminei jakinarazten die, gehitu ahal zaitzaten.", + placeholder: "Agurtu — non skatatzen duzun, nor ezagutzen duzun, zergatik sartu nahi duzun…", + sending: "Bidaltzen…", + sendButton: "Bidali sarrera-eskaera" + }, + sponsorBanner: { + loading: "Babeslea kargatzen…", + sponsoredBy: "Babeslea:" + }, + sponsorPicker: { + selected: "Babeslea hautatuta", + setLoading: "Babeslea ezarrita (denda kargatzen…)", + set: "Babeslea ezarrita", + clearAria: "Garbitu babeslea", + searchPlaceholder: "Bilatu skate dendak izenaren edo hiriaren arabera…", + loading: "Dendak kargatzen…", + noMatch: "Ez dago dendarik bat datorrenik — saiatu beste bilaketa batekin.", + none: "Oraindik ez da dendarik aurkitu." + }, + treasury: { + title: "Koadrilaren diruzaintza", + ofGoal: "{{target}} helburutik", + goalReached: "Helburua lortuta!", + funded: "%{{percent}} finantzatuta", + contributionOne: "{{count}} ekarpen", + contributionMany: "{{count}} ekarpen", + daysLeft: "{{days}} egun falta", + closed: "itxita", + nonCustodial: "Kustodiarik gabea · zapak zuzenean koadrilaren Lightning diru-zorrora joaten dira" + }, + userStatus: { + atSpot: "📍 Spot batean", + autoClears: "⏱️ Automatikoki garbituko da {{min}} minutu barru" + }, + video: { + title: "Partea", + fullVideo: "Bideo osoa · montajea", + latestClip: "Azken klipa", + watch: "Ikusi", + iframeTitle: "{{crew}} — bideoa", + playAria: "Erreproduzitu {{crew}} bideoa", + thumbAlt: "{{crew}} bideoaren miniatura", + instagramTitle: "Instagram klipa" + }, + vouch: { + removedTitle: "Bermeak kenduta", + vouchedTitle: "Bermatuta!", + removedDesc: "Orain ez duzu {{name}} pertsonaren bermerik.", + vouchedDesc: "{{name}} bermatu duzu. Eszenak bereak direnei konfiantza ematen die.", + couldNotVouch: "Ezin izan da bermatu", + title: "Eszenaren bermeak", + sceneVerified: "Eszenak egiaztatuta", + vouched: "Bermatuta", + newUnvouched: "Berria · bermerik gabe", + checking: "Eszena egiaztatzen…", + empty: "Oraindik ez dago bermerik. Zure inguruko skaterren bermeak dira seinale onena norbaitek serio jotzen duela jakiteko — ez kasualitatez sartutako norbaitek.", + countOne: "{{count}} berme", + countMany: "{{count}} berme", + trusted: "{{count}} zure konfiantza-sareko skaterrengandik", + remove: "Kendu bermea", + vouchFor: "Bermatu {{name}}", + ownerNote: "Zure lana ezagutzen duten skaterrek hemen berma zaitzakete." + } + }, + labelsUi: { + spotCategory: { + street: { + label: "Kalea", + description: "Edozein tokitan aurkitutako spotak, hiri-lurra" + }, + transition: { + label: "Trantsizioa", + description: "Gainazal kurbatuak / arrapalak" + }, + park: { + label: "Parkea", + description: "Eraikitako skateparkeak" + }, + plaza: { + label: "Plaza", + description: "Hiri-plazak (MACBA, Love Park bezalakoak)" + } + }, + spotFeature: { + wallrides: "Wallride-ak", + stairs: "Eskailerak eta barandak", + rails: "Barandak", + ledges: "Erlaitzak eta ertzak", + gaps: "Hutsuneak", + flatground: "Lurzoru laua", + "manual-pads": "Manual pad-ak", + "half-pipes": "Half pipe-ak", + "quarter-pipes": "Quarter pipe-ak", + "mini-ramps": "Mini ramp-ak", + bowls: "Bowl-ak", + vert: "Vert ramp-ak", + "mega-ramps": "Mega ramp-ak", + hubbas: "Hubba-ak", + "euro-gaps": "Euro gap-ak", + banks: "Aldapak", + "spine-ramps": "Spine ramp-ak", + "roll-ins": "Roll-in-ak", + hips: "Hip-ak", + volcano: "Volcano", + pyramids: "Piramideak / Funbox-ak", + "snake-runs": "Snake run-ak", + "pump-track": "Pump track-eko roller-ak", + "flat-bars": "Barra lauak" + }, + spotType: { + street: "Kalea", + transition: "Trantsizioa", + park: "Parkea", + plaza: "Plaza", + wallrides: "Wallride-ak", + stairs: "Eskailerak eta barandak", + rails: "Barandak", + ledges: "Erlaitzak eta ertzak", + gaps: "Hutsuneak", + flatground: "Lurzoru laua", + "manual-pads": "Manual pad-ak", + "half-pipes": "Half pipe-ak", + "quarter-pipes": "Quarter pipe-ak", + "mini-ramps": "Mini ramp-ak", + bowls: "Bowl-ak", + vert: "Vert ramp-ak", + "mega-ramps": "Mega ramp-ak", + hubbas: "Hubba-ak", + "euro-gaps": "Euro gap-ak", + banks: "Aldapak", + "spine-ramps": "Spine ramp-ak", + "roll-ins": "Roll-in-ak", + hips: "Hip-ak", + volcano: "Volcano", + pyramids: "Piramideak / Funbox-ak", + "snake-runs": "Snake run-ak", + "pump-track": "Pump track-eko roller-ak", + "flat-bars": "Barra lauak", + diy: "DIY", + rail: "Baranda", + ledge: "Erlaitza", + gap: "Hutsunea", + bowl: "Bowl-a", + stall: "Stall", + slappy: "Slappy" + }, + access: { + public: { + label: "Publikoa — denentzat irekita" + }, + private: { + label: "Jabetza pribatua — baimena behar da" + }, + locals: { + label: "Galdekatu lehenik bertakoei" + } + }, + shelter: { + outdoor: { + label: "Kanpokoa", + short: "Kanpokoa", + description: "Erabat agerian — euria bada, ezin skate egin" + }, + partial: { + label: "Partzialki estalia", + short: "Estalia (partez)", + description: "Oztopo batzuk lehor mantentzen dira" + }, + covered: { + label: "Estalia / teilatua", + short: "Estalia", + description: "Kanpokoa, baina teilatupean" + }, + indoor: { + label: "Barrukoa", + short: "Barrukoa", + description: "Erabat itxia — euria edo eguzkia, berdin" + } + }, + eventType: { + contest: "Lehiaketa", + demo: "Demo", + session: "Saioa", + workshop: "Tailerra", + premiere: "Estreinaldia", + tradeshow: "Azoka", + gameskate: "Game of Skate", + concert: "🎸 Kontzertua", + jam: "🎵 Jam", + festival: "🎪 Jaialdia", + popup: "🎯 Pop-up" + }, + gearCategory: { + deck: "Taula", + trucks: "Trucks", + wheels: "Gurpilak", + bearings: "Errodamenduak", + shoes: "Skate oinetakoak", + clothing: "Arropa", + protective: "Babes-ekipamendua", + stickers: "Pegatinak", + wax: "Argizaria", + tools: "Tresnak", + griptape: "Griptape", + rubbrick: "Rub brick" + }, + gearCondition: { + new: { + label: "Berria", + description: "Inoiz erabili gabea, oraindik ontziratuta" + }, + like_new: { + label: "Berraberea", + description: "Ia erabili gabea, egoera bikainean" + }, + good: { + label: "Ona", + description: "Erabilera arrunta, primeran dabil" + }, + well_used: { + label: "Asko erabilia", + description: "Higadura nabaria du, baina oraindik dabil" + } + }, + priceType: { + fixed: { + label: "Prezio finkoa", + description: "Prezioa USD edo satsetan ezarrita" + }, + free: { + label: "Doan", + description: "Opari" + }, + trade: { + label: "Trukea", + description: "Trukatzeko asmoa" + }, + offer: { + label: "Egin eskaintza", + description: "Prezioa negoziatu daiteke" + } + }, + listingType: { + selling: { + label: "Salgai", + description: "Ekipamendua saltzeko iragarkia" + }, + wtb: { + label: "Erosi nahi dut", + description: "Ekipamendu zehatz baten bila" + } + }, + tour: { + spotType: { + street: "Kalea", + park: "Parkea", + diy: "DIY", + transition: "Trantsizioa", + hidden: "Harribitxi ezkutuak" + }, + category: { + local: { + label: "Tokiko ibilbidea", + description: "Erakutsi zure hiriko spot ezkutuak" + }, + national: { + label: "Ibilbide nazionala", + description: "Hiri anitzeko errepide-bidaiak herrialdean zehar" + }, + international: { + label: "Nazioarteko ibilbidea", + description: "Muga zeharkako abenturak hainbat herrialdetan" + }, + destruction: { + label: "World Destruction", + description: "KOTR estiloko mundu mailako talde-lehiaketa" + } + } + }, + crew: { + vibe: { + street: "Kalea", + transition: "Trantsizioa / Vert", + park: "Parkea", + diy: "DIY", + cruising: "Cruising / Filmaketa", + oldschool: "Old School", + allterrain: "Edozein lurretan", + girls: "Neska / Emakumea", + youth: "Gazteak / Groms", + adaptive: "Adaptatua", + punk: "Punk", + hiphop: "Rap / Hip-Hop" + }, + focus: { + mixed: "Nahasia / Orokorra", + builder: "DIY eta eraikitzaileak", + photo: "Argazkia eta bideoa", + coaching: "Entrenamendua", + art: "Artea eta diseinua", + music: "Banda eta musika", + wellness: "Prestakuntza eta fisioterapia" + }, + focusDescription: { + mixed: "Skate koadrila arrunta — Koadrilak orrialdean soilik agertzen da.", + builder: "DIY / parkeak eraikitzeko koadrila — The Lab-en Eraikitzaileak atalean ere agertzen da.", + photo: "Filmaketa, argazkilaritza edo edizio koadrila — The Lab-en Argazkia eta bideoa atalean ere agertzen da.", + coaching: "Entrenamendu edo klase koadrila — The Lab-en Entrenamendua atalean ere agertzen da.", + art: "Arte, diseinu, graffiti edo tatuaje kolektiboa — The Lab-en Artea eta diseinua atalean ere agertzen da.", + music: "Banda edo musika kolektiboa — The Lab-en Musika atalean ere agertzen da.", + wellness: "Prestakuntza, fitness edo fisioterapia koadrila — The Lab-en Prestakuntza atalean ere agertzen da." + }, + lookingFor: { + filmer: "Filmer", + photographer: "Argazkilaria", + editor: "Bideo-editorea", + coach: "Entrenatzailea", + builder: "Ramp-eraikitzailea", + artist: "Artista / Diseinatzailea", + musician: "Musikaria / Taldea", + members: "Kide berriak" + }, + role: { + filmer: "Filmer", + photographer: "Argazkilaria", + editor: "Editorea", + coach: "Entrenatzailea", + builder: "Eraikitzailea", + artist: "Artista", + graffiti: "Graffiti", + tattoo: "Tatuajea", + trainer: "Prestatzailea", + musician: "Musikaria", + judge: "Epailea", + manager: "Taldeko managerra", + og: "OG" + } + }, + memberVisibility: { + public: { + label: "Publikoa", + description: "Edonork ikus zaitzake koadrila honetan — koadrilaren orrialde publikoan eta koadrila-kideak aurkitzeko atalean." + }, + crew: { + label: "Koadrila soilik", + description: "Koadrila-kide berretsiek eta sortzaileak soilik ikusten zaituzte hemen. Beste guztientzat “kide ezkutua” anonimo gisa agertzen zara. Oharra: hau aplikazio mailako pribatutasuna da — zure kidetza-etiketa publikoki existitzen da oraindik relayetan, baina ez zaie inoiz kanpokoei erakusten." + } + }, + tagCategory: { + features: { + name: "Ezaugarriak", + description: "Oztopoak eta lurra" + }, + surfaces: { + name: "Gainazalak", + description: "Materialak eta testurak" + }, + sizes: { + name: "Tamainak", + description: "Neurriak eta eskala" + }, + stairs: { + name: "Eskaileren kopurua", + description: "Eskailera kopurua" + }, + vibes: { + name: "Giroa", + description: "Atmosfera eta egoera" + }, + location: { + name: "Kokapena", + description: "Kokapen-testuingurua" + }, + tricks: { + name: "Trikimailuak", + description: "Trikimailu zehatzetarako egokia" + } + }, + spotTagCategory: { + street: { + label: "Kalea", + description: "Kale-spotak: eskailerak, barandak, erlaitzak" + }, + park: { + label: "Parkea", + description: "Skateparkeak: publikoak edo pribatuak" + }, + diy: { + label: "DIY", + description: "DIY spotak / etxean egindakoak" + }, + plaza: { + label: "Plaza", + description: "Plaza publikoak, skate-rako arkitektura dutenak" + } + }, + status: { + active: { + label: "Aktiboa", + description: "Ondo dabil — skate egin." + }, + bust: { + label: "Arriskua", + description: "Botatzeko arrisku handia — segurtasunak edo poliziak." + }, + skate_stopped: { + label: "Blokeatuta (partez)", + description: "Knob-ak edo tapoiak ditu, baina zati batean skatetu daiteke." + }, + closed: { + label: "Itxita", + description: "Aldi baterako itxita — obrak edo ekitaldia." + }, + gone: { + label: "Desagertua", + description: "Bota egin dute, zolatu edo hesitu, betiko." + } + }, + price: { + free: "DOAN", + trade: "Trukea", + makeOffer: "Egin eskaintza", + offer: "Eskaintza" + } + }, + cardUi: { + save: "Gorde txartela Nostr-en", + saved: "Txartela gordeta", + savedDesc: "Zure txartela sinatuta dago eta egiazta daiteke.", + saveFailed: "Ezin izan da txartela gorde", + notPublished: "Argitaratu gabe", + titleNeon: "Rider", + titleRest: "txartela", + saveFrontPng: "Gorde aurreko aldea (PNG)", + expired: "IRAUNGITA", + logoUploaded: "Logoa igota", + logoUploadFailed: "Ezin izan da logoa igo", + venue: "Lotutako lekua (aukerakoa)", + venueNone: "Lekurik ez", + venueHint: "Aukeratu zure spot bat pasa hau leku batekin lotzeko. Egiaztatzaile batek zurea dela berretsiko du.", + venuePick: "Aukeratu zure lekua", + parkNoVenue: "Parkearen pasa lekuaren jabeak soilik eman dezake — mapatu lehenik zurea den spot bat.", + parkAddVenue: "Gehitu spot bat", + parkNeedsVenue: "Aukeratu zurea den leku bat", + parkIssued: "Emandako pasak", + parkRevoke: "Ezeztatu", + parkRevoked: "Ezeztatuta", + parkRevokeFailed: "Ezin izan da ezeztatu", + v: { + valid: "Baliozkoa", + validDesc: "Sinadura baliozkoa da eta lekuak eman du.", + expired: "Iraungita", + expiredDesc: "Baliozkotasun-data gainditu da.", + revoked: "Ezeztatuta", + revokedDesc: "Igortzaileak pasa hau bertan behera utzi du — ez onartu.", + invalid: "Baliogabea", + invalidDesc: "Sinadurak ez du egiaztatzen. Ez izan konfiantzarik.", + notFound: "Ez da aurkitu", + notFoundDesc: "Ez dago bat datorren erregistrorik relayetan.", + unverifiedIssuer: "Igortzaile ez-egiaztatua", + unverifiedIssuerDesc: "Pasa honek igortzailearen gakoaren jabetzakoa ez den lekua aipatzen du.", + notBound: "Lotu gabe", + notBoundDesc: "Ez dago leku batera lotuta — ez du sarbideari buruz ezer frogatzen.", + noRsvp: "RSVPrik ez", + noRsvpDesc: "Eramaleak ez du RSVPrik ekitaldi honetarako.", + admitted: "Onartuta", + admittedDesc: "Antolatzailearen ekitaldia + eramalearen RSVPa.", + noHolder: "Estekan ez dago eramalerik", + noHolderDesc: "QR honek ez du tiket-eramalerik (`?h=`), beraz ezin da eramalea egiaztatu." + }, + passes: { + tab: "Nire pasak", + pass: "Sarbide-pasa", + none: "Oraindik ez dago pasarik. Leku edo antolatzaile batek bat ematen dizunean, hemen agertuko da." + }, + facets: { + title: "Erakutsi nortasun-ezaugarriak", + crews: "Koadrilak", + local: "Tokikoa", + roles: "Lab rolak" + }, + roles: { + coach: "Entrenatzailea", + filmer: "Filmer", + editor: "Editorea", + photographer: "Argazkilaria", + builder: "Eraikitzailea", + artist: "Artista", + graffiti: "Graffiti", + tattoo: "Tatuajea", + trainer: "Prestatzailea", + musician: "Musikaria", + judge: "Epailea", + organizer: "Antolatzailea", + barber: "Ileapaintzailea" + }, + crew: { + crewCard: "KOADRILA-TXARTELA", + crewSub: "Zure koadrila, txartel batean", + pick: "Aukeratu koadrila bat", + none: "Oraindik ez zaude koadrila batean — sartu edo sortu bat lehenago.", + hint: "Txartela koadrilaren datu sinatuetatik sortzen da. Aldatzeko, editatu koadrila bere orrialdean.", + members: "KIDEAK", + spots: "SPOTAK", + est: "{{year}}. urtetik", + openCall: "Dei irekia", + verifiedCrew: "Egiaztatutako koadrila", + viewCrew: "Ikusi koadrila" + }, + event: { + pass: "EKITALDI-PASA", + passSub: "Joango zaren ekitaldi baterako pasa", + pick: "Aukeratu ekitaldi bat", + none: "Oraindik ez dago ekitaldirik — sortu bat edo eman RSVP lehenago.", + hint: "Pasa ekitaldiaren datu sinatuetatik sortzen da. Antolatzaileak soilik alda dezake.", + admits: "SARRERAK", + going: "{{count}} joango dira", + verifiedEvent: "Egiaztatutako ekitaldia", + viewEvent: "Ikusi ekitaldia", + issuePass: "Eman sartzeko pasa", + issuePassBtn: "Eman pasa", + issuePassHint: "Bertaratu zehatz batentzat sinatutako pasa — atean erakutsiko du.", + notOrganiser: "Antolatzaileak soilik eman ditzake pasak", + passIssued: "Pasa emanda", + issueFailed: "Ezin izan da pasa eman", + issuedPasses: "Emandako sartzeko pasak" + }, + studio: { + unsaved: "Gorde gabeko aldaketak", + saved: "Gordeta", + saveChanges: "Gorde aldaketak", + allSaved: "Gordeta — dena eguneratuta", + showOnCard: "Erakutsi txartelean", + derived: "Zure skater-profiletik", + noSkaterProfile: "Oraindik ez dago skater-profilik —", + editSkaterProfile: "gehitu zure estiloak eta maila", + noPhoto: "Oraindik ez dago profileko argazkirik —", + addPhoto: "gehitu bat zure profilean", + finishTitle: "Osatu zure txartela", + finishDesc: "Argazki batek eta skater-profilek benetako itxura ematen diote.", + checkPhoto: "Profileko argazkia", + checkName: "Bistaratzeko izena", + checkProfile: "Estiloak eta maila", + checkCrew: "Sartu koadrila batean", + moreTypes: "Txartel mota gehiago desblokeatuko dira zurea den spotak mapatzen, koadriletan sartzen edo ekitaldietan RSVP egiten duzun heinean.", + accent: "Azentu-kolorea", + accentHint: "Gaiaren azentu-kolorea gainidazten du", + accentClear: "Erabili gaiaren kolorea", + logo: "Logo pertsonalizatua / armarria", + logoAdd: "Igo", + logoChange: "Aldatu", + logoClear: "Kendu" + }, + back: { + title: "Atzealde inprimagarria", + desc: "Koadrilak, rolak, babesleak eta estekak atzealdean", + showBack: "Erakutsi atzealdea", + showFront: "Erakutsi aurrealdea", + empty: "Hemen ez dago ezer oraindik — gehitu koadrilak, rolak edo babesleak." + }, + verify: { + checking: "Txartela egiaztatzen…", + notFound: "Ez da txartela aurkitu", + notFoundDesc: "Ez da bat datorren ekitaldirik aurkitu relayetan. Ezabatu egin dute agian, edo esteka okerra da.", + invalid: "Sinadura baliogabea", + invalidDesc: "Ekitaldi hau existitzen da, baina sinadurak ez du egiaztatzen. Ez izan konfiantzarik.", + authentic: "Benetakoa", + authenticDesc: "Igortzailearen sinadura baliozkoa da.", + kind: "Mota", + kindPark: "Parke-sarbide txartela", + kindRider: "Rider txartela", + kindCrew: "Koadrila-txartela", + kindEvent: "Ekitaldi-pasa", + organiser: "Antolatzailea", + expired: "Iraungita", + valid: "Baliozkoa", + holder: "Eramalea", + ticketHolder: "Tiket-eramalea", + rsvp: "RSVP", + rsvpGoing: "Joango da", + rsvpInterested: "Interesatuta", + rsvpNone: "Ez da RSVPrik aurkitu", + revoked: "Pasa ezeztatuta", + revokedDesc: "Igortzaileak pasa hau bertan behera utzi du — ez onartu.", + issuedBy: "Nork eman du", + accessLevel: "Sarbide-maila", + validThru: "Balio du", + selfIssued: "Egoera", + selfIssuedDesc: "Norberak emandako nortasun-txartela", + venue: "Lekua", + venueVerified: "Egiaztatuta — leku honen jabe-gakoa igortzailearekin bat dator.", + venueMismatch: "Pasa honek igortzailearen gakoaren jabetzakoa ez den leku bat aipatzen du.", + venueNone: "Ez dago leku batera lotuta.", + viewCard: "Ikusi txartela", + disclaimer: "Sinadura baliozko batek frogatzen du nork sinatu zuen txartel hau — ez da trebetasunen froga, ezta lekuak eman duenaz haraindiko sarbide-eskubideen froga ere.", + details: "Xehetasunak", + invalidLink: "Esteka baliogabea", + invalidLinkDesc: "Horrek ez du txartel-esteka baliozko itxurarik." + }, + public: { + invalid: "Horrek ez du txartel-esteka baliozko itxurarik.", + createYourOwn: "Sortu zure txartela", + editYourCard: "Editatu zure txartela", + backToEditor: "Itzuli editoreera", + backHome: "Itzuli hasierara", + notCustomised: "Skater honek oraindik ez du bere txartela pertsonalizatu — hau itxura lehenetsia da.", + verifyNote: "Eskaneatu txarteleko QR kodea egiaztatzeko." + } + }, + routeUi: { + destination: "Helmuga", + routeTo: "Ibilbidea {{label}}ra", + routeToLabel: "Ibilbidea", + search: "Bilatu", + description: "Ibilbidearen aukerak eta aplikazioko argibideak.", + routeMapAria: "Ibilbide-mapa", + findingLocation: "Zure kokalekua bilatzen…", + plottingRoute: "Zure ibilbidea marrazten…", + refiningLocation: "Kokalekua zehazten…", + offlineSavedRoute: "Lineaz kanpo · gordetako ibilbidea {{age}}", + tapMapStart: "Sakatu mapa abiapuntua ezartzeko", + fitRouteAria: "Doitu ibilbide osoa mapan", + wholeRoute: "Ibilbide osoa", + next: "Hurrengoa", + nextStep: "Hurrengoa · {{n}}. urratsa", + followTheLine: "Jarraitu marra", + toTheTurn: "biradera", + toGo: "egiteko", + tryAgain: "Saiatu berriro", + mode: { + foot: "Skate / Oinez", + bike: "Bizikleta", + moto: "Motoa", + car: "Autoa", + transit: "Garraioa" + }, + from: "Hemendik", + myLocation: "Nire kokalekua", + tapTheMap: "Sakatu mapa…", + chooseOnMap: "Aukeratu mapan", + direct: "zuzena", + transferOne: "Transbordo 1", + transfers: "{{count}} transbordo", + options: "{{count}} aukera", + ride: "ibilaldia", + arrive: "iritsi", + speedAvg: "batez beste {{speed}} km/h", + stepsCount: "{{count}} pauso", + onABoard: "taulan", + usesDrivingRoads: "errepideetan", + drivingEstimate: "gidatzeko estimazioa", + updating: "eguneratzea…", + pickMode: "Aukeratu modu bat zure ibilbidea ikusteko.", + waitingLocation: "Zure kokalekuaren zain…", + routeSteps: "Ibilbidearen urratsak", + walkingRoute: "oinezko ibilbidea — azkarragoa taulan", + planningView: "Plangintza ikuspegia — sakatu Hasi zuzeneko birak, ahotsa eta iritsiera jarraitzeko.", + leaveNow: "Irten orain", + departAt: "Irten:", + arriveBy: "Iritsi:", + departureTime: "Irteera-ordua", + arrivalTime: "Irisera-ordua", + only: "Soilik", + clear: "garbi", + itinerary: "Ibilbidea", + group: { + bus: "Autobusa", + tram: "Tranbia", + metro: "Metroa", + train: "Trena", + ferry: "Ferry-a" + }, + walk: "Oinez", + rideVerb: "Ibilaldi", + walkLower: "oinez", + rideLower: "ibilaldi", + toStop: "→", + track: "{{track}}. nasa", + stopOne: "Geltoki 1", + stopsCount: "{{count}} geltoki", + tickets: "txartelak ↗", + done: "Eginda", + stop: "Geltokia", + start: "Hasi", + arrived: "Iritsi zara. 🛹", + voiceOnNote: "Pantaila piztuta · ahotsa aktibo — birak eta iritsiera ahots bidez esaten dira.", + voiceOffNote: "Pantaila piztuta · ahotsa itzalita.", + followNote: "Birak, ahotsa eta iritsiera jaisten zoazen heinean. Pantaila piztuta mantentzen du.", + voiceOffAria: "Desaktibatu ahots-gida", + voiceOnAria: "Aktibatu ahots-gida", + voiceStart: "Nabigazioa hasten", + voiceArrived: "Iritsi zara", + voiceIn: "{{metres}} metro barru, {{instruction}}", + voiceContinue: "jarraitu", + voiceContinueCaps: "Jarraitu", + errPermissionDenied: "Kokaleku-baimena ukatuta.", + errWaitingGps: "GPS seinalearen zain…", + errPermissionDeniedLong: "Kokaleku-baimena ukatuta. Gaitu kokalekua zauden lekutik ibilbidea egin ahal izateko.", + errNoLocation: "Ezin izan da zure kokalekua lortu. Saiatu berriro.", + errNoLocationShort: "Ezin izan da zure kokalekua lortu.", + errTransitNoRouteFiltered: "Ez dago ibilbiderik ordu edo garraiobide horretarako — saiatu beste ordu batekin edo sartu modu gehiago.", + errTransitNoRoute: "Ez da garraio publikoko ibilbiderik aurkitu hemen — eremu honek agian ez ditu ordutegiak argitaratzen.", + errTransitUnreachable: "Ezin izan da garraio-zerbitzura iritsi. Egiaztatu konexioa eta saiatu berriro.", + errRoutingBusy: "Bideratze-zerbitzua lanpetuta dago orain — saiatu berriro une batean.", + errNoRouteMode: "Ez dago ibilbiderik modu honetarako — helmuga agian errepide-saretik kanpo dago. Saiatu beste modu batekin.", + errRoutingUnreachable: "Ezin izan da bideratze-zerbitzura iritsi. Egiaztatu konexioa eta saiatu berriro.", + departures: "Irteerak", + upcomingFrom: "Hurrengo irteerak hemendik: {{stop}}", + loadingDepartures: "Irteerak kargatzen…", + noDepartures: "Ez da hurrengo irteerarik aurkitu geltoki honetan.", + live: "zuzenean", + cancelled: "bertan behera", + refresh: "Freskatu", + tripLoginTitle: "Hasi saioa gordetzeko", + tripLoginDesc: "Hasi saioa bidaia hau Bilduma gisa gordetzeko.", + tripCollectionTitle: "{{destination}} skate bidaia 🛹", + tripCollectionDesc: "The Sasquatchen bidaia-plana — {{count}} egun {{destination}} helmugan.", + tripCollectionDescOne: "The Sasquatchen bidaia-plana — {{count}} egun {{destination}} helmugan.", + tripSavedTitle: "Bildumetan gordeta 🦧", + tripSavedDesc: "Zure {{destination}} bidaia gordespenetan markatuta dago.", + tripSaveFailed: "Ezin izan da gorde", + tripSaveFailedDesc: "Saiatu berriro segundu bat barru.", + daysInDestinationOne: "{{count}} egun {{destination}} helmugan", + daysInDestination: "{{count}} egun {{destination}} helmugan", + wetForecast: "Euri-iragarpena — joan tokiko koadrila batera estalitako edo barruko aukeretarako.", + dayLabel: "{{n}}. eguna", + freeSkate: "Skate librea — esploratu eta filmatu. 🎥", + tapToBook: "sakatu erreserbatzeko / zap egiteko ⚡", + localCrews: "Tokiko koadrilak", + saving: "Gordetzen…", + savedToCollections: "Bildumetan gordeta", + saveSpotOne: "Gorde {{count}} spot Bilduma batean", + saveSpots: "Gorde {{count}} spot Bilduma batean", + flights: "Hegaldiak", + stays: "Ostatua", + gettingAround: "Nola mugitu", + noMiddleman: "Nik antolatzen dut skatinga — hegaldiak eta ostatua benetako guneetan irekitzen dira (KYCrik ez, bitartekaririk ez).", + ageJustNow: "orain", + ageMinAgo: "duela {{count}} min", + ageHourAgo: "duela {{count}} h", + ageDayAgo: "duela {{count}} egun", + skateRightHere: "hemen bertan", + skateMin: "~{{count}} min ibilaldi", + skateHours: "~{{hours}} h ibilaldi", + maneuver: { + headOut: "Abiatu", + arrive: "Iritsi spota", + continueStraight: "Jarraitu", + bearLeft: "Okertu ezkerrera", + bearRight: "Okertu eskuinera", + turnLeft: "Biratu ezkerrera", + turnRight: "Biratu eskuinera", + sharpLeft: "Biratu zorrotz ezkerrera", + sharpRight: "Biratu zorrotz eskuinera", + turn: "Biratu", + keepLeft: "Jarraitu ezkerretik", + keepRight: "Jarraitu eskuinetik", + takeFork: "Hartu bide-adarra", + merge: "Batu", + roundabout: "Hartu biribilgunea", + takeRamp: "Hartu arrapala", + takeExit: "Hartu irteera" + }, + maneuverOnto: "{{instruction}} {{road}} bidean" + } +}; + +export default batch2; diff --git a/src/i18n/eu/batch3.ts b/src/i18n/eu/batch3.ts new file mode 100644 index 0000000..ec44d8c --- /dev/null +++ b/src/i18n/eu/batch3.ts @@ -0,0 +1,1300 @@ +const batch3 = { + settingsUi: { + proSupport: { + title: "Pro eta laguntza", + subtitle: "SkateSpots doan mantentzen duten gehigarri aukerakoak", + prepaidTitle: "Aurrez ordainduta, ez harpidetza", + prepaidBody: "Erosketa bakoitza Bitcoin/Lightning ordainketa bakarra da — konturik ez, kobratze errepikakorrik ez, gordailurik ez. Berriro ordaintzeak zure denbora luzatzen du.", + sasquatchTitle: "Sasquatch Pro", + sasquatchBenefit: "AI laguntzaile pertsonala desblokeatzen du — zure Stash, koadrilak eta iragarkiak irakur ditzake — eta proiektua finantzatzen laguntzen du.", + active: "Aktibo", + activeUntil: "Aktibo {{date}} arte", + daysLeft: "{{count}} egun geratzen dira", + notActive: "Ez dago aktibo", + goPro: "Pro-ra pasa", + extend: "Luzatu Pro", + day: "egun", + featuredTitle: "Nabarmendutako kokapena", + featuredBenefit: "Eraman iragarki bat gora Pro bereizgarri batekin — Lab profiletarako, ekitaldietarako, dendetarako eta biretako.", + featuredHow: "Iraupen-mailak mota guztiei aplikatzen zaizkie; konpromiso luzeagoek eguneko gutxiago balio dute. Iragarkia sortzean edo editatzean nabarmentzen duzu.", + featuredUntil: "{{date}} arte", + yourFeatured: "Zure nabarmendutako iragarkiak", + noneFeatured: "Ez dago nabarmendutako kokapen aktiborik.", + freeTitle: "Bide doakoak", + freeBody: "AI FAQa eta bilaketa lokala beti dira doakoak, eta azokako iragarki bat argitara dezakezu lan-froga doako batekin, sats-kuotaren ordez." + }, + notFound: { + seoTitle: "404 - Orria ez da aurkitu", + seoDescription: "Bilatzen ari zaren orria ez da aurkitu. Itzuli hasierako orrira arakatzen jarraitzeko.", + message: "Ups! Ez da orririk aurkitu", + returnHome: "Itzuli hasierara" + }, + loginArea: { + signUp: "Erregistratu", + logIn: "Hasi saioa" + }, + accountSwitcher: { + switchAccount: "Aldatu kontua", + walletSettings: "Zorroaren ezarpenak", + addAccount: "Gehitu beste kontu bat", + logout: "Amaitu saioa" + }, + amberHint: { + defaultAction: "bidali", + multiBefore: "Zure sinatzaileak onar dezazun eskatuko dizu", + multiTimes: "{{approvals}} aldiz", + multiAfter: "{{action}} egiteko — normala da mezu zifratuetan (zifratze bat + sinadura bat kide bakoitzeko). Onartu bakoitza.", + single: "Zure sinatzaileak {{action}} egitea onartzeko eskatuko dizu." + }, + amberCallback: { + processing: "Amber bidezko saio-hasiera prozesatzen...", + gotResult: "Emaitza jasota: {{result}}", + noResultDebug: "Ez da emaitzarik jaso Amber-etik", + noResultToast: "Ez da emaitzarik jaso Amber-etik. Baliteke eragiketa bertan behera utzi izana.", + validPubkey: "Gako publikoa baliozkoa! Saioa hasten...", + loginSuccessful: "Saioa ongi hasi da!", + loginErrorDebug: "Saio-hasierako errorea: {{error}}", + invalidResultDebug: "Emaitza-formatu baliogabea: {{result}}", + loggedInTitle: "Saioa hasita", + amberLoginDesc: "Ongi hasi duzu saioa Amber-ekin!", + loginFailedTitle: "Saio-hasierak huts egin du", + loginFailedDesc: "Ezin izan da Amber bidezko saio-hasiera osatu. Saiatu berriro.", + invalidPubkeyDesc: "Amber-etik gako publiko baliogabea jaso da.", + sessionLostToast: "Saioaren datuak galdu egin dira. Saiatu berriro.", + eventSignedTitle: "Ekitaldia sinatuta", + eventSignedDesc: "Amber-ek zure ekitaldia sinatu du.", + signingFailedTitle: "Sinadurak huts egin du", + signingFailedDesc: "Ezin izan da Amber-eko ekitaldi sinatua prozesatu.", + operationCompleteTitle: "Eragiketa amaituta", + operationCompleteDesc: "{{op}} amaituta." + }, + loginDialog: { + loginWithAmber: "Hasi saioa Amber-ekin (Android)", + welcomeTitle: "Ongi etorri SkateSpots-era", + welcomeSubtitle: "Erregistratu edo hasi saioa jarraitzeko", + welcomeSubtitleBrowse: "Erregistratu edo hasi saioa — edo jarraitu arakatzen.", + extensionCard: "Nabigatzailearen hedapena", + signerCard: "Sinatzaile-aplikazioa", + secretKeyLink: "Erabili gako sekretua horren ordez", + whereBunker: "Non lortu bunker bat?", + newHere: "Berria zara hemen?", + createFree: "Sortu doako kontu bat. Ez da helbide elektronikorik behar.", + createAccount: "Sortu kontua", + orLogIn: "Edo hasi saioa", + loggedInTitle: "🛹 Saioa hasita!", + loggedIn: "Saioa hasita!", + connectedAmber: "Amber bidez konektatuta!", + amberLoginFailed: "Huts egin du Amber bidezko saio-hasierak", + amberCancelled: "Saio-hasiera bertan behera utzita. Sakatu \"Ireki Amber\" berriro saiatzeko.", + amberNotFound: "Ez da Amber aurkitu. Ziurtatu Amber ZapStore-tik instalatuta dagoela.", + loginFailed: "Saio-hasierak huts egin du", + pubkeyError: "Itsatsi zure hex gako publikoa (64 karaktere) edo Amber-eko npub-a", + pairedSigner: "Zure sinatzailearekin parekatuta.", + connectFailed: "Ezin izan da zure sinatzailearekin konektatu.", + openedEncrypted: "Zure gako zifratua ireki da.", + openKeyFailed: "Ezin izan da gako hori ireki.", + bunkerPrefix: "bunker:// hasierakoa izan behar du", + connectedBunker: "Bunker bidez konektatuta!", + bunkerFailed: "Huts egin du: {{error}}", + checkBunkerUri: "Egiaztatu zure bunker URIa", + nsecPrefix: "nsec1 hasierakoa izan behar du", + invalidNsec: "nsec baliogabea: {{error}}", + checkKey: "Egiaztatu zure gakoa", + noExtensionTitle: "Ez da hedapenik aurkitu", + noExtensionDesc: "Instalatu Alby edo beste NIP-07 hedapen bat.", + amberIdleDesc: "Zure gakoa Amber-en bertan geratzen da. Ukitu behin — onartu Amber-en eta saioa hasita itzuliko zara. Ez duzu ezer kopiatu behar.", + continueWithAmber: "Jarraitu Amber-ekin", + noAmberGetIt: "Ez duzu Amber? Lortu hemen →", + waitingAmberTitle: "Amber-en zain…", + waitingAmberDesc: "Onartu eskaera Amber-en. Automatikoki hasiko da saioa itzultzen zaren unean.", + openAmberAgain: "Ireki Amber berriro", + havingTrouble: "Arazoak? Sartu zure gakoa eskuz", + enterPublicKey: "Sartu zure gako publikoa", + enterPublicKeyDescBefore: "Automatikoak funtzionatu ez badu soilik. Amber-en: sakatu zure profila →", + copyPublicKey: "Kopiatu gako publikoa", + enterPublicKeyDescAfter: "eta itsatsi hemen.", + connect: "Konektatu", + back: "← Atzera", + signInWithPhone: "Hasi saioa telefonoarekin", + signInWithPhoneDesc: "Eskaneatu sinatzaile-aplikazio batekin (Amber, nsec.app). Zure gakoak ez du inoiz zure telefonoa uzten.", + showPairingCode: "Erakutsi parekatze-kodea", + waitingSigner: "Zure sinatzailearen zain…", + copyLink: "Kopiatu esteka", + orPasteBunker: "edo itsatsi bunker URL bat", + bunkerTitle: "Bunker (NIP-46)", + bunkerPasteBefore: "Itsatsi zure", + bunkerPasteAfter: "URIa.", + amberInstructions: "Ezarpenak → NIP-46 Bunker → Sortu → Kopiatu", + nsecAppInstructions: "Konektatu aplikazioa → Kopiatu bunker URIa", + secretKeyTitle: "Gako sekretua", + secretKeyRawDesc: "Itsatsi zure Nostr gako sekretua zuzenean.", + secretKeyEncDesc: "Ireki pasahitzez babestutako gako-babeskopia bat.", + rawNsec: "nsec gordina", + encryptedNip49: "Zifratuta (NIP-49)", + nsecWarning: "⚠️ Erabili hau konfiantzazko gailu batean soilik. Ez partekatu inoiz zure nsec-a.", + login: "Hasi saioa", + encSaferDesc: "Seguruagoa: gakoa zifratuta egoten da pasahitza sartu arte, beraz babeskopia segurua da hodeiko biltegian edo pasahitzen kudeatzailean gordetzeko.", + password: "Pasahitza", + openEncryptedKey: "Ireki gako zifratua", + browserExtensionTitle: "Nabigatzailearen hedapena (NIP-07)", + browserExtensionDesc: "Mahaigainerako onena. Alby, nos2x eta Flamingorekin dabil.", + loginWithExtension: "Hasi saioa hedapenarekin" + }, + signupDialog: { + download: "Deskargatu", + stepChoose: "Aukeratu", + stepProfile: "Profila", + stepSaveKey: "Gorde gakoa", + somethingWrong: "Zerbait gaizki joan da", + createFailed: "Ezin izan da zure kontua sortu. Saiatu berriro.", + keySavedTitle: "Gako sekretua gordeta!", + keySavedDesc: "Zure gakoa modu seguruan gorde da.", + downloadFailedTitle: "Deskargak huts egin du", + downloadFailedDesc: "Ezin izan da gako-fitxategia deskargatu. Kopiatu eskuz, mesedez.", + encSavedTitle: "Babeskopia zifratua gordeta 🔐", + encSavedDesc: "Gorde fitxategia ETA pasahitza — biak behar dituzu berriro saioa hasteko.", + encFailed: "Ezin izan da gako hori zifratu.", + invalidFileTitle: "Fitxategi-motak ez du balio", + invalidFileDesc: "Hautatu irudi-fitxategi bat zure avatarrako.", + fileTooLargeTitle: "Fitxategia handiegia da", + fileTooLargeDesc: "Avatar-irudiak 5MB baino txikiagoa izan behar du.", + avatarUploadedTitle: "Avatarra igo da!", + avatarUploadedDesc: "Zure avatarra ongi igo da.", + uploadFailedTitle: "Igoerak huts egin du", + uploadFailedDesc: "Ezin izan da avatarra igo. Saiatu berriro.", + nameRequiredTitle: "Bistaratzeko izena beharrezkoa da", + nameRequiredDesc: "Aukeratu bistaratzeko izen bat beste skaterrek nor zaren jakin dezaten. Noiznahi alda dezakezu.", + reserveFailedTitle: "Ezin izan da izen hori gorde", + reserveFailedDesc: "{{error}} Geroago eskura dezakezu bat Ezarpenetan.", + profileCreatedTitle: "Profila sortuta!", + profileCreatedDesc: "Zure profila konfiguratuta dago.", + profileFailedTitle: "Profilaren konfigurazioak huts egin du", + profileFailedDesc: "Zure kontua sortu da, baina profilaren konfigurazioak huts egin du. Geroago egunera dezakezu.", + welcomeToastTitle: "Ongi etorri!", + welcomeToastDesc: "Zure kontua prest dago.", + titleWelcome: "Sartu SkateSpots-era", + titleProfile: "Konfiguratu zure profila", + titleDone: "Ongi etorri!", + createFreeAccount: "Sortu zure doako kontua", + createFreeAccountDesc: "Ez helbide elektronikorik, ez telefonorik, ez pasahitzik. Zure kontua Nostr gako bat da — aukeratu non bizi den.", + recommended: "Gomendatua", + signUpWithAmber: "Erregistratu Amber-ekin", + signUpWithAmberDesc: "Zure gakoa Amber aplikazioan sortu eta gordetzen da — SkateSpots-ek ez du inoiz ukitzen. Seguruena. Ukitu behin onartzeko.", + continueWithAmber: "Jarraitu Amber-ekin", + orQuickWay: "edo bide azkarra", + quickAccount: "Kontu azkarra gailu honetan", + quickAccountDesc: "Gailu honetan bizi den gako bat sortzen dugu. Hasiera azkarrena — berehala lagunduko dizugu babeskopia bat gordetzen.", + createQuickAccount: "Sortu kontu azkarra", + quickReassurance: "5 segundo · gailu honetan bizi da · ondoren babeskopia egiten lagunduko dizugu", + preferAnotherSigner: "Beste sinatzaile bat nahiago?", + iosDesktopNudge: "iOS edo mahaigainean? Sinatzaile-aplikazioa edo nabigatzailearen hedapena da aukerarik seguruena —", + seeAllOptions: "Ikusi aukera guztiak", + youreInPickName: "Barruan zara! 🛹 Aukeratu bistaratzeko izen bat skaterrek nor zaren jakin dezaten", + changeAnytime: "Geroago noiznahi alda dezakezu. Biografia eta avatarra hautazkoak dira.", + publishingProfile: "Zure profila argitaratzen...", + displayName: "Bistaratzeko izena", + displayNamePlaceholder: "adib. Tony, gnarlyGrind edo zure koadrilaren izena", + displayNameHint: "Beharrezkoa — SkateSpots osoan horrela agertuko zara. Noiznahi alda dezakezu.", + skateName: "Zure SkateSpots izena", + skateNameHint: "Doakoa eta hautazkoa — zure profilean ✓ erakusten duen erabiltzaile-izen egiaztatua.", + bio: "Biografia", + bioPlaceholder: "Kontaiozu besteei zuri buruz...", + avatar: "Avatarra", + uploadAvatar: "Igo avatar-irudia", + saving: "Gordetzen...", + saveAndStart: "Gorde eta hasi patinatzen", + addNameToContinue: "Gehitu bistaratzeko izen bat jarraitzeko.", + savingPublishesNote: "Gordetzean zure profila Nostr-era argitaratzen da — zure sinatzaileak behin onartzeko eska dezake.", + youreIn: "Barruan zara! 🛹", + oneQuickThing: "Gauza azkar bat sartu aurretik…", + saveLoginKey: "Gorde zure saio-hasierako gakoa", + saveLoginKeyBefore: "Hau da zure kontura itzultzeko", + only: " bide bakarra", + saveLoginKeyAfter: ". Ez dago helbide elektronikorik, ez pasahitza berrezartzerik. Gorde orain eta edozein gailutan has dezakezu saioa, edonon patinatzen duzula ere.", + revealSaveKey: "Erakutsi eta gorde nire gakoa", + recoveryCopied: "Berreskuratze-kodea kopiatuta. Gorde leku seguru batean.", + saved: "Gordeta", + treatLikeBoardKeys: "Tratatu taularen giltzak bezala — kode hau duen edonork zure kontua kontrolatzen du. Ez partekatu inoiz.", + hideEncBackup: "Ezkutatu babeskopia zifratua", + saveEncBackup: "Gorde babeskopia zifratu bat", + encBackupBefore: "Pasahitzez babestutako kopia — segurua hodeiko biltegian edo pasahitzen kudeatzailean gordetzeko. Fitxategia beharko duzu", + and: "eta", + encBackupAfter: "pasahitza.", + choosePassword: "Aukeratu pasahitz bat", + saveEncBackupCta: "Gorde babeskopia zifratua", + savedCodeAria: "Nire berreskuratze-kodea gorde dut", + savedCodeLabel: "Nire berreskuratze-kodea leku seguru batean gorde dut — pasahitzen kudeatzaile batean edo lineaz kanpo idatzita.", + letsSkate: "Goazen patinatzera", + saveLater: "Geroago gordeko dut Ezarpenetatik", + advancedSigner: "Aurreratua: erabili sinatzaile-aplikazio bat horren ordez" + }, + mnemonic: { + generatedTitle: "Berreskuratze-frasea sortuta! 🎉", + generatedDesc: "Idatzi 12 hitz hauek ordenan. Zure kontuaren gakoa dira!", + savedTitle: "Berreskuratze-frasea gordeta!", + savedDesc: "Gorde fitxategi hau leku seguru batean.", + downloadFailedTitle: "Deskargak huts egin du", + downloadFailedDesc: "Ezin izan da fitxategia deskargatu. Kopiatu eskuz, mesedez.", + copiedTitle: "Arbelera kopiatuta!", + copiedDesc: "Zure berreskuratze-frasea kopiatu da.", + qrWindowTitle: "Berreskuratze-frasearen QR kodea", + qrHeading: "Zure berreskuratze-frasearen QR kodea", + qrAlt: "Berreskuratze-frasearen QR kodea", + qrWarning: "Mantendu QR kode hau pribatu eta seguru!", + qrPrint: "Inprimatu QR kodea", + qrFailedTitle: "QR kodeak huts egin du", + qrFailedDesc: "Ezin izan da QR kodea sortu.", + accountCreatedTitle: "Kontua sortuta! 🎉", + accountCreatedDesc: "Dena prest! Zure berreskuratze-frasea seguru dago.", + loginFailedTitle: "Saio-hasierak huts egin du", + loginFailedDesc: "Ezin izan da kontua sortu. Saiatu berriro.", + verifyFailedTitle: "Egiaztapenak huts egin du", + verifyFailedDesc: "Hitzak ez datoz bat. Egiaztatu eta saiatu berriro.", + titlePrefix: "Sortu kontua", + titleSuffix: "berreskuratze-frasearekin", + twelveWordTitle: "12 hitzeko berreskuratze-frasea", + twelveWordDesc: "Zure berreskuratze-frasea pasahitz nagusi bat bezalakoa da. Idatzi paperean eta gorde seguru. Behar izango duzu zure kontura beste gailu batzuetatik sartzeko edo nabigatzailearen datuak ezabatzen badituzu.", + generate: "Sortu berreskuratze-frasea", + useNsecInstead: "Erabili nsec gako aurreratua horren ordez", + yourPhrase: "Zure berreskuratze-frasea", + copy: "Kopiatu", + download: "Deskargatu", + qrCode: "QR kodea", + criticalWarning: "Segurtasun-abisu kritikoa", + warnWriteStrong: "Idatzi", + warnWrite: "paperean eta gorde leku seguru batean", + warnNeverShareStrong: "Ez partekatu inoiz", + warnNeverShare: "zure berreskuratze-frasea inorekin", + warnBackupsStrong: "Izan babeskopia anitz", + warnBackups: "leku seguru desberdinetan", + warnAnyoneStrong: "Frase hau duen edonork", + warnAnyone: "zure kontua betiko kontrolatzen du", + warnLoseStrong: "Galtzen baduzu", + warnLose: "zure kontua betiko galtzen duzu", + savedSecurely: "Seguru gorde dut", + verifyTitle: "Egiaztatu zure berreskuratze-frasea", + verifyDesc: "Ongi gorde duzula ziurtatzeko, sartu hitz hauek:", + wordLabel: "{{n}}. hitza", + wordPlaceholder: "Sartu {{n}}. hitza", + goBack: "Atzera", + verifyCreate: "Egiaztatu eta sortu kontua", + completeTitle: "Kontua sortuta!", + completeDesc: "Zure Nostr kontua prest dago!", + signerTitle: "Gomendatua: konfiguratu sinatzaile-aplikazioa", + signerSubtitle: "Eduki zure gakoak are seguruago", + signerDesc: "Segurtasun hobea lortzeko, erabili sinatzaile-aplikazio dedikatu bat zure berreskuratze-frasea nonahi itsastea baino. Sinatzaile-aplikazioek zure gakoak seguru mantentzen dituzte, edozein Nostr aplikazio erabiltzen utziz.", + signerCta: "Ikasi sinatzaile-aplikazioei buruz", + skip: "Saltatu oraingoz" + }, + signupMethod: { + titlePrefix: "Aukeratu zure", + titleSuffix: "erregistratzeko modua", + subtitle: "Bi metodoak seguruak dira. Aukeratu zuri hobekien datorkizuna!", + recommended: "Gomendatua", + mnemonicTitle: "Berreskuratze-frasea", + mnemonicDesc: "Gogoratzeko errazak diren 12 hitz. Bitcoin, Ethereum eta kripto-zorro gehienek erabiltzen duten estandarra.", + mnemonicF1: "Erraza paperean idazteko", + mnemonicF2: "Beste Nostr aplikazio batzuekin dabil (NIP-06)", + mnemonicF3: "Hainbat kontu sor ditzake", + mnemonicF4: "Kripto erabiltzaileentzat ezaguna", + useMnemonic: "Erabili berreskuratze-frasea", + advanced: "Aurreratua", + nsecTitle: "Gako sekretua (nsec)", + nsecDesc: "Gako kriptografiko gordina. Teknikoagoa, baina zure Nostr identitaterako sarbide zuzena ematen dizu.", + nsecF1: "Kontrol kriptografiko zuzena", + nsecF2: "Nostr aplikazio guztiekin bateragarria", + nsecF3: "Babeskopia egiteko kate bakarra", + nsecF4: "Deribazio-geruzarik gabe", + useNsec: "Erabili gako sekretua", + footer: "🔒 Bi metodoak berdin seguruak dira. Aukeratu zure nahiaren arabera!" + }, + skateNip05: { + placeholder: "zureizena", + claimedSuffix: "zurea da — gorde zure profila argitaratzeko.", + checking: "Eskuragarritasuna egiaztatzen…", + available: "{{name}}@{{domain}} eskuragarri dago", + claim: "Eskuratu", + hint: "Letrak, zenbakiak, marratxoak. Doakoa, eta ✓ bereizgarri gisa erakusten da zure profilean." + }, + nip05Required: { + getFree: "Lortu NIP-05 doakoa edo merkea", + paid: "Ordainpekoa", + requiredTitle: "NIP-05 egiaztapena beharrezkoa da", + bannerReason: "Spama saihesteko eta konfiantza eraikitzeko, {{role}} erabiltzaileentzat Nostr helbide egiaztatua (NIP-05) beharrezkoa da.", + gateReason: "Spama saihesteko eta konfiantza eraikitzeko, {{role}} erabiltzaileek NIP-05 egiaztapena izan behar dute.", + addInSettings: "Gehitu NIP-05 Ezarpenetan", + explainer: "NIP-05ek zure identitatea frogatzen du zure Nostr profila domeinu batekin lotuz — adibidez", + updateProfile: "Eguneratu zure profila" + }, + editProfile: { + uploadSuccessTitle: "Ongi", + uploadSuccessDesc: "{{field}} ongi igo da", + uploadErrorDesc: "Ezin izan da {{field}} igo. Saiatu berriro.", + mustBeLoggedIn: "Saioa hasita egon behar duzu zure profila eguneratzeko", + invalidClinkTitle: "CLINK kode baliogabea", + invalidClinkDesc: "Ez dirudi noffer1… kode baliozko bat. Garbitu edo itsatsi baliozko bat.", + invalidLightningTitle: "Lightning helbide baliogabea", + invalidLightningDesc: "Erabili helbide elektronikoaren antzeko bat, adibidez you@walletofsatoshi.com.", + invalidSpTitle: "Silent Payment helbide baliogabea", + invalidSpDesc: "Silent Payment helbide bat “sp1” hasierakoa da eta nahiko luzea izaten da. Garbitu edo itsatsi baliozko bat.", + invalidCordnTitle: "Cordn esteka baliogabea", + invalidCordnDesc: "Itsatsi https://… Cordn kontaktu-esteka oso bat.", + updateSuccessTitle: "Ongi", + updateSuccessDesc: "Zure profila eguneratu da", + updateErrorDesc: "Ezin izan da profila argitaratu. Egiaztatu relay konexioak Ezarpenak > Relayak atalean", + identityTitle: "Identitatea", + identityDesc: "Nola agertzen zaren SkateSpots osoan.", + displayName: "Bistaratzeko izena", + displayNamePlaceholder: "Zure izena", + bio: "Biografia", + bioPlaceholder: "Hitz batzuk zuri eta zure patinajeari buruz…", + profilePicture: "Profil-irudia", + pictureDesc: "Igo edo itsatsi karratu formako irudi bat.", + bannerImage: "Banner irudia", + bannerDesc: "Irudi zabal bat zure profilaren goialderako.", + website: "Webgunea", + bitcoinTitle: "Bitcoin eta ordainketak", + bitcoinDesc: "Utzi jendeari zuzenean zap egiten, dirua ematen eta ordaintzen — bitartekaririk gabe.", + lightningAddress: "Lightning helbidea", + lud16Invalid: "Erabili helbide elektronikoaren antzeko bat, adib. you@yourdomain.com.", + lud16Ok: "Zure profileko “Zap” botoia gaitzen du.", + lud16Hint: "Berehalako Bitcoin eskaintzak. Zure profileko “Zap” botoia gaitzen du.", + silentPaymentAddress: "Silent Payment helbidea", + spInvalid: "“sp1” hasierakoa eta nahiko luzea izan behar du.", + spOk: "Baliozkoa — katean erabilera anitzeko helbide pribatua.", + spHint: "Katean erabilera anitzeko helbide estatikoa (BIP-352). Partekatu behin; ordainketa bakoitza ezin da lotu.", + clinkTipCode: "CLINK eskaintza-kodea", + nofferInvalid: "Ez dirudi noffer1… kode baliozko bat.", + nofferOk: "Baliozkoa — “Eman Bitcoin” botoia agertuko da zure profilean.", + nofferHint: "CLINK kode autokustodiatua, edonork Nostr bidez eskaintza egin ahal izateko — bitartekaririk gabe.", + skateProfileTitle: "Skate profila", + skateProfileDesc: "Erakutsi zure babesleak eta nola kontaktatzen zaituen koadrilak.", + badges: "Bereizgarriak", + badgesHint: "(etiketa + aukerako esteka)", + badgeExample: "adib. Independent Trucks", + badgeLabelPlaceholder: "Bereizgarriaren etiketa…", + badgeUrlPlaceholder: "https://… (aukerakoa)", + removeBadge: "Kendu bereizgarria", + addBadge: "Gehitu bereizgarria", + badgesDescBefore: "Zure patinajea babesten duten babesleak, dendak edo pertsonak — eta erakutsi nahi duzun beste edozer. Bakoitza txip klikagarri bihurtzen da zure profilean. Zure", + badgesDescAfter: "kide bereizgarria automatikoki gehitzen da.", + coordinator: "Koordinatzailea", + cordnInvalid: "Ez dirudi koordinatzaile bat. Itsatsi nprofile bat, cordn.net esteka bat edo https:// URL bat.", + cordnOk: "Zure profilean erakusten da — besteek ukitu batekin gehi dezakete.", + cordnHint: "Besteek zuri mezua bidaltzeko erabiltzen duten Cordn koordinatzailea. Pribatua, zifratua, zurea.", + useMyCoordinator: "Erabili nire koordinatzailea", + accountTitle: "Kontua", + accountDesc: "Kontuaren ezarpen gehigarriak.", + botAccount: "Bot kontua", + botAccountDesc: "Markatu kontu hau automatikotzat edo bot bat bezala.", + saving: "Gordetzen…", + saveProfile: "Gorde profila", + nip05VerifiedHandle: "NIP-05 erabiltzaile-izen egiaztatua", + nip05How: "Nola?", + extraHandles: "Erabiltzaile-izen gehigarriak", + extraHandlesHint: "aukerakoa — gehitu 5 arte", + nip05HintEmpty: "you@yourdomain.com moduko erabiltzaile-izen egiaztatu bat — Nostr-en tik urdinaren baliokidea. ✓ bereizgarria erakusten du zure profilean eta “Egiaztatua” iragazkia gaitzen du Skaterren direktorioan.", + nip05Invalid: "Erabili helbide elektronikoaren antzeko erabiltzaile-izena, adib. you@yourdomain.com — “https://” edo tarterik gabe.", + nip05Checking: "Zure domeinua egiaztatzen…", + nip05Verified: "Egiaztatuta — zure domeinuak berresten du erabiltzaile-izen hau zurea dela. ✓", + nip05Mismatch: "Zure domeinuak BESTE gako bati lotzen dio erabiltzaile-izen hau. Zuzendu zure .well-known/nostr.json fitxategia kontu honi seinalatzeko.", + nip05Unreachable: "Ezin izan da zure domeinuaren /.well-known/nostr.json fitxategia atzitu oraingoz. Gordetako erabiltzaile-izenek funtzionatzen jarraitzen dute zure domeinua ongi konfiguratuta dagoenean.", + nip05Enter: "Sartu zure NIP-05 erabiltzaile-izena.", + freeHandleBefore: "Ez duzu zeure domeinurik? Eskuratu", + freeHandleAfter: "erabiltzaile-izen doako bat SkateSpots-en.", + uploadLabel: "Igo {{label}}", + previewLabel: "{{label}} aurrebista" + }, + security: { + recoveryCopied: "Berreskuratze-kodea kopiatuta. Gorde leku seguru batean.", + savedTitle: "Gordeta!", + recoveryDownloaded: "Berreskuratze-kodea deskargatuta. Gorde leku seguru batean.", + downloadFailedTitle: "Deskargak huts egin du", + downloadFailedDesc: "Kopiatu eskuz, mesedez.", + loginRequired: "Saioa hasi behar duzu", + loginRequiredDesc: "Hasi saioa segurtasun-ezarpenetara sartzeko.", + backupConfirmedTitle: "Babeskopia berretsita! ✅", + backupConfirmedDesc: "Primeran! Zure gakoak seguru daude.", + yourRecoveryCode: "Zure berreskuratze-kodea", + recoveryCodeDesc: "Ez zenuen erregistratzean gorde? Hemen har dezakezu noiznahi.", + recoveryCodeBefore: "Kode hau da gailu edo nabigatzaile berri batean berriro saioa hasteko", + only: " bide bakarra", + recoveryCodeAfter: ". Gorde leku seguru batean (pasahitzen kudeatzailea edo paperean idatzita). Berau duen edonork zure kontua kontrolatzen du — ez partekatu inoiz.", + revealRecovery: "Erakutsi nire berreskuratze-kodea", + qrHint: "Eskaneatu beste Nostr aplikazio batekin saioa hasteko. Mantendu pantaila hau pribatu.", + neverShareHide: "⚠️ Ez partekatu hau. Ezkutatu amaitzean.", + hide: "Ezkutatu", + amberNoteBefore: "Honekin hasi duzu saioa:", + amberNoteAfter: ". Zure berreskuratze-kodea Amber-en dago — ireki Amber aplikazioa babeskopia egiteko. SkateSpots-ek ez du zure gakorik inoiz ikusten.", + bunkerNoteBefore: "Honekin hasi duzu saioa:", + remoteSigner: "urruneko sinatzailea (bunker)", + bunkerNoteAfter: ". Zure berreskuratze-kodea zure sinatzaile-zerbitzuak gordetzen du, ez SkateSpots-ek. Egin babeskopia han.", + extensionNoteBefore: "Honekin hasi duzu saioa:", + browserExtension: "nabigatzailearen hedapena", + extensionNoteAfter: ". Zure berreskuratze-kodea hedapenean dago — erabili haren babeskopia/esportazio aukera. SkateSpots-ek ez du zure gakorik inoiz ikusten.", + otherNote: "Zure berreskuratze-kodea zure sinatzaile-aplikazioak kudeatzen du, ez SkateSpots-ek. Egin babeskopia han.", + backupWarningTitle: "⚠️ Egin al duzu babeskopia zure berreskuratze-frasearena edo gako sekretuarena?", + backupWarningBody: "Zure gakoak dira zure kontura sartzeko BIDE BAKARRA. Galtzen badituzu, dena galtzen duzu — ez dago pasahitza berrezartzerik!", + iveBackedUp: "Nire gakoen babeskopia egin dut", + backupConfirmed: "✅ Babeskopia berretsita", + backupNotConfirmed: "⚠️ Babeskopia ez da berretsi", + backupConfirmedStatusDesc: "Zure gakoen babeskopia seguru dagoela berretsi duzu.", + backupNotConfirmedDesc: "Ziurtatu zure berreskuratze-frasearen edo gako sekretuaren babeskopia egiten duzula!", + notSavedYetBefore: "Oraindik ez duzu berreskuratze-kodea gorde? Ez da arazoa — hartu goiko", + notSavedYetAfter: "ataletik, gorde leku seguru batean eta berretsi behean.", + yesBackedUp: "Bai, nire gakoen babeskopia egin dut", + bestPracticesTitle: "Gakoen segurtasunerako jardunbide egokiak", + bestPracticesDesc: "Nola mantendu zure Nostr kontua seguru", + bp1Title: "Idatzi paperean", + bp1Desc: "Babeskopia fisikoa da seguruena. Gorde leku seguru batean, adibidez kutxa gotor batean.", + bp2Title: "Babeskopia anitz", + bp2Desc: "Izan kopiak leku seguru desberdinetan (etxeko kutxa gotorra, bankuko kutxa, etab.)", + bp3Title: "Ez partekatu inoiz zure gakoak", + bp3Desc: "Nostr aplikazio benetakoek EZ dute inoiz nsec edo berreskuratze-frasea eskatzen hasierako saio-hasieraren ondoren", + bp4Title: "Ez gorde hodeian zifratu gabe", + bp4Desc: "Saihestu Google Docs, posta-zirriborroak edo testu lauko hodeiko biltegiak", + bp5Title: "Pentsa nabigatzailearen hedapen bat erabiltzea", + bp5Desc: "Alby, nos2x edo Flamingok zure gakoak seguru mantentzen dituzte eta ez dituzte inoiz webguneetara erakusten", + importantReminders: "⚠️ Gogorarazpen garrantzitsuak", + rem1: "Gakoak galtzen badituzu, zure kontua betiko galtzen duzu", + rem2: "Inongo enpresak edo pertsonak ezin du zure pasahitza berrezarri — guk ere ez", + rem3: "Zure gakoak dituen edonork zure kontuaren kontrol osoa du", + rem4: "Zure gakoek zure Nostr datu guztiak kontrolatzen dituzte APLIKAZIO GUZTIETAN", + recommendedSigners: "🔌 Gomendatutako Nostr sinatzaileak", + recommendedSignersDesc: "Erabili Nostr sinatzaile bat segurtasun eta erosotasun hobea lortzeko", + recommended: "Gomendatua", + amberDesc: "Nostr sinatzaile segurua Androiderako. Zure gakoak telefonoan seguru mantentzen ditu eta ekitaldiak sinatzen ditu haiek erakutsi gabe.", + albyDesc: "Hedapen osoa, Lightning zorroa, WebLN eta NWC euskarriarekin.", + flamingoDesc: "Interfaze sinplea eta argia. Nostr sinaduran zentratzen da, zorro-funtziorik gabe.", + nos2xDesc: "Hedapen arina eta minimoa erabiltzaile aurreratuentzat.", + nostrConnectTitle: "☁️ Nostr Connect (urruneko sinatzaileak)", + nostrConnectDesc: "Erabili urruneko sinatzaile bat zure kontura edozein gailutatik sartzeko", + nostrConnectBody: "Nostr Connectek (“bunker” ere deitua) zure gakoak zerbitzari seguru batean gordetzea ahalbidetzen du eta edozein gailutatik saioa hasteko. Zure gakoak ez du zerbitzaria uzten, baina zure kontua edonon erabil dezakezu!", + nsecAppDesc: "Doako urruneko sinatzaile segurua. Sortu bunker:// URIa eta itsatsi saioa hastean.", + nostrumDesc: "Urruneko sinatzailearen beste aukera bat, mugikorreko euskarriarekin.", + howToUse: "💡 Nola erabili:", + howToUseDesc: "Sortu kontu bat zerbitzu horietako batean, lortu zure bunker:// konexio-katea, eta itsatsi “Nostr Connect” fitxan saioa hastean." + }, + relayList: { + connected: "Konektatuta", + connecting: "Konektatzen…", + offline: "Lineaz kanpo", + removeUrl: "Kendu {{url}}", + add: "Gehitu", + publishedTitle: "Relay zerrenda argitaratuta", + publishedDesc: "Nostr-era sinkronizatuta (10002 mota).", + publishFailedTitle: "Ezin izan da relay zerrenda argitaratu", + invalidUrlTitle: "Relay URL baliogabea", + invalidUrlDesc: "Saiatu wss://relay.example.com moduko zerbait", + alreadyInList: "Relaya dagoeneko zure zerrendan dago", + keepReadWriteTitle: "Utzi irakurketa edo idazketa aktibo", + keepReadWriteDesc: "Relay batek irakurketa edo idazketa behar du gutxienez.", + alreadyInThisList: "Relaya dagoeneko zerrenda honetan dago", + dmPublishedTitle: "DM relayak argitaratuta", + dmPublishedDesc: "NIP-17 sarrera-ontzia eguneratuta.", + dmPublishFailedTitle: "Ezin izan dira DM relayak argitaratu", + nip65Title: "Relayak (NIP-65)", + nip65DescUser: "Sakatu Irakurri / Idatzi txandakatzeko. Nostr-era argitaratzen da zure 10002 motako zerrenda gisa.", + nip65DescLoggedOut: "Sakatu Irakurri / Idatzi txandakatzeko. Hasi saioa zure zerrenda Nostr-era argitaratzeko.", + noRelays: "Oraindik ez dago relayik — gehitu bat behean.", + local: "Bertakoa", + read: "Irakurri", + readHint: "Eskuratu edukia relay honetatik", + write: "Idatzi", + writeHint: "Argitaratu zure ekitaldiak relay honetara", + dmTitle: "DM sarrera-ontziko relayak", + dmDesc: "NIP-17 mezu zuzenak jasotzen dituzun tokia (10050 mota). Hutsik badago, zure idazketa-relayetara jotzen du.", + localTitle: "Tokiko relayak", + localDesc: "Aplikazioarena soilik (adib. LAN nodoa). Irakurketa eta idazketarako erabiltzen da; ez da inoiz argitaratzen.", + blockedTitle: "Blokeatutako relayak", + blockedDesc: "Ez konektatu inoiz hauekin — irakurketa eta idazketa guztietatik kanpo geratzen dira." + }, + relatr: { + searchingTitle: "Relatr zerbitzua bilatzen...", + searchingDesc: "Nostr-en Relatr profilak kontsultatzen", + foundTitle: "Relatr zerbitzua aurkitu dugu!", + foundDesc: "Zerbitzua: {{name}}", + unknown: "Ezezaguna", + notFoundTitle: "Ez da Relatr zerbitzurik aurkitu", + notFoundDesc: "Saiatu gako publikoa eskuz sartzen edo begiratu https://www.relatr.xyz/", + searchFailedTitle: "Bilaketak huts egin du", + searchFailedDesc: "Ezin izan da Nostr-en Relatr profilak kontsultatu", + invalidPubkeyTitle: "Gako publiko baliogabea", + invalidPubkeyDesc: "Sartu 64 karaktereko hex gako publiko baliozkoa", + enabledTitle: "Relatr gaituta!", + enabledDesc: "Konfiantza-puntuazio orokorrak aktibo daude orain.", + disabledTitle: "Relatr desgaituta", + disabledDesc: "Konfiantza-puntuazioak ez dira gehiago eskuratzen.", + title: "Relatr konfiantza-puntuazioak", + desc: "Konfiantza-puntuazio orokorrek erabiltzaile fidagarriak identifikatzen laguntzen dute eta spama murrizten dute", + status: "Egoera", + active: "Aktiboa", + disabled: "Desgaituta", + activeStrong: "Relatr aktibo dago.", + activeDesc: "ContextVM-en sare globalaren analisiko konfiantza-puntuazioek skater fidagarriak identifikatzen eta spama murrizten laguntzen dute.", + disabledStrong: "Relatr desgaituta dago.", + disabledHint: "Gaitu Nostr sare globaleko konfiantza-puntuazioak lortzeko.", + disable: "Desgaitu Relatr", + enable: "Gaitu Relatr", + advancedSettings: "Ezarpen aurreratuak", + servicePubkey: "Relatr zerbitzuaren gako publikoa", + pubkeyPlaceholder: "Sartu 64 karaktereko hex gako publikoa...", + searching: "Bilatzen...", + autoDiscover: "Automatikoki aurkitu", + pubkeyDefault: "Lehenetsia: ContextVM-ren Relatr zerbitzu ofiziala (npub1dvmc...)", + relayLabel: "Relaya (Relatr-ek puntuazioak argitaratzen dituen tokia)", + relayDefault: "Lehenetsia: wss://relay.contextvm.org (ContextVM-ren relay ofiziala)", + applyChanges: "Aplikatu aldaketak", + learnMore: "Informazio gehiago:", + website: "Relatr webgunea", + github: "Relatr GitHub", + nip85Spec: "NIP-85 zehaztapena" + }, + followList: { + unfollow: "Utzi jarraitzeari", + title: "Zure Nostr sarea", + desc: "Kudeatu nor jarraitzen duzun. Erabiltzaileak jarraitzeak zure konfiantza-sarea eraikitzen laguntzen du eta zein spotek konfiantza-bereizgarriak erakusten dituzten zehazten du.", + following: "Jarraitzen ({{count}})", + followers: "Jarraitzaileak ({{count}})", + follow: "Jarraitu", + followHint: "💡 Itsatsi Nostr gako publiko bat (npub1...), NIP-05 helbide bat (user@domain.com) edo hex gako publiko bat", + notFollowing: "Oraindik ez duzu inor jarraitzen", + notFollowingHint: "Jarraitu skaterrak haien spotak ✅ EGIAZTATUTA bereizgarriekin ikusteko", + trustActiveStrong: "✅ Konfiantza-bereizgarriak aktibo:", + trustActive: "Jarraitzen dituzun pertsonek sortutako spotek EGIAZTATUTA bereizgarriak erakutsiko dituzte orain. Haien lagunek sortutako spotek KONFIANTZAZKO bereizgarriak erakutsiko dituzte.", + noFollowers: "Oraindik ez dago jarraitzailerik", + noFollowersHint: "Partekatu zure Nostr profila jarraitzaileak lortzeko!", + howTitle: "💡 Nola eragiten duen jarraitzeak konfiantza-bereizgarrietan", + verifiedStrong: "✅ EGIAZTATUTA (berdea):", + verifiedDesc: "Zuzenean jarraitzen dituzun pertsonek sortutako spotak", + trustedStrong: "🟡 KONFIANTZAZKOA (horia):", + trustedDesc: "Zure lagunek jarraitzen dituzten pertsonek sortutako spotak (2 jauzi)", + unverifiedStrong: "⚪ Egiaztatu gabe:", + unverifiedDesc: "Zure sarearekin loturarik ez duten erabiltzaileen spotak", + tip: "💡 Aholkua: Jarraitu skateboarder aktiboak spot egiaztatu gehiago ikusteko eta zure konfiantza-sarea eraikitzeko!" + }, + notify: { + enableTitle: "Gaitu jakinarazpenak", + enableDesc: "Dardararazi gailu hau zerbait behar duzunean.", + checkingPermission: "Baimena egiaztatzen…", + unsupported: "Gailu honek ez ditu jakinarazpenak onartzen hemen. Berreraiki Android aplikazioa zure telefonoan gaitzeko.", + denied: "Jakinarazpenak blokeatuta daude gune honetarako. Baimendu nabigatzailearen edo sistemaren ezarpenetan, eta saiatu berriro.", + backgroundTitle: "Atzeko planoko jakinarazpenak", + backgroundDesc: "Jaso abisuak mezuei eta trukeei buruz SkateSpots itxita egon arren.", + pushUnsupported: "Nabigatzaile honek ez du atzeko planoko push-a onartzen. Mugikorrean, gehitu SkateSpots hasierako pantailara.", + pushPrivacy: "Itxita zauden bitartean iristeko, SkateSpots jakinarazpen-zerbitzari batek ping bat jasotzen du zure relaytik zure gakorako zerbait iristen denean, eta zure telefonoaren push zerbitzura pasatzen du. Soilik ikusten du zure gakoak zerbait duela — ez nor den bidaltzailea ez zer dioen, eta ezin ditu zure mezuak deszifratu. Gailu bakoitzeko eman behar duzu baimena.", + bgDeliveryTitle: "Atzeko planoko entrega (Android)", + bgDeliveryDesc: "Egiaztatu mezu, eskaintza eta truke berriak aplikazioa itxita dagoen bitartean — Google zerbitzurik gabe.", + off: "Itzalita", + standard: "Estandarra (~15 min)", + fast: "Azkarra (~5 min)", + bgDeliveryNote: "Estandarra ahal den neurrian da — Android-ek atzeratu dezake Doze moduan. Azkarrak jakinarazpen iraunkorra erakusten du eta bateria gehiago erabiltzen du. Ezer ez da gure zerbitzarian deszifratzen.", + notifyMeAbout: "Jakinarazi hauei buruz", + couldNotEnable: "Ezin izan da gaitu", + sendTest: "Bidali proba-jakinarazpen bat", + testTitle: "SkateSpots jakinarazpenak aktibo daude 🛹", + testBody: "Honela ikusiko da DM, zap edo koadrila-gonbidapen bat.", + footerBefore: "Abisuak zure gailuan eraikitzen dira aplikazioak jadanik dituen datuetatik, eta mezu zuzenen abisuek ez dituzte zure mezuak inoiz deszifratzen — beraz, ez zaio Amber-i inoiz bat irekitzeko eskatzen.", + footerAfter: "itzalita, ezin da guztiz itxita dagoen aplikazio batera iritsi; beraz, abisuak SkateSpots hurrengoan irekitzean iritsiko dira.", + cat_dms_label: "Mezu zuzenak", + cat_dms_hint: "Norbaitek mezu pribatu bat bidaltzen dizu", + cat_crew_label: "Koadrilak", + cat_crew_hint: "Gonbidapenak, bat egiteko eskaerak eta kidetasun-berrespenak", + cat_social_label: "Zapak, erantzunak eta aipuak", + cat_social_hint: "Erreakzioak, berrargitalpenak, zapak, erantzunak eta ekitaldi-eguneratzeak", + cat_newsletter_label: "Buletina", + cat_newsletter_hint: "SkateSpots-en nobedadeak (harpidetzaileentzat soilik)", + cat_trades_label: "Eskaintzak eta trukeak", + cat_trades_hint: "Eskaintzak, kontraeskaintzak eta truke-berrespenak", + cat_reminders_label: "Ekitaldi-gogorarazpenak", + cat_reminders_hint: "Ordu bat lehenago abisua joango zaren ekitaldietarako (Android aplikazioa)" + }, + regionBackfill: { + taggedTitle: "{{count}} kokapen{{s}} etiketatuta", + taggedSkipped: "{{count}} gaindituta (koordenaturik gabe edo geokodifikatzailearen emaitzarik gabe).", + taggedOk: "Eskualde-etiketak komunitatearen relayera idatzi dira.", + nothingTitle: "Ez dago etiketatzeko ezer", + nothingDesc: "Ezin izan da pinik geokodifikatu. Saiatu berriro geroago.", + failedTitle: "Betealdiak huts egin du", + title: "Bete eskualde-etiketak", + admin: "Admin", + descBefore: "Geokodifikazioa existitu aurretik egindako pinek koordenatuak dituzte, baina ez hiri edo herrialde etiketarik; beraz, mapak marrazten ditu, baina Komunitate-estatistikek “Sailkatu gabe” besterik ezin dute esan. Honek pin bakoitzetik etiketak berriz ateratzen ditu eta berrargitaratzen ditu", + descStrong: "zure", + descAfter: "etiketarik gabeko spotak eta dendak.", + scanning: "Zure spotak eskaneatzen…", + allTagged: "Duzun spot eta denda bakoitzak eskualde-etiketa du jada. 🎉 “Sailkatu gabe” geratzen diren pinak beste mapagile batzuenak dira — haien gakoek soilik etiketa ditzakete.", + countLine: "Zure {{count}} spot{{s}}/dendak ez dute eskualde-etiketarik. Zure sinatzaileak bakoitza onartzeko eska dezake.", + tagging: "{{done}}/{{total}} etiketatzen…", + run: "Bete eskualde-etiketak", + summary: "{{updated}} eguneratuta · {{skipped}} gaindituta · {{failed}} huts eginda" + }, + adminReview: { + title: "Berrikuspen-ilara", + flagged: "{{count}} spot{{s}}ek zabor-seinaleak pizten dituzte — ezkutatu edo baztertu.", + clean: "Proba-sarreren edo gai kanpoko pinen itxura duten spotak." + }, + grantPro: { + invalidNpub: "Sartu npub baliozkoa (edo hex gako publikoa)", + invalidDays: "Egunak zenbaki positibo bat izan behar dira", + grantedTitle: "Pro emanda ⚡", + grantedDesc: "{{npub}}, {{date}} arte", + failedTitle: "Emateak huts egin du", + title: "Eman Sasquatch Pro", + owner: "Jabea", + desc: "Ordainketa egiaztatu bati zap-ordainagiriak huts egin dionerako eskuzko ordezkoa. Jabeak sinatutako emate bat argitaratzen du; erabiltzaileak ezin du faltsutu.", + targetPlaceholder: "npub1… (edo hex)", + grant: "Eman" + }, + myData: { + reactionTitle: "{{emoji}} erreakzioa", + deleting: "Ezabatzen...", + requestDeletion: "Eskatu ezabaketa", + selectContentTitle: "Hautatu ezabatzeko edukia", + selectContentDesc: "Hautatu ezabatzeko eskatuko dituzun elementu zehatzak.", + all: "Guztiak", + spots: "Spotak", + events: "Ekitaldiak", + shops: "Dendak", + listings: "Iragarkiak", + collections: "Bildumak", + lab: "Lab", + posts: "Argitalpenak", + reactions: "Erreakzioak", + selectAll: "Hautatu guztiak", + selectAllVisible: "Hautatu ikusgai dauden guztiak", + selectedCount: "{{count}} hautatuta", + noItemsCategory: "Ez dago elementurik kategoria honetan", + decentralizedStrong: "Garrantzitsua:", + decentralizedNote: "Nostr deszentralizatua da. Relayek ezabaketa-eskaerak errespetatu beharko lituzkete, baina batzuek agian ez dute egingo. Hau ez da betiko ezabaketa bermaturik.", + deleteCount: "Ezabatu {{count}} elementu{{s}}", + noDataTitle: "Ez dago esportatzeko daturik", + noDataDesc: "Oraindik ez duzu ekitaldirik argitaratu.", + exportedTitle: "Datuak esportatuta!", + exportedDesc: "{{count}} ekitaldi deskargatu dira JSON gisa.", + deletionRequestedTitle: "Ezabaketa eskatuta", + deletionRequestedDesc: "Ezabaketa-eskaera relayetara argitaratu da.", + deletionRequestedMany: "{{count}} elementuren ezabaketa eskatu da. Oharra: relay batzuek agian ez dute eskaera hau errespetatuko.", + deletionFailedTitle: "Ezabaketak huts egin du", + deletionFailedDesc: "Ezin izan da ezabaketa-eskaera argitaratu. Saiatu berriro.", + loginRequired: "Saioa hasi behar duzu", + loginRequiredDesc: "Hasi saioa zure datuak ikusi eta kudeatzeko.", + title: "Nire datuak", + desc: "Zure edukia Nostr sarean. Datu hauen jabe zara — esportatu noiznahi edo eskatu ezabaketa.", + coachFilmer: "Coach/Filmatzailea", + zaps: "Zapak", + received: "Jasota", + exportAll: "Esportatu datu guztiak", + recentActivity: "Azken jarduera", + viewAll: "Ikusi guztiak ({{count}})", + noDataPublished: "Oraindik ez dago daturik argitaratuta", + startBy: "Hasi", + addingASpot: "spot bat gehitzen", + aboutYourData: "Zure datuei buruz", + ownDataStrong: "Zure datuen jabe zara.", + ownData: "Eduki guztia zure gako kriptografikoekin sinatuta dago eta Nostr relayetan gordetzen da. Inongo enpresak ez du kontrolatzen.", + exportAnytimeStrong: "Esportatu noiznahi", + exportAnytime: "- Deskargatu zure ekitaldi guztiak JSON gisa", + portableStrong: "Eramangarria", + portable: "- Erabili zure gakoak edozein Nostr aplikaziotan", + selectiveStrong: "Ezabaketa selektiboa", + selective: "- Aukeratu zer ezabatu nahi duzun zehazki", + caveatStrong: "Deszentralizazio-oharra", + caveat: "- Relay batzuek datuak gorde ditzakete ezabaketa-eskaerak jaso arren" + }, + settingsPage: { + seoTitle: "Ezarpenak - SkateSpots", + seoDescription: "Kudeatu zure SkateSpots kontuaren ezarpenak.", + heading: "EZARPENAK", + subtitle: "Kontuaren eta aplikazioaren hobespenak", + editProfile: "Editatu profila", + profileRefreshed: "Profila freskatuta!", + found: "Aurkituta: {{name}}", + unnamed: "izenik gabe", + profileNotFound: "Ez da profila aurkitu", + notFoundOnRelay: "Ez da relay batean ere aurkitu.", + refreshFailed: "Freskatzeak huts egin du", + refreshFailedDesc: "Ezin izan da relayetara konektatu.", + loginToEdit: "Hasi saioa zure profila editatzeko", + noProfileRelays: "Ezin izan dugu profilik aurkitu relayetan. Lehenago bat konfiguratu baduzu, saiatu freskatzen.", + checkDisplayName: "bistaratzeko izena", + checkPhoto: "profil-foto bat", + checkBio: "biografia labur bat", + checkLightning: "Lightning helbide bat, jendeak zap egin ahal izateko", + checkHandle: "@skate-spots.org erabiltzaile-izen doako bat", + finishProfile: "Amaitu zure profila", + addItem: "Gehitu {{item}}", + nip05Title: "NIP-05 egiaztapena", + nip05Desc: "Lortu Nostr helbide egiaztatu bat (name@domain.com modukoa) konfiantza eraikitzeko. Ekitaldiak, coach profileak eta dendak sortzeko beharrezkoa.", + freeFromSkateSpots: "Doan SkateSpots-en eskutik", + claimHandleBefore: "Eskuratu honelako erabiltzaile-izen bat:", + claimHandleAfter: "— ez erroldatzerik, ez kosturik, ez domeinu bat mantentzerik. Eskuratu Profila fitxan, eta gorde.", + claimInProfile: "Eskuratu profilean", + nip05Footer: "Zure NIP-05 lortu ondoren, gehitu Profila eremuan eta gorde.", + localRelayOn: "Tokiko relaya aktibo", + localRelayOff: "Tokiko relaya itzalita", + lookingForCitrine: "Citrine gailu honetan bilatzen…", + noLongerUsing: "Ez dabil gailuko relaya gehiago.", + localRelay: "Tokiko relaya", + citrineOff: "Irakurketa azkarragoak eta babeskopia lineaz kanpo gailu honetan", + citrineSearching: "Citrine gailu honetan bilatzen…", + citrineLive: "Konektatuta — bertan irakurtzen eta babeskopia egiten", + citrineWaiting: "Gaituta — hasi Citrine konektatzeko", + toggleCitrine: "Txandakatu tokiko Citrine relaya", + citrineDetected: "Citrine relaya detektatu da", + citrineLooking: "Citrine bilatzen…", + citrineNotDetected: "Citrine ez da detektatu", + recheckCitrine: "Egiaztatu berriro Citrine relaya", + checking: "Egiaztatzen", + recheck: "Egiaztatu berriro", + chipInstantReads: "Berehalako irakurketak", + chipWorksOffline: "Lineaz kanpo dabil", + chipOnDeviceBackup: "Gailuko babeskopia", + cantReachStrong: "Ezin da Citrine atzitu.", + cantReachBefore: "Ziurtatu doako Citrine aplikazioa instalatuta dagoela eta haren relaya", + started: "abiarazita", + cantReachAfter: "dagoela, eta sakatu Egiaztatu berriro. Zure telefonoan Nostr relay pribatu bat exekutatzen du, berehalako irakurketetarako eta lineaz kanpoko babeskopia baterako.", + citrineStep1Before: "Ireki Citrine → sakatu", + start: "Hasi", + citrineStep2Before: "Itzuli hona → sakatu", + getCitrine: "Lortu Citrine", + citrinePrivacy: "Zure Stasha eta mezuak hemen muturretik muturrera zifratuta egoten dira, beste edonon bezalaxe. Tokiko relayak gauzak azkartzen ditu eta zure gailuan kopia bat gordetzen du soilik — ez du inoiz zifratzea ordezkatzen.", + communityRelayDisabled: "Komunitate-relaya desgaituta", + communityRelayEnabled: "Komunitate-relaya gaituta", + usingOnlyPersonal: "Zure relay konfiguratuak soilik erabiltzen.", + skateRelayIncluded: "SkateSpots relaya sartuta.", + relays: "Relayak", + relayPrivacyBefore: "Relayek zure", + ipAddress: "IP helbidea", + relayPrivacyAfter: "ikus dezakete konektatzen zarenean. Torek ezkutatzen du — eta har ezazu “doako” VPN bat abisu-seinale gisa; normalean zure trafikotik dirua ateratzen dute.", + communityRelay: "Komunitate-relaya", + syncingGlobal: "Mundu osoko skate komunitatearekin sinkronizatzen", + usingOnlyPersonalShort: "Relay pertsonalak soilik erabiltzen", + appearance: "Itxura", + language: "Hizkuntza", + darkModeOnly: "Modu iluna soilik", + darkModeDesc: "SkateSpots-ek estilo neon iluna du, skate kulturak inspiratuta. Hondo beltza, arrosa neon, lima eta laranja.", + navigation: "Nabigazioa", + sasquatchExpanded: "Sasquatch zabaldu da! 🦧 Freskatu orria hura ikusteko.", + advanced: "Aurreratua", + sasquatchGuide: "🦧 Sasquatch gida", + sasquatchResetDesc: "Berrezarri hasierako gida ikuspegi zabalduan", + expandSasquatch: "Zabaldu Sasquatch", + wallet: "Zorroa", + loginToWallet: "Hasi saioa zure zorroa kudeatzeko", + openWallet: "Ireki zorroa", + balanceSendReceive: "Saldoa, bidali, jaso", + connectNwc: "Konektatu NWC zorroa", + account: "Kontua", + security: "Segurtasuna", + securitySub: "Gakoak, sinadura, Amber", + nip05Sub: "Lortu Nostr helbide egiaztatu bat", + app: "Aplikazioa", + myStash: "Nire Stash", + myStashSub: "Tresna-inbentario pribatua", + relaysSub: "Nostr relay konexioak", + appearanceSub: "Hizkuntza eta gaia", + assistant: "Laguntzailea", + showSasquatch: "Erakutsi Sasquatch laguntzailea", + showSasquatchDesc: "Erakutsi Sasquatch botoi mugikorra mapan eta beste pantaila batzuetan.", + showMapFooter: "Erakutsi maparen esteka-barra", + showMapFooterDesc: "Erakutsi esteken zerrenda mehea maparen behealdean.", + notifications: "Jakinarazpenak", + notificationsSub: "DM, koadrila eta zapen abisuak", + coordinator: "Koordinatzailea", + coordinatorSub: "Zure Cordn talde-zerbitzaria", + data: "Datuak", + myData: "Nire datuak", + myDataSub: "Esportatu, inportatu, kudeatu", + advancedSub: "Relatr, Sasquatch, tresnak", + trust: "Konfiantza", + trustSub: "Iturriak eta bistaratzea", + notLoaded: "Ez da kargatu", + notLoggedIn: "Ez duzu saioa hasi" + }, + onboarding: { + seoTitle: "Hasi zaitez — SkateSpots", + seoDescription: "Batu deszentralizatutako skateboard komunitateari. Aurkitu spotak, jarri harremanetan coachekin, bidali zapak. Doan betiko.", + homeSetTitle: "Etxea ezarrita 🛹", + homeSetDesc: "Mapa zure inguruan irekiko da hemendik aurrera.", + locationFailedTitle: "Ezin izan dugu zure kokapena lortu", + locationFailedDesc: "Egiaztatu kokapen-baimenak, edo hautatu zure ingurua mapan.", + niceTitle: "🎉 Primeran!", + niceDesc: "Nostr nola dabilen ulertu duzu orain. Goazen patinatzera!", + npubCopied: "npub arbelera kopiatuta.", + saveLoginNow: "Gorde zure saio-hasiera — egin orain", + saveLoginNowDesc: "Zure berreskuratze-kodea da zure kontura itzultzeko bide bakarra. Ez helbide elektronikorik, ez pasahitza berrezartzerik.", + betaBadge: "Beta — Mundu osoko skaterrentzat irekita", + headline1: "PATINATU", + headline2: "ZURE MUNDUA", + heroBefore: "Komunitate", + decentralized: "deszentralizatu", + heroAfter: "bat. Inongo enpresak ez du jabe. Ez dago algoritmoik zure spotak ezkutatzen dituenik. Ez dago debeku-mailurik. Skaterrak, besterik ez.", + pillMap: "Spot mapa", + pillCoaches: "Coach eta filmatzaileak", + pillEvents: "Ekitaldiak", + pillGear: "Erosi/saldu ekipoa", + pillZaps: "Bitcoin zapak", + pillStash: "Ekipo-stasha", + pillCrews: "Koadrilak", + createFreeAccount: "Sortu zure doako kontua", + noEmailNoPassword: "Ez helbide elektronikorik. Ez pasahitzik. Zurea da zure identitatea, betiko.", + findSpots: "Aurkitu spotak zure inguruan", + addFirstSpot: "Gehitu zure lehen spota", + accountCreated: "Barruan zara! Kontua sortuta ✓", + identityYours: "Zure identitatea zurea da — zure gakoan gordeta, ez gure zerbitzarietan.", + whereSkate: "Non patinatzen duzu?", + whereSkateDesc: "Ezarri zure etxeko ingurua behin eta mapa zure spotetan irekiko da beti. Zure GPSak ez du inoiz zure gailua uzten.", + useMyLocation: "Erabili nire kokapena", + pickOnMap: "Aukeratu mapan", + loginSaved: "Saio-hasiera gordeta — zure kontua seguru dago berreskuratzeko.", + whyBother: "Zergatik, bada?", + why1Title: "Spot bakoitza, mapa bakarra", + why1Body: "Kantoiak, barandak, DIY, parkeak — benetan bertan patinatzen duten skaterrek mapatuta. Egiaztatu egoera irten aurretik, ez dezazun saio bat galdu kanporatze batengatik.", + why2Title: "Skaterrek egina, ez burokratek", + why2Body: "Iragarkirik ez, zaborra aurpegira botatzen dizun algoritmorik ez, datu-bilketarik ez. Kode irekia. Mapa komunitatearena da — zu barne.", + why3Title: "Kobratu patinatzeagatik", + why3Body: "Jarri harribitxi bat mapan, filmatu bideoklip ona, antolatu saio bat — eta jaso Bitcoin errealak zuzenean zure zorroan. Plataformaren komisiorik ez, bitartekaririk ez.", + why4Title: "Zure kontua benetan zurea da", + why4Body: "Gako batek Nostr aplikazio guztietan hasten du saioa. Inongo enpresak ezin dizu sarbiderik ukatu edo zure kontua halako batean ezabatu. Eraman zure identitatea edonora.", + everythingFree: "Egin dezakezun guztia — doan", + featSpots: "Aurkitu spotak", + featSpotsDesc: "Mapa interaktiboa, mundu osoko milaka spotekin", + featLab: "The Lab", + featLabDesc: "Aurkitu coach, filmatzaile eta bideo-editoreak zure inguruan", + featEvents: "Ekitaldiak", + featEventsDesc: "Lehiaketak, saioak, topaketak", + featGear: "Erosi / saldu ekipoa", + featGearDesc: "Bigarren eskuko skate ekiporako parekoen arteko azoka", + featStash: "Nire Stash", + featStashDesc: "Duzun guztiaren inbentario pribatu zifratua", + featCrews: "Koadrilak", + featCrewsDesc: "Arrastatu zure koadrilarekin — spot partekatuak, txata eta saioak", + whatIsNostr: "Zer da Nostr?", + whatIsNostrSub: "SkateSpots bultzatzen duen protokoloa", + nostrBefore: "Nostr protokolo irekia da — posta elektronikoa bezala, baina gizarte-aplikazioetarako. Zure kontua", + cryptoKeyPair: "gako-pare kriptografiko bat", + nostrAfter: "da, zurea. Inongo enpresak ez du zure kontua edo zure datuak kontrolatzen — zuk aukeratzen duzu zein relayk gordetzen dituen, eta zeurea ere exekuta dezakezu. Zure identitateak Nostr aplikazio guztietan dabil.", + nostrPoint1: "Zure datuen eta gakoen jabe zara", + nostrPoint2: "Inongo enpresak ezin zaitu debekatu", + nostrPoint3: "Identitateak edonon dabil", + nostrPoint4: "Bitcoin eskaintza zuzenak", + deepDive: "Sakontzeko: nola dabilen Nostr", + privacyTip: "Pribatutasun-aholkua: zure GPSak ez du inoiz zure gailua uzten. Konektatzen zaren zerbitzariek (adibidez mapa-fitxek) zure IPa ikus dezakete oraindik — hori ere ezkutatu nahi baduzu, VPN edo Tor batek balio dezake. Erabat hautazkoa.", + readPrivacy: "Irakurri gure pribatutasun-orria", + zapsWallet: "⚡ Zapak eta zorroa", + optional: "Hautazkoa", + walletDesc: "Zapak Bitcoin eskaintzak dira, spot zoragarri bat jarri zuen, klip ikusgarri bat filmatu zuen edo saio bikaina antolatu zuen skaterrari zuzenean bidaltzen dizkiozunak. Plataformaren komisiorik ez. Bitartekaririk ez. % 100 berari dagokio.", + builtInWallet: "Cashu zorro integratua", + builtInWalletDesc: "Jaso Lightning ordainketak aplikazioan bertan. Konfiguraziorik gabe.", + balance: "Saldoa", + connectExternal: "Konektatu kanpoko zorroa", + connectExternalDesc: "Alby, Mutiny edo beste zorro bat duzu? Konektatu NWC bidez.", + connectViaNwc: "Konektatu NWC bidez", + loginToConnect: "Hasi saioa zure zorroa konektatzeko.", + fiveDollars: "💡 5 $ Bitcoin = ehunka zap komunitatean banatzeko", + commonQuestions: "Ohiko galderak", + faq1Q: "Doakoa al da SkateSpots?", + faq1A: "Ehuneko 100 doan. Spotak arakatu, kokapenak gehitu, coachak aurkitu, ekitaldiak sortu, saioetara batu — dena doan, betiko. Bitcoin (zapak) hautazkoa da sortzaileei eskaintza egin nahi badiezu.", + faq2Q: "Zer da Nostr eta zergatik erabiltzen du SkateSpots-ek?", + faq2Before: "Nostr aplikazio deszentralizatuetarako protokolo irekia da — pentsa ezazu internet bera bezalakoa dela, inongo enpresarena ez. Zure SkateSpots kontua gako-pare kriptografiko bat da,", + faq2Strong: "zu zarena", + faq2After: ". Inongo enpresak ezin du zure kontua debekatu edo zure datuak bahitu — zuk aukeratzen duzu zein relayk gordetzen dituen zure datuak, eta zeurea ere exekuta dezakezu. Zure identitatea Primal, Damus edo Amethyst bezalako beste Nostr aplikazio batzuetan ere dabil.", + faq3Q: "Zer da nsec bat eta zergatik da garrantzitsua?", + faq3Before: "Zure", + faq3Mid: "gako pribatua da — zure kontuaren jabe zarela frogatzeko modu bakarra. Pasahitzek ez bezala,", + faq3Strong: "ez dago “pasahitza ahaztu dut”", + faq3After: ". Zure nsec galtzen baduzu, zure kontua betiko desagertzen da. Kontu bat sortzean, deskargatu babeskopia berehala eta gorde leku seguru batean (pasahitzen kudeatzailea, lineaz kanpo idatzita).", + faq4Q: "Zein sinatzaile edo aplikaziok dabil SkateSpots-ekin?", + faq4Desktop: "Mahaigainean:", + faq4Extensions: "nabigatzailearen hedapenak.", + faq4Android: "Androidean:", + faq4AndroidAfter: "(esperientzia onena aplikazio natiboarekin).", + faq4Ios: "iOSen:", + faq4IosAfter: "edo itsatsi zure nsec zuzenean (segurtasun gutxiagokoa).", + faq4Note: "Zure nsec zuzenean itsatsita ere has dezakezu saioa — baina sinatzaile-hedapen bat erabiltzea seguruagoa da.", + faq5Q: "Nire telefonoan erabil dezaket SkateSpots?", + faq5Before: "Bai! SkateSpots PWA bat da (Progressive Web App). Bisitatu", + faq5Mid: "zure telefonoaren nabigatzailean eta sakatu", + faq5Em: "\"Gehitu hasierako pantailara\"", + faq5After: "aplikazio-esperientzia osoa izateko. Edo deskargatu", + faq5End: "— aplikazio-denda deszentralizatua.", + faq6Q: "Zer da zap bat?", + faq6A: "Zap bat Lightning sarean bidaltzen den berehalako Bitcoin eskaintza da. Skater bati zap egiten diozunean, satsak segundotan iristen dira haren zorrora — PayPalik ez, Venmorik ez, komisiorik ez. 4 harmailako hura filmatu zuenak zaleen eskutik kobratzen du zuzenean.", + faq7Q: "Nire spotak ezabatuko dira SkateSpots itxiz gero?", + faq7A: "Ez. Zure spotak Nostr relayetara argitaratzen dira — edonork exekuta ditzakeen zerbitzari banatuak. SkateSpots produktu gisa bihar desagertuko balitz ere, zure datuak relayetan egongo lirateke oraindik eta edozein Nostr bezerok erakuts litzake.", + faq8Q: "Jabetza pribatuan dagoen spot bat gehi dezaket?", + faq8A: "Bai, baina erabili zentzun pixka bat. Jabetza pribatuko spotak horrela markatu behar dira skaterrek egoera jakin dezaten. SkateSpots ez da intrusioaren erantzule — errespetatu beti jabeak eta bertakoak.", + faq9Q: "Nola jakinarazi akats bat edo eman iritzia?", + faq9Before: "Bidali DM zuzenean SkateSpots taldeari Nostr-en, edo jarri harremanetan gure beta koordinatzailearekin:", + faq9Link: "Beta iritzia → cordn.net", + readyToShred: "PREST PATINATZEKO?", + stopScrolling: "Utzi korritzen. Hartu aplikazioa. Aurkitu spot bat. Patinatu.", + exploreSpots: "Arakatu spotak", + betaFeedbackTitle: "Beta — Zure iritzia nahi dugu", + betaFeedbackDesc: "SkateSpots aktiboki garatzen ari da. Bazter zakarrak aurki ditzakezu — gure errua da, ez zurea. Jakinarazi akatsak, proposatu funtzioak, esan zer dabilen gaizki.", + betaCoordinator: "Beta koordinatzailea", + betaCoordinatorDesc: "cordn.net → idatzi iezaguzu", + dmOnNostr: "DM Nostr-en", + fixSameDay: "Akats bat aurkitu duzu? Egun berean konpontzen dugu. Zure txostenek aplikazioa skater guztientzat hobea egiten dute.", + relaySetup: "Relay konfigurazioa" + }, + relayEdu: { + understandingNostr: "Nostr ulertzen", + stepOf: "{{current}}. urratsa / {{total}}", + step1Title: "Relayak ulertzen", + step1Desc: "Pentsa ezazu relayak spoten berriak partekatzen dituzten skate dendak bezala", + you: "Zu", + relays: "Relayak", + skaters: "Skaterrak", + s1Good1: "Inongo enpresak ez du zure kontua", + s1Good1Desc: "Zure identitatea relay zerbitzari anitzetan bizi da", + s1Good2: "Zuk kontrolatzen duzu non dauden zure datuak", + s1Good2Desc: "Zure argitalpenak aukeratzen dituzun relayetan sinkronizatzen dira — aukeratu zeureak edo exekutatu bat zeuk", + s1Warn: "Relay-operadoreek argitalpen publikoak ikus ditzakete", + s1WarnDesc: "Pentsa ezazu iragarki-oholetan argitaratzen ari zarela bezala", + step2Title: "Publikoa edo pribatua", + step2Desc: "Jakin zer den ikusgai eta zer zifratuta", + publicTitle: "Publikoa (edonork ikus dezake)", + pub1: "Mapara gehitzen dituzun spotak", + pub2: "Iritziak eta iruzkinak", + pub3: "Zure profileko informazioa (izena, argazkia)", + pub4: "Nor jarraitzen duzun", + privateTitle: "Pribatua (zifratuta)", + priv1: "Mezu zuzenak", + priv2: "Zorroko komunikazioak", + noteStrong: "Oharra:", + note: "Argitalpenak betiko gorde daitezke relayetan. Pentsatu argitaratu aurretik — bizitza errealean bezala!", + step3Title: "Zure gakoak = zure kontua", + step3Desc: "Hau da ulertu beharreko gauzarik garrantzitsuena", + secretKeyTitle: "Zure gako sekretua (nsec)", + secretKeyDesc: "Pentsa ezazu zure skateboarda dela — ez utzi inori. Zure kontuaren jabe zarela frogatzen du.", + s3Bad1: "Galtzen bada, zure kontua ezin da berreskuratu", + s3Bad2: "Ez dago “pasahitza ahaztu dut” — inork ezin du berrezarri", + s3Good: "Egin babeskopia eta gorde seguru", + publicKeyTitle: "Zure gako publikoa (npub)", + publicKeyDesc: "Hau zure erabiltzaile-izena bezalakoa da — partekatu lasai, besteek zu aurkitu ahal izateko!", + inControl: "🔐 Zuk duzu kontrola — inongo enpresak ezin dizu sarbiderik ukatu!", + skip: "Saltatu", + gotIt: "Ulertu dut!" + }, + about: { + seoTitle: "Honi buruz - SkateSpots", + seoDescription: "Ikasi SkateSpots-i buruz eta skateboard komunitate deszentralizatua eraikitzeko gure misioari buruz.", + npubCopied: "npub arbelera kopiatuta. Itsatsi zure Nostr bezero gogokoenean DM bat bidaltzeko.", + bugReport: "🐛 Akats-txostena", + bugWhatHappened: "Zer gertatu da:", + bugExpected: "Zer espero nuen:", + bugSteps: "Urratsak erreproduzitzeko:", + aboutWord: "HONI BURUZ", + heroBefore: "Konektatu mundu osoko skate eszena lokalekin.", + skaterOwned: "Datuak skaterrenak dira", + heroAfter: ", relayak komunitatearenak.", + viewStats: "Ikusi komunitate-estatistikak", + missionTitle: "Gure misioa", + mission1: "SkateSpots-ek skateboarderrei spotak aurkitzeko, The Lab-en proekin harremanetan jartzeko eta saioak antolatzeko laguntzen die — enpresen kontrolik gabe. Patinaje erreala lineaz kanpo gertatzen da; tresna honek harekin konektatzen zaitu soilik.", + mission2: "Skateboarding ezagutzak komunitatearekin bizi behar du, enpresen aplikazioetan giltzapetuta egon beharrean. Horregatik dabil SkateSpots Nostr-en — relayetan oinarritutako sistema bat, non skaterrek beren datuak kontrolatzen dituzten, zein relayk gordetzen dituzten aukeratzen duten eta beren relayak ere exekuta ditzaketen. Inongo enpresak ez du mapa kontrolatzen.", + whyNostr: "Zergatik Nostr?", + why1Title: "Komunitateak kontrolatua", + why1Desc: "Zure spotak komunitate-relayetan bizi dira. Skaterrek exekutatzen dituzte zerbitzariak, ez enpresek.", + why2Title: "Zure datuen jabe zara", + why2Desc: "Zure Nostr identitatea zurea da. Eraman ezazu edozein Nostr aplikaziotara — atxikimendurik gabe.", + why3Title: "Bitcoin integrazioa", + why3Desc: "Egin zap sortzaileei zuzenean Bitcoinarekin. Plataformak ez du % 30 eskuratzen.", + why4Title: "Kode irekia", + why4Desc: "Irekian eraikia. Edonork ekar diezaioke edo fork egin dezake.", + getInvolved: "Parte hartu", + getInvolvedDesc: "SkateSpots kode irekikoa eta komunitateak bultzatua da. Lagundu kodearekin, partekatu spotak edo lagundu besteei hasteko.", + betaTitle: "Beta proba", + betaDesc: "Erabiltzaile agurgarria! Eskerrik asko SkateSpots proba beta egiteagatik. Kontuan hartu aplikazioa oraindik beta fasean dagoela, eta akatsak edo segurtasun-arazoak egon daitezkeela. Arazo bat aurkitzen baduzu edo akats bat jakinarazi nahi baduzu, jarri harremanetan gurekin!", + giveFeedback: "Eman iezaguzu iritzia:", + copyNpub: "Kopiatu npub", + reportBug: "Jakinarazi akatsa", + viewProfile: "Ikusi profila", + downloadApp: "Deskargatu aplikazioa", + downloadAppDesc: "Instalatu SkateSpots Androidean Zapstore bidez — kode irekiko eta Bitcoin-en oinarritutako aplikazio-denda.", + getOnZapstore: "Lortu Zapstore-n", + credits: "Kredituak", + creditPoweredBy: "Bultzatuta:", + creditNostr: "Protokolo deszentralizatua", + creditCrewChat: "Koadrilen txata:", + creditCordn: "Muturretik muturrera zifratutako talde-txata", + creditEcash: "Ecash:", + creditCashu: "Lightning-erako Chaumian ecash", + creditWalletConnect: "Zorro-konexioa:", + creditNwc: "Nostr Wallet Connect (NIP-47)", + creditSigning: "Sinadura Androidean:", + creditAmber: "Nostr sinatzailea Androiderako", + creditMapData: "Bitcoin maparen datuak:", + creditBtcmap: "Bitcoin onartzen duten lekuak", + creditCrowdfunding: "Finantzaketa kolektiboa", + creditAngor: "Bitcoin finantzaketa kolektibo deszentralizatua", + creditDistributed: "Banatuta:", + creditZapstore: "Kode irekiko aplikazio-denda", + creditTrust: "Konfiantza eta koadrilen txata:", + creditContextvm: "Relatr konfiantza-puntuazioak eta koadrilen txat koordinazio zifratua", + stillQuestions: "Oraindik galderarik?", + stillQuestionsDesc: "Sasquatch gure AI gida da — SkateSpots-eko zuzeneko datuekin elikatuta. Galdetu hari spot, ekitaldi, coach, ekipo edo edozer nola dabilen.", + askSasquatch: "Galdetu Sasquatch-i", + poweredBy: "Bultzatuta", + decentralized: "Deszentralizatua", + communityOwned: "Komunitatearena" + }, + faq: { + seoTitle: "Ohiko galderak - SkateSpots", + seoDescription: "Galdetu Sasquatch-i SkateSpots-i buruz edozer.", + greeting: "Kaixo! Ni Sasquatch naiz 🦧 — galdetu iezadazu SkateSpots-i buruz edozer. Spotak, ekitaldiak, ekipoa, zorroak, pribatutasuna, Nostr — nik dakizkit. Zer jakin nahi duzu?", + gotQuestions: "Galderarik?", + heroDesc: "Galdetu Sasquatch-i — dena daki SkateSpots, Nostr, Bitcoin eta skateboardari buruz.", + askTitle: "Galdetu Sasquatch-i", + askDesc: "Sasquatch zure pantailaren beheko ezkerreko izkinan dago irekita — klikatu eta idatzi zure galdera. Spot, ekitaldi, coach eta eguraldiari buruzko sarbide zuzena du.", + askQuestion: "Zertan lagun zaitzaket SkateSpots-en?", + openSasquatch: "Ireki Sasquatch", + commonQuestions: "Ohiko galderak — sakatu galdetzeko", + quickAnswers: "Erantzun azkarrak", + footerHint: "Sasquatchen SkateSpots relayko zuzeneko Nostr datuak + AI erabiltzen ditu zure galderak erantzuteko. 🛹", + chip1Label: "Zer da SkateSpots?", + chip1Q: "Zer da SkateSpots eta nola dabil?", + chip2Label: "Nola gehitzen dut spot bat?", + chip2Q: "Nola gehitzen dut skate spot bat mapan?", + chip3Label: "Zer dira zapak?", + chip3Q: "Zer dira zapak?", + chip4Label: "Doakoa al da?", + chip4Q: "Doakoa al da SkateSpots erabiltzea?", + chip5Label: "Zer da Nire Stash?", + chip5Q: "Zer da Nire Stash?", + chip6Label: "Nola hasi saioa?", + chip6Q: "Nola hasi saioa edo sortu kontua?", + chip7Label: "Zer da Nostr?", + chip7Q: "Zer da Nostr?", + chip8Label: "Pribatutasuna eta datuak", + chip8Q: "Zein datu dira publikoak eta zein pribatuak SkateSpots-en?", + chip9Label: "Nola saldu ekipoa?", + chip9Q: "Nola saltzen dut ekipoa SkateSpots-en?", + chip10Label: "Zer da The Lab?", + chip10Q: "Zer da The Lab?", + fact1Label: "Skate spotak mundu osoan", + fact1Value: "Aurkitu eta gehitu", + fact2Label: "Bitcoin Lightning zapak", + fact2Value: "% 100 doan", + fact3Label: "Nostr-en deszentralizatua", + fact3Value: "Zure datuen jabe zara", + fact4Label: "Ekipo-inbentario pribatua", + fact4Value: "Stash zifratua", + s1Q: "Zer da SkateSpots?", + s1A: "Skateboarding-erako mapa eta komunitate deszentralizatua, Nostr-en eraikia. Aurkitu spotak, coach eta filmatzaileak, batu koadriletara, argitaratu ekitaldiak eta erosi/saldu ekipoa — erdian enpresa bat gabe.", + s2Q: "Nola gehitzen dut spot bat?", + s2A: "Sakatu mapan, edo erabili + / \"Gehitu spota\" botoia, gero jarri pin bat eta bete xehetasunak. Doako Nostr kontu bat behar duzu (sakatu Hasi saioa → Sortu kontua — ez da helbide elektronikorik behar).", + s3Q: "Zer dira zapak?", + s3A: "Zapak Bitcoin Lightning eskaintzak dira. Spot, ekitaldi, koadrila eta estimatzen dituzun pertsonei zap egin diezaiekezu. Zuzenean joaten zaizkie hartzaileari Lightning bidez — SkateSpots-ek ez ditu inoiz zure funtsak gordetzen.", + s4Q: "Doakoa al da?", + s4A: "Bai. Kontua sortzea, spotak gehitzea eta arakatzea doakoak dira. Hautazko gehigarri ordainduak (adibidez nabarmendutako iragarkiak) eta eskaintzak (zapak) pertsonen artean zuzenean ordaintzen dira.", + s5Q: "Zein datu dira publikoak?", + s5A: "Argitaratzen duzun guztia — spotak, ekitaldiak, zure profila — publikoa da Nostr relayetan. Zure mezu pribatuak eta zure Stasha muturretik muturrera zifratuta daude. Ikusi Pribatutasun orria xehetasunetarako.", + s6Q: "Zer da The Lab?", + s6A: "The Lab da jendea kontratatzeko edo harengandik ikasteko tokia: coachak, entrenatzaileak, filmatzaileak, bideo-editoreak, argazkilariak, eraikitzaileak, artistak eta gehiago." + }, + privacy: { + seoTitle: "Pribatutasuna — SkateSpots", + seoDescription: "Nola kudeatzen dituen SkateSpots-ek zure datuak: zure GPSa zure gailuan geratzen da, argitaratzen dituzun spotak publikoak dira, eta nola ezkutatu zure IPa VPN edo Torekin nahi baduzu.", + heroBefore: "Zure", + heroHighlight: "Pribatutasuna", + heroDesc: "Jarraitzerik ez, iragarkirik ez, datuen salmentarik ez. Hona hemen zehazki zure gailuan geratzen dena, zer den publikoa eta nola babestu gehiago nahi izanez gero.", + locationTitle: "Zure kokapena zure gailuan geratzen da", + locationBefore: "Sakatzen duzunean", + nearMe: "“Nire inguruan”,", + locationAfter: "zure GPS kokapena zure gailuan irakurtzen da eta mapa zentratzeko eta inguruko spotak ordenatzeko soilik erabiltzen da.", + locationGood1: "Ez da inoiz Nostr-era argitaratzen.", + locationGood2: "Ez zaio inoiz SkateSpots-i bidaltzen — ez dago SkateSpots zerbitzaririk hura biltzen duenik.", + locationGood3: "Ez da inongo hirugarrenekin partekatzen.", + locationGood4: "Aplikazio natiboan zure telefonoaren kokapen-sistema propioa erabiltzen dugu zuzenean eta Google Play Services saihesten — beraz, Google kenduta dituzten telefonoetan ere dabil (GrapheneOS, /e/OS) eta Googlek ez du inoiz ikusten.", + weatherBefore: "Eguraldia itzalita dago lehenespenez. Gaitzen duzunean,", + weatherEm: "spotaren", + weatherAfter: "kokapen publikoko eguraldi-baldintzak bilatzen ditu — ez zureak.", + publicTitle: "Zer da publikoa diseinuz", + publicDesc: "SkateSpots partekatutako mapa bat da, beraz zenbait gauza guztiek ikusteko pentsatuta daude. Argitaratzea aukeratzen duzunean, hauek publikoak dira Nostr sarean:", + public1Strong: "Gehitzen dituzun spotak", + public1: "— haien koordenatuak barne. Zure kokapen zehatzean spot bat gehitzen baduzu, kokapen hori publikoa bihurtzen da. Pentsatu bi aldiz zure etxe aurrean pin bat jartzen duzunean.", + public2Strong: "Iritziak, iruzkinak eta zure profil publikoa", + public2: "(izena, argazkia).", + public3: "Nor jarraitzen duzun, eta erreakzio publikoak.", + public4Strong: "Zapak", + public4: "publikoak dira lehenespenez: zap batek zure kontua — askotan zure lightning helbidea — ordaindu zenuen argitalpenarekin eta eskaintzarekin lotzen du. Zure zorroak anonimoki bidal dezake, nahiago ez baduzu horrela izan.", + publicNoteBefore: "VPN edo Tor batek", + notWord: "ez", + publicNoteAfter: " ditu ezkutatzen argitaratzen duzunaren edukia — spot baten koordenatuak publikoak dira edozein kasutan. Pribatutasun-tresnek zure sare-identitatea (zure IPa) ezkutatzen dute, ez argitaratzea aukeratzen duzun gauza.", + encryptedTitle: "Zer da pribatua eta zifratua", + enc1Strong: "Mezu zuzenak", + enc1Mid: "eta", + enc1Strong2: "koadrilen txatak", + enc1: "muturretik muturrera zifratuta daude (NIP-17). Parte-hartzaileek soilik irakur ditzakete.", + enc2Strong: "Nire Stash", + enc2: "— zure ekipo-inbentario pribatua — zure gako propioarekin zifratuta dago.", + enc3Strong: "Koadrilako kideak", + enc3: "koadrila-kideei soilik ikusgai egotea aukera dezakete.", + ipTitle: "Zure gailua uzten duena: zure IPa", + ipBefore: "Webgune guztiek bezala, SkateSpots-ekin hitz egiten duten zerbitzariek zure", + ipAddress: "IP helbidea", + ipAfter: "ikus dezakete (zure eskualdearen gutxi gorabeherako adierazle bat). Hau normala da edozein web edo mapa aplikaziotan eta ez da gurea soilik. Zerbitzari horiek hauek dira:", + ipTileStrong: "Mapa-fitxak", + ipTile: "(OpenStreetMap) — zure IPa eta maparen zein eremu ikusten duzun ikusten dute.", + ipGeoStrong: "Spot/denda geokodifikazioa", + ipGeo: "— spot edo denda bat sortu edo editatzen duzunean, haren koordenatuak OpenStreetMap Nominatim-era joaten dira hiri/herrialde etiketa betetzeko. Komunitate-estatistikak irekitzean, kokapen-etiketarik ez duten pinen koordenatuak BigDataCloud-era joaten dira eskualdeka taldekatu ahal izateko (zure gailuan cachean gordeta — pin bakoitzeko gehienez behin). Biek zure IPa ikusten dute. Hauek jarri dituzun pinaren edo pin publikoen koordenatuak dira, ez inoiz zure gailuaren GPS zuzenekoak.", + ipPushStrong: "Atzeko planoko jakinarazpenak", + ipPush: "(aukerakoak) — gaitzen badituzu, SkateSpots push zerbitzari batek ikusten du zure gakoak zerbait jaso duela eta noiz (ez inoiz nor den bidaltzailea ez zer dioen — mezuak zifratuta egoten dira), eta zure sistemaren push zerbitzuak (Google/Mozilla/Apple) entregatzen du abisua.", + ipBtcStrong: "Bitcoin lekuak", + ipBtc: "(BTCMap, geruza hori gaitzen duzunean) — zure IPa eta ikusten ari zaren eremua ikusten dituzte.", + ipRelayStrong: "Nostr relayak", + ipRelay: "— zure IPa ikusten dute aplikazioak irakurri edo argitaratzen duenean.", + ipMintStrong: "Cashu mintak", + ipMint: "— zure IPa ikusten dute zure zorroak bidali, jaso edo urtzen duen bakoitzean.", + ipRouteStrong: "Norabideak", + ipRoute: "(OSRM, eta garraio publikorako Transitous) — eskatzen duzun edozein ibilbideren hasiera eta amaiera jasotzen dituzte, ez soilik zure IPa. Bideratzea aplikazioan geratzen da: zure abiapuntua eta helmuga ez zaizkie inoiz Google edo Apple Maps-i ematen.", + ipWeatherStrong: "Eguraldia", + ipWeatherMid: "(Open-Meteo, aukerakoa) eta", + ipUploadStrong: "irudi-igoerak", + ipWeather: "(Blossom), haiek erabiltzen dituzunean.", + ipAiStrong: "Sasquatch AI", + ipAi: "— zure mezua gure zerbitzarira joaten da, eta gero modeloen hornitzailearenera.", + ipLink1: "Zure gako publikoa (npub) konexio berean bidaltzen duzunez, relay batek zure IPa zurekin lot dezake — ez “norbaitek konektatu du”, baizik eta “pertsona hau, helbide honetatik”.", + ipShieldBefore: "Gauza bat babesten dugu:", + ipMintsStrong: "minten direktorioa", + ipShieldAfter: "gure zerbitzarian eskuratzen da, beraz MintRadar-ek ez du inoiz zure IPa ikusten.", + vpnTitle: "Pribatutasun gehiago nahi? VPN edo Tor (hautazkoa)", + vpnDesc: "Skater gehienentzat ez da beharrezkoa — baina zure IPa eta gutxi gorabeherako kokapena goiko zerbitzariengandik ezkutatu nahi badituzu, bi aukera doako dituzu:", + vpnReputable: "🛡️ VPN fidagarri bat", + vpnReputableDesc: "Zure IPa VPNaren zerbitzarien atzean ezkutatzen du. Erraza eta azkarra. Ordaindu eta fidatzen duzun bat erabili; doako VPNetatik normalean zure trafikotik dirua ateratzen dute, beraz har ezazu “doakoa” abisu-seinale gisa.", + torBrowser: "🧅 Tor Browser", + torDesc: "Doakoa, IP pribatutasun maximoa, relay anitzetatik bideratzen du. Motelagoa — mapak eta zenbait Nostr relay atzeratu edo Tor irteera-nodoak blokeatu ditzakete. Oso kontuzkoentzat primeran.", + readThis: "Irakurri hau engainatuta ez geratzeko", + caveat1Before: "VPN/Tor batek zure", + ipWord: "IPa", + caveat1: "ezkutatzen du — ez argitaratzen dituzun spotak. Zure etxean jarritako pin bat publikoa da, VPN erabiltzen duzun edo ez.", + caveat2Before: "Ez aktibatu", + nearMeGps: "“Nire inguruan” / nabigatzailearen GPSa", + caveat2: "anonimoa izan nahi baduzu — GPS zehatzak edozein IP-ezkutatze gainditzen du.", + caveat3: "Inongo tresnak ez zaitu guztiz “anonimo” egiten. Hauek zerbitzariek zure sare-kokapenari buruz ondoriozta dezaketena murrizten dute — besterik ez.", + keysTitle: "Zure gakoak, zure kontua", + keysBefore: "Zure kontua zurea den gako-pare kriptografiko bat da. Saioa hasteko modurik seguruena", + signer: "sinatzaile bat", + keysAfter: "da (Alby, nos2x edo Amber Androidean), zure gako sekretua inoiz aplikaziora itsasten ez dadin.", + keysCaveatBefore: "Zure", + keysCaveatAfter: "zuzenean itsasten baduzu, zure nabigatzailean gordetzen da. Erabili sinatzaile-hedapen bat ahal duzunean, eta gorde nsec babeskopia leku seguru batean lineaz kanpo.", + footerBefore: "Galderarik? Galdetu", + sasquatchName: "Sasquatch-i", + footerMid: "aplikazioan, edo irakurri", + gettingStarted: "hasteko gida", + about: "Honi buruz" + }, + license: { + seoTitle: "Lizentzia - SkateSpots", + seoDescription: "SkateSpots lizentzia. Askea zara skateboard egiteko.", + tagline: "Patinatu, irabazi, ondo pasa eta gastatu satsak zauden lekuan.", + copyright: "SkateSpots kolaboratzaileak eta komunitatea", + licenseLabel: "Lizentzia", + freeLine1: "ASKEA ZARA", + freeLine2: "SKATEBOARD EGITEKO", + body: "Proiektu hau irekia da. Partekatu, fork egin, eraiki gainean, patinatu. Kaleak denonak dira. Kode hau ere bai. Jarraitu patinatzen, ondo pasa, ikasi trikimailuak, lagundu eraikitzaileei eta jarraitu berriz patinatzen.", + builtBefore: "❤️ Maitasunez eraikia:", + builtMid: "· Bultzatuta:", + lightning: "Bitcoin Lightning ⚡", + viewSource: "Ikusi iturburua", + aboutSkateSpots: "SkateSpots-i buruz", + supporters: "Laguntzaileak" + }, + glossary: { + seoTitle: "Trikimailuen glosarioa · SkateSpots", + seoDescription: "Skateboarding glosario osoa — {{count}} sarrera, flip, grind, slide, grab, air, lip trikimailu, handplant, freestyle, trantsizio-termino, jarrera eta hardwarea, eta izen alternatiboak barne.", + heading: "TRIKIMAILUEN GLOSARIOA", + subheading: "{{count}} sarrera · trikimailuak, trantsizioa, freestylea, jarrera eta hardwarea", + searchPlaceholder: "Bilatu trikimailuak edo ezizenak — tre flip, crooks, method…", + clearSearch: "Garbitu bilaketa", + all: "Guztiak", + results: "{{count}} emaitza{{s}} honentzat:", + noMatch: "Ez dago bat datorren trikimailurik. Saiatu “tre flip”, “crooks” edo “melon” bezalako ezizen bat.", + tricksCount: "{{count}} trikimailu", + footerBefore: "Guk ahaztu dugun trikimailu edo ezizen bat ezagutzen duzu? Trikimailuek izen desberdinak hartzen dituzte eszena bakoitzean — idatzi", + sasquatch: "Sasquatch-i 🦧", + footerAfter: "eta esan iezaguzu." + }, + signers: { + seoTitle: "Sinatzaile-aplikazioak - Babestu zure Nostr gakoak | SkateSpots", + seoDescription: "Ikasi zure Nostr gakoak seguru mantentzen dituzten sinatzaile-aplikazioei buruz. Aurkitu aukerarik onena Androiderako, iOSerako edo mahaigaineko nabigatzaileetarako.", + securityGuide: "Segurtasun-gida", + protect: "Babestu zure", + nostrKeys: "Nostr gakoak", + heroDesc: "Sinatzaile-aplikazioek zure gako pribatuak seguru mantentzen dituzte ekitaldiak sinatuz haiek erakutsi gabe. Zure gakoa aplikazio guztietan itsatsi beharrean, utzi sinatzaile bati modu seguruan kudeatzen.", + whySignerStrong: "Zergatik erabili sinatzaile bat?", + whySigner: "Zure Nostr gako pribatua inoiz aldatu ezin den pasahitz bat bezalakoa da. Sinatzaile-aplikazio batek seguru mantentzen du, edozein Nostr aplikazio erabiltzen utziz.", + androidTitle: "Android sinatzaileak", + androidDesc: "Android gailuetarako sinatzaile-aplikazio natiboak, GrapheneOS barne.", + iosTitle: "iOS sinatzaileak", + iosDesc: "iPhone eta iPad erabiltzaileentzako sinatzaile aukerak.", + browserTitle: "Nabigatzailearen hedapenak", + browserDesc: "Mahaigaineko nabigatzaileetarako hedapenak, web aplikazioetan sinatzeko.", + recommended: "Gomendatua", + yourPlatform: "Zure plataforma", + get: "Lortu {{name}}", + protocolsTitle: "Protokoloak ulertzen", + nip07Desc: "Nabigatzaile-hedapenen estandarra. Hedapenak sinadura-gaitasunak txertatzen ditu web aplikazioetan. Alby, nos2x, Flamingo eta antzeko hedapenek erabiltzen dute.", + nip46Desc: "Urruneko sinadura-protokoloa (“bunker”). Zure sinatzaile-aplikazioak beste aplikazio batzuetako eskaerak onartzen ditu zure gakoak partekatu gabe. Nsec.app, Nostria eta Nowser-ek erabiltzen dute.", + nip55Desc: "Android-erako sinadura-protokoloa. Aplikazio natiboek Amber-i sinadurak eska diezazkiokete gakoak erakutsi gabe. Android esperientzia arinena.", + whichChoose: "Zein aukeratu?", + chooseAndroid: "Android:", + chooseAndroidDesc: "Amber (NIP-55) aplikazio natiboetarako", + chooseIos: "iOS:", + chooseIosDesc: "Nsec.app (NIP-46) bateragarritasun onena lortzeko", + chooseDesktop: "Mahaigaina:", + chooseDesktopDesc: "Alby, nos2x edo Flamingo (NIP-07)", + amberDesc: "Android sinatzaile natiboa, segurtasunean eta erabilerraztasunean zentratua. Aukerarik onena Android erabiltzaileentzat.", + nsecAppDesc: "Plataforma anitzeko urruneko sinatzailea, zure gakoentzako kutxa gotor seguru gisa jarduten duena.", + nostriaDesc: "Urruneko sinatzaile-aplikazioa, gakoak gailuaren biltegi seguruan gordeta.", + nowserDesc: "Autentifikazio anitzeko sinatzailea, bai nabigatzaile-hedapeneko bai urruneko sinadura-protokoloak onartzen dituena.", + nsecAppIosDesc: "Aukerarik onena iOSerako. Erabili urruneko sinatzaile gisa edozein Nostr bezerorekin.", + nowserTfDesc: "iOS sinatzailea TestFlight bidez eskuragarri, Androiden antzeko sinadura-gaitasunekin.", + nostriaIosDesc: "Urruneko sinatzailea, gakoen biltegi seguruarekin zure gailuan.", + nos2xDesc: "Nabigatzaile-hedapen sinplea eta fidagarria Nostr ekitaldiak sinatzeko.", + albyDesc: "Bitcoin Lightning zorroa, Nostr gakoen kudeaketa integratuarekin eta WebLN.", + flamingoDesc: "Nostr-era bideratutako nabigatzaile-hedapena, interfaze garbiarekin.", + kiwiDesc: "Androidean/GrapheneOSen, erabili Kiwi Browser nos2x edo Alby hedapenak kargatzeko.", + fNativeApp: "Aplikazio natiboa", + fMultiKey: "Gako anitzen euskarria", + fEventSigning: "Ekitaldien sinadura", + fSecureStorage: "Gakoen biltegi segurua", + fRemoteSigning: "Urruneko sinadura", + fAnyClient: "Edozein bezerorekin dabil", + fCrossDevice: "Gailuen arteko sinkronizazioa", + fMultiKeySupport: "Gako anitzen euskarria", + fNip07: "NIP-07 euskarria", + fNip46: "NIP-46 euskarria", + fFlexibleSigning: "Sinadura malgua", + fNativeIos: "iOS aplikazio natiboa", + fLightweight: "Arina", + fEasyToUse: "Erabiltzeko erraza", + fChromeSupport: "Chrome/Brave/Edge euskarria", + fLightningPayments: "Lightning ordainketak", + fNostrSigning: "Nostr sinadura", + fWebln: "WebLN euskarria", + fNwc: "NWC euskarria", + fCleanUi: "Interfaze garbia", + fPrivacyFocused: "Pribatutasunean zentratua", + fExtensionMobile: "Hedapenen euskarria mugikorrean", + fFullBrowser: "Nabigatzaile-esperientzia osoa", + fGraphene: "GrapheneOSen dabil" + }, + betaDisclaimer: { + title: "Kontuz — hau beta da", + subtitle: "Hitz azkar bat sartu aurretik.", + ossTitle: "Kode irekikoa eta esperimentala", + ossBody: "Komunitateak irekian eraikia. Arakatu, fork egin, hautsi.", + betaTitle: "Beta fasean — ez da auditatu", + betaBody: "Kodeak ez du oraindik segurtasun-auditoria formalik izan. Akatsak gertatzen dira.", + moneyTitle: "Benetako Bitcoin eta Lightning erabiltzen ditu", + moneyBody: "Dirua erabiltzen baduzu, zeure arriskuan. Kargatu galtzeko modukoa soilik.", + finePrint: "Eduki gabezi guztiak. Zure funtsen eta gakoen erantzule bakarra zu zara.", + viewCode: "Ikusi kodea", + accept: "Ulertu dut, sartzen utzi" + } + } +}; + +export default batch3; diff --git a/src/i18n/eu/batch4.ts b/src/i18n/eu/batch4.ts new file mode 100644 index 0000000..d5fa698 --- /dev/null +++ b/src/i18n/eu/batch4.ts @@ -0,0 +1,1427 @@ +const batch4 = { + marketUi: { + gearSwap: { + title: "Gear Swap", + subtitle: "Erosi eta saldu erabilitako skate-ekipoa beste skater batzuekin", + listGear: "Iragarri ekipoa", + searchPlaceholder: "Bilatu ekipoa...", + allCategories: "Kategoria guztiak", + forSale: "Salgai", + wtb: "Erosi nahi", + trust: "Konfiantza", + filterByTrust: "Iragazi konfiantzaren arabera", + allSellers: "Saltzaile guztiak", + verifiedOnly: "Egiaztatuak soilik", + trustedPlus: "Konfiantzazkoak+", + followingOnly: "Jarraitutakoak soilik", + pickupOrShip: "Bertan jaso edo bidali", + localPickup: "Tokian bertan jaso", + ships: "Bidalketa", + sortBy: "Ordenatu", + newest: "Berrienak", + priceLowHigh: "Prezioa: txikiena → handiena", + priceHighLow: "Prezioa: handiena → txikiena", + trustScore: "Konfiantza-puntuazioa", + nearest: "Hurbilenak (tokikoak)", + listingFound: "{{count}} iragarki aurkitu da", + listingsFound: "{{count}} iragarki aurkitu dira", + loadFailed: "Ezin izan dira iragarkiak kargatu", + tryLater: "Saiatu berriro geroago.", + noneTitle: "Ez da iragarkirik aurkitu", + noneFiltered: "Ez dago zure uneko iragazkiekin bat datorren ekiporik. Saiatu iragazkiak garbitzen edo beste zerbait bilatzen.", + noneFirst: "Izan zaitez lehena zure ekipoa iragartzen — taulak, ardatzak, gurpilak, zapatak, skate-eko edozer!", + listYourGear: "Iragarri zure ekipoa", + faqLink: "Galderarik? Ikusi FAQ →" + }, + hub: { + browse: "Arakatu", + selling: "Saltzekoak", + myTrades: "Nire trukeak", + reputation: "Ospea", + loginListings: "Hasi saioa zure iragarkiak kudeatzeko.", + loginReputation: "Hasi saioa zure ospea eta iritziak ikusteko." + }, + marketplace: { + heroTitle: "Dendak eta azoka", + heroBefore: "Gure azoka hau honen gainean eraikita dago:", + heroAfter: "— Nostr-en oinarritutako azoka descentralizatua. Skate-dendek beren produktuak iragar ditzakete, eta zuk erabilitako ekipoa erosi/saldu dezakezu zuzenean Bitcoin-ekin.", + whatIsTitle: "Zer da Plebeian Market?", + whatIsBody: "Plebeian Market Nostr-en oinarritutako azoka descentralizatua da. Erosi eta saldu skate-ekipoa zuzenean beste skater batzuekin, Bitcoin erabiliz. Bitartekaririk ez, komisiorik ez, askatasun osoa.", + noFeesTitle: "Komisiorik ez", + noFeesBody: "Plataformak ez du %30 kentzen. Salmenta zuzenak, pertsona artean.", + bitcoinTitle: "Bitcoin bidezko ordainketak", + bitcoinBody: "Ordaindu Bitcoin-ekin. Azkar, seguru eta mundu osoan.", + decentralizedTitle: "Deszentralizatua", + decentralizedBody: "Nostr-en eraikia. Enpresa batek ere ez du kontrolatzen.", + visit: "Bisitatu Plebeian Market", + buySellTitle: "Zer erosi eta saldu dezakezu", + catCompletes: "Skate osoak", + preBuilt: "Muntatuta dauden skateak", + customSetups: "Konfigurazio pertsonalizatuak", + beginnerBoards: "Hasiberrientzako taulak", + catParts: "Taulen piezak", + decks: "Taulak", + trucks: "Ardatzak", + wheels: "Gurpilak", + bearings: "Errodamenduak", + gripTape: "Grip zinta", + hardware: "Hardwarea", + catApparel: "Arropa eta babesa", + skateShoes: "Skate zapatak", + clothing: "Arropa", + helmets: "Kaskoak", + pads: "Babesak", + backpacks: "Motxilak", + catAccessories: "Osagarriak", + tools: "Tresnak", + wax: "Argizaria", + rails: "Railak", + stickers: "Pegatinak", + videos: "Bideoak", + magazines: "Aldizkariak", + howItWorks: "Nola funtzionatzen duen", + step1Title: "Arakatu produktuak", + step1Body: "Bisitatu Plebeian Market eta arakatu mundu osoko denden eta pertsonen skate-ekipoa.", + step2Title: "Jarri harremanetan saltzaileekin", + step2Body: "Bidali mezua saltzaileei zuzenean Nostr bidez. Adostu prezioak, egin galderak, antolatu bidalketa.", + step3Title: "Ordaindu Bitcoin-ekin", + step3Body: "Osatu erosketa Bitcoin Lightning bidez, berehalako ordainketekin eta komisio txikiekin.", + step4Title: "Utzi iritzia", + step4Body: "Baloratu zure esperientzia eta eraiki saltzailearen ospea Nostr-en. Zure iritziek komunitateari laguntzen diote.", + needBitcoinTitle: "Bitcoin behar duzu?", + needBitcoinBefore: "Lightning zorro bat behar duzu, sats batzuekin erosketak egiteko. Begiratu", + onboardingGuide: "hasierako gida", + needBitcoinAfter: "zorroak aukeratzeko.", + ownShopTitle: "Skate-denda bat duzu?", + ownShopBody: "Iragarri zure denda SkateSpots-en eta saldu zure produktuak Plebeian Market-en. Iritsi mundu osoko bezeroengana plataformako komisiorik gabe.", + addShop: "Gehitu zure denda", + startSelling: "Hasi saltzen" + }, + listingDetail: { + notFound: "Ez da iragarkia aurkitu", + notFoundBody: "Baliteke ezabatua izana edo esteka okerra izatea.", + backToGearSwap: "Itzuli Gear Swap-era", + gearSwap: "Gear Swap", + viewPhoto: "Ikusi {{n}}. argazkia", + photoAlt: "{{title}} — {{n}}. argazkia", + wantToBuy: "EROSI NAHI DUT", + sold: "SALDUA", + description: "Deskribapena", + usuallyHere: "Normalean hemen: {{availability}}", + listed: "Iragarrita: {{date}}", + listingCountOne: "{{count}} iragarki · duela {{age}} egun", + listingCountMany: "{{count}} iragarki · duela {{age}} egun", + relistActive: "Aktibatu berriro", + markSold: "Markatu saldu gisa", + deleteListing: "Ezabatu iragarkia", + makeOffer: "Egin eskaintza", + shareListing: "Partekatu iragarkia", + unknown: "Ezezaguna", + linkCopied: "Esteka kopiatu da", + linkCopiedBody: "Partekatu skater batekin.", + copyFailed: "Ezin izan da esteka kopiatu", + relisted: "Berriro iragarrita", + relistedBody: "Zure iragarkia berriro dago aktibo.", + couldNotUpdate: "Ezin izan da eguneratu", + somethingWrong: "Zerbait gaizki joan da" + }, + create: { + imageUploaded: "Irudia kargatu da", + uploadFailed: "Kargatzeak huts egin du", + failed: "Huts egin du", + cooldownActive: "Itxaronaldi-epea aktibo", + cooldownWait: "Itxaron {{time}} beste iragarki bat sortu aurretik", + limitReached: "Iragarki-muga iritsi da", + limitReachedBody: "Hileko muga iritsi duzu: {{limit}} iragarki", + feeRequired: "Ordainketa beharrezkoa", + feeRequiredBody: "Ordaindu spam-aren aurkako tarifa jarraitzeko", + titleRequired: "Izenburua beharrezkoa", + categoryRequired: "Kategoria beharrezkoa", + photoRequired: "Argazkia beharrezkoa", + photoRequiredBody: "Gutxienez argazki bat behar da ekipoa saltzeko", + nip05Required: "NIP-05 egiaztapena beharrezkoa", + nip05RequiredBody: "Nostr helbide egiaztatua behar duzu ekipoa iragartzeko", + priceRequired: "Prezioa beharrezkoa prezio finkoko iragarkietan", + sizeRequired: "Tamaina beharrezkoa", + sizeRequiredBody: "Aukeratu tamaina: {{category}}", + conditionRequired: "Egoera beharrezkoa", + conditionRequiredBody: "Aukeratu zure {{category}} elementuaren egoera", + wtbPosted: "Erosi nahia argitaratu da!", + wtbPostedBody: "Saltzaileek zure eskaera aurkitu ahal izango dute.", + listingCreated: "Iragarkia sortu da!", + listingCreatedBody: "Zure ekipoa orain iragarrita dago.", + publishFailed: "Ezin izan da argitaratu", + loginRequired: "Saioa beharrezkoa", + loginRequiredBody: "Saioa hasi behar duzu ekipoa iragartzeko.", + backToStash: "Itzuli Stash-era", + backToSpot: "Itzuli: {{title}}", + backToMarketplace: "Itzuli azokara", + backToMap: "Itzuli mapara", + wantToBuy: "Erosi nahia", + listYourGear: "Iragarri zure ekipoa", + wtbSubtitle: "Esan komunitateari zer ekipo bilatzen duzun", + sellSubtitle: "Saldu skate-ekipoa komunitateari", + fromStashTitle: "Zure Stash-etik iragartzen", + fromStashBody: "Zure Stash-eko elementuaren datuekin beteta. Berrikusi eta aukeratu topagune bat!", + nip05Banner: "Spama ekiditeko eta erosleak babesteko, Nostr helbide egiaztatua (NIP-05) behar duzu ekipoa iragartzeko.", + verifiedLabel: "Egiaztatua:", + checkingTrust: "Zure konfiantza-maila egiaztatzen...", + trustLevel: "Konfiantza-maila:", + trusted: "Konfiantzazkoa", + active: "Aktiboa", + newcomer: "Hasiberria", + newUser: "Erabiltzaile berria", + remaining: "{{limit}} iragarkitik {{remaining}} geratzen dira hilabete honetan", + cooldownBody: "Erabiltzaile berriek 24 orduko itxaronaldia dute iragarkien artean.", + timeRemaining: "Gelditzen den denbora: {{time}}", + monthlyLimitTitle: "Hileko muga iritsi da", + monthlyLimitBody: "Hilabete honetako muga iritsi duzu: {{limit}} iragarki. Eraiki zure ospea spotak sortuz edo salmentak osatuz muga handitzeko.", + powAccepted: "Proof of work onartuta!", + feePaid: "Tarifa ordainduta!", + canCreateNow: "Orain zure iragarkia sor dezakezu.", + whatDoTitle: "Zer egin nahi duzu?", + sellGear: "SALDU EKIPOA", + categoryTitle: "Kategoria *", + categoryHint: "Zer motatako ekipoa?", + detailsTitle: "Ekipoaren xehetasunak", + detailsWtbHint: "Deskribatu zer bilatzen duzun", + detailsSellHint: "Esaiezu erosleei zure elementuaren berri", + titleLabel: "Izenburua *", + titlePlaceholderWtb: "8.0\" tamainako taula bila", + titlePlaceholderSell: "Palace taula 8.25\", ia berria", + summaryLabel: "Laburpen laburra", + summaryPlaceholderWtb: "Edozein marka, grafikoki soila nahiago", + summaryPlaceholderSell: "Egoera onean, gutxi erabilia", + descriptionLabel: "Deskribapena", + descriptionPlaceholderWtb: "Deskribatu zehazki zer bilatzen duzun: marka-lehentasunak, egoera-baldintzak, etab.", + descriptionPlaceholderSell: "Taula hau Eguberrietarako erosi nuen, baina tamaina txikiagoa nahiago dut. Pozik utziko dizut probatzen erosi aurretik!", + fulfilmentLabel: "Nola egingo da entrega?", + pickup: "Bertan jaso", + pickupHint: "Geratu tokian bertan", + ships: "Bidalketa", + shipsHint: "Bidali postaz", + both: "Biak", + bothHint: "Edo zein", + addressNote: "Ez dugu inoiz zure helbidea biltzen — bidalketarako, partekatu pribatuan truke-txatean.", + postageLabel: "Nork ordaintzen du bidalketa?", + requireEscrow: "Eskatu escrow-a", + requireEscrowHint: "Eskatu erosleari Cashu escrow bidez ordaintzeko.", + postageBuyer: "Erosleak ordaindu", + postageSeller: "Nik ordaindu", + postageSplit: "Erdibana", + sizeLabel: "Tamaina", + selectSize: "Aukeratu tamaina", + truckHeight: "Ardatzaren altuera", + selectHeight: "Aukeratu altuera", + wheelHardness: "Gurpilen gogortasuna", + selectHardness: "Aukeratu gogortasuna", + pricingTitle: "Prezioa", + pricingWtbHint: "Nola ordaindu nahi duzu?", + pricingSellHint: "Nola saldu nahi duzu?", + priceLabel: "Prezioa *", + currencyLabel: "Moneta", + photosTitle: "Argazkiak", + photosSellHint: "Gutxienez argazki bat behar da", + photosWtbHint: "Aukerakoa — gehitu erreferentzia-irudiak", + productPhoto: "{{n}}. produktua", + upload: "Kargatu", + photosNote: "Gehitu 5 argazki arte. Lehen irudia izango da argazki nagusia.", + pickupLocationTitle: "Topagunea", + pickupLocationHint: "Lotu skate-spot bati topaketak errazteko", + searchSpots: "Bilatu spotak...", + noSpotsFound: "Ez da spotik aurkitu. Saiatu beste bilaketa bat.", + availabilityLabel: "Noiz egoten zara normalean?", + availabilityPlaceholder: "Asteburuetan 10:00-14:00, ar/og arratsaldeetan", + availabilityHint: "Erosleei topaketak zurekin koordinatzen laguntzen die", + durationTitle: "Iragarkiaren iraupena", + durationHint: "Zenbat denboran egon behar du aktibo iragarkiak?", + publishing: "Argitaratzen...", + checkingEligibility: "Baldintzak egiaztatzen...", + cooldownButton: "ITXARONALDIA: {{time}}", + limitReachedButton: "MUGA IRITSIA", + payFeeButton: "ORDAINDU TARIFA JARRAITZEKO", + postWtbButton: "ARGITARATU EROSI NAHIA", + listForSaleButton: "IRAGARRI SALMENTAN" + }, + trades: { + title: "Nire trukeak", + loginBody: "Hasi saioa zure azokako trukeak eta ospea kudeatzeko.", + subtitle: "Berrespenak, eskaerak eta haiek eraikitzen duten ospea. Ordainketa beste skaterrarekin adosten da — aplikazioak akordioa soilik erregistratzen du.", + actionNeeded: "Ekintza beharrezkoa", + askedToConfirmSale: "salmenta bat berresteko eskatu dizu", + recordedSale: "salmenta bat erregistratu du — berretsi zure aldea", + confirmSale: "Berretsi salmenta", + confirm: "Berretsi", + stateRevoked: "ezeztatuta", + stateVerifying: "egiaztatzen", + nothingWaiting: "Ez dago ezer zure zain orain. 🛹", + yourRecords: "Zure truke-erregistroak", + noTrades: "Trukerik ez oraindik. Itxi akordio bat eta berretsi ospea eraikitzen hasteko.", + browseGearSwap: "Arakatu Gear Swap", + roleSold: "Saldua", + roleBought: "Erosia", + roleTrade: "Trukea", + with: "Norekin", + viewListing: "Ikusi iragarkia", + revoke: "Ezeztatu", + revokeTitle: "Truke-erregistro hau ezeztatu?", + revokeBody: "Zure ospean ez du gehiago zenbatuko. Beste alderdiak bere atestazioa mantenduko du. Erabili hau auzitan dagoen edo akats bat duen akordio baterako.", + revokeNote: "Egileak atzera botata.", + revoked: "Truke-erregistroa ezeztatu da", + revokedBody: "Jada ez du ospean zenbatzen.", + revokeFailed: "Ezin izan da trukea ezeztatu", + saleConfirmed: "Salmenta berretsi da", + saleConfirmedBody: "Orain bere aldea berretsi dezake.", + saleConfirmFailed: "Ezin izan da salmenta berretsi", + tradeConfirmed: "Trukea berretsi da", + tradeConfirmedBody: "Ospea eguneratu da zuentzat biok.", + tradeConfirmFailed: "Ezin izan da trukea berretsi", + somethingWrong: "Zerbait gaizki joan da." + }, + card: { + listingDeleted: "Iragarkia ezabatu da", + listingRemoved: "Iragarkia kendu da", + listingDeletedBody: "Zure iragarkia kendu da. Ezabaketak errespetatzen dituzten relay-ek ez dute gehiago eskainiko.", + listingRemovedBody: "Iragarki hau kendua izan da eta SkateSpots osoan ezkutatuko da.", + removeFailed: "Ezin izan da kendu", + somethingWrong: "Zerbait gaizki joan da", + markedSold: "Saldu gisa markatuta", + markedSoldBody: "Zure iragarkia orain saldu gisa agertzen da.", + couldNotUpdate: "Ezin izan da eguneratu", + relisted: "Berriro iragarrita", + relistedBody: "Zure iragarkia berriro dago aktibo.", + listingOptions: "Iragarkiaren aukerak", + report: "Salatu", + removeAdmin: "Kendu (admin)", + postage: "bidalketa", + newSeller: "Saltzaile berria", + saleOne: "{{count}} salmenta", + saleMany: "{{count}} salmenta", + iHaveThis: "Hau dut!", + deleteTitle: "Ezabatu \"{{title}}\"?", + adminRemoveTitle: "Iragarki hau kendu? (admin)", + deleteBody: "Honek relay-ei eskatzen die zure \"{{title}}\" iragarkia kentzeko. Hemendik ezin da desegin — berri bat sortu beharko zenuke.", + adminRemoveBody: "SkateSpots administratzaile gisa \"{{title}}\" kentzen ari zara. Aplikazio osoan ezkutatuko da guztientzat eta ezabaketa-eskaera bat bidaliko da relay-etara.", + deleting: "Ezabatzen…", + removing: "Kentzen…", + deleteListing: "Ezabatu iragarkia", + removeListing: "Kendu iragarkia", + reportCount: "{{count}} salaketa", + reports: "{{count}} salaketa", + viewTitle: "Ikusi {{title}}", + reportListing: "Salatu iragarkia", + manageListing: "Kudeatu iragarkia", + trusted: "Konfiantzazkoa", + daysOld: "duela {{n}} egun", + monthsOld: "duela {{n}} hilabete", + yearsOld: "duela {{n}} urte", + listingsCount: "{{count}} iragarki", + postageBuyer: "bidalketa: eroslea", + postageSeller: "bidalketa: saltzailea", + postageSplit: "bidalketa: erdibana", + powTitle: "NIP-13 proof of work — doako spam-aren aurkakoa", + verifiedTradeOne: "{{count}} truke egiaztatu", + verifiedTrades: "{{count}} truke egiaztatu", + reportSubmitted: "Salaketa bidalita", + reportSubmittedBody: "Eskerrik asko azoka seguru mantentzen laguntzeagatik.", + reportFailed: "Ezin izan da salaketa bidali", + selectReason: "Aukeratu arrazoi bat", + reportDialogBody: "Lagundu azoka seguru mantentzen, desegokiak edo engainagarriak diren iragarkiak salatuz.", + reasonLabel: "Salaketaren arrazoia *", + detailsLabel: "Xehetasun gehigarriak (aukerakoa)", + detailsPlaceholder: "Eman lagungarri izan daitekeen testuingurua...", + reportNote: "Salaketak Nostr-en argitaratzen dira eta komunitateari iragarki problematikoak identifikatzen laguntzen diote. Salaketa anitz dituzten iragarkiak automatikoki ezkutatu daitezke.", + submitting: "Bidaltzen...", + submitReport: "Bidali salaketa" + }, + tradeActions: { + tradeConfirmed: "Trukea berretsi da", + tradeConfirmedWithProof: "Ordainagiri egiaztagarria erantsi da — truke egiaztatuen barruan zenbatzen du.", + tradeConfirmedBody: "Ospea eguneratu da zuentzat biok.", + tradeConfirmFailed: "Ezin izan da trukea berretsi", + somethingWrong: "Zerbait gaizki joan da.", + requestNote: "Mesedez, berretsi gure \"{{title}}\" trukea.", + requestSent: "Berrespena eskatuta", + requestSentBody: "Saltzaileak orain salmenta berretsi eta bi ospeak eraiki ditzake.", + requestFailed: "Ezin izan da eskaera bidali", + escrowRefunded: "Escrow itzulita", + escrowRefundedBody: "Funtsak zure Cashu zorroan daude berriro.", + escrowRefundFailed: "Ezin izan da escrow itzuli", + confirmThisTrade: "Berretsi truke hau", + escrowAndRequest: "Escrow-a eta eskaera", + shipsEscrowHint: "Bidalketako akordioa — erabili escrow, inork hutsunean bidali ez dezan. Partekatu helbidea pribatuan truke-txatean, ez hemen.", + shipsHint: "Bidalketako akordioa — nahiago escrow saltzaileak eskaintzen badu, eta partekatu helbidea txatean soilik.", + askSeller: "Eskatu saltzaileari berresteko", + waitingSeller: "Berrespena eskatu da — saltzailearen zain.", + refundEscrow: "Itzuli escrow", + buyWithSats: "Erosi satsekin", + depositTitle: "Borondate oneko gordailua (aukerakoa)", + payDeposit: "Ordaindu gordailua", + depositBefore: "Truke batek ez du fakturarik, beraz honela lortzen du", + verifiableCost: "kostu egiaztagarri bat", + depositAfter: ". Itzuli egiten da entregatzean (edo erabili Cashu escrow itzultze automatikorako). ⚠️ Konpromisoa frogatzen du, ez entrega.", + depositPaid: "Gordailua ordainduta", + depositPaidBody: "Gordeta — trukea berresten denean erantsiko da.", + paid: "Ordainduta ⚡", + paidWithProof: "Ordainagiri egiaztagarria gorde da — berretsi trukea zenbatzeko.", + paidBody: "Eskatu saltzaileari trukea berresteko, biok zenbatzeko." + }, + loadFailed: "Ezin izan da relay-etara iritsi. Egiaztatu konexioa eta saiatu berriro.", + statusPending: "zain", + offers: { + accepted: "Onartuta", + declined: "Ukatuta", + withdrawn: "Atzera botata", + open: "Irekia", + closeDeal: "Itxi akordioa", + noAmount: "zenbaterik gabe", + titleOwner: "Eskaintzak ({{count}})", + loadFailed: "Ezin izan dira eskaintzak kargatu. Egiaztatu konexioa eta saiatu berriro.", + titleBuyer: "Zure negoziazioak", + you: "Zu", + them: "Beraiek", + paidAskConfirm: "Ordainduta — eskatu saltzaileari trukea berresteko.", + payWithSats: "Ordaindu satsekin", + accept: "Onartu", + decline: "Ukatu", + counter: "Kontraeskaintza", + counterPlaceholder: "Zure kontraeskaintza (sats)", + send: "Bidali", + counterItemPlaceholder: "…edo egin kontraeskaintza trukatzeko elementu batekin (aukerakoa)", + waitingOn: "Zain:", + waitingOnSuffix: "— zure txanda itzuliko da kontraeskaintza egiten badute.", + withdraw: "Atzera bota", + dmAccepted: "✅ Zure eskaintza onartu da! Idatzi entrega adosteko.", + dmDeclined: "❌ Zure eskaintza ukatu da.", + offerAccepted: "Eskaintza onartuta", + offerDeclined: "Eskaintza ukatuta", + respondFailed: "Ezin izan da erantzun", + somethingWrong: "Zerbait gaizki joan da.", + offerWithdrawn: "Eskaintza atzera botata", + withdrawFailed: "Ezin izan da atzera bota", + enterAmountOrItem: "Sartu zenbateko bat edo trukatzeko elementu bat", + counterDm: "Kontraeskaintza", + counterSent: "Kontraeskaintza bidalita", + counterSentBody: "Orain haien txanda da.", + counterFailed: "Ezin izan da kontraeskaintza bidali" + }, + offer: { + validAmount: "Sartu zenbateko baliozkoa", + describeOffer: "Deskribatu zure eskaintza", + describeOfferBody: "Gehitu zenbateko bat, trukatzeko elementu bat edo mezu bat.", + dmAmount: " {{amount}} satsean", + dmItem: " (eskaintzen: {{item}})", + dmBody: "🛹 Eskaintza berria zure \"{{title}}\" iragarkian{{amount}}{{item}}.{{note}}", + sent: "Eskaintza bidalita", + sentBody: "{{sellerName}}(e)k onartu edo ukatu dezake.", + sendFailed: "Ezin izan da eskaintza bidali", + somethingWrong: "Zerbait gaizki joan da.", + title: "Egin eskaintza", + description: "Eskaini sats edo trukatu zerbait — {{sellerName}}(e)k onartu, ukatu edo kontraeskaini dezake. Zuek adosten duzue entrega.", + amountLabel: "Zenbatekoa (sats, aukerakoa)", + amountPlaceholder: "adib. 45000", + itemLabel: "Edo zerbait trukatu (aukerakoa)", + itemPlaceholder: "adib. nire 8.25 taula + ordezko gurpilak", + itemHint: "Trukatzen? Idatzi hemen zer eskaintzen duzun — satsekin konbina dezakezu.", + messageLabel: "Mezua (aukerakoa)", + messagePlaceholder: "Saltzaileak jakin behar duena…", + send: "Bidali eskaintza" + }, + markSold: { + enterBuyer: "Sartu eroslearen npub-a", + dealClosed: "Akordioa itxita 🎉", + dealClosedBody: "Iragarkia saldu gisa markatu da eta trukea osperako argitaratu da.", + closeFailed: "Ezin izan da akordioa itxi", + somethingWrong: "Zerbait gaizki joan da.", + title: "Itxi akordioa", + description: "Iragarki hau saldu gisa markatzen du eta zure eta eroslearen truke-atestazio sinatu bat erregistratzen du.", + buyerLabel: "Eroslearen npub-a", + methodLabel: "Nola ordaindu da? (norberak jakinarazia)", + amountLabel: "Zenbatekoa satsean (aukerakoa)", + submit: "Markatu saldu gisa" + }, + handoff: { + title: "Antolatu entrega", + suggest: "Iradoki ordu eta toki bat", + suggestDm: "Kaixo! \"{{title}}\" erosi nahi nuke. Iradoki noiz eta non elkartu — pozik skate-spot publiko batean.", + orMeetAt: "Edo elkartu hurbileko spot publiko batean:", + spotDm: "Kaixo! \"{{title}}\" erosi nahi nuke. {{spot}} tokian elkartu nahi duzu? {{url}}", + shareDelivery: "Partekatu entrega-datuak", + deliveryDm: "Kaixo! \"{{title}}\" erosi nahi nuke. Hona nire entrega-datuak:\n\nIzena:\nHelbidea:\n\n(Partekatu bidaltzaileak behar duena soilik.)", + useLocker: "Erabili armairu bat / pakete-puntu bat", + lockerDm: "Kaixo! \"{{title}}\" erosi nahi nuke. Etxeko helbidearen ordez pakete-armairu bat / pakete-denda bat erabil genezake?", + noteBefore: "Datu hauek txat pribatuan geratzen dira — SkateSpots-ek ez ditu inoiz ikusten. Bidalketako akordioetarako, nahiago", + escrow: "escrow", + noteMiddle: ", eta", + neverPay: "inoiz ez ordaindu aplikazioaren kanaletatik kanpo", + noteAfter: ". Elkartu toki publikoan." + }, + shipping: { + noCounterparty: "Ez dago beste alderdirik oraindik", + noCounterpartyBody: "Saltzaileak salmenta erregistratu behar du lehenago (eroslea aipatuz).", + markedShipped: "Bidalita markatuta", + markedReceived: "Jasota markatuta", + issueReported: "Arazoa jakinarazita", + receivedBody: "Eskerrik asko — honek ez du escrow askatzen; adostu zuzenean saltzailearekin.", + notifiedBody: "Beste alderdiari jakinarazi zaio.", + updateFailed: "Ezin izan da eguneratu", + somethingWrong: "Zerbait gaizki joan da.", + title: "Bidalketa", + shipped: "bidalita", + received: "jasota", + issue: "arazoa", + trackingPlaceholder: "Jarraipen-zenbakia (aukerakoa)", + iShipped: "Bidali dut", + iReceived: "Jaso dut", + reportIssue: "Jakinarazi arazoa", + noteBefore: "Norberak jakinarazia — logistika-ohar bat,", + notProof: "ez froga", + noteAfter: ". \"Jasota\" markatzeak ez du escrow askatzen. ⚠️ Ez atera argazkirik helbidea ikusgai duen pakete bati, eta partekatu jarraipen-zenbakia soilik argitaratuta egotearekin ados bazaude." + }, + pay: { + sent: "Ordainketa bidalita ⚡", + sentWithProof: "Ordainketa-ordainagiri egiaztagarria gorde da — ordainketa egiaztatu gisa zenbatuko da.", + sentBody: "Esaiozu saltzaileari — trukea berretsi dezake biok zenbatzeko.", + failed: "Ordainketak huts egin du", + title: "Ordaindu satsekin", + descSendPrefix: "Bidali", + descSendSuffix: "{{sellerName}}(r)i akordio hau likidatzeko.", + descSettle: "Likidatu akordio hau zuzenean {{sellerName}}(r)ekin.", + paid: "Ordainduta!", + paidBody: "Eskatu saltzaileari trukea berresteko — bi berrespenek bi ospeak eraikitzen dituzte.", + noMethod: "{{sellerName}}(e)k ez du ordainketa-metodorik ezarri (ez Lightning fakturarik, ez helbiderik). Idatzi ordainketa adosteko.", + nonSats: "Eskaintza hau {{currency}} monetan dago. Aplikazio barruko ordainketa satsetan soilik da. Likidatu zuzenean saltzailearekin.", + unsupported: "Ordainketa-kode hau (Cashu eskaera bat) ez da oraindik onartzen. Eskatu saltzaileari Lightning faktura edo helbide bat.", + ownListing: "Hau zure iragarkia da.", + paying: "Ordaintzen…", + pay: "Ordaindu", + payAmount: "Ordaindu {{amount}} sats", + footnote: "Zure konektatutako zorrotik ordaintzen du (NWC, WebLN edo Cashu) zuzenean {{sellerName}}(r)i — SkateSpots-ek ez ditu funtsak inoiz gordetzen." + }, + spamFee: { + invoiceComment: "SkateSpots iragarki-tarifa", + generateFailed: "Ezin izan da faktura sortu", + paymentSuccess: "Ordainketa ongi egin da!", + satsSent: "{{amount}} sats {{name}}(r)i bidalita", + autoPayFailed: "Ordainketa automatikoak huts egin du", + autoPayFailedBody: "Mesedez, ordaindu eskuz QR kodea edo faktura erabiliz", + invoiceCopied: "Faktura kopiatuta!", + copyFailed: "Ezin izan da kopiatu", + received: "Ordainketa jasota!", + receivedBody: "Zure {{amount}} sat-eko tarifa ordaindu da. Orain zure iragarkia sor dezakezu.", + title: "Behin-behineko iragarki-tarifa", + subtitle: "Kide berri gisa, tarifa txiki bat behar da zure lehen iragarkirako.", + whyTitle: "Zergatik ordaindu behar dut?", + spamLabel: "Spam-aren aurkakoa:", + spamBody: "Tarifa honek botak eta iruzurtiak azoka iragarki faltsuekin betetzea eragozten du.", + trustLabel: "Konfiantza eraikitzea:", + trustBody: "Kontu berriek konpromisoa frogatu behar dute iragarri aurretik. Iragarki batzuk ongi egin ondoren, tarifa kentzen da.", + supportsLabel: "Komunitateari laguntzen dio:", + supportsPrefix: "Tarifa hona doa:", + supportsSpotOwner: " — spot hau sortu zuen pertsona!", + supportsPlatform: " — SkateSpots martxan mantentzen laguntzen du.", + oneTimeFee: "~{{usd}} USD • Behin-behineko tarifa", + payToContinue: "Ordaindu {{amount}} sats jarraitzeko", + proveWork: "Frogatu lana horren ordez — doan", + proveWorkBody: "Erabili CPU segundo batzuk {{amount}} sats ordaindu beharrean. Dirurik ez, zorrorik ez — spam-zerga bat, ez ordainketa.", + generating: "Faktura sortzen...", + processing: "Ordainketa prozesatzen...", + qrAlt: "Ordainketaren QR kodea", + copyInvoice: "Kopiatu faktura", + openWallet: "Ireki zorroa", + payWithWallet: "Ordaindu konektatutako zorroarekin", + scanHint: "Eskaneatu QR kodea Lightning zorro batekin edo erabili goiko botoiak", + skipTitle: "Nola saihestu tarifa hau etorkizunean:", + skip1: "Gehitu skate-spot bat mapara", + skip2: "Osatu 2-3 iragarki ongi", + skip3: "Eraiki zure komunitate-ospea", + skipNote: "Kide fidagarriek iragarki mugagabeak doan!" + }, + reputation: { + highlyTrusted: "Merkatari oso fidagarria", + building: "Ospea eraikitzen", + newTrader: "Merkatari berria", + title: "Trukeak", + verified: "Egiaztatua", + sales: "Salmentak", + purchases: "Erosketak", + tradeConfirmedOne: "elkarri berretsitako trukea", + tradeConfirmedMany: "elkarri berretsitako trukeak", + with: "honekin", + personOne: "pertsona", + personMany: "pertsona", + awaiting: "Elkarren berrespenaren zain", + withPaymentProof: "ordainketa-froga erantsita", + selfReported: "(norberak jakinarazia — ez egiaztatua)", + paymentVerified: "ordainketa egiaztatua", + zapReceipt: "(zap ordainagiria)", + singlePartnerWarning: "Berrespen guztiak kontu berarekin dira. Elkarren berrespena norberak jakinarazia da, beraz kontuz interpretatu erregistro hau.", + lowDiversityWarning: "Berrespen gehienak oso kontu gutxi batzuetatik datoz. Talde txiki batek elkar babestuz lanpetuta itxura eman dezake — kontuz interpretatu erregistro hau.", + ringWarning: "Kontu hauek batez ere elkarren artean egiten dute truke — multzo itxia. Eraztun baten barruko elkarren berrespena froga ahula da.", + weighted: "Konfiantzaren eta aktibitatearen arabera haztatuta", + footnote: "Norberak jakinarazia eta elkar sinatua — seinale bat, ez ordainketaren froga." + }, + reputationPanel: { + reviewOfYou: "Zuri buruzko iritzia", + yourRecord: "zure erregistroa", + listing: "Iragarkia", + averageOne: "batez besteko {{count}} baloraziotik", + averageMany: "batez besteko {{count}} baloraziotatik", + reviewsTitle: "Iritziak eta truke-erregistroak", + fromOthers: "{{count}} besteen aldetik", + emptyBefore: "Truke-erregistrorik ez oraindik. Osatu akordio bat eta berretsi hemen:", + emptyAfter: "— berrespen bakoitza iritzi bat bihurtzen da bi profiletan." + }, + recommendations: { + published: "Gomendioa argitaratuta", + publishedBody: "Eskerrik asko babesteagatik.", + failed: "Ezin izan da gomendatu", + somethingWrong: "Zerbait gaizki joan da.", + title: "Merkatari fidagarria", + recommendedBy: "Gomendatua:", + skaterOne: "skater", + skaterMany: "skater", + none: "Gomendiorik ez oraindik.", + youRecommend: "Merkatari hau gomendatzen duzu ✓", + recommend: "Gomendatu merkatari fidagarri gisa" + }, + notification: { + newOffer: "Eskaintza berria", + counterOffer: "Kontraeskaintza", + offerAccepted: "Eskaintza onartuta", + offerDeclined: "Eskaintza ukatuta", + offerWithdrawn: "Eskaintza atzera botata", + confirmTrade: "Berretsi truke bat", + tradeConfirmed: "Trukea berretsi da", + reviewOffer: "Berrikusi eskaintza", + openListing: "Ireki iragarkia" + }, + confirmRow: { + rateTrade: "Baloratu trukea:" + }, + deckRating: { + title: "{{value}}/10 taula", + aria: "10etik {{n}}" + }, + clink: { + tip: "Eman propina Bitcoin-ekin", + copiedBody: "CLINK kodea arbelean kopiatu da.", + copyFailed: "Kopiatzeak huts egin du", + copyFailedBody: "Ezin izan da arbelean sartu.", + whatIs: "Zer da CLINK?", + tooltipTitle: "Ordaindu zuzenean Bitcoin-ekin Nostr bidez", + tooltipBody: "CLINK autokustodiazko ordainketa-kode bat da — konturik ez, bitartekaririk ez. Eskaneatu Lightning zorro bateragarri batekin eta propina zuzenean doa hartzailearengana.", + descRecipient: "Bidali autokustodiazko Bitcoin (Lightning) ordainketa bat {{recipientName}}(r)i — bitartekaririk gabe.", + descGeneric: "Bidali autokustodiazko Bitcoin (Lightning) ordainketa bat Nostr bidez — bitartekaririk gabe.", + qrAlt: "CLINK eskaintzaren QR kodea", + copyCode: "Kopiatu CLINK kodea", + openWallet: "Ireki CLINK zorroan", + copyToWallet: "Kopiatu kodea zure zorrorako", + priceFixed: "Finkoa — {{amount}} sats", + priceFixedShort: "Prezio finkoa", + priceVariable: "Prezio aldakorra", + priceVariableCurrency: "{{currency}} monetan", + priceSpontaneous: "Zuk aukeratzen duzu zenbatekoa", + footnote: "Eskaneatu CLINK-ekin bateragarria den zorro batekin (adib. ShockWallet). Ezer irekitzen ez bada, kopiatu goiko kodea — agian ez duzu CLINK-ekin bateragarria den zorrorik instalatuta. Ez kustodiarik, ez web zerbitzaririk: faktura zuzenean eskatzen da Nostr bidez." + }, + paymentReadiness: { + ready: "Ordaindu ahal izango dizute", + notReady: "Konfiguratu ordainketak ordaindu ahal izateko", + readyBefore: "Zure Lightning helbidea", + readyAfter: " zure profilean dago — jendeak zaptu eta zuzenean ordaindu ahal dizu.", + silentSet: " Bitcoin Silent Payment helbide bat ere badago ezarrita.", + notReadyBefore: "Gehitu Lightning helbide bat (eta aukeran Bitcoin Silent Payment helbide bat) zure", + nostrProfile: "Nostr profilera", + notReadyAfter: "skaterrek ordaindu ahal dizuten. Behin ezartzen da eta hemen dituzun profil guztietan funtzionatzen du." + }, + seller: { + trade: "Trukea", + active: "Aktiboa", + markSold: "Markatu saldu", + yourListings: "Zure iragarkiak", + activeCount: "{{count}} aktibo", + listItem: "Iragarri elementu bat", + loading: "Zure iragarkiak kargatzen…", + empty: "Ez duzu iragarkirik oraindik.", + listFirst: "Iragarri zure lehen elementua" + }, + noffer: { + label: "CLINK eskaintza-kodea", + optional: "(aukerakoa, aurreratua)", + offerId: "Eskaintza: {{id}}", + relay: "Relay: {{relay}}", + invalidBefore: "Hori ez dirudi baliozko", + invalidAfter: "kode bat.", + valid: "Baliozko CLINK kodea — \"Ordaindu CLINK bidez\" botoia agertuko da zure profilean.", + help: "Itsatsi autokustodiazko CLINK ordainketa-kode bat (adib. ShockWallet / Lightning.Pub-etik) Nostr-eko Lightning ordainketak onartzeko — web zerbitzaririk eta kustodiarik gabe.", + learnSpecs: "Ikasi zehaztapenak" + }, + escrowPanel: { + escrowed: "{{amount}} sats escrowan", + mint: "Mint", + refundSinceBefore: "Erosleak honetatik aurrera itzul dezake:", + redeemBefore: "Saltzaileak orain truka dezake · erosleak geroago itzultzen du", + noExpiry: "Token honek ez du iraungitze-datarik." + }, + escrowRequest: { + enterAmount: "Sartu escrow zenbateko bat", + minLock: "Blokeatu gutxienez {{days}} egunez", + requestNote: "{{amount}} sats escrowan utzi ditut gure trukerako — mesedez, berretsi salmenta.", + created: "Escrow sortuta 🎉", + createdBody: "{{amount}} sats {{days}} egunez blokeatuta. {{sellerName}}(e)k entregatzean truka dezake.", + createFailed: "Ezin izan da escrow sortu", + somethingWrong: "Zerbait gaizki joan da.", + title: "Jarri escrow truke honetan", + description: "Funtsak {{sellerName}}(r)i blokeatuta daude eta zuk itzul ditzakezu, akordioa epea igaro ondoren huts egiten badu. Lightning zorro konektatua behar du.", + amountLabel: "Zenbatekoa (sats)", + daysLabel: "Eroslearen itzulketa (egunak)", + daysHint: "Hainbat egun igaro ondoren, funtsak berreskura ditzakezu saltzaileak entregatu ez badu.", + lockedNotSent: "Funtsak escrowan blokeatuta daude eta gailu honetan gordeta, baina eskaera ez da bidali. Ireki berriro iragarkia berriro saiatzeko. Ez ordaindu berriro.", + mintLabel: "Mint (non dauden funtsak blokeatuta)", + sellerMintHint: "Saltzaileak mint hau nahiago du; hemen blokeatutako funtsak dira berarentzat trukatzeko errazenak.", + mintHint: "Escrow mint honetan dago. Saltzaileak hemen trukatzen du, beraz aukeratu biok fidatzen duzuen bat.", + noMints: "Ez dago mint erabilgarririk", + p2pkUnsupported: "Mint honek ez du P2PK (NUT-11) onarpenik iragartzen, beraz escrow ezin da hemen blokeatu. Aukeratu beste mint bat.", + nativeOnly: "Cashu escrow SkateSpots aplikazioan soilik dago erabilgarri (ez web bertsioan).", + lockAndRequest: "Blokeatu eta eskatu" + } + }, + placesUi: { + addToCalendar: { + add: "Gehitu egutegira", + appleOutlook: "Apple / Outlook (.ics)", + google: "Google Egutegia" + }, + attendees: { + goingCount: "doaz", + goingTab: "Doazenak ({{count}})", + interestedTab: "Interesdunak ({{count}})", + nobodyGoing: "Inork ez du oraindik berretsi.", + nobodyInterested: "Inork ez du interesik markatu oraindik.", + noRsvps: "RSVPrik ez oraindik — izan zaitez lehena joango zarela esaten.", + trusted: "Konfiantzazkoa", + trustedTitle: "Jarraitzen duzun norbait edo mapeatzaile fidagarri bat", + youTrust: "zure konfiantzakoa" + }, + bounty: { + addressCoords: "Helbidea eta koordenatuak", + basic: "Oinarrizkoa", + contactInfo: "Harremanetarako datuak", + description: "Deskribapena", + earningPotential: "Irabazi-potentziala", + excellent: "Bikaina!", + gettingStarted: "Hasteko", + good: "Ona", + onePhoto: "Gutxienez argazki 1", + openingHours: "Ordutegia", + shopName: "Dendaren izena", + threePhotos: "3+ argazki", + tip: "💡 Kalitate handiagoa = komunitatearen zap gehiago!" + }, + calendar: { + allDay: "Egun osoa", + eventDay: "Ekitaldi-eguna", + eventsOnDay: "{{count}} ekitaldi", + eventsThisMonth: "ekitaldi hilabete honetan", + going: "doaz", + months: { + january: "Urtarrila", + february: "Otsaila", + march: "Martxoa", + april: "Apirila", + may: "Maiatza", + june: "Ekaina", + july: "Uztaila", + august: "Abuztua", + september: "Iraila", + october: "Urria", + november: "Azaroa", + december: "Abendua" + }, + nextMonth: "Hurrengo hilabetea", + nothingOnDay: "Ez dago ezer egun honetan.", + prevMonth: "Aurreko hilabetea", + tapHighlighted: "Sakatu nabarmendutako egun bat zer dagoen ikusteko.", + today: "Gaur", + tourDay: "Bira-eguna", + toursOnDay: "{{count}} bira", + toursThisMonth: "bira hilabete honetan", + weekdays: { + sun: "Ig.", + mon: "Al.", + tue: "Ar.", + wed: "Az.", + thu: "Og.", + fri: "Or.", + sat: "Lr." + }, + weekdaysShort: { + sun: "I", + mon: "Al", + tue: "Ar", + wed: "Az", + thu: "O", + fri: "Or", + sat: "L" + } + }, + countdown: { + ended: "Amaituta", + happeningNow: "Orain egiten", + inDays: "{{count}} egun barru", + inHoursMins: "{{hours}} ordu {{mins}} min barru", + inMins: "{{count}} min barru", + startingNow: "Oraintxe hasten", + tomorrow: "Bihar" + }, + createEvent: { + add: "Gehitu", + addNewSpot: "Gehitu spot berri bat →", + changeSpot: "Aldatu spot-a", + created: "Ekitaldia sortuta!", + createdDesc: "Zure ekitaldia sarean argitaratu da.", + entryFee: "Sarrera-tarifa", + entryFeeHint: "(aukerakoa — adib. \"500 sats\" edo \"£10\")", + entryFeePlaceholder: "Utzi hutsik doako ekitaldietarako", + featuring: "Parte-hartzailea: {{name}}", + featuringDesc: "Ekintza hau zuzeneko musikatzat etiketatuko da eta bere kontzertu-zerrendan agertuko da.", + fundingGoal: "Diru-bilketa helburua", + fundingGoalHint: "(aukerakoa — zaps bidezko diru-bilketa satsetan)", + fundingGoalPlaceholder: "adib. 50000", + geoNotSupported: "Geokokapena ez da onartzen", + geoNotSupportedDesc: "Zure arakatzaileak ez du geokokapena onartzen.", + hideSpots: "Ezkutatu spotak", + hostingAs: "{{name}} gisa antolatuta", + hostingAsDesc: "Ekitaldi hau zure krew orrian agertuko da eta krew-ek antolatutako gisa etiketatuko da.", + imageUploaded: "Irudia kargatu da", + imageUploadedDesc: "Zure irudia ongi kargatu da.", + invalidDate: "Data baliogabea", + invalidDateDesc: "Sartu hasiera-data eta -ordu baliozkoa.", + invalidEnd: "Amaiera-ordu baliogabea", + invalidEndDesc: "Amaiera-orduak hasiera-ordua baino beranduago izan behar du.", + linkedTo: "Lotuta: {{title}}", + linkToSpot: "Lotu skate-spot bati", + linkToShop: "Lotu denda bati", + selectedShop: "{{name}}(r)i lotuta", + selectShopHint: "Aukerakoa — skate-denda batean edo skate-denda batek antolatuta.", + selectShop: "Aukeratu denda", + changeShop: "Aldatu denda", + hideShops: "Ezkutatu dendak", + searchShops: "Bilatu dendak…", + noShopsMatch: "Ez dago zure bilaketarekin bat datorren dendarik.", + noShopsAvailable: "Ez dago dendarik erabilgarri oraindik.", + linkToTour: "Lotu bira bati (aukerakoa)", + linkTourDesc: "Lotu ekitaldi hau bira bati serie handiago baten parte dela erakusteko. Bikaina bira nazionaletarako, nazioarteko abenturetako edo World Destruction Tour-eko erronka-egunetarako.", + loadingSpots: "Spotak kargatzen...", + loadingTours: "Birak kargatzen...", + locationError: "Kokapen-errorea", + locationFound: "Kokapena aurkituta", + locationFoundDesc: "Zure uneko kokapena ezarri da.", + logoUrl: "Logotipoaren URLa (aukerakoa)", + noSpotsAvailable: "Ez dago spotik erabilgarri", + noSpotsMatch: "Ez dago zure bilaketarekin bat datorren spotik", + noTourLinked: "Ez dago bira loturik", + optional: "(aukerakoa)", + pastDesc: "Aukeratu etorkizuneko data eta ordua, skaterrek RSVP egin eta etorri ahal izan daitezen.", + pastTitle: "Hasiera-ordu hori iraganean dago", + publishFailed: "Ezin izan da argitaratu", + publishFeatured: "Argitaratu nabarmendutako ekitaldia", + removeSponsor: "Kendu babeslea", + searchSpots: "Bilatu spotak izenez, kokapenez edo kategoriaren arabera...", + selectedSpot: "Hautatuta: {{name}}", + selectSpot: "Aukeratu spot-a", + selectSpotHint: "Aukeratu mapako spot bat ekitaldia non gertatzen den adierazteko", + selectTour: "Aukeratu bira", + somethingWrong: "Zerbait gaizki joan da", + sponsorName: "Babeslearen izena", + sponsors: "Babesleak", + sponsorsHint: "Denda edo marka batek babesten al du? Gehitu haien logotipoa — ekitaldian \"Aurkeztua:\" zerrenda gisa agertuko da.", + startRequired: "Hasiera-ordua beharrezkoa", + startRequiredDesc: "Sartu ekitaldia noiz hasten den.", + titleRequired: "Izenburua beharrezkoa", + titleRequiredDesc: "Sartu ekitaldi honen izena.", + uploadFailed: "Kargatzeak huts egin du", + uploadFailedDesc: "Ezin izan da irudia kargatu", + websiteUrl: "Webgunearen URLa (aukerakoa)" + }, + createShop: { + address: "Dendaren helbidea", + addressPlaceholder: "adib., 411 N Fairfax Ave, Los Angeles, CA 90036", + addressRequired: "Helbidea beharrezkoa", + addressRequiredDesc: "Sartu zure dendaren helbidea.", + contactHint: "Lagundu bezeroei zurekin harremanetan jartzen (gutxienez harreman-bide bat gomendatzen da)", + contactInfo: "Harremanetarako informazioa", + created: "🎉 Denda gehituta!", + createdDesc: "Zure skate-denda orain mapan dago. Skaterrek zaptu dezakete eskerrak emateko!", + descriptionPlaceholder: "Esaiezu jendeari zure dendaz, zer saltzen duzun, zure espezialitatea...", + detailsDesc: "Kontaiezu komunitateari zure dendaz. * markatutako eremu guztiak derrigorrezkoak dira.", + email: "Posta elektronikoa", + hoursOfOperation: "Ordutegia", + hoursPlaceholder: "adib., al.-lr. 10:00-20:00, ig. 12:00-18:00", + instagram: "Instagram", + invalidCoords: "Koordenatuak baliogabeak", + invalidCoordsDesc: "Sartu latitude (-90 eta 90) eta longitude (-180 eta 180) baliozkoak.", + latPlaceholder: "Latitudea (adib., 34.0737)", + lngPlaceholder: "Longitudea (adib., -118.3614)", + locationRequired: "Kokapena beharrezkoa", + locationRequiredDesc: "Sartu koordenatuak edo erabili zure uneko kokapena.", + loginToAdd: "Saioa hasi behar duzu skate-denda bat gehitzeko.", + namePlaceholder: "adib., Supreme Los Angeles", + nameRequired: "Dendaren izena beharrezkoa", + nameRequiredDesc: "Sartu zure dendaren izena.", + phoneNumber: "Telefono-zenbakia", + publishFailedDesc: "Zerbait gaizki joan da. Begiratu kontsola xehetasunetarako.", + shopPhotoAlt: "Denda", + shopPhotos: "Dendaren argazkiak", + subtitle: "Iragarri zure denda mapan eta konektatu komunitatearekin", + upload: "Kargatu" + }, + createTour: { + acceptedClipSources: "Onartutako klip-iturburuak", + acceptedClipSourcesDesc: "Zein formatu onartuko dituzu klipen bidalketetarako?", + accommodationInfo: "Ostatuko informazioa", + accommodationPlaceholder: "Ostatu-gomendioak edo antolamendua, adib. 'Ibilbideko hostel merkeak', 'Kanpina beharrezkoa', 'Airbnb-ak barne'", + addChallenge: "Gehitu erronka", + addCity: "Gehitu hiri bat...", + addCountry: "Gehitu herrialde bat...", + addShopFirst: "Gehitu denda bat lehenago", + alsoSelected: "Hau ere hautatuta:", + availabilityPlaceholder: "adib., Asteburuetan, Goizez soilik, Hitzorduz", + availabilityQuestion: "Noiz egoten zara normalean erabilgarri?", + availableShops: "Skate-denda erabilgarriak ({{count}})", + challengeDescPlaceholder: "Deskribapen aukerakoa...", + challenges: "Erronkak", + challengesRequired: "Erronkak beharrezkoak", + challengesRequiredDesc: "Gehitu gutxienez erronka bat taldeek osatzeko.", + challengesSecret: "Erronka guztiak SEKRETUAK dira lehiaketaren hasiera-datara arte. Taldeek ez dituzte ordu arte ikusiko!", + challengeTitlePlaceholder: "Erronkaren izenburua, adib. 'Kickflip 10 mailatatik'", + citiesLabel: "Hiriak", + citiesOnTour: "Birako hiriak", + cityPlaceholder: "adib., Berlin, Alemania", + cityRegion: "Hiria / eskualdea", + cityRequired: "Hiria/eskualdea beharrezkoa", + cityRequiredDesc: "Sartu zure hiria edo eskualdea.", + clipAnyUrl: "🔗 Edozein URL", + clipBlossom: "📦 Blossom karga", + clipInstagram: "📸 Instagram", + clipYouTube: "▶️ YouTube", + competitionDates: "Lehiaketaren datak", + competitionDatesWarning: "⚠️ Erronka guztiak SEKRETUAK dira hasiera-datara arte! Taldeek ez dituzte erronkak lehiaketa hasi arte ikusiko.", + competitionLocations: "Lehiaketaren kokapenak", + competitionLocationsDesc: "Non arituko dira taldeak lehian? Gehitu parte hartzen duten hiri eta herrialde guztiak.", + coordsHint: "Koordenatuak aukerakoak dira. Gehitu zure topagunea mapan finkatzeko.", + countriesLabel: "Herrialdeak", + countriesRequired: "Herrialdeak beharrezkoak", + countriesRequiredDesc: "Gehitu gutxienez herrialde bat zure nazioarteko birarako.", + createdDestruction: "💀 WORLD DESTRUCTION TOUR SORTUTA!", + createdDestructionDesc: "Taldeek izena eman dezakete. Erronkak hasiera-datan argitaratuko dira!", + createDestructionTour: "Sortu World Destruction Tour", + createdInternational: "✈️ Nazioarteko bira sortuta!", + createdInternationalDesc: "Zure abentura globala zerrendatuta dago! Konektatu mundu osoko skaterekin.", + createdLocal: "🏠 Tokiko bira sortuta!", + createdLocalDesc: "Zure bira orain ikusgai dago. Skaterrek DM bidez erreserba dezakete!", + createdNational: "🚐 Bira nazionala sortuta!", + createdNationalDesc: "Zure bidaia martxan da! Hasi interesatutako skaterekin koordinatzen.", + departure: "Irteera *", + departureRequired: "Irteera-data beharrezkoa", + departureRequiredDesc: "Ezarri bidaia noiz abiatzen den, skaterrek planifikatu eta erreserbatu ahal izan dezaten.", + descriptionPlaceholder: "Deskribatu skaterrek zer biziko duten: bisitatuko dituzuen spotak, giroa, zure bira berezia egiten duena...", + destructionDesc: "Antolatu zure KOTR estiloko lehiaketa globala - zuk DENA zehazten duzu!", + discountHint: "Birako parte-hartzaileek erreserba-berrespena erakutsi dezakete dendan deskontu hau jasotzeko", + discountPercentage: "Deskontu-ehunekoa", + dropTour: "Argitaratu bira bat", + duration: "Iraupena", + durationHintDestruction: "Zenbat irauten du lehiaketak? (1-12 hilabete)", + durationHintInternational: "Zenbat aste irauten du abenturak? (gehienez 2 hilabete)", + durationHintLocal: "Zenbat irauten du zure bira tipikoak?", + durationHintNational: "Zenbat egun irauten du bidaiak?", + durationWeeksMonths: "{{weeks}} aste (~{{months}} hilabete)", + editTour: "Editatu bira", + enable: "Gaitu", + enabled: "Gaituta", + endBeforeStart: "Amaiera hasiera baino lehen", + endBeforeStartDesc: "Lehiaketaren amaiera-data hasiera-datan edo beranduago izan behar da.", + endDate: "Amaiera-data", + entryFeeHint: "Zuk %95 gordetzen duzu • Plataformak %5 hartzen du • Utzi hutsik doako sarrerarako", + entryFeePerTeam: "Sarrera-tarifa taldeko (sats)", + entryFeePlaceholder: "adib., 100000", + entryPrizes: "Sarrera eta sariak", + filmPremieres: "Taldeen film-estreinaldiak", + filmPremieresDesc: "Lehiaketa ondoren, talde bakoitzaren klipak film oso bat bihurtzen dira, mundu osoko skate-dendetan estreinatu daitekeena.", + filmPremieresInfo: "🎥 Taldeek beren erronka-klipak film final batean muntatzen dituzte. Dendek estreinaldi-ekitaldiak antola ditzakete, lehiaketa globala tokiko komunitateekin lotuz.", + filmReleaseDate: "Filmaren argitalpen-data (aukerakoa)", + filmReleaseDateHint: "Filma noiz egongo den erabilgarri. Utzi hutsik lehiaketa amaitu ondoren berehala argitaratzeko.", + fixedSession: "Saio finkoa", + fixedSessionDesc: "Data eta ordu jakin bat", + flexible: "Malgua", + flexibleDesc: "Erreserbatu edonoiz DM bidez", + hide: "Ezkutatu", + howDestruction1: "• Talde-lehiaketa globala - 12 hilabete arte", + howDestruction2: "• ZUK zehazten dituzu erronkak, puntuak eta sariak - guk plataforma soilik eskaintzen dugu", + howDestruction3: "• Erronka guztiak SEKRETUAK dira lehiaketaren hasiera-datara arte", + howDestruction4: "• Klipak Blossom bidez kargatuta EDO kanpoko estekekin (YouTube, Instagram, edozein URL)", + howDestruction5: "• Maila aurreratua soilik - spot mota guztiak automatikoki sartzen dira", + howDestruction6: "• Plataformak sarrera-tarifen %5 soilik hartzen du (EZ sari-poltsa)", + howDestructionTitle: "💀 WORLD DESTRUCTION TOUR - KOTR estiloa", + howInternational1: "• Muga zeharkako abenturak hainbat herrialdetan", + howInternational2: "• Zuk jartzen duzu prezioa — plataformak %5 soilik hartzen du", + howInternational3: "• Ezarri irteera eta itzulera datak, krew-ak hegaldiak erreserbatu ahal izan ditzan", + howInternational4: "• Konektatu mundu osoko skaterak", + howInternational5: "• Sortu ahaztezinak diren esperientzia globalak!", + howInternationalTitle: "Nola funtzionatzen duten nazioarteko birak", + howItWorks: "Nola funtzionatzen duen:", + howLocal1: "• Zuk jartzen duzu prezioa — plataformak %10 hartzen du", + howLocal2: "• Ezkutuko spotak ezkutuan geratzen dira — zuk pertsonalki erakusten dituzu", + howLocal3: "• Antolatu saio bat ordutegiarekin edo mantendu malgua / hitzordu bidez", + howLocal4: "• Skaterrek DM bidez erreserbatzen dute, Lightning bidez ordaintzen dute eta egutegira gehi dezakete", + howLocal5: "• Eraiki zure ospea iritziekin eta zapekin", + howLocalTitle: "Nola funtzionatzen duten tokiko birak", + howNational1: "• Hainbat hiriko bidaia zure herrialde osoan", + howNational2: "• Zuk jartzen duzu prezioa — plataformak %7 soilik hartzen du", + howNational3: "• Ezarri bidaia-datak, skaterrek denbora libratu eta bidaiatu ahal izan dezaten", + howNational4: "• Gehitu garraio / ostatu informazioa krew-rako", + howNational5: "• Eraiki kondairazko skate-abenturak!", + howNationalTitle: "Nola funtzionatzen duten bira nazionaleek", + imageUploadedDesc: "Zure biraren irudia kargatu da.", + incompleteCoords: "Koordinatu osatugabeak", + incompleteCoordsDesc: "Sartu latitudea eta longitudea biak, edo utzi biak hutsik.", + internationalDetails: "Nazioarteko abenturaren xehetasunak", + languagesSelected: "{{count}} hautatuta", + languagesSpoken: "Hitz egindako hizkuntzak", + latOptional: "Latitudea (aukerakoa)", + lngOptional: "Longitudea (aukerakoa)", + loadingProfile: "Profila kargatzen...", + loadingProfileDesc: "Zure NIP-05 egiaztapen-egoera egiaztatzen.", + loadingShops: "Dendak kargatzen...", + localShopPremieres: "Tokiko denden estreinaldiak", + localShopPremieresDesc: "Mundu osoko skate-dendek film-gauak antola ditzakete", + loginToCreate: "Saioa hasi behar duzu bira bat sortzeko.", + maxGroupSize: "Talde-tamaina maximoa", + maxTeams: "Talde-kopuru maximoa", + maxTeamSize: "Taldearen gehieneko tamaina", + meetingLocationSet: "Zure uneko kokapena topagune gisa ezarri da.", + meetingPointDesc: "Non elkartuko zara birako parte-hartzaileekin? Aukeratu spot publiko eta ezagun bat.", + meetingPointLabel: "Topagunea", + meetingPointPlaceholder: "adib., Warschauer Straße geltokia", + meetingPointRequired: "Topagunea beharrezkoa", + meetingPointRequiredDesc: "Sartu non elkartuko zaren birako parte-hartzaileekin.", + minTeamSize: "Gutxieneko talde-tamaina", + noChallenges: "Erronkarik ez oraindik", + noChallengesDesc: "Gehitu erronkak taldeek osatzeko", + noPartnerShop: "Bazkide-dendarik ez", + noShopsFound: "Ez da skate-dendarik aurkitu sarean oraindik.", + noShopsRegistered: "Ez dago skate-dendarik erregistratuta oraindik", + onlineRelease: "Lineako argitalpena", + onlineReleaseDesc: "Argitaratu filmak YouTuben/Nostr-en ere", + organizerContact: "Antolatzailearen harreman-datuak", + organizerContactHint: "Erregistratutako taldeek ikusiko dute hau", + organizerContactPlaceholder: "Nola jar daitezke taldeak zurekin harremanetan? adib. Nostr npub, posta elektronikoa, Telegram, etab.", + partnerDiscountDesc: "Eskaini birako parte-hartzaileei deskontu bat tokiko skate-denda batean", + partnerStep1: "1. Egin bazkide konfiantzazko tokiko skate-denda batekin", + partnerStep2: "2. Ezarri deskontu-ehunekoa birako parte-hartzaileentzat", + partnerStep3: "3. Bira ondoren, eman parte-hartzaileei berrespen bat dendan erakusteko", + partnerStep4: "4. Dendak deskontua onartzen du - komunitatea eraikitzen du eta bisitariak erakartzen ditu!", + percentOff: "{{percent}}% DESKONTU", + photoHint: "Gehitu zure buruaren argazkia skatea egiten edo zure birako spot polit bat.", + pickRide: "Aukeratu nola bidaiatu", + place1: "🥇 1.a", + place2: "🥈 2.a", + place3: "🥉 3.a", + platformFee: "Zuk zehazten duzu prezioa • Plataformak {{percent}} hartzen du", + points: "Puntuak:", + pricePerPerson: "Prezioa pertsonako (sats)", + pricePlaceholder: "adib., 25000", + prizeDistribution: "Sarien banaketa", + prizePoolHint: "Aukerakoa - erabilgarri dauden sari guztiak", + prizePoolPlaceholder: "adib., 2000000", + proTipDesc: "Bazkide-deskontu bat argitaratu aurretik, jarri harremanetan dendaren jabearekin DM bidez deskontu-ehunekoa adosteko. Horrela ziurtatuko duzu ados dagoela eta zure birako parte-hartzaileentzat deskontua onartuko duela.", + proTipTitle: "💡 Pro-tipa: koordinatu aldez aurretik dendarekin!", + return: "Itzulera", + returnBeforeDeparture: "Itzulera irteera baino lehen", + returnBeforeDepartureDesc: "Itzulera-data irteera-datan edo beranduago izan behar da.", + roadTripDetails: "Bidaiaren xehetasunak", + schedule: "Ordutegia", + scheduleDesc: "Antolatu hau behin-behineko saio gisa edo mantendu malgua eta utzi skaterrei DM bidez ordu bat erreserbatzen.", + secretUntilStart: "Sekretua hasiera arte", + selectPartnerShop: "Aukeratu bazkide-denda", + sessionDateRequired: "Saioaren data beharrezkoa", + sessionDateRequiredDesc: "Aukeratu zure saio programatuaren data eta ordua, edo aldatu ordutegi malgura.", + sessionDateTime: "Saioaren data eta ordua", + sessionDateTimeHint: "Skaterrek ordu hau ikusiko dute eta egutegira gehi dezakete biraren orritik.", + shopPremieresContact: "Jarri harremanetan denda hauekin zuzenean film-estreinaldiko gauak antolatzeko. Antolamendu guztiak pribatuak dira.", + shopPremieresHow: "💡 Nola funtzionatzen duten dendako estreinaldiek: jarri harremanetan dendekin zuzenean estreinaldi-gauak antolatzeko. Antolamendu guztiak zure eta denden arteko pribatuak dira.", + shopsCanRegister: "Dendek /create-shop helbidean eman dezakete izena", + show: "Erakutsi", + showAllLanguages: "Erakutsi {{count}} hizkuntza guztiak", + somethingWrong: "Zerbait gaizki joan da.", + spotTypes: "Spot motak", + spotTypesRequired: "Spot motak beharrezkoak", + spotTypesRequiredDesc: "Aukeratu gutxienez erakutsiko duzun spot mota bat.", + startDate: "Hasiera-data", + startDateRequired: "Hasiera-data beharrezkoa", + startDateRequiredDesc: "Ezarri lehiaketa noiz hasten den (erronkak data honetan argitaratuko dira).", + startingCity: "Hasierako hiria", + startingCityPlaceholder: "adib., Los Angeles, AEB", + teamSettings: "Taldeen ezarpenak", + teamsCount: "{{count}} talde", + titlePlaceholder: "adib., Berlin Kreuzberg - Ezkutuko spoten bira", + titleRequired: "Biraren izenburua beharrezkoa", + titleRequiredDesc: "Sartu zure biraren izena.", + totalPercent: "Guztira: %{{percent}}", + totalPrizePool: "Sari-poltsa osoa (sats)", + tourDesc: "Esan skaterei zer espero dezaten zure biran", + tourDetails: "Biraren xehetasunak", + tourPhoto: "Biraren argazkia", + tourTitle: "Biraren izenburua", + transportDestructionPlaceholder: "Nola bidaiatuko dute taldeek kokapenen artean? Garraiorik eskaintzen edo gomendatzen da?", + transportInfo: "Garraio-informazioa", + transportPlaceholder: "Nola bidaiatuko dute parte-hartzaileek? adib. 'Furgoneta eskainia', 'Barcelona-ra hegaldia, furgoneta alokatzen dugu', 'Trena hirien artean'", + tripDatesDesc: "Finkatu datak skaterrek denbora libratu, hegaldiak erreserbatu eta bidaia planifikatu ahal izan dezaten.", + tripDatesTitle: "Bidaiaren datak", + updated: "Bira eguneratuta!", + updatedDesc: "Zure aldaketak argitaratu dira.", + upload: "Kargatu", + view: "Ikusi →", + worldDestruction: "World Destruction Tour", + youReceive: "Zuk jasotzen duzu: {{amount}} sats pertsonako" + }, + editEvent: { + accessDenied: "Sarbidea ukatuta", + accessDeniedDesc: "Zuk sortutako ekitaldiak soilik edita ditzakezu.", + backToEvent: "Itzuli ekitaldira", + detailsDesc: "Eguneratu ekitaldi honen informazioa. * markatutako eremu guztiak derrigorrezkoak dira.", + eventCover: "Ekitaldiaren azala", + locationUpdated: "Kokapena eguneratu da.", + loginToEdit: "Saioa hasi behar duzu ekitaldi hau editatzeko.", + newSpot: "Spot berria: {{location}}.", + newTime: "Ordu berria: {{date}}, {{time}}.", + saveChanges: "Gorde aldaketak", + saving: "Gordetzen...", + title: "Editatu ekitaldia", + updated: "Ekitaldia eguneratuta!", + updatedDesc: "Zure aldaketak sarean argitaratu dira.", + updateDetails: "Eguneratu {{title}} ekitaldiaren xehetasunak", + updatedNotified: "Aldaketak argitaratuta — {{count}} partaide jakinarazita.", + updateFailed: "Ezin izan da eguneratu", + updateMessage: "{{parts}} — ikusi ekitaldia xehetasunetarako." + }, + editShop: { + accessDeniedDesc: "Zuk sortutako dendak soilik edita ditzakezu.", + backToShop: "Itzuli dendara", + detailsDesc: "Eguneratu zure dendaren informazioa. * markatutako eremu guztiak derrigorrezkoak dira.", + loginToEdit: "Saioa hasi behar duzu denda hau editatzeko.", + updated: "Denda eguneratuta!", + updateDetails: "Eguneratu {{name}} dendaren xehetasunak" + }, + editTour: { + accessDeniedDesc: "Zuk sortutako birak soilik edita ditzakezu.", + loginToEdit: "Saioa hasi behar duzu bira hau editatzeko." + }, + eventCard: { + report: "Salatu" + }, + eventDetail: { + aCrew: "krew bat", + addToCalendar: "Gehitu egutegira", + backToEvents: "Itzuli ekitaldietara", + cancelled: "Ekitaldi hau bertan behera utzi da", + checkUpdate: "— begiratu eguneratzea", + copyFailed: "Kopiatzeak huts egin du", + date: "Data", + editEvent: "Editatu ekitaldia", + eventFallback: "Ekitaldia", + eventOrganizer: "Ekitaldiaren antolatzailea", + getDirections: "Lortu ibilbidea", + linkCopied: "Esteka kopiatuta", + linkCopiedDesc: "Ekitaldiaren esteka arbelean kopiatu da — itsatsi nahi duzun lekuan.", + live: "Zuzenean:", + liveMusic: "zuzeneko musika", + location: "Kokapena", + newLocation: "Kokapen berria", + noRsvps: "Ez da RSVPrik erregistratu.", + organizer: "Antolatzailea", + rsvpsClosed: "RSVPak itxita daude — anfitrioiak ekitaldia bertan behera utzi du.", + seeMap: "Ikusi mapa", + shareEvent: "Partekatu ekitaldia", + shareText: "{{title}} — skate-ekitaldia SkateSpots-en", + shareTextFallback: "Begiratu skate-ekitaldi hau SkateSpots-en", + time: "Ordua", + timeChanged: "Ordua aldatuta", + updatesFromHost: "Anfitrioiaren eguneratzeak", + where: "Non", + whoCame: "Nor etorri zen", + whosGoing: "Nor doa" + }, + events: { + calendar: "Egutegia", + createTour: "Sortu bira", + events: "Ekitaldiak", + faqFooter: "Galderarik? Ikusi FAQ →", + hosting: "Antolatzen", + hostingSubtitle: "Zure ekitaldiak — RSVPak, eguneratzeak eta edizio azkarrak", + list: "Zerrenda", + noEventsMatchFilters: "Ez dago zure iragazkiekin bat datorren ekitaldirik. Saiatu doitzen edo garbitzen.", + noPast: "Ez dago iraganeko ekitaldirik", + noPastBody: "Ez da iraganeko skate-ekitaldirik aurkitu zure uneko iragazkiekin.", + noTours: "Ez da birarik aurkitu", + noToursBody: "Skate-birarik ez oraindik. Sortu lehenengoa eta eraman skaterrak spotak ezagutzera!", + noToursMatchFilters: "Ez dago zure iragazkiekin bat datorren birarik. Saiatu doitzen edo garbitzen.", + noUpcoming: "Ez dago etorkizuneko ekitaldirik", + noUpcomingBody: "Ez da etorkizuneko skate-ekitaldirik aurkitu. Izan zaitez lehena bat sortzen!", + past: "Iraganekoak", + resultsCount: "{{count}} emaitza", + searchCity: "Hiria…", + searchEvent: "Ekitaldiaren izena…", + searchTour: "Biraren izena…", + tours: "Birak", + toursSubtitle: "Tokiko gidak, errepide-bidaiak eta world destruction lehiaketak", + upcoming: "Datozenak" + }, + eventTypes: { + contest: "Lehiaketa", + demo: "Demo", + jam: "Jam", + meetup: "Topaketa", + premiere: "Estreinaldia", + session: "Saioa", + workshop: "Tailerra" + }, + featured: { + active: "Aktiboa", + bodyEvent: "Doan argitaratzeko. Nabarmendutako ekitaldiek bereizgarri bat jasotzen dute eta ekitaldi-orriaren goialdean agertzen dira.", + bodyTour: "Doan argitaratzeko. Nabarmendutako birek bereizgarri bat jasotzen dute eta bira-zerrendaren goialdean agertzen dira.", + contextEvent: "Zure ekitaldia doan agertzen da edonola — nabarmenduak bereizgarria eta bultzada soilik gehitzen dizkio.", + contextTour: "Zure bira doan agertzen da edonola — nabarmenduak bereizgarria eta bultzada soilik gehitzen dizkio.", + daysRemaining: "Nabarmenduta aktibo · {{count}} egun geratzen dira.", + headingEvent: "Nabarmendu ekitaldi hau", + headingTour: "Nabarmendu bira hau", + optional: "aukerakoa", + platformOwner: "Plataformaren jabea — nabarmendua beti dago aktibo." + }, + filters: { + activeCount: "{{count}} aktibo", + all: "Denak", + allLevels: "Maila guztiak", + eventType: "Ekitaldi mota", + following: "Jarraitutakoak", + newest: "Berrienak", + popular: "Herrikoiak", + showResults: "Erakutsi emaitzak", + showResultsActive: "Erakutsi emaitzak · {{count}} aktibo", + skillLevel: "Trebetasun-maila", + sortBy: "Ordenatu", + topRated: "Baloratuenak", + tourCategory: "Bira-kategoria", + trusted: "Konfiantzazkoa", + trustLevel: "Konfiantza-maila", + verified: "Egiaztatua" + }, + food: { + bar: "Taberna", + cafe: "Kafetegia", + call: "Deitu", + chooseSpot: "Aukeratu spot bat...", + directions: "Ibilbidea", + fastFood: "Janari azkarra", + foodCourt: "Jatetxe-gunea", + locationLabel: "Kokapena:", + noneFound: "Ez da jateko spotik aurkitu", + noneFoundDesc: "Ez dugu jatetxe edo kafetegirik aurkitu spot honetatik 1 km-ra. Saiatu beste kokapen bat aukeratzen.", + placesFound: "{{count}} toki aurkitu {{spot}}(e)tik 1 km-ra", + pub: "Pub", + restaurant: "Jatetxea", + selectSpot: "Aukeratu skate-spot bat", + selectSpotDesc: "Aukeratu skate-spot bat goiko goitibeherakoan, inguruko jatetxeak, kafetegiak eta beste jateko aukera batzuk aurkitzeko.", + selectSpotTitle: "Aukeratu skate-spot bat", + subtitle: "Aurkitu jateko tokiak zure skate-spot gogokoenen inguruan", + title: "Janaria spoten inguruan", + unknown: "Ezezaguna", + website: "Webgunea" + }, + rsvp: { + areYouGoing: "Etortzekoa zara?", + cant: "Ezin dut", + cantMakeIt: "Ezin dut etorri", + going: "Banoa", + goingCount: "doaz", + goingShort: "Noa", + hostNote: "Zu zara anfitrioia — baina zure egoera ezar dezakezu.", + interested: "Interesa dut", + interestedCount: "interesdun", + loginToRsvp: "Hasi saioa RSVP egiteko.", + maybe: "Agian", + toastError: "Ezin izan da RSVP egin", + toastGoing: "Etortzekoa zara! 🛹", + toastInterested: "Interesdun gisa markatuta.", + toastNotGoing: "Ez zarela etorriko markatu da.", + tryAgain: "Saiatu berriro." + }, + shop: { + addNip05Settings: "Gehitu NIP-05 ezarpenetan", + adminRemovedReason: "SkateSpots administratzaileak \"{{name}}\" denda kendu du", + areYouOwner: "Zu zara dendaren jabea?", + backToMap: "Itzuli mapara", + claimDesc: "Denda hau zurea bada edo kudeatzen baduzu, aldarrikatu dezakezu jabetza NIP-05 bidez egiaztatzeko.", + claimNip05Intro: "Denda hau aldarrikatzeko, gehitu dendaren webgunearen domeinuarekin bat datorren NIP-05 identifikatzaile bat. Adibidez, dendaren webgunea hau bada:", + claimNip05Your: "zure NIP-05ak hau izan behar du:", + contactShop: "Jarri harremanetan dendarekin", + deleted: "Denda ezabatuta", + deletedDesc: "Ezabaketa-eskaera relay-etara bidali da. Relay gehienek eduki hau kenduko dute.", + deleteDialogDesc: "Honek \"{{name}}\" behin betiko ezabatuko du relay guztietatik. Ekintza hau ezin da desegin.", + deleteDialogTitle: "Denda ezabatu?", + deletedReason: "Ezabatutako denda", + deleteFailed: "Ezabatzeak huts egin du", + deleteShop: "Ezabatu denda", + linkCopied: "Esteka kopiatuta!", + linkCopiedDesc: "Dendaren esteka arbelean kopiatu da.", + nip05Required: "⚠️ NIP-05 egiaztapena behar da dendak aldarrikatzeko", + opens: "Irekitzen du: {{domain}}", + removeAdmin: "Kendu (admin)", + removed: "Denda kenduta", + removedDesc: "Denda hau kendua izan da eta SkateSpots osoan ezkutatuko da.", + removeDialogDesc: "SkateSpots administratzaile gisa \"{{name}}\" kentzen ari zara. Aplikazio osoan ezkutatuko da guztientzat eta ezabaketa-eskaera bat bidaliko da relay-etara.", + removeDialogTitle: "Denda hau kendu? (admin)", + removeShop: "Kendu denda", + tipMapper: "Eman propina mapeatzaileari", + tipMapperDesc: "Denda hau komunitateko kide batek gehitu zuen. Eman iezaiozu zap eskerrak emateko!", + updateNip05: "Eguneratu NIP-05 aldarrikatzeko", + viewPhotoFull: "Ikusi argazkia pantaila osoan", + viewPhotoOf: "Ikusi {{index}}. argazkia {{total}}(e)tik" + }, + sponsors: { + presentedBy: "Aurkeztua:" + }, + tourCard: { + active: "Aktiboa", + completed: "Osatuta", + contactForPrice: "Jarri harremanetan prezioagatik", + durationDays: "{{count}} egun", + durationHours: "{{count}} ordu", + durationMonths: "{{count}} hilabete", + durationWeeks: "{{count}} aste", + entry: "Sarrera: {{amount}} sats", + happeningNow: "Orain egiten", + inDays: "{{count}} egun barru", + inHours: "{{count}} ordu barru", + inMonths: "{{count}} hilabete barru", + inWeeks: "{{count}} aste barru", + maxGroup: "Gehienez {{count}}", + price: "{{amount}} sats", + prizePool: "{{amount}} sats", + registrationOpen: "Izen-ematea irekita", + startingSoon: "Laster hasten", + teamsMax: "Gehienez {{count}} talde", + tomorrow: "Bihar", + worldwide: "Mundu osoan" + }, + tourDetail: { + about: "Bira honi buruz", + availability: "Erabilgarritasuna", + competitionWindow: "Lehiaketa-epea", + contactToBook: "Jarri harremanetan gidarekin erreserbatzeko", + discountAt: "{{percent}}% deskontu {{shop}}(e)n", + duration: "Iraupena", + languages: "Hizkuntzak", + loginToBook: "Hasi saioa erreserbatzeko", + loginToBookDesc: "Hasi saioa gidarekin harremanetan jartzeko eta bira hau erreserbatzeko", + maxGroup: "Talde maximoa", + meetingPoint: "Topagunea", + notFound: "Ez da bira aurkitu", + notFoundDesc: "Bira hau kendua izan daiteke edo ez da existitzen.", + organizer: "Antolatzailea", + partnerDiscount: "Bazkide-dendako deskontua", + partnerDiscountDesc: "Erreserbatu bira hau bazkide den skate-dendan deskontu bat jasotzeko. Erakutsi zure erreserba-berrespena dendako langileei.", + people: "{{count}} pertsona", + perPerson: "pertsonako", + price: "Prezioa", + runsAbout: "{{duration}} inguru irauten du", + scheduledSession: "Saio programatua", + shareText: "Begiratu tokiko skate-bira hau: {{title}}", + skillLevel: "Trebetasun-maila", + spotTypes: "Spot motak", + tourGuide: "Bira-gida", + tourSponsors: "Biraren babesleak", + tripDates: "Bidaiaren datak", + viewProfile: "Ikusi profila" + }, + updates: { + admin: "Admin", + adminNote: "SkateSpots administratzaile gisa argitaratzen ari zara. Admin ohar gisa etiketatuko da argi eta garbi, ez anfitrioiarena.", + kindCancelled: "Bertan behera", + kindNewSpot: "Spot berria", + kindNewTime: "Ordu berria", + kindUpdate: "Eguneratzea", + loading: "Eguneratzeak kargatzen…", + notifiedCount: "{{count}} pertsona jakinarazita.", + notifiedEveryone: "Denek ikusiko dute ekitaldian.", + notifiesRsvps: "{{count}} RSVP jakinarazten ditu", + noUpdates: "Ez dago anfitrioiaren eguneratzerik oraindik. Egin RSVP eta zerbait aldatzen bada jakinaraziko zaizu.", + placeholder: "Euria — igandez 14:00etara aldatuta. Elkartu atzeko ertzean…", + post: "Argitaratu", + postAdminUpdate: "Argitaratu admin eguneratze bat", + posted: "Eguneratzea argitaratu da", + postError: "Ezin izan da eguneratzea argitaratu", + postUpdate: "Argitaratu eguneratze bat", + tryAgain: "Saiatu berriro.", + visibleToEveryone: "Ekitaldi honetako guztientzat ikusgai" + }, + destination: { + bitcoin: "Bitcoin", + closeSearch: "Itxi bilaketa", + nothingMatches: "Ez dago “{{query}}” bilaketarekin bat datorren ezer.", + placeholder: "Bilatu spotak, dendak, Bitcoin merkatariak…", + shop: "Denda", + spot: "Spot", + typeChars: "Idatzi gutxienez 2 karaktere. Skate-spotak, skate-dendak eta Bitcoin merkatariak bilatzen ditu.", + typeCharsNear: "Idatzi gutxienez 2 karaktere. Hemen inguruko skate-spotak, skate-dendak eta Bitcoin merkatariak bilatzen ditu." + }, + dateWindow: { + any: "Edozein", + anytime: "Edozein unetan", + month: "Hilabete hau", + monthShort: "Hilabetea", + today: "Gaur", + todayShort: "Gaur", + week: "Aste hau", + weekend: "Asteburua", + weekendShort: "Asteb.", + weekShort: "Astea" + } + }, + marketplace: { + title: "Azoka", + subtitle: "Erosi, saldu eta trukatu skate-ekipoa", + addListing: "Gehitu iragarkia", + condition: "Egoera", + conditions: { + new: "Berria", + likeNew: "Ia berria", + good: "Ona", + fair: "Onargarria", + poor: "Txarra" + }, + categories: { + all: "Denak", + decks: "Taulak", + trucks: "Ardatzak", + wheels: "Gurpilak", + bearings: "Errodamenduak", + shoes: "Zapatak", + clothing: "Arropa", + protection: "Babesa", + other: "Beste batzuk" + }, + priceRange: "Prezio-tartea", + location: "Kokapena", + seller: "Saltzailea", + contact: "Jarri harremanetan saltzailearekin", + makeOffer: "Egin eskaintza", + sold: "Saldua", + available: "Erabilgarri", + gear: "Ekipoa", + sellGear: "Saldu ekipoa", + wantToBuy: "Erosi nahia" + } +}; + +export default batch4; diff --git a/src/i18n/eu/batch5.ts b/src/i18n/eu/batch5.ts new file mode 100644 index 0000000..bc1b822 --- /dev/null +++ b/src/i18n/eu/batch5.ts @@ -0,0 +1,1463 @@ +const batch5 = { + "labUi": { + "activeCount": "{{count}} aktibo", + "addMusicProfile": "Gehitu musika-profila", + "all": "Guztiak", + "clearAll": "Garbitu guztia", + "collective": "Kolektiboa", + "filters": "Iragazkiak", + "following": "Jarraitzen", + "getRiderCard": "Lortu rider txartela", + "judgeEvents": "Epaitu gertaerak", + "justASkater": "Skater hutsa", + "labForServices": "The Lab zerbitzuetarako da. Arakatu eta bat egin skater komunitate osoarekin", + "loginToOffer": "Hasi saioa zerbitzuak eskaintzeko", + "newest": "Berrienak", + "noResults": "Emaitzarik ez", + "offer": "Eskaini", + "offerBuilding": "Eskaini eraikuntza", + "offerCoaching": "Eskaini entrenamendua", + "offerClothing": "Eskaini arropa", + "offerCuts": "Eskaini ile-mozketak", + "offerDesignArt": "Eskaini diseinua / artea", + "offerEditing": "Eskaini edizioa", + "offerFilming": "Eskaini filmaketa", + "offerGraffiti": "Eskaini grafitia", + "offerPhotography": "Eskaini argazkilaritza", + "offerServices": "Eskaini zerbitzuak", + "yourProfiles": "Zure Lab profilak", + "preview": { + "button": "Aurrebista", + "title": "Zuzeneko aurrebista", + "desc": "Horrela ikusiko da zure {{noun}} profila argitaratzean.", + "untitled": "Zure izena", + "noBio": "Oraindik bioarik ez — gehitu lerro bat zer eskaintzen duzun.", + "years": "{{count}} urteko esperientzia", + "portfolio": "Portfolioa", + "note": "Aurrebista besterik ez — oraindik ez da ezer argitaratu." + }, + "draft": { + "title": "Gorde gabeko zirriborroa duzu", + "body": "Jarraitu utzi zenuen tokian — ez da ezer argitaratuko Argitaratu sakatzen duzun arte. GNU Affero General Public License v3.0 lizentziapean: eratorriek eta ostatatutako bertsioek baldintza berberekin ireki behar dute, sareko erabilera banaketatzat jotzen baita.", + "resume": "Jarraitu zirriborroa", + "discard": "Baztertu zirriborroa" + }, + "progress": { + "title": "Profilaren osotasuna", + "count": "{{done}}/{{total}} eginda", + "photo": "Argazkia", + "bio": "Bioa", + "skills": "Trebetasunak", + "rate": "Tarifa", + "location": "Kokapena", + "contact": "Kontaktua" + }, + "wizard": { + "identity": "Identitatea", + "offer": "Zer eskaintzen duzun", + "rates": "Tarifak", + "contact": "Kontaktua", + "media": "Multimedia" + }, + "offerTattoo": "Eskaini tatuajeak", + "offerTraining": "Eskaini entrenamendua / fisioterapia", + "organizeEvents": "Antolatu gertaerak", + "resultsMany": "{{count}} emaitza", + "resultsOne": "{{count}} emaitza", + "searchCityPlaceholder": "Hiria…", + "searchNamePlaceholder": "Izena, bioa…", + "showResults": "Erakutsi emaitzak", + "showResultsActive": "Erakutsi emaitzak · {{count}} aktibo", + "skaterWord": "skater", + "sortBy": "Ordenatu", + "theCrew": "Kuadrilla", + "topRated": "Baloratuenak", + "trusted": "Fidagarriak", + "trustLevel": "Konfiantza-maila", + "yearsExp": "{{count}} urteko esp.", + "tabCoaches": "Entrenatzaileak", + "tabFilmers": "Filmegileak", + "tabPhoto": "Argazkia", + "tabEditors": "Editoreak", + "tabBuilders": "Eraikitzaileak", + "tabArtists": "Artistak", + "tabGraffiti": "Grafitia", + "tabTattoo": "Tatuajea", + "tabTrainers": "Prestatzaileak", + "tabMusic": "Musika", + "tabJudges": "Epaileak", + "tabOrganizers": "Antolatzaileak", + "tabBarbers": "Bizarginak", + "tabClothing": "Arropa", + "filterSkillsToLearn": "Ikasteko trebetasunak", + "filterContentType": "Eduki-mota", + "filterEquipmentStyle": "Ekipamendua eta estiloa", + "filterServices": "Zerbitzuak", + "filterCamera": "Kamera", + "filterLenses": "Objektiboak", + "filterLighting": "Argiztapena", + "filterSupportRig": "Euskarria eta muntaia", + "filterStyle": "Estiloa", + "filterWhatTheyBuild": "Zer eraikitzen duten", + "filterMaterialsTrade": "Materialak eta lanbidea", + "filterProjectScale": "Proiektuaren eskala", + "filterWhatTheyMake": "Zer egiten duten", + "filterMedium": "Euskarria", + "filterSoftwareTools": "Softwarea eta tresnak", + "filterWorkContext": "Lan-testuingurua", + "filterMethod": "Metodoa", + "filterFocus": "Ardatza", + "filterInjuriesTreated": "Lantzen dituzten lesioak", + "filterCredentialsSetting": "Tituluak eta zerbitzu-lekua", + "filterGenre": "Generoa", + "filterInstrumentsRole": "Instrumentuak eta rola", + "filterEventFormats": "Gertaera-formatuak", + "filterSpecialty": "Espezialitatea", + "filterLevelCircuit": "Maila / zirkuitua", + "filterEventTypes": "Gertaera-motak", + "filterWhatYouHandle": "Zer kudeatzen duzun", + "filterScale": "Eskala", + "filterWhatTheyOffer": "Zer eskaintzen duten", + "filterSignatureStyles": "Berezko estiloak", + "filterSetting": "Zerbitzu-lekua", + "filterEditType": "Edizio-mota", + "role": { + "coach": "Entrenatzailea", + "filmer": "Filmegilea", + "builder": "Eraikitzailea", + "editor": "Bideo-editorea", + "photographer": "Argazkilaria", + "skater": "Skaterra" + }, + "empty": { + "footer": "Galderarik? Ikusi ohiko galderak →", + "loginSuffix": "profila sortzeko.", + "coachesTitle": "Oraindik ez dago entrenatzailerik", + "coachesBody": "Izan zaitez zure inguruan skate entrenamendua eskaintzen lehena.", + "filmersTitle": "Oraindik ez dago filmegilerik", + "filmersBody": "Izan zaitez skate filmaketa eskaintzen lehena — klipak, bideo-part osoak, lehiaketen estaldura eta gehiago.", + "photographersTitle": "Oraindik ez dago argazkilaririk", + "photographersBody": "Izan zaitez zure inguruan skate argazkilaritza eskaintzen lehena — akzio-irudiak, sekuentziak, editorialak eta gehiago.", + "editorsTitle": "Oraindik ez dago bideo-editorerik", + "editorsBody": "Izan zaitez skate bideoen edizio-zerbitzuak eskaintzen lehena.", + "buildersTitle": "Oraindik ez dago eraikitzailerik", + "buildersBody": "Izan zaitez zure rampa, parkea edo DIY eraikuntza zerrendatzen lehena — hormigoia, egurra, barandak eta gehiago.", + "artistsTitle": "Oraindik ez dago artistarik", + "artistsBody": "Izan zaitez eszenarentzat taula-grafikoak, logoak, posterrak eta merchandisinga eskaintzen lehena.", + "graffitiTitle": "Oraindik ez dago graffiti artistarik", + "graffitiBody": "Izan zaitez zure inguruan piezak, muralak eta skatepark artea eskaintzen lehena.", + "tattooTitle": "Oraindik ez dago tatuatzaile artistarik", + "tattooBody": "Skate-kulturan espezializatutako lehen tatuatzailea izan zaitez — flash, pertsonalizatuak, fine line eta gehiago.", + "trainersTitle": "Oraindik ez dago prestatzaile fisikorik", + "trainersBody": "Izan zaitez skaterrei indartsu eta osasuntsu egoten laguntzen dien lehen entrenatzaile edo fisioterapeuta.", + "musiciansTitle": "Oraindik ez dago musikaririk", + "musiciansBody": "Skate egiten duzu eta musika egiten duzu? Gehitu zure taldea edo bakarkako proiektua — generoak, instrumentuak eta estekak.", + "judgesTitle": "Oraindik ez dago epailerik", + "judgesBody": "Lehiaketa justuak antolatzen dituzu? Zerrendatu zaitez Game of S.K.A.T.E., best trick jam, lehiaketa eta tour-stopak epaitzeko.", + "organizersTitle": "Oraindik ez dago antolatzailerik", + "organizersBody": "Jam, lehiaketa, topaketa edo demoak antolatzen dituzu? Zerrendatu zaitez skaterrek aurkitu eta zu kontrata zaitzaten.", + "barbersTitle": "Oraindik ez dago bizarginik", + "barbersBody": "Skaterren ilea mozten duzu? Zerrendatu zure txirrinta edo zerbitzu mugikorra, eszenak itxura berria har dezan.", + "clothingTitle": "Oraindik ez dago arropa-diseinatzailearik", + "clothingBody": "Izan zaitez eszenarentzat arropa pertsonalizatua, talde-kitak eta jantziak eskaintzen lehena." + }, + "become": { + "addNip05": "Gehitu NIP-05 ezarpenetan", + "backToLab": "Itzuli The Lab-era", + "bioWorkLabel": "Bioa / Zure lanari buruz", + "checkContact": "Egiaztatu zure kontaktua", + "cityArea": "Hiria / Eremua", + "cityCountry": "Hiria, herrialdea", + "connectWallet": "Konektatu zorroa", + "connectWalletNwc": "Konektatu zorroa NWC erabiliz", + "contactInfo": "Kontaktuko informazioa", + "contactInfoDesc": "Bezeroek nola har dezaketen zurekin (guztiak hautazkoak, baina gomendagarriak)", + "coordinatesOptional": "Koordenatuak (hautazkoa)", + "email": "Helbide elektronikoa", + "failedToPublish": "Ezin izan da argitaratu", + "fromNostrProfile": "Zure Nostr profiletik", + "geolocationUnsupported": "Geokokapena ez da onartzen", + "getting": "Lortzen…", + "headline": "Izenburua", + "headlineHint": "Zure Lab txarteleko izenburua — adib. “{{example}}”. Lehenetsita zure izena.", + "imageUploaded": "Irudia igota", + "instagram": "Instagram", + "invalidEmail": "Sartu baliozko helbide elektroniko bat.", + "invalidPortfolio": "Sartu baliozko portfolio URLa.", + "invalidWebsite": "Sartu baliozko webgune URLa.", + "latitude": "Latitudea", + "learnHow": "Ikasi nola", + "locationError": "Kokapen-errorea", + "locationFound": "Kokapena aurkitua", + "loginRequired": "Saioa hasi behar da", + "loginRequiredDesc": "{{role}} profila sortzeko, hasi saioa.", + "loginRequiredDescCraft": "{{noun}} profila sortzeko, hasi saioa.", + "longitude": "Longitudea", + "nip05Recommended": "NIP-05 egiaztapena gomendatzen da", + "nip05RecommendedDesc": "Egiaztatu zure identitatea bezeroekin konfiantza lortzeko.", + "noWallet": "Ez dago zorrorik konektatuta", + "otherSocial": "Beste sare sozial batzuk", + "paymentSetup": "⚡ Ordainketa ezarri behar da", + "phoneNumber": "Telefono-zenbakia", + "profilePhoto": "Profil-argazkia", + "profilePublished": "Zure profila argitaratu da.", + "publishing": "Argitaratzen...", + "socialMedia": "Sare sozialak", + "tip": "💡 Aholkua: Lightning zorro gehienek NWC onartzen dute (Alby, Minibits, Zeus, Coinos).", + "tipWithTime": "💡 Aholkua: Lightning zorro gehienek NWC onartzen dute (Alby, Minibits, Zeus, Coinos). 30 segundo besterik ez dira behar.", + "upload": "Igo", + "uploadFailed": "Igoerak huts egin du", + "uploadImage": "Igo irudia", + "uploading": "Igotzen…", + "useCurrentLocation": "Erabili uneko kokapena", + "useMyLocation": "Erabili nire kokapena", + "usingNwc": "Nostr Wallet Connect erabiltzen", + "usingWebln": "WebLN arakatzaile-gehigarria erabiltzen", + "walletConnected": "Zorroa konektatuta — prest ordainketak jasotzeko!", + "website": "Webgunea", + "yearsExperience": "Esperientzia-urteak" + }, + "coachForm": { + "anonymous": "Entrenatzaile anonimoa", + "bioLabel": "Bioa / Entrenatzeko filosofia", + "bioPlaceholder": "Zure ibilbidea, irakasteko estiloa...", + "create": "SORTU ENTRENATZAILE-PROFILA", + "created": "Entrenatzaile-profila sortu da!", + "createPro": "SORTU PRO ENTRENATZAILE-PROFILA", + "dmNote": "💬 Ikasleek zuzenean idatz diezazukete SkateSpots-eko mezularitza zifratuaren bidez", + "heading": "Izan entrenatzaile", + "headlineExample": "Skate entrenatzailea, Berlin", + "hourlyRate": "Orduko tarifa", + "identity": "Zure entrenatzaile-identitatea", + "nip05Reason": "Gehitu NIP-05 identifikatzaile bat zure identitatea egiaztatzeko eta ikasleekin konfiantza lortzeko — entrenatzaile fidagarria zarela erakusten die.", + "paymentDesc": "Ikasleen klase-ordainketak jasotzeko, Lightning zorro bat konektatu behar duzu. Ikasleek zuzenean zap egingo dizute entrenamendu-saioengatik.", + "profileDesc": "Kontatu ikasleei zure esperientzia", + "profileTitle": "Entrenatzaile-profila", + "ratePlaceholder": "5000 sats/ordu", + "selectSkill": "Hautatu trebetasun bat gutxienez.", + "skillsLabel": "Irakasten ditudan trebetasunak * (hautatu bat gutxienez)", + "skillsRequired": "Trebetasunak beharrezkoak dira", + "formatsLabel": "Saio-formatuak", + "formatsHint": "Nola ematen duzun entrenamendua.", + "levelsLabel": "Irakasten dituzun mailak", + "agesLabel": "Adin-taldeak", + "credentialsLabel": "Tituluak eta segurtasuna", + "credentialsHint": "Norberak aitortuta — SkateSpots-ek ez ditu egiaztatzen.", + "languagesLabel": "Hitz egiten dituzun hizkuntzak", + "languagesHint": "Gehitu entrenatzeko erabil ditzakezun hizkuntzak.", + "languagePlaceholder": "adib. euskara, gaztelania", + "availabilityLabel": "Erabilgarritasuna", + "bookingLabel": "Erreserba-esteka", + "bookingHint": "Hautazkoa — ikasleek erreserbatu eta ordain dezaketen orria.", + "galleryLabel": "Portfolio-argazkiak", + "galleryHint": "Erakutsi benetako saioak, ikasleak eta tokiak (gehienez 12).", + "galleryAdd": "Gehitu portfolio-argazkiak", + "galleryUploaded": "{{count}} argazki igota", + "videoLabel": "Aurkezpen-bideoa", + "videoHint": "Hautazkoa — zure entrenamendua erakusten duen YouTube edo Instagram bideoa.", + "formatOneOnOne": "1-on-1", + "formatGroup": "Taldekoa", + "formatCamp": "Kanpamentua", + "formatVideo": "Bideo-analisia", + "formatContestPrep": "Lehiaketarako prestaketa", + "formatParkLesson": "Parkeko klasea", + "formatAdaptive": "Egokitua", + "formatGirls": "Nesken saioa", + "formatAfterSchool": "Eskolaz kanpo", + "levelBeginner": "Hasiberria", + "levelIntermediate": "Ertaina", + "levelAdvanced": "Aurreratua", + "levelCompetition": "Lehiaketa", + "ageKids": "Haurrak", + "ageTeens": "Nerabeak", + "ageAdults": "Helduak", + "ageSeniors": "Adinekoak", + "certFirstAid": "Lehen sorospena", + "certCpr": "Bihotz-birika suspertzea (CPR)", + "certSafeguarding": "Adingabeen babesa", + "certBackgroundCheck": "Aurrekari penalen egiaztagiria", + "certInsured": "Aseguratua", + "certFederation": "Federazio nazionaleko entrenatzailea", + "certQualification": "Entrenatzaile-titulua", + "certJudge": "Lehiaketa-epailea", + "certNoteLabel": "Beste titulu batzuk (hautazkoa)", + "certNotePlaceholder": "adib. Skateboard GB Level 2, 8 urte entrenatzen…", + "availWeekdays": "Astegunak", + "availWeekends": "Asteburuak", + "availEvenings": "Arratsaldeak", + "availAfterSchool": "Eskolaz kanpo", + "availHolidays": "Eskola-oporrak", + "availSeasonal": "Denboraldikoa", + "sectionWhatYouCoach": "Zer entrenatzen duzun", + "sectionCredentials": "Tituluak eta segurtasuna", + "sectionAvailability": "Erabilgarritasuna eta erreserbak", + "sectionWhereYouCoach": "Non entrenatzen duzun", + "sectionPortfolio": "Portfolioa", + "rateAmountLabel": "Tarifa", + "rateCurrencySats": "sats", + "rateCurrencyUsd": "USD", + "rateCurrencyEur": "EUR", + "rateCurrencyGbp": "GBP", + "perHour": "orduko", + "perSession": "saio bakoitzeko", + "perHalfDay": "egun erdiko", + "perDay": "eguneko", + "perCamp": "kanpamentuko", + "perProject": "proiektuko", + "perEvent": "gertaerako", + "perGig": "kontzertuko", + "perShoot": "argazki-saio bakoitzeko", + "perPiece": "piezako", + "perCut": "mozketako", + "perMonth": "hilabeteko", + "availByAppointment": "Hitzorduz", + "rateNotesLabel": "Tarifaren oharrak (hautazkoak)", + "rateNotesPlaceholder": "Tarifa malgua, lehen saioa doan, bidaiak barne…", + "sectionPayments": "Ordainketak", + "paymentMethodsHint": "Bezeroek nola ordain dezaketen. Hau adierazpen bat da — SkateSpots-ek ez du inoiz dirurik gordetzen.", + "payMethodCash": "Eskudirua tokian", + "payMethodLightning": "Lightning", + "payMethodCashu": "Cashu", + "payMethodBank": "Banku-transferentzia", + "payMethodOther": "Beste bat", + "payWhatYouCanLabel": "Tarifa malgua / ahal duzuna ordaindu", + "bookingFeeLabel": "Erreserba-komisioa (hautazkoa)", + "bookingFeeHint": "Erreserba bat baieztatzeko zuzenean zuri ordaintzen zaizun komisio txiki bat. SkateSpots-ek ez du gordetzen ez itzultzen.", + "paymentNoteLabel": "Ordainketa-oharra (hautazkoa)", + "paymentNotePlaceholder": "Lehen saioa doan, bidaiak barne, saioaren ondoren ordaindu…", + "spotsDesc": "Hautatu entrenamendu-saioak eskaintzen dituzun tokiak", + "spotsLabel": "Entrenatzen duzun tokiak", + "tagline": "Partekatu zure skate-ezagutza", + "update": "EGUNERATU ENTRENATZAILE-PROFILA", + "updated": "Entrenatzaile-profila eguneratu da!" + }, + "filmerForm": { + "anonymous": "Filmegile anonimoa", + "bioPlaceholder": "Zure ibilbidea, estiloa, ekipamendua...", + "camerasLabel": "Kamerak eta ekipamendua * (hautatu bat gutxienez)", + "create": "SORTU FILMAKETA-PROFILA", + "created": "Filmaketa-profila sortu da!", + "createPro": "SORTU PRO FILMAKETA-PROFILA", + "dmNote": "💬 Bezeroek zuzenean idatz diezazukete SkateSpots-eko mezularitza zifratuaren bidez", + "gearHelper": "Zerrendatu zure kamera, objektibo eta muntaia zehatzak — skaterrei konfigurazioak axola die.", + "gearLabel": "Zorroan dagoena (hautazkoa)", + "gearPlaceholder": "adib. Sony VX1000 + MK1 fisheye, Panasonic HVX200, DJI RS3 gimbal, GoPro Hero 12, Sennheiser mikrofonoa...", + "heading": "Izan filmegile", + "headlineExample": "Skate filmegilea, Berlin", + "identity": "Zure filmegile-identitatea", + "nip05Reason": "Gehitu NIP-05 identifikatzaile bat zure identitatea egiaztatzeko eta bezeroekin konfiantza lortzeko — filmegile fidagarria zarela erakusten die.", + "paymentDesc": "Bezeroen filmaketa-ordainketak jasotzeko, Lightning zorro bat konektatu behar duzu. Bezeroek zuzenean zap egingo dizute zure lanagatik.", + "profileDesc": "Kontatu bezeroei zure filmaketa-esperientzia", + "profileTitle": "Filmaketa-profila", + "rate": "Tarifa", + "ratePlaceholder": "10000 sats/bideo", + "reelLabel": "Reel / Portfolioa", + "selectService": "Hautatu zerbitzu bat gutxienez.", + "selectSkill": "Hautatu filmaketa-trebetasun bat gutxienez.", + "servicesLabel": "Eskaintzen dituzun zerbitzuak * (hautatu bat gutxienez)", + "servicesRequired": "Zerbitzuak beharrezkoak dira", + "skillsRequired": "Trebetasunak beharrezkoak dira", + "spotsDesc": "Hautatu filmaketa-zerbitzuak eskaintzen dituzun tokiak", + "spotsLabel": "Filmatzen duzun tokiak", + "tagline": "Eskaini zure skate-bideoen filmaketa — klipak, lineak, bideo-part osoak eta lehiaketen estaldura", + "update": "EGUNERATU FILMAKETA-PROFILA", + "updated": "Filmaketa-profila eguneratu da!" + }, + "editorForm": { + "anonymous": "Editore anonimoa", + "bioPlaceholder": "Zure edizio-estiloa, ibilbidea, proiektu nabarmenak…", + "contactPortfolio": "Kontaktua eta portfolioa", + "create": "Argitaratu editore-profila", + "created": "Editore-profila sortu da!", + "createPro": "Argitaratu Pro editore-profila", + "editTypes": "Eskaintzen dituzun edizio-motak * (hautatu bat gutxienez)", + "hardware": "Hardwarea", + "hardwarePlaceholder": "adib. MacBook Pro M3, Sony FX3", + "heading": "Izan bideo-editore", + "headlineExample": "Skate bideo-editorea", + "identity": "Zure identitatea", + "locationOptional": "Kokapena (hautazkoa)", + "loginDesc": "Hasi saioa zure bideo-editore profila sortzeko.", + "phoneTelegram": "Telefonoa / Telegram", + "portfolioPlaceholder": "Portfolioa (Vimeo, YouTube…)", + "profileDesc": "Kontatu komunitateari zure edizio-estiloa eta trebetasunak", + "profileTitle": "Editore-profila", + "published": "Zure profila SkateSpots-en argitaratu da.", + "rate": "Tarifa / prezioak", + "ratePlaceholder": "adib. 50k sats/min, DM bidez aurrekontua", + "selectService": "Hautatu edizio-mota bat gutxienez.", + "servicesRequired": "Zerbitzuak beharrezkoak dira", + "socialPlaceholder": "Instagram / sare sozialetako erabiltzailea", + "software": "Softwarea", + "softwareHardware": "Software- eta hardware-trebetasunak", + "softwarePlaceholder": "adib. DaVinci Resolve, Premiere", + "tagline": "Eskaini zure bideo-edizio zerbitzuak skate-komunitateari", + "thumbnail": "Profil / showreel miniatura", + "update": "Eguneratu editore-profila", + "updated": "Editore-profila eguneratu da!", + "walletConnected": "Zorroa konektatuta ✓", + "walletDesc": "Jaso Bitcoin ⚡ ordainketak zuzenean bezeroengandik zure edizio-lanagatik.", + "walletTitle": "⚡ Lightning zorroa ordainketetarako", + "yearsExperience": "Esperientzia-urteak", + "yearsPlaceholder": "adib. 5 urte" + }, + "photoForm": { + "anonymous": "Argazkilari anonimoa", + "bioPlaceholder": "Zure ibilbidea, estiloa, zer gustatzen zaizun argazkia ateratzea...", + "cameraLabel": "Kamera gorputzak * (hautatu bat gutxienez)", + "cameraRequired": "Kamera beharrezkoa da", + "contactDesc": "Riderrek nola ikus dezaketen zure lana eta har dezaketen zurekin (guztiak hautazkoak, baina gomendagarriak)", + "create": "SORTU ARGAZKILARITZA-PROFILA", + "created": "Argazkilaritza-profila sortu da!", + "createPro": "SORTU PRO ARGAZKILARITZA-PROFILA", + "dmNote": "💬 Riderek zuzenean idatz diezazukete SkateSpots-eko mezularitza zifratuaren bidez", + "gearHelper": "Zerrendatu gorputz, objektibo eta argi zehatzak — riderek konfigurazioa jakitea maite dute.", + "gearPlaceholder": "adib. Canon R6 II, 8-15mm fisheye, 70-200mm f/2.8, 2× Godox AD200, urruneko trigerrak, Manfrotto tripodea...", + "heading": "Izan argazkilari", + "headlineExample": "Skate argazkilaritza", + "identity": "Zure argazkilari-identitatea", + "lensesLabel": "Objektiboak", + "lightingLabel": "Argiztapen-ekipamendua", + "nip05Reason": "Gehitu NIP-05 identifikatzaile bat zure identitatea egiaztatzeko eta bezeroekin konfiantza lortzeko.", + "paymentDesc": "Argazki-saioengatik kobratzeko, konektatu Lightning zorro bat. Bezeroek zuzenean zap egiten dizute zure lanagatik.", + "portfolioLabel": "Portfolioa / Instagram", + "profileDesc": "Kontatu riderei zure begirada, ekipamendua eta zerbitzuak", + "profileTitle": "Argazkilaritza-profila", + "ratePlaceholder": "20000 sats/saioa", + "selectCamera": "Hautatu argazkiak ateratzeko kamera-mota bat gutxienez.", + "selectService": "Hautatu eskaintzen duzun zerbitzu bat gutxienez.", + "servicesLabel": "Eskaintzen dituzun zerbitzuak * (hautatu bat gutxienez)", + "servicesRequired": "Zerbitzuak beharrezkoak dira", + "spotsDesc": "Hautatu argazkilaritza eskaintzen duzun tokiak", + "spotsLabel": "Argazkiak ateratzen dituzun tokiak", + "styleLabel": "Argazki-estiloa", + "supportLabel": "Euskarria eta muntaia", + "tagline": "Argazkitu saioak — eskaini zure skate argazkilaritza", + "update": "EGUNERATU ARGAZKILARITZA-PROFILA", + "updated": "Argazkilaritza-profila eguneratu da!" + }, + "builderForm": { + "anonymous": "Eraikitzaile anonimoa", + "bioLabel": "Bioa / Zure eraikuntzei buruz", + "bioPlaceholder": "Zure taldea, eraikuntza nabarmenak, proiektu bati nola heltzen diozun...", + "buildTypesLabel": "Zer eraikitzen duzun * (hautatu bat gutxienez)", + "buildTypesRequired": "Eraikuntza-motak beharrezkoak dira", + "cityBase": "Hiria / Oinarria", + "contactPortfolio": "Kontaktua eta portfolioa", + "contactPortfolioDesc": "Eszenak nola ikus ditzakeen zure eraikuntzak eta har zaitzakeen (guztiak hautazkoak, baina gomendagarriak)", + "create": "SORTU ERAIKITZAILE-PROFILA", + "created": "Eraikitzaile-profila sortu da!", + "createPro": "SORTU PRO ERAIKITZAILE-PROFILA", + "dmNote": "💬 Bezeroek zuzenean idatz diezazukete SkateSpots-eko mezularitza zifratuaren bidez", + "gearHelper": "Taldeek eta bezeroek zure ekipamendua eta prozesua jakitea maite dute.", + "gearLabel": "Nola lan egiten duzun / ekipamendua (hautazkoa)", + "gearPlaceholder": "adib. Hormigoi-talde osoa, nahasgailua + shotcrete muntaia, soldadura mugikorra, baimenak eta drainatzea guk kudeatzen ditugu...", + "heading": "Izan eraikitzaile", + "headlineExample": "Rampa eta parkeen eraikitzailea", + "identity": "Zure eraikitzaile-identitatea", + "insured": "Lizentziaduna / aseguratua", + "insuredHelper": "Parke publikoetarako eta udal-lanetarako garrantzitsua", + "logoPhoto": "Logoa / argazkia", + "materialsLabel": "Materialak eta lanbide-trebetasunak", + "nip05Reason": "Gehitu NIP-05 identifikatzaile bat zure identitatea egiaztatzeko eta bezeroekin konfiantza lortzeko.", + "pastBuilds": "Aurreko eraikuntzak / Instagram", + "paymentDesc": "Eraikuntzengatik kobratzeko, konektatu Lightning zorro bat. Bezeroek zuzenean zap egiten dizute zure lanagatik.", + "profileDesc": "Kontatu eszenari zer eraikitzen duzun eta nola lan egiten duzun", + "profileTitle": "Eraikitzaile-profila", + "rateLabel": "Tarifa / aurrekontu-oinarria", + "ratePlaceholder": "m² bakoitzeko / proiektuka", + "scaleLabel": "Proiektuaren eskala", + "selectBuild": "Hautatu eraikitzen duzun zerbait gutxienez.", + "serviceArea": "Zerbitzu-eremua", + "serviceAreaPlaceholder": "adib. Katalunia, EB osoan bidaiatzeko prest", + "spotsDesc": "Lotu eraiki dituzun tokiak eta parkeak, jendeak zure lana mapan ikus dezan", + "spotsLabel": "Eraiki dituzun tokiak", + "tagline": "Bota, soldatu, eraiki — zerrendatu zure rampa eta parkeen eraikuntza", + "update": "EGUNERATU ERAIKITZAILE-PROFILA", + "updated": "Eraikitzaile-profila eguneratu da!", + "yearsBuilding": "Eraikitzen daramatzazun urteak" + }, + "skaterForm": { + "backToSkaters": "Itzuli skaterretara", + "bioHelperPulled": "Zure profiletik hartua — egokitu zure skater txartelerako, edo utzi horrela.", + "bioHelperShort": "Zure skater txartelerako sarrera laburra.", + "bioPlaceholder": "Zenbat denbora daramazun skate egiten, zer gustatzen zaizun, zertan ari zaren…", + "browseSpots": "Arakatu tokiak", + "changePhoto": "Aldatu profil-argazkia", + "chipBio": "Bioa", + "chipPhoto": "Argazkia", + "cityArea": "Hiria / eremua", + "created": "Mapan zaude! 🛹", + "custom": "Pertsonalizatua", + "customHelper": "Zure etiketa — skater txartelean aurrez ezarritakoaren ordez erakusten da.", + "customPlaceholder": "adib. OG, Weekend Warrior, Erretiratua…", + "discoverable": "Beste skaterrek dagoeneko aurkitu zaitzakete.", + "editFullProfile": "editatu zure profil osoa", + "fromProfile": "Zure profiletik", + "heroEditPrefix": "Editatu zure", + "heroJoinPrefix": "Sartu zaitez", + "heroSuffix": "direktorioan", + "homeHelper": "Idatzi librean, edo lotu mapako toki erreal bat jendeak hara joan ahal izan dezan.", + "homePlaceholder": "Tokiko parkea / plaza — edo sakatu “Arakatu tokiak”", + "homeSpot": "Ohiko tokia", + "layerEnd": "toki guztietan aldatzeko.", + "layerIntro": "Hau zure", + "layerMid": ", zure Nostr profilean oinarritua. Zure izena, argazkia, bioa, lightning eta egiaztapena hortik datoz —", + "layerWord": "skate geruza", + "level": "Maila", + "linked": "Mapako toki batera lotua", + "loadingProfile": "Zure profila kargatzen…", + "loadingSpots": "Tokiak kargatzen…", + "locationHelper": "Beste batzuei inguruko skaterrak aurkitzen laguntzen die. Eremu zabal bat soilik partekatzen da.", + "loginToJoin": "Hasi saioa bat egiteko", + "loginToJoinDesc": "Sortu zure skater profila komunitateak aurki zaitzan.", + "mappedSpot": "Mapatutako tokia", + "noSpots": "Oraindik ez da tokirik aurkitu.", + "noSpotsMatch": "Ez dago bilaketarekin bat datorren tokirik.", + "openMap": "Ireki mapa", + "pickEverything": "Hautatu zure estilorako egokia den guztia.", + "pickHomeSpot": "Aukeratu zure ohiko tokia", + "pickStyles": "Aukeratu zure estiloak", + "pickStylesDesc": "Hautatu skate egiten duzun zerbait gutxienez.", + "profilePic": "Profil-argazkia", + "profilePicHelper": "Zure skater txartelak zure Nostr profil-argazkia erabiltzen du — argazki bera leku guztietan.", + "publishingAs": "Argitaratzailea:", + "putOnMap": "Jarri nazazu mapan", + "searchSpots": "Bilatu tokiak izen edo hiriaren arabera…", + "skateStory": "Zure skate-historia", + "stance": "Postura", + "unlinkSpot": "Deslotu tokia", + "updateButton": "Eguneratu nire profila", + "updated": "Profila eguneratu da!", + "whatYouSkate": "Skate egiten duzuna *", + "yearsPlaceholder": "adib. 8", + "yearsSkating": "Skatean daramatzazun urteak", + "yourProfilePic": "Zure profil-argazkia", + "zapsOn": "Zapak aktibatuta" + }, + "skaters": { + "clearSearch": "Garbitu bilaketa", + "community": "Komunitatea", + "countMany": "skater", + "countOne": "skater", + "editProfile": "Editatu nire skater profila", + "heroDesc": "Aurkitu zure jendea. Arakatu SkateSpots ordezkatzen duten skaterren taldea — estiloa, postura, maila eta hiriaren arabera.", + "nip05Verified": "NIP-05 egiaztatua", + "noMatches": "Ez dago bat-etortzerik", + "noneDesc": "Izan zaitez direktorioan sartzen lehena eta jarri SkateSpots mapan.", + "noneTitle": "Oraindik ez dago skaterrik", + "noVerifiedMatch": "Ez dago skater egiaztaturik bat datorrenik", + "searchPlaceholder": "Bilatu izen, hiri edo npubaren arabera…", + "tryDifferentSearch": "Saiatu beste bilaketa batekin edo garbitu iragazkiak.", + "tryTurnOffVerified": "Saiatu “Egiaztatua” iragazkia itzaltzen denak ikusteko.", + "verifiedFilterTitle": "Erakutsi NIP-05 identitate egiaztatua duten skaterrak soilik" + }, + "skaterCard": { + "inDirectory": "Skater direktorioan zaude", + "joinDesc": "Gehitu zure postura, estiloak eta maila skaterrek zu aurki zaitzaten.", + "joinTitle": "Sartu skater direktorioan" + }, + "crewsStrip": { + "allCrews": "Talde guztiak", + "memberMany": "{{count}} kide", + "memberOne": "{{count}} kide", + "title": "Eszena honetako taldeak" + }, + "labLink": { + "coach": "Entrenatzailea", + "filmer": "Filmegilea", + "editor": "Editorea", + "photographer": "Argazkilaria", + "builder": "Eraikitzailea", + "artist": "Artista", + "graffiti": "Grafitia", + "tattoo": "Tatuajea", + "trainer": "Prestatzaile fisikoa", + "musician": "Musikaria", + "judge": "Epailea", + "barber": "Bizargina", + "organizer": "Antolatzailea", + "lab": "Lab", + "linkedProfiles": "Lotutako Lab profilak", + "desc": "Estudio bat, entrenamendua edo eraikuntza-zerbitzua ere kudeatzen duzu? Lotu zure Lab iragarkiak jendeak zure taldea kontrata dezan. Hautazkoa. Lab profila talde honetara ere lotzen duenean, biek hau erakusten dute:", + "descEnd": "bereizgarri berdea.", + "empty": "Oraindik ez duzu Lab profilik. Sortu bat The Lab-en hemen lotzeko." + }, + "proUpgrade": { + "goPro": "Izan Pro", + "optional": "· hautazkoa", + "freeTo": "Doan zerrendatu. Pro-k hau gehitzen du:", + "proBadge": "Pro bereizgarria", + "featuredPlacement": "leku nabarmendua", + "atTop": "The Lab-en goiko aldean.", + "active": "Aktiboa", + "benefit1": "Urrezko \"Pro\" bereizgarria zure profilean eta txarteletan", + "benefit2": "Lehenengo erakusten da skaterrek The Lab arakatzean", + "benefit3": "SkateSpots laguntzen du — iragarkirik ez, bitartekaririk ez", + "platformOwner": "Plataformaren jabea — Pro beti aktibo.", + "proActiveOne": "Pro aktibo · {{count}} egun geratzen da. Zure profila nabarmenduko da.", + "proActiveMany": "Pro aktibo · {{count}} egun geratzen dira. Zure profila nabarmenduko da.", + "context": "Zure profila doan mantenduko da bizirik Pro iraungi ondoren — bereizgarria eta bultzada soilik galtzen dituzu." + }, + "profilePreview": { + "viewPublic": "Ikusi publikoa", + "unnamed": "Izen gabeko skaterra", + "noHandle": "Oraindik ez dago erabiltzaile-izenik" + }, + "pyramid": { + "pyramidWord": "PIRAMIDEA", + "rankingsWord": "SAILKAPENA", + "subtitle": "Zure hiriko laguntzaile nagusiak", + "yourRank": "Zure postua", + "keepContributing": "Jarraitu laguntzen gora igotzeko!", + "topContributors": "Laguntzaile nagusiak", + "noContributors": "Oraindik ez dago laguntzailerik. Izan zaitez toki bat gehitu edo gertaera bat sortzen lehena!", + "spots": "Tokiak", + "events": "Gertaerak", + "total": "Guztira", + "trust": "Konfiantza" + }, + "detail": { + "joined": "Kidea", + "about": "Honi buruz", + "howWeWork": "Nola lan egiten dugun", + "inTheBag": "Zorroan", + "hardware": "Hardwarea", + "software": "Softwarea", + "eventsJudged": "Epaitutako gertaerak", + "eventsOrganized": "Antolatutako gertaerak", + "spots": "Tokiak", + "viewSpot": "Ikusi tokia", + "credentialsTitle": "Tituluak eta segurtasuna", + "selfAttested": "Entrenatzaileak berak aitortua — SkateSpots-ek ez du egiaztatu.", + "formats": "Formatuak", + "levels": "Mailak", + "ages": "Adinak", + "languages": "Hizkuntzak", + "availability": "Erabilgarritasuna", + "bookSession": "Erreserbatu saio bat", + "portfolio": "Portfolioa", + "watchReel": "Ikusi {{platform}} plataforman", + "paymentsTitle": "Ordainketak", + "payWhatYouCan": "Ahal duzuna ordaindu", + "bookingFee": "Erreserba-komisioa", + "payBookingFee": "Ordaindu erreserba-komisioa", + "bookingFeeNote": "Zuzenean entrenatzaileari ordaintzen zaio. SkateSpots-ek ez du gordetzen ez itzultzen.", + "bookingFeeNoRail": "Entrenatzaile honek ez du Lightning helbiderik, beraz aplikazioko ordainketa ez dago erabilgarri — jarri harremanetan ordainketa adosteko.", + "serviceArea": "Zerbitzu-eremua", + "licensedInsured": "Lizentziaduna / aseguratua", + "studio": "Estudioa", + "shopStudio": "Denda / estudioa", + "booksOpen": "Erreserbak irekita", + "credentials": "Tituluak", + "remoteOnline": "Urruneko / online zerbitzua eskuragarri", + "graffitiCrew": "Graffiti taldea", + "act": "Formazioa", + "listen": "Entzun", + "upcomingGigs": "Datozen kontzertuak", + "past": "Iragana", + "experience": "Esperientzia", + "yearsCount": "{{count}} urte", + "rate": "Tarifa", + "contact": "Kontaktua", + "sendMessage": "Bidali mezua", + "bookGig": "Erreserbatu kontzertu baterako", + "portfolioDomain": "Portfolioa · {{domain}}", + "manage": "Kudeatu", + "admin": "Administratzailea", + "editProfile": "Editatu profila", + "publishedTitle": "Zure profila argitaratuta dago", + "publishedBody": "Zure profila The Lab-en argitaratu da. Partekatu, skaterrek zu aurki zaitzaten.", + "manageRemove": "Kendu zure {{noun}} profila The Lab-etik.", + "adminTakeDown": "Kendu {{noun}} profil hau. SkateSpots osoan ezkutatuko da.", + "entityLabel": "{{noun}} profila", + "deleteProfile": "Ezabatu profila", + "location": "Kokapena", + "servicesSkills": "Zerbitzuak eta trebetasunak", + "noun": { + "coach": "entrenatzaile", + "filmer": "filmegile", + "editor": "bideo-editore", + "photographer": "argazkilari", + "builder": "eraikitzaile", + "artist": "artista", + "graffiti": "graffiti artista", + "tattoo": "tatuatzaile", + "trainer": "prestatzaile fisiko", + "musician": "musikari", + "judge": "gertaera-epaile", + "organizer": "gertaera-antolatzaile", + "barber": "bizargin", + "profile": "profil" + }, + "skillsTitle": { + "skills": "Trebetasunak", + "servicesGear": "Zerbitzuak eta ekipamendua", + "whatWeBuild": "Zer eraikitzen dugun", + "whatTheyMake": "Zer egiten duten", + "stylesWork": "Estiloak eta lana", + "styles": "Estiloak", + "focusSpecialties": "Ardatza eta espezialitateak", + "genresInstruments": "Generoak eta instrumentuak", + "formatsSpecialties": "Formatuak eta espezialitateak", + "servicesStyles": "Zerbitzuak eta estiloak", + "eventTypesServices": "Gertaera-motak eta zerbitzuak" + } + }, + "rider": { + "heroDesc": "Zure skater identitate egiaztagarria. Nostr-ekin sinatua, inprimatzeko prest, faltsutzeko ezina.", + "heroDesc2": "Irabazi beste skater batzuen lekukotzazko trebetasun-bereizgarriak. Lortu parkeetarako sarbide-paseak. Partekatu zure txartela edonon.", + "headerTagline": "Nostr-ekin sinatua · Inprimatzeko prest · QR bidez egiaztatua", + "tabCard": "Nire txartela", + "tabBadges": "Bereizgarriak", + "tabAward": "Eman", + "rendering": "Errendatzen…", + "shareCard": "Partekatu txartela", + "savePng": "Gorde PNG", + "print": "Inprimatu", + "copyId": "Kopiatu IDa", + "cardType": "Txartel-mota", + "licenseLabel": "Lizentzia · AGPL-3.0", + "licenseSub": "Zure rider identitate pertsonala", + "parkLabel": "Parke-sarbidea", + "parkSub": "Eman paseak parke-jabe gisa", + "theme": "Gaia", + "holoTitle": "Distira holografikoa", + "holoDesc": "Foil efektu animatua", + "cardDetails": "Txartelaren xehetasunak", + "skateStyle": "Skate estiloa", + "ridesFor": "Norentzat:", + "ridesForPlaceholder": "Tokiko denda…", + "sponsors": "Babesleak", + "sponsorsPlaceholder": "Markak…", + "showOnCard": "Erakutsi txartelean", + "zaps": "Zapak ⚡", + "skills": "Trebetasunak", + "selected": "{{count}}/6 hautatuta", + "goldBadgesHint1": "Zure txarteleko urrezko bereizgarriak beste skater batzuen lekukotzatik datoz — ikusi", + "goldBadgesHint2": ".", + "parkOwnersOnly": "Parke-jabeentzat soilik.", + "parkOwnersDesc": "Hau zure parke-iragarkia argitaratu zuen Nostr gako berarekin eman. Edonork eskaneatu dezake QR kodea eta sinadura katean egiazta dezake — erakunde zentralik behar gabe.", + "parkDetails": "Parkearen xehetasunak", + "parkName": "Parkearen izena", + "parkNamePlaceholder": "The Berrics…", + "riderName": "Riderraren izena", + "riderNamePlaceholder": "Txartelko izena", + "riderNpub": "Riderraren Nostr IDa (npub)", + "accessLevel": "Sarbide-maila", + "validThru": "Balio du arte", + "publishToNostr": "Argitaratu Nostr-en", + "badgesIntro": "Bereizgarri hauek beste skater batzuek lekukotu eta sinatu zituzten Nostr-en. Urrezko ⭐ etiketak bezala agertzen dira zure txartelean.", + "earnMore": "Gehiago irabazi nahi duzu? Egin skate norbaiten aurrean eta eskatu zure trikimailua lekukotzeko.", + "awardSomeone": "Eman bereizgarri bat beste bati", + "youSawIt": "Ikusi zenuen", + "youSawItDesc": "Sinatu froga Nostr-en. Bere erregistro iraunkorraren parte izango da — kriptografikoki zure gakoari lotua.", + "skillsWitnessed": "Lekukotu zenituen trebetasunak", + "whereSeen": "Non ikusi zenuen?", + "optional": "(hautazkoa)", + "signingOnNostr": "Nostr-en sinatzen…", + "awardBadge": "Eman bereizgarria", + "addRiderSkill": "Gehitu rider npuba + trebetasun bat gutxienez", + "invalidNpub": "Npub baliogabea", + "badgeAwarded": "🏅 Bereizgarria emanda!", + "badgeSent": "{{skills}} bidalita.", + "failed": "Huts egin du", + "couldNotRender": "Ezin izan da txartela errendatu", + "popupBlocked": "Leiho gainerakorrak blokeatuta", + "popupBlockedDesc": "Baimendu leiho gainerakorrak gune honetarako.", + "linkCopied": "🔗 Esteka kopiatuta!", + "enterRiderNpub": "Sartu riderraren npuba", + "parkPublished": "✅ Parke-sarbide txartela argitaratuta!", + "publishFailed": "Argitaratzeak huts egin du", + "noBadges": "Oraindik ez dago bereizgarririk. Egin skate norbaiten aurrean eta eskatu zure trikimailuak lekukotzeko!", + "showMore": "Erakutsi {{count}} gehiago", + "witnessedBy": "Lekukotasuna:", + "at": "hemen:", + "previewLicense": "Skater lizentzia", + "previewSince": "{{year}}tik aurrera", + "previewEvts": "Gertaerak", + "previewScan": "Eskaneatu egiaztatzeko", + "previewSkatepark": "Skateparka", + "previewAccessPass": "Sarbide-pasea", + "previewMemberName": "Kidearen izena", + "previewIssuedBy": "Parke-jabeak emana · Nostr-ekin sinatua", + "previewValidThru": "Balio du", + "previewNostrVerified": "Nostr bidez egiaztatua" + }, + "craftFields": { + "detailsTitle": "Xehetasun gehigarriak", + "deliverables": "Entregagaiak", + "turnaround": "Egiteko epea", + "surfaces": "Azalerak / hormak", + "maxSize": "Gehienezko tamaina", + "setLength": "Setaren iraupena", + "techRider": "Tech riderra", + "travel": "Bidaia", + "certifications": "Ziurtagiriak", + "insurance": "Asegurua", + "permits": "Baimenak", + "deposit": "Gordailua", + "minimum": "Gutxienekoa", + "modalities": "Modalitateak", + "duration": "Hitzorduaren iraupena", + "drone": "Dronaa", + "leadTime": "Aurreratze-epea", + "warranty": "Bermeak", + "sizing": "Tamainen tartea", + "samples": "Lagina / prototipoak", + "customization": "Pertsonalizazioa" + }, + "craftForm": { + "profileImage": "Profil-irudia", + "nameHeadline": "Izena / izenburua", + "about": "Honi buruz", + "aboutPlaceholder": "Kontatu skaterrei zure {{noun}} lanari buruz…", + "required": "beharrezkoa", + "nip05Title": "Gehitu NIP-05 konfiantza lortzeko", + "nip05Desc": "NIP-05 identifikatzaile batek skaterrei benetakoa zarela egiaztatzen laguntzen die. Oso gomendagarria zerrendatu aurretik.", + "editingNote": "Zure {{noun}} profila editatzen — argitaratzeak ordezkatuko du.", + "location": "Kokapena", + "pinned": "📍 Mapan ainguratuta ({{lat}}, {{lng}})", + "experienceYears": "Esperientzia (urteak)", + "expPlaceholder": "adib. 5", + "ratePlaceholder": "adib. 20k sats / proiektuka", + "contactLinks": "Kontaktua eta estekak", + "phoneOptional": "Telefonoa (hautazkoa)", + "emailOptional": "Helbide elektronikoa (hautazkoa)", + "socialPlaceholder": "Sare sozialak (Instagram, etab.)", + "gettingPaid": "Ordainketak jasotzea", + "updateProfile": "Eguneratu profila", + "publishProfile": "Argitaratu profila", + "rateLeftBlankNote": "Hautazkoa — utzi hutsik goiko tarifa nahikoa bada.", + "sectionRequired": "{{section}} beharrezkoa da", + "sectionRequiredDesc": "Hautatu aukera bat gutxienez \"{{section}}\" atalean.", + "updated": "Profila eguneratu da!", + "created": "Profila sortu da!", + "headlineExample": "Skate entrenatzailea, Berlin" + } + }, + "labOptions": { + "coach": { + "skill": { + "basics": "Oinarriak", + "ollies": "Ollieak", + "kickflips": "Kickflipak", + "grinds": "Grindak eta slideak", + "manuals": "Manualak", + "inverts": "Invertak", + "vert": "Vert / rampa", + "bowl": "Bowla", + "street": "Kalea", + "freestyle": "Freestylea", + "safety": "Segurtasuna", + "diy": "DIY skate moduluak" + }, + "skillDesc": { + "basics": "Bultzatzea, postura, oreka, birak", + "ollies": "Olliea eta aldaerak (nollie, fakie)", + "kickflips": "Kickflipa, heelflipa eta aldaerak", + "grinds": "50-50, 5-0, boardslide eta gehiago", + "manuals": "Manualak, nose manualak, konbinazioak", + "inverts": "Invert, handplant, eggplant, andrecht", + "vert": "Half-pipea, quarter-pipea, drop-inak", + "bowl": "Bowleko birak, pumpinga, lineak", + "street": "Kaleko oztopoak eta sormena", + "freestyle": "Lurzoru lauko trikimailuak eta flowa", + "safety": "Nola erori, babes-ekipamendua, lesioak prebenitzea", + "diy": "Rampak, barandak, ertzak eta beste skate-oztopo batzuk eraikitzea" + } + }, + "filmer": { + "service": { + "miniclips": "Mini klipak", + "longparts": "Bideo-part luzeak", + "koth": "King of the Road estiloa", + "documentaries": "Dokumentalak", + "contests": "Lehiaketetarako filmaketa", + "raw": "Material gordina", + "followlines": "Jarraipen / lineen filmaketa", + "lines": "Lineen eta B-rollaren filmaketa" + }, + "serviceDesc": { + "miniclips": "15-60 segundoko klipak sare sozialetarako", + "longparts": "3-10 minutuko bideo-part osoak musikarekin", + "koth": "Abentura / erronka estiloko skate-bideoak", + "documentaries": "Skate-kultura eta istorioetan oinarritutako edukiak", + "contests": "Lehiaketen estaldura profesionala", + "raw": "Muntaia gabeko plano anitzeko materiala", + "followlines": "Arrain-begiko follow-cam lineetarako", + "lines": "Objektibo luzeko lineak eta b-roll zinematografikoa" + }, + "skill": { + "vx1000": "VX1000", + "hvx": "HVX / HPX", + "cinema": "Zinema-kamera", + "dslr": "DSLR / ispilurik gabea", + "actioncam": "GoPro / akzio-kamera", + "phone": "Mugikorrarekin filmatzea", + "drone": "Dronaa / airekoa", + "gimbal": "Gimbal / estabilizagailua", + "fisheye": "Arrain-begiko objektiboa", + "longlens": "Objektibo luzea", + "4k": "4K / fotograma-tasa altua", + "editing": "Bideo-edizioa", + "color": "Kolore-gradazioa" + }, + "skillDesc": { + "vx1000": "VX1000 skate-estetika klasikoa", + "hvx": "Panasonic HVX/HPX definizio estandarra / HD itxura", + "cinema": "Zinema-kamera (FX3, C-series, RED, BMPCC)", + "dslr": "Kalitate handiko DSLR edo ispilurik gabeko kamera", + "actioncam": "GoPro / akzio-kamera POV eta euskarriak", + "phone": "Mugikor modernoekin filmatzea", + "drone": "Aireko eta drone materiala", + "gimbal": "Gimbal mugimendu egonkortua", + "fisheye": "Angelu zabaleko arrain-begiko planoak", + "longlens": "Objektibo luzea xehetasunezko planoetarako", + "4k": "4K bereizmena eta slow-mo fotograma-tasa altua", + "editing": "Bideo-edizio eta postprodukzio profesionala", + "color": "Kolore-konponketa eta gradazioa" + } + }, + "editor": { + "service": { + "parts": "Bideo-partak", + "montages": "Muntaiak", + "reels": "Reels / klip laburrak", + "documentaries": "Dokumentalak", + "contest": "Lehiaketa-edizioak", + "brand": "Marka / promo bideoak", + "motion": "Mugimendu-grafikoak", + "colorgrade": "Kolore-gradazioa soilik" + }, + "serviceDesc": { + "parts": "Skate bideo-part osoak soinu-bandarekin", + "montages": "Material gordinetik egindako muntaia-bildumak", + "reels": "15–60 segundoko klipak eta reels sare sozialetarako", + "documentaries": "Istorioetan oinarritutako skate-kultura filmak", + "contest": "Lehiaketen eta gertaeren laburpen-edizioak", + "brand": "Markentzako eta dendetarako eduki promozionala", + "motion": "Tituluak, trantsizioak, efektuak eta grafikoak", + "colorgrade": "Kolore-konponketa eta LUT bidezko gradazioa" + }, + "skill": { + "premiere": "Adobe Premiere", + "resolve": "DaVinci Resolve", + "finalcut": "Final Cut Pro", + "aftereffects": "After Effects", + "luts": "LUT pertsonalizatuak", + "vhs": "VHS / erretro estetika", + "4k": "4K eta RAW lan-fluxuak", + "sound": "Soinu-diseinua / nahasketa" + }, + "skillDesc": { + "premiere": "Adobe Premiere Pro edizioa", + "resolve": "DaVinci Resolve edizioa eta gradazioa", + "finalcut": "Final Cut Pro edizioa", + "aftereffects": "Mugimendu-grafikoak eta konposizioa", + "luts": "Kolore-itxura pertsonalizatuen garapena", + "vhs": "VHS glitcha, super-8, erretro film-itxurak", + "4k": "Bereizmen handiko RAW/LOG kamera lan-fluxuak", + "sound": "Musika-sinkronia, SFX, audio-masterizazioa" + } + }, + "photo": { + "service": { + "action": "Akzioa / trikimailu-irudiak", + "sequence": "Sekuentzia-planoak", + "portraits": "Erretratuak", + "editorial": "Editoriala / aldizkaria", + "product": "Produktu / denda argazkilaritza", + "events": "Gertaeren estaldura", + "lifestyle": "Lifestyle / dokumentala", + "prints": "Inprimakiak eta fanzineak" + }, + "serviceDesc": { + "action": "Trikimailu eta lineen akzio-goreneko irudiak", + "sequence": "Fotograma anitzeko trikimailu-sekuentziak", + "portraits": "Riderren erretratuak eta talde-argazkiak", + "editorial": "Aldizkarirako editorial-orriak", + "product": "Taula, ekipamendu eta dendako produktuen argazkilaritza", + "events": "Lehiaketa, jam eta estreinaldien estaldura", + "lifestyle": "Kulisetako eta kulturako dokumentala", + "prints": "Inprimaki fisikoak, fanzineak eta argazki-liburuak" + }, + "camera": { + "dslr": "DSLR", + "mirrorless": "Ispilurik gabea", + "medium": "Formatu ertaina", + "film35": "35 mm-ko filma", + "filmmedium": "Formatu ertaineko filma", + "point": "Kamera konpaktua", + "phone": "Mugikorra" + }, + "lens": { + "fisheye": "Arrain-begia", + "wide": "Angelu zabala", + "standard": "Estandarra / finkoa", + "telephoto": "Teleobjektiboa / objektibo luzea", + "macro": "Makroa", + "zoom": "Zooma" + }, + "lighting": { + "strobes": "Estudioko flashak", + "speedlights": "Flash arinak / flashak", + "profoto": "Profoto", + "elinchrom": "Elinchrom", + "godox": "Godox", + "triggers": "Urruneko trigerrak", + "continuous": "Etengabeko argia / LED", + "reflectors": "Erreflektoreak / difusoreak", + "naturallight": "Argiztapen naturala soilik" + }, + "support": { + "tripod": "Tripodea", + "monopod": "Monopodea", + "lightstands": "Argi-euskarriak", + "gimbal": "Gimbal", + "bag": "Muntaia mugikorra / zorroa", + "laptop": "Tokian bertan tetheraztea" + }, + "style": { + "flashfisheye": "Flash arrain-begia", + "natural": "Argiztapen naturala", + "bw": "Zuri-beltza", + "film": "Film-estetika", + "longlens": "Objektibo luzea", + "studio": "Estudioa / argiztatua", + "street": "Kalea / dokumentala" + } + }, + "builder": { + "service": { + "diy": "DIY tokiak", + "concrete": "Hormigoizko parkeak", + "wood": "Egurrezko rampak", + "bowls": "Bowl eta igerilekuak", + "transitions": "Trantsizioak eta quarterrak", + "rails": "Barandak eta ertzak", + "boxes": "Manny padak eta kutxak", + "minis": "Mini-rampak", + "pumptrack": "Pump trackak", + "foam": "Apar-kutxak / barnekoa", + "repairs": "Konponketak eta azalera-berritzea", + "design": "Diseinua eta aholkularitza" + }, + "serviceDesc": { + "diy": "Komunitateko DIY tokiak eta eraikuntza klandestinoak", + "concrete": "Hormigoi isuriko skateparkeak eta elementuak", + "wood": "Egurrezko rampak, jaurtiketa-kutxak eta oztopoak", + "bowls": "Bowl, igerileku eta trantsizio sakonak", + "transitions": "Quarterpipeak, bankuak eta trantsizioak", + "rails": "Altzairuzko barandak, ertzak eta grind-elementuak", + "boxes": "Manny padak, funboxak eta kaleko elementuak", + "minis": "Mini-rampak eta etxeko muntaiak", + "pumptrack": "Pump trackak eta flow-lineak", + "foam": "Apar-kutxak, resi eta barneko entrenamendu-elementuak", + "repairs": "Dauden tokiak konpondu, adabakitu eta azalera berritzea", + "design": "Planak, marrazkiak eta eraikuntza-aholkularitza" + }, + "skill": { + "concretework": "Hormigoia / shotcretea", + "welding": "Soldadura / altzairu-fabrikazioa", + "carpentry": "Arotzeria / egur-lana", + "formwork": "Enkofratua eta armadura", + "masonry": "Harlangintza / bloke-lana", + "coping": "Copinga (igerilekua / altzairua)", + "surfacing": "Skatelite / azalera", + "earthworks": "Mugimendu-lurrak / indusketa" + }, + "scale": { + "backyard": "Etxeko patioan / mini", + "diycommunity": "Komunitateko DIY", + "publicpark": "Parke publiko osoa", + "indoor": "Barneko instalazioa", + "event": "Gertaera / lehiaketa-ibilbidea" + } + }, + "artist": { + "service": { + "boardart": "Taula-grafikoak", + "logos": "Logoak eta marka-irudia", + "posters": "Posterrak eta esku-orriak", + "merch": "Merchandisinga eta arropa", + "zines": "Fanzineak eta inprimakiak", + "illustration": "Ilustrazioa", + "stickers": "Pegatinak eta decalak", + "webdesign": "Web / digitala", + "typography": "Tipografia / letraketa", + "animation": "Animazioa / motion" + }, + "serviceDesc": { + "boardart": "Taula-grafikoak eta griptape artea", + "logos": "Marka-identitatea, logoak eta letra-markak", + "posters": "Gertaera-posterrak, esku-orriak eta kontzertu-artea", + "merch": "Kamisetak, kapusaiak eta arropa-grafikoak", + "zines": "Fanzineak, editoriala eta inprimaki-diseinua", + "illustration": "Ilustrazio pertsonalizatua eta pertsonaia-lana", + "stickers": "Pegatina-sortak, decalak eta slaps", + "webdesign": "Webguneak, digitala eta UIa", + "typography": "Eskuzko letraketa eta tipografia pertsonalizatua", + "animation": "Mugimendu-grafikoak eta animazioa" + }, + "medium": { + "digital": "Digitala / bektoriala", + "handdrawn": "Eskuz marraztua", + "screenprint": "Serigrafia", + "paint": "Margoa / akrilikoa", + "collage": "Collagea / mistoa", + "photo": "Argazkia / Photoshop", + "3d": "3D / renderra" + }, + "tool": { + "illustrator": "Adobe Illustrator", + "photoshop": "Adobe Photoshop", + "procreate": "Procreate", + "affinity": "Affinity", + "figma": "Figma", + "blender": "Blender", + "aftereffects": "After Effects", + "clipstudio": "Clip Studio" + } + }, + "graffiti": { + "style": { + "throwups": "Throw-upak", + "pieces": "Piezak / burnerrak", + "murals": "Muralak", + "characters": "Pertsonaiak", + "lettering": "Letraketa / wildstyle", + "stencil": "Estentzilkoa", + "handstyles": "Handstyleak / tagak", + "3dstyle": "3D estiloa", + "abstract": "Abstraktua" + }, + "styleDesc": { + "throwups": "Bi koloretako betetze azkarrak", + "pieces": "Kolore osoko piezak eta burnerrak", + "murals": "Eskala handiko muralak eta produkzioak", + "characters": "Pertsonaia eta figura-lana", + "lettering": "Wildstylea eta letren egitura", + "stencil": "Estentzilkoa eta kale-artea", + "handstyles": "Tagak eta handstyleak", + "3dstyle": "3D eta anamorfikoko letraketa", + "abstract": "Abstraktua eta freestylea" + }, + "medium": { + "spray": "Spray-latak", + "rollers": "Errotuluak / emultsioa", + "markers": "Errotuladoreak / tintak", + "brush": "Pintzela / margoa", + "digital": "Digitala / Procreate" + }, + "context": { + "legalwalls": "Horma legalak", + "commissions": "Enkarguak", + "liveart": "Zuzeneko margolaritza", + "skateparks": "Skatepark muralak", + "interiors": "Barrualdeak / dendak", + "workshops": "Tailerrak" + } + }, + "tattoo": { + "style": { + "traditional": "Tradizionala / old school", + "neotraditional": "Neo-tradizionala", + "fineline": "Fine line", + "blackwork": "Blackwork", + "realism": "Errealismoa", + "lettering": "Letraketa / script", + "illustrative": "Ilustratiboa", + "skateflash": "Skate flash", + "ignorant": "Ignorant / handpoke estiloa", + "japanese": "Japoniarra / irezumi" + }, + "styleDesc": { + "traditional": "Lerro sendoak, amerikar klasikoa", + "neotraditional": "Tradizionala xehetasun modernoekin", + "fineline": "Orratz bakarreko lan delikatua", + "blackwork": "Beltz solidoa eta patroia", + "realism": "Argazki-errealismoa eta erretratuak", + "lettering": "Scripta, letraketa eta aipuak", + "illustrative": "Ilustratiboa eta grafikoa", + "skateflash": "Skate-kulturako flash diseinuak", + "ignorant": "Ignorant / naive handpoke estiloa", + "japanese": "Japoniar tradizionala / irezumi" + }, + "method": { + "machine": "Makina", + "handpoke": "Hand-poke / stick & poke", + "flash": "Flash eskuragarri", + "custom": "Diseinu pertsonalizatuak", + "coverup": "Cover-upak" + } + }, + "trainer": { + "focus": { + "strength": "Indarra eta prestaketa fisikoa", + "mobility": "Mugikortasuna eta malgutasuna", + "injuryprevention": "Lesioen prebentzioa", + "rehab": "Errehabilitazioa / fisioterapia", + "recovery": "Berreskuratzea eta gorputz-lana", + "balance": "Oreka eta egonkortasuna", + "cardio": "Kardio / erresistentzia", + "nutrition": "Nutrizio-aholkularitza" + }, + "focusDesc": { + "strength": "Skatatzeko indarra eta potentzia lantzea", + "mobility": "Mugimendu-eremua eta malgutasuna", + "injuryprevention": "Prehabilitazioa eta lesio-arriskua murriztea", + "rehab": "Lesio osteko fisioterapia eta errehabilitazioa", + "recovery": "Masajea, gorputz-lana eta berreskuratzea", + "balance": "Propriozepzioa, oreka eta egonkortasuna", + "cardio": "Prestaketa fisikoa eta erresistentzia", + "nutrition": "Elikadura eta nutrizio-aholkuak" + }, + "injury": { + "ankles": "Orkatilak", + "knees": "Belaunak", + "wrists": "Eskumuturrak", + "hips": "Aldakak", + "back": "Bizkarra / bizkarrezurra", + "shoulders": "Sorbaldak", + "heelbruise": "Orpo-ubeldurak", + "concussion": "Zorabio-protokoloa" + }, + "credential": { + "physio": "Fisioterapeuta lizentziaduna", + "osteo": "Osteopata", + "certtrainer": "Entrenatzaile ziurtatua", + "sportstherapist": "Kirol-terapeuta", + "massage": "Masajista", + "inperson": "Aurrez aurrekoa", + "remote": "Urrunekoa / online" + } + }, + "musician": { + "genre": { + "punk": "Punk", + "hardcore": "Hardcore", + "metal": "Metal", + "rock": "Rock", + "indie": "Indie / alternatiboa", + "hiphop": "Hip-hop / rap", + "electronic": "Elektronikoa", + "lofi": "Lo-fi / beatak", + "reggae": "Reggae / dub", + "ska": "Ska", + "jazz": "Jazza", + "funk": "Funk / soul", + "flamenco": "Flamenkoa", + "folk": "Folk / akustikoa", + "experimental": "Esperimentala", + "grunge": "Grunge" + }, + "instrument": { + "vocals": "Ahotsa", + "guitar": "Gitarra", + "bass": "Baxua", + "drums": "Bateria", + "keys": "Teklatuak / sintetizadorea", + "dj": "DJ / turntableak", + "producer": "Ekoizlea / beatak", + "sax": "Saxoa / metalezko haizeak", + "strings": "Hariak", + "other": "Beste bat" + }, + "act": { + "solo": "Bakarkako artista", + "band": "Taldea", + "dj": "DJ", + "producer": "Ekoizlea", + "collective": "Kolektiboa" + } + }, + "judge": { + "format": { + "game_of_skate": "Game of S.K.A.T.E.", + "best_trick": "Best Trick", + "jam": "Jam formatua", + "contest": "Lehiaketa / comp", + "street_league": "Street League estiloa", + "bowl": "Bowl / vert", + "mini_ramp": "Mini-rampa", + "park": "Parkea", + "street": "Kalea", + "freestyle": "Freestylea", + "world_tour": "World Destruction Tour", + "am_series": "Am series / sailkapenak", + "local_jam": "Tokiko jam / herri-mailakoa", + "online": "Online / IG lehiaketa" + }, + "specialty": { + "head_judge": "Epaimahaiburu", + "scoring": "Puntuazioa / taula", + "mc": "MC / aurkezlea", + "format_design": "Formatu-diseinua", + "rules": "Arauak / epaiketa", + "brackets": "Koadroak / txandak", + "livestream": "Zuzeneko epaiketa", + "am_scout": "Am behatzailea" + }, + "level": { + "local": "Tokikoa", + "regional": "Eskualdekoa", + "national": "Nazionala", + "international": "Nazioartekoa", + "pro": "Pro zirkuitua" + } + }, + "organizer": { + "event": { + "street_jam": "Kaleko jam", + "best_trick": "Best Trick", + "game_of_skate": "Game of S.K.A.T.E.", + "contest": "Lehiaketa / comp", + "bowl": "Bowl / vert", + "mini_ramp": "Mini-rampa", + "park": "Parke-saioa", + "demo": "Pro demoa", + "clinic": "Klinika / tailerra", + "meetup": "Topaketa / cruisea", + "downhill": "Jaitsiera / lasterketa", + "slalom": "Slaloma", + "kids": "Haurrak / gazteak", + "charity": "Ongintza / diru-bilketa", + "tour_stop": "Tour-stop", + "premiere": "Bideo-estreinaldia", + "market": "Azoka / arte-erakusketa" + }, + "service": { + "organizing": "Antolaketa osoa", + "hosting": "Aurkezpena / MC", + "permits": "Baimenak eta udala", + "sponsorship": "Babesletza / marka-akordioak", + "promotion": "Promozioa eta marketina", + "livestream": "Zuzeneko emanaldia / estaldura", + "sound": "Soinua eta musika", + "ramps": "Rampak eta oztopoak", + "safety": "Segurtasuna eta lehen sorospena", + "vendors": "Janaria eta saltzaileak", + "media": "Argazki / bideo estaldura", + "registration": "Izen-emateak eta koadroak" + }, + "scale": { + "grassroots": "Herri-mailakoa", + "local": "Tokikoa", + "regional": "Eskualdekoa", + "national": "Nazionala", + "international": "Nazioartekoa", + "pro": "Pro zirkuitua" + } + }, + "barber": { + "service": { + "haircut": "Ile-mozketa", + "fade": "Fadea", + "beard": "Bizarra moztea", + "lineup": "Ertzak / shape-up", + "colour": "Kolorea eta tindaketa", + "kids": "Haurren mozketak" + }, + "serviceDesc": { + "haircut": "Mozketa klasikoa — makinarekin eta guraizeekin.", + "fade": "Fade graduatua — baxua, ertaina edo altua.", + "beard": "Bizarra moztu, moldatu eta txukundu.", + "lineup": "Ile-mugaren eta lepoaren inguruko ertzak garbi.", + "colour": "Kolorea, bleacha, tindaketa eta tonua.", + "kids": "Skater gazteentzako mozketa patxadatsuak." + }, + "style": { + "skin_fade": "Skin fadea", + "taper": "Taperra", + "buzz": "Makinazko mozketa laburra", + "mohawk": "Mohikanoa", + "mullet": "Mulleta", + "curly": "Kizkurrak / afroa", + "long": "Ile luzea / geruzak", + "classic": "Guraize-mozketa klasikoa" + }, + "setting": { + "shop": "Denda / bizargin-denda", + "mobile": "Mugikorra / etxez etxeko zerbitzua", + "event": "Skate-gertaerak eta lehiaketak" + } + }, + "clothing": { + "service": { + "tees": "Kamisetak", + "hoodies": "Kapusaiak eta sudaderak", + "pants": "Prakak eta galtza motzak", + "jackets": "Jakak eta kanpoko arropa", + "kits": "Talde-kitak eta kamisetak", + "caps": "Kapelak eta txanoak", + "socks": "Galtzerdiak", + "accessories": "Zorroak eta osagarriak", + "footwear": "Oinetakoak eta zapatak", + "patches": "Adabakiak eta aplikazioak", + "griptape": "Griptapea eta taula-arropa", + "onepiece": "Pieza bakarrekoak / birziklatuak" + }, + "serviceDesc": { + "tees": "Kamisetak eta goiko atalak pertsonalizatuak", + "hoodies": "Kapusaiak, sudaderak eta joggingak", + "pants": "Lan-prakak, cargoak eta galtza motzak", + "jackets": "Coach-jakak, shellak eta lan-jakak", + "kits": "Talde-kitak, kamisetak eta uniformeak", + "caps": "Kapelak, txanoak eta buruko arropa", + "socks": "Galtzerdi luzeak eta puntuzkoak", + "accessories": "Zorroak, gerrikoak eta objektu txikiak", + "footwear": "Oinetako pertsonalizatuak", + "patches": "Adabaki brodatua eta aplikazioa", + "griptape": "Griptape artea eta taula-arropa", + "onepiece": "Pieza bakarrak eta birziklatutako jantziak" + }, + "method": { + "screenprint": "Serigrafia", + "dtg": "DTG / ehunera zuzenean", + "embroidery": "Bordatu", + "cutsew": "Moztu eta jos", + "sublimation": "Sublimazioa", + "heattransfer": "Transfer beroa / biniloa", + "garmentdye": "Jantzi-tindaketa", + "knit": "Puntugintza", + "patchwork": "Patchworka", + "allover": "Inprimaketa osoa" + }, + "material": { + "cotton": "Kotoia", + "heavyweight": "Gramaje handikoa", + "organic": "Organikoa / jasangarria", + "fleece": "Pile", + "denim": "Denima", + "canvas": "Lona", + "nylon": "Nylona / teknikoa", + "wool": "Merinoa / artilea", + "leather": "Larrua", + "recycled": "Birziklatua / deadstock" + } + }, + "tour": { + "skill": { + "beginner": { + "label": "Hasiberria", + "description": "Skatean berria edo oinarrizko trikimailuak" + }, + "intermediate": { + "label": "Ertaina", + "description": "Lurralde gehienetan eroso" + }, + "advanced": { + "label": "Aurreratua", + "description": "Skater esperientziaduna, toki gogorrak" + }, + "all": { + "label": "Maila guztiak", + "description": "Edonorentzat egokia" + } + } + } + } +}; + +export default batch5; diff --git a/src/i18n/eu/batch6.ts b/src/i18n/eu/batch6.ts new file mode 100644 index 0000000..43d2e7a --- /dev/null +++ b/src/i18n/eu/batch6.ts @@ -0,0 +1,1137 @@ +const batch6 = { + walletUi: { + page: { + title: "Zorroa", + subtitle: "Bitcoin Lightning + Cashu", + manage: "Kudeatu", + getAWallet: "Eskuratu zorro bat", + learnPlanB: "Ikasi gehiago Plan B Academy-n", + walletMinibits: "Cashu mugikorra · NWC", + walletAlby: "Nabigatzailearen gehigarria · WebLN + NWC", + walletZeus: "Lightning autogordetua", + walletCoinos: "Webean oinarritua · nonahi dabil", + whatAreZaps: "Zer dira Zapak?", + whatAreZapsShort: "Zer dira zapak?", + zapsDesc: "Berehalako Bitcoin Lightning ordainketak. Bidali sats-ak edozein skaterri, spot-egileari edo coach-ari — bitartekaririk gabe, plataformak komisiorik kendu gabe.", + instant: "Berehalakoa", + instantDesc: "Segundo batzuetan burutzen da", + flexible: "Malgua", + flexibleDesc: "Zure zorroa, zure gakoak", + private: "Pribatua", + privateDesc: "Cashuk nork ordaintzen duen ezkutatzen du", + direct: "Zuzena", + directDesc: "Balioa sortzailearengana doa", + loginRequired: "Saioa hasi behar duzu", + loginRequiredDesc: "Hasi saioa zure Nostr kontuarekin Lightning zorroa konektatzeko eta zapak bidaltzeko.", + browseMints: "Arakatu Cashu mint-ak" + }, + modal: { + walletName: "Zorroaren izena (aukerakoa)", + walletNamePlaceholder: "Nire Lightning zorroa", + connectionUri: "Konexioaren URIa", + spendLimitTitle: "Ezarri gastu-muga bat lehenik", + spendLimitBody1: "Kate honek SkateSpots-ek zure zorroko Lightning fakturak ordaintzea ahalbidetzen du. Zure zorro-aplikazioan, eman konexio honi", + dailyBudget: "eguneko aurrekontu txiki bat", + spendLimitBody2: "(adibidez, milaka sats gutxi batzuk) eta gaitu soilik", + spendLimitBody3: "Ez itsatsi mugarik gabeko aurrekontua duen konexiorik. Edozein momentutan ezeztatu dezakezu zure zorroan.", + addWallet: "Gehitu zorroa", + nwcConnection: "NWC konexioa", + lightningWallet: "Lightning zorroa", + pasteNwc: "Itsatsi zure NWC konexio-katea zapak bidaltzeko", + connectWallet: "Konektatu zorroa", + browserExtension: "Nabigatzailearen gehigarria (WebLN)", + autoDetected: "Automatikoki detektatzen da instalatuta badago", + ready: "Prest", + notFound: "Ez da aurkitu", + getNwcFrom: "Lortu NWC hemendik:", + connectionRequired: "Konexio-URIa beharrezkoa da", + connectionRequiredDesc: "Sartu baliozko NWC konexio-URI bat.", + activeChanged: "Zorro aktiboa aldatu da", + activeChangedDesc: "Hautatutako zorroa da orain aktiboa zapetarako.", + connectNwc: "Konektatu NWC zorroa", + connectNwcDesc: "Sartu zure konexio-katea zorro bateragarri batetik.", + connect: "Konektatu", + connecting: "Konektatzen...", + walletSettings: "Zorroaren ezarpenak", + connectDesc: "Konektatu zure Lightning zorroa zapak berehala bidaltzeko." + }, + cashu: { + title: "Cashu zorroa", + desc: "Barneko ecash zorroa — kanpoko konfiguraziorik gabe", + initializing: "Zorroa hasieratzen...", + walletError: "Zorroaren errorea", + balance: "Saldoa", + balanceAria: "Zorroaren saldoa: {{amount}} sats", + activeMint: "Mint aktiboa", + selectMint: "Hautatu mint bat", + receive: "Jaso", + send: "Bidali", + receiveViaLightning: "⚡ Jaso Lightning bidez", + amountSats: "Zenbatekoa sats-etan", + generateInvoice: "Sortu faktura", + generating: "Sortzen…", + or: "Edo", + receiveCashu: "🥜 Jaso Cashu tokena", + scanQr: "Eskaneatu QR", + pasteCashu: "Itsatsi Cashu tokena (cashu...)", + receiveToken: "Jaso tokena", + receiving: "Jasotzen…", + createCashu: "🥜 Sortu Cashu tokena", + createToken: "Sortu tokena", + creating: "Sortzen…", + payInvoice: "⚡ Ordaindu Lightning faktura", + pasteInvoice: "Itsatsi Lightning faktura (lnbc...)", + payInvoiceBtn: "Ordaindu faktura", + processing: "Prozesatzen...", + payAddress: "📧 Ordaindu Lightning helbide batera", + sendToAddress: "Bidali helbidera", + sending: "Bidaltzen…", + recentActivity: "Azken jarduera", + receivedLightning: "⚡ Lightning jasota", + sentLightning: "⚡ Lightning bidalita", + sentToken: "🥜 Tokena bidalita", + receivedToken: "🥜 Tokena jasota", + whatIsCashu: "Zer da Cashu?", + whatIsCashuDesc: "Cashu Bitcoin Lightning-en babestutako diru digitala da. Pentsa ezazu nabigatzailean daukazun Bitcoin token gisa.", + benefitOffline: "Skate spot-etan lineaz kanpo dabil", + benefitInstant: "Berehalako ordainketak pertsona artean", + benefitPrivacy: "Pribatutasunean zentratua (mint-ek ezin zaituzte jarraitu)", + benefitRedeemable: "Beti truka daiteke Lightning satsekin", + findMints: "Aurkitu mint-ak mintradar.pedani.eu atarian", + backupTitle: "Egin zure zorroaren babeskopia", + backupDesc: "Zure zorroa 12 hitzetako berreskuratze-esaldi batekin babestuta dago. Gorde seguru — zure saldoa berreskuratzeko beharko duzu nabigatzailearen datuak ezabatzen badituzu.", + viewRecovery: "Ikusi berreskuratze-esaldia", + backupNote: "Hau zure Nostr nsec-en antzekoa da — eduki sekretu eta babeskopia eginda!", + tokenReceived: "Tokena jasota", + tokenReceivedDesc: "Cashu tokena ondo trukatu da!", + receiveFailed: "Jasotzeak huts egin du", + unknownError: "Errore ezezaguna", + requestUnsupported: "Cashu eskaera ez da oraindik onartzen", + requestUnsupportedDesc: "Zorro honek ezin du oraindik Cashu (creq) eskaera bat ordaindu — eskatu Lightning faktura edo helbide bat.", + onchainUnsupported: "On-chain ordainketa ez da hemen onartzen", + onchainUnsupportedDesc: "Hori Bitcoin helbide bat da. Zorro honek Cashu tokenak eta Lightning ordainketak soilik bidaltzen ditu.", + nostrProfile: "Hori Nostr profila da", + nostrProfileDesc: "Eskaneatu Cashu token bat, Lightning faktura bat edo Lightning helbide bat ordaintzeko.", + clinkUnsupported: "Ordainketa-kodea ez da oraindik onartzen", + clinkUnsupportedDesc: "Zorro honek ezin ditu oraindik CLINK kodeak ordaindu. Erabili Lightning faktura edo helbide bat.", + unrecognizedQr: "QR kodea ez da ezagutzen", + unrecognizedQrDesc: "Eskaneatu Cashu token bat, Lightning faktura bat edo Lightning helbide bat.", + invalidAmount: "Zenbateko baliogabea", + invalidAmountDesc: "Sartu baliozko zenbateko bat", + paymentSent: "Ordainketa bidalita", + paymentSentDesc: "{{amount}} sats bidali dira helbide honetara: {{address}}", + paymentFailed: "Ordainketak huts egin du", + copied: "Kopiatuta", + copiedDesc: "{{label}} arbelean kopiatu da", + receiveSats: "Jaso {{amount}} sats", + payInvoiceHint: "Ordaindu faktura hau edozein Lightning zorrotatik", + invoiceQrAlt: "Fakturaren QR kodea", + lightningInvoice: "Lightning faktura", + invoiceLabel: "Faktura", + waiting: "⏳ Ordainketaren zain...", + tokenReady: "Tokena bidaltzeko prest", + shareToken: "Partekatu token hau hartzailearekin", + tokenQrAlt: "Tokenaren QR kodea", + cashuToken: "Cashu tokena", + tokenLabel: "Tokena", + copyToken: "Kopiatu tokena", + tokenWarning: "Token hau duen edonork eskuratu dezake — tratatu dirua balitz bezala!", + browser: { + title: "Barneko ecash zorroa", + appOnly: "Aplikazioan soilik", + desc: "Cashu ecash autogordetua, Bitcoin Lightning-en bidez", + unlockTitle: "Askatu zorro osoa SkateSpots aplikazioan", + unlockDesc: "Barneko ecash zorroak Cashu tokenak spot-ean bertan sortu, bidali eta trukatzeko aukera ematen dizu. Aplikazio natiboan dago, bertatik mint-ekin zuzenean hitz egin baitezake — nabigatzaileek konexio horiek isolatu egiten dituzte zure segurtasunerako.", + zapTipTitle: "Zap eta tip — nabigatzailean bertan dabil", + zapTipDesc: "Sats-ak spot-ei, ekitaldiei, coach-ei eta crew-ei bidaltzea hemen bertan dabil. Konektatu Lightning zorro bat behean — Nostr Wallet Connect edo Alby bezalako nabigatzaile-gehigarri bat. Ez da Cashu mint-ik behar." + } + }, + escrow: { + title: "Fidantza", + desc: "Saldu seguru: aktibatu fidantza eta erosleak bere sats-ak zuregana blokeatu ahal izango ditu truke baterako. Zuk askatzen dituzu entregatzen duzunean — bestela, erosleak berreskuratu ahal izango ditu adostutako epea igarota.", + active: "Fidantza aktibatuta dago", + publish: "Aktibatu fidantza", + published: "Fidantza aktibatuta dago", + publishedDesc: "Erosleek orain zuregana blokeatu ditzakete funtsak truke baterako.", + failed: "Ezin izan da fidantza aktibatu" + }, + escrowSettings: { + title: "Fidantzaren ezarpenak", + desc: "Cashu fidantza-trukeetarako balio lehenetsiak. Gailuan soilik.", + lockWindow: "Blokeo-epe lehenetsia", + lockWindowHint: "Zenbat denboraz egoten diren funtsak blokeatuta erosleak berreskuratu aurretik. Luzeagoa seguruagoa da saltzailearentzat.", + days: "egun", + preferredMint: "Fidantzarako mint-a", + activeMint: "Mint aktiboa", + preferredMintHint: "Zein mint-ek finantzatzen duen fidantza. Erabili fidagarria den bat.", + requireListings: "Eskatu fidantza iragarki berrietan", + requireListingsHint: "Aurrez hautatzen du “Eskatu fidantza” elementu bat iragartzean." + }, + privacy: { + title: "Pribatutasun-aholkuak", + subtitle: "Ikasi zure finantza-pribatutasuna nola babestu", + cashuRecommended: "CASHU (GOMENDATUA)", + anon: "Transakzio anonimoak", + blind: "Sinadura itsuek jarduera ezkutatzen dute", + noIp: "IPrik ez da agerian geratzen", + trustMint: "Mint-ari funtsak fidatu behar zaizkio", + lightningAddress: "LIGHTNING HELBIDEA", + linked: "Identitatearekin lotu daiteke", + traceable: "Ordainketa-historia jarrai daiteke", + ipVisible: "IPa agerian fakturatzen denean", + selfCustody: "Autogordetza posible", + bestPractices: "Jardunbide egokiak", + tip1Title: "Erabili Cashu tipak jasotzeko", + tip1Desc: "Barneko Cashu zorroa da zapak jasotzeko modurik pribatuena", + tip2Title: "Erabili zorro bereizi bat SkateSpots-erako", + tip2Desc: "Ez erabili zure aurrezki-zorro nagusia — eduki aplikazioko funtsak bereizita", + tip3Title: "Kontuan izan VPN edo Tor erabiltzea", + tip3Desc: "Zure IP helbidea ezkutatzen du transakzioak egitean", + tip4Title: "Saihestu identitatearekin lotutako Lightning helbideak", + tip4Desc: "Erabili zure benetako izenarekin lotu gabeko helbide pseudonimoak", + proTip: "Pro aholkua:", + proTipDesc: "Jaso ordainketak lehenik zure Cashu zorroan, eta gero aldian-aldian eraman zenbateko handiagoak zure zorro pertsonalera, transferentzian VPN bat erabiliz.", + warnTitle: "Pribatutasun-oharra", + warnDesc: "Lightning helbideek zure SkateSpots jarduera zure benetako identitatearekin lotu dezakete.", + betterPrivacy: "Pribatutasun hobea lortzeko:", + bullet1: "Erabili zorro dedikatu bat aplikazio honetarako", + bullet2: "Kontuan izan Cashu zorroa erabiltzea horren ordez", + bullet3: "Erabili VPN/Tor transakzioetarako", + useCashu: "Erabili Cashu horren ordez", + understand: "Ulertzen dut" + }, + mintPrivacy: { + title: "Mint-en pribatutasuna", + desc: "Mint batzuk erabiltzeak pribatutasuna hobetzen du, mint bakar batek zure transakzio guztiak ikus ez ditzan eragotziz", + distribution: "Funtsen banaketa", + singleWarning: "Mint bakarra erabiltzeak mint horri zure transakzioen denbora eta zenbateko guztiak ikusteko aukera ematen dio. Kontuan izan mint gehiago gehitzea pribatutasun hobea lortzeko.", + yourMints: "Zure mint-ak ({{count}})", + default: "Lehenetsia", + addMint: "Gehitu mint-a", + addMintDesc: "Gehitu Cashu mint berri bat zure zorroan", + mintUrl: "Mint-aren URLa", + add: "Gehitu", + adding: "Gehitzen...", + orChoose: "Edo aukeratu zerrendatik", + recommended: "Mint gomendatuak", + allMints: "Mint guztiak (direktorioa)", + searchMints: "Bilatu mint-ak…", + noDirectoryMints: "Ez da mint-ik bat dator zure bilaketarekin.", + directoryHint: "Komunitateko MintRadar direktorioarena — ez ofiziala eta zaharkituta egon daiteke.", + added: "Gehituta", + soon: "Laster", + autoDistribute: "Banatu funtsak automatikoki", + autoDesc: "Banatu jasotako funtsak mint batzuen artean", + autoAria: "Banatu funtsak automatikoki (laster)", + tip1: "Erabili gutxienez 2-3 mint desberdin pribatutasun hobea lortzeko", + tip2: "Ez eduki funts guztiak mint bakarrean — banatu", + tip3: "Kontuan izan mint-aren jurisdikzioa (herrialde desberdinak = sarbide legal desberdinak)", + tip4: "Mint-ek transakzioen denbora ikusten dute, baina EZ nori ordaintzen diozun (sinadura itsuak)", + future: "Etorkizuneko eginbideak: mint-errotazioa eta pribatutasun-puntuazioa — egon adi!", + findMore: "Aurkitu mint gehiago mintradar.pedani.eu atarian", + trustWarning: "Fidagarritasun-oharra:", + trustWarningDesc: "Mint-ek zure funtsak gordetzen dituzte — zaintzaileak dira. Erabili fidatzen dituzun mint-ak soilik. Mint bat desagertzen bada, zure funtsak galdu daitezke. Funtsak mint batzuen artean banatzeak arriskua gutxitzen du.", + removeTitle: "Kendu mint-a?", + removeDesc: "Ziur zaude {{name}} kendu nahi duzula?", + removeMint: "Kendu mint-a", + warning: "Abisua:", + withdrawWarning: "Mint honek {{amount}} sats ditu. Atera zure funtsak kendu aurretik!", + invalidUrl: "URL baliogabea", + invalidUrlDesc: "Mint-aren URLak https:// behar du hasieran", + mintAdded: "Mint-a gehituta", + mintAddedDesc: "Mint berria ondo gehitu da", + mintAddedNamed: "{{name}} ondo gehitu da", + failedAdd: "Ezin izan da mint-a gehitu", + failed: "Huts egin du", + noMints: "Mint-ik ez", + singleMint: "Mint bakarra", + concentrated: "Kontzentratua", + moderate: "Neurrizkoa", + wellDistributed: "Ondo banatua", + mintCoinosWebDesc: "Weberako mint egokia (nabigatzaileetarako gomendatua)", + mintMinibitsWebDesc: "⚠ Aplikazio natiborako soilik — web nabigatzaileetatik ez da iristen", + mintMinibitsNativeDesc: "SkateSpots mint-a — gomendatua", + mintCoinosDesc: "Weberako mint egokia", + mintLnbitsDesc: "Komunitateko mint-a LNbits-en" + }, + nwc: { + title: "Lightning zorroa", + noConnection: "NWC zorroa", + refresh: "Eguneratu saldoa", + createInvoice: "Sortu faktura", + copyInvoice: "Kopiatu faktura", + pasteInvoice: "Itsatsi Lightning faktura bat (lnbc…)", + amount: "Zenbatekoa: {{amount}} sats", + pasteToSee: "Itsatsi faktura bat zenbatekoa ikusteko", + pay: "Ordaindu", + invoiceQrAlt: "Lightning fakturaren QR kodea", + enterAmount: "Sartu zenbateko bat sats-etan", + readBalanceFailed: "Ezin izan da saldoa irakurri", + readBalanceFailedDesc: "Zure zorroak ez du erantzun.", + createInvoiceFailed: "Ezin izan da faktura sortu", + createInvoiceFailedDesc: "Saiatu berriro une bat barru.", + paymentSent: "Ordainketa bidalita", + paidAmount: "{{amount}} sats ordaindu dira.", + paid: "Ordainduta.", + paymentRejected: "Zorroak ordainketa baztertu du." + }, + qr: { + title: "Eskaneatu QR kodea", + desc: "Jarri QR kodea kameraren ikus-eremuan eskaneatzeko", + paste: "Itsatsi arbelatik", + hint: "Eskaneatu Cashu token bat, Lightning faktura bat edo Lightning helbide bat", + clipboardEmpty: "Arbela hutsik dago", + clipboardEmptyDesc: "Ez da testurik aurkitu arbelean", + pasteFailed: "Itsasteak huts egin du", + pasteFailedDesc: "Ezin izan da arbeletik irakurri" + }, + recovery: { + title: "Berreskuratze-esaldia", + desc: "12 hitz hauek dira zure ecash saldoa berreskuratzeko modu bakarra. Idatzi ordenan eta gorde lineaz kanpo — ez partekatu inorekin.", + tapReveal: "Sakatu erakusteko", + noWatching: "Ziurtatu inor ez dagoela begira", + hide: "Ezkutatu", + reveal: "Erakutsi", + paperHint: "Seguruena paperean idaztea da — arbelean kopiatzeak beste aplikazio batzuetara ihes egin dezake.", + written: "Idatzi ditut", + revealFirst: "Erakutsi hitzak lehenik", + copiedDesc: "Berreskuratze-esaldia kopiatu da — itsatsi leku seguru batean eta gero garbitu arbela.", + copyFailed: "Kopiatzeak huts egin du", + copyFailedDesc: "Idatzi hitzak paperean, mesedez." + }, + guide: { + quickGuide: "Gida azkarra", + fullGuide: "Zorroaren gida (Skater edizioa)", + cashuSummary: "Pribatutasuna + erraztasuna", + mintHoldsFunds: "(mint-ak funtsak gordetzen ditu)", + lightningSummary: "Kontrola + segurtasuna", + youHoldKeys: "(zuk dituzu gakoak)", + useBoth: "Erabili biak: Cashu tipetarako, Lightning aurrezpenerako", + cashuTitle: "CASHU ZORROA", + cashuTagline: "Skate parkean poltsikoan daramazun dirua bezala", + cashuBullet1: "Azkar ateratzen da tip bat emateko", + cashuBullet2: "Ez eraman zure bizitza-osoko aurrezkiak hona", + cashuBullet3: "Mint-a desagertzen bada, funtsak galdu daitezke", + cashuBullet4: "Inork ez daki zenbat duzun (pribatutasuna!)", + cashuPerfectFor: "Saioko mokaduak, klipak zapatzea, tip txikiak", + lightningTitle: "LIGHTNING ZORROA", + lightningTagline: "Zure banku-kontua bezala — zu zara kontrolean", + lightningBullet1: "Segurua, zuk kontrolatzen dituzu gakoak", + lightningBullet2: "Konfiguratzeko denbora pixka bat behar da", + lightningBullet3: "Transakzio-historia osoa", + lightningBullet4: "Hobea zenbateko handiagoetarako", + lightningPerfectFor: "Ekipamendua erostea, aurrezkiak, zap handiak", + perfectFor: "Ezin hobea:", + proTips: "PRO AHOLKUAK", + tip1Title: "Erabili bi zorroak", + tip1Desc: "Eduki saioko dirua Cashun eta aurrezkiak Lightning-en", + tip2Title: "Probatu zorro desberdinak", + tip2Desc: "Esperimentatu zuretzat zer dabilen aurkitzeko. Bakoitzak eginbide eta truke desberdinak ditu", + tip3Title: "Pribatutasun hobea", + tip3Desc: "Zorro batzuk erabiltzeak esan nahi du aplikazio bakar batek ere ez duela zure jarduera osoa ikusten", + tip4Title: "Hartu esperientzia", + tip4Desc: "Tresna gehiago ezagutzen dituzun heinean, aukera gehiago dituzu. Hasi txiki, ikasi bidean", + tldr: "Laburbilduz:", + tldrDesc: "Ez dago zorro \"hobes\"; zure beharren araberakoa da. Probatu biak, erabili egokia iruditzen zaizuna, eta ez eduki sats guztiak leku bakarrean!" + }, + zap: { + count: "{{count}} zap", + connectFirst: "Konektatu zure zorroa lehenik", + connectFirstDesc: "Zapak (Bitcoin tipak) bidaltzeko, Lightning zorro bat konektatu behar duzu.", + quickSetup: "Konfigurazio azkarra (30 segundo)", + quickSetupDesc: "Konektatu zure Lightning zorroa Nostr Wallet Connect (NWC) erabiliz. Ez da kontu gehigarririk behar.", + connectNwc: "Konektatu zorroa NWC-rekin", + noWallet: "Ez duzu zorrorik? Ikasi nola", + skip: "Saltatu oraingoz (faktura eskuz)", + note: "ℹ️ Ohar:", + noteDesc: "Zorro bat konektatu gabe ere sor dezakezu faktura bat, baina eskuz kopiatu beharko duzu ordaintzeko.", + payWithWebln: "Ordaindu WebLN-rekin", + processing: "Prozesatzen...", + openInWallet: "Ireki Lightning zorroan", + scanHint: "Eskaneatu QR kodea edo kopiatu faktura edozein Lightning zorrotatik ordaintzeko.", + cashuInstant: "Ordaindu berehala zure barneko zorroarekin", + satsAvailable: "sats erabilgarri", + or: "EDO", + customAmount: "Zenbateko pertsonalizatua", + addComment: "Gehitu iruzkin bat (aukerakoa)", + insufficientBanner: "⚠️ Cashu saldoa ez da nahikoa. {{amount}} sats gehiago behar dituzu. Aldatu Lightning-era edo kargatu zure Cashu zorroa.", + creatingInvoice: "Faktura sortzen...", + zapAmount: "Zap {{amount}} sats", + zapAmountCashu: "Zap {{amount}} sats Cashurekin", + lightningInvoice: "Lightning faktura", + qrAlt: "Lightning fakturaren QR kodea", + enterAmount: "Sartu zenbateko bat", + enterAmountDesc: "Hautatu aurrearikitako bat edo idatzi sats kopuru baliodun bat.", + cashuUnavailable: "Cashu zorroa ez dago erabilgarri", + cashuUnavailableDesc: "Zure Cashu zorroa ez dago prest. Aldatu Lightning-era edo ireki zure zorroa lehenik.", + insufficientCashu: "Cashu saldoa ez da nahikoa", + insufficientCashuDesc: "{{amount}} sats gehiago behar dituzu. Aldatu Lightning-era edo kargatu.", + zapSentCashu: "Zapa bidalita! 🥜", + zapSentCashuDesc: "{{amount}} sats bidali dira zure Cashu zorrotik.", + cashuFailed: "Cashu ordainketak huts egin du", + cashuFailedDesc: "Ezin izan da zure Cashu zorroarekin ordaindu.", + invoiceCopied: "Faktura kopiatuta", + invoiceCopiedDesc: "Lightning faktura arbelean kopiatu da", + defaultComment: "SkateSpots-en zap egina! 🛹", + titleConnect: "Konektatu zorroa", + titlePayment: "Lightning ordainketa", + titleZap: "Bidali zap bat", + descConnect: "Konektatu zure Lightning zorroa zapak bidaltzeko", + descPayment: "Ordaindu Bitcoin Lightning Network-ekin", + descZap: "Zapak elementu honen sortzailea babesteko Bitcoin ordainketa txikiak dira. Gustatu bazaizu, kontuan izan zap bat bidaltzea!", + descZapShort: "Zapak sortzaileak babesteko Bitcoin ordainketa txikiak dira. Kontuan izan zap bat bidaltzea!" + }, + zapCrew: { + title: "Egin zap crew-ari", + desc: "Banatu zap bat modu berdinean Lightning helbidea duten {{count}} crew kideren artean.", + noMembers: "Ez dago beste crew kiderik oraintxe zap egiteko.", + totalAmount: "Zenbateko osoa", + customTotal: "Guztizkoa pertsonalizatua", + each: "sats bakoitzeko", + rounded: "(biribilduta)", + noWallet: "Ez dago zorrorik konektatuta — kide bakoitzeko faktura bat jasoko duzu eskuz ordaintzeko. Konektatu zorro bat banaketarako ukitu bakarrean.", + zapAcross: "Zap {{amount}} sats {{count}} kideren artean", + sentTo: "⚡ {{done}}/{{total}} bidalita", + none: "Ez da ordainketa automatikorik burutu", + copyPending: "Kopiatu zain dauden fakturak eskuz ordaintzen amaitzeko.", + thanks: "Eskerrik asko crew-a babesteagatik!", + payingCrew: "Crew-ari ordaintzen…", + defaultComment: "Zap egina {{crew}} crew-ari! 🤘", + sent: "Bidalita", + paying: "Ordaintzen", + resolving: "Ebazten", + skipped: "Saltatuta", + failed: "Huts egin du", + waiting: "Zain", + copyInvoice: "Kopiatu faktura", + invoiceCopied: "Faktura kopiatuta", + invoiceCopiedDesc: "Itsatsi edozein Lightning zorroan" + }, + zapBadges: { + title: "Zap dominak", + zaps: "zap", + satsSent: "sats bidalita", + rank: "postua", + footnote: "Azken 30 egunetako zapetan oinarritua.", + first: "Lehen zap-a", + firstHint: "Bidali zure lehen zap-a", + regular: "Ohikoa", + regularHint: "Bidali 10 zap", + generous: "Eskuzabala", + generousHint: "Bidali 10.000 sats", + patron: "Babeslea", + patronHint: "Bidali 100.000 sats", + top10: "Top 10", + top10Hint: "Iritsi 10 babesle onenen arte" + }, + trust: { + mute: "Mututu", + muted: "Mutututa", + mutedDesc: "Ez duzu haien edukia ikusiko.", + muteFailed: "Ezin izan da mututu. Saiatu berriro.", + loginToMute: "Hasi saioa mututzeko.", + attributedNetwork: "Zure sareko pertsonen eskutik", + attributedProviderHouse: "Komunitateko fidagarritasun-hornitzailearen eskutik", + attributedProviderCustom: "Zuk hautatutako hornitzailearen eskutik", + howItWorks: "Nola dabilen fidagarritasunak", + flaggedNoticeTitle: "Skater fidagarriek salatua", + flaggedNoticeDesc: "Kontuz. Sareko pertsona fidagarriek kontu hau salatu dute.", + flaggedReporterFollow: "{{count}} jarraitzen duzun", + flaggedReporterNetwork: "{{count}} zure sarean", + flaggedReporterOther: "{{count}} beste kontu", + flaggedReport: "Salatu", + flaggedDismiss: "Baztertu", + bucketVerified: "Egiaztatua", + bucketUnknown: "Ezezaguna", + bucketFlagged: "Salatua", + bucketVerifiedDesc: "Zure sareko norbaitek kontu hau babesten du.", + bucketUnknownDesc: "Zure sareko inork ez du kontu hau babestu oraindik.", + bucketFlaggedDesc: "Pertsona fidagarriek kontu hau salatu dute.", + reportedByTrusted: "{{count}} pertsona fidagarrik salatua", + unavailable: "Fidagarritasun-puntuazioa ez dago erabilgarri", + yourContent: "Hau zure edukia da", + following: "Erabiltzaile hau jarraitzen duzu", + friendOfFriend: "Lagun baten laguna (2 jauzi)", + nip05: "NIP-05 egiaztatutako erabiltzailea", + unknown: "Erabiltzaile ezezaguna", + help: "Fidagarritasun-puntuazioek skateboarding komunitateko laguntzaile fidagarriak identifikatzen laguntzen dute." + }, + share: { + title: "Partekatu profila", + desc: "Zuzendu telefonoaren kamera kodea seinalatuz {{name}}(r)en profila irekitzeko.", + qrAlt: "Profilaren QR kodea", + copyLink: "Kopiatu esteka", + copyFailed: "Kopiatzeak huts egin du", + copyFailedDesc: "Ezin izan da esteka kopiatu.", + shareEllipsis: "Partekatu…" + }, + addToCollection: { + title: "Gorde bilduma batean", + desc: "Gorde \"{{spot}}\" zure bilduma batean", + loginRequired: "Hasi saioa spot-ak bildumetan gordetzeko", + noCollections: "Oraindik ez duzu bildumarik", + createFirst: "Sortu lehenengoa behean!", + spotCount: "{{count}} spot", + alreadySavedTag: "Dagoeneko gordeta", + alreadySaved: "Dagoeneko gordeta", + alreadySavedDesc: "“{{spot}}” dagoeneko “{{collection}}” bilduman dago", + saved: "Spot-a gordeta!", + savedDesc: "\"{{spot}}\" \"{{collection}}\" bildumari gehitu zaio", + saveFailed: "Ezin izan da gorde", + somethingWrong: "Zerbait gaizki joan da", + created: "Bilduma sortuta!", + createdDesc: "\"{{spot}}\" zure \"{{collection}}\" bilduma berriari gehitu zaio", + createFailed: "Ezin izan da bilduma sortu", + name: "Bildumaren izena", + descriptionOptional: "Deskribapena (aukerakoa)", + creating: "Sortzen...", + createAndSave: "Sortu eta gorde", + createNew: "Sortu bilduma berria" + }, + collection: { + back: "Itzuli bildumetara", + created: "Sortua: {{date}}", + deleteTitle: "Ezabatu bilduma?", + deleteDesc: "Honek \"{{title}}\" betiko ezabatuko du. Spot-ak beraiek ez dira aldatuko.", + deleting: "Ezabatzen...", + deleteFailed: "Ezin izan da bilduma ezabatu", + deleted: "Bilduma ezabatuta", + deletedDesc: "\"{{title}}\" kendu da", + empty: "Ez dago spot-ik bilduma honetan", + emptyOwner: "Gehitu spot-ak zure bildumari edozein spot-en \"Gorde bilduma batean\" sakatuta", + emptyOther: "Bilduma hau hutsik dago", + browseSpots: "Arakatu spot-ak", + linkCopied: "Esteka kopiatuta!", + linkCopiedDesc: "Bildumaren esteka arbelean kopiatu da", + map: "Bildumaren mapa", + removeFailed: "Ezin izan da spot-a kendu", + shareText: "Begiratu spot bilduma hau: {{title}}", + spotRemoved: "Spot-a kenduta", + spotRemovedDesc: "\"{{title}}\" bilduma honetatik kendu da" + }, + mints: { + title: "Mint-ak", + subtitle: "Arakatu Cashu mint-ak eta haien osasuna. Cashu zorroaren eragiketak SkateSpots aplikazioan egiten dira.", + searchPlaceholder: "Bilatu mint-ak izenaren edo URLaren arabera…", + onlineOnly: "Online soilik", + count: "{{filtered}} / {{total}} mint", + directoryError: "Ezin izan da mint direktorioa kargatu.", + directoryHint: "Direktorioa komunitateak kudeatzen du eta tasa-muga du — une batez ez egon daiteke erabilgarri.", + goToWallet: "Joan zorrora", + appOnly: "Mint bat gehitzea SkateSpots aplikazioan egiten da (Cashu aplikazioan soilik dago).", + noMatch: "Ez da mint-ik bat dator “{{query}}” bilaketarekin.", + footer: "Osasun-datuak komunitateko MintRadar proiektutik datoz — ez ofizialak eta zaharkituta egon daitezke. Berrikusi beti mint baten baldintzak funtsak fidatu aurretik.", + archived: "Artxibatua", + degraded: "Murriztua", + offline: "Lineaz kanpo", + online: "Linean", + terms: "Baldintzak", + reliability: "fidagarritasuna", + add: "Gehitu", + addToWallet: "Gehitu zorroari", + copyUrl: "Kopiatu URLa", + openMint: "Ireki mint-a", + inWallet: "Zure zorroan", + addedBadge: "Gehituta", + urlCopied: "Mint-aren URLa kopiatuta", + added: "Mint-a gehituta", + addedDesc: "{{host}} orain zure zorroan dago.", + couldNotAdd: "Ezin izan da mint-a gehitu", + communityRating: "Komunitatearen balorazioa", + reliabilityLabel: "Fidagarritasuna", + uptime: "Erabilgarritasuna 24h / 7d", + location: "Kokapena", + latency: "Latentzia", + nuts: "Onartutako NUTak", + units: "Unitateak", + version: "Bertsioa", + ratedBy: "MintRadar-en {{count}} pertsonak {{rating}}/5 baloratu dute.", + noRating: "Oraindik ez dago komunitatearen baloraziorik MintRadar-en.", + reviewsNote1: "Idatzizko iritziak ez dira direktorioaren parte —", + openMintRadar: "ireki MintRadar", + reviewsNote2: "bat irakurri edo uzteko.", + liveness: "Bizi-azterketa: {{mints}} mint eta {{melts}} melt probatuta", + livenessErrors: " · {{errors}}/{{total}} azken errore", + whatsAMint: "Zer da mint bat?", + whatsAMintDesc: "Cashu mint batek zure zorroko ecash-a jaulkitzen eta trukatzen du. Zure tokenen atzeko Bitcoin-a gordetzen du — beraz, zuk zeuk kudeatzen ez duzun mint bat fidatu behar duzuna da.", + mintWarning: "Mint-ak lineaz kanpo geratu, baldintzak aldatu edo funtsekin desagertu daitezke. Eduki saldo txikiak soilik operadorean fidatzen ez bazara.", + healthDisclaimer: "Osasun-datuak komunitateak kudeatzen ditu (MintRadar) — ez ofizialak eta zaharkituta egon daitezke." + }, + appShop: { + title: "App denda", + subtitle: "SkateSpots merchandising-a eszena martxan mantentzen dutenentzat.", + comingSoon: "Laster", + wearThe: "Jantzi", + scene: "Eszena", + heroDesc1: "Merchandising-a gauza hau martxan mantentzen dutenentzat — salgai", + locally: "bertan, eskaeraren arabera", + heroDesc2: ". Zuk mezu bat bidaltzen didazu, xehetasunak adosten ditugu, eta ordaintzen duzu", + heroDesc3: "— Lightning edo Cashu — jasotzen duzunean. Txartelik ez, konturik ez, ordainketa-robotik ez, drop-a xahutzen duen bitartekaririk ez.", + requestItem: "Eskatu elementu bat", + dmHint: "Nirekin DM pribatu eta enkriptatu bat irekitzen du.", + lightning: "Lightning", + cashu: "Cashu", + localHandover: "Bertako entrega", + inTheWorks: "Lantzen", + notForSale: "oraindik ez dago salgai", + soon: "laster", + tees: "Trikotailuak eta kapusaiak", + decks: "Taulak", + shopTools: "Dendako tresnak", + stickerPacks: "Pegatina-paketeak", + stickerPacksDesc: "Paketeak datoz. Diseinuak ez — inprimatu bi hauek oraintxe, doan.", + sticker: "Pegatina", + stickerTip: "Ebaki beltza. Inprimatu pegatina-paperean, ertz beltzetik moztu.", + poster: "Kartela", + posterTip: "A3-an inprimatzen da; txikitu A4-ra (%50) eta oraindik ondo eskaneatzen da.", + printableAlt: "SkateSpots {{title}} — inprimatzeko", + print: "Inprimatu", + printNote1: "Inprimatu", + actualSize: "100% / “Benetako tamaina”", + printNote2: "tamaina zehatza izan dadin eta QR kodea zorrotz mantendu dadin — skate-spots.org-era eramaten du. Bektore-fitxategiak dira, beraz, lausotu gabe eskalatzen dute.", + howBuying: "Nola dabilen erostea", + dmNotCart: "DM bat da, ez saskia", + step1Title: "Bidali mezua", + step1Desc: "Bidali DM bat nahi duzunarekin — elementua, tamaina, kolorea, edozein gauza.", + step2Title: "Gu adosten dugu", + step2Desc: "Prezioa sats-etan, eta non eta noiz elkartu. Elkarrizketa bat da, ez ordainketa-prozesu bat.", + step3Title: "Ordaindu sats-etan", + step3Desc: "Lightning edo Cashu entregatzean, eta gero zurea da. Ez bidalketarik, ez itxarongelarik." + }, + newsletter: { + newIssue: "Ale berria", + composerTitle: "Argitaratu buletinaren ale bat", + composerDesc: "NIP-23 artikulu gisa (30023 mota) argitaratzen da komunitateko relay-ean. Harpidedunek jakinarazpen-kanpaiaren bidez jasoko dute. Gorputzak Markdown onartzen du.", + fieldTitle: "Izenburua", + identifier: "Identifikatzailea (slug)", + leaveBlank: "utzi hutsik automatikoki sortzeko", + reusingSlug: "Lehendik dagoen slug bat berrerabiltzeak ale hura editatzen du, berri bat sortu ordez.", + summary: "Laburpena", + optional: "aukerakoa", + coverImage: "Azaleko irudiaren URLa", + bodyMarkdown: "Gorputza (Markdown)", + characters: "{{count}} karaktere", + publishIssue: "Argitaratu alea", + issuePublished: "Ale argitaratuta! 🛹", + issuePublishedDesc: "Harpidedunek jakinarazpen-kanpaian ikusiko dute.", + publishFailed: "Argitaratzeak huts egin du", + couldNotReachRelay: "Ezin izan da inolako relay-ra iritsi — egiaztatu konexioa eta saiatu berriro.", + tryAgain: "Saiatu berriro, mesedez.", + publishedToNostr: "Nostr-en argitaratuta", + publishedToast: "Argitaratuta!", + postedToNostr: "{{number}} drop-a Nostr-era bidalita.", + postToNostr: "Bidali Nostr-era", + previewLabel: "Aurrebista", + editFirst: "Editatu lehenik", + previewNoteDesc: "Horrela agertuko da oharra Nostr bezero gehienetan. Formatuak bezeroaren arabera aldatzen dira.", + editNoteDesc: "Editatu oharraren testua behean. Aldaketek argitalpen honi soilik eragiten diote — iturburu-fitxategia ez da aldatzen.", + dropNumber: "{{number}} drop-a", + publish: "Argitaratu", + publishing: "Argitaratzen...", + dropIsOut: "{{number}} drop-a argitaratu da", + daysAgo: "Duela {{count}} egun", + dismiss: "Baztertu", + itsMonday: "Astelehena da", + mondayDesc: "Asteko buletina argitaratzeko ordua. Klik bat eta AIak git log-etik idatziko du.", + writeDrop: "Idatzi {{number}} drop-a", + dismissReminder: "Baztertu oroigarria", + loginPrompt: "Hasi saioa Nostr-ekin drop berriak zure postontzian jasotzeko.", + subscribedToast: "Harpidetuta zaude! 🛹", + subscribedToastDesc: "Drop berriak \"Berriak\" atalean agertuko dira zure jakinarazpen-kanpaian.", + unsubscribed: "Harpidetza deuseztatuta", + unsubscribedDesc: "Ale guztiak hemen irakur ditzakezu edozein momentutan.", + checking: "Egiaztatzen…", + subscribed: "Harpidetuta", + unsubscribe: "Utzi harpidetzari", + subscribeCta: "Harpidetu buletinera", + archiveSynced: "Artxiboa Nostr-ekin sinkronizatuta", + missingCount: "{{count}} artxiboko ale ez daude oraindik Nostr-en", + backfillDesc: "Argitaratu {{list}} NIP-23 artikulu gisa harpidedunek eta formato luzeko irakurleek artxibo osoa ikus dezaten. Orrialdeak bere diseinu aberatsa mantentzen du hala ere.", + backfill: "Bete {{count}} Nostr-en", + publishing2: "Argitaratzen…", + publishingLabel: "Argitaratzen…", + backfilled: "{{count}} ale beteta 🛹", + backfilledDesc: "Artxiboa orain Nostr-en dago harpidedun eta irakurleentzat.", + partialBackfill: "{{published}} argitaratuta, {{failed}} huts egin du", + retryFinish: "Saiatu berriro amaitzeko: {{list}}.", + notLoggedIn: "Ez duzu saiorik hasi", + allIssues: "Ale guztiak", + brand: "SkateSpots Buletina", + digTheDrop: "Drop-a gustatzen zaizu? Egin zap eta ez galdu hurrengoa.", + sectionStats: "Komunitatea zenbakitan", + sectionWhatsNew: "Berritasunak", + sectionSpotOfWeek: "Asteko spot-a", + sectionCommunity: "Komunitatea", + sectionSupport: "Babestu proiektua", + sectionLatestDrops: "Azken drop-ak · Zuzenean Nostr-etik", + mappedBy: "Mapatu du:", + viewOnMap: "Ikusi mapan", + noSpotPicked: "Aste honetan ez da spot-ik hautatu. Bidali zurea eta hurrengo drop-ean ager liteke.", + browseMap: "Arakatu mapa", + spotMap: "Spot mapa", + statsBadge: "Estatistikak", + supportDesc: "%100 kode irekia, komunitateak finantzatua, iragarkirik ez, inbertitzailerik ez. Erabilgarria bazaizu, egin zap edo babestu Angor-en.", + readFull: "Irakurri ale osoa", + joinSkaters: "Bat egin drop-ak jasotzen dituzten {{count}} skaterrekin", + weeklyDrops: "Asteko drop-ak", + tagline: "Asteko buletina · nahi dugunean bidalia", + freeNote: "Doakoa. Nostr-ekin egina — zure harpidetza zure gakoetan bizi da eta gailu guztietan jarraitzen dizu. Drop berriak zure jakinarazpen-kanpaian iristen dira.", + live: "Zuzenean", + builtOn: "Hauetan oinarritua:", + openSource: "Kode irekia", + supportUs: "Babestu gaitzazu", + freeToSkate: "Aske zara skate egiteko" + }, + stats: { + subtitle: "Nostr sareko datu zuzenean ateratako metrika bizia. Gardena, deszentralizatua, edonork egiazta dezakeena.", + dataSource: "Datu-iturria:", + updated: "eguneratua {{age}}", + refresh: "Eguneratu", + partial: "Ezin izan da relay guztietara iritsi — zenbaki hauek osatugabeak izan daitezke.", + error: "Ezin izan da relay-ra oraintxe iritsi. Estatistikek konexioa berreskuratzean kargatuko dira.", + atAGlance: "Komunitatea bere osotasunean", + skateSpots: "Skate spot-ak", + listedShops: "Zerrendatutako dendak", + events: "Ekitaldiak", + mappers: "Mapatzaileak", + uniqueContributors: "laguntzaile bereizi", + labHeader: "Laborategia · Sortzaileak eta zerbitzuak", + total: "{{count}} guztira", + coaches: "Entrenatzaileak", + filmers: "Filmagileak", + editors: "Editoreak", + photographers: "Argazkilariak", + builders: "Eraikitzaileak", + artists: "Artistak", + graffiti: "Graffiti", + tattoo: "Tatuaje", + trainers: "Prestatzaileak", + musicians: "Musikariak", + judges: "Epaileak", + organizers: "Antolatzaileak", + barbers: "Bizarginak", + showFewer: "Erakutsi gutxiago", + showAllCrafts: "Erakutsi 13 lanbide guztiak", + community: "Komunitatea", + tours: "Birak", + crews: "Crew-ak", + marketplace: "Azoka", + liveListings: "Iragarki aktiboak", + tradesRecorded: "Erregistratutako trukeak", + satsTraded: "Trukatutako sats", + zapsToMappers: "Mapatzaileentzako zapak", + tradesNote1: "truke elkarrekikoak", + tradesNote2: "pertsonen artean. Sats-ak trukatzaileek beren kabuz jakinarazitakoak dira — aplikazioak ezin du aplikaziotik kanpoko ordainketarik ikusi — beraz, titularrak soilik zenbatzen ditu", + mutual: "elkarrekikoak", + tradesNote3: "trukeak, bikote bakoitzeko muga batekin; deklarazio gordina", + tradesNote4: "sats da. \"Mapatzaileentzako zapak\" gure laguntzaile nagusiei zuzendutako ordainagiriak soilik zenbatzen ditu — ez da", + not: "ez", + tradesNote5: "mundu mailako zap bolumena.", + byRegion: "Spot-ak eta dendak eskualdearen arabera", + resolving: "{{count}} etikarik gabeko kokapen ebazten haien koordenadetatik… behin bakarrik, gero gailu honetan gordetzen dira.", + topCountries: "Herrialde nagusiak", + topCities: "Hiri nagusiak", + other: "Beste batzuk", + otherCountriesTitle: "6 onenen kanpoko herrialdeak", + otherCitiesTitle: "6 onenen kanpoko hiriak", + uncategorised: "Sailkatu gabe", + uncategorisedTitle: "Hiri/herrialde etiketarik gabe", + regionNote1: "Kontuek", + spotsAndShops: "spot eta denda", + regionNote2: "kopurua adierazten dute, ez skaterrak — bakoitzaren hiri/herrialde etiketatik, edo etiketarik ez badu, bere pinaren koordenadetatik eratorrita (zure gailuan gordeta; herrialdeak ISO kodearen arabera multzokatuta daudenean), komunitateko relay soilik, moderazioak ezkutatutako edukia kanpo utzita.", + ofTotal: "{{count}} / {{total}}", + regionNote3: "kokapenek ez dute kokapen-etiketarik eta \"Sailkatu gabe\" gisa agertzen dira.", + growth: "Hazkundea denboran zehar", + chartCumulativeTitle: "Mapatutako spot-ak (metatuta)", + chartCumulativeDesc: "Denboran zehar mapara gehitutako spot kopuru osoa", + chartMonthlyTitle: "Hileko jarduera", + chartMonthlyDesc: "Hilero argitaratutako eduki berria", + chartMappersTitle: "Mapatzaile aktiboak / hilabete", + chartMappersDesc: "Hilero argitaratzen duten laguntzaile bereiziak", + chartMixTitle: "Eduki-mota", + chartMixDesc: "Eduki motaren araberako banaketa (denbora osoa)", + noData: "Oraindik ez dago daturik", + topMappers: "Mapatzaile onenak", + mostSpots: "— spot gehien gehitutakoak", + noMapperData: "Oraindik ez dago mapatzaileen daturik", + topShops: "Denda onenak", + mostShops: "— denda gehien gehitutakoak", + shopCount: "{{count}} denda", + noShopData: "Oraindik ez dago dendaren daturik", + supporters: "Komunitateko babesleak", + fundedTitle: "Komunitateak finantzatua", + fundedDesc1: "Bitcoin-en crowdfunding deszentralizatua Angor bidez.", + fundedDesc2: "Iragarkirik ez, inbertitzailerik ez, daturik saldu gabe.", + backAngor: "Babestu gaitzazu Angor-en", + communityLink: "Komunitatea →", + footer1: "Datu guztiak zuzenean ateratzen dira", + footer2: "— Nostr relay publiko bat.", + footer3: "Ekitaldi bakoitza bere sortzaileak sinatzen du eta kriptografikoki egiaztagarria da.", + footer4: "Ezin da zenbakirik faltsutu.", + spots: "Spot-ak", + shops: "Dendak", + lab: "Laborategia", + thisMonth: "+{{count}} hilabete honetan", + fromActive: "{{count}} kontu aktiboetatik", + viewAll: "Ikusi guztiak", + spotCount: "{{count}} spot" + }, + leaderboard: { + mapEarn: "Mapatu eta irabazi", + helpMap: "LAGUNDU MUNDUA MAPATZEN", + intro: "Gehitu spot-ak eta dendak, eta eskertutako skaterrek zapak bidaliko dizkizute. Laguntzaile onenek sari bereziak jaso ditzakete!", + howItWorks: "Nola dabilen", + step1Title: "1. Mapatu", + step1Desc: "Gehitu spot-ak eta dendak argazkiekin eta xehetasunekin", + step2Title: "2. Irabazi zapak", + step2Desc: "Zure spot-ak erabilgarriak iruditzen zaizkien skaterrek tipak emango dizkizute", + step3Title: "3. Sari bereziak", + step3Desc: "Mapatzaile onenek gure funtsetik sari bereziak jaso ditzakete", + proTips: "💡 Pro aholkuak zap gehiago lortzeko:", + tipPhotos: "Gehitu 3 argazki edo gehiago", + tipDescriptions: "Idatzi deskribapen xeheak", + tipLocation: "Kokapen zehatza", + mapShop: "Mapatu denda bat", + mapShopDesc: "Skate dendak, taula-dendak", + mapSpot: "Mapatu spot bat", + mapSpotDesc: "Parkeak, kaleko spot-ak, DIY", + shops: "Dendak", + spotsLower: "spot", + shopsLower: "denda", + contributions: "ekarpen", + yourRanking: "Zure sailkapena", + spotsShops: "{{spots}} spot • {{shops}} denda", + totalLower: "guztira", + overall: "Orokorra", + noContributions: "Oraindik ez dago ekarpeneik. Izan zaitez lehena!", + addFirstSpot: "Gehitu lehen spot-a", + noShops: "Oraindik ez da dendarik mapatu", + addFirstShop: "Gehitu lehen denda", + noSpots: "Oraindik ez da spot-ik mapatu", + poweredBy: "Komunitateko zapen bultzada", + poweredByDesc: "Spot bat erabilgarria iruditzen bazaizu, egin zap mapatzaileari! Eskerrak emateko eta ekarpen gehiago bultzatzeko modurik onena da.", + you: "Zu", + zapTitle: "Zap sailkapenak", + zapSubtitle: "Maitasunik handienak jasotzen dituzten spot-ak — eta horiek ematen dituzten skaterrak.", + thisWeek: "Aste hau", + thisMonth: "Hilabete hau", + allTime: "Denbora osoa", + topZappedSpots: "Zap gehien jasotako spot-ak", + noZaps: "Oraindik ez dago zap-ik epe honetan. Izan zaitez lehena — sakatu ⚡ gustuko duzun spot batean.", + topSupporters: "Babesle onenak", + noZapsSent: "Oraindik ez da zap-ik bidali epe honetan.", + fromTop10: "⚡ {{amount}} sats 10 onenetatik", + supporter: "Babeslea", + skateShop: "Skate denda", + skateSpot: "Skate spot" + }, + supporters: { + our: "GURE", + community: "KOMUNITATEA", + heroDesc: "SkateSpots komunitateak egiten du eta komunitatearentzat da. Babesleek, kolaboratzaileek, bazkideek eta lagunek doakoa eta deszentralizatua mantentzen dute.", + backAngor: "Babestu gaitzazu Angor-en", + backers: "Babesleak", + backersDesc: "SkateSpots babestu zuten skaterrak — Angor bidezko katean egindako finantzaketa eta proiektura zuzendutako Lightning zapak.", + sourceAngor: "Angor", + supportersTotals: "{{count}} babesle · {{angor}} sats Angor bidez · {{zap}} sats zap eginda", + quietNote: "Gehitu isil-gordean eman zuten guztiak — eskerrik asko. ❤️", + silentTitle: "Pribatua katean (ordainketa isilak)", + silentDesc: "Izen bat, ordainketa bakoitzeko helbide berri bat — katean ordainketa isilen bidez, edo Lightning erregistro beretik. Ez dago ezer berrerabiltzeko, ez ezer lotzeko.", + silentCopyName: "Kopiatu izena", + silentCopied: "Kopiatuta", + silentWallets: "Ordainketa-izenak edo ordainketa isilak onartzen dituen zorro bat behar du: Sparrow, Cake, Dana, Phoenix, BlueWallet, Wasabi, Nunchuk edo BitBox02.", + wayLightningTitle: "Berehalakoa eta publikoa", + wayLightningDesc: "Egin zap SkateSpots-i, edo ordaindu isilka. Saioa hasi gabe dabil.", + waySilentTitle: "Pribatua katean", + waySilentDesc: "Ordainketa isiletarako izena — ordainketa bakoitzeko helbide berria.", + wayAngorTitle: "Finantzatu garapena", + wayAngorDesc: "Angor — etapaka askatzen da, 100k sats gainetik itzultzeko modukoa.", + donateTitle: "Babestu SkateSpots", + donateDesc: "Hiru bide, hiru arrazoi — aukeratu zuretzat egokiena. Sat bakoitzak mapa doakoa, iragarkirik gabea eta kode irekikoa mantentzen du.", + donatePageLink: "Ireki dohaintza-orri sinplea", + updatedAt: "Eguneratua: {{when}}", + tiersNote: "Mailak: Babeslea 100k sats baino gutxiago · Patroia 100k–1M · Legenda 1M+", + tierEmpty: "Oraindik inor ez — izan zaitez lehena.", + joinSupporters: "Bat egin {{count}} babeslerekin", + showAll: "Erakutsi {{count}} guztiak", + showLess: "Erakutsi gutxiago", + impactSeeStats: "Ikusi koadro osoa →", + impactAsOf: "zuzenean komunitateko relay-etatik", + anonymousBacker: "Babesle anonimoa", + beFirstBacker: "Oraindik ez dago babesle publikorik — izan zaitez lehena.", + backersTotal: "{{count}} babesle · {{amount}} sats bildu", + verifiedOnChain: "Katean egiaztatua", + supportedBy: "{{count}} lagunek babestua", + tierSupporter: "Babeslea", + tierPatron: "Patroia", + tierLegend: "Legenda", + topZappers: "SkateSpots-i zap egin diotenak", + topZappersDesc: "Proiektura zuzenean zap publiko bat bidali zuten skaterrak. Ordainketa isilak ez dira zerrendatzen.", + paysFor: "Zure babesak zer ordaintzen duen", + paysForDesc: "Sat bakoitza nora doan — soldatarik ez, bulegorik ez, iragarkirik ez.", + payRelay: "Relay-aren ostatatzea", + payDomain: "Domeinua eta TLS", + payAi: "AI / ContextVM nodoa", + payDev: "Garapen-denbora", + payOps: "Eragiketak", + payMarketing: "Marketina", + payRelayDesc: "Mapa linean eta erresistente mantentzen du.", + payDomainDesc: "Izena, ziurtagiria, konexio segurua.", + payAiDesc: "Sasquatch, komunitatearen gida.", + payDevDesc: "SkateSpots eraiki eta konpontzea.", + payOpsDesc: "Martxan mantentzen duen lan ikusgaitza.", + payMarketingDesc: "Tokiko eszena eta skate denda berrietara iristea.", + impact: "Oraingoz egindakoa", + impactDesc: "Komunitateak eraiki duena — skaterrek finantzatua.", + impactSpots: "Spot-ak", + impactCrews: "Crew-ak", + impactEvents: "Ekitaldiak", + impactLab: "Laborategiko profesionalak", + impactShops: "Dendak", + impactMappers: "Mapatzaileak", + support: "Babesa", + supportDesc: "Finantzatu SkateSpots Angor-en — deszentralizatua, katean oinarritutako Bitcoin crowdfunding-a. Bitartekaririk ez, KYCrik ez.", + collaborators: "Kolaboratzaileak", + collaboratorsDesc: "SkateSpots aktiboki eraikitzen dutenak — garatzaileak, diseinatzaileak, relay-operadoreak.", + partners: "Bazkideak", + partnersDesc: "Gertutik lan egiten dugun erakunde eta proiektuak.", + friends: "Lagunak", + friendsDesc: "Vibe onarekin gabiltzan pertsonak.", + backTitle: "Babestu proiektua Angor-en", + backDesc: "Angor Nostr-en oinarritutako Bitcoin finantzaketa deszentralizatua eta katean dago — zure funtsak zure kontrolpean geratzen dira, etapaka askatzen dira, eta inork ez du pota gordetzen. 100.000 sats arteko ekarpenak dohaintza bezala funtzionatzen dute (berreskuratze-elkarreraginik gabe); zenbateko handiagoak inbertsioak dira, eta gastatu gabeko funtsak berreskuratu daitezke. Sat bakoitza garapenera, relay-aren ostatatzera eta SkateSpots lurreko skater guztientzat doakoa izaten jarraitzera doa.", + donateNote: "Dohaintza zuzena nahiago? ⚡ Egin zap behean — itzultzekorik ez, berreskuratzekorik ez.", + openAngor: "Ireki Angor", + orZap: "edo ⚡ egin zap edozein spot, crew edo sortzaileri zuzenean aplikazioan", + wantCollaborate: "Kolaboratu nahi duzu?", + wantCollaborateDesc: "Garatzaileak, diseinatzaileak, trebetasunak dituzten skaterrak — jarri harremanetan.", + viewNostrHub: "Ikusi NostrHub-en", + wantPartner: "SkateSpots-ekin bazkidetu nahi duzu? Jarri harremanetan Nostr-en.", + comingSoon: "Laster", + wantListed: "Hemen zerrendatuta egon nahi duzu?", + wantListedDesc: "Bidali logo bat (PNG/WebP, atzeko planoa gardena, gutxienez 200×200px) eta zure URLa Nostr-en DM bidez, vibe onak badituzu soilik.", + whyTitle1: "Zergatik behar dugun", + whyTitle2: "babesa", + whyDesc: "SkateSpots %100 doakoa eta kode irekikoa da, eta Nostr-en oinarrituta dago — zerbitzari zentralik ez duen protokolo deszentralizatua, itzalita utzi ezin dena. Iragarkirik ez, daturik saldu gabe, inbertitzailerik ez. Sat bakoitza zuzenean garapenera, relay-aren ostatatzera eta hau lurreko skater guztientzat doakoa izaten jarraitzera doa.", + why1Title: "Nostr jatorrikoa", + why1Desc: "Zerbitzari zentralik ez. Zure datuak zuk aukeratutako relay-etan bizi dira.", + why2Title: "Bitcoin-en bultzatua", + why2Desc: "Irabazi sats-ak spot-ak mapatzeagatik. Gastatu tokiko dendetan.", + why3Title: "Betiko doakoa", + why3Desc: "Kode irekia, ordainketa-hesirik ez, jarraipenik ez, VC finantzaketarik ez.", + thankYou: "Eskerrik asko. Sat bakoitzak spot-ak mapan mantentzen ditu. 🛹⚡", + license: "Lizentzia", + faq: "Ohiko galderak" + }, + admin: { + confirmed: "Berretsia", + title: "Berrikuste-ilara", + subtitle: "Zarata-seinaleak pizten dituzten spot-ak, dendak, ekitaldiak, birak eta ekipamendua. Ezkutatu eta Berretsi etiketa bigunak eta itzulgarriak dira; salaketek lehentasuna dute. Ezer ez da ezabatzen.", + tabReports: "Salaketak", + tabSpots: "Spot-ak", + tabShops: "Dendak", + tabEvents: "Ekitaldiak", + tabTours: "Birak", + tabGear: "Ekipamendua", + tabCrews: "Crew-ak", + tabLab: "Laborategia", + tabClaims: "Aldarrikapenak", + nothingToReview: "Ez dago berrikustekorik — mota honetako ezerk ez du zarata-seinalerik pizten.", + hideActioned: "Ezkutatu landutakoak", + showActioned: "Erakutsi landutakoak ({{count}})", + undoAll: "Desegin {{count}} guztiak", + undoAllTitle: "Desegin tab honetako epai guztiak?", + undoAllDesc: "Honek elementu bakoitza neutrora itzultzen du — ez ezkutatuta, ez babestuta. Etiketa publiko bat argitaratzen du elementu bakoitzeko, beraz, Amber-ekin {{count}} onespen-pantaila izango dituzu.", + undoCount: "Desegin {{count}}", + undo: "Desegin", + confirm: "Berretsi", + hide: "Ezkutatu", + hideIt: "Ezkutatu", + hideForEveryone: "Guztientzat ezkutatu?", + hideForEveryoneDesc: "Honek elementua arakatzetik eta bilaketatik kentzen du SkateSpots erabiltzaile guztientzat. Etiketa publiko eta itzulgarria da — ilara honetatik Desegin dezakezu.", + hidden: "Ezkutatuta", + hiddenDesc: "Etiketa publiko baten bidez aplikaziotik kenduta. Itzulgarria.", + couldNotHide: "Ezin izan da ezkutatu", + notASpot: "Ez da skate spot bat", + lookAtIt: "Begiratu" + }, + profile: { + nip05Verified: "NIP-05 egiaztatua", + nip05NotVerified: "NIP-05 ez da gako honekin egiaztatu", + message: "Mezua", + zapsReceived: "jasotako zapak", + memberSince: "Kidea noiztik", + badges: "Dominak", + sponsorsSupport: "Babesleak eta babesa", + skater: "Skater", + stance: "Jarrera", + skating: "Skatea", + homeSpot: "Etxeko spot-a", + basedIn: "Kokapena", + addSkateDetails: "Gehitu zure skate xehetasunak", + addSkateDetailsDesc: "Ezarri zure jarrera, estiloak eta maila Skater direktorioan agertzeko.", + spotsAdded: "Gehitutako spot-ak", + shopsAdded: "Gehitutako dendak", + noSpots: "Oraindik ez duzu spot-ik gehitu", + noSpotsDesc: "Ipini zure tokiko spot-a mapan →", + stash: "Biltegia", + gear: "Ekipamendua", + crews: "Crew-ak", + info: "Informazioa", + lightning: "Lightning", + silentPayment: "Ordainketa isila", + coordinator: "Koordinatzailea", + coordinatorAdded: "Koordinatzailea gehituta", + add: "Gehitu", + messagePrivately: "Bidali mezu pribatua", + founder: "Sortzailea", + member: "Kidea", + supportSkater: "Babestu skater hau", + supportSkaterDesc: "Bidali tip bat haien ekarpenak eskertzeko" + }, + index: { + joinCommunity: "Bat egin komunitatearekin spot-ak gehitzeko, ekitaldiak sortzeko eta gehiago", + topZapped: "ZAP GEHIEN", + topZappedDesc: "Hilabete honetan babes handiena jaso duten spot-ak", + leaderboard: "Sailkapena", + newHere: "BERRI ZARA?", + newHereDesc: "Sortu doako kontu bat spot-ak gehitzeko, ekitaldietan parte hartzeko, skaterrekin konektatzeko eta komunitatearen parte izateko. Ez da emailik behar.", + followFounder: "Jarraitu sortzaileari", + followFounderDesc: "Eduki avatarra 3 segundo sakatuta sortzaileari jarraitzeko eta eginbide eta ekitaldi berrien berri izateko!", + createAccount: "Sortu kontua", + accountWorks: "Zure kontuak sareko aplikazio guztietan dabil", + footerTagline: "Kode irekia • Komunitatearena • Iragarkirik ez" + }, + stash: { + title: "Nire biltegia", + loginDesc: "Zure ekipamendu-inbentario pribatua. Jarraitu duzuna, ezarri prezioak eta partekatu modu hautakorrean trukatzaileekin.", + encrypted: "Enkriptatua", + syncsEverywhere: "Nonahi sinkronizatzen da", + p2pTrading: "P2P trukea", + encryptionRequired: "Enkriptatzea beharrezkoa", + encryptionRequiredDesc: "Zure biltegia enkriptatuta dago pribatutasunerako. Erabili NIP-44 enkriptazioa onartzen duen sinatzaile bat (Alby, nos2x edo Amber bezalakoa).", + learnSigners: "Ikasi sinatzaileei buruz", + select: "Hautatu", + stash: "Biltegia", + wishlist: "Nahi-zerrenda", + allCategories: "Kategoria guztiak", + sortNewest: "Berrienak", + sortValue: "Balioa", + sortCondition: "Egoera", + sortAz: "A–Z", + friendsOnly: "Lagunak soilik", + addToWishlist: "Gehitu nahi-zerrendara", + addItemToStash: "Gehitu elementua biltegira", + addItem: "Gehitu elementua", + editItem: "Editatu elementua", + publicStash: "Biltegi publikoa", + listView: "Zerrenda-ikuspegia", + gridView: "Sareta-ikuspegia", + uploading: "Igotzen...", + addPhotos: "Gehitu argazkiak", + wishlistReqPlaceholder: "Baldintza zehatzik...", + itemDescPlaceholder: "Deskribatu elementua, kalteak...", + itemsCount: "{{count}} elementu", + wishlistEmpty: "Nahi-zerrenda hutsik", + wishlistEmptyDesc: "Gehitu bila zabiltzan ekipamendua — lagunen biltegietan parekatuko zaitugu.", + stashEmpty: "Zure biltegia hutsik dago", + stashEmptyDesc: "Hasi zure ekipamendua jasotzen. Taulak, ardatzak, oinetakoak — gehitu behin, edonon eskuragarri Nostr bidez.", + noMatch: "Ez da elementurik bat dator", + noMatchDesc: "Saiatu iragazkiak doitzen.", + backupTransfer: "Babeskopia eta transferentzia", + backupDesc: "Zure biltegia Nostr-en enkriptatuta dago. Eduki zuk kontrolatutako kopia bat — relay hildako batek edo kontu berri batek ezin dizu ekipamendu-zerrenda galarazi.", + exportTitle: "Babeskopia enkriptatua", + exportDialogDesc: "Gorde {{count}} elementu fitxategi batean. Enkriptatu, fitxategi batek ihes eginez gero ihesa ez izateko.", + modePassword: "Pasahitza", + modeKey: "Nire gakoa", + password: "Pasahitza", + confirmPassword: "Berretsi pasahitza", + passwordHint: "Erabili gutxienez 8 karaktere. Ez dago berreskuratzerik — ez ahaztu.", + keyModeHint: "Zure Nostr gakoarekin enkriptatuta. Gako horrek soilik ireki dezake — ez dago ezer gogoratzeko.", + exportPlaintext: "Esportatu enkriptatu gabe", + pwTooShort: "Erabili gutxienez 8 karaktere.", + pwMismatch: "Pasahitzek ez dute bat egiten.", + exportFailed: "Ezin izan da babeskopia sortu.", + unlockTitle: "Askatu babeskopia", + unlockDesc: "Babeskopia hau pasahitzarekin babestuta dago.", + unlock: "Askatu", + unlockFailed: "Ezin izan da babeskopia askatu.", + show: "Erakutsi", + hide: "Ezkutatu", + strength: "Pasahitzaren indarra", + strengthWeak: "Ahula", + strengthFair: "Ertaina", + strengthGood: "Ona", + strengthStrong: "Indartsua", + filenameWillSave: "{{name}} gisa gordeko da", + export: "Esportatu", + import: "Inportatu", + exported: "Biltegia esportatuta", + exportedDesc: "{{count}} elementu fitxategi batean gordeta.", + noItemsInFile: "Ez da elementurik aurkitu fitxategi horretan.", + noValidItems: "Ez da elementu baliodunik aurkitu fitxategi horretan.", + imported: "{{count}} elementu inportatu", + importSkipped: "{{count}} saltatu (dagoeneko zure biltegian).", + importAdded: "Zure biltegira gehituta.", + importFailed: "Inportatzeak huts egin du", + couldNotRead: "Ezin izan da fitxategi hori irakurri.", + updateFailed: "Ezin izan da zure biltegia eguneratu", + updatedCount: "{{count}} elementu eguneratu", + markedForSale: "{{count}} salgai jarri", + unmarkedCount: "{{count}} salgai-marka kenduta", + removedCount: "{{count}} elementu kenduta", + selectedCount: "{{count}} hautatuta", + selectAll: "Hautatu guztiak", + visibilityPublic: "Publikoa", + visibilityPrivate: "Pribatua", + forSale: "Salgai", + remove: "Kendu", + bulkDeleteTitle: "{{count}} elementu kendu?", + bulkDeleteDesc: "Honek zure biltegi enkriptatua sinadura bakarrean berridazten du eta hemen ezin da desegin. Esportatu babeskopia bat ziur ez bazaude.", + deleteTitle: "Zure biltegitik kendu?", + deleteDesc: "“{{title}}” zure biltegitik kenduko da", + deleteDescPublic: " eta zure erakusleiho publikotik kenduko da", + deleteUndone: ". Hau ezin da desegin.", + deleteDescGeneric: "Elementu hau zure biltegitik kenduko da. Hau ezin da desegin.", + listOnMarketplace: "Iragarri azokan", + noPriceSet: "Prezioa ezarri gabe", + categoryLabel: "Kategoria", + photosLabel: "Argazkiak", + willingToSell: "Saltzeko prest", + willingToTrade: "Trukatzeko prest", + whereIsThisItem: "Non dago elementu hau?", + visibilityLabel: "Ikusgarritasuna", + visibilityPrivateOnlyYou: "Pribatua - Zu soilik", + visibilityFriendsMutual: "Lagunak - Elkarrekiko jarraipenak", + visibilityPublicAnyone: "Publikoa - Edonor", + visibilityFriends: "Lagunak", + brandLabel: "Marka", + sizeLabel: "Tamaina", + descriptionLabel: "Deskribapena", + conditionLabel: "Egoera", + itemName: "Elementuaren izena", + saveChanges: "Gorde aldaketak", + listItemDialogTitle: "Iragarri \"{{title}}\"", + pickUpWhere: "Non jaso dezakete erosleek elementu hau?", + linkToSpot: "Lotu skate spot bati", + linkToSpotDesc: "Tokiko salmentetarako egokiena • Spot-aren orrian eta mapan agertzen da", + recommended: "Gomendatua", + noSpecificSpot: "Spot zehatzik ez", + noSpecificSpotDesc: "Azoka-orrian soilik agertzen da", + tipLinkedSpots: "💡 Aholkua: spot-ei lotutako iragarkiak errazago aurkitzen dituzte tokiko skaterrek.", + anyoneCanSee: "Edonork ikus ditzake zure profilean.", + seeWhatOthersSee: "Ikusi besteek zer ikusten duten", + inventory: "Inbentarioa", + publicWantsNote: "Nahi publikoak Azokan \"nahi\" iragarki gisa argitaratzen dira, saltzaileek zu aurki zaitzaten.", + howItWorks: "Nola dabilen", + tapToMarketplace: "Sakatu Azokara joateko →", + viewWishlist: "Ikusi nahi-zerrenda", + tipEditItems: "Editatu elementuak arkatz-botoiarekin", + tipListForSale: "Jarri salgai denda-botoiarekin", + tipAddPhotos: "Gehitu argazkiak truke-eskaintza hobeak lortzeko", + tipKeySyncs: "Nostr gakoa gailu guztiekin sinkronizatzen da", + itemsReadyToSell: "{{count}} elementu saltzeko prest" + } + } +}; + +export default batch6; diff --git a/src/i18n/eu/batch7.ts b/src/i18n/eu/batch7.ts new file mode 100644 index 0000000..31af653 --- /dev/null +++ b/src/i18n/eu/batch7.ts @@ -0,0 +1,1599 @@ +const batch7 = { + backup: { + title: "Gorde zure saio-hasiera", + subtitle: "10 segundo baino ez — behin eginda, nahikoa", + message: "Zure berreskuratze-kodea da zure kontura itzultzeko bide bakarra. Gorde ezazu, eta edozein gailutan hasi ahal izango duzu saioa.", + warning: "Galtzen baduzu, ez dago berrezartzerik — ez posta elektronikorik, ez pasahitza berreskuratzerik.", + backupNow: "Gorde orain", + confirmed: "Gorde dut", + remindLater: "Geroago" + }, + pwa: { + installTitle: "Instalatu SkateSpots", + installSubtitle: "Eduki aplikazioaren esperientzia osoa", + addToHomeScreen: "Gehitu hasierako pantailan", + installApp: "Instalatu aplikazioa", + maybeLater: "Agian geroago", + gotIt: "Ulertuta!", + benefits: { + fast: "Tximista bezain azkarra", + offline: "Lineaz kanpo dabil", + fullAccess: "Sarbide osoa" + }, + iosStep1: "Sakatu Partekatu botoia", + iosStep1Hint: "Safari-ren behealdean", + iosStep2: "Egin korritze-keinu eta sakatu \"Gehitu hasierako pantailan\"", + iosStep2Hint: "partekatze-menuan", + iosStep3: "Sakatu \"Gehitu\" instalatzeko", + iosStep3Hint: "Aplikazioa hasierako pantailan agertuko da", + androidStep1: "Sakatu menuaren botoia", + androidStep1Hint: "(hiru puntuak) zure nabigatzailean", + androidStep2: "Hautatu \"Gehitu hasierako pantailan\"", + androidStep2Hint: "edo \"Instalatu aplikazioa\"", + androidStep3: "Berretsi instalazioa", + androidStep3Hint: "Aplikazioa hasierako pantailan agertuko da", + tagline: "Doan • Lineaz kanpo dabil • Azkarra eta fidagarria" + }, + mapPage: { + searchSuggestPlaces: "Tokiak", + title: "Dendak eta spotak", + spots: "Spotak", + shops: "Dendak", + filters: "Iragazkiak", + listView: "Zerrenda", + mapView: "Mapa", + nearMe: "Nire inguruan", + searchPlaceholder: "Bilatu spotak...", + noSpotsInArea: "Ez dago spotik inguru honetan", + zoomIn: "Handitu", + zoomOut: "Txikitu", + myLocation: "Nire kokapena", + locationsFound: "{{count}} kokaleku aurkitu dira", + spotsOnly: "Spotak soilik", + shopsOnly: "Dendak soilik", + spotsAndShops: "Spotak eta dendak", + noSpotsMatch: "Ez dago iragazkiekin bat datorren spotik.", + noSpotsYet: "Oraindik ez da spotik gehitu.", + addFirstSpot: "Gehitu lehen spota" + }, + shops: { + title: "Skate-dendak", + addShop: "Gehitu denda", + editShop: "Editatu denda", + shopDetails: "Dendaren xehetasunak", + shopName: "Dendaren izena", + hours: "Ordutegia", + phone: "Telefonoa", + website: "Webgunea", + services: "Zerbitzuak", + brands: "Markak", + supportLocal: "Lagundu tokikoari", + nip05: "Dendaren NIP-05", + nip05Hint: "Aukerako erabiltzaile-izena, zuk kontrolatua, denda honentzat (adib. shop@yourdomain.com), zure giltzarekin egiaztatua. Gehienez 5 gehitu ditzakezu." + }, + wallet: { + title: "Zorroa", + balance: "Saldoa", + send: "Bidali", + receive: "Jaso", + transactions: "Transakzioak", + history: "Historia", + noTransactions: "Oraindik ez dago transakziorik", + sendSats: "Bidali sats", + receiveSats: "Jaso sats", + amount: "Zenbatekoa", + recipient: "Hartzailea", + lightning: "Lightning", + onChain: "Katean", + invoice: "Faktura", + address: "Helbidea", + scanQR: "Eskaneatu QR", + paste: "Itsatsi", + payInvoice: "Ordaindu faktura", + createInvoice: "Sortu faktura", + copied: "Arbelera kopiatuta!", + insufficientFunds: "Ez dago fondo nahikorik", + paymentSent: "Ordainketa bidalita!", + paymentReceived: "Ordainketa jasota!", + cashu: { + title: "Cashu zorroa", + tokens: "Tokenak", + mint: "Mint", + mints: "Mintak", + manageMints: "Kudeatu mintak", + addMint: "Gehitu mint", + removeMint: "Kendu mint", + defaultMint: "Mint lehenetsia", + backup: "Babeskopia", + restore: "Berrezarri", + recoveryPhrase: "Berreskuratze-esaldia", + viewRecoveryPhrase: "Ikusi berreskuratze-esaldia", + seedWarning: "Hau zure Nostr nsec bezalakoa da — eduki sekretu eta babeskopian!" + } + }, + settings: { + title: "Ezarpenak", + profile: "Profila", + editProfile: "Editatu profila", + account: "Kontua", + security: "Segurtasuna", + relays: "Relayak", + appearance: "Itxura", + language: "Hizkuntza", + notifications: "Jakinarazpenak", + privacy: "Pribatutasuna", + about: "Honi buruz", + help: "Laguntza", + feedback: "Iritzia", + version: "Bertsioa", + displayName: "Bistaratzeko izena", + username: "Erabiltzaile-izena", + bio: "Biografia", + website: "Webgunea", + lightningAddress: "Lightning helbidea", + profilePicture: "Profil-irudia", + banner: "Bannerra", + saveProfile: "Gorde profila", + backupKeys: "Giltzen babeskopia", + exportKeys: "Esportatu giltzak", + secretKey: "Giltza sekretua", + publicKey: "Giltza publikoa", + showSecretKey: "Erakutsi giltza sekretua", + hideSecretKey: "Ezkutatu giltza sekretua", + copyKey: "Kopiatu giltza", + keysBackedUp: "Zure giltzak seguru daudela babeskopian berretsi duzu.", + keysNotBackedUp: "Egin berreskuratze-esaldiaren edo giltza sekretuaren babeskopia!", + selectLanguage: "Hautatu hizkuntza", + english: "Ingelesa", + spanish: "Gaztelania" + }, + lab: { + title: "Laborategia", + subtitle: "Hobetu zure skate-maila", + coaches: "Coachak", + filmers: "Filmatzaileak", + findCoach: "Aurkitu coach bat", + becomeCoach: "Izan coach", + findFilmer: "Aurkitu filmatzaile bat", + becomeFilmer: "Izan filmatzaile", + hourlyRate: "Orduko tasa", + experience: "Esperientzia", + specialties: "Espezialitateak", + availability: "Erabilgarritasuna", + bookSession: "Erreserbatu saio bat", + contactCoach: "Jarri harremanetan coacharekin", + noCoaches: "Ez da coachik aurkitu zure inguruan", + noFilmers: "Ez da filmatzailerik aurkitu zure inguruan" + }, + rewards: { + title: "Sariak", + yourPoints: "Zure puntuak", + earnPoints: "Irabazi puntuak", + redeemPoints: "Trukatu puntuak", + leaderboard: "Sailkapena", + achievements: "Lorpenak", + dailyTasks: "Eguneroko zereginak", + weeklyTasks: "Asteko zereginak" + }, + zaps: { + zapButton: "Zap", + sendZap: "Bidali zap", + zapAmount: "Zap zenbatekoa", + customAmount: "Zenbateko pertsonalizatua", + addMessage: "Gehitu mezua (aukerakoa)", + sending: "Bidaltzen...", + sent: "Zap bidalita!", + failed: "Zapak huts egin du", + received: "Zap bat jaso duzu!" + }, + errors: { + somethingWentWrong: "Zerbait gaizki joan da", + tryAgainLater: "Saiatu berriro geroago", + notFound: "Ez da aurkitu", + pageNotFound: "Orria ez da aurkitu", + unauthorized: "Ez duzu baimenik", + loginRequired: "Hasi saioa jarraitzeko", + networkError: "Sare-errorea", + checkConnection: "Egiaztatu zure internet-konexioa", + invalidInput: "Sarrera baliogabea", + requiredField: "Eremu hau derrigorrezkoa da" + }, + time: { + today: "Gaur", + yesterday: "Atzo", + tomorrow: "Bihar", + thisWeek: "Aste honetan", + nextWeek: "Datorren astean", + thisMonth: "Hilabete honetan", + justNow: "Oraintxe", + minutesAgo: "Duela {{count}} minutu", + hoursAgo: "Duela {{count}} ordu", + daysAgo: "Duela {{count}} egun" + }, + footer: { + vibedWith: "Giroz egina", + poweredBy: "Bultzatuta", + openSource: "Kode irekia", + contribute: "Lagundu", + decentralized: "Deszentralizatua", + communityOwned: "Komunitatearen jabetzakoa" + }, + createSpot: { + title: "Gehitu skate-spot bat", + subtitle: "Partekatu skate-spot bat komunitatearekin", + backToMap: "Itzuli mapara", + namePlaceholder: "adib. Hollywood High School", + descriptionPlaceholder: "Deskribatu spot-a, oztopoak, skate egiteko unerik onenak, segurtasun-informazioa, etab.", + addressPlaceholder: "adib. 1521 N Highland Ave, Los Angeles, CA", + selectType: "Hautatu spot mota", + selectBustLevel: "Hautatu bust-maila", + uploadPhotos: "Kargatu", + dragDrop: "Arrastatu eta jaregin edo klik egin igotzeko", + maxPhotos: "Gehienez 5 argazki", + publishing: "Argitaratzen...", + success: "Spot-a ondo argitaratu da!", + error: "Ezin izan da spot-a argitaratu", + locationRequired: "Hautatu kokaleku bat mapan", + useCurrentLocation: "Erabili nire uneko kokapena", + pickOnMap: "Hautatu kokalekua mapan", + loginToAdd: "Saioa hasi behar duzu skate-spot bat gehitzeko.", + locationLabel: "Kokalekua", + tapToPlace: "Sakatu mapan orratza jartzeko, edo arrastatu doitzeko.", + manualCoords: "Sartu koordenatuak eskuz", + moreDetails: "Xehetasun gehiago (aukerakoa)", + photoHint: "argazki bat beharrezkoa da argitaratzeko", + nameRequired: "Sartu spot honen izena.", + descriptionRequired: "Deskribatu spot hau.", + addressRequired: "Gehitu helbidea edo inguruaren izena.", + photoRequired: "Gehitu gutxienez argazki bat.", + draftTitle: "Gorde gabeko zirriborro bat duzu", + draftBody: "Jarraitu utzi zenuen tokian, edo baztertu.", + draftResume: "Jarraitu", + draftDiscard: "Baztertu zirriborroa", + requiredFields: "Kontaiguzu spot honi buruz. * markatutako eremu guztiak derrigorrezkoak dira.", + coordinates: "Koordenatuak", + latitudePlaceholder: "Latitudea (adib. 34.1012)", + longitudePlaceholder: "Longitudea (adib. -118.3389)", + gettingLocation: "Kokapena lortzen...", + accessType: "Sarbide mota", + publicTitle: "Publikoa — denentzat irekia", + publicDesc: "Skate-parkeak, plaza publikoak, kaleko spotak", + privateTitle: "Jabetza pribatua — baimena behar da", + privateDesc: "Atzeko patioko rampak, lur pribatua, ate itxiko spotak", + localsTitle: "Galdetu lehenengo tokikoei", + localsDesc: "Errespetatu spot-a eta ez zabaldu gehiegi", + contactInfo: "Harremanetarako informazioa", + contactPlaceholder: "adib. Telefono-zenbakia, Instagram, emaila...", + contactHintPrivate: "Nola jarri behar dute jendeak harremanetan baimena eskatzeko?", + contactHintLocals: "Nola jarri behar dute harremanetan spota dela-eta galdetzeko?" + }, + createEvent: { + title: "Sortu ekitaldi bat", + subtitle: "Antolatu skate-ekitaldi bat komunitatearentzat", + backToEvents: "Itzuli ekitaldietara", + namePlaceholder: "adib. Udako skate-saioa", + descriptionPlaceholder: "Deskribatu ekitaldia: zer espero den, arauak, sariak, etab.", + selectType: "Hautatu ekitaldi mota", + venuePlaceholder: "adib. Venice Beach Skatepark, CA", + selectDate: "Hautatu data", + selectTime: "Hautatu ordua", + ticketPricePlaceholder: "Utzi hutsik doako ekitaldietarako", + publishing: "Argitaratzen...", + success: "Ekitaldia ondo argitaratu da!", + error: "Ezin izan da ekitaldia argitaratu", + loginToCreate: "Saioa hasi behar duzu ekitaldi bat sortzeko.", + requiredFields: "Kontaiguzu ekitaldi honi buruz. * markatutako eremu guztiak derrigorrezkoak dira.", + startDateTime: "Hasiera-data eta -ordua", + endDateTime: "Amaiera-data eta -ordua (aukerakoa)", + coordinatesOptional: "Koordenatuak (aukerakoak)", + coverImage: "Azal-irudia", + uploadCover: "Igo azal-irudia", + nip05Recommended: "NIP-05 egiaztapena gomendatua", + nip05Desc: "Gehitu NIP-05 identifikatzailea zure profilean zure nortasuna egiaztatzeko eta parte-hartzaileekin konfiantza eraikitzeko.", + addNip05: "Gehitu NIP-05 ezarpenetan" + }, + spotDetail: { + postedBy: "Argitaratzailea", + getDirections: "Lortu jarraibideak", + reviews: "Iritziak", + noReviews: "Oraindik ez dago iritzirik", + beFirstReview: "Izan zaitez spot honetaz iritzia ematen lehena!", + writeReview: "Idatzi iritzia", + submitReview: "Bidali iritzia", + rating: "Puntuazioa", + reviewPlaceholder: "Partekatu zure esperientzia spot honetan...", + relatedSpots: "Inguruko spotak" + }, + eventDetail: { + organizedBy: "Antolatzailea", + eventInfo: "Ekitaldiaren informazioa", + location: "Kokalekua", + dateTime: "Data eta ordua", + price: "Prezioa", + attendeeCount: "{{count}} joango dira", + interested: "Interesatuta", + going: "Joango naiz", + notGoing: "Ez naiz joango", + share: "Partekatu ekitaldia" + }, + profile: { + posts: "Argitalpenak", + spots: "Spotak", + events: "Ekitaldiak", + following: "Jarraitzen", + followers: "Jarraitzaileak", + editProfile: "Editatu profila", + follow: "Jarraitu", + unfollow: "Utzi jarraitzeari", + noPostsYet: "Oraindik ez dago argitalpenik", + noBio: "Oraindik ez dago biografiarik", + zapProfile: "Egin zap skater honi" + }, + about: { + title: "SkateSpots-i buruz", + subtitle: "Skateboarding komunitate deszentralizatua", + whatIs: "Zer da SkateSpots?", + whatIsDesc: "SkateSpots mundu osoko skate-lekuak aurkitzeko komunitateak bultzatutako plataforma da. Nostr-en eraikia, skaterrei beren datuen jabetza osoa ematen die.", + features: "Ezaugarriak", + featuresDesc: "Aurkitu spotak, sortu ekitaldiak, jarri coach-ekin harremanetan eta lagundu tokiko skate-dendak — dena leku bakarrean.", + nostr: "Nostr-en eraikia", + nostrDesc: "Nostr protokolo sinple eta irekia da, mundu mailako komunikazioa benetan zentsurarakoa ahalbidetzen duena. Zure kontua eta datuak zureak dira.", + openSource: "Kode irekia", + openSourceDesc: "SkateSpots erabat kode irekikoa da. Lagundu, egin fork edo jarri zurea martxan.", + lightning: "Lightning ordainketak", + lightningDesc: "Egin zap zure skater, coach eta eduki-sortzaile gogokoenei Bitcoin Lightning ordainketekin." + }, + faq: { + title: "Ohiko galderak", + subtitle: "SkateSpots-i buruz jakin behar duzun guztia", + whatIsNostr: "Zer da Nostr?", + whatIsNostrAnswer: "Nostr gizarte-sare deszentralizatuetarako protokolo irekia da. Plataforma tradizionalek ez bezala, zure datuak eta nortasuna zureak dira.", + howToStart: "Nola hasi naiteke?", + howToStartAnswer: "Egin klik \"Erregistratu\" Nostr kontu berri bat sortzeko, edo \"Hasi saioa\" jadanik baduzu. Nabigatzaile-luzapena, mugikorreko aplikazioa edo giltza sekretua erabil ditzakezu.", + whatAreZaps: "Zer dira zapak?", + whatAreZapsAnswer: "Zapak beste erabiltzaileei bidal diezazkiekeen Bitcoin Lightning eduki-punttxoak dira. Eduki ona eskertzeko edo sortzaileei laguntzeko modu bat dira.", + howToAddSpot: "Nola gehitzen dut spot bat?", + howToAddSpotAnswer: "Hasi saioa zure kontuan, egin klik \"Gehitu spota\" eta bete xehetasunak: kokalekua, argazkiak eta deskribapena.", + isItFree: "SkateSpots doakoa al da?", + isItFreeAnswer: "Bai! SkateSpots erabat doakoa da. Aukeran, zapak (Bitcoin eduki-punttxoak) bidal diezazkiekezu beste erabiltzaileei.", + canIEditSpot: "Editatu edo ezabatu ditzaket nire spotak?", + canIEditSpotAnswer: "Bai, sortu dituzun spotak editatu ditzakezu. Nostr deszentralizatua denez, ezabatzeko eskaerak bidaltzen dira, baina relay batzuek datuak gorde ditzakete." + }, + onboarding: { + welcome: "Ongi etorri SkateSpots-era!", + welcomeDesc: "Konfigura dezagun dena urrats gutxi batzuetan.", + step1Title: "Sortu zure kontua", + step1Desc: "Zure Nostr giltzak sortzen ari dira. Hau zuk kontrolatzen duzun pasahitz modukoa da.", + step2Title: "Egin giltzen babeskopia", + step2Desc: "Gorde zure berreskuratze-esaldia leku seguru batean. Hau da zure kontua berreskuratzeko modu bakarra!", + step3Title: "Konfiguratu zure profila", + step3Desc: "Kontaiguzu zerbait zure buruari buruz komunitateari.", + step4Title: "Prest zaude!", + step4Desc: "Hasi spotak, ekitaldiak eta skaterrekiko konexioak arakatzen.", + skipForNow: "Saltatu orain", + continueToApp: "Jarraitu aplikaziora" + }, + labPage: { + title: "Laborategia", + subtitle: "Ikasi trikimailuak. Harrapatu uneak. Konektatu beste skater batzuekin", + coachesTab: "Entrenamendua", + filmersTab: "Filmatzea", + offerCoaching: "ESKAINI COACHINGA", + offerFilming: "ESKAINI FILMATZEA", + loginToOffer: "Hasi saioa zerbitzuak eskaintzeko", + whatToLearn: "ZER IKASI NAHI DUZU?", + whatContent: "ZER MOTATAKO EDUKIA?", + selectSkillsDesc: "Hautatu trebetasunak eta coach egokiekin bat egingo zaitugu", + selectFilmingDesc: "Hautatu bilatzen ari zaren filmatze-zerbitzuak", + searchPlaceholder: "Bilatu izenaren, kokalekuaren edo trebetasunen arabera...", + noServicesYet: "ORAINDIK EZ DAGO ZERBITZURIK", + beFirstToOffer: "Izan zaitez komunitateari coaching edo filmatze zerbitzuak eskaintzen lehena!", + skills: "Trebetasunak", + rate: "Tasa", + perHour: "/ordu", + contact: "Kontaktua", + viewProfile: "Ikusi profila", + noProfilesYet: "Oraindik ez dago profilik", + beFirstCoach: "Izan zaitez coach gisa erregistratzen lehena!", + beFirstFilmer: "Izan zaitez filmatzaile gisa erregistratzen lehena!", + yearsExperience: "urteko esperientzia" + }, + becomeCoach: { + title: "Izan coach", + subtitle: "Partekatu zure trebetasunak eta lagundu beste skater batzuei hobetzen", + bioPlaceholder: "Kontaiguzu zure skate-ibilerari eta irakasteko estiloari buruz...", + skillsPlaceholder: "adib. kickflip, heelflip, grindak, bowlak", + selectSkills: "Hautatu irakats ditzakezun trebetasunak", + hourlyRate: "Orduko tasa (sats)", + ratePlaceholder: "adib. 5000", + locationPlaceholder: "Zure hiria edo ingurua", + publishing: "Profila argitaratzen...", + success: "Coach profila sortuta!", + error: "Ezin izan da profila sortu" + }, + becomeFilmer: { + title: "Izan filmatzaile", + subtitle: "Harrapatu komunitatearentzako klip onenak", + bioPlaceholder: "Kontaiguzu zure filmatze-esperientziari eta ekipoari buruz...", + specialtiesPlaceholder: "adib. arrain-begia, teleobjektiboa, drona, edizioa", + selectSpecialties: "Hautatu zure espezialitateak", + hourlyRate: "Orduko tasa (sats)", + ratePlaceholder: "adib. 5000", + locationPlaceholder: "Zure hiria edo ingurua", + portfolioUrl: "Portfolioaren URLa", + portfolioPlaceholder: "Esteka zure lanera (YouTube, Instagram, etab.)", + publishing: "Profila argitaratzen...", + success: "Filmatzaile profila sortuta!", + error: "Ezin izan da profila sortu" + }, + skills: { + kickflip: "Kickflip", + heelflip: "Heelflip", + ollie: "Ollie", + treflip: "360 Flip", + shuvit: "Shuvit", + hardflip: "Hardflip", + varial: "Varial", + nollie: "Nollie", + fakie: "Fakie", + switch: "Switch", + grind: "Grind", + slide: "Slide", + manual: "Manual", + transition: "Transition", + bowl: "Bowl", + vert: "Vert", + street: "Street", + flatground: "Flatground" + }, + food: { + title: "Janari-spotak", + subtitle: "Hartu energia saioaren aurretik edo ondoren", + addFood: "Gehitu janari-spota", + categories: { + all: "Guztiak", + burgers: "Hanburgesak", + pizza: "Pizza", + tacos: "Takoak", + coffee: "Kafea", + drinks: "Edariak", + snacks: "Aperitiboak" + }, + skaterFriendly: "Skater adeitsua", + nearSpots: "Skate-spoten ondoan" + }, + weather: { + title: "Eguraldia", + current: "Uneko egoera", + forecast: "Iragarpena", + humidity: "Hezetasuna", + wind: "Haizea", + feelsLike: "Sentsazioa", + goodForSkating: "Skate egiteko aproposa!", + notIdeal: "Baldintzak ez dira aproposak", + allWeather: "Edonolako eguraldia", + goodWeather: "Eguraldi ona", + perfectWeather: "Eguraldi ezin hobea" + }, + diyUi: { + title: "DIY — Egizu zeure", + tagline: "Gidak, tresna irekiak eta planak zure taulak, rampak eta hormigoizko spotak egiteko — eta horiekin batera joateko jendea, lekuak eta azoka.", + doItWithPeople: "Egin ezazu jendearekin", + backToDiy: "Itzuli DIYra", + calc: { + title: "Taularen kostu-kalkulagailua", + intro: "Zenbat kostatzen den taula bat egitea — lana, ekipoa, materialak, prozesu-denbora, ontziratzea eta marjina — eta salmenta-prezio bidezkoa. Gailu honetan gordeta." + }, + designer: { + title: "Taula-diseinatzailea", + intro: "Marraztu skateboard edo longboard baten silueta, eta esportatu inprimatzeko 1:1 txantiloi bat, SVG bat edo DXF bat CNCrako. Gailu honetan gordeta.", + presets: "Aurrezarpenak", + dimensions: "Neurriak", + shape: "Forma", + kicks: "Kickak", + hardware: "Ardatz-zuloak", + width: "Zabalera maximoa", + wheelbase: "Wheelbasea", + nose: "Nose luzera", + tail: "Tail luzera", + length: "Luzera osoa", + waist: "Gerria", + endRound: "Muturren biribiltasuna", + concave: "Konkaboa", + thickness: "Lodiera", + tailKick: "Tail kicka", + noseKick: "Nose kicka", + holeNew: "New school (2.125″)", + holeOld: "Old school (2.5″)", + holeSpacing: "New school 2.125″ × 1.625″ da (54 × 41 mm); old school 2.5″ × 1.625″. 3/16″-ko muntatze-zuloak.", + topView: "Goiko ikuspegia", + sideView: "Alboko profila", + concaveSection: "Konkabo-ebakidura", + export: "Esportatu", + pdfA4: "1:1 PDF · A4", + pdfLetter: "1:1 PDF · Letter", + printNote: "Inprimatu PDFa % 100ean (ez \"doitu orrialdera\"), eta itsatsi fitxak izkinetako gurutzeekin. SVGa ere benetako tamainan dago.", + note: "Hau da marraztu eta mozteko 2D silueta. 3D forma osoetarako eta moldeak diseinatzeko, CAD tresna egoki bat da oraindik aukerarik onena." + }, + source: "Iturria", + comingSoon: "Laster", + footer: "Urratsez urratseko gidak bidean dira. Bitartean: aurkitu Laborategian eraikitzen duen jendea, mapatu zure spot-a eta erosi edo saldu Azokan. Lan egin seguru — babesak, eskularruak eta begi-babesa.", + categories: { + boards: "Taulak", + ramps: "Rampak eta egurrezko oztopoak", + concrete: "Hormigoia eta DIY spotak", + repairs: "Konponketak eta doikuntzak", + tools: "Tresnak eta planak" + }, + cards: { + ossBuild: { + title: "Eraiki skateboard bat", + blurb: "Urratsez urratseko taula-fabrikazioa — xaflak, moldeak, prentsak eta akabera." + }, + sk8cad: { + title: "SK8CAD", + blurb: "Kode irekiko CADa taula-formetarako, konkaborako eta moldeen diseinurako." + }, + deckCost: { + title: "Taularen kostua eta prezioa", + blurb: "Kalkulatu materialak, lana eta salmenta-prezio bidezkoa eraiki aurretik." + }, + deckDesigner: { + title: "Taula-diseinatzailea", + blurb: "Marraztu silueta bat eta inprimatu 1:1 txantiloia — edo esportatu SVG/DXF CNCrako." + }, + ledgeBox: { + title: "Eraiki ledge edo box bat", + blurb: "Asteburu batean eraiki dezakezun egurrezko oztopo hasiberri-adina." + }, + quarterpipe: { + title: "Eraiki quarterpipe bat", + blurb: "Rampa-planak, trantsizioa eta copinga atzeko patioko mini baterako." + }, + flatbar: { + title: "Eraiki flatbar bat", + blurb: "Merkea, eramangarria eta barandak ikasteko modurik onena." + }, + concreteBasics: { + title: "Hormigoiaren oinarriak", + blurb: "Nahastea, moldeatzea eta irauten duen ledge edo banku baten akabera." + }, + coping: { + title: "Copinga eta ertzak", + blurb: "Nola jarri copinga eta eman akabera trantsizio bati grind leun baterako." + }, + buyParts: { + title: "Erosi piezak eta ekipoa", + blurb: "Eskuratu taulak, hardwarea eta tresnak Azokako saltzaileengandik." + }, + mapSpot: { + title: "Mapatu zure DIY spot-a", + blurb: "Zerbait eraiki duzu? Gehitu mapara besteek aurkitu eta skate egin dezaten." + }, + regrip: { + title: "Berrjarri griptapea", + blurb: "Kendu griptape zaharra eta jarri berria garbi." + }, + tune: { + title: "Doitu errodamenduak eta ardatzak", + blurb: "Garbitu errodamenduak, aldatu bushingsak eta ezarri ardatzaren geometria." + }, + printMolds: { + title: "3D inprimatutako moldeak", + blurb: "Komunitatearen molde eta lerrokatze-oinarrien fitxategi inprimagarriak." + }, + sk8cadTools: { + title: "Molde eta lerrokatze tresnak", + blurb: "Diseinatu moldeak lerrokatze-oinarriak barne." + } + }, + actions: { + findBuilder: { + title: "Aurkitu eraikitzaile bat", + blurb: "Laborategiko rampa eta DIY eraikitzaileak, zuretzat diseinatu edo hormigoia bota dezaketenak." + }, + findCrew: { + title: "Aurkitu DIY koadrila bat", + blurb: "Eraikuntzan zentratutako koadrilak — batu spotak errealitate bihurtzen dituztenetara." + }, + mapSpot: { + title: "Mapatu DIY spot bat", + blurb: "Gehitu eraiki duzun spot-a mapan bizi dadin." + }, + sellBuilds: { + title: "Saldu zure eraikitakoak", + blurb: "Zerrendatu egiten dituzun taulak, rampak edo piezak Azokan." + }, + findCoach: { + title: "Aurkitu coach bat", + blurb: "DIY skate-moduluak eta spot-eraikuntza irakasten dituzten coachak." + } + } + }, + seoUi: { + becomeBuilderTitle: "Izan eraikitzaile - SkateSpots", + becomeBuilderDesc: "Zerrendatu zure rampa, parke eta DIY eraikuntza zerbitzuak — zer eraikitzen duzun, materialak eta eskala.", + tradesTitle: "Nire trukeak — SkateSpots", + tradesDesc: "Kudeatu zure azokako trukeak, berrespenak eta ospea.", + eventsTitle: "Skate-ekitaldiak eta tourrak - SkateSpots", + eventsDesc: "Aurkitu skateboarding ekitaldiak, lehiaketak, tourrak eta saioak zure inguruan.", + editShopDesc: "Editatu zure skate-denda.", + createTourDesc: "Antolatu skate-tourrak — tokiko ezkutuko harribitxien tourrak, nazio mailako errepide-bidaiak, nazioarteko abenturak edo KOTR estiloko suntsitze-lehiaketak.", + deckDesignerTitle: "Taula-diseinatzailea — SkateSpots DIY", + deckDesignerDesc: "Diseinatu skateboard edo longboard baten silueta, eta esportatu 1:1 txantiloi inprimagarria, SVG edo DXF — konkaboa, kickak, wheelbasea eta ardatz-zuloak barne.", + createEventTitle: "Sortu skate-ekitaldi bat - SkateSpots", + createEventDesc: "Sortu skateboarding ekitaldi berri bat komunitatearentzat.", + editTourDesc: "Editatu zure skate-tourra — eguneratu geldialdiak, datak eta xehetasunak.", + walletTitle: "Zorroa - SkateSpots", + walletDesc: "Konektatu zure Lightning zorroa skaterrei eta spot-sortzaileei zapak bidaltzeko.", + becomePhotographerTitle: "Izan argazkilari - SkateSpots", + becomePhotographerDesc: "Sortu zure skate-argazkilaritza profila — kamerak, objektiboak, argiztapena eta zerbitzuak.", + newsletterTitle: "Buletina - SkateSpots", + newsletterDesc: "SkateSpots komunitatearen asteko bidalketak. Aplikazioaren eguneraketak, spot berriak, ekitaldiak eta skateboarding-a bizirik mantentzen duten pertsonak.", + homeTitle: "SkateSpots - Aurkitu skateboarding lekuak mundu osoan", + zapLeaderboardTitle: "Zap-sailkapenak - SkateSpots", + zapLeaderboardDesc: "Zap gehien jasotako skate-spotak eta horiei laguntzen dieten komunitateko kideak.", + adminReviewTitle: "Berrikuspen-ilara — SkateSpots", + gearSwapTitle: "Ekipo-trukea - SkateSpots", + gearSwapDesc: "Erosi eta saldu erabilitako skate-ekipoa beste skater batzuekin. Taulak, ardatzak, gurpilak, zapatak eta gehiago.", + donateTitle: "Egin dohaintza — SkateSpots", + donateDesc: "Lagundu SkateSpotsi — Lightning, katean pribatua (ordainketa isilak) edo finantzatu eraikuntza Angorren.", + verifyCardTitle: "Egiaztatu — SkateSpots", + verifyCardDesc: "Egiaztatu SkateSpots txartel edo sarbide-pase bat.", + mapTitle: "Skate-spoten mapa - SkateSpots", + mapDesc: "Arakatu mundu osoko skateboarding spotak gure mapa interaktiboan.", + diyTitle: "DIY — Egizu zeure | SkateSpots", + diyDesc: "Gidak, tresna irekiak eta planak zeure skateboard, rampa eta hormigoizko spotak egiteko — eta horretarako jendea eta lekuak.", + appShopTitle: "App-denda — SkateSpots", + becomeSkaterTitle: "Batu skater direktorioa - SkateSpots", + becomeSkaterDesc: "Sortu zure skater profila komunitateak aurkitu zaitzan.", + marketplaceTitle: "Azoka - SkateSpots", + marketplaceDesc: "Erosi eta saldu skateboarding ekipoa Plebeian Market deszentralizatuan.", + becomeEditorTitle: "Izan bideo-editore - SkateSpots", + becomeEditorDesc: "Sortu zure skateboarding bideo-editore profila SkateSpotsen.", + amberCallbackTitle: "Amber-ekin saioa hasitzen - SkateSpots", + amberCallbackDesc: "Zure Amber (NIP-55) saio-hasiera osatzen.", + supportersTitle: "Laguntzaileak - SkateSpots", + supportersDesc: "SkateSpots bizirik mantentzen duen komunitatea — laguntzaileak, kolaboratzaileak, bazkideak eta lagunak.", + becomeCoachTitle: "Izan coach - SkateSpots", + becomeCoachDesc: "Sortu zure skateboarding coach profila.", + riderCardTitle: "Skater txartela — SkateSpots", + riderCardDesc: "Sortu zure SkateSpots Skater Lizentzia edo Parke Sarbide Txartel inprimagarria.", + editEventDesc: "Editatu zure skateboarding ekitaldia.", + createShopTitle: "Gehitu skate-denda bat - SkateSpots", + createShopDesc: "Gehitu zure skate-denda komunitatean.", + deckCostTitle: "Taularen kostu-kalkulagailua — SkateSpots DIY", + deckCostDesc: "Kalkulatu zenbat kostatzen den taula bat egitea — lana, ekipoa, materialak, prozesu-denbora, ontziratzea eta marjina — eta salmenta-prezio bidezkoa.", + pyramidTitle: "Piramide-sailkapenak - SkateSpots", + pyramidDesc: "Laguntzaile eta komunitate-buru nagusiak.", + foodTitle: "Janaria spoten ondoan - SkateSpots", + foodDesc: "Aurkitu jatetxeak, kafetegiak eta janari-aukerak skateboarding spoten ondoan.", + createListingTitle: "Zerrendatu ekipoa - SkateSpots", + createListingDesc: "Zerrendatu saltzeko skateboarding ekipoa edo aurkitu erosi nahi duzun ekipoa.", + becomeFilmerTitle: "Izan filmatzaile - SkateSpots", + becomeFilmerDesc: "Sortu zure skateboarding filmatze profila.", + skatersTitle: "Skaterrak - SkateSpots", + skatersDesc: "Aurkitu skaterrak SkateSpots komunitatean. Arakatu estiloaren, jarreren, mailaren eta kokalekuaren arabera.", + communityStatsTitle: "Komunitatearen estatistikak — SkateSpots", + communityStatsDesc: "SkateSpotsen komunitate-neurriak zuzenean — spotak, ekitaldiak, coachak, filmatzaileak, editoreak, tourrak eta hazkundea denboran zehar. Zuzenean Nostr-etik aterata.", + labTitle: "Laborategia - SkateSpots", + labDesc: "Aurkitu skateboarding coachak, filmatzaileak, argazkilariak eta bideo-editoreak.", + stashTitle: "Nire biltegia - SkateSpots", + stashDesc: "Kudeatu zure ekipo-inbentario pribatua. Jarraitu duzun ekipoa, saldu edo trukatu nahi duzuna.", + bountyLeaderboardTitle: "Mapatu eta irabazi - SkateSpots", + bountyLeaderboardDesc: "Mapatu skate-spotak eta dendak, irabazi zapak komunitatetik. Ikusi laguntzaile nagusiak.", + spotCollectionsTitle: "Nire spot-bildumak - SkateSpots", + spotCollectionsDesc: "Antolatu zure skate-spot gogokoenak bilduma pertsonalizatuetan", + mintsTitle: "Cashu mintak — SkateSpots", + mintsDesc: "Arakatu Cashu mintak, egiaztatu haien osasuna eta gehitu bat zure zorroan." + }, + statusUi: { + quickStatus: "Egoera azkarra", + skating: "Skate egiten", + skatingDesc: "Orain skate egiten", + filming: "Filmatzen", + filmingDesc: "Trikimailuak filmatzen", + lookingForSesh: "Saio bat bilatzen", + lookingForSeshDesc: "Beste batzuekin skate egin nahi dut", + coaching: "Coachinga", + coachingDesc: "Irakasten/coaching", + chilling: "Lasai", + chillingDesc: "Spotean denbora pasatzen", + onMyWay: "Bidean", + onMyWayDesc: "Spot batera noa", + takingABreak: "Atseden hartzen", + takingABreakDesc: "Atseden hartzen/hidratatzen", + doneForToday: "Gaurko egina", + doneForTodayDesc: "Skate egiteari utzi diot" + }, + sasquatchGuide: { + homeTitle: "Ongi etorri SkateSpots-era! 🦧", + homeMessage: "Aupa, ni Sasquatch naiz. Taulen, bideen eta ibilaldi basatien zaintzailea. Ongi etorri Nostr-eko skate-mundu hezigabean — trajerik gabe, iragarkirik gabe, skaterrak beren bidea egiten dutela. Hemen zureak dira trikimailuak, datuak eta marka uzten baduzu Bitcoin ere irabaz dezakezu. Konektatu zure auzoko edo mundu osoko skaterrekin. Araurik ez, skate egitea besterik; arrastorik ez, zurea ez dena.", + homeQ1: "Planifikatu 3 egun Bartzelonan", + homeQ2: "Aurkitu hasiberrientzako spotak", + homeQ3: "Ekitaldirik badator?", + homeQ4: "Komunitatearen estatistikak", + homeQ5: "Aurkitu coachak nire inguruan", + homeQ6: "Ekipoa salgai?", + homeQ7: "Zer da Nostr?", + homeQ8: "Doakoa al da?", + homeLearnMore: "Ikasi gehiago", + onboardingTitle: "Has zaitez 🚀", + onboardingMessage: "Utzidazu oinarriak ulertzen! Nostr zure nortasuna da, Bitcoin Lightning-ek ekarpenengatik sats irabazteko aukera ematen dizu, eta zapak berehalako eduki-punttxoak dira. Galdetu nahi duzuna hasteko!", + onboardingQ1: "Nola hasi saioa?", + onboardingQ2: "Zer da Nostr?", + onboardingQ3: "Nola funtzionatzen du Nostr-ek?", + onboardingQ4: "Zer da Cashu?", + onboardingQ5: "Nola erabili Cashu zorroa?", + onboardingQ6: "Zer dira mintak?", + onboardingQ7: "Zer dira zapak?", + onboardingQ8: "Zer da NWC?", + onboardingStart: "Hasi arakatzen", + onboardingLogin: "Hasi saioa hasteko", + labTitle: "Ongi etorri Laborategira! 🎓", + labMessage: "Hemen gertatzen da magia! Aurkitu kickflipetatik darkslideetara edozer irakats diezazuketen coachak, edo konektatu zure saiorik onenak harrapatzeko filmatzaileekin. Iragazi trebetasunen arabera, begiratu haien esperientzia eta erreserbatu saio bat. Gogoratu — denak hasi ziren nonbait!", + labQ1: "Aurkitu coachak", + labQ2: "Aurkitu filmatzaileak", + labQ3: "Aurkitu argazkilariak", + labQ4: "Aurkitu bideo-editoreak", + labQ5: "Aurkitu rampa-eraikitzaile bat", + labQ6: "Zer da Laborategia?", + labQ7: "Zer da eraikitzailea?", + labQ8: "Nola eskaini coachinga?", + labLogin: "Hasi saioa zerbitzuak eskaintzeko", + crewsTitle: "Koadrilak 🤘", + crewsMessage: "Koadrilak mapan finkatutako zure skate-familia dira — ZUREKIN skate egiten dutenak, ez kontratatzen dituzunak. Koadrila bakoitzak lurraldea du mapan, etxeko spotak, kideak eta manifestua. Kideek beren giltzekin berresten dute, beraz zerrenda benetakoa da. Sortu zurea edo aurkitu zure jendea!", + crewsQ1: "Zer dira koadrilak?", + crewsQ2: "Nola sortu koadrila bat?", + crewsQ3: "Zertan desberdintzen da koadrila Laborategitik?", + crewsQ4: "Nola berresten dute kideek?", + crewsQ5: "Zer da Nostr?", + crewsQ6: "Nola funtzionatzen dute zapek?", + crewsLogin: "Hasi saioa koadrila bat sortzeko" + }, + supportUi: { + keepMapFree: "Mantendu mapa doan", + keepMapFreeDesc: "Iragarkirik ez, jarraipenik ez, arrisku-kapitalik ez. Zure satsek hostinga, AI nodoa eta relay-a ordaintzen dituzte.", + thankYou: "Eskerrik asko! ⚡", + satsKeepMapFree: "Zure satsek mapa doan mantentzen dute.", + keptFreeNext: "SkateSpots doan mantendu duzu hurrengo skaterrarentzat.", + scanToPay: "Eskaneatu ordaintzeko", + zapSkateSpots: "Egin zap SkateSpotsi", + payQuietly: "Ordaindu isilka", + pickAmount: "Aukeratu zenbatekoa", + enterAmount: "Sartu bidali nahi duzun sats kopurua.", + couldNotStartPayment: "Ezin izan da ordainketa hasi.", + customAmountAria: "Zenbateko pertsonalizatua satsetan", + commentPlaceholder: "Esan zerbait (aukerakoa — zap publikoetarako soilik)", + publicZapTitle: "Zap publikoa zure iruzkinarekin", + loginToZapTitle: "Hasi saioa zap publikoa bidaltzeko", + anonymousTitle: "Anonimoa — saio-hasierarik gabe, erregistrorik gabe", + copyLightningTitle: "Kopiatu Lightning helbidea", + copiedSuffix: "{{label}} kopiatuta", + invoiceLabel: "Faktura", + addressLabel: "Helbidea", + notAPurchase: "Laguntza da, ez erosketa — ez du ezer erosten eta ez dago itzulketa. Merchandising-a eta Sasquatch Pro aparte daude. Zure kokalekua eta nortasuna ez dira inoiz ordainketa isil batean sartzen." + }, + role: { + owner: "Jabea", + admin: "Administratzailea", + organiser: "Antolatzailea", + verifiedOwner: "Jabe egiaztatua" + }, + nfc: { + write: "Idatzi NFC etiketara", + written: "Etiketa idatzita", + writtenDesc: "Ukitu etiketa telefono batekin egiaztatze-orria irekitzeko.", + failed: "Ezin izan da etiketa idatzi" + }, + venueAccess: { + title: "Sarbide-paseak", + desc: "Eman pase sinatu bat rider bati, atean sarbidea frogatu ahal izateko — bere txartela erakusten du eta edonork eskanea dezake QR-a egiaztatzeko.", + active: "{{count}} aktibo", + revoked: "{{count}} baliogabetu", + issue: "Eman pase bat", + verifyHint: "Eskaneatuta egiaztatzen da — ez da aplikaziorik edo konturik behar egiaztatzeko.", + publicTitle: "Sarbide-paseak", + publicDesc: "Leku honek sarbide-paseak ematen ditu. Eskaneatu rider baten txartela atean egiaztatzeko.", + badge: "Paseak", + sellerHint: "Saltzaile honen lekuak sarbide-paseak ematen ditu" + }, + marketTerms: { + link: "Azokako jarraibideak", + seoTitle: "Azokako jarraibideak", + seoDescription: "Nola funtzionatzen duten SkateSpots ekipo-iragarkiek: parekoen artekoa, erosleak kontuz, eta arauak.", + title: "Azokako jarraibideak", + intro: "SkateSpots parekoen arteko ekipo-tauleria da. Zuzenean tratatzen duzu beste pertsonarekin: ez dugu funtsik gordetzen, ez dugu ezer bidaltzen, ez ditugu gatazkak konpontzen.", + howTitle: "Nola funtzionatzen du", + howBody: "Zerrendatu ekipoa, jarri saltzailearekin harremanetan mezu pribatu batean eta likidatu zuzenean (eskudirua, Lightning edo trukea). Ez dago saskirik edo kaxarik.", + rulesTitle: "Zer ez dagoen baimenduta", + rulesBody: "Eduki ilegala, arriskutsua edo helduentzakoa debekatuta; drogarik, armek, faltsututako edo lapurtutako ondasunik ez. Iragarkiak skate-ekipoari eta erlazionatutako gauzei buruzkoak izan daitezela.", + respectTitle: "Izan errespetuzkoa", + respectBody: "Ez abusurik, ez jazarpenerik, ez mehatxurik, ez gorrotoa. Moderatzaileek iragarkiak edo kontuak ezkuta ditzakete.", + trustTitle: "Konfiantza gida da, ez bermea", + trustBody: "Egiaztapen-markak eta truke-ospea sarearen seinaleak dira, ez promesak. Egin zure egiaztapenak trukatu aurretik.", + trustLink: "Nola funtzionatzen duen konfiantzak", + privacyLink: "Zer irteten da zure gailutik", + safetyTitle: "Trukatu seguru", + safetyBody: "Agerian geratu entregarako, erabili fidantza edo borondate oneko gordailua bidaltzen diren tratuetarako, eta ez bidali inoiz dirurik aplikaziotik kanpora.", + moderationTitle: "Moderazioa leuna eta itzulgarria da", + moderationBody: "Ezkutatutako edukia relayetan geratzen da eta berrezar daiteke; pertsonen arteko gatazkak zuk konpondu behar dituzu." + }, + sasquatchUi: { + live: "zuzenean", + offline: "lineaz kanpo", + genericTitle: "SkateSpots laguntzailea 🦧", + genericGreeting: "Aupa! Sasquatch naiz. Galdetu spotei, ekitaldiei, coachei, ekipoari edo aplikazioaren funtzionamenduari buruz. SkateSpots relayeko zuzeneko datuak ditut!", + q1: "Planifikatu 3 egun Lisboan", + q2: "Aurkitu spotak nire inguruan", + q3: "Ekitaldirik badator?", + q4: "Zer dira koadrilak?", + q5: "Nola funtzionatzen dute zapek?", + q6: "Zer da Nostr?", + q7: "Zer da Nire biltegia?", + q8: "Doakoa al da?", + bubbleTitle: "Sakatu eta arrastatu mugitzeko · Sakatu irekitzeko", + openGuideAria: "Ireki Sasquatch gida", + hideAria: "Ezkutatu Sasquatch laguntzailea", + hide: "Ezkutatu laguntzailea", + showAria: "Erakutsi Sasquatch laguntzailea", + activeUntil: "Aktibo {{date}} arte", + platformOwner: "Plataformaren jabea", + upgradeTitle: "Igo Sasquatch Pro-ra", + goPro: "Egin Pro", + goProBlurb: "AI pertsonala · 2k satstik aurrera", + aiBalanceTitle: "Sasquatch AI kreditu-saldoa (jabearentzat soilik) — birkargatu {{provider}} hornitzailean", + aiChip: "⚡ AI {{balance}}", + minimizeToBubbleAria: "Minimizatu burbuilara", + minimize: "Minimizatu", + closePanelAria: "Itxi panela", + close: "Itxi", + askLab: "Galdetu coachingari eta filmatzeari buruz", + askMap: "Galdetu spotei, dendei eta ekipoari buruz", + askAnything: "Galdetu nahi duzuna 🛹", + quickQuestions: "Galdera azkarrak:", + you: "🧑 Zu", + thinking: "pentsatzen...", + inputPlaceholder: "Galdetu spotei, ekitaldiei, coachei...", + liveDataFrom: "Zuzeneko datuak hemendik:", + nostrRelays: "Nostr relayak", + clear: "garbitu", + gettingLocation: "📍 Zure kokapena lortzen…", + findingClosest: "🔍 Spot hurbilenak bilatzen…", + checkingLive: "🔍 Zuzeneko datuak egiaztatzen…", + planningTrip: "🗺️ Zure {{destination}} bidaia planifikatzen...", + searchingRelays: "🔍 Relayetan {{tool}} bilatzen...", + perk1: "Laguntzaile pertsonala — Sasquatchek zure Biltegia, koadrilak, spotak eta iragarkiak irakurtzen ditu", + perk2: "Ekintza-zirriborroak: zerrendatu ekipoa, argitaratu skate-egoera, planifikatu bidaia — zuk berresten duzu ezer argitaratu aurretik", + perk3: "Erantzunek zure testuinguru pertsonala erabiltzen dute, ez datu publikoak soilik", + perk4: "⚡ Lagundu zuzenean SkateSpotsi eta mantendu doan eta iragarkirik gabe", + welcomeTitle: "Eskerrik asko Sasquatch Pro babesteagatik! 🦧⚡", + welcomeDesc: "Ordainketa bidalita — zure pasea hornitzaileak berresten duenean aktibatuko da (normalean minutu batean). Eskerrik asko kaleak libre mantentzeagatik.", + invoiceCopied: "Faktura kopiatuta", + dialogDesc: "Bizkortu zure AI skate-gida. % 100 doako komunitate-aplikazio bat finantzatzen du, iragarkirik gabea.", + proSupporter: "Pro laguntzailea zara ⚡", + extendPrompt: "Luzatu nahi duzu? Aukeratu maila bat behean denbora gehiago gehitzeko.", + scanToPayPre: "Eskaneatu eta ordaindu", + scanToPayAmount: "{{sats}} sats", + scanToPayPost: "{{label}} Pro-ren truke.", + invoiceQrAlt: "Lightning fakturaren QR-a", + copyInvoice: "Kopiatu faktura", + ivePaid: "Ordaindu dut", + ivePaidHint: "Sakatu \"Ordaindu dut\" zure zorroak berretsi ondoren — honek zure pasea zure Nostr nortasunarekin erregistratzen du.", + freeStaysPre: "Doako Sasquatch doan izaten jarraitzen du — spot/ekitaldi/coach bilaketa publikoa, bidaia-plangintza + trikimailuen glosario osoa. Pro-k ", + freeStaysEmphasis: "pertsonal + ekintza", + freeStaysPost: " geruza gehitzen du.", + loginFirst: "Hasi saioa lehenengo Pro-ra igotzeko.", + paysTo: "Hona ordaintzen du:", + overLightning: "Lightning bidez. Zure npub-ari lotuta.", + popular: "Ospetsua", + sats: "sats", + extend: "Luzatu", + done: "Eginda!", + cancelledNothing: "Utzita — ez da ezer argitaratu.", + draftReview: "Zirriborroa — berrikusi eta berretsi", + statusTextPlaceholder: "Egoeraren testua", + titlePlaceholder: "Izenburua", + priceSatsPlaceholder: "Prezioa (sats)", + conditionPlaceholder: "Egoera", + cancel: "Utzi", + aiTitle: "Sasquatch AI", + owner: "Jabea", + notConfigured: "ez dago konfiguratuta", + unavailable: "ez dago erabilgarri", + satsValue: "{{balance}} sats", + theNode: "nodoa", + lowBalance: "Gutxi geratzen da — birkargatu {{provider}} hornitzailean edo AI-k hornitzaile giltzarik gabekora egingo du atzera.", + aiDesc: "Eskaerako ordainketa duen AIa, satsetan finantzatua Routstr bidez. Automatikoki birkargatzen da gutxi dagoenean.", + tier7d: "7 egun", + tier1m: "hilabete 1", + tier3m: "3 hilabete", + tier1y: "urte 1", + badgeTry: "Probatu", + badgeOff20: "% 20 deskontu", + badgeBest: "Aukera onena · % 40 deskontu", + draftPostStatusTitle: "Argitaratu skate-egoera bat", + draftAutoExpires: "Automatikoki iraungiko da {{count}} min barru", + draftPostStatusCta: "Argitaratu egoera", + draftCategory: "Kategoria: {{value}}", + draftSize: "Tamaina: {{value}}", + draftCondition: "Egoera: {{value}}", + draftMaxPrice: "Gehienezko prezioa: {{price}} {{currency}}", + draftPriceOpen: "Prezioa: irekia", + draftLookingForTitle: "\"{{title}}\" bilatzen", + draftWantedCta: "Argitaratu bilaketa-iragarkia", + draftPrice: "Prezioa: {{price}} {{currency}}", + draftPriceOffer: "Prezioa: egin eskaintza", + draftListTitle: "Zerrendatu \"{{title}}\" saltzeko", + draftPublishCta: "Argitaratu iragarkia", + statusPosted: "Egoera argitaratuta 🛹", + wantedPublished: "Bilaketa-iragarkia argitaratuta 🔎", + listingPublished: "Iragarkia argitaratuta 💸", + mustBeLoggedIn: "Saioa hasita egon behar duzu." + }, + collectionUi: { + namePlaceholder: "Bartzelona bidaia 2024", + descriptionPlaceholder: "Nire Bartzelonako bidaiako spot gogokoenak..." + }, + bootUi: { + ariaLoading: "SkateSpots kargatzen", + ariaReady: "SkateSpots prest", + ready: "Prest", + statusWaking: "Sarea esnatzen", + statusTuning: "Relayak doitzen", + statusPulling: "Spotak ekartzen", + statusDropping: "Sartzen" + }, + sasquatchChat: { + faq: { + hi: "Aupa! Sasquatch naiz 🦧 Zure AI skate-gida. Galdetu spot, ekitaldi, coach, ekipo edo aplikazioari buruz edozer. Zer behar duzu?", + hello: "Zer moduz! 🛹 Sasquatch naiz. Galdetu skate-spot, ekitaldi, coach edo aplikazioak nola funtzionatzen duen buruz. Zer dago?", + hey: "Aupa skater! 🤙 Galdetu inguruko spot, datozen ekitaldi, coach edo SkateSpots-eko edozer buruz.", + whoAreYou: "Sasquatch naiz 🦧 — SkateSpotsen AI gida. Mundu osoko skate-spotak aurki ditzaket, ekitaldiak, coachak, filmatzaileak eta ekipo-iragarkiak bilatu. Guztia Nostr-eko zuzeneko datuekin. Galdetu lasai!", + whatCanYouDo: "Hiri edo herrialdearen arabera skate-spotak aurki ditzaket, datozen ekitaldiak bilatu, Laborategiko coach eta filmatzaileak aurkitu, ekipo-iragarkiak bilatu eta aplikazioak nola funtzionatzen duen erantzun. Probatu: 'spotak Bangkoken' edo 'aurkitu coach bat'! 🛹", + whatIsNostr: "Nostr gizarte-sare deszentralizatuetarako protokolo sinple eta irekia da. Twitter bezala, baina enpresa bakar batek ez du kontrolatzen — erabiltzaile-izenaren ordez giltza kriptografikoak erabiltzen dituzu, zuk aukeratzen dituzu zure datuak gordetzen dituzten relayak (edo zurea jarri martxan), eta kontu bakarrak Nostr aplikazio guztietan funtzionatzen du! 🔑", + isThisPrivate: "Hona egia garbia 🛡️\n\n• **Zure GPS kokapena gailuan geratzen da** — 'Nire inguruan'-ek mapa zentratzen du soilik. Ez zaigu inoiz bidaltzen ez argitaratzen.\n• **Gehitzen dituzun spotak publikoak dira** (hori da mapa partekatu baten kontua) — beraz, ez jarri orratzik zure etxearen atean.\n• **DMak eta koadrilen txatak muturretik muturrera zifratuta daude** — kideek soilik irakur ditzakete.\n• Edozein webgune bezala, konektatzen zaren zerbitzariek zure **IPa** ikus dezakete. Hori ere ezkutatu nahi? Erabili VPN bat edo Tor.\n\nXehetasun osoak [Pribatutasun orrian](/privacy). 🛹", + privacy: "Bertsio azkarra 🛡️: zure GPSa ez da inoiz zure gailutik irteten, argitaratzen dituzun spotak diseinuz publikoak dira, eta DM/koadrila txatak muturretik muturrera zifratuta daude. Zerbitzariek zure IPa ikus dezakete oraindik (edozein webgunetan bezala) — VPN batek edo Torrek ezkutatzen du nahi baduzu. Azalpen osoa [Pribatutasun orrian](/privacy).", + amITracked: "SkateSpotsek ez zaitu jarraitzen — iragarkirik ez, analitika-profilik ez, daturik saldu gabe, eta ez dago zure kokapena biltzen duen SkateSpots zerbitzaririk. Zure GPSa zure gailuan geratzen da. Zerbitzariek ikusten duten gauza bakarra (mapa-fitxak, relayak) zure **IPa** da — edozein webgunetan bezala. Erabili VPN bat edo Tor hori ezkutatzeko. Gehiago [Pribatutasun orrian](/privacy). 🛡️", + doYouTrack: "Ez — jarraipenik ez, iragarkirik ez, datuen bilketarik ez. Zure GPSa zure gailuan geratzen da eta ez dago zu erregistratzen duen zerbitzari zentralik. Konektatzen zaren zerbitzariek zure IPa ikus dezakete (edozein gunetan bezala); VPN/Torrek ezkutatzen du. Ikusi [Pribatutasun orria](/privacy). 🛹", + vpn: "Erabat aukerakoa, baina sendoa pribatutasun gehigarria nahi baduzu 🛡️. VPN batek zure **IPa** (gutxi gorabeherako kokapena) ezkutatzen die SkateSpotsek hitz egiten dien zerbitzariei — mapa-fitxak, relayak, etab. Aukeratu fidatzen zaren erregistrorik gabeko hornitzaile bat (adib. Mullvad); saihestu doako arriskutsuak.\n\nOharra: VPN batek **ez** ditu argitaratzen dituzun spotak ezkutatzen (horiek publikoak dira), eta ez aktibatu nabigatzailearen GPSa anonimoa izaten saiatzen bazara. Xehetasun osoak [Pribatutasun orrian](/privacy).", + tor: "Tor Browserrek IP pribatutasunik sendoena ematen du — hainbat relayetatik bideratzen zaitu, zerbitzariek zure benetako IPa ikus ez dezaten 🧅. Trukean: motelagoa da, eta mapek + Nostr relay batzuek atzeratu edo Tor irteerak blokea ditzakete. Kontuzkoentzat bikaina.\n\nGogoratu: Torrek zure IPa ezkutatzen du, ez argitaratzen dituzun spotak, eta ez gaitu nabigatzailearen GPSa anonimotasuna helburu bada. Gehiago [Pribatutasun orrian](/privacy).", + hideMyIp: "Bi aukera doan 🛡️: **ospe oneko VPN bat** (erraza, azkarra — zure IPa beren zerbitzarien atzean ezkutatzen du) edo **Tor Browser** (pribatutasun maximoa, motelagoa). Biak ere SkateSpotsek konektatzen dituen zerbitzariek zure benetako IPa ikus ez dezaten. Kontuan izan ez dituztela argitaratzen dituzun spotak ezkutatzen. Ikusi [Pribatutasun orria](/privacy).", + isMyLocation: "Zure kokapena seguru dago 📍 — 'Nire inguruan'-ek zure GPSa zure gailuan soilik irakurtzen du, mapa zentratzeko eta inguruko spotak ordenatzeko. Ez da inoiz Nostr-era argitaratzen, ez zaigu bidaltzen, ez partekatzen. Soilik nahita gehitzen dituzun spotak dira publikoak. Xehetasunak [Pribatutasun orrian](/privacy).", + whatAreZaps: "Zapak Nostr bidez bidaltzen diren Bitcoin Lightning eduki-punttxo berehalakoak dira! Egin klik ⚡ edozein edukitan, bidali sats zuzenean sortzailearen zorrora. 'Atsegin dut' ematea bezala, baina diru errealarekin. Berehalakoa, parekoen artekoa, bitartekaririk gabe. ⚡", + howToLogin: "Bi modu:\n1. **Nabigatzaile-luzapena** (Mahaigaina): Instalatu Alby edo nos2x, eta egin klik 'Hasi saioa'\n2. **Erabiltzaile berria**: Egin klik 'Erregistratu' giltzak sortzeko. Deskargatu zure nsec (giltza sekretua) eta GORDE — hau da zure kontua betiko!", + whatIsCashu: "Bitcoin zorro integratua! Lightning-en babestutako Cashu ecash tokenak — lineaz kanpo dabil skate-spotetan, pribatutasunean oinarritua (mintak ezin dituzte ordainketak jarraitu). Joan Ezarpenetako Zorrora erabiltzeko. 🥜", + whatIsNwc: "Nostr Wallet Connect — Lightning zorroetarako USB-C bezala. Konektatu Alby, Minibits, Zeus edo Coinos behin, eta egin zap klik bakarrarekin betiko. Zifratua, zuk kontrolatzen dituzu gastu-mugak. 🔌⚡", + isItFree: "Ehuneko 100 doan. Iragarkirik ez, harpidetzarik ez, enpresen zaborrik ez. Skaterrek skaterrentzat eraikia. Komunitateak finantzatua Angor bidez — begiratu Laguntzaileen orria. Bitcoin ere irabaz dezakezu komunitatearen zapekin, kalitatezko spotak gehitzeagatik. 🛹", + whatCanIDo: "Aurkitu mundu osoko spotak mapan, kontratatu profesionalak Laborategian (coachak, filmatzaileak, argazkilariak, editoreak, rampa-eraikitzaileak), ibili koadrila batekin, batu ekitaldietara, egin tourrak, erosi/saldu ekipoa, jarraitu zure Biltegi pribatua, egin zap sortzaileei, egiaztatu spoten eguraldia eta eraiki skate-komunitate deszentralizatua!", + whatIsTheLab: "Laborategia skate-eszenako profesionalak kontratatzeko tokia da: Coachak, Filmatzaileak, Argazkilariak, Bideo-editoreak eta rampa/parke/DIY Eraikitzaileak. Bakoitza pertsona bakarra edo kolektibo bat (koadrila/estudioa) izan daiteke — kideek beren giltzekin berresten dute, beraz benetakoa da. Guztia Nostr-en, kontu faltsurik gabe. 🎓", + whatIsACrew: "Koadrilak mapan finkatutako zure skate-familia dira — ZUREKIN skate egiten dutenak, ez kontratatzen dituzunak. Koadrila bakoitzak lurraldea du mapan (pin turkesak), etxeko spotak, kideak, giroa eta manifestua. Kideek beren giltzarekin berresten dute. Sortu bat Koadrilak → 'Sortu koadrila'. 🤘", + whatAreCrews: "Koadrilak mapan finkatutako zure skate-familia dira — ZUREKIN skate egiten dutenak, ez kontratatzen dituzunak. Koadrila bakoitzak lurraldea du mapan (pin turkesak), etxeko spotak, kideak eta manifestua. Kideek beren giltzarekin berresten dute. Joan Koadrilak fitxara bat hasteko edo bat egiteko! 🤘", + howToStartACrew: "Joan Koadrilak fitxara → 'Sortu koadrila'. Eman izena, jarri zure lurraldea mapan, gehitu giroa (edo zure #hashtag pertsonalizatua), lotu zure etxeko spotak eta gehitu kideak npub bidez. Kide bakoitzak bere giltzarekin berresten du, beraz zerrenda benetakoa da. 🤘", + whatIsMyStash: "Nire biltegia zure ekipo-armairu PRIBATU eta zifratua da (NIP-44 zifratzea). Jarraitu zure taulak, ardatzak, gurpilak, zapatak — biltegiratze-lekua, egoera, arrarotasuna eta prezioa barne. ZUK soilik irakur dezakezu, elementuak publiko gisa markatzen ez badituzu. Bikaina asegururako edo truke bat planifikatzeko. 🎒", + whatIsStash: "Nire biltegia zure ekipo-inbentario PRIBATU eta zifratua da. Erregistratu duzun guztia — egoera, non gordeta dagoen, balioa — guztia zifratuta, zuk soilik ikus dezazun. Markatu elementuak publiko gisa saldu edo erakutsi nahi badituzu. 🎒", + whatIsABuilder: "Eraikitzaileak Laborategiko rampa/parke/DIY koadrilak dira, trantsizioak, bowlak, barandak edo parke oso bat eraikitzeko kontrata ditzakezunak. Zer eraikitzen duten, materialak eta proiektu-eskala zerrendatzen dute, eta lizentzia/segurua izan daiteke. Askotan kolektiboak — eta eraiki dituzten spotak mapara lot ditzakete. 🏗️", + whatIsANutzap: "Nutzapak (NIP-61) Nostr bidez bidaltzen diren ecash eduki-punttxoak dira — Cashu token pribatuak norbaiti zuzenean zapatuta. Nutzap HARTZEA Zorroan konfigura dezakezu. (Nutzap osoak BIDALTZEA martxan dago — oraingoz erabili Lightning zapak.) 🥜⚡", + whatIsClink: "CLINK Nostr-en jatorrizko ordainketa-kode bat da ('noffer' bat). Dendek, koadrilek eta Laborategiko profesionaleek bat gehi dezakete, Lightning helbiderik gabe ordaindu ahal izateko — 'Ordaindu CLINK bidez' botoia ikusiko duzu QR batekin. Eskaneatu CLINK zorro batekin, adibidez ShockWallet. 🔗⚡ [specs](https://clinkme.dev/specs.html) [apps](https://clinkme.dev/apps.html)", + whatIsNoffer: "Noffer bat CLINK ordainketa-kode bat da — modu berrerabilgarria, Nostr-en jatorrizkoa, web zerbitzaririk edo Lightning helbiderik gabe kobratzeko. Gehitu zurea zure denda/koadrila/Laborategi profilean eta jendeak zuzenean ordain diezazuke. 🔗", + whatAreTours: "Tourrak gidatutako skate-bidaiak dira — tokiko saioak, nazio mailako errepide-bidaiak edo mundu mailako suntsitze-tourrak. Aurkitu mapan edo Tourren atalean, elkartu eta egin skate lurralde berrietan tokikoekin. 🗺️🛹", + whatIsAShop: "Skate-dendak mapan zerrendatutako tokiko dendak dira. Aurkitu eta lagundu zure inguruko benetako skate-dendak (edo online) — batzuek Bitcoin ere onartzen dute. 🏪", + howToSellGear: "Joan Ekipo-trukea / Azokara eta sortu iragarki bat (NIP-99). Gehitu argazkiak, prezioa satsetan, egoera, eta aukeran lotu spot bati mapan ager dadin. Erosleek zap egiten dizute edo zuzenean idazten dizute. 🛹💸", + supporters: "SkateSpots komunitateak finantzatua da Angor bidez (Bitcoin crowdfunding deszentralizatua) — iragarkirik ez, inbertsiorik ez, daturik saldu gabe. Begiratu Laguntzaileen orria proiektua babesteko eta kaleak libre mantentzeko. ❤️⚡", + trustScore: "Konfiantza-puntuazioak (0-100) Relatr-ek bultzatuta. Zure Nostr sarea aztertzen du: jarraitzaileak, jarduera, interakzioa, zapak. Handiagoa = fidagarriagoa. Botak eta spam iragazten laguntzen du. Begiratu edozein profil bere puntuazioa ikusteko. 🛡️", + whatRelay: "SkateSpotsek hauek erabiltzen ditu: 🛹 relay.skate-spots.org (lehenetsia, kalitateagatik baimenduta) + relay.ditto.pub (globala) + purplepag.es (profilen agregatzailea). Zure datuak horietan guztietan errepikatzen dira erredundantziarako.", + tripPlanner: "Esan hiri bat eta eguneko skate-bidaia bat eraikiko dut 🗺️ — spotak, ekitaldiak, coachak eta tokiko koadrilak, eguraldia kontuan hartuta (egun euritsua = estalitako spoten koadrila-aholkua). Probatu 'planifikatu 3 egun Lisboan'. Dena Bilduma batean gorde dezaket, eta hegaldi/ostatuetara bidal zaitzakedan benetako guneetan (KYCik gabe, bitartekaririk gabe). 🛹", + planATrip: "Esan besterik gabe 'planifikatu 3 egun Bartzelonan' (edo edozein hiri) eta egun bakoitzerako spotak, saioak, coachak eta tokiko koadrilak mapatuko ditut. Gorde Bilduma gisa eta joan skate egitera. 🗺️🛹", + sasquatchPro: "**Sasquatch Pro** 🦧⚡ Lightning laguntzaile-pase bat da, nire alde pertsonala irekitzen duena:\n\n• 🧠 **Laguntzaile pertsonala** — zure Biltegia, koadrilak, spotak eta iragarkiak irakurtzen ditut\n• ✨ **Ekintza-zirriborroak** — zerrendatu ekipoa, argitaratu zure skate-egoera, planifikatu bidaiak (zuk beti berresten duzu ezer argitaratu aurretik)\n• 💬 **Testuinguru pertsonala** — nire erantzunek zure datuak erabiltzen dituzte, ez emaitza publikoak soilik\n• ⚡ **Babestu proiektua** — SkateSpots doan eta iragarkirik gabe mantentzen duzu\n\nDoako Sasquatch doan izaten jarraitzen du: spot/ekitaldi/coach/koadrila bilaketa publikoa, glosarioa eta bidaia-plangintza guztiek Pro gabe funtzionatzen dute. Pro-k *pertsonala* gehitzen du soilik. Sakatu goiko **⚡ Egin Pro** botoia. Mailak: 7 egun ~2k sats, hilabete 1 ~5k, 3 hilabete ~12k, urte 1 ~36k.", + proPerks: "Pro abantailak 🦧⚡: laguntzaile pertsonala (zure Biltegia/koadrilak/spotak/iragarkiak irakurtzen ditu), ekintza-zirriborroak (zerrendatu ekipoa, argitaratu egoera, planifikatu bidaiak — zuk berresten duzu) eta zure testuinguru pertsonala erabiltzen duten erantzunak. Gainera, zuzenean laguntzen diozu SkateSpotsi eta doan eta iragarkirik gabe mantentzen duzu. Doana doan geratzen da — Pro-k geruza pertsonala gehitzen du. Sakatu goiko **⚡ Egin Pro** botoia.", + proVersion: "Nire Pro bertsioak 🦧⚡ **laguntzaile pertsonala** gehitzen du: zure Biltegia, koadrilak, spotak eta iragarkiak irakur ditzaket, ekintzak zirriborratu (zerrendatu ekipoa, argitaratu egoera, planifikatu bidaia — zuk beti berresten duzu lehenengo), eta zure testuinguru pertsonala erabili nire erantzunetan. Proiektua ere zuzenean babesten du. Doako Sasquatch (spot/ekitaldi/coach/koadrila bilaketa, glosarioa, bidaia-plangailua) doan geratzen da. Sakatu goiko **⚡ Egin Pro** botoia.", + perks: "Pro abantailak 🦧⚡: laguntzaile pertsonala (zure Biltegia/koadrilak/spotak/iragarkiak), zuk berresten dituzun ekintza-zirriborroak eta zure testuingurua erabiltzen duten erantzunak — gainera aplikazioa doan eta iragarkirik gabe mantentzen duzu. Sakatu goiko **⚡ Egin Pro** botoia.", + goPro: "Sakatu goiko **⚡ Egin Pro** botoia hobetze-orria irekitzeko. Pro-k nire laguntzaile pertsonala (Biltegia/koadrilak/spotak/iragarkiak) eta ekintza-zirriborroak irekitzen ditu, eta proiektua zuzenean babesten du. Ordaindu Lightning bidez — 7 egun ~2k satstik urte 1 ~36k satsera. Doako ezaugarriek doan jarraitzen dute. 🦧", + proPricing: "Pro mailak (ordaindu Lightning ⚡): **7 egun** ~2.000 sats (~$1,20), **hilabete 1** ~5.000 sats (~$3), **3 hilabete** ~12.000 sats (~$7, % 20 deskontu), **urte 1** ~36.000 sats (~$21, aukerarik onena). Sakatu goiko **⚡ Egin Pro** botoia.", + howMuchIsPro: "Pro mailak: 7 egun ~2.000 sats, hilabete 1 ~5.000 sats, 3 hilabete ~12.000 sats (% 20 deskontu), urte 1 ~36.000 sats (aukerarik onena). Ordaindu Lightning ⚡. Sakatu goiko **⚡ Egin Pro** botoia.", + upgrade: "Sasquatch Pro-ra igotzeko, sakatu goiko **⚡ Egin Pro** botoia. Ordaindu Lightning bidez (7 egun ~2k satsetik urte 1 ~36k). Pro-k nire laguntzaile pertsonala eta ekintza-zirriborroak irekitzen ditu, eta proiektua zuzenean babesten du. 🦧⚡" + }, + statsTitle: "📊 **SkateSpots zenbakitan**", + weatherTemp: "• {{temp}}°C (sentsazioa {{feels}}°C)", + weatherSkateability: "• Skateagarritasuna: **{{label}}** ({{score}}/100)", + weatherError: "Ezin izan da eguraldia irakurri orain. Saiatu berriro segundo bat barru. 🌧️", + labelSpots: "spotak", + labelEvents: "ekitaldiak", + labelLabPros: "Laborategiko profesionalak", + labelCrews: "koadrilak", + labelShops: "skate-dendak", + labelTours: "tourrak", + labelGear: "ekipo-iragarkiak", + unnamed: "Izenik gabekoa", + emptyWhere: " **{{place}}** inguruan", + emptyResult: "Oraindik ez ditut {{label}} aurkitu{{where}} 🦧\n\nHorrek esan nahi du oraindik ez dagoela zerrendatuta — edo relayek motel erantzun dutela. Saiatu berriro une bat barru, egiaztatu ortografia edo [gehitu lehenengoa mapan](https://skate-spots.org/map). 🛹", + foundTitle: "{{emoji}} **{{count}}** {{label}} aurkitu ditut:\n{{lines}}{{more}}", + moreResults: "\n\n…eta **{{count}}** gehiago — [ikusi guztiak mapan](https://skate-spots.org/map) 🗺️", + locationDenied: "Ezin dut zure kokapena ikusi — ezer ez da inoiz zure gailutik irteten; nik bertan irakurtzen dut soilik galdetzen duzunean, eta nabigatzaileak uko egin dio. Sakatu 🎯 **Nire inguruan** mapan, edo esan hiri bat: \"spotak Bangkoken\". 🛹", + noNearbySpots: "Oraindik ez dago spot mapaturik zure inguruan 🦧 — [izan zaitez lehena bat gehitzen](https://skate-spots.org/create-spot). 🛹", + closestTitle: "Oraintxe zuregandik gertuen:", + closestFooter: "_Zure gailuan kalkulatuta — zure kokapena ez da hemendik irten._", + proNudge: "Hori **Sasquatch Pro** kontua da 🦧⚡ — Pro-rekin zure Biltegia, koadrilak, spotak eta iragarkiak irakur ditzaket, ekipo-iragarkiak, bilaketa-iragarkiak eta skate-egoerak zirriborratu, eta zure bidaiak planifikatu. Lightning laguntzaile-pase bat da, SkateSpots doan eta iragarkirik gabe mantentzen duena. Sakatu goiko **⚡ Egin Pro** botoia irekitzeko. 🛹", + draftingProPerk: "Ekintzak zirriborratzea (egoera bat argitaratzea, ekipoa zerrendatzea) **Sasquatch Pro** abantaila da 🦧⚡ — sakatu goiko **⚡ Egin Pro** irekitzeko.", + draftIntro: "Hona zirriborro bat — berrikusi eta sakatu argitaratzeko. Ez da ezer argitaratuko berresten duzun arte. 🛹", + draftFailed: "Ezin izan dut zirriborro hori osatu — saiatu xehetasunak berriro ematen (adib. \"zerrendatu nire Spitfire gurpilak 8000 satsetan\").", + tripAskCity: "Nora? Esan hiri bat (adib. \"planifikatu 3 egun Lisboan\") eta bidaia bat eraikiko dut. 🗺️", + tripEmptyMap: "Oraindik ez dago ezer mapan **{{destination}}** inguruan 🦧 — izan zaitez lehena spotak gehitzen [skate-spots.org](https://skate-spots.org) gunean. Tokikoek spotak, koadrilak eta ekitaldiak gehitu ondoren, bidaia oso bat eraikiko dizut.", + tripLocked: "**{{destination}}** misio bat finkatu dizut 🛹 — spotak, saioak eta tokikoak behean. Doitu edo gorde.", + tripFailed: "Ezin izan dut zuzeneko datuetara iritsi orain planifikatzeko. Saiatu berriro une bat barru! 🛹", + tripEmptyMapLocal: "Oraindik ez dago ezer mapan **{{destination}}** inguruan 🦧 — izan zaitez lehena [skate-spots.org](https://skate-spots.org) gunean.", + tripMissionLocal: "Hona **{{destination}}** misioa 🛹 — spotak, saioak eta tokikoak behean.", + relayFailed: "Relayek ez dute garaiz erantzun oraingoan 🛰️ — normalean konexio geldoa da, ez spot ezkutua. Saiatu berriro une bat barru. 🛹", + couldNotProcess: "Hmm, ezin izan dut hori prozesatu. Saiatu beste modu batean!", + freeTierFallback: "Honek AI arrazoiketa behar du — **Sasquatch Pro** ezaugarria ⚡🦧\n\nOraindik **spot, ekitaldi, coach, koadrila, denda, tour eta ekipoa** aurki ditzaket zuzenean relayetatik — galdetu adib. \"spotak Bartzelonan\" — eta [Glosarioak](/glossary) 150+ trikimailu eta termino biltzen ditu. Sakatu goiko **⚡ Egin Pro** AI erantzunak irekitzeko.", + aiDownFallback: "Nire AI burmuinak aireratxo bat hartzen ari da 🦧 — baina zu zaintzen jarraitzen dut:\n\n• 🗺️ [Mapa](/) — zure inguruko spotak, dendak, ekitaldiak\n• 🧪 [Laborategia](/lab) — coachak, filmatzaileak, editoreak\n• 📖 [Glosarioa](/glossary) — 150+ trikimailu eta termino\n• 👥 [Koadrilak](/crews) — aurkitu zure jendea\n\nEdo esan **hiri** bat (\"spotak Bartzelonan\") edo **trikimailu** bat (\"zer da nollie\") eta zuzenean erantzungo dut. 🛹", + wentWrong: "Zerbait okertu da nire aldean. Saiatu berriro segundo bat barru! 🦧", + publishError: "Ezin izan da hori argitaratu: {{error}}. Saiatu berriro segundo bat barru.", + unknownError: "errore ezezaguna" + }, + navSheet: { + title: "Pertsonalizatu zure barra", + desc: "Aukeratu gehien erabiltzen dituzun {{count}} fitxak. Gainerako guztia menuan geratzen da.", + preview: "Aurrebista", + empty: "Hutsik", + order: "Ordena ({{done}}/{{total}})", + available: "Fitxa erabilgarriak", + full: "Barra beteta — kendu bat aldatzeko", + moveUp: "Mugitu {{name}} gora", + moveDown: "Mugitu {{name}} behera", + login: "Hasi saioa", + profile: "Profila", + reset: "Berrezarri", + done: "Eginda" + }, + errorsUi: { + slammedTitle: "Talka", + slammedBody: "Zerbait okertu da pantaila honetan. Zure kontua eta datuak seguru daude — jar gaitezen berriro martxan.", + tryAgain: "Saiatu berriro", + reloadApp: "Kargatu aplikazioa berriro", + pageSlammedTitle: "Orri honek talka egin du", + pageSlammedBody: "Zerbait okertu da pantaila honetan. Zure kontua eta datuak seguru daude. Normalean birkargatze azkar batek konpontzen du.", + reload: "Kargatu berriro", + goBack: "Itzuli" + }, + desktopNav: { + title: "Mahaigaineko nabigazioa", + desc: "Aukeratu goiko barran zein fitxa agertzen diren eta haien ordena. Ezkutatutako fitxak \"Gehiago\" menuan bizi dira oraindik.", + fixed: "Finkoak", + shownInTopBar: "Goiko barran erakutsita ({{count}})", + noExtraTabs: "Ez dago fitxa gehigarririk — dena \"Gehiago\" menuan dago. Gehitu batzuk behean.", + inMoreMenu: "\"Gehiago\" menuan ({{count}})", + moveUp: "Mugitu {{name}} gora", + moveDown: "Mugitu {{name}} behera", + hide: "Ezkutatu {{name}}", + moveToMore: "Mugitu Gehiago menuara", + show: "Erakutsi", + showInTopBar: "Erakutsi {{name}} goiko barran", + showInTopBarTitle: "Erakutsi goiko barran", + reset: "Berrezarri lehenespenera" + }, + deckCostUi: { + presetPrompt: "Eman izena aurrezarpen honi", + presetDefaultName: "Aurrezarpena {{n}}", + summaryCopied: "Laburpena kopiatuta", + couldNotCopy: "Ezin izan da kopiatu", + resetConfirm: "Dena adibide-balioetara berrezarri?", + logoTooLarge: "Logoa handiegia (gehienez 500 KB)", + loginToFill: "Hasi saioa zure Nostr profiletik betetzeko", + filledFromProfile: "Zure Nostr profiletik beteta", + warnRetailBelowOne: "Txikizkako markaketa 1× baino txikiagoa da — galerarekin salduko zenuke.", + warnWholesaleAboveRetail: "Handizkako markaketak txikizkakoa baino txikiagoa izan behar du.", + warnZeroBoards: "{{count}} errenkadak 0 taula erabiltzen ditu — errenkada horren kostua ez da kontuan hartzen.", + warnFixedNoBoards: "Hileko kostu finkoak ezarrita daude baina taulak/hilabetea 0 da, beraz eragiketa-kostua ez da kontuan hartzen.", + warnNoMaterials: "Material-kosturik ez — gehitu gutxienez material bat.", + warnEquipmentOverhead: "Ekipoa + gainkostua kostuaren % 60 baino gehiago dira — modelo honek bolumen altua suposatzen du; egiaztatu taula-kopuruak.", + warnOneBoard: "Ekipo bat taula bakar baten gainean banatzen da — igo bere taula-kopurua amortizatzeko.", + templateStarterName: "Zaletasun-hasiera", + templateStarterBlurb: "Errenkada batzuk, kostu finkorik gabe", + templateShopName: "Denda txikia", + templateShopBlurb: "Orri osoa alokairu eta gainkostuekin", + currency: "Moneta", + noCurrencyMatches: "Ez dago moneta-ren bat etortzerik.", + ratesUnavailable: "Zuzeneko tasak ez daude erabilgarri — aldatzeak etiketa aldatzen du soilik.", + liveRates: "zuzeneko BTC tasak · satsak barne", + chipCost: "kostua", + chipSell: "salmenta", + chipTotal: "guztira", + startFrom: "Hasi hemendik", + advancedToggleHint: "Erakutsi eragiketako tasak eta hondakinak, sorta-konfigurazioa, zerga eta kostua-kopuruaren kurba", + advanced: "Aurreratua", + simple: "Soila", + sectionLabor: "Lana", + sectionEquipment: "Ekipoa", + sectionOperations: "Eragiketa-gastuak", + sectionMaterials: "Materialak", + sectionProcesses: "Prozesu-kostuak", + sectionPackaging: "Ontziratzea", + sectionMargins: "Marjinak", + subtotalLoaded: "{{value}}/ordu kargatuta", + subtotalPerBoard: "{{value}}/taula", + hourlyRate: "Orduko tasa ({{unit}})", + labourBurden: "Lan-karga (×)", + loadedRate: "Tasa kargatua", + loadedRateHintBefore: "Tasa kargatua = soldata × karga (enpresaburuaren zergak eta laneko asegurua). Alokairua eta fakturak ", + loadedRateHintAfter: " atalean doaz — ez zenbatu bietan.", + colEquipment: "Ekipoa", + colCostUnit: "Kostua ({{unit}})", + colCost: "Kostua", + colSetupH: "Prestaketa (h)", + colLifetimeBoards: "Bizitza osoko taulak", + colPerBoard: "Taulako", + colMaterial: "Materiala", + colOrderUnit: "Eskaera ({{unit}})", + colShipUnit: "Bidalketa ({{unit}})", + colBoardsOrder: "Taulak / eskaera", + colOrderM: "Eskaera (m)", + colUnloadM: "Deskarga (m)", + colOrder: "Eskaera", + colShipping: "Bidalketa", + colOrderMin: "Eskaera (min)", + colUnloadMin: "Deskarga (min)", + colProcess: "Prozesua", + colTimeM: "Denbora (m)", + colBoardsRun: "Taulak / sorta", + colRateHr: "Tasa/ordu (0 = denda)", + colRateHrShort: "Tasa/ordu", + colScrapPct: "Hondakin %", + colTimeMin: "Denbora (min)", + colPackaging: "Ontziratzea", + colTimeBoardM: "Denbora/taula (m)", + colTimeBoardMin: "Denbora/taula (min)", + colMaterialsBoardUnit: "Materialak/taula ({{unit}})", + colMaterialsBoard: "Materialak/taula", + equipmentPerBoard: "Ekipoa taulako:", + materialsPerBoard: "Materialak taulako:", + processesPerBoard: "Prozesuak taulako:", + packagingPerBoard: "Ontziratzea taulako:", + perBoard: "Taulako:", + addEquipment: "Gehitu ekipoa", + addMaterial: "Gehitu materiala", + addProcess: "Gehitu prozesua", + addPackagingStep: "Gehitu ontziratze-urratsa", + duplicate: "Bikoiztu", + remove: "Kendu", + boardsPerMonth: "Taulak / hilabetea", + rentPerMonth: "Alokairua / hilabetea", + utilitiesPerMonth: "Zerbitzuak / hilabetea", + subscriptionsPerMonth: "Harpidetzak / hilabetea", + markup: "Markaketa (×)", + wholesaleMarkup: "Handizkako markaketa (×)", + scrapWaste: "Hondakinak / galera (%)", + quantityDecks: "Kopurua (taulak)", + targetMonthlyProfit: "Hileko irabazi-helburua ({{unit}})", + costNoPackaging: "Kostua / taula (ontziratzeke)", + costWithPackaging: "Kostua / taula (ontziratuta)", + batchSetupHours: "Sorta-prestaketa (h / sorta)", + batchSetupCost: "Sorta-prestaketaren kostua ({{unit}} / sorta)", + taxVat: "Zerga / BEZ (%)", + quoteTax: "Aurrekontuaren zerga", + includedInPrice: "Prezioan sartuta", + addedOnTop: "Gainera gehituta", + setupPerBoard: "Prestaketa / taula", + marginNoteBefore: "Markaketa {{markup}}× ≈ ", + grossMargin: "{{pct}}% marjina gordina", + marginNoteAfter: " · {{waste}}% hondakin taula onen artean banatzen da.", + sellingPriceNoPackaging: "Salmenta-prezioa · ontziratzeke", + sellingPriceWithPackaging: "Salmenta-prezioa · ontziratuta", + profitPerDeck: "Irabazia / taula", + wholesalePerDeck: "Handizkakoa / taula", + orderTotalQty: "Eskaeraren guztizkoa ({{qty}})", + orderTotal: "Eskaeraren guztizkoa", + breakeven: "Estaldura-puntua", + breakevenPerMonth: "{{count}}/hil", + targetDecksHint: "Kostu finkoen gainetik {{amount}}/hilabetea ateratzeko, saldu {{decks}} taula/hilabetea.", + priceIncludesTax: "Prezioak % {{pct}} zerga barne hartzen du: guztizkoaren {{amount}}.", + plusTax: "Gehitu % {{pct}} zerga: {{amount}} → {{total}} guztira.", + costVsQuantity: "Kostua vs kopurua (prestaketa amortizatuta)", + deckOne: "taula", + deckOther: "taula", + perDeckSuffix: "/ taula", + orderSuffix: "eskaera {{amount}}", + shippingNotIncluded: "Ez du eroslearenganako bidalketa barne hartzen.", + clientQuoteDetails: "Bezeroaren aurrekontu-xehetasunak (PDFrako)", + fillFromProfileTitle: "Bete izena, webgunea, NIP-05, Lightning eta npub zure Nostr profiletik", + fillFromProfile: "Bete profiletik", + businessName: "Enpresa / dendaren izena", + email: "Posta elektronikoa", + phone: "Telefonoa", + website: "Webgunea", + address: "Helbidea", + quoteNumber: "Aurrekontu zk.", + nextNumber: "Hurrengo zenbakia", + validDays: "Baliozko (egunak)", + nip05: "NIP-05", + lightningAddress: "Lightning helbidea", + nostrNpub: "Nostr (npub)", + depositPct: "Aurretiazko gordailua (%)", + deliveryTerms: "Entrega-baldintzak (Incoterm, aukerakoa)", + paymentMethods: "Ordainketa-metodoak", + paymentTerms: "Ordainketa-baldintzak", + paymentDetails: "Ordainketa-xehetasunak", + notesTerms: "Oharrak / baldintzak", + changeLogo: "Aldatu logoa", + addLogo: "Gehitu logoa", + incotermNone: "Bat ere ez", + incotermExw: "EXW — bildu saltzailearengandik", + incotermFca: "FCA — eroslearen garraiolariari emanda", + incotermDap: "DAP — eroslearen helbidera entregatuta", + incotermDdp: "DDP — entregatuta, zergak ordainduta", + payMethodCash: "Eskudirua", + payMethodLightning: "Lightning", + payMethodCashu: "Cashu", + payMethodBank: "Banku-transferentzia", + payMethodCard: "Txartela", + payMethodOther: "Beste bat", + listDeckAtPrice: "Zerrendatu taula bat prezio honetan", + getItMade: "Egin ezazu — aurkitu eraikitzaile bat", + savePreset: "Gorde aurrezarpena", + load: "Kargatu", + export: "Esportatu", + import: "Inportatu", + reset: "Berrezarri", + deletePreset: "Ezabatu aurrezarpena", + exportPdfFull: "PDF — orri osoa", + exportPdfQuote: "PDF — bezeroaren aurrekontua", + exportPng: "PNG irudia", + exportXlsx: "XLSX koadernoa", + exportCsv: "CSV (kalkulu-orria)", + exportMarkdown: "Markdown", + exportJson: "JSON (babeskopia)", + exportCopySummary: "Kopiatu laburpena" + }, + becomeRolesUi: { + artist: { + seoTitle: "Izan diseinatzaile / artista - SkateSpots", + seoDescription: "Zerrendatu zure skate-diseinua eta artea — taula-grafikoak, logoak, posterrak, merchandisinga eta gehiago.", + heading: "Diseinatzailea / Artista", + tagline: "Taula-grafikoak, logoak, posterrak, merchandisinga — jarri zure artea eszenan", + noun: "artista", + rateLabel: "Tasa", + portfolioLabel: "Portfolio / denda esteka", + sectionWhatYouMake: "Zer egiten duzun", + sectionMedium: "Euskarria", + sectionSoftwareTools: "Softwarea eta tresnak", + deliverablesPlaceholder: "adib. inprimatzeko prest dauden fitxategiak, iturri-fitxategiak, taula-grafikoak", + turnaroundPlaceholder: "adib. 3–5 egun" + }, + graffiti: { + seoTitle: "Eskaini grafitia / muralak - SkateSpots", + seoDescription: "Zerrendatu zure grafiti eta mural lana — piezak, muralak, skatepark artea eta gehiago.", + heading: "Grafiti / mural artista", + tagline: "Piezak, muralak, skatepark artea — margotu eszena", + noun: "grafiti-artista", + rateLabel: "Tasa", + portfolioLabel: "Portfolio esteka (IG, gunea)", + sectionStyle: "Estiloa", + sectionMedium: "Euskarria", + sectionWorkContext: "Lan-testuingurua", + crewLabel: "Grafiti-koadrila", + crewPlaceholder: "Zure idazketa-koadrila (aukerakoa)", + crewHelper: "Zure skate-koadrilatik aparte — zurekin margotzen duten idazleak.", + surfacesPlaceholder: "adib. hormigoia, adreilua, baimendutako hormak", + maxSizePlaceholder: "adib. 10 m arte" + }, + musician: { + seoTitle: "Gehitu musika-profila - SkateSpots", + seoDescription: "Skate egiten duzu eta musika sortzen? Zerrendatu zure taldea edo bakarkako proiektua — generoak, instrumentuak eta estekak.", + heading: "Musikaria / taldea", + tagline: "Skate egiten duzu eta musika sortzen? Eskuratu kontratuak demo, jam eta after-partyetarako", + noun: "musikaria", + rateLabel: "Kontratu-tasa", + portfolioLabel: "Webgunea / EPK esteka", + sectionGenre: "Generoa", + sectionInstruments: "Instrumentuak eta rola", + actLabel: "Formatu mota", + actPlaceholder: "bakarlaria / taldea / dj / ekoizlea", + spotifyLabel: "Spotify", + spotifyPlaceholder: "https://open.spotify.com/…", + bandcampLabel: "Bandcamp", + bandcampPlaceholder: "https://…bandcamp.com", + soundcloudLabel: "SoundCloud", + soundcloudPlaceholder: "https://soundcloud.com/…", + youtubeLabel: "YouTube", + youtubePlaceholder: "https://youtube.com/…", + setLengthPlaceholder: "adib. 30–45 min", + techRiderPlaceholder: "adib. PA, mikroak, backlinea" + }, + judge: { + seoTitle: "Epaitu skate-ekitaldiak - SkateSpots", + seoDescription: "Zerrendatu zaitez skate-ekitaldietako epaile gisa — Game of S.K.A.T.E., best trick jamak, lehiaketak, am series eta mundu-tourreko geldialdiak. Lortu kontratuak ekitaldi bidezko eta sinesgarriak antolatzeko.", + heading: "Skate-ekitaldietako epailea", + tagline: "Lurreko Game of S.K.A.T.E.-tik World Destruction Tourrera — epaitu bidez eta sinesgarritasunez", + noun: "epailea", + rateLabel: "Eguneko tarifa / kuota", + portfolioLabel: "Emaitzen artxiboa / profil esteka", + sectionEventFormats: "Ekitaldi-formatuak", + sectionSpecialty: "Espezialitatea", + sectionLevelCircuit: "Maila / zirkuitua", + eventsJudgedLabel: "Epaitu dituzun ekitaldiak", + eventsJudgedPlaceholder: "adib. 40+ lehiaketa, 3 World Tour geldialdi", + eventsJudgedHelper: "Epaitu dituzun ekitaldi, lehiaketa edo tour nabarmenak.", + travelPlaceholder: "adib. eskualdekoa / nazio mailakoa / nazioartekoa", + certificationsPlaceholder: "adib. epaiketa-ikastaro nazionala" + }, + organizer: { + seoTitle: "Antolatu skate-ekitaldiak - SkateSpots", + seoDescription: "Zerrendatu zaitez skate-ekitaldien antolatzaile gisa — kaleko jamak, best trick, lehiaketak, topaketak, demoak eta tour-geldialdiak. Egin zaitez ezagun eta lortu saioa gidatzeko kontratuak.", + heading: "Ekitaldi-antolatzailea", + tagline: "Jamak, lehiaketak, topaketak eta demoak — antolatu saioa eta bildu eszena", + noun: "antolatzailea", + rateLabel: "Ekitaldi-kuota / aurrekontua", + portfolioLabel: "Aurreko ekitaldien / emaitzen esteka", + sectionEventTypes: "Ekitaldi motak", + sectionWhatYouHandle: "Zer kudeatzen duzun", + sectionScale: "Eskala", + eventsHostedLabel: "Antolatu dituzun ekitaldiak", + eventsHostedPlaceholder: "adib. 25 jam, 3 hiriko lehiaketa", + eventsHostedHelper: "Gidatu dituzun ekitaldi, lehiaketa edo topaketa nabarmenak.", + insurancePlaceholder: "adib. erantzukizun zibila barne", + permitsPlaceholder: "adib. udal-baimenak kudeatuta" + }, + tattoo: { + seoTitle: "Izan tatuatzaile - SkateSpots", + seoDescription: "Zerrendatu zure tatuaje-lana skate-eszenarentzat — estiloak, flasha, pertsonalizatua eta gehiago.", + heading: "Tatuatzailea", + tagline: "Tinta eszenarentzat — flasha, pertsonalizatua, lerro fina eta gehiago", + noun: "tatuatzailea", + rateLabel: "Tasa / ordukoa", + portfolioLabel: "Portfolio esteka (IG, gunea)", + sectionStyles: "Estiloak", + sectionMethod: "Metodoa", + studioLabel: "Estudioa / denda", + studioPlaceholder: "Estudioaren izena (aukerakoa)", + booksOpenLabel: "Agenda irekita", + booksOpenHelper: "Orain erreserbak hartzen ari zara?", + depositPlaceholder: "adib. 50 EUR itzulezinak", + minimumPlaceholder: "adib. 80 EUR" + }, + trainer: { + seoTitle: "Izan entrenatzaile / fisioterapeuta - SkateSpots", + seoDescription: "Lagundu skaterrei indartsu egoten eta osasuntsu mantentzen — indarra, mugikortasuna, lesioen prebentzioa eta errekuperazioa.", + heading: "Entrenatzailea / fisioterapeuta", + tagline: "Indarra, mugikortasuna, lesioen prebentzioa eta errekuperazioa skaterrentzat", + noun: "entrenatzailea", + rateLabel: "Tasa / saioa", + portfolioLabel: "Profil / erreserba esteka", + sectionFocus: "Fokua", + sectionInjuries: "Lantzen dituzun lesioak", + sectionCredentialsSetting: "Titulazioak eta ingurunea", + credentialsPlaceholder: "adib. Fisioterapiako gradua, CSCS…", + credentialsHelper: "Zerrendatu benetako titulazioak — skaterrek egiaztagarriak diren kredentzialetan fidatzen dira.", + remoteLabel: "Urrutikoa / online", + remoteHelper: "Online coachinga edo kontsultak eskaintzen dituzu?", + modalitiesPlaceholder: "adib. eskuzko lana, S&C, dry needling" + }, + barber: { + seoTitle: "Izan bizargina / ile-apaintzailea - SkateSpots", + seoDescription: "Zerrendatu zure bizargin-denda edo aulkia skate-eszenarentzat — mozketak, fadeak, bizarra, kolorea eta gehiago. Skaterrek kontratatuko zaituzte.", + heading: "Bizargina / ile-apaintzailea", + tagline: "Mozketak, fadeak eta bizarra eszenarentzat — denda-aulkia edo etxez etxekoa", + noun: "bizargina", + rateLabel: "Prezioa / mozketa", + portfolioLabel: "Mozketen galeria / IG esteka", + sectionWhatYouOffer: "Zer eskaintzen duzun", + sectionSignatureStyles: "Estilo bereizgarriak", + sectionSetting: "Ingurunea", + studioLabel: "Denda / estudioa", + studioPlaceholder: "Dendaren edo estudioaren izena (aukerakoa)", + booksOpenLabel: "Agenda irekita", + booksOpenHelper: "Orain erreserbak hartzen ari zara?", + durationPlaceholder: "adib. 30–45 min" + }, + clothing: { + seoTitle: "Izan arropa-diseinatzaile - SkateSpots", + seoDescription: "Arropa pertsonalizatua, talde-kitak eta jantziak eszenarentzat.", + heading: "Arropa-diseinatzailea", + tagline: "Arropa pertsonalizatua, talde-kitak eta jantziak eszenarentzat", + noun: "arropa-diseinatzailea", + rateLabel: "Tasa", + portfolioLabel: "Denda / portfolio esteka", + sectionWhatYouMake: "Zer egiten duzun", + sectionHowYouMake: "Nola egiten duzun", + sectionMaterials: "Materialak", + minimumPlaceholder: "adib. 10 pieza", + turnaroundPlaceholder: "adib. 2-3 aste", + sizingPlaceholder: "adib. XS-3XL / neurrira egina", + samplesHelper: "Laginketak edo prototipoak eskaintzen dituzu ekoizpen osoa egin aurretik?", + customizationPlaceholder: "adib. izenak, zenbakiak, grafikoak" + } + }, + skaterLabelsUi: { + stance: { + regular: "Regular", + goofy: "Goofy" + }, + style: { + street: "Kalea", + park: "Parkea", + vert: "Vert", + transition: "Trantsizioa", + bowl: "Bowla", + cruising: "Cruisinga", + downhill: "Jaitsiera", + freestyle: "Freestyla", + ledges: "Ertzak", + stairs: "Eskailerak", + diy: "DIY" + }, + level: { + grom: "Grom", + intermediate: "Ertaina", + advanced: "Aurreratua", + ripper: "Ripper" + }, + sponsor: { + title: "Babesle nagusia", + gold: "Urrea", + silver: "Zilarra", + partner: "Bazkidea" + } + }, + legacyMiscUi: { + hostingGoing: "{{count}} joango dira", + hostingInterested: "{{count}} interesatuta", + hostingPostUpdate: "Argitaratu eguneraketa", + hostingEdit: "Editatu", + hostingLoginToSee: "Hasi saioa antolatzen ari zaren ekitaldiak ikusteko.", + hostingEmptyTitle: "Oraindik ez duzu ezer antolatzen", + hostingEmptyBody: "Antolatu jam, lehiaketa edo saio bat. Sortu ekitaldi bat eta skaterrek RSVP egin dezakete, eguneraketak jaso eta etorri.", + hostingCreateEvent: "Sortu ekitaldi bat", + hostingUpcoming: "Datozenak · {{count}}", + hostingPast: "Iraganak · {{count}}", + sponsorPartners: "Bazkideak", + sponsorTitleSponsor: "Babesle nagusia", + sponsorPlatformPartners: "Plataformako bazkideak", + reportsUntitled: "(izenbururik gabe)", + reportsResolveFailed: "Ezin izan da salatutako ekitaldia identifikatu (ezabatu egin daiteke, edo salaketak profila du helburu, ez argitalpena).", + reportsLookAtIt: "Begiratu", + reportsNoReports: "Oraindik ez dago salaketarik. Edo dena ondo dago, edo inork ez du botoia aurkitu.", + statusSetYourStatus: "Ezarri zure egoera", + statusSetDesc: "Jakinarazi besteei zer egiten ari zaren. Zure egoera zure profilean eta lotutako spotetan ikusiko da.", + statusClear: "Garbitu", + statusOrWriteOwn: "Edo idatzi zurea", + statusCustomPlaceholder: "Zer egiten ari zara?", + statusLinkToSpot: "Lotu spot batekin (aukerakoa)", + statusSpotSelected: "Spot-a hautatuta", + statusSearchSpots: "Bilatu spotak...", + statusNoSpotsFound: "Ez da spotik aurkitu.", + statusSelectSpot: "Hautatu spot bat", + statusAutoClearAfter: "Automatikoki garbitu: {{time}}", + statusExpMin: "{{count}} min", + statusExpOneHour: "ordu 1", + statusExpHours: "{{count}} ordu", + statusExpOneDay: "egun 1", + statusExpDays: "{{count}} egun", + statusSlider15: "15 min", + statusSlider1h: "1 ordu", + statusSlider4h: "4 ordu", + statusSlider24h: "24 ordu", + statusSetting: "Egoera ezartzen...", + statusSet: "Ezarri egoera", + statusSomethingWrong: "Zerbait gaizki joan da", + seoProfileTitle: "Profila - SkateSpots", + seoViewProfile: "Ikusi profila.", + bannerAlt: "Bannerra", + openInCordn: "Ireki Cordn-en", + modHelp: "Ezkutatzeak org.skatespots.moderation / hidden argitaratzen du; Berresten … / verified; Desegiteak … / cleared (neutrora itzuli). Hirurak etiketa publikoak eta itzulgarriak dira — ez da ezer inoiz relayetatik ezabatzen.", + zapNoActiveMint: "Ez da Cashu mint aktiborik aurkitu.", + altProfile: "Profila", + altCardPreview: "Txartelaren aurrebista", + altCard: "Txartela", + altCaptured: "Harrapatuta", + ariaPrevPhoto: "Aurreko argazkia", + ariaNextPhoto: "Hurrengo argazkia", + ariaCommentOptions: "Iruzkin-aukerak", + ariaMessageConversation: "Mezuen elkarrizketa", + exportTitle: "SkateSpots — Taularen kostu-kalkulagailua", + exportQuoteTitle: "AURREKONTUA", + exportPngTitle: "Taularen kostua", + exportMarkdownTitle: "Taularen kostu-kalkulagailua", + exportSectionLabor: "Lana", + exportSectionEquipment: "Ekipoa", + exportSectionOperations: "Eragiketa-gastuak", + exportSectionMaterials: "Materialak", + exportSectionProcesses: "Prozesu-kostuak", + exportSectionPackaging: "Ontziratzea", + exportSectionResult: "Emaitza", + exportLabelOperations: "Eragiketak", + exportLabelProcesses: "Prozesuak", + exportKvHourlyRate: "Orduko tasa", + exportKvLabourBurden: "Lan-karga", + exportKvLoadedRate: "Tasa kargatua", + exportKvEquipmentPerBoard: "Ekipoa taulako", + exportKvBoardsPerMonth: "Taulak / hilabetea", + exportKvRentPerMonth: "Alokairua / hilabetea", + exportKvUtilitiesPerMonth: "Zerbitzuak / hilabetea", + exportKvSubscriptionsPerMonth: "Harpidetzak / hilabetea", + exportKvPerBoard: "Taulako", + exportKvMaterialsPerBoard: "Materialak taulako", + exportKvProcessesPerBoard: "Prozesuak taulako", + exportKvPackagingPerBoard: "Ontziratzea taulako", + exportKvMarkup: "Markaketa", + exportMarkupValue: "{{markup}}× (≈ {{pct}}% marjina gordina)", + exportKvWasteEffective: "Hondakinak (eraginkorrak)", + exportKvCostNoPack: "Kostua / taula (ontziratzeke)", + exportKvCostWithPack: "Kostua / taula (ontziratuta)", + exportKvBatchSetupPerBoard: "Sorta-prestaketa / taula", + exportKvTax: "Zerga (% {{pct}})", + exportKvTaxIncluded: "Zerga (% {{pct}}, barne)", + exportKvSellingNoPack: "Salmenta-prezioa (ontziratzeke)", + exportKvSellingWithPack: "Salmenta-prezioa (ontziratuta)", + exportShippingNote: "Ez du eroslearenganako bidalketa barne hartzen.", + exportGeneratedBy: "SkateSpotsek sortua · skate-spots.org", + exportGeneratedWith: "SkateSpotsekin sortua · skate-spots.org", + exportDetailSetup: "+ {{hours}} h prestaketa", + exportDetailBoards: "{{boards}} taula", + exportDetailShip: "+ {{amount}} bidalketa", + exportDetailMinutes: "{{minutes}} min", + exportDetailPerBoards: "/ {{boards}} taula", + exportDetailScrap: "% {{pct}} hondakin", + exportDetailMaterials: "{{materials}} material", + exportQuoteRef: "Erref. {{ref}}", + exportQuoteLineItem: "Skateboard taula pertsonalizatua", + exportQuoteLineItemQty: "Skateboard taula pertsonalizatua × {{qty}}", + exportQuoteLineDesc: "Eskuz egina, akabatua eta ontziratua. Kopurua 1.", + exportQuoteLineDescQty: "Eskuz egina, akabatua eta ontziratua. {{price}} bakoitza.", + exportQuoteSubtotal: "Azpitotala", + exportQuoteSubtotalQty: "Azpitotala ({{qty}} taula)", + exportQuoteTax: "Zerga / BEZ (% {{pct}})", + exportQuoteTotal: "Guztira", + exportQuoteTotalQty: "Guztira ({{qty}} taula)", + exportQuoteIncludesTax: "% {{pct}} zerga barne ({{amount}})", + exportQuoteDeposit: "Orain ordaintzeko gordailua (% {{pct}})", + exportQuoteBalance: "Gainerakoa amaitzean", + exportQuotePayment: "Ordainketa: {{value}}", + exportQuoteLightning: "Lightning: {{value}}", + exportQuoteDetails: "Xehetasunak: {{value}}", + exportQuoteTerms: "Baldintzak: {{value}}", + exportQuoteDelivery: "Entrega: {{value}}", + exportQuoteValidUntil: "Ez du bidalketa barne hartzen. Aurrekontua {{date}} arte baliozkoa.", + exportPngSellingWith: "SALMENTA-PREZIOA · ONTZIRATUTA", + exportPngSellingNo: "SALMENTA-PREZIOA · ONTZIRATZEKE", + exportPngCostWith: "KOSTUA / TAULA (ONTZIRATUTA)", + exportPngDeposit: "Gordailua % {{pct}}: {{amount}}", + exportXlsxSummary: "Laburpena", + exportXlsxCurrency: "Moneta", + exportXlsxDate: "Data", + exportXlsxOperationsPerBoard: "Eragiketak taulako", + exportColCost: "Kostua", + exportColSetupH: "Prestaketa (h)", + exportColBoards: "Taulak", + exportColPerBoard: "Taulako", + exportColMaterial: "Materiala", + exportColOrderCost: "Eskaeraren kostua", + exportColShipping: "Bidalketa", + exportColOrderMin: "Eskaera (min)", + exportColUnloadMin: "Deskarga (min)", + exportColProcess: "Prozesua", + exportColTimeMin: "Denbora (min)", + exportColTimeBoardMin: "Denbora/taula (min)", + exportColMaterialsBoard: "Materialak/taula", + exportCopyTitle: "Taularen kostua — {{currency}}", + exportCopyCostWith: "Kostua / taula (ontziratuta): {{amount}}", + exportCopySellingNo: "Salmenta-prezioa (ontziratzeke): {{amount}}", + exportCopySellingWith: "Salmenta-prezioa (ontziratuta): {{amount}}", + exportCopyBreakdown: "Ekipoa {{equipment}} · Eragiketak {{operations}} · Materialak {{materials}} · Prozesuak {{processes}} · Ontziratzea {{packaging}}", + exportMdHourlyRate: "Orduko tasa: {{value}}", + exportMdLabourBurden: "Lan-karga: {{value}}", + exportMdLoadedRate: "Tasa kargatua: {{value}}", + exportMdBoardsPerMonth: "Taulak/hilabetea: {{value}}", + exportMdRent: "Alokairua: {{value}}", + exportMdUtilities: "Zerbitzuak: {{value}}", + exportMdSubscriptions: "Harpidetzak: {{value}}", + exportMdPerBoard: "Taulako: {{value}}", + exportMdMarkupWaste: "Markaketa: {{markup}}× (≈ {{pct}}% marjina gordina) · Hondakinak: {{waste}}%", + exportMdCostNoPack: "Kostua/taula (ontziratzeke): {{value}}", + exportMdCostWithPack: "Kostua/taula (ontziratuta): {{value}}", + exportMdBatchSetup: "Sorta-prestaketa/taula: {{value}}", + exportMdSellingNo: "Salmenta-prezioa (ontziratzeke): {{value}}", + exportMdSellingWith: "Salmenta-prezioa (ontziratuta): {{value}}", + exportMdDisclaimer: "Ez du eroslearenganako bidalketa barne hartzen. SkateSpotsek sortua." + } +}; + +export default batch7; diff --git a/src/i18n/eu/drift.ts b/src/i18n/eu/drift.ts new file mode 100644 index 0000000..de8f830 --- /dev/null +++ b/src/i18n/eu/drift.ts @@ -0,0 +1,9 @@ +/** + * Post-translation corrections for eu. + * + * Add keys here when a batch translation needs fixing without editing the + * generated batch files. Values must also exist in `en`. + */ +const drift = {}; + +export default drift; diff --git a/src/i18n/eu/index.ts b/src/i18n/eu/index.ts new file mode 100644 index 0000000..3fde3ee --- /dev/null +++ b/src/i18n/eu/index.ts @@ -0,0 +1,24 @@ +import batch1 from './batch1'; +import batch2 from './batch2'; +import batch3 from './batch3'; +import batch4 from './batch4'; +import batch5 from './batch5'; +import batch6 from './batch6'; +import batch7 from './batch7'; +import drift from './drift'; +import { deepMerge } from '../deepMerge'; + +const eu = deepMerge( + { + ...batch1, + ...batch2, + ...batch3, + ...batch4, + ...batch5, + ...batch6, + ...batch7, + }, + drift, +); + +export default eu; diff --git a/src/i18n/gl/batch1.ts b/src/i18n/gl/batch1.ts new file mode 100644 index 0000000..0135751 --- /dev/null +++ b/src/i18n/gl/batch1.ts @@ -0,0 +1,1268 @@ +const batch1 = { + common: { + loading: "Cargando...", + error: "Erro", + save: "Gardar", + cancel: "Cancelar", + delete: "Eliminar", + edit: "Editar", + add: "Engadir", + remove: "Quitar", + create: "Crear", + submit: "Enviar", + close: "Pechar", + back: "Volver", + next: "Seguinte", + done: "Feito", + search: "Buscar", + filter: "Filtrar", + sort: "Ordenar", + share: "Compartir", + more: "Máis", + copy: "Copiar", + copied: "Copiado!", + viewAll: "Ver todo", + seeMore: "Ver máis", + showMore: "Mostrar máis", + showLess: "Mostrar menos", + noResults: "Non se atoparon resultados", + tryAgain: "Tentar de novo", + learnMore: "Saber máis", + getStarted: "Comezar", + yes: "Si", + no: "Non", + or: "ou", + and: "e", + free: "Gratis", + new: "Novo", + popular: "Popular", + featured: "Destacado", + verified: "Verificado", + sats: "sats", + clear: "Limpar", + clearFilters: "Limpar filtros", + clearAll: "Limpar todo", + hide: "Ocultar", + undo: "Desfacer" + }, + nav: { + searchLanguages: "Buscar idiomas...", + noLanguages: "Non se atoparon idiomas", + home: "Inicio", + map: "Spots", + lab: "O Lab", + events: "Eventos", + crews: "Crews", + wallet: "Carteira", + settings: "Axustes", + more: "Máis", + rewards: "Recompensas", + stats: "Estatísticas da comunidade", + about: "Sobre", + food: "Comida", + marketplace: "Mercado", + mints: "Cecas", + appShop: "Tenda de apps", + diy: "DIY", + trades: "Mercado", + stash: "Stash", + collections: "Coleccións", + contacts: "Contactos", + messages: "Mensaxes", + skaters: "Skaters", + glossary: "Glosario", + riderCard: "Tarxeta de rider", + supporters: "Apoiantes ⚡", + newsletter: "Boletín", + viewProfile: "Ver perfil", + leaderboards: "Clasificacións" + }, + chromeUi: { + skipToContent: "Saltar ao contido", + menu: "Menú", + inBadge: "En", + loggedIn: "Sesión iniciada", + profile: "Perfil", + logIn: "Iniciar sesión", + logOut: "Pechar sesión", + notLoggedIn: "Sesión non iniciada", + loggedOutPrompt: "Inicia sesión para engadir spots, enviar zaps a skaters e gardar os teus favoritos", + accounts: "Contas", + addAnotherAccount: "Engadir outra conta", + setStatus: "Definir estado", + setYourStatus: "Define o teu estado", + status: "Estado", + addSpot: "Engadir spot", + myData: "Os meus datos", + myStash: "O meu Stash", + myCollections: "As miñas coleccións", + viewMyProfile: "Ver o meu perfil", + customizeNavBar: "Personalizar a barra de navegación", + ecash: "Ecash", + madeWith: "Feito con", + forSkateCommunity: "para a comunidade do skate", + beta: "Beta", + license: "Licenza", + privacy: "Privacidade", + collaborators: "Colaboradores e amigos", + notSponsoredBy: "Sen patrocinio de", + errorTitle: "Non se puido cargar", + errorDescription: "Fallou a solicitude de rede. Comproba a conexión e téntao de novo.", + tryAgain: "Tentar de novo", + weatherOn: "Meteo activado", + weatherOff: "Meteo desactivado", + trustFilter: "Filtro de confianza", + filterByTrustLevel: "Filtrar por nivel de confianza", + trust: { + all: "Todos os usuarios", + allDesc: "Mostrar contido de todos", + verified: "Verificado", + verifiedDesc: "Ségueste ou está verificado (confianza ≥90)", + trusted: "De confianza", + trustedDesc: "Amigos de amigos ou verificados con NIP-05 (confianza ≥60)", + following: "Só aos que segues", + followingDesc: "Mostrar só contido de persoas que segues", + followingShort: "Seguindo" + }, + sort: { + recent: "Máis recentes", + recentDesc: "Primeiro os máis novos", + trust: "Maior confianza", + trustDesc: "Creadores con máis confianza", + proximity: "Máis preto de min", + proximityDesc: "Localizacións máis próximas", + popular: "Máis populares", + popularDesc: "Máis comentarios e reaccións", + zaps: "Máis zaps", + zapsDesc: "Maior valor recibido" + }, + spotType: { + street: "Rúa", + transition: "Transición", + park: "Parque", + plaza: "Praza", + diy: "DIY", + bowl: "Bowl", + vert: "Vert", + indoor: "Cuberto", + skatepark: "Skatepark", + miniramp: "Mini rampa" + } + }, + auth: { + login: "Iniciar sesión", + logout: "Pechar sesión", + signUp: "Crear conta", + signUpTitle: "Es novo en Nostr?", + signUpDesc: "Crea unha conta nova para comezar. É gratis e aberta.", + orLogIn: "Ou inicia sesión", + loginWithExtension: "Iniciar sesión coa extensión", + loginWithAmber: "Iniciar sesión con Amber (Android)", + loginWithKey: "Clave secreta (nsec) ou frase de recuperación", + loginWithBunker: "Iniciar sesión con Nostr Connect", + bunkerUri: "Cadea de conexión do bunker", + openAmber: "Abrir Amber", + connectToBunker: "Conectar ao bunker", + noExtension: "Non se detectou ningunha extensión.", + extensionHelp: "Proba o botón Crear conta de arriba para crear unha conta nova, ou usa as pestanas Amber, Clave ou Bunker se xa tes credenciais.", + amberDesc: "Amber é unha app de firma Nostr segura para dispositivos Android. Preme o botón de abaixo para abrir Amber e autorizar o acceso.", + bunkerDesc: "Accede á túa conta desde calquera dispositivo cun firmante remoto (bunker). As túas claves quedan a salvo no servidor e nunca se expoñen aos sitios web.", + keyPlaceholder: "nsec1... ou a túa frase de recuperación de 12 palabras", + keyHint: "Podes pegar a túa clave nsec ou a frase de recuperación de 12 palabras", + uploadKeyFile: "Subir o ficheiro de clave", + loggingIn: "Iniciando sesión...", + connecting: "Conectando...", + verifying: "Verificando..." + }, + home: { + tagline: "Impulsado pola comunidade • Baseado en relays", + title: "SKATE SPOTS", + subtitle: "Descubre spots • Quedadas • Aprende trucos • Apoia o comercio local", + description: "O skate real pasa fóra de liña: esta ferramenta axúdache a atopalo.", + betaWarning: "BETA - En construción • Úsao baixo a túa responsabilidade", + pwaHint: "Aplicación web progresiva - Instálaa no teu dispositivo", + exploreMap: "Explorar o mapa", + addSpot: "Engadir spot", + globalSpots: "Spots de todo o mundo", + openCommunity: "Comunidade aberta", + lightningZaps: "Zaps por Lightning", + featuredSpots: "Spots destacados", + featuredSpotsDesc: "Spots de skate verificados pola comunidade de todo o mundo", + upcomingEvents: "Próximos eventos", + upcomingEventsDesc: "Concursos, quedadas e sesións que chegan pronto", + noSpotsYet: "Aínda non hai spots", + noSpotsHint: "Sé o primeiro en engadir un spot de skate!", + noEventsYet: "Non hai eventos próximos", + noEventsHint: "Volve máis tarde ou crea un!", + theLab: "O Lab", + theLabDesc: "Aprende trucos, atopa adestradores e mellora o teu skate", + coaches: "Adestradores", + coachesDesc: "Aprende con skaters con experiencia que che axuden a progresar", + filmers: "Filmers", + filmersDesc: "Conecta con filmers para gravar os teus mellores clips", + findCoach: "Atopar adestrador", + becomeCoach: "Ser adestrador", + findFilmer: "Atopar filmer", + becomeFilmer: "Ser filmer", + viewAllSpots: "Ver todos os spots", + viewAllEvents: "Ver todos os eventos", + createEvent: "Crear evento", + readyToShare: "Listo para compartir?", + readyToShareDesc: "Axuda a medrar á comunidade do skate engadindo os teus spots favoritos. Cada sitio que compartes axuda a outros skaters a descubrir novos lugares onde patinar." + }, + spots: { + addSpot: "Engadir spot", + editSpot: "Editar spot", + spotDetails: "Detalles do spot", + spotName: "Nome do spot", + spotType: "Tipo de spot", + description: "Descrición", + location: "Localización", + address: "Enderezo", + photos: "Fotos", + addPhotos: "Engadir fotos", + obstacles: "Obstáculos", + features: "Características", + bustLevel: "Nivel de vixilancia", + bestTime: "Mellor hora", + tips: "Consellos", + reviews: "Opinións", + addReview: "Engadir opinión", + reportSpot: "Denunciar spot", + directions: "Como chegar", + shareSpot: "Compartir spot", + createdBy: "Creado por", + lastUpdated: "Última actualización", + types: { + park: "Skatepark", + street: "Spot de rúa", + diy: "Spot DIY", + plaza: "Praza", + indoor: "Cuberto", + bowl: "Bowl", + vert: "Vert", + miniramp: "Mini rampa" + }, + bustLevels: { + chill: "Tranquilo", + moderate: "Moderado", + sketchy: "Arriscado", + heavy: "Moi vixiado" + } + }, + events: { + title: "Eventos de skate", + createEvent: "Crear evento", + editEvent: "Editar evento", + eventDetails: "Detalles do evento", + eventName: "Nome do evento", + eventType: "Tipo de evento", + date: "Data", + time: "Hora", + startDate: "Data de inicio", + endDate: "Data de fin", + venue: "Lugar", + organizer: "Organizador", + attendees: "Asistentes", + going: "Vou", + interested: "Interésame", + rsvp: "Confirmar asistencia", + ticketPrice: "Prezo da entrada", + freeEntry: "Entrada gratis", + register: "Inscribirse", + moreInfo: "Máis información", + upcomingEvents: "Próximos", + pastEvents: "Pasados", + noEvents: "Non se atoparon eventos", + findEvents: "Atopa concursos, demos, sesións e moito máis", + searchPlaceholder: "Buscar eventos...", + loginToCreate: "Inicia sesión para crear eventos", + noEventsMatch: "Ningún evento próximo coincide cos teus filtros.", + noUpcoming: "Non se atoparon eventos próximos.", + noPast: "Non se atoparon eventos pasados.", + types: { + contest: "Concurso", + session: "Sesión", + meetup: "Quedada", + premiere: "Estrea de vídeo", + workshop: "Obradoiro", + demo: "Demo", + jam: "Jam" + } + }, + mapUi: { + mapFooter: { + links: "Ligazóns", + hide: "Ocultar a barra de ligazóns do mapa" + }, + findingSpots: "Buscando spots", + loadingSpots: "Cargando spots", + loadingMap: "Cargando o mapa...", + mapViewAria: "Vista de mapa", + listViewAria: "Vista de lista", + layers: "Capas", + mapLayers: "Capas do mapa", + showOnMap: "Mostrar no mapa", + showResults: "Mostrar resultados", + quickActions: "Accións rápidas", + spots: "Spots", + shops: "Tendas", + gear: "Material", + tours: "Rutas", + events: "Eventos", + crews: "Crews", + spotType: "Tipo de spot", + sortBy: "Ordenar por", + trustLevel: "Nivel de confianza", + weather: "Meteo", + buySellGear: "Comprar e vender material", + stash: "Stash", + more: "Máis", + newHere: "Es novo por aquí?", + welcomeDesc: "Descubre spots de skate, eventos e a comunidade.", + firstRunTitle: "Comeza", + firstRunAddSpot: "Engade o teu primeiro spot", + firstRunJoinCrew: "Únete a unha crew", + firstRunStartCrew: "Crea a túa crew", + firstRunWallet: "Configura a túa carteira", + getOnZapstore: "Consegue Zapstore", + dismiss: "Descartar", + addedBy: "Engadido por", + directions: "Como chegar", + viewDetails: "Ver detalles", + viewDetailsArrow: "Ver detalles →", + spotDetails: "Detalles do spot", + skateShop: "Tenda de skate", + skateSpot: "Spot de skate", + youAreHere: "Estás aquí", + conditions: "Condicións", + weatherScoreSuffix: "{{score}}/100 de meteo", + wind: "Vento", + humidity: "Humidade", + airQuality: "Calidade do aire", + threeDayForecast: "Previsión de 3 días", + forecastDays: "Previsión de {{count}} días", + gearForSale: "Material en venda ({{count}})", + viewItems: "Ver artigos →", + viewAllItems: "Ver os {{count}} artigos →", + viewGear: "Ver material →", + localTour: "Ruta local", + meetAt: "Punto de encontro: {{place}}", + hours: "{{count}} horas", + level: "nivel {{level}}", + viewTour: "Ver ruta →", + upcomingEvent: "Próximo evento", + viewEvent: "Ver evento →", + skateCrew: "Crew de skate", + members: "{{count}} membros", + since: "Desde {{year}}", + viewCrew: "Ver crew →", + acceptsBitcoin: "Acepta Bitcoin", + boosted: "Impulsado", + website: "Sitio web", + offlineSavedSpots: "Fóra de liña · mostrando spots gardados", + cantReachRelays: "Non se pode conectar cos relays", + relayOnlineNoAnswer: "Tes conexión, pero o relay da comunidade non responde agora mesmo.", + youreOffline: "Estás fóra de liña.", + savedOnDevice: "Os spots que xa viches gárdanse neste dispositivo e aparecerán aquí.", + noSpotsMatchTitle: "Ningún spot coincide", + noSpotsMatchDesc: "Proba outra busca ou limpa os filtros.", + noSpotsMappedYet: "Aínda non hai spots no mapa", + noSpotsMappedDesc: "Sé o primeiro en marcar o teu parque no mapa: lévache un minuto, é teu, e o próximo skater que pase por alí agradeceracho.", + addFirstSpot: "Engadir o primeiro spot", + findSpotsNearMe: "Atopar spots preto de min", + locating: "Localizando…", + refiningLocation: "Axustando a túa localización…", + refiningLocationDesc: "Centrado no teu último spot: buscando unha nova posición GPS.", + locatingYou: "Localizándote…", + locatingDesc: "Obtendo a posición GPS. A primeira vez pode tardar ata un minuto.", + foundYou: "Atopámoste", + foundYouDesc: "O mapa centrouse na túa localización.", + locationPermissionNeeded: "Cómpre permiso de localización", + permissionNeededDesc: "Permite a localización para SkateSpots en Axustes → Aplicacións → SkateSpots → Permisos do teu dispositivo e despois toca en Preto de min.", + locationTimedOut: "Esgotouse o tempo de localización", + timeoutNativeDesc: "Non se puido obter a localización a tempo. Se estás nun interior, o GPS non ve os satélites: activa a localización por rede (Axustes → Localización) ou sae fóra e téntao de novo.", + timeoutWebDesc: "Non se puido obter a túa localización a tempo. Comproba o sinal e téntao de novo.", + noLocationProvider: "Sen provedor de localización", + noProviderNativeDesc: "O teu teléfono non está a proporcionar localización. Nas ROM centradas na privacidade (por exemplo, GrapheneOS) activa a localización por rede en Axustes → Localización, ou asegúrate de que o GPS está activo e proba ao aire libre.", + noProviderWebDesc: "Non hai ningún provedor de localización dispoñible. Activa os servizos de localización e téntao de novo.", + locationUnavailable: "Localización non dispoñible", + unavailableNativeDesc: "Activa a localización ou o GPS nos axustes do teléfono, permite a localización para SkateSpots (Axustes → Aplicacións → SkateSpots → Permisos) e téntao de novo.", + unavailableWebDesc: "Non se puido determinar a túa localización. Asegúrate de que os servizos de localización están activos.", + locationBlocked: "Localización bloqueada", + locationBlockedDesc: "O teu navegador bloqueou o acceso á localización neste sitio. Velaquí como reactivalo:", + locationPlatformAndroid: "Chrome en Android", + locationPlatformIos: "Safari en iOS", + locationPlatformDesktop: "Chrome de escritorio", + locationPlatformFirefox: "Firefox", + locationStepsAndroid: "Toca o candado da barra de enderezos → Axustes do sitio → Localización → Permitir", + locationStepsIos: "App Axustes → Safari → Localización → Permitir (ou toca o botón «AA» na barra de enderezos de Safari)", + locationStepsDesktop: "Preme o candado → Axustes do sitio → Localización → Permitir", + locationStepsFirefox: "Preme o candado → Conexión segura → Máis información → Permisos → Acceder á túa localización → Permitir", + gotIt: "Entendido", + addSpot: "Engadir spot", + addShop: "Engadir tenda", + addEvent: "Engadir evento", + addSpotHereTitle: "Engadir un spot aquí?", + addSpotHereDesc: "Coloca un marcador onde tocaches", + sellGear: "Vender material", + offerTour: "Ofrecer ruta", + closeAddMenu: "Pechar o menú de engadir", + addMenuAria: "Engadir spot, tenda, evento, material ou ruta", + localChat: "Chat local", + localChatDesc: "Chat en directo para onde estea centrado o mapa. Escolle o alcance da canle.", + btcMapShowing: "Mostrando {{count}} lugares preto de ti onde podes gastar os teus sats", + btcMapShow: "Mostrar lugares onde podes gastar os teus sats (vía BTC Map)", + yourPrivateStash: "O teu Stash privado", + stashIntro: "Fai seguimento do teu material, pon prezos e atopa intercambios con outros skaters.", + encryptionRequired: "Cómpre cifrado", + encryptionRequiredDesc: "Usa un firmante compatible con NIP-44 (Alby, nos2x, Amber).", + myStash: "O meu Stash", + encrypted: "Cifrado", + itemsCount: "{{count}} artigos", + items: "Artigos", + wishlist: "Lista de desexos", + types: "Tipos", + stashEmpty: "O teu Stash está baleiro", + addFirstItem: "Engadir o primeiro artigo", + wishlistCount: "Lista de desexos ({{count}})", + myGearCount: "O meu material ({{count}})", + openFullStash: "Abrir o Stash completo", + addItem: "Engadir artigo", + searchSpotsPlaceholder: "Buscar spots...", + selected: "Seleccionado", + noSpotsFound: "Non se atoparon spots. Proba outra busca.", + addingSpotsHint: "Engadir spots axuda a outros usuarios a atoparte cando exploran zonas concretas", + report: "Denunciar", + spotSingular: "1 spot", + spotPlural: "{{count}} spots", + view: "Ver", + myCollections: "As miñas coleccións", + collectionsSubtitle: "Organiza os teus spots favoritos en listas personalizadas", + newCollection: "Nova colección", + loginToCreate: "Inicia sesión para crear coleccións", + loginToCreateDesc: "Garda os teus spots favoritos en listas personalizadas como «Viaxe a Barcelona 2024» ou «Mellores barandillas de LA»", + noCollections: "Aínda non hai coleccións", + noCollectionsDesc: "Crea a túa primeira colección para comezar a organizar spots", + createFirstCollection: "Crea a túa primeira colección", + createNewCollection: "Crear nova colección", + createCollectionDesc: "Dalle un nome á túa colección e, se queres, unha descrición", + collectionName: "Nome da colección", + collectionNamePlaceholder: "Viaxe a Barcelona 2024", + descriptionOptional: "Descrición (opcional)", + descriptionPlaceholder: "Os meus spots favoritos da viaxe a Barcelona...", + creating: "Creando...", + createCollection: "Crear colección", + editCollection: "Editar colección", + saving: "Gardando...", + saveChanges: "Gardar cambios", + deleteCollectionTitle: "Eliminar a colección?", + deleteCollectionDesc: "Isto eliminará definitivamente «{{title}}». Os spots en si non se verán afectados.", + deleting: "Eliminando...", + collectionCreated: "Colección creada!", + collectionCreatedDesc: "«{{title}}» está lista para recibir spots", + collectionCreateFailed: "Non se puido crear a colección", + collectionUpdated: "Colección actualizada!", + changesSaved: "Gardáronse os teus cambios", + collectionUpdateFailed: "Non se puido actualizar a colección", + collectionDeleted: "Colección eliminada", + collectionDeletedDesc: "Eliminouse «{{title}}»", + collectionDeleteFailed: "Non se puido eliminar a colección", + somethingWentWrong: "Algo saíu mal" + }, + spotUi: { + claim: { + areYouOwner: "É este o teu spot?", + privateDesc: "Este spot está marcado como privado. Se é teu ou o xestionas, reclámao: un moderador de SkateSpots confirma a propiedade e despois pasas a xestionar a ficha.", + claimSpot: "Reclamar este spot", + nip05Required: "Necesitas un identificador NIP-05 verificado para reclamar un spot privado (unha proba de que controlas unha identidade Nostr). Engade un no teu perfil e volve despois.", + addNip05: "Engadir NIP-05 en Axustes", + pendingTitle: "Reclamación pendente de revisión", + pendingDesc: "A túa reclamación enviouse. Un moderador de SkateSpots revisaraa: poderás rematar a reclamación do spot cando se aprobe.", + approvedTitle: "Reclamación aprobada", + approvedDesc: "Un moderador aprobou a túa reclamación. Remata o proceso para ser o propietario deste spot.", + complete: "Rematar a reclamación", + submitted: "Reclamación enviada", + submittedDesc: "Un moderador revisará a túa reclamación. Faraste cargo do spot cando se aprobe.", + submitFailed: "Non se puido enviar a reclamación", + submit: "Enviar reclamación", + submitting: "Enviando…", + confirmTitle: "Reclamar «{{title}}»?", + confirmIntro: "Estás a pedir ser o propietario deste spot privado.", + confirmBullet1: "Un moderador de SkateSpots revisa a solicitude (non podemos verificar a propiedade, só as claves Nostr)", + confirmBullet2: "Se se aproba, rematas a reclamación para ser o propietario e poder editar o spot", + confirmBullet3: "O spot orixinal permanece en Nostr: a rede é descentralizada", + adminTitle: "Reclamacións de propiedade pendentes", + adminApprove: "Aprobar", + adminApproved: "Aprobada", + adminApprovedDesc: "Agora xa pode rematar a reclamación do spot.", + adminApproveFailed: "Non se puido aprobar a reclamación", + loginRequired: "Inicia sesión para reclamar este spot privado ou solicitar a propiedade." + }, + abandonedDesc: "Última actualización: {{time}}. Se o propietario orixinal está inactivo, podes reclamar este spot para mantelo e melloralo.", + claimedNotice: "Ficha reclamada", + claimedNoticeDesc: "Este spot foi republicado por un novo propietario tras unha reclamación. A ficha orixinal pode seguir existindo por separado.", + abandonedLoginDesc: "Última actualización: {{time}}. Inicia sesión para reclamar e manter este spot.", + accessDeniedDesc: "Só podes editar os spots que creaches ti.", + accessDeniedTitle: "Acceso denegado", + addAtLeastOneTag: "Engade polo menos unha etiqueta.", + additionalDetails: "Detalles adicionais (opcional)", + additionalDetailsPlaceholder: "Engade calquera contexto que poida axudar...", + addNewTags: "Engadir etiquetas novas:", + addNip05InSettings: "Engadir NIP-05 en Axustes", + addPhoto: "Engadir foto", + addPhotoDesc: "Contribúe cunha foto para axudar a outros a descubrir este spot.", + addPhotoOrDescription: "Engade unha foto ou unha descrición", + addPhotoOrDescriptionDesc: "Dálles algo aos skaters: unha foto ou unha liña sobre o lugar.", + addPhotos: "Engadir fotos", + addPhotoToSpot: "Engadir foto ao spot", + adminDeleteDialogDesc: "Como administrador de SkateSpots, estás a retirar «{{title}}». Ocultarase en toda a app para todos e enviarase unha solicitude de eliminación aos relays.", + adminDeleteReason: "Un administrador de SkateSpots eliminou o spot «{{title}}»", + airQuality: "Calidade do aire", + altSkateSpot: "Spot de skate: {{title}}", + areYouShopOwner: "Es o propietario da tenda?", + askBeforeSkating: "Pregunta antes de patinar", + backToSpot: "Volver ao spot", + beFirstToListGear: "Sé o primeiro en pór material á venda neste spot!", + beFirstToSay: "Sé o primeiro en dicir algo.", + byAuthor: "por {{name}}", + captionPlaceholder: "Engade un pé de foto (opcional): describe o que sae na foto, cando se fixo, etc.", + chatPublicNote: "Calquera pode ler isto: as mensaxes son públicas e efémeras. Para conversas privadas, usa as Mensaxes directas.", + checkPinBelow: "Comproba o marcador de abaixo antes de engadir un duplicado.", + claimBullet1: "Pasas a ser o propietario e podes editar o spot", + claimBullet2: "O spot orixinal permanece (Nostr é descentralizado)", + claimBullet3: "A túa versión pode aparecer xunto á orixinal", + claimFailed: "Non se puido reclamar", + claiming: "Reclamando...", + claimIntro: "Estás a piques de reclamar a propiedade deste spot. Isto creará a túa propia versión do spot, que poderás editar e manter.", + claimSpot: "Reclamar spot", + claimThisSpot: "Reclamar este spot", + claimTitle: "Reclamar «{{title}}»?", + claimWhatHappens: "Que pasa cando o reclamas:", + coachesAndFilmersAvailable: "Adestradores e filmers dispoñibles neste spot", + coachesCount: "Adestradores ({{count}})", + coachHere: "Adestrador aquí", + community: "Comunidade", + communityVerified: "Verificado pola comunidade", + communityVerifiedTitle: "Outro skater contribuíu aquí (foto ou informe de estado).", + conditions: "Condicións", + contactForPermission: "Contacta para pedir permiso", + contactInfo: "Información de contacto", + contributePhoto: "Contribuír cunha foto", + contributing: "Contribuíndo...", + couldNotSendMessage: "Non se puido enviar a mensaxe.", + couldNotSubmit: "Non se puido enviar", + couldNotUploadPhoto: "Non se puido subir a foto. Podes engadir unha abaixo.", + crewsThatSkateHere: "Crews que patinan aquí", + current: "Actual:", + currentTags: "Etiquetas actuais deste spot:", + daysAgo: "hai {{count}} día", + daysAgoPlural: "hai {{count}} días", + deleteDialogDesc: "Isto eliminará definitivamente «{{title}}» de todos os relays. Esta acción non se pode desfacer.", + deletedSpotReason: "Spot eliminado", + deleteFailed: "Non se puido eliminar", + deleteSpot: "Eliminar spot", + deleteSpotTitle: "Eliminar o spot?", + differentSpotPublishAnyway: "É outro spot: publicar de todos os xeitos", + dragDropOrClick: "Arrastra e solta ou fai clic", + dropPhotos: "Solta as fotos", + duplicateOne: "Hai un spot a menos de 60 m do teu marcador. Se é o mesmo lugar, engade alí a túa foto ou un informe de estado en vez de crear un duplicado.", + duplicateOther: "Hai spots a menos de 60 m do teu marcador. Se é o mesmo lugar, engade alí a túa foto ou un informe de estado en vez de crear un duplicado.", + editSpotSeoDesc: "Edita o teu spot de skate.", + failedToContribute: "Non se puido contribuír", + failedToPublish: "Non se puido publicar", + failedToPublishDesc: "Algo saíu mal. Consulta a consola para máis detalles.", + failedToSubmitReport: "Non se puido enviar a denuncia", + failedToSuggestTags: "Non se puideron suxerir etiquetas", + failedToUpdate: "Non se puido actualizar", + failedToUploadImage: "Non se puido subir a imaxe", + failedToUploadPhoto: "Non se puido subir a foto", + feelsLikeTemp: "Sensación de {{temp}}°C", + filmersCount: "Filmers ({{count}})", + filmHere: "Gravar aquí", + gearSwap: "Intercambio de material", + geolocationNotSupported: "Xeolocalización non compatible", + geolocationNotSupportedDesc: "O teu navegador non admite a xeolocalización.", + getDirections: "Como chegar", + hangTight: "Un momento", + hangTightDesc: "A túa foto aínda se está subindo. Engadirase nuns segundos.", + helpImproveSpot: "Axuda a mellorar este spot engadindo fotos ou suxerindo etiquetas", + hiddenByModerator: "Oculto por un moderador", + hiddenByModeratorDesc: "Este spot non aparece no mapa nin na busca. Aínda podes velo porque é teu. Editalo non o fará visible: seguirá oculto ata que un moderador retire a decisión.", + humidity: "Humidade", + imageUploaded: "Imaxe subida", + imageUploadedDesc: "A túa imaxe subiuse correctamente.", + imHere: "Estou aquí", + invalidCoordinates: "Coordenadas non válidas", + invalidCoordinatesDesc: "Introduce unha latitude válida (-90 a 90) e unha lonxitude válida (-180 a 180).", + invalidNpub: "npub non válido", + invalidNpubDesc: "Introduce un enderezo npub válido.", + lastReported: "hai {{time}}", + listGear: "Pór material á venda", + listYourGearHere: "Pon o teu material á venda aquí", + loadingChat: "Cargando o chat…", + locationError: "Erro de localización", + locationFound: "Localización atopada", + locationFoundDesc: "Estableceuse a túa localización actual.", + locationRequired: "Cómpre a localización", + locationRequiredDesc: "Introduce as coordenadas ou usa a túa localización actual.", + loginRequiredTitle: "Cómpre iniciar sesión", + logInToChat: "Inicia sesión para unirte ao chat local.", + logInToContributePhotos: "Inicia sesión para contribuír con fotos", + loginToEditSpot: "Tes que iniciar sesión para editar este spot.", + logInToReport: "Tes que iniciar sesión para denunciar contido.", + logInToReportStatus: "Inicia sesión para informar do estado deste spot.", + logInToSuggestTags: "Inicia sesión para suxerir etiquetas", + manageNip05ToClaim: "Xestiona o NIP-05 para reclamar", + meetAtSpotForPickup: "💡 Quedamos neste spot para a recollida", + memberOne: "{{count}} membro", + memberOther: "{{count}} membros", + messageFailed: "Non se puido enviar a mensaxe", + messageMapper: "Mensaxe ao autor do mapa", + messagePlaceholder: "Envía unha mensaxe a este spot… (proba /me ou /who)", + messagesHiddenOne: "{{count}} mensaxe oculta polo teu filtro de confianza. Baixa o filtro para ver máis.", + messagesHiddenOther: "{{count}} mensaxes ocultas polo teu filtro de confianza. Baixa o filtro para ver máis.", + messagesHiddenShortOne: "{{count}} mensaxe oculta polo teu filtro de confianza", + messagesHiddenShortOther: "{{count}} mensaxes ocultas polo teu filtro de confianza", + metresAway: "a {{distance}} m", + moderatorVouchedDesc: "Un moderador revisou este spot e deu fe del. Ben feito.", + monthsAgo: "hai {{count}} mes", + monthsAgoPlural: "hai {{count}} meses", + newOwnerNpub: "npub do novo propietario", + newOwnerNpubHint: "Introduce o npub do usuario ao que queres transferir este spot.", + nip05RequiredToClaim: "⚠️ Cómpre verificación NIP-05 para reclamar tendas", + noCommunitySignalTitle: "Aínda non hai foto nin informe de estado da comunidade: ninguén confirmou este lugar.", + breakdownPhotos: "{{count}} foto(s)", + breakdownStatus: "{{count}} informe(s) de estado", + breakdownComments: "{{count}} comentario(s)", + breakdownReactions: "{{count}} reacción(s)", + breakdownCollections: "{{count}} gardado(s)", + breakdownZaps: "{{count}} zap(s)", + breakdownTags: "{{count}} suxestión(s) de etiquetas", + breakdownCrews: "{{count}} crew(s)", + breakdownLab: "{{count}} perfil(is) profesional(is)", + verifyNudgeTitle: "Sé o primeiro en confirmar este spot", + verifyNudgeBody: "Unha foto ou un «xa patinei aquí» é como se verifica un spot: axuda ao próximo skater.", + verifyNudgeStatus: "Xa patinei aquí", + communityChip: "Comunidade", + seenChip: "Visto", + noGearListedYet: "Aínda non hai material á venda", + noMessagesYet: "Aínda non hai mensaxes nesta canle local. Saúda: «alguén patina esta noite?»", + noPhoto: "Sen foto", + noReportsYet: "Aínda non hai informes", + noTags: "Sen etiquetas", + notASkateSpot: "Non é un spot de skate", + offerServicesHere: "💡 Ofrece os teus servizos neste spot", + photoCaptured: "Foto capturada!", + photoCapturedDesc: "A túa foto subiuse correctamente.", + photoContributed: "Foto engadida!", + photoContributedDesc: "A túa foto engadiuse a este spot.", + photosAdded: "Engadíronse as túas fotos.", + photosRecommended: "moi recomendable: os spots sen foto seguen marcados como Non verificado", + photosUploaded: "{{count}} fotos subidas", + photoUploaded: "Foto subida", + photoUploadedDesc: "Engade un pé de foto e envíao para contribuír!", + photoUploadFailed: "Non se puido subir a foto", + pleaseTryAgain: "Téntao de novo", + public: "Público", + publicChatTitle: "Calquera pode ler as mensaxes desta canle: é pública e non está cifrada.", + recentReports: "Informes recentes", + recipientRequired: "Cómpre un destinatario", + recipientRequiredDesc: "Introduce o npub do novo propietario.", + removeAdmin: "Quitar (administrador)", + removeSpot: "Quitar spot", + removeSpotAdminTitle: "Quitar este spot? (administrador)", + reportOne: "informe", + reportContent: "Denunciar contido", + reportContentDesc: "Axuda a manter a comunidade segura denunciando contido inadecuado.", + reportedBySkaters: " por {{count}} skaters: en revisión. Se este é un spot real, engade unha foto ou un informe de estado para confirmalo.", + reportedNotASpot: "Denunciado como non ser un spot de skate", + reportingType: "Denunciando {{type}}", + reports: "informes", + reportShop: "Denunciar tenda", + reportSpot: "Denunciar spot", + reportStatus: "Informar do estado", + reportSubmitted: "Denuncia enviada", + reportSubmittedDesc: "Grazas por axudar a manter SkateSpots seguro.", + reportSubmittedLong: "Grazas por axudar a manter SkateSpots seguro e preciso. Membros de confianza da comunidade revisarán a túa denuncia.", + reportSubmittedTitle: "Denuncia enviada", + report: { + notASkateSpot: { + label: "Non é un spot de skate", + description: "Unha entrada de proba ou un lugar que non é para patinar" + }, + fakeSpot: { + label: "Spot falso ou inexistente", + description: "Este spot non existe ou a localización é incorrecta" + }, + stolenPhotos: { + label: "Fotos roubadas ou falsas", + description: "As fotos son imaxes de stock ou collidas doutro sitio" + }, + spamAd: { + label: "Spam ou publicidade", + description: "Contido promocional ou fichas duplicadas" + }, + dangerousLocation: { + label: "Localización perigosa", + description: "Propiedade privada, pouco segura ou de acceso ilegal" + }, + inappropriateContent: { + label: "Contido inadecuado", + description: "Contén contido ofensivo ou para adultos" + }, + impersonation: { + label: "Suplantación de identidade", + description: "Alguén facéndose pasar por outra persoa" + }, + other: { + label: "Outro", + description: "Algo que non aparece na lista" + } + }, + targetType: { + spot: "Spot", + event: "Evento", + tour: "Ruta", + shop: "Tenda", + user: "Usuario", + listing: "Anuncio", + coach: "Adestrador", + filmer: "Filmer" + }, + sameOwner: "Mesmo propietario", + sameOwnerDesc: "Non se pode transferir ao propietario actual.", + saveChanges: "Gardar cambios", + saving: "Gardando...", + services: "Servizos", + shareSpotText: "Bótalle un ollo a este spot de skate: {{title}}", + shelter: "Refuxio", + shelterHint: "Este spot está exposto á intemperie? Axuda a outros skaters a atopar lugares secos cando chove.", + shopClaimDesc: "Se es propietario ou xestionas esta tenda, podes reclamala para verificar a propiedade e xestionar o anuncio.", + shopClaimNip05Hint: "Para reclamar esta tenda, engade un identificador NIP-05 que coincida co dominio do sitio web da tenda.", + skatersActiveDesc: "Persoas que publicaron nesta canle nas últimas 24 h.", + skatersActiveOne: "{{count}} skater activo aquí", + skatersActiveOther: "{{count}} skaters activos aquí", + skatersSellingGear: "Hai skaters vendendo material neste spot", + skateSpot: "Spot de skate", + somethingWentWrong: "Algo saíu mal", + spot: "Spot", + spotAdded: "Spot engadido!", + spotAddedDesc: "O teu spot de skate publicouse na rede.", + spotAddedNoPhoto: "Publicado, e marcado como Non verificado ata que alguén engada unha foto. Unha imaxe do spot axuda moito.", + spotChat: "Chat do spot", + spotClaimed: "Spot reclamado!", + spotClaimedDesc: "Agora es o propietario deste spot. Podes editalo desde o teu perfil.", + spotDeleted: "Spot eliminado", + spotDeletedDesc: "Solicitude de eliminación enviada aos relays. A maioría dos relays eliminarán este contido.", + spotMayAlreadyBeOnMap: "Pode que ese spot xa estea no mapa", + spotMayAlreadyExist: "Pode que este spot xa exista", + spotMayBeAbandoned: "Pode que o spot estea abandonado", + spotPhotoAlt: "Spot", + spotRemoved: "Spot retirado", + spotRemovedDesc: "Este spot retirouse e ocultarase en todo SkateSpots.", + spotSeoDesc: "Ve este spot de skate en SkateSpots.", + spotStatus: "Estado do spot", + spotStatusDesc: "«{{title}}» aínda se pode patinar? Conta á comunidade cal é o seu estado actual.", + spotTypeRequired: "Cómpre o tipo de spot", + spotTypeRequiredDesc: "Escolle un tipo de spot para que os skaters saiban a que se enfrontan.", + spotUpdated: "Spot actualizado!", + spotUpdatedDesc: "Os teus cambios publicáronse na rede.", + staffVerifiedTitle: "Un administrador de SkateSpots revisou este spot e deu fe del.", + statusNotePlaceholder: "Opcional: engade detalles (por exemplo, «hai protectores novos no bordo», «o vixilante bota á xente despois das 18:00»)", + statusReported: "Estado informado", + statusReportedDesc: "Grazas por manter o mapa ao día. O teu informe xa está publicado.", + submitReport: "Enviar informe", + submitting: "Enviando...", + suggestedByUser: "Suxerido por {{count}} usuario", + suggestedByUsers: "Suxerido por {{count}} usuarios", + suggestedTagsContent: "Etiquetas suxeridas para {{title}}: {{tags}}", + suggestNTags: "Suxerir {{count}} etiquetas", + suggestOneTag: "Suxerir 1 etiqueta", + suggestTags: "Suxerir etiquetas", + suggestTagsDesc: "Axuda a categorizar este spot suxerindo etiquetas relevantes.", + tags: "Etiquetas", + tagsHint: "Engade etiquetas para características, superficies e ambiente (máx. {{max}})", + tagsSuggested: "Etiquetas suxeridas!", + tagsSuggestedDesc: "As túas suxestións de etiquetas enviáronse.", + takePhoto: "Facer unha foto", + threeDayForecast: "Previsión de 3 días", + forecastDays: "Previsión de {{count}} días", + tipTheMapper: "Dar propina a quen mapeou", + tipTheMapperDesc: "Resultouche útil este spot? Envía un zap para agradecerllo a quen o mapeou!", + titleRequired: "Cómpre un título", + titleRequiredDesc: "Introduce un nome para este spot.", + today: "Hoxe", + tomorrow: "Mañá", + transferDesc: "Transferir «{{title}}» a outro usuario. Esta acción non se pode desfacer.", + transferFailed: "Non se puido transferir", + transferOwnership: "Transferir propiedade", + transferRequestContent: "Solicitude de transferencia de propiedade do spot «{{title}}»", + transferRequested: "Transferencia solicitada", + transferRequestedDesc: "O novo propietario terá que reclamar o spot para completar a transferencia.", + transferring: "Transferindo...", + transferSpotOwnership: "Transferir a propiedade do spot", + transferWarningDesc: "Despois da transferencia, xa non poderás editar nin eliminar este spot.", + typeToSearchTags: "Escribe para buscar ou engadir etiquetas...", + underReview: " — en revisión. Se este é un spot real, engade unha foto ou un informe de estado para confirmalo.", + untitledSpot: "Spot sen título", + unverified: "Non verificado", + updateDetailsFor: "Actualiza os detalles de {{title}}", + updateSpotDesc: "Actualiza a información deste spot. Todos os campos marcados con * son obrigatorios.", + uploadAPhoto: "Subir unha foto", + uploadAPhotoHint: "Arrastra e solta ou fai clic · JPG, PNG, WebP", + uploadedAlt: "Subida", + uploadFailed: "Non se puido subir", + uploadingPhoto: "Subindo a foto…", + uploadPhotoFirst: "Sube primeiro unha foto.", + uvIndex: "Índice UV", + verifiedBySkateSpots: "Verificado por SkateSpots", + viewPhotoFullScreen: "Ver a foto a pantalla completa", + viewPhotoOf: "Ver a foto {{n}} de {{total}}", + warning: "Aviso", + weatherConditions: "Condicións meteorolóxicas", + weatherOnly: "só meteo", + weatherOnlyUnconfirmed: "Só meteo. Ninguén confirmou aínda que isto sexa un spot de skate, así que non hai puntuación de condicións: engade unha foto ou un informe de estado para confirmalo.", + whyReporting: "Por que o denuncias?", + wind: "Vento", + yearsAgo: "hai {{count}} ano", + yearsAgoPlural: "hai {{count}} anos" + }, + weatherUi: { + condition: { + clearSky: "Ceo despexado", + mainlyClear: "Maiormente despexado", + partlyCloudy: "Parcialmente nubrado", + overcast: "Cuberto", + foggy: "Néboa", + depositingRimeFog: "Néboa con xeadas", + lightDrizzle: "Orballo lixeiro", + moderateDrizzle: "Orballo moderado", + denseDrizzle: "Orballo intenso", + lightFreezingDrizzle: "Orballo xeado lixeiro", + denseFreezingDrizzle: "Orballo xeado intenso", + slightRain: "Chuvia lixeira", + moderateRain: "Chuvia moderada", + heavyRain: "Chuvia forte", + lightFreezingRain: "Chuvia xeada lixeira", + heavyFreezingRain: "Chuvia xeada forte", + slightSnow: "Neve lixeira", + moderateSnow: "Neve moderada", + heavySnow: "Neve forte", + snowGrains: "Cristais de neve", + slightRainShowers: "Chuvascos lixeiros", + moderateRainShowers: "Chuvascos moderados", + violentRainShowers: "Chuvascos violentos", + slightSnowShowers: "Chuvascos de neve lixeiros", + heavySnowShowers: "Chuvascos de neve fortes", + thunderstorm: "Treboada", + thunderstormSlightHail: "Treboada con saraiba lixeira", + thunderstormHeavyHail: "Treboada con saraiba forte", + unknown: "Descoñecido" + }, + aqi: { + good: "Bo", + moderate: "Moderado", + unhealthySensitive: "Insalubre para grupos sensibles", + unhealthy: "Insalubre", + veryUnhealthy: "Moi insalubre", + hazardous: "Perigoso" + }, + skateability: { + perfect: "Perfecto", + good: "Bo", + okay: "Aceptable", + poor: "Malo", + bad: "Moi malo", + unrideable: "Non practicábel" + }, + updated: "Actualizado", + refresh: "Actualizar", + unavailable: "Meteo non dispoñible.", + retry: "Tentar de novo", + sunrise: "Amanecer", + sunset: "Solpor", + legendTitle: "Puntuación do tempo", + legendWeatherOnly: "Só meteo", + reason: { + currentlyRaining: "Está a chover agora", + raining: "Chovendo", + snowing: "Nevando", + thunderstorm: "Treboada", + freezingTemperature: "Temperatura baixo cero", + veryCold: "Moi frío", + extremelyHot: "Moitísimo calor", + veryHot: "Moito calor", + veryStrongWind: "Vento moi forte", + strongWind: "Vento forte", + moderateWind: "Vento moderado", + veryUnhealthyAir: "Aire moi insalubre", + unhealthyAir: "Aire insalubre", + moderateAirQuality: "Calidade do aire moderada", + veryHumid: "Humidade moi alta", + humid: "Humidade alta", + extremeUv: "UV extremo: usa protección solar", + highUv: "UV alto: recoméndase protección solar", + perfectConditions: "Condicións perfectas para patinar" + } + }, + cordnUi: { + title: "Chat privado", + subtitle: "Cifrado de extremo a extremo (MLS) entre os membros da crew. O coordinador só encamiña texto cifrado e metadatos: nunca ve o contido das mensaxes.", + notLoggedIn: "Inicia sesión para usar o chat privado da crew.", + membersOnly: "Só os membros da crew poden abrir o chat privado.", + connecting: "Conectando…", + noCoordinator: "Aínda non hai ningún coordinador configurado para esta crew.", + noGroupAdmin: "O chat privado desta crew aínda non se creou.", + noGroupMember: "Aínda non estás no chat privado desta crew.", + create: "Crear o chat privado", + requestJoin: "Pedir acceso", + checkInvite: "Comprobar se hai invitación", + requested: "Solicitude enviada: un administrador da crew aprobaraa.", + noInvite: "Aínda non hai ningunha invitación. Pídele a un administrador que aprobe a túa solicitude.", + placeholder: "Envía unha mensaxe á crew…", + send: "Enviar", + refresh: "Actualizar", + requests: "Solicitudes de acceso", + checkRequests: "Comprobar solicitudes", + approve: "Engadir", + noRequests: "Non hai solicitudes de acceso pendentes.", + inviteHint: "De momento só estás ti neste chat: os membros da crew poden tocar «Pedir acceso» e despois ti apruébalos aquí.", + shareInvite: "Convidar", + shareInviteText: "Únete a {{crew}} — chat privado da crew", + inviteCopied: "Ligazón de invitación copiada", + memberCount: "{{count}} no grupo", + you: "Ti", + groupRef: "Ligazón do grupo", + copyRef: "Copiar", + copied: "Copiado", + attachImage: "Anexar imaxe", + uploading: "Subindo…", + uploadFailed: "Non se puido subir a imaxe.", + bannerTitle: "Esta crew aínda non ten chat privado", + bannerBody: "Configura un chat cifrado de extremo a extremo (MLS) para a túa crew: os membros únense desde a pestana.", + bannerCta: "Configurar", + ready: "Conectado · MLS", + errorPrefix: "Non se puido conectar co coordinador", + interactiveHint: "O teu firmante pide aprobación en cada acción: usa Actualizar e Enviar cando faga falta." + }, + trustUi: { + alertsTitle: "Avisos da rede", + alertsDesc: "Contas que segues e que persoas de confianza denunciaron ou silenciaron.", + alertsEmpty: "Sen avisos. Revisamos as contas que segues por se hai denuncias de persoas de confianza.", + alertsReported: "Denunciada por {{count}} persoas de confianza", + alertsMuted: "Silenciada por {{count}} persoas de confianza", + alertsIgnore: "Ignorar", + alertsUnfollow: "Deixar de seguir", + alertsLogin: "Inicia sesión para ver avisos sobre as contas que segues.", + providerTitle: "Provedor", + providerDesc: "As puntuacións veñen dun provedor que elixes ti. O provedor da comunidade é o predeterminado.", + useCommunity: "Usar o provedor da comunidade", + setProvider: "Definir un provedor", + customPubkeyPlaceholder: "npub ou clave pública hex do provedor", + customRelayPlaceholder: "wss://relay.example.com", + invalidProvider: "Introduce un npub válido ou unha clave pública hex de 64 caracteres, e un relay wss://.", + publishFailed: "Non se puido publicar o provedor. Téntao de novo.", + providerSaved: "Provedor actualizado.", + loggedOutProvider: "Inicia sesión para escoller un provedor.", + showMarks: "Mostrar marcas de confianza", + showMarksDesc: "Marcas de verificado e descoñecido. As denuncias móstranse sempre.", + sourceLabel: "Orixe", + sourceHouse: "Provedor de confianza da comunidade", + sourceCustom: "O teu provedor", + loggedOut: "Inicia sesión para escoller o teu propio provedor de confianza.", + seoTitle: "Como funciona a confianza", + seoDescription: "Como mostra SkateSpots a confianza: tres estados, de onde veñen as puntuacións e por que a ausencia non é desconfianza.", + title: "Como funciona a confianza", + intro: "Aquí a confianza é un sinal, non un veredicto. Vén de quen coñeces ou dun provedor que elixes ti. Non facemos clasificacións globais de persoas.", + statesTitle: "Tres estados", + verifiedTitle: "Verificado", + verifiedDesc: "Alguén da túa rede responde por esta conta: un amigo dun amigo ou o provedor que escolliches.", + unknownTitle: "Descoñecido", + unknownDesc: "Ninguén respondeu aínda por ela. Así comeza toda conta nova.", + flaggedTitle: "Marcado", + flaggedDesc: "Persoas de confianza denunciaron esta conta. É un aviso para mirar con máis atención, non unha proba de nada.", + absenceTitle: "Non ter distintivo non significa desconfianza", + absenceDesc: "A maioría das contas non mostran nada. Iso só significa que ninguén da túa rede respondeu por elas aínda, non que haxa algo malo. Nunca interpretes unha marca ausente como algo negativo.", + sourceTitle: "Quen o calcula", + sourceDesc: "Por defecto usamos a túa propia rede. Tamén podes escoller un provedor de confianza que publique puntuacións asinadas en Nostr (NIP-85), ou desactivar a visualización. As marcas de denuncia vense sempre, porque son un sinal de seguridade.", + endorsementTitle: "Estar presente non é avalalo", + endorsementDesc: "Unha marca de verificado significa que alguén respondeu pola conta, non que a persoa sexa boa. Unha marca de denuncia significa que persoas de confianza a denunciaron, non que sexa culpable. Revisa os detalles antes de decidir.", + povTitle: "Depende do punto de vista", + povDesc: "Unha puntuación é relativa a quen mira. A clasificación dun provedor ou dunha persoa non é comparable coa doutra, e nunca presentamos ningunha como un feito obxectivo.", + settingsCta: "Xestionar en Axustes" + }, + notifyUi: { + activity: { + zappedWithAmount: "Recibiches un zap de {{sats}} sats", + zapped: "Recibiches un zap", + liked: "A alguén lle gustou a túa publicación", + reposted: "Alguén reposteou o teu contido", + mentioned: "Alguén te mencionou", + replied: "Alguén che respondeu", + rsvp: "Alguén confirmou asistencia ao teu evento", + eventUpdated: "Actualizouse un evento ao que vas", + newActivity: "Nova actividade", + tapToOpen: "Toca para abrir SkateSpots" + }, + crew: { + inviteTitle: "Invitación á crew", + inviteBody: "Estás convidado a {{crew}}", + addedTitle: "Engadíronte a unha crew", + addedBody: "{{crew}} — confirma para unirte", + joinRequestTitle: "Solicitude de acceso", + joinRequestBody: "Alguén quere unirse a {{name}}" + }, + dm: { + title: "Nova mensaxe directa", + body: "Toca para lela" + }, + trade: { + confirm: "Confirma un intercambio", + confirmed: "Intercambio confirmado", + newOffer: "Nova oferta no teu anuncio", + counter: "Contraoferta", + accepted: "Oferta aceptada 🎉", + declined: "Oferta rexeitada", + withdrawn: "Oferta retirada" + }, + newsletter: { + drop: "Novidade de SkateSpots" + }, + summary: { + moreUpdates: "{{count}} actualizacións máis", + openToCatchUp: "Abre SkateSpots para poñerte ao día" + } + }, + toastsUi: { + followingSuccess: "Seguindo", + followingSuccessDesc: "Este usuario xa está na túa rede", + followFailed: "Non se puido seguir", + unfollowSuccess: "Deixaches de seguir", + unfollowSuccessDesc: "Retirado da túa rede", + unfollowFailed: "Non se puido deixar de seguir", + reportThanks: "Grazas, enviado para revisión", + reportFailed: "Non se puido enviar a denuncia", + savedOffline: "Gardado fóra de liña", + savedOfflineDesc: "Publicarémolo automaticamente cando volvas ter conexión.", + cacheCleaned: "Caché limpa", + cacheCleanedDesc: "Retiráronse {{count}} spots antigos da caché", + cacheCleared: "Caché borrada", + cacheClearedDesc: "Retiráronse todos os spots da caché", + backOnline: "De novo en liña", + backOnlineDesc: "Enviáronse {{count}} acción(s) gardadas.", + postQueued: "Publicación en cola", + postQueuedDesc: "A túa publicación publicarase cando volvas ter conexión", + invalidIdentifier: "Identificador non válido. Usa npub1..., usuario@dominio.com ou unha clave pública hex", + notASpotThanks: "Grazas, enviado para revisión", + notASpotThanksDesc: "Sen rencores: isto marca o punto como fóra de tema para que cadaquén decida por si mesmo.", + notASpotFailed: "Non se puido enviar a denuncia", + pleaseTryAgain: "Téntao de novo.", + relayUnreachable: "Non se puido conectar con ningún relay: comproba a conexión e téntao de novo.", + loginToReport: "Inicia sesión para denunciar un spot.", + zapLoginRequired: "Cómpre iniciar sesión", + zapLoginRequiredDesc: "Tes que ter a sesión iniciada para enviar un zap.", + zapEventNotFound: "Evento non atopado", + zapEventNotFoundDesc: "Non se atopou o evento ao que enviar o zap.", + zapAuthorNotFound: "Autor non atopado", + zapAuthorNotFoundDesc: "Non se atopou o autor deste elemento.", + zapSuccess: "Zap enviado!", + zapSuccessNwcDesc: "Enviaches {{amount}} sats ao autor mediante NWC.", + zapSuccessDesc: "Enviaches {{amount}} sats ao autor.", + zapStatusUnknown: "Estado do pagamento descoñecido", + zapStatusUnknownDesc: "Pode que a túa carteira aínda estea a procesar este zap. Comproba a carteira antes de tentalo de novo: non pagues dúas veces.", + zapNwcFailed: "Fallou o pagamento por NWC", + zapWeblnFailed: "Fallou o pagamento por WebLN", + zapFallingBack: "{{error}}. Probando outros métodos de pagamento...", + zapFailed: "Non se puido enviar o zap", + zapUnknownNwcError: "Erro descoñecido de NWC", + zapUnknownWeblnError: "Erro descoñecido de WebLN", + nwcInvalidUri: "URI de NWC non válido", + nwcInvalidUriDesc: "Comproba a cadea de conexión e téntao de novo.", + nwcExists: "A conexión xa existe", + nwcExistsDesc: "Esta carteira xa está conectada.", + nwcConnected: "Carteira conectada", + nwcConnectedDesc: "Conectouse correctamente a {{alias}}.", + nwcFailed: "Fallou a conexión", + nwcFailedDesc: "Non se puido conectar coa carteira: {{error}}", + nwcUnknownError: "Produciuse un erro descoñecido", + nwcDisconnected: "Carteira desconectada", + nwcDisconnectedDesc: "Retirouse a conexión da carteira.", + deleteApproveAmber: "Aprobar en Amber", + deleteApproveAmberDesc: "Abrirase Amber: toca Aprobar para confirmar a eliminación.", + deleteCancelled: "Cancelado", + deleteCancelledDesc: "Rexeitaches a solicitude en Amber.", + deleteCouldntSign: "Non se puido asinar", + deletePublishing: "Paso 2/2: publicando…", + deletePublishingDesc: "Enviando a eliminación aos relays.", + deleteStuck: "Atascado en PUBLICANDO", + deleteStuckDesc: "Fallou o paso do relay: {{error}}. Asinouse correctamente, pero o relay non o confirmou.", + stashMerged: "Cambios fusionados desde outro dispositivo", + stashMergedDesc: "O teu Stash editouse noutro sitio: conserváronse os dous conxuntos de cambios.", + statusUpdated: "Estado actualizado!", + statusUpdatedDesc: "O teu estado de skate xa é visible para os demais.", + statusFailed: "Non se puido definir o estado", + statusCleared: "Estado borrado", + statusClearedDesc: "Retirouse o teu estado.", + statusClearFailed: "Non se puido borrar o estado", + nutzapEnabled: "Recepción de Nutzap activada", + nutzapEnabledDesc: "Xa podes recibir zaps en ecash!", + nutzapSetupFailed: "Fallou a configuración", + nutzapUnavailable: "Envío de Nutzap non dispoñible", + tokenReceived: "Token recibido", + tokenReceivedDesc: "Token Cashu canxeado correctamente!", + receiveFailed: "Non se puido recibir", + invalidAmount: "Cantidade non válida", + invalidAmountDesc: "Introduce unha cantidade válida", + tokenCreated: "Token creado", + sendFailed: "Non se puido enviar", + mintAdded: "Ceca engadida", + mintAddedDesc: "Ceca engadida e marcada como de confianza", + mintAddFailed: "Non se puido engadir a ceca", + mintRemoved: "Ceca retirada", + mintRemoveFailed: "Non se puido retirar a ceca", + paymentReceived: "Pagamento recibido", + paymentReceivedDesc: "Recibiches {{amount}} sats correctamente!", + paymentSent: "Pagamento enviado", + paymentSentDesc: "O pagamento por Lightning completouse correctamente", + loginRequired: "Cómpre iniciar sesión", + loginToFollowFounder: "Inicia sesión para seguir ao fundador", + alreadyFollowing: "Xa o segues", + alreadyFollowingDesc: "Xa segues a {{name}}!", + couldNotComplete: "Non se puido completar", + tryAgainLower: "Téntao de novo.", + couldNotLoadProfile: "Non se puido cargar o perfil", + couldNotLoadProfileDesc: "Comproba a conexión a internet e proba a actualizar.", + undone: "Desfeito", + undoneDesc: "De volta ao neutro: nin oculto nin avalado.", + confirmed: "Confirmado", + confirmedDesc: "Avalado: sae desta cola.", + hiddenToast: "Oculto", + couldNotUndo: "Non se puido desfacer", + couldNotConfirm: "Non se puido confirmar", + deleteFailed: "Non se puido eliminar", + somethingWentWrong: "Algo saíu mal" + }, + miscUi: { + openingCamera: "Abrindo a cámara…", + usePhoneCamera: "Usa a cámara do teléfono e volve despois aquí", + startingCamera: "Iniciando a cámara...", + cameraAccessRequired: "Cómpre acceso á cámara", + cameraAccessHint: "Permite o acceso á cámara nos axustes do navegador ou usa o selector de ficheiros de abaixo.", + cameraErrorTitle: "Erro da cámara", + cameraErrorDesc: "Non se puido abrir a cámara. Comproba os permisos da app en Axustes.", + cameraDeniedTitle: "Acceso á cámara denegado", + cameraDeniedDesc: "Permite o acceso á cámara nos axustes do navegador.", + uploadFromGallery: "Subir desde a galería", + uploading: "Subindo...", + usePhoto: "Usar a foto", + earningPotential: "Potencial de ingresos", + qualityExcellent: "Excelente!", + qualityGood: "Bo", + qualityBasic: "Básico", + qualityGettingStarted: "Para comezar", + qualityLocationAdded: "Localización engadida", + qualityOnePhoto: "Polo menos 1 foto", + qualityThreePhotos: "3 ou máis fotos", + qualityMoreAngles: "Máis ángulos = mellor", + qualityDescription: "Descrición", + qualityDetailedDesc: "Descrición detallada (100+ caracteres)", + qualityContact: "Información de contacto", + qualityPhoneOrWebsite: "Teléfono ou sitio web", + qualityHours: "Horario de apertura", + qualitySpotType: "Tipo de spot seleccionado", + failedToLoadComments: "Non se puideron cargar os comentarios", + commentsTitle: "Comentarios", + noCommentsYet: "Aínda non hai comentarios", + beFirstComment: "Sé o primeiro en compartir a túa opinión!", + removeMember: "Quitar membro", + whoIsThisFor: "Para quen é este perfil?", + individual: "Individual", + individualDesc: "Unha soa persoa", + collective: "Colectivo", + collectiveDesc: "Crew, estudo ou empresa", + membersLabel: "Membros", + dismissReport: "Descartar a denuncia", + reportedBy: "denunciado por", + completingLoginAmber: "Completando o inicio de sesión con Amber...", + entityMembersHint: "Engade as contas Nostr da túa crew. Cada membro confirma o seu propio spot coa súa clave; ata entón aparecen como «pendentes».", + entityVerifiedHint: "A pertenza verifícase membro a membro: ninguén pode ser engadido á túa crew sen confirmalo desde a súa propia conta.", + entityInvalidPubkey: "Introduce un npub, nprofile ou clave pública hex de 64 caracteres válidos.", + entityAlreadyAdded: "Ese membro xa está engadido.", + offline: "Fóra de liña", + connected: "Conectado", + offlineMode: "Modo fóra de liña", + allFeaturesAvailable: "Todas as funcións dispoñibles", + browsingCachedSpots: "Explorando spots na caché", + queuedActions: "{{count}} acción(s) en cola", + syncing: "Sincronizando", + publishingWhenStable: "Publicando cando se estabilice a conexión...", + willPublishOnline: "Publicarase cando volvas estar en liña", + availableOffline: "Dispoñible fóra de liña:", + offlineBrowseSpots: "Explora os spots que viche antes", + offlineViewDetails: "Ver os detalles dos spots na caché", + offlineKeepActing: "Podes seguir: as publicacións, confirmacións, anuncios e mensaxes quedan en cola e envíanse ao reconectar" + }, + feesUi: { + feeFeaturedEventLabel: "Evento destacado", + feeFeaturedEventDesc: "Destaca o teu evento en SkateSpots", + feeFeaturedEventBenefit: "O teu evento aparece no alto da páxina de eventos", + feeLabProfileLabel: "Perfil Pro do Lab", + feeLabProfileDesc: "Destaca os teus servizos n'O Lab", + feeLabProfileBenefit: "Distintivo Pro e colocación destacada cando os skaters exploran O Lab", + feeFeaturedShopLabel: "Tenda destacada", + feeFeaturedShopDesc: "Destaca a túa tenda de skate no mapa e no directorio", + feeFeaturedShopBenefit: "Distintivo de verificado e marcador destacado no mapa", + feeFeaturedTourLabel: "Ruta destacada", + feeFeaturedTourDesc: "Destaca a túa ruta en SkateSpots", + feeFeaturedTourBenefit: "Distintivo Pro e colocación no alto cando os skaters exploran rutas", + duration7d: "7 días", + duration30d: "1 mes", + duration90d: "3 meses", + duration365d: "12 meses", + metaActive: "{{label}} — Activo", + daysRemainingOne: "queda {{count}} día", + daysRemainingMany: "quedan {{count}} días", + zapRequestContent: "SkateSpots {{label}} ({{tier}})", + errGenerate: "Non se puido xerar a factura", + paymentReceived: "⚡ Pagamento recibido!", + paymentReceivedDesc: "{{amount}} sats: {{label}} xa está activo.", + autoPayFailed: "Fallou o pagamento automático", + autoPayFailedDesc: "Paga manualmente co QR ou a factura de abaixo.", + payStatusUnknown: "Estado do pagamento descoñecido: pode que o pagamento se completase. Comproba a carteira antes de pagar de novo.", + invoiceCopied: "Factura copiada!", + activeBang: "{{label}} activo!", + chooseDuration: "Escolle a duración", + bestValue: "Mellor prezo", + perDay: "{{price}}/día", + validFor: "Válido por", + amountLine: "~{{usd}} $ USD · para {{name}} · {{tier}}", + payToContinue: "Paga {{amount}} sats para continuar", + generating: "Xerando a factura…", + processing: "Procesando o pagamento…", + invoiceQrAlt: "Código QR da factura Lightning", + copyInvoice: "Copiar factura", + openWallet: "Abrir carteira", + payConnected: "Pagar coa carteira conectada", + scanAny: "Escanea con calquera carteira Lightning", + tryAgain: "Tentar de novo", + proReceiptTitle: "🦧⚡ Sasquatch Pro: xa estás dentro!", + proReceiptPass: "Pase: {{pass}} ({{sats}} sats)", + proReceiptActiveUntil: "Activo ata: {{until}}", + proReceiptUnlocked: "O que desbloqueaches:", + proReceiptBullet1: "• Asistente persoal: le o teu Stash, crews, spots e anuncios", + proReceiptBullet2: "• Borradores de accións: pór material á venda, publicar o estado dun spot, planificar viaxes (ti confirmas)", + proReceiptBullet3: "• Respostas que usan o teu contexto persoal, non só datos públicos", + proReceiptBullet4: "• ⚡ Axudas directamente a SkateSpots e a mantelo gratis e sen anuncios", + proReceiptThanks: "Grazas por manter SkateSpots gratis e sen anuncios. Agora vai patinar. 🛹", + proReceiptSubject: "Recibo de Sasquatch Pro", + receiptContent: "Sasquatch Pro: pase de apoiente {{tier}} 🦧⚡", + receiptAlt: "Pase de apoiente Sasquatch Pro ({{tier}}), válido ata {{until}}", + purchaseComment: "Sasquatch Pro — {{tier}} 🦧", + errLogin: "Inicia sesión para pasar a Pro.", + errStart: "Non se puido iniciar a compra.", + errRecord: "Non se puido rexistrar o teu pase." + } +}; + +export default batch1; diff --git a/src/i18n/gl/batch2.ts b/src/i18n/gl/batch2.ts new file mode 100644 index 0000000..1d69d16 --- /dev/null +++ b/src/i18n/gl/batch2.ts @@ -0,0 +1,1491 @@ +const batch2 = { + socialUi: { + agentPanel: { + spot: "Spot", + event: "Evento", + labPro: "Lab Pro", + gear: "Equipamento", + crew: "Crew", + description: "Coñece esta crew — as súas jams, a aliñación e a convocatoria aberta — ademais da escena máis ampla con datos en directo.", + greeting: "Ei! Son Sasquatch, o guía de {{crew}}. Pregúntame pola crew — a próxima jam, quen a leva, que buscamos — ou pola escena en xeral.", + suggestion1: "Cal é a nosa próxima jam?", + suggestion2: "Quen leva esta crew?", + suggestion3: "Que estamos a buscar?", + suggestion4: "Os mellores spots preto de nós?", + suggestion5: "Que tempo fai para patinar?", + thinking: "Sasquatch está a pensar…", + placeholder: "Pregunta pola escena da túa zona…", + disclaimer: "A IA pode equivocarse — as ligazóns van a anuncios reais." + }, + badge: { + upcomingOne: "{{count}} evento próximo", + upcomingMany: "{{count}} eventos próximos", + comingOne: "{{count}} evento en camiño", + comingMany: "{{count}} eventos en camiño" + }, + bell: { + youAreIn: "Xa estás en {{crew}}! 🛹", + membershipConfirmed: "Membresía confirmada.", + couldNotConfirm: "Non se puido confirmar", + addedYouTo: "engadiute a", + confirmToAppear: "Confirma para aparecer como membro.", + notifications: "Notificacións", + notificationsNew: "Notificacións ({{count}} novas)", + unreadCount: "{{count}} notificacións sen ler", + markRead: "Marcar como lidas", + allClear: "Todo ao día", + tabAll: "Todo", + tabTrades: "Intercambios", + tabSocial: "Social", + tabNews: "Novidades", + tabCrews: "Crews", + checkingUpdates: "Buscando actualizacións…", + checkingTrades: "Comprobando ofertas e intercambios…", + loadingDrops: "Cargando as últimas novidades…", + emptyAll: "As ofertas, os intercambios, os zaps, as respostas, as novidades do boletín e a actividade das crews aparecerán aquí.", + emptyTrades: "As ofertas, as contraofertas e as confirmacións de intercambio chegan aquí — tanto se vendes, compras ou cambias.", + emptySocial: "Os zaps, as reaccións, os reposts, as mencións, as respostas, as confirmacións de asistencia a eventos e as actualizacións dos anfitrións chegan aquí.", + emptyNews: "As novidades do boletín de SkateSpots chegarán aquí. Subscríbete na páxina do boletín.", + emptyCrews: "Os convites de crews, as solicitudes de colectivo e as solicitudes de membresía aparecerán aquí.", + subscribeBanner: "Subscríbete para recibir as novas no teu aviso", + read: "Lida", + allCaughtUp: "Estás ao día" + }, + chat: { + hidden: "Agochada", + hideMessageAria: "Agochar esta mensaxe", + hideMessageTitle: "Agochar mensaxe (admin)", + messageHidden: "Mensaxe agochada", + messageHiddenDesc: "Agochada do chat da crew para todos.", + messageHideFailed: "Non se puido agochar a mensaxe", + encryptionUnavailable: "Cifrado non dispoñible", + encryptionUnavailableDesc: "O teu firmante non admite o cifrado NIP-44. Actualiza a extensión.", + messageFailed: "Mensaxe fallida", + couldNotSend: "Non se puido enviar a mensaxe.", + noOneToMessage: "Aínda non hai ninguén a quen escribir", + noOneToMessageDesc: "Esta crew non ten outros membros cos que falar.", + subject: "Chat da crew {{crew}}", + title: "Chat da crew", + cordnBadgeTitle: "Encamiñado polo coordinador Cordn desta crew mediante ContextVM. Cifrado de extremo a extremo.", + private: "Privado", + privateBadgeTitle: "Cifrado de extremo a extremo — só os membros da crew poden ler estas mensaxes.", + encryptedCordn: "Cifrado e encamiñado polo coordinador da crew (Cordn) — ningunha mensaxe pasa por relays públicos.", + encryptedNip17: "Chat de grupo cifrado para o fundador e todos os membros listados da crew.", + moderatorNote: " Como moderador, podes agochar mensaxes da crew.", + loginToSee: "Inicia sesión para ver se podes unirte ao chat da crew.", + membersOnly: "Este chat é privado para os membros da crew. Pídele ao fundador que te engada á crew para unirte á conversa.", + noMessages: "Aínda non hai mensaxes. Arranca o chat da crew — organiza unha sesión, comparte un spot, presume dun clip.", + newMessages: "Mensaxes novas", + new: "Nova", + placeholder: "Escribe á túa crew…", + sendAria: "Enviar mensaxe" + }, + collectiveJoinRequest: { + addedTitle: "Engadiches {{name}} a {{collective}} 🛹", + addedDesc: "Confirmará desde o seu lado para aparecer como membro verificado.", + couldNotAdd: "Non se puido engadir o membro", + couldNotDismiss: "Non se puido descartar", + addedDone: "Engadido", + addedTo: "a", + dismissedDone: "Solicitude de {{name}} descartada", + wantsToJoin: "quere unirse", + alreadyOnRoster: "Xa está na lista", + openCollective: "Abrir colectivo", + dismiss: "Descartar", + addToCollective: "Engadir ao colectivo" + }, + collectiveMembers: { + confirmed: "Confirmado", + pending: "Pendente", + pendingTooltip: "Listado polo colectivo — á espera da confirmación deste membro.", + crewOnly: "Só crew", + crewOnlyTooltip: "Este membro escolleu ser visible só para os compañeiros de crew. Podes velo porque estás na crew.", + hiddenMember: "Membro agochado", + title: "Membros", + verifiedOf: "{{confirmed}} de {{total}} verificados — cada membro confirmado asinou coa súa propia chave de Nostr.", + verifiedPerMember: "A membresía verifícase por membro. Cada membro confirma coa súa propia chave de Nostr.", + adminsOne: "{{count}} admin axuda a levar a crew.", + adminsMany: "{{count}} admins axudan a levar a crew." + }, + confirmMembership: { + public: "Público", + crewOnly: "Só crew", + confirmedTitle: "Membresía confirmada!", + confirmedCrew: "Estás verificado en {{name}} — visible só para os compañeiros de crew.", + confirmedPublic: "Agora apareces como membro verificado de {{name}}.", + failed: "Non se puido confirmar", + addedTo: "Engadíronte a {{name}}", + addedDesc: "Confirma a túa membresía para que apareza como verificada no teu perfil e no seu.", + yourVisibility: "A túa visibilidade", + confirming: "Confirmando…", + confirmButton: "Confirmar membresía" + }, + contacts: { + message: "Mensaxe", + removePrivate: "Quitar dos contactos privados", + savePrivate: "Gardar nos contactos privados", + seoTitle: "Contactos - SkateSpots", + seoDescription: "A túa escena — compañeiros de crew, persoas que segues e conversas recentes, con contactos privados cifrados.", + encryptionUnavailableDesc: "O teu firmante non admite o cifrado NIP-44.", + removed: "Quitado dos contactos privados", + saved: "Gardado nos contactos privados", + savedDesc: "Só ti podes ver esta lista.", + updateFailed: "Non se puideron actualizar os contactos", + loginTitle: "A túa escena, nun só lugar", + loginDesc: "Inicia sesión para ver os teus compañeiros de crew, as persoas que segues e as conversas recentes — e manter unha lista de contactos privada e cifrada.", + title: "Contactos", + subtitle: "A túa escena — compañeiros de crew, seguidores e conversas", + filterPlaceholder: "Filtrar por npub…", + tabCrew: "Crew", + tabFollows: "Seguindo", + tabDms: "MD", + tabSaved: "Gardados", + emptyCrewmates: "Aínda non hai compañeiros de crew. Únete ou crea unha crew para construír a túa rede da escena.", + emptyFollowing: "Aínda non segues a ninguén.", + emptyDms: "Aínda non hai conversas. Escribe a un skater para comezar unha.", + savedHint: "Esta lista está cifrada coa túa chave — só ti podes lela. Toca a estrela en calquera persoa para engadila.", + emptySaved: "Aínda non hai contactos gardados. Marca persoas desde calquera pestana para construír a túa axenda privada." + }, + conversation: { + unknown: "Descoñecido", + seoTitle: "Chat con {{name}} - SkateSpots", + seoDescription: "Conversa privada cifrada", + sendFailed: "Non se puido enviar a mensaxe", + sendFailedDesc: "Téntao de novo nun intre.", + tradeConfirmed: "Intercambio confirmado", + tradeConfirmedDesc: "Reputación actualizada para ambos.", + tradeConfirmFailed: "Non se puido confirmar o intercambio", + somethingWrong: "Algo saíu mal.", + soldNote: "Vendido a {{name}}.", + saleConfirmed: "Venda confirmada", + saleConfirmedDesc: "{{name}} xa pode confirmar a súa parte.", + saleConfirmFailed: "Non se puido confirmar a venda", + escrowRedeemed: "Depósito en garantía canxeado", + escrowRedeemedDesc: "Os fondos xa están na túa carteira Cashu.", + escrowRedeemFailed: "Non se puido canxear o depósito", + loginTitle: "Inicia sesión para ver as mensaxes", + secureLoginTitle: "Cómpre un inicio de sesión seguro", + secureLoginDesc: "As mensaxes requiren unha aplicación de firma segura.", + encrypted: "Cifrado", + refresh: "Actualizar", + didCompleteTrade: "Completaches este intercambio?", + recordedSale: "{{name}} rexistrou a venda. Confirma para actualizar a reputación de ambos.", + confirm: "Confirmar", + confirmSale: "Confirmar esta venda?", + askedToRecord: "{{name}} pediuche que o rexistres. Ao confirmar, mellora a reputación de ambos.", + confirmSaleButton: "Confirmar venda", + redeemEscrow: "Canxear depósito", + escrowAppOnly: "O depósito Cashu só está na app — abre SkateSpots no teu teléfono para canxealo.", + startThread: "Envia unha mensaxe para comezar a conversa", + placeholder: "Escribe unha mensaxe...", + e2eeNote: "As mensaxes están cifradas de extremo a extremo con NIP-17" + }, + coordinator: { + secondsAgo: "hai {{count}} s", + minutesAgo: "hai {{count}} min", + hoursAgo: "hai {{count}} h", + daysAgo: "hai {{count}} d", + statusIdle: "Sen comprobar", + statusChecking: "Comprobando…", + statusOnline: "Conectado", + statusStale: "Silencioso", + statusOffline: "Non visto", + statusError: "Inaccesible", + notACoordinator: "Iso non é un coordinador", + notACoordinatorDesc: "Pega un nprofile, un npub ou unha ligazón de cordn.net.", + added: "Coordinador engadido", + relayOne: "{{count}} relay", + relayMany: "{{count}} relays", + lastSeen: "visto por última vez {{time}}", + onlineDesc: "Anunciándose. Os grupos que o usan poden entregar mensaxes agora.", + staleDesc: "Atopado, pero non se anunciou recentemente — pode estar durmido.", + offlineDesc: "Non se viu ningún anuncio. Pode ser privado (non pasa nada) ou simplemente estar fóra de liña.", + errorDesc: "Non se puido acceder aos relays.", + idleDesc: "Comprobando…", + checkingDesc: "Buscando o seu anuncio…", + eventFoundOne: "{{count}} evento atopado.", + eventFoundMany: "{{count}} eventos atopados.", + check: "Comprobar", + addLinkCopied: "Ligazón para engadir copiada", + copyFailed: "Erro ao copiar", + copyManually: "Copia a ligazón manualmente.", + addLink: "Engadir ligazón", + removeConfirm: "Quitar este coordinador deste dispositivo?", + scanToJoin: "Escanea en Cordn para unirte a este coordinador.", + noCoordinator: "Aínda non hai coordinador", + noCoordinatorDescA: "Un coordinador entrega en orde as mensaxes", + encryptedWord: "cifradas", + noCoordinatorDescB: "de grupo da túa crew. Ve quen, cando e que grupo — nunca o contido. Escolle un ou monta o teu.", + change: "Cambiar coordinador", + addTitle: "Engadir un coordinador", + add: "Engadir", + scanQR: "Escanea o QR dun coordinador", + inputPlaceholder: "nprofile… ou unha ligazón de cordn.net", + runOwn: "Monta o teu", + runOwnDesc: "Pode vivir nun teléfono vello, nunha Raspberry Pi ou en calquera caixa pequena que deixes acendida. O teu grupo segue funcionando mentres estea activo — e podes mover o grupo cando queiras.", + onPhone: "Nun teléfono", + onPhoneDesc: "Usa a app Cordn Coordinator e despois escanea aquí o seu QR para engadilo.", + ourDefaultTitle: "Coordinador de SkateSpots", + ourDefaultDesc: "SkateSpots ten un coordinador en relay.skate-spots.org. Úsao por defecto ou monta o teu — un coordinador só ve texto cifrado e metadatos, nunca as túas mensaxes.", + useOurs: "Usar o coordinador de SkateSpots", + openCordn: "Abrir Cordn", + scanItsQR: "Escanea o seu QR", + onServer: "Nun servidor", + commandCopied: "Comando copiado", + copyCommand: "Copiar comando", + androidSleep: "Android pode suspender un coordinador nun teléfono. Conta con mover o grupo de cando en vez.", + privacyNote: "🔒 Un coordinador só ve texto cifrado e metadatos — nunca o contido das mensaxes. Monta o teu para que ata os metadatos sexan teus.", + customTitle: "Coordinador de chat personalizado", + customBadge: "· experimental · o teu propio relay", + customDescShort: "Opcional — a túa crew xa ten chat cifrado de extremo a extremo integrado, así que non o necesitas. Só o configuras se montas o teu propio", + remove: "Quitar", + pointerNote: "Só un ponteiro por agora: un endpoint wss:// úsase como relay de chat da crew; un https:// a través do relay ContextVM compartido. O MLS real de Cordn aínda non está conectado.", + cordnCoordinator: "Coordinador Cordn", + invalid: "Iso non parece un coordinador. Pega un nprofile, unha ligazón de cordn.net ou unha URL https/wss.", + useMine: "Usar o meu coordinador" + }, + createCrew: { + seoTitle: "Crear unha crew - SkateSpots", + seoDescription: "Crea a túa crew de skate — zona de casa, membros e spots.", + loginRequired: "Cómpre iniciar sesión", + loginRequiredDesc: "Tes que iniciar sesión para crear unha crew.", + backToCrews: "Volver ás crews", + title: "Crear unha crew", + intro: "A túa familia do skate — a xente coa que patinas. Abonda cun nome para comezar; todo o demais é opcional." + }, + crew: { + seoTitleNamed: "{{name}} - Crew de SkateSpots", + seoTitle: "Crew - SkateSpots", + seoDescription: "Unha crew de skate en SkateSpots.", + postHidden: "Publicación agochada", + postHiddenDesc: "Retirada do feed da crew para todos.", + postHideFailed: "Non se puido agochar a publicación", + backToCrews: "Volver ás crews", + disband: "Disolver", + youAreCaptain: "Es capitán", + member: "Membro", + askSasquatch: "Pregunta a Sasquatch", + agent: "Axente da crew", + agentDesc: "O guía de IA da túa crew — spots próximos, eventos, adestradores e equipamento, con datos en directo.", + eventsTab: "Eventos", + chatTab: "Chat", + newMessages: "Mensaxes novas", + hostJam: "Organizar unha jam", + noEvents: "Aínda non hai eventos da crew. Organiza unha jam, unha competición ou un encontro como crew — conecta a túa crew co calendario de eventos e permítelle á xente facer zap.", + support: "Apoiar", + zapCrew: "Facer zap á crew", + bandTitle: "Banda da crew", + bandTagline: "Música en directo · skate e son", + listenTitle: "Escoitar: {{domain}}", + listen: "Escoita os temas", + setUpGig: "Organizar un concerto", + bookGigMessage: "Ola {{crew}} — interésanos contratar a {{band}} para un concerto. Podemos falar de datas?", + messageAboutGig: "Escribir sobre un concerto", + gigHintA: "engade un evento musical ao calendario organizado por esta crew.", + messageShort: "Mensaxe", + gigHintB: "abre un MD cifrado á crew para acordar datas e detalles.", + homeSpots: "Spots de casa", + viewSpot: "Ver spot", + seeOnMap: "Ver no mapa →", + founderLinks: "Fundador e ligazóns", + startedBy: "Iniciada por {{name}}", + opens: "Abre: {{domain}}" + }, + crews: { + seoTitle: "Crews - SkateSpots", + seoDescription: "Atopa a túa xente. Descubre crews de skate, colectivos e comunidades locais preto de ti.", + videoPartTooltip: "Esta crew ten unha video part", + part: "Part", + bandTooltip: "Banda da crew: {{name}}", + band: "Banda", + focusAll: "Todo", + focusAllShort: "Todo", + focusDiy: "DIY", + focusPhoto: "Foto", + focusCoaching: "Adestramento", + focusArt: "Arte", + focusMusic: "Música", + focusPhysio: "Fisio", + focusMixed: "Mixto", + title: "Crews", + heroLine: "A túa familia do skate ancorada no mapa — a xente coa que patinas", + heroWith: "con", + heroRest: ", non a que contratas (iso é The Lab).", + crewCountOne: "{{count}} crew", + crewCountMany: "{{count}} crews", + cityCountOne: "{{count}} cidade", + cityCountMany: "{{count}} cidades", + createCrew: "Crear crew", + create: "Crear", + searchPlaceholder: "Buscar crews por nome ou cidade…", + filterTitle: "Filtrar crews", + filterDesc: "Que lle interesa á crew.", + nearMe: "Preto de min", + emptySearchTitle: "Ningunha crew coincide coa túa busca", + emptySearchHint: "Non se atopou nada para “{{query}}”. Proba con outro nome ou cidade.", + clearSearch: "Limpar busca", + emptyFocusTitle: "Aínda non hai crews de {{label}}", + emptyFocusHint: "Aquí ninguén leva aínda a bandeira de “{{label}}”. Mostra todas as crews ou comeza ti esta.", + showAll: "Mostrar todas as crews", + claimTitle: "Reclama a túa escena local", + claimHint: "Aínda non hai crews aquí. Sé o primeiro — crea a túa crew, liga os teus spots de casa e pon a túa escena no mapa para que todos a atopen." + }, + crewCoordinator: { + privateChat: "Chat privado da crew", + encryptedChat: "Chat cifrado", + privateChatName: "Chat privado", + privateChatDesc: "Chat de grupo con segredo cara ao futuro (MLS) a través dun coordinador.", + privateChatDescFull: "O chat privado créao unha soa vez un admin; despois os membros únense.", + chatRowDesc: "Todos na crew — selado coa chave de cada membro (NIP-17).", + openChat: "Abrir", + setUpChat: "Configurar", + joinChat: "Unirse", + checking: "Comprobando…", + openInAnotherApp: "Abrir noutra app", + on: "Activado", + defaultA: "A pestana", + chatWord: "Chat", + defaultB: "está", + e2ee: "cifrada de extremo a extremo", + defaultC: "para o fundador e todos os membros listados — non hai nada que configurar. As mensaxes séllanse coa chave de cada membro (NIP-17), así que só a túa crew pode lelas.", + advancedA: "Avanzado: monta o teu", + cordnCoordinator: "Coordinador Cordn", + routeThrough: "Encamiñar o chat por el", + coordinator: "Coordinador", + deliveredOver: "Entregado por", + sharedRelay: "— o relay ContextVM compartido.", + ownRelay: "— o relay propio da túa crew.", + chatLive: "O chat privado está activo", + routesA: "A pestana", + routesB: "encamiña por este coordinador: as mensaxes van cifradas de extremo a extremo (NIP-44, seladas para cada membro), así que só xestiona tráfico selado.", + publicWarning: "Atención: diríxese a través do relay ContextVM compartido, así que o texto cifrado e os seus metadatos (que crew e cando) son visibles publicamente — pero non lexibles. Apunta a crew a un relay wss:// privado para que ata iso sexa privado.", + ownRelaySafe: "Nada específico da crew sae do relay propio da túa crew.", + manage: "Xestionar coordinador", + open: "Abrir {{domain}}", + openInCordnWeb: "Cordn (web)", + openCordnGroup: "Abrir chat da crew", + copyForStaircase: "Copiar para Staircase", + runBy: "Coordinador xestionado por" + }, + dms: { + securityReminder: "Lembrete de seguridade", + phishingStrong: "SkateSpots nunca che enviará un MD", + phishingRest: "pedindo que verifiques a túa conta, compartas as túas chaves ou envies pagamentos. Se alguén di ser o soporte de SkateSpots por MD — é unha estafa.", + dismissReminder: "Descartar o lembrete de seguridade", + peopleCount: "{{count}} persoas", + youPrefix: "Ti: ", + unreadMessages: "Mensaxes sen ler", + seoTitle: "Mensaxes - SkateSpots", + seoDescription: "Mensaxes privadas cifradas coa comunidade do skate", + loginTitle: "Inicia sesión para acceder ás mensaxes", + loginDesc: "Mensaxería privada e cifrada con skaters da comunidade", + secureLoginTitle: "Cómpre un inicio de sesión seguro", + secureLoginDesc: "As mensaxes privadas requiren unha app de firma segura para cifrar as túas conversas.", + onAndroid: "En Android:", + useAmber: "Usa a app Amber", + getAmber: "Obter Amber →", + onIOS: "En iOS:", + iosHint: "Proba a iniciar sesión cunha conexión bunker (nsec.app) desde Axustes", + browserHint: "Proba a iniciar sesión cunha extensión do navegador como Alby ou nos2x que admita cifrado.", + title: "Mensaxes", + subtitleFull: "Cifradas de extremo a extremo con NIP-17", + subtitleShort: "Cifradas", + newMessage: "Nova mensaxe", + groups: "Grupos", + refresh: "Actualizar", + crews: "Crews", + crewFounder: "Fundador", + crewMember: "Membro", + crewOpen: "Abrir", + crewSetUp: "Configurar", + loadFailed: "Non se puideron cargar as mensaxes", + emptyTitle: "Aínda non hai mensaxes", + emptyDesc: "Comeza unha conversa con alguén da comunidade", + startConversation: "Comezar unha conversa", + undecryptableOne: "O teu firmante non puido abrir {{count}} mensaxe cifrada.", + undecryptableMany: "O teu firmante non puido abrir {{count}} mensaxes cifradas." + }, + editCrew: { + seoTitleNamed: "Editar {{name}} - SkateSpots", + seoTitle: "Editar crew - SkateSpots", + seoDescription: "Edita a túa crew de skate.", + loginRequired: "Cómpre iniciar sesión", + notYours: "Non é a túa crew", + notYoursDesc: "Só o fundador da crew pode editala.", + backToCrew: "Volver á crew", + title: "Editar crew" + }, + form: { + add: "Engadir", + added: "Engadido", + addNameInBasicsA: "Engade de novo un nome de crew en", + addNameInBasicsB: "para rematar.", + adminsDescA: "Fai membros de confianza", + adminsWord: "admins", + adminsDescB: "— poden convidar membros e moderar o feed e o chat da crew coas súas propias chaves. Ti (o fundador) sempre es o dono da identidade da crew.", + agentDescA: "Engade", + agentDescB: ", un guía de IA que coñece de verdade a túa crew. Os membros poden preguntar por", + agentDescC: "— ademais de spots, eventos, adestradores e equipamento próximos cos datos en directo de SkateSpots. Execútase no navegador; sen chaves nin configuración. É pronto (IA de nivel gratuíto, así que ás veces vai lenta).", + agentDescStrong: "a vosa próxima jam, quen leva a crew, que buscades e o voso estilo", + agentEnabledNote: "Sasquatch aparecerá na páxina da túa crew cando gardes.", + bandDesc: "Tes unha banda? As escenas do skate e a música local van da man — pon o nome da túa banda e unha ligazón aos temas.", + bandFooterA: "Para un perfil completo de banda (xéneros, instrumentos, concertos), crea un", + musicianWord: "Músico", + bandFooterB: "en The Lab e despois ligao na sección", + linkedLabWord: "Perfís de Lab ligados", + bandFooterC: "de arriba.", + bandMusicWord: "Banda e música", + bandName: "Nome da banda", + bandNamePlaceholder: "p. ex. The Bail Outs", + bandNudgeA: "Tes unha banda — toca para configurar a túa", + crewTypeWord: "Tipo de crew", + bandNudgeB: "a", + bandNudgeC: "para aparecer tamén na escena de Música de The Lab.", + beta: "Beta", + bioLabel: "Sobre / Manifesto", + bioPlaceholder: "Quen es, que patinas, a túa historia...", + continue: "Continuar", + crewCreated: "Crew creada!", + crewUpdated: "Crew actualizada!", + crewName: "Nome da crew", + cordnGroup: "Grupo de Cordn", + cordnGroupHint: "Opcional: pega a ligazón do grupo desde Staircase ou Cordn web. A túa crew terá entón chat MLS real de extremo a extremo, aloxado no noso coordinador.", + crewOnlyWord: "Só crew", + crewType: "Tipo de crew", + crewTypeDescA: "A túa crew céntrase nalgún oficio? Escolle un para aparecer tamén nesa escena en", + theLab: "The Lab", + crewTypeDescB: ". As crews de skate normais quedan como", + mixedWord: "Mixtas", + crewTypeDescC: ".", + customVibeHint: "Engade o teu propio estilo ou foco cun #", + customVibePlaceholder: "p. ex. downhill, sesións nocturnas, no-comply", + editDesc: "A identidade da túa crew, a zona de casa e os membros", + enableAgent: "Activar o axente da crew", + enableTreasury: "Activar a tesourería da crew", + failed: "Fallou", + founded: "Fundada (ano)", + geolocationUnsupported: "Xeolocalización non compatible", + gettingLocation: "Obtendo...", + goalHint: "Asegúrate de que o teu perfil de Nostr ten unha dirección Lightning (lud16) para que cheguen as contribucións.", + goalPlaceholder: "p. ex. Formigonar o spot DIY", + goalTarget: "Obxectivo (sats)", + goalWhat: "Cal é o obxectivo?", + homeSpots: "Spots de casa", + homeSpotsDesc: "Liga os spots que frecuenta a túa crew — conectarán coa túa crew no mapa", + homeTurf: "Zona de casa (cidade / área)", + homeTurfPlaceholder: "Bristol, Reino Unido", + instagramDetected: "Clip de Instagram detectado", + invalidMember: "Introduce un npub, nprofile ou pubkey hex válido.", + latitude: "Latitude", + leaveBlankLocation: "Deixa en branco para manter a localización actual da zona de casa.", + links: "Ligazóns", + locationError: "Erro de localización", + locationFound: "Localización atopada", + logoAlt: "Crew", + logoHint: "Un logotipo fai que a túa crew se recoñeza ao instante no mapa e nos feeds. O cadrado funciona mellor.", + logoLabel: "Logotipo / foto da crew", + logoUploaded: "Logotipo subido", + longitude: "Lonxitude", + looksGood: "Vese ben", + makeAdmin: "Facer admin", + mapPin: "Alfinete no mapa", + mapPinHint: "Pon a túa crew no mapa para que a xente de alí te atope. Toca o botón — sen escribir nada.", + memberAlreadyAdded: "Ese membro xa está engadido.", + members: "Membros", + membersDesc: "Engade as contas de Nostr da túa crew. Cada membro confirma coa súa propia chave — ata entón aparecen como “pendentes”.", + musicLink: "Ligazón á música", + nameCrew: "Ponlle nome á túa crew", + nameCrewDesc: "Unha crew precisa un nome antes de continuar.", + nameCrewFirst: "Ponlle nome á túa crew primeiro", + nameHint: "O único que realmente necesitas. Podes cambialo despois.", + namePlaceholder: "p. ex. Backyard Bandits", + nameRequired: "Nome obrigatorio", + nameRequiredDesc: "Dálle un nome á túa crew.", + nip05DescA: "Un identificador verificable que controlas en calquera dominio, p. ex.", + nip05DescB: ". Verifícase contra a chave do fundador desta crew e podes engadir varios — cada un mostra unha marca verde cando o seu dominio o confirma.", + nip05Label: "NIP-05 da crew", + nip05Placeholder: "crew@yourdomain.com", + nip05Add: "Engadir", + nip05Invalid: "Introduce un identificador como crew@yourdomain.com", + nip05TooMany: "Podes engadir ata {{count}} identificadores.", + nip05Unverified: "Sen comprobar", + nip05Remove: "Quitar {{handle}}", + notAKeyA: "Iso aínda non parece unha chave de Nostr — pega un", + notAKeyB: ",", + notAKeyC: "ou pubkey hex.", + onlyYouTubeInstagram: "Só se admiten ligazóns de YouTube e Instagram.", + openCall: "Convocatoria aberta", + openCallDescA: "Buscas un filmer, editor ou sangue novo? Fai unha convocatoria — móstrase na páxina da túa crew para que xente compatible de", + openCallDescB: "poida contactar.", + optional: "· opcional", + optionalParen: "(opcional)", + otherSocials: "Outras redes", + otherSocialsDesc: "Engade todas as que queiras — YouTube, TikTok, Discord, Telegram, etc.", + ownVisibility: "a súa propia visibilidade", + progress: "Progreso", + publicWord: "Público", + publishedToScene: "Publicado na escena.", + publishFailed: "Non se puido publicar", + publishing: "Publicando...", + ready: "Listo", + readyToRollA: "Todo listo — toca", + readyToRollB: "cando queiras.", + removeAdminRole: "Quitar o rol de admin", + removeMember: "Quitar membro", + removeSocial: "Quitar ligazón social", + removeVibe: "Quitar {{vibe}}", + roles: "Roles:", + sasquatch: "Sasquatch", + saveCrew: "Gardar crew", + skipToEnd: "Ir ao final", + socialPlaceholder: "@usuario ou ligazón", + sponsorDesc: "Se unha tenda local apoia a túa crew, escóllea aquí para mostrar unha faixa de “Patrocinado por” que liga á súa tenda.", + stepAria: "Paso {{step}}: {{title}}", + stepBasics: "O básico", + stepBasicsShort: "Básico", + stepBasicsHint: "Só o esencial — podes crear unha crew con este paso.", + stepVibe: "Identidade e estilo", + stepVibeShort: "Estilo", + stepVibeHint: "Como aparece a túa crew pola app. Todo opcional.", + stepSquad: "Equipo e spots", + stepSquadShort: "Equipo", + stepSquadHint: "Engade a túa xente e a túa zona de casa. Sempre podes facelo despois.", + stepExtras: "Extras", + stepExtrasShort: "Extras", + stepExtrasHint: "Extras para despois — salta o que non teñas claro.", + extrasAllOptional: "Todo neste paso é opcional.", + groupIdentity: "Identidade", + groupIdentityHint: "Identificador, ligazóns", + groupAi: "Sasquatch AI", + groupShowcase: "Vitrina", + groupPayments: "Pagamentos e tesourería", + groupIntegrations: "Integracións", + groupAdvanced: "Avanzado", + groupAdvancedHint: "experimental", + pro: "Pro", + agentProNote: "Con tecnoloxía de Sasquatch. Pro usa os mellores modelos; sen Pro usa un de reserva gratuíto.", + stepOf: "Paso {{step}} de {{total}}", + treasuryDescA: "Reúne sats para un obxectivo común — arranxar o spot DIY local, unha viaxe da crew, un bote para premios dunha competición. É un obxectivo Lightning transparente; os zaps van", + treasuryDescStrong: "directos á túa carteira", + treasuryDescB: "(a través da dirección Lightning do teu perfil). SkateSpots nunca retén os fondos.", + upload: "Subir", + uploadFailed: "Erro ao subir", + useCurrentLocation: "Usar a localización actual", + vibeLabel: "Estilo / foco", + videoDescA: "A part completa da túa crew, unha montaxe ou o último clip. Pega unha ligazón de", + videoDescB: "— reproducirase na mesma páxina da túa crew.", + visibilityDescA: "Cada membro controla a súa", + visibilityDescB: "— cando confirman coa súa chave poden escoller", + visibilityDescC: "(agochados para os de fóra). Non o podes definir por eles; é decisión súa.", + website: "Web", + yourRoles: "Os teus roles (xefe de equipo)", + youtubeDetected: "Vídeo de YouTube detectado", + invalidUrl: "Introduce unha ligazón válida (p. ex. https://example.com)." + }, + groupConversation: { + seoTitle: "Chat de grupo - SkateSpots", + invalidLink: "Esta ligazón de chat de grupo non é válida.", + loginTitle: "Inicia sesión para ver este grupo", + secureSignerTitle: "Cómpre un firmante seguro", + secureSignerDesc: "As mensaxes de grupo necesitan un firmante compatible con NIP-44.", + encryptedGroup: "Grupo cifrado de extremo a extremo", + empty: "Aínda non hai mensaxes — saúda ao grupo.", + placeholder: "Escribe ao grupo..." + }, + hero: { + established: "Est. {{year}}", + teamLeader: "Xefe de equipo: {{name}}", + ledBy: "Liderada por" + }, + inviteCard: { + acceptedTitle: "Convite aceptado 🛹", + acceptedDesc: "O fundador da crew confirma os membros en {{crew}}. Aparecerás na lista cando te aprobe.", + couldNotAccept: "Non se puido aceptar", + couldNotDecline: "Non se puido rexeitar", + acceptedDone: "Aceptado —", + confirmsMembers: "confirma os membros", + declinedDone: "Rexeitaches o convite a {{crew}}", + invitedYou: "convidoute a unirte", + admin: "Admin", + accept: "Aceptar", + decline: "Rexeitar" + }, + inviteDialog: { + messageIntro: "Ola — únete á crew {{crew}} en SkateSpots 🛹", + messageBody: "Inicia sesión coa túa chave de Nostr e despois solicita unirte desde a páxina da crew.", + copyFailed: "Erro ao copiar", + shareTitle: "Únete a {{crew}}", + sentTitle: "Convite enviado! 🛹", + sentDesc: "Recibirá unha notificación para aceptar ou rexeitar.", + couldNotSend: "Non se puido enviar o convite", + trigger: "Convidar", + title: "Convidar a {{crew}}", + description: "Envia un convite á chave de Nostr de alguén ou comparte unha ligazón.", + sendTab: "Enviar convite", + shareTab: "Compartir ligazón", + npubLabel: "npub do skater", + invalidNpub: "Iso non parece un npub válido.", + noteLabel: "Nota", + optional: "(opcional)", + notePlaceholder: "Vén patinar connosco…", + inviteAsAdmin: "Convidar como admin", + inviteAsAdminDesc: "Pode xestionar a crew e convidar a outros.", + sendButton: "Enviar convite", + sendFooter: "Recibirá unha notificación para aceptar ou rexeitar. A membresía só conta cando acepte.", + inviteLink: "Ligazón de convite", + messageLabel: "Mensaxe", + copyMessage: "Copiar mensaxe", + founderHint: "Como fundador tamén podes engadir directamente a chave dun membro; despois el confirma.", + addMemberSettings: "Engadir membro nos axustes da crew" + }, + joinRequest: { + moreCount: "+{{count}} máis", + addedTitle: "Engadiches {{name}} a {{crew}} 🛹", + addedDesc: "Confirmará desde o seu lado para aparecer como membro.", + vouchedTitle: "Avalaches a {{name}} 🤝", + vouchedDesc: "O fundador de {{crew}} verá o teu aval e poderá engadilo.", + couldNotEndorse: "Non se puido avalar", + endorsedDoneA: "Avalaches a", + endorsedDoneB: "— o fundador confirmará", + vouchedBy: "Avalado por", + approveAndAdd: "Aprobar e engadir", + addToCrew: "Engadir á crew", + vouchedWaiting: "Avalado — agardando polo fundador", + vouchForThem: "Dálle o teu aval", + leadershipOnly: "Só para a dirección da crew.", + adminHelp: "Os admins non poden engadir membros directamente — ao avalar, o fundador sabe que apoias a este rider." + }, + leadership: { + teamLeader: "Xefe de equipo", + captain: "Capitán", + verifiedMember: "Membro verificado", + messageName: "Escribe a {{name}}", + title: "Dirección", + captainsOne: "{{count}} capitán", + captainsMany: "{{count}} capitáns", + footer: "O xefe de equipo leva a lista; os capitáns axudan a convidar, organizar jams e manter a crew en orde." + }, + linkField: { + title: "Crew ligada", + description: "Tamén levas unha crew? Lígaa para que a xente poida saltar entre o teu estudio e a túa crew. Opcional. Liga esta crew de volta ao perfil desde o editor da crew e aparecerá un", + descriptionRest: "distintivo verde en ambos.", + none: "Aínda non tes ningunha crew. Crea unha na páxina de crews para ligala aquí.", + linkedCrew: "Crew ligada ({{id}})" + }, + lookingFor: { + title: "Convocatoria aberta", + subtitle: "Esta crew busca:" + }, + memberVisibility: { + updatedTitle: "Visibilidade actualizada", + updatedCrew: "Agora só apareces ante os compañeiros de crew.", + updatedPublic: "Agora apareces publicamente nesta crew.", + couldNotUpdate: "Non se puido actualizar", + title: "A túa visibilidade nesta crew", + save: "Gardar visibilidade" + }, + newMessage: { + inCrew: "Na túa crew: {{crews}}", + crewmate: "Compañeiro de crew", + following: "Seguindo", + invalidKey: "Iso non parece un npub ou unha chave pública válida.", + description: "Busca a túa xente polo nome ou pega un npub para escribir a calquera. Selecciona dous ou máis para crear un grupo.", + searchPlaceholder: "Busca un nome ou pega npub1...", + messageThisKey: "Escribir a esta chave", + loadingPeople: "Cargando a túa xente...", + noPeople: "Aínda non hai compañeiros de crew nin seguidores.", + noPeopleHint: "Pega o npub de alguén arriba para comezar unha conversa.", + yourCrews: "As túas crews", + selected: "{{count}} seleccionados", + startGroup: "Crear grupo ({{count}})", + message: "Mensaxe" + }, + nip05: { + mismatch: "Este dominio apunta o identificador a unha chave de Nostr distinta da do fundador da crew. Non verificado.", + verified: "Verificado — o dominio confirma que este identificador pertence á chave do fundador da crew." + }, + requestCollective: { + sentTitle: "Solicitude enviada 🤝", + sentDesc: "{{name}} veráa nas súas notificacións e poderá engadirte.", + couldNotSend: "Non se puido enviar a solicitude", + title: "Únete a este colectivo", + waiting: "Solicitude enviada — agardando por {{name}}.", + askA: "Pídeslle á crew detrás de", + askB: "que te engada á lista. Recibirá unha notificación e poderá engadirte cun toque.", + placeholder: "Opcional: di por que encaixarías…", + sendButton: "Enviar solicitude" + }, + requestToJoin: { + sentTitle: "Solicitude enviada! 🛹", + sentDesc: "A dirección de {{crew}} veráa nas súas notificacións.", + couldNotSend: "Non se puido enviar a solicitude", + trigger: "Solicitar unirte", + title: "Únete a {{crew}}", + description: "Notifica ao fundador e aos admins da crew para que poidan engadirte.", + placeholder: "Saúda — onde patinas, a quen coñeces, por que queres entrar…", + sending: "Enviando…", + sendButton: "Enviar solicitude de unión" + }, + sponsorBanner: { + loading: "Cargando patrocinador…", + sponsoredBy: "Patrocinado por" + }, + sponsorPicker: { + selected: "Patrocinador seleccionado", + setLoading: "Patrocinador definido (cargando a tenda…)", + set: "Patrocinador definido", + clearAria: "Borrar patrocinador", + searchPlaceholder: "Buscar tendas de skate por nome ou cidade…", + loading: "Cargando tendas…", + noMatch: "Ningunha tenda coincide — proba outra busca.", + none: "Aínda non se atoparon tendas." + }, + treasury: { + title: "Tesourería da crew", + ofGoal: "de {{target}} de obxectivo", + goalReached: "Obxectivo acadado!", + funded: "{{percent}}% financiado", + contributionOne: "{{count}} contribución", + contributionMany: "{{count}} contribucións", + daysLeft: "{{days}} d restantes", + closed: "pechada", + nonCustodial: "Non custodial · os zaps van directos á carteira Lightning da crew" + }, + userStatus: { + atSpot: "📍 Nun spot", + autoClears: "⏱️ Bórrase automaticamente en {{min}} min" + }, + video: { + title: "A part", + fullVideo: "Vídeo completo · montaxe", + latestClip: "Último clip", + watch: "Ver", + iframeTitle: "{{crew}} — vídeo", + playAria: "Reproducir o vídeo de {{crew}}", + thumbAlt: "Miniatura do vídeo de {{crew}}", + instagramTitle: "Clip de Instagram" + }, + vouch: { + removedTitle: "Aval retirado", + vouchedTitle: "Avalado!", + removedDesc: "Xa non avalas a {{name}}.", + vouchedDesc: "Avalaches a {{name}}. A escena confía nos seus.", + couldNotVouch: "Non se puido avalar", + title: "Avals da escena", + sceneVerified: "Verificado pola escena", + vouched: "Avalado", + newUnvouched: "Novo · sen aval", + checking: "Comprobando a escena…", + empty: "Aínda non hai avais. Os avais de skaters dos teus círculos son o mellor sinal de que alguén é de verdade — non un descoñecido que apareceu por aí.", + countOne: "{{count}} aval", + countMany: "{{count}} avais", + trusted: "{{count}} de skaters da túa rede de confianza", + remove: "Retirar aval", + vouchFor: "Avalar a {{name}}", + ownerNote: "Os skaters que coñecen o teu traballo poden avalarte aquí." + } + }, + labelsUi: { + spotCategory: { + street: { + label: "Rúa", + description: "Spots achados ao azar, terreo urbano" + }, + transition: { + label: "Transición", + description: "Superficies curvas ou con ramplas" + }, + park: { + label: "Parque", + description: "Skateparks construídos" + }, + plaza: { + label: "Praza", + description: "Prazas urbanas (como MACBA, Love Park)" + } + }, + spotFeature: { + wallrides: "Wallrides", + stairs: "Escaleiras e pasamáns", + rails: "Rails", + ledges: "Ledges e bordos", + gaps: "Gaps", + flatground: "Chan plano", + "manual-pads": "Rampas de manual", + "half-pipes": "Half pipes", + "quarter-pipes": "Quarter pipes", + "mini-ramps": "Mini rampas", + bowls: "Bowls", + vert: "Rampas vert", + "mega-ramps": "Megarrampas", + hubbas: "Hubbas", + "euro-gaps": "Euro gaps", + banks: "Bancos", + "spine-ramps": "Rampas spine", + "roll-ins": "Roll-ins", + hips: "Hips", + volcano: "Volcán", + pyramids: "Pirámides / funboxes", + "snake-runs": "Snake runs", + "pump-track": "Pump track rollers", + "flat-bars": "Barras planas" + }, + spotType: { + street: "Rúa", + transition: "Transición", + park: "Parque", + plaza: "Praza", + wallrides: "Wallrides", + stairs: "Escaleiras e pasamáns", + rails: "Rails", + ledges: "Ledges e bordos", + gaps: "Gaps", + flatground: "Chan plano", + "manual-pads": "Rampas de manual", + "half-pipes": "Half pipes", + "quarter-pipes": "Quarter pipes", + "mini-ramps": "Mini rampas", + bowls: "Bowls", + vert: "Rampas vert", + "mega-ramps": "Megarrampas", + hubbas: "Hubbas", + "euro-gaps": "Euro gaps", + banks: "Bancos", + "spine-ramps": "Rampas spine", + "roll-ins": "Roll-ins", + hips: "Hips", + volcano: "Volcán", + pyramids: "Pirámides / funboxes", + "snake-runs": "Snake runs", + "pump-track": "Pump track rollers", + "flat-bars": "Barras planas", + diy: "DIY", + rail: "Rail", + ledge: "Ledge", + gap: "Gap", + bowl: "Bowl", + stall: "Stall", + slappy: "Slappy" + }, + access: { + public: { + label: "Público - Aberto a todos" + }, + private: { + label: "Propiedade privada - Cómpre permiso" + }, + locals: { + label: "Pregunta primeiro á xente de alí" + } + }, + shelter: { + outdoor: { + label: "Ao aire libre", + short: "Exterior", + description: "Totalmente exposto — a choiva para a sesión" + }, + partial: { + label: "Parcialmente cuberto", + short: "Parcial", + description: "Algúns obstáculos quedan secos" + }, + covered: { + label: "Cuberto / con teito", + short: "Cuberto", + description: "Ao aire libre pero baixo teito" + }, + indoor: { + label: "Interior", + short: "Interior", + description: "Totalmente pechado — patina chova ou faga sol" + } + }, + eventType: { + contest: "Competición", + demo: "Demo", + session: "Sesión", + workshop: "Obradoiro", + premiere: "Estrea", + tradeshow: "Feira comercial", + gameskate: "Xogo de Skate", + concert: "🎸 Concerto", + jam: "🎵 Jam", + festival: "🎪 Festival", + popup: "🎯 Pop-up" + }, + gearCategory: { + deck: "Táboa", + trucks: "Eixes", + wheels: "Rodas", + bearings: "Rodamentos", + shoes: "Zapatillas de skate", + clothing: "Roupa", + protective: "Protección", + stickers: "Pegatinas", + wax: "Cera", + tools: "Ferramentas", + griptape: "Lixa", + rubbrick: "Rub brick" + }, + gearCondition: { + new: { + label: "Novo", + description: "Nunca usado, aínda na caixa" + }, + like_new: { + label: "Como novo", + description: "Apenas usado, en excelente estado" + }, + good: { + label: "Bo", + description: "Desgaste normal, funciona perfectamente" + }, + well_used: { + label: "Moi usado", + description: "Amosa desgaste pero segue funcionando" + } + }, + priceType: { + fixed: { + label: "Prezo fixo", + description: "Prezo establecido en USD ou sats" + }, + free: { + label: "De balde", + description: "Regalando" + }, + trade: { + label: "Intercambio", + description: "Busca cambiar" + }, + offer: { + label: "Fai unha oferta", + description: "Prezo negociable" + } + }, + listingType: { + selling: { + label: "Venda", + description: "Anuncio de equipamento á venda" + }, + wtb: { + label: "Busco", + description: "Busca equipamento concreto" + } + }, + tour: { + spotType: { + street: "Rúa", + park: "Parque", + diy: "DIY", + transition: "Transición", + hidden: "Xoias agochadas" + }, + category: { + local: { + label: "Tour local", + description: "Amosa spots agochados na túa cidade" + }, + national: { + label: "Tour nacional", + description: "Viaxes por varias cidades do país" + }, + international: { + label: "Tour internacional", + description: "Aventuras transfronteirizas por varios países" + }, + destruction: { + label: "World Destruction", + description: "Competición global por equipos estilo KOTR" + } + } + }, + crew: { + vibe: { + street: "Rúa", + transition: "Transición / Vert", + park: "Parque", + diy: "DIY", + cruising: "Paseo / Gravación", + oldschool: "Old school", + allterrain: "Todo terreo", + girls: "Rapaza / Muller", + youth: "Xuventude / Groms", + adaptive: "Adaptado", + punk: "Punk", + hiphop: "Rap / Hip-hop" + }, + focus: { + mixed: "Mixto / xeral", + builder: "DIY e construtores", + photo: "Foto e vídeo", + coaching: "Adestramento", + art: "Arte e deseño", + music: "Banda e música", + wellness: "Adestramento e fisio" + }, + focusDescription: { + mixed: "Unha crew de skate normal — só aparece na páxina de crews.", + builder: "Unha crew de DIY / construción de parques — tamén aparece en The Lab en Construtores.", + photo: "Unha crew de gravación, fotografía ou edición — tamén aparece en The Lab en Foto e vídeo.", + coaching: "Unha crew de adestramento / clases — tamén aparece en The Lab en Adestramento.", + art: "Un colectivo de arte, deseño, graffiti ou tatuaxe — tamén aparece en The Lab en Arte e deseño.", + music: "Unha banda ou colectivo musical — tamén aparece en The Lab en Música.", + wellness: "Unha crew de adestramento, fitness ou fisio — tamén aparece en The Lab en Adestramento." + }, + lookingFor: { + filmer: "Filmer", + photographer: "Fotógrafo", + editor: "Editor de vídeo", + coach: "Adestrador", + builder: "Construtor de ramplas", + artist: "Artista / deseñador", + musician: "Músico / banda", + members: "Novos membros" + }, + role: { + filmer: "Filmer", + photographer: "Fotógrafo", + editor: "Editor", + coach: "Adestrador", + builder: "Construtor", + artist: "Artista", + graffiti: "Graffiti", + tattoo: "Tatuaxe", + trainer: "Preparador", + musician: "Músico", + judge: "Xuíz", + manager: "Xestor de equipo", + og: "OG" + } + }, + memberVisibility: { + public: { + label: "Público", + description: "Calquera pode verte nesta crew — na páxina pública da crew e no descubrimento de compañeiros." + }, + crew: { + label: "Só crew", + description: "Só os compañeiros confirmados e o fundador te ven aquí. Para todos os demais apareces como un “membro agochado” anónimo. Nota: isto é privacidade a nivel de app — a túa etiqueta de membresía segue a existir publicamente nos relays, só que nunca se mostra aos de fóra." + } + }, + tagCategory: { + features: { + name: "Características", + description: "Obstáculos e terreo" + }, + surfaces: { + name: "Superficies", + description: "Materiais e texturas" + }, + sizes: { + name: "Tamaños", + description: "Dimensións e escala" + }, + stairs: { + name: "Número de escaleiras", + description: "Cantidade de escaleiras" + }, + vibes: { + name: "Ambiente", + description: "Atmósfera e estado" + }, + location: { + name: "Localización", + description: "Contexto da localización" + }, + tricks: { + name: "Trucos", + description: "Bos para trucos concretos" + } + }, + spotTagCategory: { + street: { + label: "Rúa", + description: "Spots de rúa - escaleiras, rails, ledges" + }, + park: { + label: "Parque", + description: "Skateparks - públicos ou privados" + }, + diy: { + label: "DIY", + description: "Spots DIY / feitos á man" + }, + plaza: { + label: "Praza", + description: "Prazas públicas con arquitectura amigable para patinar" + } + }, + status: { + active: { + label: "Activo", + description: "Todo ben — pata nel." + }, + bust: { + label: "Bust", + description: "Alto risco de botar fóra — seguridade ou policía." + }, + skate_stopped: { + label: "Skate-stopped", + description: "Con tacos ou tapado, pero parcialmente patinable." + }, + closed: { + label: "Pechado", + description: "Pechado temporalmente — obras ou evento." + }, + gone: { + label: "Desaparecido", + description: "Demolido, asfaltado ou valado para sempre." + } + }, + price: { + free: "GRATIS", + trade: "Intercambio", + makeOffer: "Fai unha oferta", + offer: "Oferta" + } + }, + cardUi: { + save: "Gardar tarxeta en Nostr", + saved: "Tarxeta gardada", + savedDesc: "A túa tarxeta está asinada e é verificable.", + saveFailed: "Non se puido gardar a tarxeta", + notPublished: "Sen publicar", + titleNeon: "Tarxeta", + titleRest: "Rider", + saveFrontPng: "Gardar a parte frontal (PNG)", + expired: "CADUCADA", + logoUploaded: "Logotipo subido", + logoUploadFailed: "Non se puido subir o logotipo", + venue: "Local ligado (opcional)", + venueNone: "Sen local", + venueHint: "Escolle un dos teus spots para vincular este pase a un local. Un verificador confirmará que é teu.", + venuePick: "Escolle o teu local", + parkNoVenue: "O dono do local é o único que pode emitir un pase de Parque — primeiro marca un spot que sexa teu.", + parkAddVenue: "Engadir un spot", + parkNeedsVenue: "Escolle un local que sexa teu", + parkIssued: "Pases emitidos", + parkRevoke: "Revogar", + parkRevoked: "Revogado", + parkRevokeFailed: "Non se puido revogar", + v: { + valid: "Válido", + validDesc: "Sinatura válida e emitida polo local.", + expired: "Caducado", + expiredDesc: "Pasou a súa data de validez.", + revoked: "Revogado", + revokedDesc: "O emisor cancelou este pase — non o aceptes.", + invalid: "Non válido", + invalidDesc: "A sinatura non se verifica. Non confíes nel.", + notFound: "Non atopado", + notFoundDesc: "Non hai ningún rexistro coincidente nos relays.", + unverifiedIssuer: "Emisor non verificado", + unverifiedIssuerDesc: "Este pase nomea un local que non pertence á chave do emisor.", + notBound: "Sen vincular", + notBoundDesc: "Sen vínculo a un local — non demostra nada sobre o acceso.", + noRsvp: "Sen RSVP", + noRsvpDesc: "O portador non ten ningún RSVP rexistrado para este evento.", + admitted: "Admitido", + admittedDesc: "Evento do organizador e o portador confirmou asistencia.", + noHolder: "Sen portador na ligazón", + noHolderDesc: "Este QR non ten portador de entrada (`?h=`), así que non se pode comprobar o portador." + }, + passes: { + tab: "Os meus pases", + pass: "Pase de acceso", + none: "Aínda non hai pases. Cando un local ou organizador che emita un, aparecerá aquí." + }, + facets: { + title: "Mostrar facetas de identidade", + crews: "Crews", + local: "Local", + roles: "Roles do Lab" + }, + roles: { + coach: "Adestrador", + filmer: "Filmer", + editor: "Editor", + photographer: "Fotógrafo", + builder: "Construtor", + artist: "Artista", + graffiti: "Graffiti", + tattoo: "Tatuaxe", + trainer: "Preparador", + musician: "Músico", + judge: "Xuíz", + organizer: "Organizador", + barber: "Barbeiro" + }, + crew: { + crewCard: "TARXETA DE CREW", + crewSub: "A túa crew, nunha tarxeta", + pick: "Escolle unha crew", + none: "Aínda non estás en ningunha crew — únete ou crea unha primeiro.", + hint: "A tarxeta constrúese cos datos asinados da propia crew. Edita a crew na súa páxina para cambiala.", + members: "MEMBROS", + spots: "SPOTS", + est: "Est. {{year}}", + openCall: "Convocatoria aberta", + verifiedCrew: "Crew verificada", + viewCrew: "Ver a crew" + }, + event: { + pass: "PASE DE EVENTO", + passSub: "Un pase para un evento ao que vas", + pick: "Escolle un evento", + none: "Aínda non hai eventos — crea un ou confirma asistencia primeiro.", + hint: "O pase constrúese cos datos asinados do propio evento. Só o organizador pode cambialo.", + admits: "ADMITE", + going: "{{count}} asistindo", + verifiedEvent: "Evento verificado", + viewEvent: "Ver o evento", + issuePass: "Emitir un pase de acceso", + issuePassBtn: "Emitir pase", + issuePassHint: "Un pase asinado para unha persoa concreta — móstrao na porta.", + notOrganiser: "Só o organizador pode emitir pases", + passIssued: "Pase emitido", + issueFailed: "Non se puido emitir o pase", + issuedPasses: "Pases de acceso emitidos" + }, + studio: { + unsaved: "Cambios sen gardar", + saved: "Gardado", + saveChanges: "Gardar cambios", + allSaved: "Gardado — todo ao día", + showOnCard: "Mostrar na tarxeta", + derived: "Do teu perfil de Skater", + noSkaterProfile: "Aínda non hai perfil de Skater —", + editSkaterProfile: "engade os teus estilos e nivel", + noPhoto: "Aínda non hai foto de perfil —", + addPhoto: "engade unha no teu perfil", + finishTitle: "Remata a túa tarxeta", + finishDesc: "Unha foto e un perfil de Skater fan que pareza real.", + checkPhoto: "Foto de perfil", + checkName: "Nome visible", + checkProfile: "Estilos e nivel", + checkCrew: "Únete a unha crew", + moreTypes: "Desbloquéanse máis tipos de tarxeta a medida que marcas spots teus, te unes a crews ou confirmas asistencia a eventos.", + accent: "Cor de acento", + accentHint: "Substitúe a cor de acento do tema", + accentClear: "Usar a cor do tema", + logo: "Logotipo / escudo personalizado", + logoAdd: "Subir", + logoChange: "Cambiar", + logoClear: "Quitar" + }, + back: { + title: "Parte traseira imprimible", + desc: "Crews, roles, patrocinadores e ligazóns no reverso", + showBack: "Ver a parte traseira", + showFront: "Ver a parte frontal", + empty: "Aínda non hai nada — engade crews, roles ou patrocinadores." + }, + verify: { + checking: "Comprobando a tarxeta…", + notFound: "Tarxeta non atopada", + notFoundDesc: "Non se atopou ningún evento coincidente nos relays. Pode que se eliminase ou que a ligazón estea mal.", + invalid: "Sinatura non válida", + invalidDesc: "Este evento existe pero a súa sinatura non se verifica. Non confíes nel.", + authentic: "Auténtica", + authenticDesc: "A sinatura do emisor é válida.", + kind: "Tipo", + kindPark: "Tarxeta de acceso a parque", + kindRider: "Tarxeta de rider", + kindCrew: "Tarxeta de crew", + kindEvent: "Pase de evento", + organiser: "Organizador", + expired: "Caducada", + valid: "Válida", + holder: "Portador", + ticketHolder: "Portador da entrada", + rsvp: "RSVP", + rsvpGoing: "Asistindo", + rsvpInterested: "Interesado", + rsvpNone: "Non se atopou RSVP", + revoked: "Pase revogado", + revokedDesc: "O emisor cancelou este pase — non o aceptes.", + issuedBy: "Emitido por", + accessLevel: "Nivel de acceso", + validThru: "Válido ata", + selfIssued: "Estado", + selfIssuedDesc: "Tarxeta de identidade autoemitida", + venue: "Local", + venueVerified: "Verificado — a chave do dono deste local coincide co emisor.", + venueMismatch: "Este pase nomea un local que non pertence á chave do emisor.", + venueNone: "Sen vínculo a un local.", + viewCard: "Ver a tarxeta", + disclaimer: "Unha sinatura válida demostra quen asinou esta tarxeta — non é proba de habilidade nin de dereitos de acceso máis alá do que emitiu o local.", + details: "Detalles", + invalidLink: "Ligazón non válida", + invalidLinkDesc: "Iso non parece unha ligazón de tarxeta válida." + }, + public: { + invalid: "Iso non parece unha ligazón de tarxeta válida.", + createYourOwn: "Crea a túa propia tarxeta", + editYourCard: "Edita a túa tarxeta", + backToEditor: "Volver ao editor", + backHome: "Volver ao inicio", + notCustomised: "Este skater aínda non personalizou a súa tarxeta — este é o aspecto por defecto.", + verifyNote: "Escanea o QR da tarxeta para verificala." + } + }, + routeUi: { + destination: "Destino", + routeTo: "Ruta a {{label}}", + routeToLabel: "Ruta a", + search: "Buscar", + description: "Opcións de ruta e indicacións na app.", + routeMapAria: "Mapa da ruta", + findingLocation: "Buscando a túa localización…", + plottingRoute: "Trazando a túa ruta…", + refiningLocation: "Axustando a localización…", + offlineSavedRoute: "Fóra de liña · ruta gardada {{age}}", + tapMapStart: "Toca o mapa para marcar o punto de inicio", + fitRouteAria: "Axustar toda a ruta no mapa", + wholeRoute: "Ruta completa", + next: "Seguinte", + nextStep: "Seguinte · paso {{n}}", + followTheLine: "Segue a liña", + toTheTurn: "ata o xiro", + toGo: "por percorrer", + tryAgain: "Tentar de novo", + mode: { + foot: "Skate / a pé", + bike: "Bici", + moto: "Moto", + car: "Coche", + transit: "Transporte público" + }, + from: "Desde", + myLocation: "A miña localización", + tapTheMap: "Toca o mapa…", + chooseOnMap: "Escoller no mapa", + direct: "directo", + transferOne: "1 transbordo", + transfers: "{{count}} transbordos", + options: "{{count}} opcións", + ride: "trayecto", + arrive: "chegada", + speedAvg: "{{speed}} km/h de media", + stepsCount: "{{count}} pasos", + onABoard: "nunha táboa", + usesDrivingRoads: "usa estradas para coches", + drivingEstimate: "estimación en coche", + updating: "actualizando…", + pickMode: "Escolle un modo para ver a túa ruta.", + waitingLocation: "Agardando pola túa localización…", + routeSteps: "Pasos da ruta", + walkingRoute: "ruta a pé — máis rápida nunha táboa", + planningView: "Vista de planificación — toca Iniciar para seguir con xiros en directo, voz e chegada.", + leaveNow: "Saír agora", + departAt: "Saír ás", + arriveBy: "Chegar antes das", + departureTime: "Hora de saída", + arrivalTime: "Hora de chegada", + only: "Só", + clear: "limpar", + itinerary: "Itinerario", + group: { + bus: "Autobús", + tram: "Tranvía", + metro: "Metro", + train: "Tren", + ferry: "Ferry" + }, + walk: "A pé", + rideVerb: "Montar", + walkLower: "a pé", + rideLower: "montar", + toStop: "a", + track: "vía {{track}}", + stopOne: "1 parada", + stopsCount: "{{count}} paradas", + tickets: "billetes ↗", + done: "Feito", + stop: "Parar", + start: "Iniciar", + arrived: "Chegaches. 🛹", + voiceOnNote: "A pantalla queda acendida · voz activada — os xiros e a chegada sóen.", + voiceOffNote: "A pantalla queda acendida · voz desactivada.", + followNote: "Xiros, voz e chegada mentres rolas. Mantén a pantalla acendida.", + voiceOffAria: "Desactivar a guía por voz", + voiceOnAria: "Activar a guía por voz", + voiceStart: "Iniciando a navegación", + voiceArrived: "Chegaches", + voiceIn: "En {{metres}} metros, {{instruction}}", + voiceContinue: "continúa", + voiceContinueCaps: "Continúa", + errPermissionDenied: "Permiso de localización denegado.", + errWaitingGps: "Agardando unha fixación GPS…", + errPermissionDeniedLong: "Permiso de localización denegado. Activa a localización para trazar a ruta desde onde estás.", + errNoLocation: "Non se puido obter a túa localización. Téntao de novo.", + errNoLocationShort: "Non se puido obter a túa localización.", + errTransitNoRouteFiltered: "Non hai ruta para esa hora ou modo de transporte — proba outra hora ou inclúe máis modos.", + errTransitNoRoute: "Non se atopou ningunha ruta de transporte público aquí — pode que esta zona non publique horarios abertos.", + errTransitUnreachable: "Non se puido acceder ao servizo de transporte. Comproba a conexión e téntao de novo.", + errRoutingBusy: "O servizo de rutas está ocupado agora mesmo — téntao de novo nun intre.", + errNoRouteMode: "Non hai ruta para este modo — pode que o destino estea fóra da rede viaria. Proba outro modo.", + errRoutingUnreachable: "Non se puido acceder ao servizo de rutas. Comproba a conexión e téntao de novo.", + departures: "Saídas", + upcomingFrom: "Próximas saídas desde {{stop}}", + loadingDepartures: "Cargando saídas…", + noDepartures: "Non se atoparon próximas saídas nesta parada.", + live: "en directo", + cancelled: "cancelada", + refresh: "Actualizar", + tripLoginTitle: "Inicia sesión para gardar", + tripLoginDesc: "Inicia sesión para gardar esta viaxe como Colección.", + tripCollectionTitle: "Viaxe de skate a {{destination}} 🛹", + tripCollectionDesc: "Plan de viaxe de The Sasquatch — {{count}} días en {{destination}}.", + tripCollectionDescOne: "Plan de viaxe de The Sasquatch — {{count}} día en {{destination}}.", + tripSavedTitle: "Gardada en Coleccións 🦧", + tripSavedDesc: "A túa viaxe a {{destination}} está marcada.", + tripSaveFailed: "Non se puido gardar", + tripSaveFailedDesc: "Téntao de novo nun segundo.", + daysInDestinationOne: "{{count}} día en {{destination}}", + daysInDestination: "{{count}} días en {{destination}}", + wetForecast: "Previsión de choiva — busca unha crew local para opcións cubertas ou baixo teito.", + dayLabel: "Día {{n}}", + freeSkate: "Skate libre — explora e grava. 🎥", + tapToBook: "toca para reservar / zap ⚡", + localCrews: "Crews locais", + saving: "Gardando…", + savedToCollections: "Gardada en Coleccións", + saveSpotOne: "Gardar {{count}} spot nunha Colección", + saveSpots: "Gardar {{count}} spots nunha Colección", + flights: "Voos", + stays: "Aloxamento", + gettingAround: "Como moverse", + noMiddleman: "Eu planifico o skate — os voos e o aloxamento ábrense nos sitios reais (sen KYC, sen intermediarios).", + ageJustNow: "agora mesmo", + ageMinAgo: "hai {{count}} min", + ageHourAgo: "hai {{count}} h", + ageDayAgo: "hai {{count}} d", + skateRightHere: "aquí mesmo", + skateMin: "~{{count}} min rolando", + skateHours: "~{{hours}} h rolando", + maneuver: { + headOut: "Pon en marcha", + arrive: "Chega ao spot", + continueStraight: "Segue recto", + bearLeft: "Desvía á esquerda", + bearRight: "Desvía á dereita", + turnLeft: "Xira á esquerda", + turnRight: "Xira á dereita", + sharpLeft: "Xiro brusco á esquerda", + sharpRight: "Xiro brusco á dereita", + turn: "Xira", + keepLeft: "Mantente á esquerda", + keepRight: "Mantente á dereita", + takeFork: "Colle a bifurcación", + merge: "Incorpórate", + roundabout: "Toma a rotonda", + takeRamp: "Colle a rampla", + takeExit: "Colle a saída" + }, + maneuverOnto: "{{instruction}} cara a {{road}}" + } +}; + +export default batch2; diff --git a/src/i18n/gl/batch3.ts b/src/i18n/gl/batch3.ts new file mode 100644 index 0000000..b45af2e --- /dev/null +++ b/src/i18n/gl/batch3.ts @@ -0,0 +1,1300 @@ +const batch3 = { + settingsUi: { + proSupport: { + title: "Pro e apoio", + subtitle: "Extras opcionais que manteñen SkateSpots gratis", + prepaidTitle: "Prepago, non unha subscrición", + prepaidBody: "Cada compra é un pago único en Bitcoin/Lightning: sen conta, sen cargos recorrentes e sen custodia. Se pagas outra vez, amplías o teu tempo.", + sasquatchTitle: "Sasquatch Pro", + sasquatchBenefit: "Desbloquea o asistente persoal de IA —pode ler o teu propio Stash, os teus crews e os teus anuncios— e axuda a financiar o proxecto.", + active: "Activo", + activeUntil: "Activo ata {{date}}", + daysLeft: "Quedan {{count}} días", + notActive: "Non activo", + goPro: "Pasar a Pro", + extend: "Ampliar Pro", + day: "día", + featuredTitle: "Anuncio destacado", + featuredBenefit: "Pon un anuncio no alto cunha insignia Pro — para perfís do Lab, eventos, tendas e tours.", + featuredHow: "As tarifas por duración aplícanse a todos os tipos; canto máis longo o compromiso, menos custa por día. Destacas un anuncio cando o creas ou o editas.", + featuredUntil: "Ata {{date}}", + yourFeatured: "Os teus anuncios destacados", + noneFeatured: "Non tes anuncios destacados activos.", + freeTitle: "Vías gratuítas", + freeBody: "As preguntas frecuentes da IA e a busca local son sempre gratis, e podes publicar un anuncio no mercado cunha proba de traballo gratuíta no canto da taxa en sats." + }, + notFound: { + seoTitle: "404 - Páxina non atopada", + seoDescription: "Non se puido atopar a páxina que buscas. Volve á páxina de inicio para seguir navegando.", + message: "Vaia! Páxina non atopada", + returnHome: "Volver ao inicio" + }, + loginArea: { + signUp: "Crear conta", + logIn: "Iniciar sesión" + }, + accountSwitcher: { + switchAccount: "Cambiar de conta", + walletSettings: "Axustes da carteira", + addAccount: "Engadir outra conta", + logout: "Pechar sesión" + }, + amberHint: { + defaultAction: "enviar", + multiBefore: "O teu sinador pedirache que aprobes", + multiTimes: "{{approvals}} veces", + multiAfter: "para {{action}} — é normal nas mensaxes cifradas (un cifrado e unha sinatura por membro). Aproba cada unha.", + single: "O teu sinador pedirache que aprobes para {{action}}." + }, + amberCallback: { + processing: "Procesando o inicio de sesión con Amber...", + gotResult: "Resultado recibido: {{result}}", + noResultDebug: "Sen resultado de Amber", + noResultToast: "Non se recibiu ningún resultado de Amber. Pode que a operación se cancelase.", + validPubkey: "Clave pública válida! Iniciando sesión...", + loginSuccessful: "Sesión iniciada correctamente!", + loginErrorDebug: "Erro ao iniciar sesión: {{error}}", + invalidResultDebug: "Formato de resultado non válido: {{result}}", + loggedInTitle: "Sesión iniciada", + amberLoginDesc: "Iniciaches sesión correctamente con Amber!", + loginFailedTitle: "Non se puido iniciar sesión", + loginFailedDesc: "Non se puido completar o inicio de sesión con Amber. Téntao de novo.", + invalidPubkeyDesc: "Amber enviou unha clave pública non válida.", + sessionLostToast: "Perdéronse os datos da sesión. Téntao de novo.", + eventSignedTitle: "Evento asinado", + eventSignedDesc: "Amber asinou o teu evento.", + signingFailedTitle: "Non se puido asinar", + signingFailedDesc: "Non se puido procesar o evento asinado por Amber.", + operationCompleteTitle: "Operación completada", + operationCompleteDesc: "{{op}} completouse." + }, + loginDialog: { + loginWithAmber: "Iniciar sesión con Amber (Android)", + welcomeTitle: "Benvido a SkateSpots", + welcomeSubtitle: "Crea unha conta ou inicia sesión para continuar", + welcomeSubtitleBrowse: "Crea unha conta ou inicia sesión — ou segue a explorar.", + extensionCard: "Extensión do navegador", + signerCard: "App de sinatura", + secretKeyLink: "Usar unha clave secreta", + whereBunker: "Onde consigo un bunker?", + newHere: "Es novo por aquí?", + createFree: "Crea unha conta gratis. Non fai falta correo electrónico.", + createAccount: "Crear conta", + orLogIn: "Ou inicia sesión", + loggedInTitle: "🛹 Sesión iniciada!", + loggedIn: "Sesión iniciada!", + connectedAmber: "Conectado con Amber!", + amberLoginFailed: "Non se puido iniciar sesión con Amber", + amberCancelled: "Inicio de sesión cancelado. Toca «Abrir Amber» para tentalo de novo.", + amberNotFound: "Non se atopou Amber. Comproba que teñas Amber instalado desde ZapStore.", + loginFailed: "Non se puido iniciar sesión", + pubkeyError: "Pega a túa pubkey en hex (64 caracteres) ou o npub de Amber", + pairedSigner: "Emparellado co teu sinador.", + connectFailed: "Non se puido conectar co teu sinador.", + openedEncrypted: "Abrimos a túa clave cifrada.", + openKeyFailed: "Non se puido abrir esa clave.", + bunkerPrefix: "Debe comezar por bunker://", + connectedBunker: "Conectado mediante bunker!", + bunkerFailed: "Erro: {{error}}", + checkBunkerUri: "Comproba o URI do teu bunker", + nsecPrefix: "Debe comezar por nsec1", + invalidNsec: "nsec non válido: {{error}}", + checkKey: "Comproba a túa clave", + noExtensionTitle: "Non se atopou ningunha extensión", + noExtensionDesc: "Instala Alby ou outra extensión NIP-07.", + amberIdleDesc: "A túa clave queda dentro de Amber. Un toque: aprobas en Amber e volves aquí coa sesión iniciada. Non hai nada que copiar.", + continueWithAmber: "Continuar con Amber", + noAmberGetIt: "Non tes Amber? Consegue o →", + waitingAmberTitle: "Agardando por Amber…", + waitingAmberDesc: "Aproba a solicitude en Amber. Iniciarás sesión automaticamente en canto volvas.", + openAmberAgain: "Abrir Amber de novo", + havingTrouble: "Tes problemas? Introduce a túa clave manualmente", + enterPublicKey: "Introduce a túa clave pública", + enterPublicKeyDescBefore: "Só se o fluxo automático non funcionou. En Amber: toca o teu perfil →", + copyPublicKey: "Copiar clave pública", + enterPublicKeyDescAfter: "e pégaa aquí.", + connect: "Conectar", + back: "← Atrás", + signInWithPhone: "Inicia sesión co teu teléfono", + signInWithPhoneDesc: "Escanea cunha app de sinatura (Amber, nsec.app). A túa clave nunca sae do teléfono.", + showPairingCode: "Amosar o código de emparellamento", + waitingSigner: "Agardando polo teu sinador…", + copyLink: "Copiar ligazón", + orPasteBunker: "ou pega un URL de bunker", + bunkerTitle: "Bunker (NIP-46)", + bunkerPasteBefore: "Pega o teu", + bunkerPasteAfter: "URI.", + amberInstructions: "Axustes → Bunker NIP-46 → Crear → Copiar", + nsecAppInstructions: "Conectar app → Copiar URI do bunker", + secretKeyTitle: "Clave secreta", + secretKeyRawDesc: "Pega directamente a túa clave secreta de Nostr.", + secretKeyEncDesc: "Abre unha copia de seguridade da clave protexida con contrasinal.", + rawNsec: "nsec en bruto", + encryptedNip49: "Cifrada (NIP-49)", + nsecWarning: "⚠️ Úsao só nun dispositivo de confianza. Nunca compartas o teu nsec.", + login: "Iniciar sesión", + encSaferDesc: "Máis seguro: a clave segue cifrada ata que introduzas o contrasinal, así que podes gardar a copia na nube ou nun xestor de contrasinais.", + password: "Contrasinal", + openEncryptedKey: "Abrir clave cifrada", + browserExtensionTitle: "Extensión do navegador (NIP-07)", + browserExtensionDesc: "O mellor para ordenador. Funciona con Alby, nos2x e Flamingo.", + loginWithExtension: "Iniciar sesión coa extensión" + }, + signupDialog: { + download: "Descargar", + stepChoose: "Escolle", + stepProfile: "Perfil", + stepSaveKey: "Gardar clave", + somethingWrong: "Algo fallou", + createFailed: "Non se puido crear a túa conta. Téntao de novo.", + keySavedTitle: "Clave secreta gardada!", + keySavedDesc: "A túa clave gardouse de forma segura.", + downloadFailedTitle: "Non se puido descargar", + downloadFailedDesc: "Non se puido descargar o ficheiro da clave. Cópaa manualmente.", + encSavedTitle: "Copia cifrada gardada 🔐", + encSavedDesc: "Garda o ficheiro E o contrasinal: necesitas os dous para volver entrar.", + encFailed: "Non se puido cifrar esa clave.", + invalidFileTitle: "Tipo de ficheiro non válido", + invalidFileDesc: "Escolle unha imaxe para o teu avatar.", + fileTooLargeTitle: "Ficheiro demasiado grande", + fileTooLargeDesc: "A imaxe do avatar debe pesar menos de 5MB.", + avatarUploadedTitle: "Avatar subido!", + avatarUploadedDesc: "O teu avatar subiuse correctamente.", + uploadFailedTitle: "Non se puido subir", + uploadFailedDesc: "Non se puido subir o avatar. Téntao de novo.", + nameRequiredTitle: "Fai falta un nome visible", + nameRequiredDesc: "Escolle un nome visible para que outros skaters saiban quen es. Podes cambialo cando queiras.", + reserveFailedTitle: "Non se puido reservar ese nome", + reserveFailedDesc: "{{error}} Podes reclamar un máis tarde en Axustes.", + profileCreatedTitle: "Perfil creado!", + profileCreatedDesc: "O teu perfil xa está configurado.", + profileFailedTitle: "Non se puido configurar o perfil", + profileFailedDesc: "A conta creouse, pero fallou a configuración do perfil. Podes actualizalo máis tarde.", + welcomeToastTitle: "Benvido!", + welcomeToastDesc: "A túa conta está lista.", + titleWelcome: "Únete a SkateSpots", + titleProfile: "Configura o teu perfil", + titleDone: "Benvido!", + createFreeAccount: "Crea a túa conta gratis", + createFreeAccountDesc: "Sen correo, sen teléfono e sen contrasinal. A túa conta é unha clave Nostr: escolle onde vive.", + recommended: "Recomendado", + signUpWithAmber: "Rexistrarse con Amber", + signUpWithAmberDesc: "A túa clave créase e gárdase dentro da app Amber; SkateSpots nunca a toca. O máis seguro. Un toque para aprobar.", + continueWithAmber: "Continuar con Amber", + orQuickWay: "ou a vía rápida", + quickAccount: "Conta rápida neste dispositivo", + quickAccountDesc: "Xeramos unha clave que vive neste dispositivo. O inicio máis rápido: axudarémosche a gardar unha copia de seguridade xusto despois.", + createQuickAccount: "Crear conta rápida", + quickReassurance: "Leva 5 segundos · vive neste dispositivo · axudarémosche a facer a copia despois", + preferAnotherSigner: "Prefires outro sinador?", + iosDesktopNudge: "Estás en iOS ou no ordenador? Unha app de sinatura ou unha extensión do navegador é a opción máis segura —", + seeAllOptions: "Ver todas as opcións", + youreInPickName: "Xa estás dentro! 🛹 Escolle un nome visible para que os skaters saiban quen es", + changeAnytime: "Podes cambialo cando queiras. A bio e o avatar son opcionais.", + publishingProfile: "Publicando o teu perfil...", + displayName: "Nome visible", + displayNamePlaceholder: "p.ex. Tony, gnarlyGrind ou o nome do teu crew", + displayNameHint: "Obrigatorio: así aparecerás en SkateSpots. Cámbiao cando queiras.", + skateName: "O teu nome de SkateSpots", + skateNameHint: "Gratis e opcional: un identificador verificado que amosa un ✓ no teu perfil.", + bio: "Bio", + bioPlaceholder: "Fálanos un pouco de ti...", + avatar: "Avatar", + uploadAvatar: "Subir imaxe de avatar", + saving: "Gardando...", + saveAndStart: "Gardar e comezar a patinar", + addNameToContinue: "Engade un nome visible para continuar.", + savingPublishesNote: "Ao gardar publícase o teu perfil en Nostr; pode que o teu sinador che pida aprobalo unha vez.", + youreIn: "Xa estás dentro! 🛹", + oneQuickThing: "Unha cousa rápida antes de lanzarte…", + saveLoginKey: "Garda a túa clave de acceso", + saveLoginKeyBefore: "Esta é a", + only: "única", + saveLoginKeyAfter: "forma de volver á túa conta: sen correo e sen restablecemento de contrasinal. Gárdaa agora e poderás iniciar sesión en calquera dispositivo, alí onde pates.", + revealSaveKey: "Amosar e gardar a miña clave", + recoveryCopied: "Código de recuperación copiado. Gárdao nun lugar seguro.", + saved: "Gardado", + treatLikeBoardKeys: "Trátaa como as chaves do teu monopatín: quen teña este código controla a túa conta. Nunca a compartas.", + hideEncBackup: "Ocultar copia cifrada", + saveEncBackup: "Gardar unha copia cifrada", + encBackupBefore: "Unha copia protexida con contrasinal: podes gardala na nube ou nun xestor de contrasinais. Necesitarás o ficheiro", + and: "e", + encBackupAfter: "o contrasinal.", + choosePassword: "Escolle un contrasinal", + saveEncBackupCta: "Gardar copia cifrada", + savedCodeAria: "Xa gardei o meu código de recuperación", + savedCodeLabel: "Xa gardei o meu código de recuperación nun lugar seguro: nun xestor de contrasinais ou escrito fóra de liña.", + letsSkate: "A patinar", + saveLater: "Gárdoa máis tarde desde Axustes", + advancedSigner: "Avanzado: usar unha app de sinatura" + }, + mnemonic: { + generatedTitle: "Frase de recuperación xerada! 🎉", + generatedDesc: "Anota estas 12 palabras en orde. Son a clave da túa conta!", + savedTitle: "Frase de recuperación gardada!", + savedDesc: "Garda este ficheiro nun lugar seguro.", + downloadFailedTitle: "Non se puido descargar", + downloadFailedDesc: "Non se puido descargar o ficheiro. Cópao manualmente.", + copiedTitle: "Copiado ao portapapeis!", + copiedDesc: "Copiouse a túa frase de recuperación.", + qrWindowTitle: "Código QR da frase de recuperación", + qrHeading: "O código QR da túa frase de recuperación", + qrAlt: "Código QR da frase de recuperación", + qrWarning: "Mantén este código QR privado e seguro!", + qrPrint: "Imprimir o código QR", + qrFailedTitle: "Fallou o código QR", + qrFailedDesc: "Non se puido xerar o código QR.", + accountCreatedTitle: "Conta creada! 🎉", + accountCreatedDesc: "Todo listo! A túa frase de recuperación está segura.", + loginFailedTitle: "Non se puido iniciar sesión", + loginFailedDesc: "Non se puido crear a conta. Téntao de novo.", + verifyFailedTitle: "Non se puido verificar", + verifyFailedDesc: "As palabras non coinciden. Comproba e téntao de novo.", + titlePrefix: "Crear conta con", + titleSuffix: "frase de recuperación", + twelveWordTitle: "Frase de recuperación de 12 palabras", + twelveWordDesc: "A túa frase de recuperación é como un contrasinal mestre. Anótaa nun papel e gárdaa ben. Necesitarala para acceder á túa conta desde outros dispositivos ou se borras os datos do navegador.", + generate: "Xerar a frase de recuperación", + useNsecInstead: "Usar unha clave nsec avanzada", + yourPhrase: "A túa frase de recuperación", + copy: "Copiar", + download: "Descargar", + qrCode: "Código QR", + criticalWarning: "Aviso de seguridade importante", + warnWriteStrong: "Anótaa", + warnWrite: "nun papel e gárdaa nun lugar seguro", + warnNeverShareStrong: "Nunca compartas", + warnNeverShare: "a túa frase de recuperación con ninguén", + warnBackupsStrong: "Ten varias copias", + warnBackups: "en lugares seguros distintos", + warnAnyoneStrong: "Quen teña esta frase", + warnAnyone: "controla a túa conta para sempre", + warnLoseStrong: "Se a perdes", + warnLose: "perdes a conta para sempre", + savedSecurely: "Gardeina de forma segura", + verifyTitle: "Verifica a túa frase de recuperación", + verifyDesc: "Para asegurarnos de que a gardaches ben, introduce estas palabras:", + wordLabel: "Palabra nº {{n}}", + wordPlaceholder: "Introduce a palabra nº {{n}}", + goBack: "Volver", + verifyCreate: "Verificar e crear conta", + completeTitle: "Conta creada!", + completeDesc: "A túa conta de Nostr está lista!", + signerTitle: "Recomendado: configura unha app de sinatura", + signerSubtitle: "Mantén as túas claves moito máis seguras", + signerDesc: "Para máis seguridade, usa unha app de sinatura dedicada no canto de pegar a túa frase de recuperación por todas partes. As apps de sinatura protexen as túas claves e déixanche usar calquera app de Nostr.", + signerCta: "Saber máis sobre as apps de sinatura", + skip: "Saltar por agora" + }, + signupMethod: { + titlePrefix: "Escolle o teu", + titleSuffix: "método de rexistro", + subtitle: "Os dous métodos son seguros. Escolle o que che vaia mellor!", + recommended: "Recomendado", + mnemonicTitle: "Frase de recuperación", + mnemonicDesc: "12 palabras doadas de lembrar. O estándar do sector que usan Bitcoin, Ethereum e a maioría das carteiras cripto.", + mnemonicF1: "Doada de anotar nun papel", + mnemonicF2: "Funciona con outras apps de Nostr (NIP-06)", + mnemonicF3: "Pode xerar varias contas", + mnemonicF4: "Familiar para os usuarios de cripto", + useMnemonic: "Usar a frase de recuperación", + advanced: "Avanzado", + nsecTitle: "Clave secreta (nsec)", + nsecDesc: "Clave criptográfica en bruto. Máis técnica, pero dache acceso directo á túa identidade Nostr.", + nsecF1: "Control criptográfico directo", + nsecF2: "Compatible con todas as apps de Nostr", + nsecF3: "Unha única cadea para facer a copia", + nsecF4: "Sen capa de derivación", + useNsec: "Usar a clave secreta", + footer: "🔒 Os dous métodos son igual de seguros. Escolle o que prefiras!" + }, + skateNip05: { + placeholder: "oteunome", + claimedSuffix: "é teu: garda o teu perfil para publicalo.", + checking: "Comprobando a dispoñibilidade…", + available: "{{name}}@{{domain}} está dispoñible", + claim: "Reclamalo", + hint: "Letras, números e guións. Gratis, e amósase cunha insignia ✓ no teu perfil." + }, + nip05Required: { + getFree: "Conseguir un NIP-05 gratis / barato", + paid: "De pago", + requiredTitle: "Fai falta a verificación NIP-05", + bannerReason: "Para evitar o spam e xerar confianza, {{role}} necesita unha dirección Nostr verificada (NIP-05).", + gateReason: "Para evitar o spam e xerar confianza, {{role}} debe ter a verificación NIP-05.", + addInSettings: "Engadir o NIP-05 en Axustes", + explainer: "O NIP-05 demostra a túa identidade ligando o teu perfil de Nostr a un dominio, como", + updateProfile: "Actualiza o teu perfil" + }, + editProfile: { + uploadSuccessTitle: "Feito", + uploadSuccessDesc: "{{field}} subiuse correctamente", + uploadErrorDesc: "Non se puido subir {{field}}. Téntao de novo.", + mustBeLoggedIn: "Tes que ter a sesión iniciada para actualizar o teu perfil", + invalidClinkTitle: "Código CLINK non válido", + invalidClinkDesc: "Iso non parece un código noffer1… válido. Bórrao ou pega un válido.", + invalidLightningTitle: "Dirección Lightning non válida", + invalidLightningDesc: "Usa unha dirección tipo correo, como ti@walletofsatoshi.com.", + invalidSpTitle: "Dirección de pago silencioso non válida", + invalidSpDesc: "Unha dirección de pago silencioso comeza por sp1 e é bastante longa. Bórraa ou pega unha válida.", + invalidCordnTitle: "Ligazón de Cordn non válida", + invalidCordnDesc: "Pega unha ligazón de contacto de Cordn completa https://…", + updateSuccessTitle: "Feito", + updateSuccessDesc: "Actualizouse o teu perfil", + updateErrorDesc: "Non se puido publicar o perfil. Comproba as túas conexións de relay en Axustes > Relays", + identityTitle: "Identidade", + identityDesc: "Como apareces en SkateSpots.", + displayName: "Nome visible", + displayNamePlaceholder: "O teu nome", + bio: "Bio", + bioPlaceholder: "Unhas palabras sobre ti e o teu skate…", + profilePicture: "Foto de perfil", + pictureDesc: "Sube ou pega unha imaxe cadrada.", + bannerImage: "Imaxe de portada", + bannerDesc: "Unha imaxe ancha para a parte superior do teu perfil.", + website: "Sitio web", + bitcoinTitle: "Bitcoin e pagamentos", + bitcoinDesc: "Deixa que a xente che faga zaps, dea propinas e pague directamente, sen intermediarios.", + lightningAddress: "Dirección Lightning", + lud16Invalid: "Usa unha dirección tipo correo, p.ex. ti@oteudominio.com.", + lud16Ok: "Alimenta o botón «Zap» do teu perfil.", + lud16Hint: "Propinas instantáneas en Bitcoin. Alimenta o botón «Zap» do teu perfil.", + silentPaymentAddress: "Dirección de pago silencioso", + spInvalid: "Debería comezar por «sp1» e ser bastante longa.", + spOk: "Válida: unha dirección na cadea, reutilizable e privada.", + spHint: "Dirección estática reutilizable na cadea (BIP-352). Compártea unha vez; cada pago é imposible de ligar.", + clinkTipCode: "Código de propina CLINK", + nofferInvalid: "Iso non parece un código noffer1… válido.", + nofferOk: "Válido: amosarase un botón «Propina en Bitcoin» no teu perfil.", + nofferHint: "Código CLINK de autocustodia para que calquera che dea propina por Nostr, sen intermediarios.", + skateProfileTitle: "Perfil de skate", + skateProfileDesc: "Amosa os teus patrocinadores e como contacta contigo o crew.", + badges: "Insignias", + badgesHint: "(etiqueta + ligazón opcional)", + badgeExample: "p.ex. Independent Trucks", + badgeLabelPlaceholder: "Etiqueta da insignia…", + badgeUrlPlaceholder: "https://… (opcional)", + removeBadge: "Quitar a insignia", + addBadge: "Engadir unha insignia", + badgesDescBefore: "Patrocinadores, tendas ou xente que apoia o teu skate, e calquera outra cousa que queiras amosar. Cada unha convértese nunha etiqueta prenible no teu perfil. A túa insignia de", + badgesDescAfter: "engádese automaticamente.", + coordinator: "Coordinador", + cordnInvalid: "Iso non parece un coordinador. Pega un nprofile, unha ligazón de cordn.net ou un URL https://.", + cordnOk: "Amósase no teu perfil: os demais poden engadilo cun toque.", + cordnHint: "O coordinador de Cordn que usan os demais para escribirche. Privado, cifrado e teu.", + useMyCoordinator: "Usar o meu coordinador", + accountTitle: "Conta", + accountDesc: "Axustes adicionais da conta.", + botAccount: "Conta de bot", + botAccountDesc: "Marca esta conta como automatizada ou bot.", + saving: "Gardando…", + saveProfile: "Gardar o perfil", + nip05VerifiedHandle: "Identificador verificado NIP-05", + nip05How: "Como?", + extraHandles: "Identificadores adicionais", + extraHandlesHint: "opcional: engade ata 5", + nip05HintEmpty: "Un identificador verificado como ti@oteudominio.com, a versión de Nostr do check azul. Amosa unha insignia ✓ no teu perfil e desbloquea o filtro «Verificado» no directorio de skaters.", + nip05Invalid: "Usa un identificador tipo correo, p.ex. ti@oteudominio.com, sen «https://» nin espazos.", + nip05Checking: "Comprobando o teu dominio…", + nip05Verified: "Verificado: o teu dominio confirma que este identificador é teu. ✓", + nip05Mismatch: "O teu dominio asigna este identificador a unha clave DISTINTA. Corrixe o teu .well-known/nostr.json para que apunte a esta conta.", + nip05Unreachable: "Aínda non se puido acceder ao /.well-known/nostr.json do teu dominio. Os identificadores gardados funcionarán en canto o dominio estea ben configurado.", + nip05Enter: "Introduce o teu identificador NIP-05.", + freeHandleBefore: "Non tes dominio propio? Reclama un identificador", + freeHandleAfter: "gratis de SkateSpots.", + uploadLabel: "Subir {{label}}", + previewLabel: "Vista previa de {{label}}" + }, + security: { + recoveryCopied: "Código de recuperación copiado. Gárdao nun lugar seguro.", + savedTitle: "Gardado!", + recoveryDownloaded: "Código de recuperación descargado. Gárdao nun lugar seguro.", + downloadFailedTitle: "Non se puido descargar", + downloadFailedDesc: "Cópao manualmente.", + loginRequired: "Fai falta iniciar sesión", + loginRequiredDesc: "Inicia sesión para acceder aos axustes de seguridade.", + backupConfirmedTitle: "Copia confirmada! ✅", + backupConfirmedDesc: "Xenial! As túas claves están seguras.", + yourRecoveryCode: "O teu código de recuperación", + recoveryCodeDesc: "Non o gardaches cando te rexistraches? Podes collelo aquí cando queiras.", + recoveryCodeBefore: "Este código é a", + only: "única", + recoveryCodeAfter: "forma de volver entrar nun dispositivo ou navegador novo. Gárdao nun lugar seguro (un xestor de contrasinais ou nun papel). Quen o teña controla a túa conta: nunca o compartas.", + revealRecovery: "Amosar o meu código de recuperación", + qrHint: "Escanea con outra app de Nostr para iniciar sesión. Mantén esta pantalla privada.", + neverShareHide: "⚠️ Nunca o compartas. Océao cando remates.", + hide: "Ocultar", + amberNoteBefore: "Iniciaches sesión con", + amberNoteAfter: ". O teu código de recuperación vive dentro de Amber: abre a app Amber para facer unha copia. SkateSpots nunca ve a túa clave.", + bunkerNoteBefore: "Iniciaches sesión cun", + remoteSigner: "sinador remoto (bunker)", + bunkerNoteAfter: ". O teu código de recuperación gárdao o teu servizo de sinatura, non SkateSpots. Fai alí a copia.", + extensionNoteBefore: "Iniciaches sesión cunha", + browserExtension: "extensión do navegador", + extensionNoteAfter: ". O teu código de recuperación vive na extensión: usa a súa propia opción de copia ou exportación. SkateSpots nunca ve a túa clave.", + otherNote: "O teu código de recuperación xestiónao a túa app de sinatura, non SkateSpots. Fai alí a copia.", + backupWarningTitle: "⚠️ Fixeches copia da túa frase de recuperación ou da clave secreta?", + backupWarningBody: "As túas claves son a ÚNICA forma de acceder á túa conta. Se as perdes, pérdelo todo: non hai restablecemento de contrasinal!", + iveBackedUp: "Xa fixen copia das miñas claves", + backupConfirmed: "✅ Copia confirmada", + backupNotConfirmed: "⚠️ Copia non confirmada", + backupConfirmedStatusDesc: "Confirmaches que as túas claves están gardadas de forma segura.", + backupNotConfirmedDesc: "Asegúrate de facer copia da túa frase de recuperación ou da clave secreta!", + notSavedYetBefore: "Aínda non gardaches o teu código de recuperación? Non pasa nada: cólleo na", + notSavedYetAfter: "sección de arriba, gárdao nun lugar seguro e despois confirma abaixo.", + yesBackedUp: "Si, xa fixen copia das miñas claves", + bestPracticesTitle: "Boas prácticas de seguridade das claves", + bestPracticesDesc: "Como manter segura a túa conta de Nostr", + bp1Title: "Anótaa nun papel", + bp1Desc: "A copia física é a máis segura. Gárdaa nun lugar protexido, como unha caixa forte.", + bp2Title: "Varias copias", + bp2Desc: "Ten copias en lugares seguros distintos (a caixa forte da casa, unha caixa de alugueiro no banco...)", + bp3Title: "Nunca compartas as túas claves", + bp3Desc: "As apps de Nostr de verdade NUNCA che piden o nsec ou a frase de recuperación despois do primeiro inicio de sesión", + bp4Title: "Non as gardes na nube sen cifrar", + bp4Desc: "Evita Google Docs, borradores de correo ou almacenamento na nube en texto plano", + bp5Title: "Pensa en usar unha extensión do navegador", + bp5Desc: "Alby, nos2x ou Flamingo manteñen as túas claves seguras e nunca as expoñen aos sitios web", + importantReminders: "⚠️ Lembretes importantes", + rem1: "Se perdes as claves, perdes a conta para sempre", + rem2: "Ningunha empresa nin persoa pode restablecer o teu contrasinal, nin nós", + rem3: "Quen teña as túas claves ten o control total da túa conta", + rem4: "As túas claves controlan todos os teus datos de Nostr en TODAS as apps", + recommendedSigners: "🔌 Sinadores de Nostr recomendados", + recommendedSignersDesc: "Usa un sinador de Nostr para ter máis seguridade e comodidade", + recommended: "Recomendado", + amberDesc: "Sinador de Nostr seguro para Android. Mantén as túas claves a salvo no teléfono e asina eventos sen expoñelas.", + albyDesc: "Extensión completa con carteira Lightning, WebLN e compatibilidade con NWC.", + flamingoDesc: "Interface sinxela e limpa. Céntrase na sinatura de Nostr, sen funcións de carteira.", + nos2xDesc: "Extensión mínima e lixeira para usuarios avanzados.", + nostrConnectTitle: "☁️ Nostr Connect (sinadores remotos)", + nostrConnectDesc: "Usa un sinador remoto para acceder á túa conta desde calquera dispositivo", + nostrConnectBody: "Nostr Connect (tamén chamado «bunkers») permíteche gardar as túas claves nun servidor seguro e iniciar sesión desde calquera dispositivo. As túas claves nunca saen do servidor, pero podes usar a túa conta en calquera sitio!", + nsecAppDesc: "Sinador remoto gratuíto e seguro. Crea un URI bunker:// e pégao ao iniciar sesión.", + nostrumDesc: "Outra opción de sinador remoto con soporte para móbil.", + howToUse: "💡 Como usalo:", + howToUseDesc: "Crea unha conta nun destes servizos, obtén a túa cadea de conexión bunker:// e pégaa na pestana «Nostr Connect» ao iniciar sesión." + }, + relayList: { + connected: "Conectado", + connecting: "Conectando…", + offline: "Fóra de liña", + removeUrl: "Quitar {{url}}", + add: "Engadir", + publishedTitle: "Lista de relays publicada", + publishedDesc: "Sincronizada con Nostr (kind 10002).", + publishFailedTitle: "Non se puido publicar a lista de relays", + invalidUrlTitle: "URL de relay non válido", + invalidUrlDesc: "Proba algo como wss://relay.example.com", + alreadyInList: "O relay xa está na túa lista", + keepReadWriteTitle: "Mantén lectura ou escritura en", + keepReadWriteDesc: "Un relay necesita polo menos lectura ou escritura.", + alreadyInThisList: "O relay xa está nesta lista", + dmPublishedTitle: "Relays de mensaxes directas publicados", + dmPublishedDesc: "Caixa de entrada NIP-17 actualizada.", + dmPublishFailedTitle: "Non se puideron publicar os relays de mensaxes directas", + nip65Title: "Relays (NIP-65)", + nip65DescUser: "Toca Ler / Escribir para alternar. Publícase en Nostr como a túa lista kind 10002.", + nip65DescLoggedOut: "Toca Ler / Escribir para alternar. Inicia sesión para publicar a túa lista en Nostr.", + noRelays: "Aínda non hai relays: engade un abaixo.", + local: "Local", + read: "Ler", + readHint: "Obter contido deste relay", + write: "Escribir", + writeHint: "Publicar os teus eventos neste relay", + dmTitle: "Relays da caixa de entrada de mensaxes directas", + dmDesc: "Onde recibes as mensaxes directas NIP-17 (kind 10050). Se está baleiro, úsanse os teus relays de escritura.", + localTitle: "Relays locais", + localDesc: "Só da app (p.ex. un nodo da LAN). Úsanse para ler e escribir; nunca se publican.", + blockedTitle: "Relays bloqueados", + blockedDesc: "Nunca conectar con estes: quedan fóra de todas as lecturas e escrituras." + }, + relatr: { + searchingTitle: "Buscando o servizo Relatr...", + searchingDesc: "Consultando Nostr para atopar perfís de Relatr", + foundTitle: "Atopouse o servizo Relatr!", + foundDesc: "Servizo: {{name}}", + unknown: "Descoñecido", + notFoundTitle: "Non se atopou ningún servizo Relatr", + notFoundDesc: "Proba a introducir a pubkey manualmente ou consulta https://www.relatr.xyz/", + searchFailedTitle: "A busca fallou", + searchFailedDesc: "Non se puido consultar Nostr para atopar perfís de Relatr", + invalidPubkeyTitle: "Pubkey non válida", + invalidPubkeyDesc: "Introduce unha pubkey hex válida de 64 caracteres", + enabledTitle: "Relatr activado!", + enabledDesc: "As puntuacións de confianza globais xa están activas.", + disabledTitle: "Relatr desactivado", + disabledDesc: "Xa non se obteñen puntuacións de confianza.", + title: "Puntuacións de confianza de Relatr", + desc: "As puntuacións de confianza globais axudan a identificar usuarios fiables e reducen o spam", + status: "Estado", + active: "Activo", + disabled: "Desactivado", + activeStrong: "Relatr está activo.", + activeDesc: "As puntuacións de confianza da análise da rede global de ContextVM axudan a identificar skaters fiables e reducen o spam.", + disabledStrong: "Relatr está desactivado.", + disabledHint: "Actívao para obter puntuacións de confianza da rede global de Nostr.", + disable: "Desactivar Relatr", + enable: "Activar Relatr", + advancedSettings: "Axustes avanzados", + servicePubkey: "Pubkey do servizo Relatr", + pubkeyPlaceholder: "Introduce unha pubkey hex de 64 caracteres...", + searching: "Buscando...", + autoDiscover: "Descubrir automaticamente", + pubkeyDefault: "Predeterminada: servizo Relatr oficial de ContextVM (npub1dvmc...)", + relayLabel: "Relay (onde Relatr publica as puntuacións)", + relayDefault: "Predeterminado: wss://relay.contextvm.org (relay oficial de ContextVM)", + applyChanges: "Aplicar os cambios", + learnMore: "Saber máis:", + website: "Sitio web de Relatr", + github: "GitHub de Relatr", + nip85Spec: "Especificación NIP-85" + }, + followList: { + unfollow: "Deixar de seguir", + title: "A túa rede de Nostr", + desc: "Xestiona a quen segues. Seguir usuarios axuda a construír a túa Rede de Confianza e determina que spots amosan insignias de confianza.", + following: "Seguindo ({{count}})", + followers: "Seguidores ({{count}})", + follow: "Seguir", + followHint: "💡 Pega unha pubkey de Nostr (npub1...), unha dirección NIP-05 (usuario@dominio.com) ou unha pubkey hex", + notFollowing: "Aínda non segues a ninguén", + notFollowingHint: "Segue skaters para ver os seus spots con insignias ✅ VERIFICADO", + trustActiveStrong: "✅ Insignias de confianza activas:", + trustActive: "Os spots creados por xente que segues amosarán agora insignias VERIFICADO. Os spots dos seus amigos amosarán insignias DE CONFIANZA.", + noFollowers: "Aínda non tes seguidores", + noFollowersHint: "Comparte o teu perfil de Nostr para gañar seguidores!", + howTitle: "💡 Como afecta seguir ás insignias de confianza", + verifiedStrong: "✅ VERIFICADO (verde):", + verifiedDesc: "Spots creados por xente que segues directamente", + trustedStrong: "🟡 DE CONFIANZA (amarelo):", + trustedDesc: "Spots creados por xente que seguen os teus amigos (2 saltos)", + unverifiedStrong: "⚪ Sen verificar:", + unverifiedDesc: "Spots de usuarios sen conexión coa túa rede", + tip: "💡 Consello: segue skaters activos para ver máis spots verificados e construír a túa rede de confianza!" + }, + notify: { + enableTitle: "Activar as notificacións", + enableDesc: "Fai vibrar este dispositivo cando algo te necesita.", + checkingPermission: "Comprobando o permiso…", + unsupported: "Este dispositivo non admite notificacións aquí. Recompila a app de Android para activalas no teléfono.", + denied: "As notificacións están bloqueadas para este sitio. Permíteas nos axustes do navegador ou do sistema e téntao de novo.", + backgroundTitle: "Notificacións en segundo plano", + backgroundDesc: "Recibe avisos de mensaxes e intercambios aínda que SkateSpots estea pechado.", + pushUnsupported: "Este navegador non admite push en segundo plano. No móbil, engade SkateSpots á pantalla de inicio.", + pushPrivacy: "Para chegar a ti coa app pechada, un servidor de notificacións de SkateSpots recibe un aviso do teu relay cando chega algo para a túa clave e pásao ao servizo push do teléfono. Só ve que a túa clave ten algo: nunca quen o enviou nin o que di, e non pode descifrar as túas mensaxes. Actívao por dispositivo.", + bgDeliveryTitle: "Entrega en segundo plano (Android)", + bgDeliveryDesc: "Busca mensaxes, ofertas e intercambios novos coa app pechada, sen servizos de Google.", + off: "Desactivado", + standard: "Estándar (~15 min)", + fast: "Rápido (~5 min)", + bgDeliveryNote: "O estándar é o mellor esforzo: Android pode atrasalo co Doze. O rápido amosa unha notificación persistente e gasta máis batería. Nada se descifra no noso servidor.", + notifyMeAbout: "Avísame de", + couldNotEnable: "Non se puido activar", + sendTest: "Enviar unha notificación de proba", + testTitle: "As notificacións de SkateSpots están activas 🛹", + testBody: "Así se verá unha mensaxe directa, un zap ou unha invitación a un crew.", + footerBefore: "Os avisos constrúense no teu dispositivo cos datos que a app xa ten, e os avisos de mensaxes directas nunca descifran as túas mensaxes, así que nunca se lle pide a Amber que abra ningunha. Co modo de entrega en segundo plano", + footerAfter: "desactivado, non se pode chegar a unha app totalmente pechada, así que os avisos chegarán a próxima vez que abras SkateSpots.", + cat_dms_label: "Mensaxes directas", + cat_dms_hint: "Alguén che envía unha mensaxe privada", + cat_crew_label: "Crews", + cat_crew_hint: "Invitacións, solicitudes de ingreso e confirmacións de pertenza", + cat_social_label: "Zaps, respostas e mencións", + cat_social_hint: "Reaccións, reposts, zaps, respostas e actualizacións de eventos", + cat_newsletter_label: "Boletín", + cat_newsletter_hint: "Novidades de SkateSpots (só para subscritores)", + cat_trades_label: "Ofertas e intercambios", + cat_trades_hint: "Ofertas, contraofertas e confirmacións de intercambio", + cat_reminders_label: "Lembretes de eventos", + cat_reminders_hint: "Un aviso unha hora antes dos eventos aos que vas (app de Android)" + }, + regionBackfill: { + taggedTitle: "Etiquetadas {{count}} localización{{s}}", + taggedSkipped: "{{count}} omitidas (sen coordenadas ou sen coincidencia no xeocodificador).", + taggedOk: "Etiquetas de rexión escritas no relay comunitario.", + nothingTitle: "Non hai nada que etiquetar", + nothingDesc: "Non se puido xeocodificar ningún marcador. Téntao máis tarde.", + failedTitle: "Non se puido reencher", + title: "Reencher as etiquetas de rexión", + admin: "Admin", + descBefore: "Os marcadores creados antes de que existise a xeocodificación teñen coordenadas pero ningunha etiqueta de cidade ou país, así que o mapa debúxaos mentres que as Estatísticas da comunidade só poden dicir «Sen categoría». Isto volve derivar as etiquetas de cada marcador e republica", + descStrong: "os teus propios", + descAfter: "spots e tendas sen etiquetar.", + scanning: "Analizando os teus spots…", + allTagged: "Todos os spots e tendas que che pertencen xa teñen etiqueta de rexión. 🎉 Calquera marcador «Sen categoría» que quede é doutros mapeadores: só as súas propias claves poden etiquetalos.", + countLine: "{{count}} dos teus spot{{s}}/tendas non teñen etiqueta de rexión. Pode que o teu sinador pida aprobar cada un.", + tagging: "Etiquetando {{done}}/{{total}}…", + run: "Reencher as etiquetas de rexión", + summary: "{{updated}} actualizados · {{skipped}} omitidos · {{failed}} fallidos" + }, + adminReview: { + title: "Cola de revisión", + flagged: "{{count}} spot{{s}} activan os sinais de spam: ocúltalos ou descártalos.", + clean: "Spots que parecen entradas de proba ou marcadores fóra de tema." + }, + grantPro: { + invalidNpub: "Introduce un npub válido (ou unha pubkey hex)", + invalidDays: "Os días deben ser un número positivo", + grantedTitle: "Pro concedido ⚡", + grantedDesc: "{{npub}} ata {{date}}", + failedTitle: "Non se puido conceder", + title: "Conceder Sasquatch Pro", + owner: "Propietario", + desc: "Alternativa manual para un pago verificado que o recibo do zap non rexistrou. Publica unha concesión asinada polo propietario; o usuario non pode falsificala.", + targetPlaceholder: "npub1… (ou hex)", + grant: "Conceder" + }, + myData: { + reactionTitle: "Reacción {{emoji}}", + deleting: "Borrando...", + requestDeletion: "Solicitar o borrado", + selectContentTitle: "Selecciona o contido que queres borrar", + selectContentDesc: "Selecciona os elementos concretos para os que queres solicitar o borrado.", + all: "Todo", + spots: "Spots", + events: "Eventos", + shops: "Tendas", + listings: "Anuncios", + collections: "Coleccións", + lab: "Lab", + posts: "Publicacións", + reactions: "Reaccións", + selectAll: "Seleccionar todo", + selectAllVisible: "Seleccionar todo o visible", + selectedCount: "{{count}} seleccionados", + noItemsCategory: "Non hai elementos nesta categoría", + decentralizedStrong: "Importante:", + decentralizedNote: "Nostr é descentralizado. Os relays deberían atender as solicitudes de borrado, pero algúns pode que non. Non é un borrado permanente garantido.", + deleteCount: "Borrar {{count}} elemento{{s}}", + noDataTitle: "Non hai datos para exportar", + noDataDesc: "Aínda non publicaches ningún evento.", + exportedTitle: "Datos exportados!", + exportedDesc: "Descargáronse {{count}} eventos en JSON.", + deletionRequestedTitle: "Borrado solicitado", + deletionRequestedDesc: "A solicitude de borrado publicouse nos relays.", + deletionRequestedMany: "Solicitouse o borrado de {{count}} elementos. Nota: pode que algúns relays non atiendan esta solicitude.", + deletionFailedTitle: "Non se puido borrar", + deletionFailedDesc: "Non se puido publicar a solicitude de borrado. Téntao de novo.", + loginRequired: "Fai falta iniciar sesión", + loginRequiredDesc: "Inicia sesión para ver e xestionar os teus datos.", + title: "Os meus datos", + desc: "O teu contido na rede Nostr. Estes datos son teus: expórtaos cando queiras ou solicita o borrado.", + coachFilmer: "Coach/Filmer", + zaps: "Zaps", + received: "Recibidos", + exportAll: "Exportar todos os datos", + recentActivity: "Actividade recente", + viewAll: "Ver todo ({{count}})", + noDataPublished: "Aínda non se publicaron datos", + startBy: "Comeza por", + addingASpot: "engadir un spot", + aboutYourData: "Sobre os teus datos", + ownDataStrong: "Os teus datos son teus.", + ownData: "Todo o contido asínase coas túas claves criptográficas e gárdase en relays de Nostr. Ningunha empresa o controla.", + exportAnytimeStrong: "Exporta cando queiras", + exportAnytime: "- Descarga todos os teus eventos en JSON", + portableStrong: "Portable", + portable: "- Usa as túas claves en calquera app de Nostr", + selectiveStrong: "Borrado selectivo", + selective: "- Escolle exactamente que borrar", + caveatStrong: "Aviso sobre a descentralización", + caveat: "- Algúns relays poden conservar datos a pesar das solicitudes de borrado" + }, + settingsPage: { + seoTitle: "Axustes - SkateSpots", + seoDescription: "Xestiona os axustes da túa conta de SkateSpots.", + heading: "AXUSTES", + subtitle: "Preferencias da conta e da app", + editProfile: "Editar o perfil", + profileRefreshed: "Perfil actualizado!", + found: "Atopado: {{name}}", + unnamed: "sen nome", + profileNotFound: "Non se atopou o perfil", + notFoundOnRelay: "Non se atopou en ningún relay.", + refreshFailed: "Non se puido actualizar", + refreshFailedDesc: "Non se puido conectar cos relays.", + loginToEdit: "Inicia sesión para editar o teu perfil", + noProfileRelays: "Non atopamos ningún perfil nos relays. Se xa configuraras un, proba a actualizar.", + checkDisplayName: "un nome visible", + checkPhoto: "unha foto de perfil", + checkBio: "unha bio curta", + checkLightning: "unha dirección Lightning para que che fagan zaps", + checkHandle: "un identificador @skate-spots.org gratis", + finishProfile: "Completa o teu perfil", + addItem: "Engadir {{item}}", + nip05Title: "Verificación NIP-05", + nip05Desc: "Obtén unha dirección Nostr verificada (como nome@dominio.com) para xerar confianza. Fai falta para crear eventos, perfís de coaching e tendas.", + freeFromSkateSpots: "Gratis de SkateSpots", + claimHandleBefore: "Reclama un identificador como", + claimHandleAfter: "— sen rexistro, sen custo e sen dominio que manter. Réclamao na pestana Perfil e garda.", + claimInProfile: "Reclamar no perfil", + nip05Footer: "Despois de obter o teu NIP-05, engádeo no campo Perfil e garda.", + localRelayOn: "Relay local activado", + localRelayOff: "Relay local desactivado", + lookingForCitrine: "Buscando Citrine neste dispositivo…", + noLongerUsing: "Xa non usas o relay do dispositivo.", + localRelay: "Relay local", + citrineOff: "Lecturas máis rápidas e copia fóra de liña neste dispositivo", + citrineSearching: "Buscando Citrine neste dispositivo…", + citrineLive: "Conectado: le e fai copia localmente", + citrineWaiting: "Activado: inicia Citrine para conectar", + toggleCitrine: "Activar ou desactivar o relay Citrine local", + citrineDetected: "Detectouse o relay Citrine", + citrineLooking: "Buscando Citrine…", + citrineNotDetected: "Non se detectou Citrine", + recheckCitrine: "Volver buscar o relay Citrine", + checking: "Comprobando", + recheck: "Comprobar de novo", + chipInstantReads: "Lecturas instantáneas", + chipWorksOffline: "Funciona fóra de liña", + chipOnDeviceBackup: "Copia no dispositivo", + cantReachStrong: "Non se pode acceder a Citrine.", + cantReachBefore: "Asegúrate de que a app gratuíta Citrine está instalada e o seu relay está", + started: "iniciado", + cantReachAfter: ", e despois toca Comprobar de novo. Executa un relay de Nostr privado no teléfono para lecturas instantáneas e unha copia fóra de liña.", + citrineStep1Before: "Abre Citrine → toca", + start: "Iniciar", + citrineStep2Before: "Volve aquí → toca", + getCitrine: "Conseguir Citrine", + citrinePrivacy: "O teu Stash e as túas mensaxes seguen cifrados de extremo a extremo aquí, igual que en calquera outro sitio. O relay local só acelera as cousas e garda unha copia no teu dispositivo: nunca substitúe o cifrado.", + communityRelayDisabled: "Relay comunitario desactivado", + communityRelayEnabled: "Relay comunitario activado", + usingOnlyPersonal: "Usando só os teus relays configurados.", + skateRelayIncluded: "Inclúese o relay de SkateSpots.", + relays: "Relays", + relayPrivacyBefore: "Os relays poden ver o teu", + ipAddress: "enderezo IP", + relayPrivacyAfter: "cando te conectas. Tor ocúltao, e trata unha VPN «gratis» como un sinal de aviso: adoitan monetizar o teu tráfico.", + communityRelay: "Relay comunitario", + syncingGlobal: "Sincronizado coa comunidade global de skate", + usingOnlyPersonalShort: "Usando só relays persoais", + appearance: "Aparencia", + language: "Idioma", + darkModeOnly: "Só modo escuro", + darkModeDesc: "SkateSpots usa unha estética neón escura inspirada na cultura do skate. Fondo negro, rosa neón, lima e laranxa.", + navigation: "Navegación", + sasquatchExpanded: "O Sasquatch ampliouse! 🦧 Actualiza a páxina para velo.", + advanced: "Avanzado", + sasquatchGuide: "🦧 Guía do Sasquatch", + sasquatchResetDesc: "Restablecer a guía de inicio á vista expandida", + expandSasquatch: "Expandir o Sasquatch", + wallet: "Carteira", + loginToWallet: "Inicia sesión para xestionar a túa carteira", + openWallet: "Abrir a carteira", + balanceSendReceive: "Saldo, enviar, recibir", + connectNwc: "Conectar unha carteira NWC", + account: "Conta", + security: "Seguridade", + securitySub: "Claves, sinatura, Amber", + nip05Sub: "Obtén unha dirección Nostr verificada", + app: "App", + myStash: "O meu Stash", + myStashSub: "Inventario privado do material", + relaysSub: "Conexións cos relays de Nostr", + appearanceSub: "Idioma e tema", + assistant: "Asistente", + showSasquatch: "Amosar o asistente Sasquatch", + showSasquatchDesc: "Amosa o botón flotante do Sasquatch no mapa e noutras pantallas.", + showMapFooter: "Amosar a barra de ligazóns do mapa", + showMapFooterDesc: "Amosa a fina franxa de ligazóns na parte inferior do mapa.", + notifications: "Notificacións", + notificationsSub: "Avisos de mensaxes directas, crews e zaps", + coordinator: "Coordinador", + coordinatorSub: "O servidor do teu grupo de Cordn", + data: "Datos", + myData: "Os meus datos", + myDataSub: "Exportar, importar, xestionar", + advancedSub: "Relatr, Sasquatch, ferramentas", + trust: "Confianza", + trustSub: "Fontes e visualización", + notLoaded: "Non cargado", + notLoggedIn: "Sesión non iniciada" + }, + onboarding: { + seoTitle: "Comeza — SkateSpots", + seoDescription: "Únete á comunidade descentralizada de skate. Atopa spots, conecta con coaches e envía zaps. Gratis para sempre.", + homeSetTitle: "Casa definida 🛹", + homeSetDesc: "O mapa abrirase agora na túa zona.", + locationFailedTitle: "Non se puido obter a túa localización", + locationFailedDesc: "Comproba os permisos de localización ou escolle a túa zona no mapa.", + niceTitle: "🎉 Xenial!", + niceDesc: "Xa entendes como funciona Nostr. Imos patinar!", + npubCopied: "npub copiado ao portapapeis.", + saveLoginNow: "Garda o teu acceso xa", + saveLoginNowDesc: "O teu código de recuperación é a única forma de volver á túa conta. Sen correo e sen restablecemento de contrasinal.", + betaBadge: "Beta — Aberto a skaters de todo o mundo", + headline1: "PATINA", + headline2: "O TEU MUNDO", + heroBefore: "Unha", + decentralized: "descentralizada", + heroAfter: "comunidade de skate. Ningunha empresa é dona dela. Ningún algoritmo enterra os teus spots. Ningún martelo de bloqueos. Só skaters.", + pillMap: "Mapa de spots", + pillCoaches: "Coaches e filmers", + pillEvents: "Eventos", + pillGear: "Mercar/vender material", + pillZaps: "Zaps de Bitcoin", + pillStash: "Stash de material", + pillCrews: "Crews", + createFreeAccount: "Crea a túa conta gratis", + noEmailNoPassword: "Sen correo. Sen contrasinal. A túa identidade é túa para sempre.", + findSpots: "Atopa spots preto de ti", + addFirstSpot: "Engade o teu primeiro spot", + accountCreated: "Xa estás dentro! Conta creada ✓", + identityYours: "A túa identidade é túa: gárdase na túa clave, non nos nosos servidores.", + whereSkate: "Onde patinas?", + whereSkateDesc: "Define a túa zona de casa unha vez e o mapa abrirase nos teus spots sempre. O teu GPS nunca sae do dispositivo.", + useMyLocation: "Usar a miña localización", + pickOnMap: "Escoller no mapa", + loginSaved: "Acceso gardado: podes recuperar a túa conta con seguridade.", + whyBother: "Por que molestarse?", + why1Title: "Todos os spots, nun mapa", + why1Body: "Bordos, barandillas, DIY, parques: mapeados por skaters que realmente os patinan. Consulta o estado antes de saír para non perder unha sesión porque te boten.", + why2Title: "Feito por skaters, non por traxes", + why2Body: "Sen anuncios, sen algoritmos que che enchen a cara de lixo e sen recoller datos. Código aberto. O mapa pertence á comunidade, incluído ti.", + why3Title: "Que che paguen por montar un bo show", + why3Body: "Mapea unha xoia, grava un bo truco ou organiza unha sesión, e recibe zaps de Bitcoin reais directamente na túa carteira. Sen comisións da plataforma nin intermediarios.", + why4Title: "A túa conta é realmente túa", + why4Body: "Unha clave serve para entrar en todas as apps de Nostr. Ningunha empresa pode bloquearte nin borrar a túa conta por capricho. Leva a túa identidade a calquera sitio.", + everythingFree: "Todo o que podes facer, gratis", + featSpots: "Descubre spots", + featSpotsDesc: "Mapa interactivo con miles de spots en todo o mundo", + featLab: "O Lab", + featLabDesc: "Atopa coaches, filmers e editores de vídeo preto de ti", + featEvents: "Eventos", + featEventsDesc: "Competicións, sesións e quedadas", + featGear: "Mercar / vender material", + featGearDesc: "Mercado entre persoas para material de skate usado", + featStash: "O meu Stash", + featStashDesc: "Inventario privado e cifrado de todo o que tes", + featCrews: "Crews", + featCrewsDesc: "Rola co teu crew: spots compartidos, chat e sesións", + whatIsNostr: "Que é Nostr?", + whatIsNostrSub: "O protocolo que move SkateSpots", + nostrBefore: "Nostr é un protocolo aberto, como o correo electrónico pero para apps sociais. A túa conta é un", + cryptoKeyPair: "par de claves criptográficas", + nostrAfter: "que é teu. Ningunha empresa controla a túa conta nin os teus datos: ti escolle que relays os gardan e mesmo podes executar o teu. A túa identidade funciona en todas as apps de Nostr.", + nostrPoint1: "Os teus datos e claves son teus", + nostrPoint2: "Ningunha empresa pode bloquearte", + nostrPoint3: "A identidade funciona en calquera sitio", + nostrPoint4: "Propinas directas en Bitcoin", + deepDive: "A fondo: como funciona Nostr", + privacyTip: "Consello de privacidade: o teu GPS nunca sae do dispositivo. Os servidores aos que te conectas (como os mosaicos do mapa) si poden ver a túa IP; se queres ocultala tamén, unha VPN ou Tor funciona. Totalmente opcional.", + readPrivacy: "Le a nosa páxina de privacidade", + zapsWallet: "⚡ Zaps e carteira", + optional: "Opcional", + walletDesc: "Os zaps son propinas en Bitcoin que lle envías directamente a un skater que descubriu un spot incrible, gravou un clip brutal ou organizou unha gran sesión. Sen comisións da plataforma. Sen intermediarios. O 100% vai para el.", + builtInWallet: "Carteira Cashu integrada", + builtInWalletDesc: "Recibe pagamentos Lightning directamente na app. Sen configuración.", + balance: "Saldo", + connectExternal: "Conectar unha carteira externa", + connectExternalDesc: "Tes Alby, Mutiny ou outra carteira? Concértaa mediante NWC.", + connectViaNwc: "Conectar mediante NWC", + loginToConnect: "Inicia sesión para conectar a túa propia carteira.", + fiveDollars: "💡 5 $ en Bitcoin = centos de zaps para repartir pola comunidade", + commonQuestions: "Preguntas frecuentes", + faq1Q: "SkateSpots é gratis?", + faq1A: "100% gratis. Explorar spots, engadir lugares, atopar coaches, crear eventos e unirte a sesións: todo gratis, para sempre. O Bitcoin (zaps) é opcional se queres dar propina aos creadores.", + faq2Q: "Que é Nostr e por que o usa SkateSpots?", + faq2Before: "Nostr é un protocolo aberto para apps descentralizadas: pénsao como a propia internet, que non é de ningunha empresa. A túa conta de SkateSpots é un par de claves criptográficas que", + faq2Strong: "é túa", + faq2After: ". Ningunha empresa pode bloquear a túa conta nin reter os teus datos: ti escolle que relays os gardan e mesmo podes executar o teu. A túa identidade tamén funciona noutras apps de Nostr como Primal, Damus ou Amethyst.", + faq3Q: "Que é un nsec e por que é importante?", + faq3Before: "O teu", + faq3Mid: "é a túa clave privada: é a única proba de que a conta é túa. A diferenza dos contrasinais,", + faq3Strong: "non hai «esquecín o contrasinal»", + faq3After: ". Se perdes o nsec, a túa conta desaparece para sempre. Cando crees unha conta, descarga a copia inmediatamente e gárdaa nun lugar seguro (xestor de contrasinais, anotada fóra de liña).", + faq4Q: "Que sinadores e apps funcionan con SkateSpots?", + faq4Desktop: "No ordenador:", + faq4Extensions: "extensións do navegador.", + faq4Android: "En Android:", + faq4AndroidAfter: "(a mellor experiencia coa app nativa).", + faq4Ios: "En iOS:", + faq4IosAfter: "ou pega o teu nsec directamente (menos seguro).", + faq4Note: "Tamén podes iniciar sesión pegando o teu nsec directamente, pero usar unha extensión de sinatura é máis seguro.", + faq5Q: "Podo usar SkateSpots no teléfono?", + faq5Before: "Si! SkateSpots é unha PWA (aplicación web progresiva). Visita", + faq5Mid: "no navegador do teléfono e toca", + faq5Em: "«Engadir á pantalla de inicio»", + faq5After: "para ter a experiencia completa da app. Ou descárgaa desde", + faq5End: ", unha tenda de apps descentralizada.", + faq6Q: "Que é un zap?", + faq6A: "Un zap é unha propina instantánea en Bitcoin enviada pola rede Lightning. Cando lle fas zap a un skater, os sats chegan á súa carteira en segundos: sen PayPal, sen Bizum e sen comisións. O que gravou ese 4-stair cóbrao directamente dos seus fans.", + faq7Q: "Borrarán os meus spots se SkateSpots pecha?", + faq7A: "Non. Os teus spots publícanse en relays de Nostr, servidores distribuídos que calquera pode executar. Aínda que SkateSpots desaparecese mañá como produto, os teus datos seguirían existindo nos relays e calquera cliente de Nostr podería amosalos.", + faq8Q: "Podo engadir un spot que está nunha propiedade privada?", + faq8A: "Podes, pero usa o sentido común. Os spots en propiedades privadas deben marcarse como tal para que os skaters saiban a situación. SkateSpots non se responsabiliza das intrusións: respecta sempre os propietarios e os locais.", + faq9Q: "Como informo dun erro ou dou a miña opinión?", + faq9Before: "Envíalle unha mensaxe directa ao equipo de SkateSpots en Nostr ou contacta co noso coordinador da beta:", + faq9Link: "Opinións da beta → cordn.net", + readyToShred: "LISTO PARA DARLLE CAÑA?", + stopScrolling: "Deixa de facer scroll. Instala a app. Atopa un spot. Pátinao.", + exploreSpots: "Explorar spots", + betaFeedbackTitle: "Beta: queremos a túa opinión", + betaFeedbackDesc: "SkateSpots está en desenvolvemento activo. Podes atopar cousas a medio facer: é culpa nosa, non túa. Informa de erros, suxire funcións e dinos que non funciona.", + betaCoordinator: "Coordinador da beta", + betaCoordinatorDesc: "cordn.net → escríbenos", + dmOnNostr: "Mensaxe directa en Nostr", + fixSameDay: "Atopaches un erro? Arranxámolo o mesmo día. Os teus informes melloran a app para todos os skaters.", + relaySetup: "Configuración de relays" + }, + relayEdu: { + understandingNostr: "Entender Nostr", + stepOf: "Paso {{current}} de {{total}}", + step1Title: "Entender os relays", + step1Desc: "Pensa nos relays como tendas de skate que comparten noticias sobre spots", + you: "Ti", + relays: "Relays", + skaters: "Skaters", + s1Good1: "Ningunha empresa é dona da túa conta", + s1Good1Desc: "A túa identidade vive en varios servidores relay", + s1Good2: "Ti controlas onde viven os teus datos", + s1Good2Desc: "As túas publicacións sincronízanse entre os relays que escollas: usa os teus ou executa un ti mesmo", + s1Warn: "Os operadores dos relays poden ver as publicacións públicas", + s1WarnDesc: "Pénsao como publicar nun taboleiro de anuncios", + step2Title: "Público vs privado", + step2Desc: "Sabe que é visible e que está cifrado", + publicTitle: "Público (calquera pode velo)", + pub1: "Os spots que engades ao mapa", + pub2: "Valoracións e comentarios", + pub3: "A información do teu perfil (nome, foto)", + pub4: "A quen segues", + privateTitle: "Privado (cifrado)", + priv1: "Mensaxes directas", + priv2: "Comunicacións da carteira", + noteStrong: "Nota:", + note: "As publicacións poden gardarse para sempre nos relays. Pensa antes de publicar, como na vida real!", + step3Title: "As túas claves = a túa conta", + step3Desc: "Isto é o máis importante que debes entender", + secretKeyTitle: "A túa clave secreta (nsec)", + secretKeyDesc: "Pénsao como o teu monopatín: nunca llo prestes a ninguén. Proba que a conta é túa.", + s3Bad1: "Se a perdes, a túa conta non se pode recuperar", + s3Bad2: "Sen «esquecín o contrasinal»: ninguén pode restablecelo", + s3Good: "Fai unha copia e gárdaa nun lugar seguro", + publicKeyTitle: "A túa clave pública (npub)", + publicKeyDesc: "Isto é como o teu nome de usuario: compártea libremente para que os demais te atopen!", + inControl: "🔐 Ti tes o control: ningunha empresa pode bloquearte!", + skip: "Saltar", + gotIt: "Entendido!" + }, + about: { + seoTitle: "Sobre - SkateSpots", + seoDescription: "Coñece SkateSpots e a nosa misión de construír unha comunidade descentralizada de skate.", + npubCopied: "npub copiado ao portapapeis. Pégao no teu cliente de Nostr favorito para enviar unha mensaxe directa.", + bugReport: "🐛 Informar dun erro", + bugWhatHappened: "Que pasou:", + bugExpected: "Que esperaba:", + bugSteps: "Pasos para reproducilo:", + aboutWord: "SOBRE", + heroBefore: "Conecta con escenas de skate locais de todo o mundo.", + skaterOwned: "Datos propiedade dos skaters", + heroAfter: ", en relays xestionados pola comunidade.", + viewStats: "Ver as estatísticas da comunidade", + missionTitle: "A nosa misión", + mission1: "SkateSpots axuda aos skaters a descubrir spots, conectar con profesionais no Lab e organizar sesións, todo sen control corporativo. O skate de verdade pasa fóra de liña; esta ferramenta só che conecta con el.", + mission2: "O coñecemento do skate debe vivir coa comunidade, non pechado en apps corporativas. Por iso SkateSpots funciona con Nostr, un sistema baseado en relays onde os skaters controlan os seus datos, escollen que relays os gardan e mesmo poden executar o seu. Ningunha empresa é dona do mapa.", + whyNostr: "Por que Nostr?", + why1Title: "Controlado pola comunidade", + why1Desc: "Os teus spots viven en relays comunitarios. Os skaters executan os servidores, non as corporacións.", + why2Title: "Os teus datos son teus", + why2Desc: "A túa identidade de Nostr é túa. Lévaa a calquera app de Nostr, sen ataduras.", + why3Title: "Integración con Bitcoin", + why3Desc: "Fai zaps aos creadores directamente en Bitcoin. Sen plataformas que queden co 30%.", + why4Title: "Código aberto", + why4Desc: "Feito en aberto. Calquera pode contribuír ou facer un fork do código.", + getInvolved: "Participa", + getInvolvedDesc: "SkateSpots é de código aberto e está impulsado pola comunidade. Contribúe co código, comparte spots ou axuda a outros a comezar.", + betaTitle: "Proba da beta", + betaDesc: "Estimado usuario: grazas por probar a beta de SkateSpots. Ten en conta que a app aínda está en beta e pode ter erros ou problemas de seguridade. Se atopas algún problema ou queres informar dun erro, escríbenos!", + giveFeedback: "Dános a túa opinión:", + copyNpub: "Copiar o npub", + reportBug: "Informar dun erro", + viewProfile: "Ver o perfil", + downloadApp: "Descargar a app", + downloadAppDesc: "Instala SkateSpots en Android mediante Zapstore, a tenda de apps de código aberto e nativa de Bitcoin.", + getOnZapstore: "Conseguir en Zapstore", + credits: "Créditos", + creditPoweredBy: "Feito con", + creditNostr: "Protocolo descentralizado", + creditCrewChat: "Chat de crew mediante", + creditCordn: "Chat de grupo cifrado de extremo a extremo", + creditEcash: "Ecash mediante", + creditCashu: "Ecash chaumiano para Lightning", + creditWalletConnect: "Conexión de carteira mediante", + creditNwc: "Nostr Wallet Connect (NIP-47)", + creditSigning: "Sinatura en Android con", + creditAmber: "Sinador de Nostr para Android", + creditMapData: "Datos do mapa de Bitcoin de", + creditBtcmap: "Lugares que aceptan Bitcoin", + creditCrowdfunding: "Financiamento colectivo", + creditAngor: "Financiamento colectivo descentralizado en Bitcoin", + creditDistributed: "Distribuído en", + creditZapstore: "Tenda de apps de código aberto", + creditTrust: "Confianza e chat de crew mediante", + creditContextvm: "Puntuacións de confianza de Relatr e coordinación de chat de crew cifrado", + stillQuestions: "Aínda tes preguntas?", + stillQuestionsDesc: "O Sasquatch é o noso guía de IA, alimentado con datos en directo de SkateSpots. Pregúntalle por spots, eventos, coaches, material ou como funciona calquera cousa.", + askSasquatch: "Pregúntalle ao Sasquatch", + poweredBy: "Feito con", + decentralized: "Descentralizado", + communityOwned: "Propiedade da comunidade" + }, + faq: { + seoTitle: "Preguntas frecuentes - SkateSpots", + seoDescription: "Pregúntalle ao Sasquatch calquera cousa sobre SkateSpots.", + greeting: "Ola! Son o Sasquatch 🦧: pregúntame o que queiras sobre SkateSpots. Spots, eventos, material, carteiras, privacidade, Nostr... aquí estou. Que queres saber?", + gotQuestions: "Tes preguntas?", + heroDesc: "Pregúntalle ao Sasquatch: sábeo todo sobre SkateSpots, Nostr, Bitcoin e o skate.", + askTitle: "Pregúntalle ao Sasquatch", + askDesc: "O Sasquatch está aberto na esquina inferior esquerda da pantalla: fai clic nel e escribe a túa pregunta. Ten acceso en directo a spots, eventos, coaches e o tempo.", + askQuestion: "En que me podes axudar en SkateSpots?", + openSasquatch: "Abrir o Sasquatch", + commonQuestions: "Preguntas frecuentes: toca para preguntar", + quickAnswers: "Respostas rápidas", + footerHint: "O Sasquatch usa datos en directo de Nostr do relay de SkateSpots e IA para responder ás túas preguntas. 🛹", + chip1Label: "Que é SkateSpots?", + chip1Q: "Que é SkateSpots e como funciona?", + chip2Label: "Como engado un spot?", + chip2Q: "Como engado un spot de skate ao mapa?", + chip3Label: "Que son os zaps?", + chip3Q: "Que son os zaps?", + chip4Label: "É gratis?", + chip4Q: "SkateSpots é gratis?", + chip5Label: "Que é O meu Stash?", + chip5Q: "Que é O meu Stash?", + chip6Label: "Como inicio sesión?", + chip6Q: "Como inicio sesión ou creo unha conta?", + chip7Label: "Que é Nostr?", + chip7Q: "Que é Nostr?", + chip8Label: "Privacidade e datos", + chip8Q: "Que datos son públicos e cales privados en SkateSpots?", + chip9Label: "Como vendo material?", + chip9Q: "Como vendo material en SkateSpots?", + chip10Label: "Que é O Lab?", + chip10Q: "Que é O Lab?", + fact1Label: "Spots de skate en todo o mundo", + fact1Value: "Descubre e engade", + fact2Label: "Zaps de Bitcoin Lightning", + fact2Value: "100% gratis", + fact3Label: "Descentralizado en Nostr", + fact3Value: "Os teus datos son teus", + fact4Label: "Inventario privado de material", + fact4Value: "Stash cifrado", + s1Q: "Que é SkateSpots?", + s1A: "Un mapa e unha comunidade descentralizada de skate, construídos sobre Nostr. Descubre spots, atopa coaches e filmers, únete a crews, publica eventos e merca ou vende material, sen ningunha empresa no medio.", + s2Q: "Como engado un spot?", + s2A: "Toca o mapa ou usa o botón + / «Engadir spot», despois coloca un marcador e enche os detalles. Necesitas unha conta de Nostr gratuíta (toca Iniciar sesión → Crear conta; non fai falta correo).", + s3Q: "Que son os zaps?", + s3A: "Os zaps son propinas en Bitcoin Lightning. Podes facer zaps a spots, eventos, crews e persoas que aprecias. Van directamente ao destinatario por Lightning: SkateSpots nunca garda os teus fondos.", + s4Q: "É gratis?", + s4A: "Si. Crear unha conta, engadir spots e navegar é gratis. Os extras opcionais de pago (como os anuncios destacados) e as propinas (zaps) págase directamente entre persoas.", + s5Q: "Que datos son públicos?", + s5A: "Todo o que publicas (spots, eventos, o teu perfil) é público nos relays de Nostr. As túas mensaxes privadas e o teu Stash están cifrados de extremo a extremo. Consulta a páxina de privacidade para máis detalles.", + s6Q: "Que é O Lab?", + s6A: "O Lab é onde atopas xente para contratar ou da que aprender: coaches, adestradores, filmers, editores de vídeo, fotógrafos, construtores, artistas e moito máis." + }, + privacy: { + seoTitle: "Privacidade — SkateSpots", + seoDescription: "Como xestiona SkateSpots os teus datos: o teu GPS queda no dispositivo, os spots que publicas son públicos e podes ocultar a túa IP cunha VPN ou Tor se queres.", + heroBefore: "A túa", + heroHighlight: "privacidade", + heroDesc: "Sen rastrexo, sen anuncios e sen vender datos. Aquí tes exactamente que queda no teu dispositivo, que é público e como protexer as cousas aínda máis se queres.", + locationTitle: "A túa localización queda no teu dispositivo", + locationBefore: "Cando tocas", + nearMe: "«Preto de min»,", + locationAfter: "a túa localización GPS lese no dispositivo e úsase só para centrar o mapa e ordenar os spots próximos.", + locationGood1: "Nunca se publica en Nostr.", + locationGood2: "Nunca se envía a SkateSpots: non hai ningún servidor de SkateSpots que a recolla.", + locationGood3: "Nunca se comparte con terceiros.", + locationGood4: "Na app nativa usamos directamente o sistema de localización do teléfono e evitamos Google Play Services, así que funciona en teléfonos sen Google (GrapheneOS, /e/OS) e Google nunca a ve.", + weatherBefore: "O tempo está desactivado por defecto. Cando o activas, consulta as condicións da localización pública do", + weatherEm: "spot", + weatherAfter: "— non da túa.", + publicTitle: "Que é público por deseño", + publicDesc: "SkateSpots é un mapa compartido, así que algunhas cousas están pensadas para que as vexa todo o mundo. Cando decides publicalas, son públicas na rede Nostr:", + public1Strong: "Os spots que engades", + public1: ", incluídas as súas coordenadas. Se engades un spot na túa localización exacta, esa localización faise pública. Pensa antes de poñer un marcador na porta da túa casa.", + public2Strong: "Valoracións, comentarios e o teu perfil público", + public2: "(nome, foto).", + public3: "A quen segues e as reaccións públicas.", + public4Strong: "Os zaps", + public4: "son públicos por defecto: un zap liga a túa conta, moitas veces a túa dirección Lightning, coa publicación que pagaches e coa propia propina. A túa carteira pode envialo de forma anónima se prefires que non.", + publicNoteBefore: "Unha VPN ou Tor", + notWord: "non", + publicNoteAfter: "ocultan o contido do que publicas: as coordenadas dun spot son públicas pase o que pase. As ferramentas de privacidade ocultan a túa identidade de rede (a túa IP), non as cousas que decides publicar.", + encryptedTitle: "Que é privado e está cifrado", + enc1Strong: "As mensaxes directas", + enc1Mid: "e", + enc1Strong2: "os chats de crew", + enc1: "están cifrados de extremo a extremo (NIP-17). Só os participantes poden lelos.", + enc2Strong: "O meu Stash", + enc2: ", o teu inventario privado de material, está cifrado coa túa propia clave.", + enc3Strong: "Os membros só de crew", + enc3: "poden escoller ser visibles só para os seus compañeiros de crew.", + ipTitle: "Que sae do teu dispositivo: a túa IP", + ipBefore: "Como en calquera sitio web, os servidores cos que fala SkateSpots poden ver o teu", + ipAddress: "enderezo IP", + ipAfter: "(un indicador aproximado da túa rexión). Isto é normal en calquera app web ou de mapas e non é exclusivo noso. Eses servidores son:", + ipTileStrong: "Mosaicos do mapa", + ipTile: "(OpenStreetMap): ven a túa IP e que zona do mapa miras.", + ipGeoStrong: "Xeocodificación de spots e tendas", + ipGeo: ": cando creas ou editas un spot ou unha tenda, as súas coordenadas van a OpenStreetMap Nominatim para encher a etiqueta de cidade e país. Cando abres as Estatísticas da comunidade, as coordenadas dos marcadores sen etiqueta de localización van a BigDataCloud para agrupalos por rexión (gárdase na caché do dispositivo, como máximo unha vez por marcador). Ambos ven a túa IP. Son as coordenadas do marcador que colocaches ou as coordenadas públicas do marcador, nunca o GPS en directo do teu dispositivo.", + ipPushStrong: "Notificacións en segundo plano", + ipPush: "(opcional): se as activas, un servidor push de SkateSpots ve que a túa clave recibiu algo e cando (nunca quen o enviou nin o que di; as mensaxes seguen cifradas), e o servizo push do teu sistema (Google/Mozilla/Apple) entrega o aviso.", + ipBtcStrong: "Lugares con Bitcoin", + ipBtc: "(BTCMap, cando activas esa capa): ven a túa IP e a zona que estás a ver.", + ipRelayStrong: "Relays de Nostr", + ipRelay: ": ven a túa IP cando a app le ou publica.", + ipMintStrong: "Cecas de Cashu", + ipMint: ": ven a túa IP sempre que a túa carteira envía, recibe ou funde.", + ipRouteStrong: "Indicacións", + ipRoute: "(OSRM e Transitous para o transporte público): reciben o inicio e o fin de calquera ruta que pidas, non só a túa IP. O cálculo de rutas queda na app: o teu punto de inicio e o destino nunca se entregan a Google ou Apple Maps.", + ipWeatherStrong: "Tempo", + ipWeatherMid: "(Open-Meteo, opcional) e", + ipUploadStrong: "subidas de imaxes", + ipWeather: "(Blossom), cando os usas.", + ipAiStrong: "IA do Sasquatch", + ipAi: ": a túa mensaxe vai ao noso propio servidor e despois ao provedor do modelo.", + ipLink1: "Como envías a túa clave pública (npub) na mesma conexión, un relay pode ligar a túa IP a ti: non só «alguén se conectou», senón «esta persoa, desde este enderezo».", + ipShieldBefore: "Unha cousa que si protexemos: o", + ipMintsStrong: "directorio de cecas", + ipShieldAfter: "obtense a través do noso servidor, así que MintRadar nunca ve a túa IP.", + vpnTitle: "Queres máis privacidade? VPN ou Tor (opcional)", + vpnDesc: "Para a maioría dos skaters non é necesario, pero se queres ocultar a túa IP e a túa localización aproximada dos servidores de arriba, tes dúas opcións gratuítas:", + vpnReputable: "🛡️ Unha VPN de confianza", + vpnReputableDesc: "Oculta a túa IP detrás dos servidores da VPN. É doado e rápido. Usa unha de pago e de confianza; as VPN gratuítas adoitan monetizar o teu tráfico, así que trata o «gratis» como un sinal de aviso.", + torBrowser: "🧅 Navegador Tor", + torDesc: "Gratis, máxima privacidade de IP, encamiña por varios relays. Máis lento: os mapas e algúns relays de Nostr poden ir lentos ou bloquear os nodos de saída de Tor. Xenial para os máis cautos.", + readThis: "Le isto para que non te enganen", + caveat1Before: "Unha VPN ou Tor oculta a túa", + ipWord: "IP", + caveat1: ", non os spots que publicas. Un marcador na túa casa é público uses ou non unha VPN.", + caveat2Before: "Non actives", + nearMeGps: "«Preto de min» / GPS do navegador", + caveat2: "se o teu obxectivo é manter o anonimato: un GPS preciso anula calquera ocultación de IP.", + caveat3: "Ningunha ferramenta te fai totalmente «anónimo». Estas reducen o que os servidores poden inferir sobre a túa localización de rede, e nada máis.", + keysTitle: "As túas claves, a túa conta", + keysBefore: "A túa conta é un par de claves criptográficas que che pertence. A forma máis segura de iniciar sesión é un", + signer: "sinador", + keysAfter: "(Alby, nos2x ou Amber en Android) para que a túa clave secreta nunca se pegue na app.", + keysCaveatBefore: "Se pegas o teu", + keysCaveatAfter: "directamente, gárdase no navegador. Usa mellor unha extensión de sinatura cando poidas e garda a copia do nsec nun lugar seguro fóra de liña.", + footerBefore: "Tes dúbidas? Pregúntalle a", + sasquatchName: "O Sasquatch", + footerMid: "na app, ou le a", + gettingStarted: "guía de inicio", + about: "Sobre" + }, + license: { + seoTitle: "Licenza - SkateSpots", + seoDescription: "Licenza de SkateSpots. Es libre de patinar.", + tagline: "Patina, gaña, divírtete e gasta sats onde esteas.", + copyright: "Colaboradores de SkateSpots e a comunidade", + licenseLabel: "Licenza", + freeLine1: "ES LIBRE", + freeLine2: "DE PATINAR", + body: "Este proxecto é aberto. Compárteo, fai un fork, constrúe sobre el, pátinao. As rúas son de todos. Este código tamén. Segue patinando, divírtete, aprende trucos, apoia aos que constrúen e volve patinar.", + builtBefore: "Feito con ❤️ en", + builtMid: "· Feito con", + lightning: "Bitcoin Lightning ⚡", + viewSource: "Ver o código", + aboutSkateSpots: "Sobre SkateSpots", + supporters: "Apoiantes" + }, + glossary: { + seoTitle: "Glosario de trucos · SkateSpots", + seoDescription: "O glosario completo de skate: {{count}} entradas sobre flips, grinds, slides, grabs, aires, trucos de lip, handplants, freestyle, termos de transition, postura e material, con nomes alternativos.", + heading: "GLOSARIO DE TRUCOS", + subheading: "{{count}} entradas · trucos, transition, freestyle, postura e material", + searchPlaceholder: "Busca trucos ou alcumes: tre flip, crooks, method…", + clearSearch: "Limpar a busca", + all: "Todos", + results: "{{count}} resultado{{s}} para", + noMatch: "Ningún truco coincide. Proba cun alcume como «tre flip», «crooks» ou «melon».", + tricksCount: "{{count}} trucos", + footerBefore: "Coñeces algún truco ou alcume que se nos escapou? Os trucos teñen nomes distintos en cada escena: escríbelle a", + sasquatch: "O Sasquatch 🦧", + footerAfter: "e dinos." + }, + signers: { + seoTitle: "Apps de sinatura - Protexe as túas claves de Nostr | SkateSpots", + seoDescription: "Coñece as apps de sinatura que manteñen seguras as túas claves de Nostr. Atopa a mellor opción para Android, iOS ou navegadores de escritorio.", + securityGuide: "Guía de seguridade", + protect: "Protexe as túas", + nostrKeys: "claves de Nostr", + heroDesc: "As apps de sinatura manteñen seguras as túas claves privadas asinando eventos sen expoñelas. No canto de pegar a túa clave en cada app, deixa que un sinador a xestione con seguridade.", + whySignerStrong: "Por que usar un sinador?", + whySigner: "A túa clave privada de Nostr é como un contrasinal que nunca se pode cambiar. Unha app de sinatura mantena a salvo e déixache usar calquera app de Nostr.", + androidTitle: "Sinadores para Android", + androidDesc: "Apps de sinatura nativas para dispositivos Android, incluído GrapheneOS.", + iosTitle: "Sinadores para iOS", + iosDesc: "Opcións de sinatura para usuarios de iPhone e iPad.", + browserTitle: "Extensións do navegador", + browserDesc: "Extensións para navegadores de escritorio que asinan en apps web.", + recommended: "Recomendado", + yourPlatform: "A túa plataforma", + get: "Conseguir {{name}}", + protocolsTitle: "Entender os protocolos", + nip07Desc: "Estándar de extensión do navegador. A extensión inxecta capacidades de sinatura nas apps web. Úsano Alby, nos2x, Flamingo e extensións similares.", + nip46Desc: "Protocolo de sinatura remota («bunker»). A túa app de sinatura aproba solicitudes doutras apps sen compartir as túas claves. Úsano Nsec.app, Nostria e Nowser.", + nip55Desc: "Protocolo de sinatura específico de Android. As apps nativas poden solicitar sinaturas a Amber sen expoñer as claves. A experiencia máis fluída en Android.", + whichChoose: "Cal escoller?", + chooseAndroid: "Android:", + chooseAndroidDesc: "Amber (NIP-55) para apps nativas", + chooseIos: "iOS:", + chooseIosDesc: "Nsec.app (NIP-46) para a mellor compatibilidade", + chooseDesktop: "Escritorio:", + chooseDesktopDesc: "Alby, nos2x ou Flamingo (NIP-07)", + amberDesc: "Sinador nativo de Android centrado na seguridade e na facilidade de uso. A mellor opción para usuarios de Android.", + nsecAppDesc: "Sinador remoto multiplataforma que funciona como unha caixa forte segura para as túas claves.", + nostriaDesc: "App de sinatura remota coas claves no almacenamento seguro do dispositivo.", + nowserDesc: "Sinador con varios métodos de autenticación, compatible con extensións do navegador e con sinatura remota.", + nsecAppIosDesc: "A mellor opción para iOS. Úsao como sinador remoto con calquera cliente de Nostr.", + nowserTfDesc: "Sinador para iOS dispoñible en TestFlight con capacidades de sinatura similares ás de Android.", + nostriaIosDesc: "Sinador remoto con almacenamento seguro das claves no teu dispositivo.", + nos2xDesc: "Extensión do navegador simple e fiable para asinar eventos de Nostr.", + albyDesc: "Carteira Bitcoin Lightning con xestión de claves de Nostr integrada e WebLN.", + flamingoDesc: "Extensión do navegador centrada en Nostr, con interface limpa.", + kiwiDesc: "En Android/GrapheneOS, usa Kiwi Browser para cargar as extensións nos2x ou Alby.", + fNativeApp: "App nativa", + fMultiKey: "Soporte para varias claves", + fEventSigning: "Sinatura de eventos", + fSecureStorage: "Almacenamento seguro das claves", + fRemoteSigning: "Sinatura remota", + fAnyClient: "Funciona con calquera cliente", + fCrossDevice: "Sincronización entre dispositivos", + fMultiKeySupport: "Soporte para varias claves", + fNip07: "Compatibilidade NIP-07", + fNip46: "Compatibilidade NIP-46", + fFlexibleSigning: "Sinatura flexible", + fNativeIos: "App nativa para iOS", + fLightweight: "Lixeiro", + fEasyToUse: "Doado de usar", + fChromeSupport: "Compatibilidade con Chrome/Brave/Edge", + fLightningPayments: "Pagamentos Lightning", + fNostrSigning: "Sinatura de Nostr", + fWebln: "Compatibilidade con WebLN", + fNwc: "Compatibilidade con NWC", + fCleanUi: "Interface limpa", + fPrivacyFocused: "Centrado na privacidade", + fExtensionMobile: "Extensións no móbil", + fFullBrowser: "Experiencia completa de navegador", + fGraphene: "Funciona en GrapheneOS" + }, + betaDisclaimer: { + title: "Aviso: isto é beta", + subtitle: "Unhas palabras antes de entrar.", + ossTitle: "Código aberto e experimental", + ossBody: "Feito en aberto pola comunidade. Explora, fai un fork e rómpeo.", + betaTitle: "En beta: sen auditar", + betaBody: "O código aínda non pasou por unha auditoría de seguridade formal. Os erros pasan.", + moneyTitle: "Xestiona Bitcoin e Lightning reais", + moneyBody: "Usa diñeiro nel baixo a túa responsabilidade. Carga só o que poidas permitirte perder.", + finePrint: "Sen garantía de ningún tipo. Es o único responsable dos teus fondos e das túas claves.", + viewCode: "Ver o código", + accept: "Entendido, déixame entrar" + } + } +}; + +export default batch3; diff --git a/src/i18n/gl/batch4.ts b/src/i18n/gl/batch4.ts new file mode 100644 index 0000000..ceab977 --- /dev/null +++ b/src/i18n/gl/batch4.ts @@ -0,0 +1,1427 @@ +const batch4 = { + marketUi: { + gearSwap: { + title: "Troca de material", + subtitle: "Compra e vende material de skate usado con outros skaters", + listGear: "Publicar material", + searchPlaceholder: "Buscar material...", + allCategories: "Todas as categorías", + forSale: "En venda", + wtb: "Busco", + trust: "Confianza", + filterByTrust: "Filtrar por confianza", + allSellers: "Todos os vendedores", + verifiedOnly: "Só verificados", + trustedPlus: "De confianza+", + followingOnly: "Só os que segues", + pickupOrShip: "Recollida ou envío", + localPickup: "Recollida local", + ships: "Envío", + sortBy: "Ordenar por", + newest: "Máis recentes", + priceLowHigh: "Prezo: menor → maior", + priceHighLow: "Prezo: maior → menor", + trustScore: "Puntuación de confianza", + nearest: "Máis preto (local)", + listingFound: "{{count}} anuncio atopado", + listingsFound: "{{count}} anuncios atopados", + loadFailed: "Non se puideron cargar os anuncios", + tryLater: "Tenta de novo máis tarde.", + noneTitle: "Non se atoparon anuncios", + noneFiltered: "Ningún material coincide cos filtros actuais. Proba a limpialos ou a buscar outra cousa.", + noneFirst: "Sé o primeiro en publicar o teu material: táboas, eixes, rodas, zapatillas, o que sexa de skate!", + listYourGear: "Publica o teu material", + faqLink: "Tes dúbidas? Consulta as preguntas frecuentes →" + }, + hub: { + browse: "Explorar", + selling: "En venda", + myTrades: "Os meus tratos", + reputation: "Reputación", + loginListings: "Inicia sesión para xestionar os teus anuncios.", + loginReputation: "Inicia sesión para ver a túa reputación e as túas valoracións." + }, + marketplace: { + heroTitle: "Tendas e mercado", + heroBefore: "O noso mercado funciona con", + heroAfter: ": un mercado descentralizado en Nostr. As tendas de skate poden publicar os seus produtos e podes comprar e vender material usado directamente con Bitcoin.", + whatIsTitle: "Que é Plebeian Market?", + whatIsBody: "Plebeian Market é un mercado descentralizado construído sobre Nostr. Compra e vende material de skate directamente con outros skaters usando Bitcoin. Sen intermediarios, sen comisións, liberdade total.", + noFeesTitle: "Sen comisións", + noFeesBody: "Ningunha plataforma queda co 30 %. Vendas directas entre persoas.", + bitcoinTitle: "Pagamentos con Bitcoin", + bitcoinBody: "Paga con Bitcoin. Rápido, seguro e global.", + decentralizedTitle: "Descentralizado", + decentralizedBody: "Construído sobre Nostr. Ningunha empresa o controla.", + visit: "Visitar Plebeian Market", + buySellTitle: "Que podes comprar e vender", + catCompletes: "Táboas completas", + preBuilt: "Montadas de fábrica", + customSetups: "Montaxes personalizadas", + beginnerBoards: "Táboas para principiantes", + catParts: "Pezas da táboa", + decks: "Táboas", + trucks: "Eixes", + wheels: "Rodas", + bearings: "Rodamentos", + gripTape: "Lixa", + hardware: "Parafusos", + catApparel: "Roupa e protección", + skateShoes: "Zapatillas de skate", + clothing: "Roupa", + helmets: "Cascos", + pads: "Proteccións", + backpacks: "Mochilas", + catAccessories: "Accesorios", + tools: "Ferramentas", + wax: "Cera", + rails: "Barandillas", + stickers: "Pegatinas", + videos: "Vídeos", + magazines: "Revistas", + howItWorks: "Como funciona", + step1Title: "Explora os produtos", + step1Body: "Entra en Plebeian Market e explora material de skate de tendas e particulares de todo o mundo.", + step2Title: "Contacta cos vendedores", + step2Body: "Fala directamente cos vendedores por Nostr. Negocia prezos, fai preguntas e acorda o envío.", + step3Title: "Paga con Bitcoin", + step3Body: "Remata a compra con Bitcoin Lightning para pagamentos instantáneos e con comisións baixas.", + step4Title: "Deixa a túa opinión", + step4Body: "Valora a túa experiencia e axuda a construír a reputación dos vendedores en Nostr. As túas valoracións axudan á comunidade.", + needBitcoinTitle: "Necesitas Bitcoin?", + needBitcoinBefore: "Necesitarás unha carteira Lightning con algúns sats para facer compras. Consulta a", + onboardingGuide: "guía de inicio", + needBitcoinAfter: "para ver recomendacións de carteiras.", + ownShopTitle: "Tes unha tenda de skate?", + ownShopBody: "Publica a túa tenda en SkateSpots e vende os teus produtos en Plebeian Market. Chega a clientes de todo o mundo sen comisións de plataforma.", + addShop: "Engade a túa tenda", + startSelling: "Comeza a vender" + }, + listingDetail: { + notFound: "Anuncio non atopado", + notFoundBody: "Pode que se eliminase ou que a ligazón sexa incorrecta.", + backToGearSwap: "Volver á troca de material", + gearSwap: "Troca de material", + viewPhoto: "Ver foto {{n}}", + photoAlt: "{{title}} — foto {{n}}", + wantToBuy: "BUSCO", + sold: "VENDIDO", + description: "Descrición", + usuallyHere: "Normalmente aquí: {{availability}}", + listed: "Publicado {{date}}", + listingCountOne: "{{count}} anuncio · hai {{age}} días", + listingCountMany: "{{count}} anuncios · hai {{age}} días", + relistActive: "Volver a activar", + markSold: "Marcar como vendido", + deleteListing: "Eliminar anuncio", + makeOffer: "Facer unha oferta", + shareListing: "Compartir anuncio", + unknown: "Descoñecido", + linkCopied: "Ligazón copiada", + linkCopiedBody: "Compártea cun skater.", + copyFailed: "Non se puido copiar a ligazón", + relisted: "Anuncio reactivado", + relistedBody: "O teu anuncio está activo de novo.", + couldNotUpdate: "Non se puido actualizar", + somethingWrong: "Algo saíu mal" + }, + create: { + imageUploaded: "Imaxe subida", + uploadFailed: "Erro ao subir", + failed: "Erro", + cooldownActive: "Tempo de espera activo", + cooldownWait: "Espera {{time}} antes de crear outro anuncio", + limitReached: "Límite de anuncios acadado", + limitReachedBody: "Acadaches o límite mensual de {{limit}} anuncios", + feeRequired: "Cómpre pagar unha taxa", + feeRequiredBody: "Paga a taxa antispam para continuar", + titleRequired: "Título obrigatorio", + categoryRequired: "Categoría obrigatoria", + photoRequired: "Foto obrigatoria", + photoRequiredBody: "Para vender material cómpre polo menos unha foto", + nip05Required: "Cómpre verificación NIP-05", + nip05RequiredBody: "Necesitas un enderezo de Nostr verificado para publicar material", + priceRequired: "Prezo obrigatorio para anuncios con prezo fixo", + sizeRequired: "Tamaño obrigatorio", + sizeRequiredBody: "Selecciona un tamaño para {{category}}", + conditionRequired: "Estado obrigatorio", + conditionRequiredBody: "Selecciona o estado do teu {{category}}", + wtbPosted: "Solicitude publicada!", + wtbPostedBody: "Os vendedores poderán atopar a túa solicitude.", + listingCreated: "Anuncio creado!", + listingCreatedBody: "O teu material xa está publicado.", + publishFailed: "Erro ao publicar", + loginRequired: "Cómpre iniciar sesión", + loginRequiredBody: "Necesitas iniciar sesión para publicar material.", + backToStash: "Volver ao Stash", + backToSpot: "Volver a {{title}}", + backToMarketplace: "Volver ao mercado", + backToMap: "Volver ao mapa", + wantToBuy: "Busco", + listYourGear: "Publica o teu material", + wtbSubtitle: "Dille á comunidade que material estás a buscar", + sellSubtitle: "Vende material de skate á comunidade", + fromStashTitle: "Anuncio desde o teu Stash", + fromStashBody: "Xa enchemos os datos do elemento do teu Stash. Revísaos e escolle un punto de encontro!", + nip05Banner: "Para evitar spam e protexer aos compradores, necesitas un enderezo de Nostr verificado (NIP-05) para publicar material.", + verifiedLabel: "Verificado:", + checkingTrust: "Comprobando o teu nivel de confianza...", + trustLevel: "Nivel de confianza:", + trusted: "De confianza", + active: "Activo", + newcomer: "Novato", + newUser: "Usuario novo", + remaining: "{{remaining}} de {{limit}} anuncios restantes este mes", + cooldownBody: "Os usuarios novos teñen 24 horas de espera entre anuncios.", + timeRemaining: "Tempo restante: {{time}}", + monthlyLimitTitle: "Límite mensual acadado", + monthlyLimitBody: "Acadaches o límite de {{limit}} anuncios este mes. Constrúe a túa reputación creando spots ou completando vendas para aumentar o límite.", + powAccepted: "Proba de traballo aceptada!", + feePaid: "Taxa pagada!", + canCreateNow: "Xa podes crear o teu anuncio.", + whatDoTitle: "Que queres facer?", + sellGear: "VENDER MATERIAL", + categoryTitle: "Categoría *", + categoryHint: "Que tipo de material?", + detailsTitle: "Detalles do material", + detailsWtbHint: "Describe o que estás buscando", + detailsSellHint: "Fálalles aos compradores do teu artigo", + titleLabel: "Título *", + titlePlaceholderWtb: "Busco táboa de 8.0\"", + titlePlaceholderSell: "Táboa Palace de 8.25\" practicamente nova", + summaryLabel: "Resumo curto", + summaryPlaceholderWtb: "Calquera marca, prefiro gráficos discretos", + summaryPlaceholderSell: "Moi bo estado, apenas usada", + descriptionLabel: "Descrición", + descriptionPlaceholderWtb: "Describe exactamente o que buscas: marcas preferidas, estado, etc.", + descriptionPlaceholderSell: "Regaláronme esta táboa polo Nadal pero prefiro un tamaño menor. Podes probala antes de comprala!", + fulfilmentLabel: "Como se entrega?", + pickup: "Recollida", + pickupHint: "Quedamos preto", + ships: "Envío", + shipsHint: "Pólo por correo", + both: "Ambos", + bothHint: "Calquera", + addressNote: "Nunca recollemos o teu enderezo: para envíos, compárteo en privado no chat do trato.", + postageLabel: "Quen paga os portes?", + requireEscrow: "Esixir depósito en garantía", + requireEscrowHint: "Pídelle ao comprador que liquide mediante o depósito en garantía de Cashu.", + postageBuyer: "Paga o comprador", + postageSeller: "Pago eu", + postageSplit: "A medias", + sizeLabel: "Tamaño", + selectSize: "Selecciona tamaño", + truckHeight: "Altura do eixe", + selectHeight: "Selecciona altura", + wheelHardness: "Dureza das rodas", + selectHardness: "Selecciona dureza", + pricingTitle: "Prezo", + pricingWtbHint: "Como queres pagar?", + pricingSellHint: "Como queres vender?", + priceLabel: "Prezo *", + currencyLabel: "Moeda", + photosTitle: "Fotos", + photosSellHint: "Cómpre polo menos unha foto", + photosWtbHint: "Opcional: engade imaxes de referencia", + productPhoto: "Produto {{n}}", + upload: "Subir", + photosNote: "Engade ata 5 fotos. A primeira será a principal.", + pickupLocationTitle: "Punto de recollida", + pickupLocationHint: "Vincula un spot de skate para facilitar os encontros", + searchSpots: "Buscar spots...", + noSpotsFound: "Non se atoparon spots. Proba outra busca.", + availabilityLabel: "Cando adoitas estar dispoñible?", + availabilityPlaceholder: "Fins de semana 10-14 h, martes e xoves pola tarde", + availabilityHint: "Axuda aos compradores a coordinar encontros contigo", + durationTitle: "Duración do anuncio", + durationHint: "Canto tempo debería estar activo o anuncio?", + publishing: "Publicando...", + checkingEligibility: "Comprobando se cumpre os requisitos...", + cooldownButton: "ESPERA: {{time}}", + limitReachedButton: "LÍMITE ACADADO", + payFeeButton: "PAGAR TAXA E CONTINUAR", + postWtbButton: "PUBLICAR BUSCA", + listForSaleButton: "POÑER MATERIAL EN VENDA" + }, + trades: { + title: "Os meus tratos", + loginBody: "Inicia sesión para xestionar os teus tratos e a túa reputación no mercado.", + subtitle: "Confirmacións, solicitudes e a reputación que xeran. O pagamento acórdase co outro skater: a app só rexistra o trato.", + actionNeeded: "Require acción", + askedToConfirmSale: "pediu que confirmes unha venda", + recordedSale: "rexistrou unha venda: confirma a túa parte", + confirmSale: "Confirmar venda", + confirm: "Confirmar", + stateRevoked: "revogado", + stateVerifying: "verificando", + nothingWaiting: "Non tes nada pendente agora. 🛹", + yourRecords: "Os teus rexistros de tratos", + noTrades: "Aínda non hai tratos. Pecha un trato e confírmao para comezar a construír reputación.", + browseGearSwap: "Explorar a troca de material", + roleSold: "Vendido", + roleBought: "Comprado", + roleTrade: "Troco", + with: "con", + viewListing: "Ver anuncio", + revoke: "Revogar", + revokeTitle: "Revogar este rexistro de trato?", + revokeBody: "Deixará de contar para a túa reputación. A outra parte conserva a súa propia certificación. Úsao para un trato disputado ou por erro.", + revokeNote: "Retirado polo autor.", + revoked: "Rexistro de trato revogado", + revokedBody: "Xa non conta para a reputación.", + revokeFailed: "Non se puido revogar o trato", + saleConfirmed: "Venda confirmada", + saleConfirmedBody: "Xa poden confirmar a súa parte.", + saleConfirmFailed: "Non se puido confirmar a venda", + tradeConfirmed: "Trato confirmado", + tradeConfirmedBody: "Reputación actualizada para ambos.", + tradeConfirmFailed: "Non se puido confirmar o trato", + somethingWrong: "Algo saíu mal." + }, + card: { + listingDeleted: "Anuncio eliminado", + listingRemoved: "Anuncio retirado", + listingDeletedBody: "O teu anuncio foi eliminado. Os relays que respectan as eliminacións deixarán de servilo.", + listingRemovedBody: "Este anuncio retirouse e ocultarase en todo SkateSpots.", + removeFailed: "Erro ao retirar", + somethingWrong: "Algo saíu mal", + markedSold: "Marcado como vendido", + markedSoldBody: "O teu anuncio xa aparece como vendido.", + couldNotUpdate: "Non se puido actualizar", + relisted: "Anuncio reactivado", + relistedBody: "O teu anuncio está activo de novo.", + listingOptions: "Opcións do anuncio", + report: "Denunciar", + removeAdmin: "Retirar (admin)", + postage: "portes", + newSeller: "Vendedor novo", + saleOne: "{{count}} venda", + saleMany: "{{count}} vendas", + iHaveThis: "Teño isto!", + deleteTitle: "Eliminar \"{{title}}\"?", + adminRemoveTitle: "Retirar este anuncio? (admin)", + deleteBody: "Isto pide aos relays que retiren o teu anuncio \"{{title}}\". Non se pode desfacer desde aquí: terías que crear un novo.", + adminRemoveBody: "Como admin de SkateSpots estás retirando \"{{title}}\". Ocultarase para todo o mundo na app e enviarase unha solicitude de eliminación aos relays.", + deleting: "Eliminando…", + removing: "Retirando…", + deleteListing: "Eliminar anuncio", + removeListing: "Retirar anuncio", + reportCount: "{{count}} denuncia", + reports: "{{count}} denuncias", + viewTitle: "Ver {{title}}", + reportListing: "Denunciar anuncio", + manageListing: "Xestionar anuncio", + trusted: "De confianza", + daysOld: "hai {{n}} días", + monthsOld: "hai {{n}} meses", + yearsOld: "hai {{n}} anos", + listingsCount: "{{count}} anuncios", + postageBuyer: "portes: comprador", + postageSeller: "portes: vendedor", + postageSplit: "portes: a medias", + powTitle: "Proba de traballo NIP-13: antispam gratuíta", + verifiedTradeOne: "{{count}} trato verificado", + verifiedTrades: "{{count}} tratos verificados", + reportSubmitted: "Denuncia enviada", + reportSubmittedBody: "Grazas por axudar a manter o mercado seguro.", + reportFailed: "Erro ao enviar a denuncia", + selectReason: "Selecciona un motivo", + reportDialogBody: "Axuda a manter o mercado seguro denunciando anuncios inadecuados ou enganosos.", + reasonLabel: "Motivo da denuncia *", + detailsLabel: "Detalles adicionais (opcional)", + detailsPlaceholder: "Engade calquera contexto que poida axudar...", + reportNote: "As denuncias publícanse en Nostr e axudan á comunidade a identificar anuncios problemáticos. Os anuncios con varias denuncias poden ocultarse automaticamente.", + submitting: "Enviando...", + submitReport: "Enviar denuncia" + }, + tradeActions: { + tradeConfirmed: "Trato confirmado", + tradeConfirmedWithProof: "Anexouse un recibo verificable: conta para os tratos verificados.", + tradeConfirmedBody: "Reputación actualizada para ambos.", + tradeConfirmFailed: "Non se puido confirmar o trato", + somethingWrong: "Algo saíu mal.", + requestNote: "Confirma o noso trato de \"{{title}}\", por favor.", + requestSent: "Confirmación solicitada", + requestSentBody: "O vendedor xa pode confirmar a venda e construír a reputación de ambos.", + requestFailed: "Non se puido enviar a solicitude", + escrowRefunded: "Depósito en garantía devolto", + escrowRefundedBody: "Os fondos volveron á túa carteira Cashu.", + escrowRefundFailed: "Non se puido devolver o depósito", + confirmThisTrade: "Confirmar este trato", + escrowAndRequest: "Garantía e solicitude", + shipsEscrowHint: "Trato con envío: usa o depósito en garantía para que ninguén envíe ao baleiro. Comparte o teu enderezo en privado no chat do trato, nunca aquí.", + shipsHint: "Trato con envío: prefire o depósito en garantía se o vendedor o ofrece e comparte o teu enderezo só no chat.", + askSeller: "Pedir ao vendedor que confirme", + waitingSeller: "Confirmación solicitada: agardando polo vendedor.", + refundEscrow: "Devolver a garantía", + buyWithSats: "Comprar con sats", + depositTitle: "Sinal de boa fe (opcional)", + payDeposit: "Pagar sinal", + depositBefore: "Un troco non ten factura, así que así é como acada un", + verifiableCost: "custo verificable", + depositAfter: ". Devolución á entrega (ou usa o depósito en garantía de Cashu para unha devolución automática). ⚠️ Demostra compromiso, non entrega.", + depositPaid: "Sinal pagado", + depositPaidBody: "Gardado: anexarase cando se confirme o trato.", + paid: "Pagado ⚡", + paidWithProof: "Gardouse un recibo verificable: confirma o trato para que conte.", + paidBody: "Pídelle ao vendedor que confirme o trato para que conte para ambos." + }, + loadFailed: "Non se puido contactar cos relays. Comproba a conexión e téntao de novo.", + statusPending: "pendente", + offers: { + accepted: "Aceptada", + declined: "Rexeitada", + withdrawn: "Retirada", + open: "Aberta", + closeDeal: "Pechar trato", + noAmount: "sen importe", + titleOwner: "Ofertas ({{count}})", + loadFailed: "Non se puideron cargar as ofertas. Comproba a conexión e téntao de novo.", + titleBuyer: "As túas negociacións", + you: "Ti", + them: "A outra parte", + paidAskConfirm: "Pagado: pídelle ao vendedor que confirme o trato.", + payWithSats: "Pagar con sats", + accept: "Aceptar", + decline: "Rexeitar", + counter: "Contraoferta", + counterPlaceholder: "A túa contraoferta (sats)", + send: "Enviar", + counterItemPlaceholder: "…ou fai contraoferta cun artigo para trocar (opcional)", + waitingOn: "Agardando por", + waitingOnSuffix: ": volverache a quenda se fan contraoferta.", + withdraw: "Retirar", + dmAccepted: "✅ A túa oferta foi aceptada! Escribe para acordar a entrega.", + dmDeclined: "❌ A túa oferta foi rexeitada.", + offerAccepted: "Oferta aceptada", + offerDeclined: "Oferta rexeitada", + respondFailed: "Non se puido responder", + somethingWrong: "Algo saíu mal.", + offerWithdrawn: "Oferta retirada", + withdrawFailed: "Non se puido retirar", + enterAmountOrItem: "Introduce un importe ou un artigo para trocar", + counterDm: "Contraoferta", + counterSent: "Contraoferta enviada", + counterSentBody: "Agora é a súa quenda.", + counterFailed: "Non se puido enviar a contraoferta" + }, + offer: { + validAmount: "Introduce un importe válido", + describeOffer: "Describe a túa oferta", + describeOfferBody: "Engade un importe, un artigo para trocar ou unha mensaxe.", + dmAmount: " por {{amount}} sats", + dmItem: " (ofrezo: {{item}})", + dmBody: "🛹 Nova oferta no teu anuncio \"{{title}}\"{{amount}}{{item}}.{{note}}", + sent: "Oferta enviada", + sentBody: "{{sellerName}} pode aceptala ou rexeitala.", + sendFailed: "Non se puido enviar a oferta", + somethingWrong: "Algo saíu mal.", + title: "Facer unha oferta", + description: "Ofrece sats ou troca algo: {{sellerName}} pode aceptar, rexeitar ou facer contraoferta. A entrega acordádesa entre vós.", + amountLabel: "Importe (sats, opcional)", + amountPlaceholder: "ex.: 45000", + itemLabel: "Ou trocar algo (opcional)", + itemPlaceholder: "ex.: a miña táboa de 8.25 + rodas de reposto", + itemHint: "Vas trocar? Pon aquí o que ofreces: podes combinalo con sats.", + messageLabel: "Mensaxe (opcional)", + messagePlaceholder: "Algo que o vendedor deba saber…", + send: "Enviar oferta" + }, + markSold: { + enterBuyer: "Introduce o npub do comprador", + dealClosed: "Trato pechado 🎉", + dealClosedBody: "Anuncio marcado como vendido e trato publicado para a reputación.", + closeFailed: "Non se puido pechar o trato", + somethingWrong: "Algo saíu mal.", + title: "Pechar o trato", + description: "Marca este anuncio como vendido e rexistra unha certificación de trato asinada para ti e o comprador.", + buyerLabel: "npub do comprador", + methodLabel: "Como se pagou? (declarado por ti)", + amountLabel: "Importe en sats (opcional)", + submit: "Marcar vendido" + }, + handoff: { + title: "Acordar a entrega", + suggest: "Suxerir hora e lugar", + suggestDm: "Ola! Quero comprar \"{{title}}\". Suxíreme unha hora e un lugar para encontrarnos: encántame quedar nun spot público de skate.", + orMeetAt: "Ou quedamos nun spot público preto:", + spotDm: "Ola! Quero comprar \"{{title}}\". Quedamos en {{spot}}? {{url}}", + shareDelivery: "Compartir datos de entrega", + deliveryDm: "Ola! Quero comprar \"{{title}}\". Estes son os meus datos de entrega:\n\nNome:\nEnderezo:\n\n(Só comparte o que necesite a mensaxería.)", + useLocker: "Usar un punto de recollida", + lockerDm: "Ola! Quero comprar \"{{title}}\". Podemos usar un punto de recollida en vez do meu enderezo?", + noteBefore: "Estes datos quedan no chat privado: SkateSpots nunca os ve. Para envíos, prefire", + escrow: "o depósito en garantía", + noteMiddle: ", e", + neverPay: "nunca pagues fóra dos canais da app", + noteAfter: ". Quedade en público." + }, + shipping: { + noCounterparty: "Aínda non hai outra parte", + noCounterpartyBody: "O vendedor debe rexistrar primeiro a venda (nomeando ao comprador).", + markedShipped: "Marcado como enviado", + markedReceived: "Marcado como recibido", + issueReported: "Problema notificado", + receivedBody: "Grazas: isto non libera o depósito en garantía; liquida directamente co vendedor.", + notifiedBody: "A outra parte foi notificada.", + updateFailed: "Non se puido actualizar", + somethingWrong: "Algo saíu mal.", + title: "Envío", + shipped: "enviado", + received: "recibido", + issue: "problema", + trackingPlaceholder: "Número de seguimento (opcional)", + iShipped: "Xa o enviei", + iReceived: "Recibino", + reportIssue: "Notificar un problema", + noteBefore: "Declarado por ti: unha nota loxística,", + notProof: "non unha proba", + noteAfter: ". Marcar \"recibido\" non libera o depósito en garantía. ⚠️ Non fotografes un paquete co enderezo visible e só comparte un número de seguimento se non che importa que sexa público." + }, + pay: { + sent: "Pagamento enviado ⚡", + sentWithProof: "Gardouse un recibo de pagamento verificable: contarase como pagamento verificado.", + sentBody: "Avísalle ao vendedor: pode confirmar o trato para que conte para ambos.", + failed: "Erro no pagamento", + title: "Pagar con sats", + descSendPrefix: "Envía", + descSendSuffix: "a {{sellerName}} para liquidar este trato.", + descSettle: "Liquida este trato directamente con {{sellerName}}.", + paid: "Pagado!", + paidBody: "Pídelle ao vendedor que confirme o trato: dúas confirmacións constrúen a reputación de ambos.", + noMethod: "{{sellerName}} non configurou un método de pagamento (nin factura Lightning nin enderezo). Escríbelle para acordar o pagamento.", + nonSats: "Esta oferta ten prezo en {{currency}}. O pagamento na app só se fai en sats. Liquida directamente co vendedor.", + unsupported: "Este código de pagamento (unha solicitude Cashu) aínda non é compatible. Pídelle ao vendedor unha factura Lightning ou un enderezo.", + ownListing: "Este é o teu propio anuncio.", + paying: "Pagando…", + pay: "Pagar", + payAmount: "Pagar {{amount}} sats", + footnote: "Paga desde a túa carteira conectada (NWC, WebLN ou Cashu) directamente a {{sellerName}}: SkateSpots nunca retén os fondos." + }, + spamFee: { + invoiceComment: "Taxa de anuncio de SkateSpots", + generateFailed: "Erro ao xerar a factura", + paymentSuccess: "Pagamento completado!", + satsSent: "{{amount}} sats enviados a {{name}}", + autoPayFailed: "Erro no pagamento automático", + autoPayFailedBody: "Paga manualmente co código QR ou a factura", + invoiceCopied: "Factura copiada!", + copyFailed: "Erro ao copiar", + received: "Pagamento recibido!", + receivedBody: "A túa taxa de {{amount}} sats foi pagada. Xa podes crear o teu anuncio.", + title: "Taxa única de publicación", + subtitle: "Como novo membro, cómpre unha pequena taxa para o teu primeiro anuncio.", + whyTitle: "Por que teño que pagar?", + spamLabel: "Prevención de spam:", + spamBody: "Esta taxa impide que bots e estafadores inunden o mercado con anuncios falsos.", + trustLabel: "Construír confianza:", + trustBody: "As contas novas deben demostrar compromiso antes de publicar. Despois duns cantos anuncios exitosos, a taxa elimínase.", + supportsLabel: "Apoia a comunidade:", + supportsPrefix: "A taxa vai para", + supportsSpotOwner: ": a persoa que creou este spot!", + supportsPlatform: ": axuda a manter SkateSpots en marcha.", + oneTimeFee: "~${{usd}} USD • Taxa única", + payToContinue: "Pagar {{amount}} sats para continuar", + proveWork: "Demostrar traballo: gratis", + proveWorkBody: "Gasta uns segundos de CPU en vez de {{amount}} sats. Sen diñeiro, sen carteira: un imposto antispam, non un pagamento.", + generating: "Xerando factura...", + processing: "Procesando o pagamento...", + qrAlt: "Código QR de pagamento", + copyInvoice: "Copiar factura", + openWallet: "Abrir carteira", + payWithWallet: "Pagar coa carteira conectada", + scanHint: "Escanea o código QR cunha carteira Lightning ou usa os botóns de arriba", + skipTitle: "Como evitar esta taxa no futuro:", + skip1: "Engade un spot de skate ao mapa", + skip2: "Completa 2-3 anuncios con éxito", + skip3: "Constrúe a túa reputación na comunidade", + skipNote: "Os membros de confianza teñen anuncios ilimitados e gratis!" + }, + reputation: { + highlyTrusted: "Comerciante moi fiable", + building: "Construíndo reputación", + newTrader: "Comerciante novo", + title: "Tratos", + verified: "Verificado", + sales: "Vendas", + purchases: "Compras", + tradeConfirmedOne: "trato confirmado mutuamente", + tradeConfirmedMany: "tratos confirmados mutuamente", + with: "con", + personOne: "persoa", + personMany: "persoas", + awaiting: "Agardando confirmación mutua", + withPaymentProof: "cunha proba de pagamento anexa", + selfReported: "(declarado por ti, sen verificar)", + paymentVerified: "pagamento verificado", + zapReceipt: "(recibo de zap)", + singlePartnerWarning: "Todas as confirmacións son coa mesma conta. A confirmación mutua é declarada, así que toma este rexistro con cautela.", + lowDiversityWarning: "A maioría das confirmacións veñen de moi poucas contas. Un grupo pequeno que se avala entre si pode parecer moi activo: toma este rexistro con cautela.", + ringWarning: "Estas contas tratan case sempre entre elas: un círculo pechado. A confirmación mutua dentro dun círculo é unha evidencia débil.", + weighted: "Ponderado por confianza e actividade", + footnote: "Declarado e asinado mutuamente: un sinal, non unha proba de pagamento." + }, + reputationPanel: { + reviewOfYou: "Valoración sobre ti", + yourRecord: "o teu rexistro", + listing: "Anuncio", + averageOne: "media de {{count}} valoración", + averageMany: "media de {{count}} valoracións", + reviewsTitle: "Valoracións e rexistros de tratos", + fromOthers: "{{count}} doutras persoas", + emptyBefore: "Aínda non hai rexistros de tratos. Pecha un trato e confírmalo en", + emptyAfter: ": cada confirmación convértese nunha valoración nos dous perfís." + }, + recommendations: { + published: "Recomendación publicada", + publishedBody: "Grazas por avalar.", + failed: "Non se puido recomendar", + somethingWrong: "Algo saíu mal.", + title: "Comerciante de confianza", + recommendedBy: "Recomendado por", + skaterOne: "skater", + skaterMany: "skaters", + none: "Aínda non hai recomendacións.", + youRecommend: "Recomendas a este comerciante ✓", + recommend: "Recomendar como comerciante de confianza" + }, + notification: { + newOffer: "Nova oferta", + counterOffer: "Contraoferta", + offerAccepted: "Oferta aceptada", + offerDeclined: "Oferta rexeitada", + offerWithdrawn: "Oferta retirada", + confirmTrade: "Confirmar un trato", + tradeConfirmed: "Trato confirmado", + reviewOffer: "Revisar a oferta", + openListing: "Abrir anuncio" + }, + confirmRow: { + rateTrade: "Valora o trato:" + }, + deckRating: { + title: "{{value}}/10 táboas", + aria: "{{n}} de 10" + }, + clink: { + tip: "Propina en Bitcoin", + copiedBody: "Código CLINK copiado ao portapapeis.", + copyFailed: "Erro ao copiar", + copyFailedBody: "Non se puido acceder ao portapapeis.", + whatIs: "Que é CLINK?", + tooltipTitle: "Paga directamente con Bitcoin a través de Nostr", + tooltipBody: "CLINK é un código de pagamento autocustodiado: sen conta na app, sen intermediarios. Escanéao cunha carteira Lightning compatible e a propina vai directamente para a persoa.", + descRecipient: "Envía un pagamento Bitcoin (Lightning) autocustodiado a {{recipientName}}, sen intermediarios.", + descGeneric: "Envía un pagamento Bitcoin (Lightning) autocustodiado a través de Nostr, sen intermediarios.", + qrAlt: "Código QR da oferta CLINK", + copyCode: "Copiar código CLINK", + openWallet: "Abrir na carteira CLINK", + copyToWallet: "Copiar código para a túa carteira", + priceFixed: "Fixo: {{amount}} sats", + priceFixedShort: "Prezo fixo", + priceVariable: "Prezo variable", + priceVariableCurrency: "Prezo en {{currency}}", + priceSpontaneous: "Escolle ti o importe", + footnote: "Escanea cunha carteira compatible con CLINK (por exemplo, ShockWallet). Se non se abre nada, copia o código de arriba: pode que non teñas unha carteira compatible con CLINK instalada. Sen custodio, sen servidor web: a factura solicítase directamente por Nostr." + }, + paymentReadiness: { + ready: "Podes cobrar", + notReady: "Configura os pagamentos para cobrar", + readyBefore: "O teu enderezo Lightning", + readyAfter: " está no teu perfil: a xente pode enviarche zaps e pagarche directamente.", + silentSet: " Tamén tes configurado un enderezo de pagamentos silenciosos de Bitcoin.", + notReadyBefore: "Engade un enderezo Lightning (e, opcionalmente, un enderezo de pagamentos silenciosos de Bitcoin) ao teu", + nostrProfile: "perfil de Nostr", + notReadyAfter: "para que os skaters poidan pagarche. Configúrase unha vez e funciona en todos os perfís que teñas aquí." + }, + seller: { + trade: "Trato", + active: "Activo", + markSold: "Marcar vendido", + yourListings: "Os teus anuncios", + activeCount: "{{count}} activos", + listItem: "Publicar un artigo", + loading: "Cargando os teus anuncios…", + empty: "Aínda non tes anuncios.", + listFirst: "Publica o teu primeiro artigo" + }, + noffer: { + label: "Código de oferta CLINK", + optional: "(opcional, avanzado)", + offerId: "Oferta: {{id}}", + relay: "Relay: {{relay}}", + invalidBefore: "Iso non parece un código", + invalidAfter: "válido.", + valid: "Código CLINK válido: aparecerá un botón \"Pagar con CLINK\" no teu perfil.", + help: "Pega un código de pagamento CLINK autocustodiado (por exemplo, de ShockWallet / Lightning.Pub) para aceptar pagamentos Lightning nativos de Nostr, sen servidor web nin custodio.", + learnSpecs: "Ver especificacións" + }, + escrowPanel: { + escrowed: "{{amount}} sats en garantía", + mint: "Ceca", + refundSinceBefore: "O comprador pode solicitar a devolución desde", + redeemBefore: "O vendedor pode canxear agora · o comprador recupera despois", + noExpiry: "Este token non ten caducidade." + }, + escrowRequest: { + enterAmount: "Introduce un importe para a garantía", + minLock: "Bloquea durante polo menos {{days}} días", + requestNote: "Deixei {{amount}} sats en garantía para o noso trato: confirma a venda, por favor.", + created: "Garantía creada 🎉", + createdBody: "{{amount}} sats bloqueados durante {{days}} días. {{sellerName}} pode canxealos á entrega.", + createFailed: "Non se puido crear a garantía", + somethingWrong: "Algo saíu mal.", + title: "Poñer este trato en garantía", + description: "Os fondos quedan bloqueados para {{sellerName}} e podes recuperalos se o trato non se completa despois do prazo. Require unha carteira Lightning conectada.", + amountLabel: "Importe (sats)", + daysLabel: "Devolución ao comprador despois de (días)", + daysHint: "Despois destes días podes recuperar os fondos se o vendedor non entregou.", + lockedNotSent: "Os fondos están bloqueados en garantía e gardados neste dispositivo, pero a solicitude non se enviou. Volve abrir o anuncio para tentalo de novo. Non pagues outra vez.", + mintLabel: "Ceca (onde se bloquean os fondos)", + sellerMintHint: "O vendedor prefire esta ceca; os fondos bloqueados aquí son os máis doados de canxear para el.", + mintHint: "A garantía reside nesta ceca. O vendedor canxea aquí, así que escolle unha na que confiedes ambos.", + noMints: "Non hai cecas dispoñibles", + p2pkUnsupported: "Esta ceca non declara compatibilidade con P2PK (NUT-11), así que non se pode bloquear a garantía aquí. Escolle outra ceca.", + nativeOnly: "O depósito en garantía de Cashu só está dispoñible na app de SkateSpots (non na versión web).", + lockAndRequest: "Bloquear e solicitar" + } + }, + placesUi: { + addToCalendar: { + add: "Engadir ao calendario", + appleOutlook: "Apple / Outlook (.ics)", + google: "Google Calendar" + }, + attendees: { + goingCount: "van", + goingTab: "Van ({{count}})", + interestedTab: "Interesados ({{count}})", + nobodyGoing: "Aínda ninguén confirmou.", + nobodyInterested: "Aínda ninguén marcou interese.", + noRsvps: "Aínda non hai confirmacións: sé o primeiro en dicir que vas.", + trusted: "De confianza", + trustedTitle: "Alguén que segues ou un cartógrafo de confianza", + youTrust: "en quen confías" + }, + bounty: { + addressCoords: "Enderezo e coordenadas", + basic: "Básico", + contactInfo: "Información de contacto", + description: "Descrición", + earningPotential: "Potencial de ingresos", + excellent: "Excelente!", + gettingStarted: "Para comezar", + good: "Bo", + onePhoto: "Polo menos 1 foto", + openingHours: "Horario de apertura", + shopName: "Nome da tenda", + threePhotos: "3+ fotos", + tip: "💡 Canta máis calidade, máis zaps da comunidade!" + }, + calendar: { + allDay: "Todo o día", + eventDay: "Día do evento", + eventsOnDay: "{{count}} eventos", + eventsThisMonth: "eventos este mes", + going: "van", + months: { + january: "Xaneiro", + february: "Febreiro", + march: "Marzo", + april: "Abril", + may: "Maio", + june: "Xuño", + july: "Xullo", + august: "Agosto", + september: "Setembro", + october: "Outubro", + november: "Novembro", + december: "Decembro" + }, + nextMonth: "Mes seguinte", + nothingOnDay: "Non hai nada este día.", + prevMonth: "Mes anterior", + tapHighlighted: "Toca un día destacado para ver o que hai.", + today: "Hoxe", + tourDay: "Día da xira", + toursOnDay: "{{count}} xiras", + toursThisMonth: "xiras este mes", + weekdays: { + sun: "Dom", + mon: "Lun", + tue: "Mar", + wed: "Mér", + thu: "Xov", + fri: "Ven", + sat: "Sáb" + }, + weekdaysShort: { + sun: "D", + mon: "L", + tue: "M", + wed: "M", + thu: "X", + fri: "V", + sat: "S" + } + }, + countdown: { + ended: "Rematou", + happeningNow: "Acontece agora", + inDays: "En {{count}} días", + inHoursMins: "En {{hours}} h {{mins}} min", + inMins: "En {{count}} min", + startingNow: "Comeza agora", + tomorrow: "Mañá" + }, + createEvent: { + add: "Engadir", + addNewSpot: "Engadir un spot novo →", + changeSpot: "Cambiar spot", + created: "Evento creado!", + createdDesc: "O teu evento publicouse na rede.", + entryFee: "Entrada", + entryFeeHint: "(opcional: por exemplo, \"500 sats\" ou \"10 €\")", + entryFeePlaceholder: "Deixa en branco para eventos gratuítos", + featuring: "Con {{name}}", + featuringDesc: "Este número etiquetarase como música ao vivo e aparecerá na súa lista de concertos.", + fundingGoal: "Obxectivo de financiamento", + fundingGoalHint: "(opcional: sats para financiar con zaps)", + fundingGoalPlaceholder: "ex.: 50000", + geoNotSupported: "Xeolocalización non compatible", + geoNotSupportedDesc: "O teu navegador non admite xeolocalización.", + hideSpots: "Ocultar spots", + hostingAs: "Organizas como {{name}}", + hostingAsDesc: "Este evento aparecerá na páxina do teu crew e etiquetarase como organizado polo crew.", + imageUploaded: "Imaxe subida", + imageUploadedDesc: "A túa imaxe subiuse correctamente.", + invalidDate: "Data non válida", + invalidDateDesc: "Introduce unha data e hora de inicio válidas.", + invalidEnd: "Hora de fin non válida", + invalidEndDesc: "A hora de fin debe ser posterior á de inicio.", + linkedTo: "Vinculado a: {{title}}", + linkToSpot: "Vincular a un spot de skate", + linkToShop: "Vincular a unha tenda", + selectedShop: "Vinculado a {{name}}", + selectShopHint: "Opcional: celébrase ou organízase nunha tenda de skate.", + selectShop: "Seleccionar tenda", + changeShop: "Cambiar tenda", + hideShops: "Ocultar tendas", + searchShops: "Buscar tendas…", + noShopsMatch: "Ningunha tenda coincide coa busca.", + noShopsAvailable: "Aínda non hai tendas dispoñibles.", + linkToTour: "Vincular a unha xira (opcional)", + linkTourDesc: "Vincula este evento a unha xira para mostrar que forma parte dunha serie máis ampla. Ideal para xiras nacionais, aventuras internacionais ou días de desafío do World Destruction Tour.", + loadingSpots: "Cargando spots...", + loadingTours: "Cargando xiras...", + locationError: "Erro de localización", + locationFound: "Localización atopada", + locationFoundDesc: "A túa localización actual foi definida.", + logoUrl: "URL do logotipo (opcional)", + noSpotsAvailable: "Non hai spots dispoñibles", + noSpotsMatch: "Ningún spot coincide coa busca", + noTourLinked: "Sen xira vinculada", + optional: "(opcional)", + pastDesc: "Escolle unha data e hora futuras para que os skaters poidan confirmar e acudir.", + pastTitle: "Esa hora de inicio xa pasou", + publishFailed: "Erro ao publicar", + publishFeatured: "Publicar evento destacado", + removeSponsor: "Quitar patrocinador", + searchSpots: "Busca spots por nome, localización ou categoría...", + selectedSpot: "Seleccionado: {{name}}", + selectSpot: "Seleccionar spot", + selectSpotHint: "Selecciona no mapa o spot onde se celebra este evento", + selectTour: "Seleccionar xira", + somethingWrong: "Algo saíu mal", + sponsorName: "Nome do patrocinador", + sponsors: "Patrocinadores", + sponsorsHint: "Tes unha tenda ou marca que apoia isto? Engade o seu logotipo: aparecerá nunha franxa \"Presentado por\" no evento.", + startRequired: "Hora de inicio obrigatoria", + startRequiredDesc: "Introduce cando comeza o evento.", + titleRequired: "Título obrigatorio", + titleRequiredDesc: "Introduce un nome para este evento.", + uploadFailed: "Erro ao subir", + uploadFailedDesc: "Non se puido subir a imaxe", + websiteUrl: "URL do sitio web (opcional)" + }, + createShop: { + address: "Enderezo da tenda", + addressPlaceholder: "ex.: Rúa do Vilar 12, 15705 Santiago de Compostela", + addressRequired: "Enderezo obrigatorio", + addressRequiredDesc: "Introduce o enderezo da túa tenda.", + contactHint: "Axuda aos clientes a contactar contigo (recoméndase polo menos un método de contacto)", + contactInfo: "Información de contacto", + created: "🎉 Tenda engadida!", + createdDesc: "A túa tenda de skate xa está no mapa. Os skaters poden enviarche zaps para agradecercho!", + descriptionPlaceholder: "Fálalles da túa tenda, do que vendes, da túa especialidade...", + detailsDesc: "Fálalle á comunidade da túa tenda. Todos os campos marcados con * son obrigatorios.", + email: "Correo electrónico", + hoursOfOperation: "Horario", + hoursPlaceholder: "ex.: luns a sábado de 10 a 20 h, domingo de 12 a 18 h", + instagram: "Instagram", + invalidCoords: "Coordenadas non válidas", + invalidCoordsDesc: "Introduce unha latitude (-90 a 90) e unha lonxitude (-180 a 180) válidas.", + latPlaceholder: "Latitude (ex.: 42.8805)", + lngPlaceholder: "Lonxitude (ex.: -8.5457)", + locationRequired: "Localización obrigatoria", + locationRequiredDesc: "Introduce as coordenadas ou usa a túa localización actual.", + loginToAdd: "Necesitas iniciar sesión para engadir unha tenda de skate.", + namePlaceholder: "ex.: Supreme Santiago", + nameRequired: "Nome da tenda obrigatorio", + nameRequiredDesc: "Introduce un nome para a túa tenda.", + phoneNumber: "Teléfono", + publishFailedDesc: "Algo saíu mal. Consulta a consola para máis detalles.", + shopPhotoAlt: "Tenda", + shopPhotos: "Fotos da tenda", + subtitle: "Publica a túa tenda no mapa e conecta coa comunidade", + upload: "Subir" + }, + createTour: { + acceptedClipSources: "Fontes de clips aceptadas", + acceptedClipSourcesDesc: "Que formatos aceptarás para enviar clips?", + accommodationInfo: "Información de aloxamento", + accommodationPlaceholder: "Recomendacións ou acordos de aloxamento, ex.: 'Albergues económicos na ruta', 'Cómpre material de acampada', 'Airbnbs incluídos'", + addChallenge: "Engadir desafío", + addCity: "Engadir unha cidade...", + addCountry: "Engadir un país...", + addShopFirst: "Engade primeiro unha tenda", + alsoSelected: "Tamén seleccionado:", + availabilityPlaceholder: "ex.: fins de semana, só pola mañá, con cita", + availabilityQuestion: "Cando adoitas estar dispoñible?", + availableShops: "Tendas de skate dispoñibles ({{count}})", + challengeDescPlaceholder: "Descrición opcional...", + challenges: "Desafíos", + challengesRequired: "Desafíos obrigatorios", + challengesRequiredDesc: "Engade polo menos un desafío para que os equipos o completen.", + challengesSecret: "Todos os desafíos son SEGREDO ata a data de inicio da competición. Os equipos non os verán ata entón!", + challengeTitlePlaceholder: "Título do desafío, ex.: «Kickflip nunha escaleira de 10»", + citiesLabel: "Cidades", + citiesOnTour: "Cidades da xira", + cityPlaceholder: "ex.: Vigo, Galicia", + cityRegion: "Cidade / Rexión", + cityRequired: "Cidade/rexión obrigatoria", + cityRequiredDesc: "Introduce a túa cidade ou rexión.", + clipAnyUrl: "🔗 Calquera URL", + clipBlossom: "📦 Subida a Blossom", + clipInstagram: "📸 Instagram", + clipYouTube: "▶️ YouTube", + competitionDates: "Datas da competición", + competitionDatesWarning: "⚠️ Todos os desafíos son SEGREDO ata a data de inicio! Os equipos non os verán ata que comece a competición.", + competitionLocations: "Lugares da competición", + competitionLocationsDesc: "Onde competirán os equipos? Engade todas as cidades e países implicados.", + coordsHint: "As coordenadas son opcionais. Engádeas para marcar o punto de encontro no mapa.", + countriesLabel: "Países", + countriesRequired: "Países obrigatorios", + countriesRequiredDesc: "Engade polo menos un país para a túa xira internacional.", + createdDestruction: "💀 XIRA WORLD DESTRUCTION CREADA!", + createdDestructionDesc: "Os equipos xa poden inscribirse. Os desafíos revélanse na data de inicio!", + createDestructionTour: "Crear unha xira World Destruction", + createdInternational: "✈️ Xira internacional creada!", + createdInternationalDesc: "A túa aventura global está publicada! Conecta con skaters de todo o mundo.", + createdLocal: "🏠 Xira local creada!", + createdLocalDesc: "A túa xira xa é visible. Os skaters poden reservar por DM!", + createdNational: "🚐 Xira nacional creada!", + createdNationalDesc: "A túa viaxe está en marcha! Comeza a coordinar cos skaters interesados.", + departure: "Saída *", + departureRequired: "Data de saída obrigatoria", + departureRequiredDesc: "Define cando sae a viaxe para que os skaters poidan planificar e reservar.", + descriptionPlaceholder: "Describe o que vivirán os skaters: spots que visitaredes, ambiente, o que fai única a túa xira...", + destructionDesc: "Monta a túa competición global ao estilo KOTR: ti defines TODO!", + discountHint: "Os participantes da xira poden mostrar a confirmación da reserva na tenda para obter este desconto", + discountPercentage: "Porcentaxe de desconto", + dropTour: "Publicar unha xira", + duration: "Duración", + durationHintDestruction: "Canto dura a competición? (1-12 meses)", + durationHintInternational: "Cantas semanas dura a aventura? (ata 2 meses)", + durationHintLocal: "Canto dura a túa xira habitual?", + durationHintNational: "Cantos días dura a viaxe?", + durationWeeksMonths: "{{weeks}} semanas (~{{months}} meses)", + editTour: "Editar xira", + enable: "Activar", + enabled: "Activado", + endBeforeStart: "Fin anterior ao inicio", + endBeforeStartDesc: "A data de fin da competición debe ser igual ou posterior á de inicio.", + endDate: "Data de fin", + entryFeeHint: "Quedas co 95 % • A plataforma leva o 5 % • Deixa baleiro para entrada gratuíta", + entryFeePerTeam: "Entrada por equipo (sats)", + entryFeePlaceholder: "ex.: 100000", + entryPrizes: "Entrada e premios", + filmPremieres: "Estreas dos filmes dos equipos", + filmPremieresDesc: "Despois da competición, os clips de cada equipo convértense nun filme completo que se pode estrear en tendas de skate de todo o mundo.", + filmPremieresInfo: "🎥 Os equipos xuntan os clips dos desafíos nun filme final. As tendas poden organizar estreas, conectando a competición global coas comunidades locais.", + filmReleaseDate: "Data de estrea do filme (opcional)", + filmReleaseDateHint: "Cando estarán dispoñibles os filmes. Déixao baleiro para estrealos xusto despois de rematar a competición.", + fixedSession: "Sesión fixa", + fixedSessionDesc: "Unha data e hora fixadas", + flexible: "Flexible", + flexibleDesc: "Reserva en calquera momento por DM", + hide: "Ocultar", + howDestruction1: "• Competición global por equipos: ata 12 meses de duración", + howDestruction2: "• TI defines os desafíos, os puntos e os premios: nós só poñemos a plataforma", + howDestruction3: "• Todos os desafíos son SEGREDO ata a data de inicio da competición", + howDestruction4: "• Clips mediante subida a Blossom OU ligazóns externas (YouTube, Instagram, calquera URL)", + howDestruction5: "• Só nivel avanzado: todos os tipos de spot incluídos automaticamente", + howDestruction6: "• A plataforma só leva o 5 % das entradas (NON do premio acumulado)", + howDestructionTitle: "💀 XIRA WORLD DESTRUCTION - estilo KOTR", + howInternational1: "• Aventuras transfronteirizas por varios países", + howInternational2: "• Ti fixas o prezo: a plataforma só leva o 5 %", + howInternational3: "• Define as datas de saída e volta para que o equipo poida reservar voos", + howInternational4: "• Conecta skaters de todo o mundo", + howInternational5: "• Crea experiencias globais inesquecibles!", + howInternationalTitle: "Como funcionan as xiras internacionais", + howItWorks: "Como funciona:", + howLocal1: "• Ti fixas o prezo: a plataforma leva o 10 %", + howLocal2: "• Os spots ocultos seguen ocultos: móstrasllos en persoa", + howLocal3: "• Organiza unha sesión programada ou mantena flexible / con cita", + howLocal4: "• Os skaters reservan por DM, pagan en Lightning e poden engadilo ao seu calendario", + howLocal5: "• Constrúe a túa reputación con valoracións e zaps", + howLocalTitle: "Como funcionan as xiras locais", + howNational1: "• Viaxes por varias cidades do teu país", + howNational2: "• Ti fixas o prezo: a plataforma só leva o 7 %", + howNational3: "• Define as datas da viaxe para que os skaters poidan pedir días libres e planificar", + howNational4: "• Inclúe información de transporte e aloxamento para o equipo", + howNational5: "• Crea aventuras de skate lendarias!", + howNationalTitle: "Como funcionan as xiras nacionais", + imageUploadedDesc: "A imaxe da túa xira subiuse.", + incompleteCoords: "Coordenadas incompletas", + incompleteCoordsDesc: "Introduce tanto a latitude como a lonxitude, ou deixa as dúas baleiras.", + internationalDetails: "Detalles da aventura internacional", + languagesSelected: "{{count}} seleccionados", + languagesSpoken: "Idiomas falados", + latOptional: "Latitude (opcional)", + lngOptional: "Lonxitude (opcional)", + loadingProfile: "Cargando o perfil...", + loadingProfileDesc: "Comprobando o estado da túa verificación NIP-05.", + loadingShops: "Cargando tendas...", + localShopPremieres: "Estreas en tendas locais", + localShopPremieresDesc: "As tendas de skate de todo o mundo poden organizar noites de proxección", + loginToCreate: "Necesitas iniciar sesión para crear unha xira.", + maxGroupSize: "Tamaño máximo do grupo", + maxTeams: "Máximo de equipos", + maxTeamSize: "Tamaño máximo do equipo", + meetingLocationSet: "A túa localización actual definiuse como punto de encontro.", + meetingPointDesc: "Onde te encontrarás cos participantes da xira? Escolle un lugar público e coñecido.", + meetingPointLabel: "Punto de encontro", + meetingPointPlaceholder: "ex.: Estación de Santiago de Compostela", + meetingPointRequired: "Punto de encontro obrigatorio", + meetingPointRequiredDesc: "Introduce onde te encontrarás cos participantes da xira.", + minTeamSize: "Tamaño mínimo do equipo", + noChallenges: "Aínda non hai desafíos", + noChallengesDesc: "Engade desafíos para que os equipos os completen", + noPartnerShop: "Sen tenda colaboradora", + noShopsFound: "Aínda non se atoparon tendas de skate na rede.", + noShopsRegistered: "Aínda non hai tendas de skate rexistradas", + onlineRelease: "Estrea en liña", + onlineReleaseDesc: "Estrea tamén os filmes en YouTube/Nostr", + organizerContact: "Datos de contacto do organizador", + organizerContactHint: "Isto será visible para os equipos inscritos", + organizerContactPlaceholder: "Como poden contactar contigo os equipos? ex.: npub de Nostr, correo electrónico, Telegram, etc.", + partnerDiscountDesc: "Ofrece aos participantes da xira un desconto nunha tenda de skate local", + partnerStep1: "1. Colabora cunha tenda de skate local de confianza", + partnerStep2: "2. Define unha porcentaxe de desconto para os participantes da xira", + partnerStep3: "3. Despois da xira, dálles aos participantes unha confirmación para mostrar na tenda", + partnerStep4: "4. A tenda aplica o desconto: constrúe comunidade e atrae clientes!", + percentOff: "{{percent}} % DE DESCONTO", + photoHint: "Engade unha foto túa patinando ou dun spot chulo da túa xira.", + pickRide: "Escolle o teu vehículo", + place1: "🥇 1.º", + place2: "🥈 2.º", + place3: "🥉 3.º", + platformFee: "Ti fixas o prezo • A plataforma leva {{percent}}", + points: "Puntos:", + pricePerPerson: "Prezo por persoa (sats)", + pricePlaceholder: "ex.: 25000", + prizeDistribution: "Distribución dos premios", + prizePoolHint: "Opcional: total de premios dispoñibles", + prizePoolPlaceholder: "ex.: 2000000", + proTipDesc: "Antes de publicar un desconto de colaboración, contacta co dono da tenda por DM para acordar a porcentaxe. Así aseguras que está de acordo e que aplicará o desconto aos participantes da túa xira.", + proTipTitle: "💡 Consello: coordínao primeiro coa tenda!", + return: "Volta", + returnBeforeDeparture: "Volta anterior á saída", + returnBeforeDepartureDesc: "A data de volta debe ser igual ou posterior á de saída.", + roadTripDetails: "Detalles da viaxe", + schedule: "Horario", + scheduleDesc: "Organiza unha sesión programada puntual ou mantena flexible e deixa que os skaters reserven unha hora por DM.", + secretUntilStart: "Segredo ata o inicio", + selectPartnerShop: "Seleccionar tenda colaboradora", + sessionDateRequired: "Data da sesión obrigatoria", + sessionDateRequiredDesc: "Escolle a data e a hora da túa sesión programada, ou cambia a un horario flexible.", + sessionDateTime: "Data e hora da sesión", + sessionDateTimeHint: "Os skaters verán esta hora e poderán engadila ao seu calendario desde a páxina da xira.", + shopPremieresContact: "Contacta directamente con estas tendas para organizar noites de estrea. Todos os acordos son privados.", + shopPremieresHow: "💡 Como funcionan as estreas nas tendas: contacta directamente coas tendas para organizar noites de estrea. Todos os acordos son privados entre ti e as tendas.", + shopsCanRegister: "As tendas poden rexistrarse en /create-shop", + show: "Mostrar", + showAllLanguages: "Mostrar os {{count}} idiomas", + somethingWrong: "Algo saíu mal.", + spotTypes: "Tipos de spots", + spotTypesRequired: "Tipos de spots obrigatorios", + spotTypesRequiredDesc: "Selecciona polo menos un tipo de spot que amosarás.", + startDate: "Data de inicio", + startDateRequired: "Data de inicio obrigatoria", + startDateRequiredDesc: "Define cando comeza a competición (os desafíos revelaranse nesa data).", + startingCity: "Cidade de saída", + startingCityPlaceholder: "ex.: A Coruña, Galicia", + teamSettings: "Configuración dos equipos", + teamsCount: "{{count}} equipos", + titlePlaceholder: "ex.: Santiago de Compostela - Xira por spots subterráneos", + titleRequired: "Título da xira obrigatorio", + titleRequiredDesc: "Introduce un nome para a túa xira.", + totalPercent: "Total: {{percent}} %", + totalPrizePool: "Premio acumulado total (sats)", + tourDesc: "Dilles aos skaters que poden esperar da túa xira", + tourDetails: "Detalles da xira", + tourPhoto: "Foto da xira", + tourTitle: "Título da xira", + transportDestructionPlaceholder: "Como viaxarán os equipos entre os lugares? Hai transporte incluído ou recomendado?", + transportInfo: "Información de transporte", + transportPlaceholder: "Como viaxarán os participantes? ex.: 'Furgoneta incluída', 'Voada ata Barcelona e alugamos unha furgoneta', 'Tren entre cidades'", + tripDatesDesc: "Fixa as datas para que os skaters poidan pedir días libres, reservar voos e planificar a viaxe.", + tripDatesTitle: "Datas da viaxe", + updated: "Xira actualizada!", + updatedDesc: "Os teus cambios publicáronse.", + upload: "Subir", + view: "Ver →", + worldDestruction: "Xira World Destruction", + youReceive: "Recibes: {{amount}} sats por persoa" + }, + editEvent: { + accessDenied: "Acceso denegado", + accessDeniedDesc: "Só podes editar os eventos que creaches.", + backToEvent: "Volver ao evento", + detailsDesc: "Actualiza a información deste evento. Todos os campos marcados con * son obrigatorios.", + eventCover: "Portada do evento", + locationUpdated: "Localización actualizada.", + loginToEdit: "Necesitas iniciar sesión para editar este evento.", + newSpot: "Novo spot: {{location}}.", + newTime: "Nova hora: {{date}} ás {{time}}.", + saveChanges: "Gardar cambios", + saving: "Gardando...", + title: "Editar evento", + updated: "Evento actualizado!", + updatedDesc: "Os teus cambios publicáronse na rede.", + updateDetails: "Actualiza os detalles de {{title}}", + updatedNotified: "Cambios publicados: {{count}} asistentes notificados.", + updateFailed: "Erro ao actualizar", + updateMessage: "{{parts}}: consulta o evento para máis detalles." + }, + editShop: { + accessDeniedDesc: "Só podes editar as tendas que creaches.", + backToShop: "Volver á tenda", + detailsDesc: "Actualiza a información da túa tenda. Todos os campos marcados con * son obrigatorios.", + loginToEdit: "Necesitas iniciar sesión para editar esta tenda.", + updated: "Tenda actualizada!", + updateDetails: "Actualiza os detalles de {{name}}" + }, + editTour: { + accessDeniedDesc: "Só podes editar as xiras que creaches.", + loginToEdit: "Necesitas iniciar sesión para editar esta xira." + }, + eventCard: { + report: "Denunciar" + }, + eventDetail: { + aCrew: "un crew", + addToCalendar: "Engadir ao calendario", + backToEvents: "Volver aos eventos", + cancelled: "Este evento cancelouse", + checkUpdate: ": consulta a actualización", + copyFailed: "Erro ao copiar", + date: "Data", + editEvent: "Editar evento", + eventFallback: "Evento", + eventOrganizer: "Organizador do evento", + getDirections: "Como chegar", + linkCopied: "Ligazón copiada", + linkCopiedDesc: "Ligazón do evento copiada ao portapapeis: pégala onde queiras.", + live: "Ao vivo:", + liveMusic: "música ao vivo", + location: "Localización", + newLocation: "Nova localización", + noRsvps: "Non se rexistraron confirmacións.", + organizer: "Organizador", + rsvpsClosed: "As confirmacións están pechadas: o anfitrión cancelou este evento.", + seeMap: "Ver mapa", + shareEvent: "Compartir evento", + shareText: "{{title}} — un evento de skate en SkateSpots", + shareTextFallback: "Mira este evento de skate en SkateSpots", + time: "Hora", + timeChanged: "Hora cambiada", + updatesFromHost: "Novidades do anfitrión", + where: "Onde", + whoCame: "Quen veu", + whosGoing: "Quen vai" + }, + events: { + calendar: "Calendario", + createTour: "Crear xira", + events: "Eventos", + faqFooter: "Tes dúbidas? Consulta as preguntas frecuentes →", + hosting: "Organizo", + hostingSubtitle: "Os teus eventos: confirmacións, novidades e edición rápida", + list: "Lista", + noEventsMatchFilters: "Ningún evento coincide cos filtros. Proba a axustalos ou limpialos.", + noPast: "Non hai eventos pasados", + noPastBody: "Non se atoparon eventos de skate pasados cos filtros actuais.", + noTours: "Non se atoparon xiras", + noToursBody: "Aínda non hai xiras de skate. Crea a primeira e leva os skaters a descubrir spots!", + noToursMatchFilters: "Ningunha xira coincide cos filtros. Proba a axustalos ou limpialos.", + noUpcoming: "Non hai eventos próximos", + noUpcomingBody: "Non se atoparon eventos de skate próximos. Sé o primeiro en crear un!", + past: "Pasados", + resultsCount: "{{count}} resultados", + searchCity: "Cidade…", + searchEvent: "Nome do evento…", + searchTour: "Nome da xira…", + tours: "Xiras", + toursSubtitle: "Guías locais, viaxes e competicións World Destruction", + upcoming: "Próximos" + }, + eventTypes: { + contest: "Concurso", + demo: "Demo", + jam: "Jam", + meetup: "Quedada", + premiere: "Estrea", + session: "Sesión", + workshop: "Obradoiro" + }, + featured: { + active: "Activo", + bodyEvent: "Publicar é gratis. Os eventos destacados levan unha insignia e aparecen no alto da páxina de eventos.", + bodyTour: "Publicar é gratis. As xiras destacadas levan unha insignia e aparecen no alto da lista de xiras.", + contextEvent: "O teu evento aparece gratis de calquera forma: destacalo só engade a insignia e o impulso.", + contextTour: "A túa xira aparece gratis de calquera forma: destacala só engade a insignia e o impulso.", + daysRemaining: "Destacado activo · quedan {{count}} días.", + headingEvent: "Destacar este evento", + headingTour: "Destacar esta xira", + optional: "opcional", + platformOwner: "Propietario da plataforma: o destacado está sempre activo." + }, + filters: { + activeCount: "{{count}} activos", + all: "Todos", + allLevels: "Todos os niveis", + eventType: "Tipo de evento", + following: "Seguindo", + newest: "Máis recentes", + popular: "Populares", + showResults: "Mostrar resultados", + showResultsActive: "Mostrar resultados · {{count}} activos", + skillLevel: "Nivel", + sortBy: "Ordenar por", + topRated: "Mellor valorados", + tourCategory: "Categoría da xira", + trusted: "De confianza", + trustLevel: "Nivel de confianza", + verified: "Verificado" + }, + food: { + bar: "Bar", + cafe: "Café", + call: "Chamar", + chooseSpot: "Escolle un spot...", + directions: "Como chegar", + fastFood: "Comida rápida", + foodCourt: "Praza de comidas", + locationLabel: "Localización:", + noneFound: "Non se atoparon sitios para comer", + noneFoundDesc: "Non atopamos restaurantes nin cafés a menos de 1 km deste spot. Proba a seleccionar outra localización.", + placesFound: "{{count}} sitios atopados a menos de 1 km de {{spot}}", + pub: "Pub", + restaurant: "Restaurante", + selectSpot: "Selecciona un spot de skate", + selectSpotDesc: "Escolle un spot de skate no despregable de arriba para atopar restaurantes, cafés e outras opcións para comer preto.", + selectSpotTitle: "Selecciona un spot de skate", + subtitle: "Atopa sitios para comer preto dos teus spots de skate favoritos", + title: "Comida preto dos spots", + unknown: "Descoñecido", + website: "Sitio web" + }, + rsvp: { + areYouGoing: "Vas?", + cant: "Non podo", + cantMakeIt: "Non podo ir", + going: "Vou", + goingCount: "van", + goingShort: "Vou", + hostNote: "Ti organizas este evento, pero aínda podes definir o teu estado.", + interested: "Interésame", + interestedCount: "interesados", + loginToRsvp: "Inicia sesión para confirmar asistencia.", + maybe: "Quizais", + toastError: "Non se puido confirmar", + toastGoing: "Vas! 🛹", + toastInterested: "Marcado como interesado.", + toastNotGoing: "Marcado como non asistente.", + tryAgain: "Téntao de novo." + }, + shop: { + addNip05Settings: "Engade NIP-05 nos axustes", + adminRemovedReason: "Un admin de SkateSpots retirou a tenda \"{{name}}\"", + areYouOwner: "Es o dono da tenda?", + backToMap: "Volver ao mapa", + claimDesc: "Se es dono ou xestionas esta tenda, podes reclamala para verificar a propiedade mediante NIP-05.", + claimNip05Intro: "Para reclamar esta tenda, engade un identificador NIP-05 que coincida co dominio do sitio web da tenda. Por exemplo, se o sitio web da tenda é", + claimNip05Your: "o teu NIP-05 debería ser", + contactShop: "Contactar coa tenda", + deleted: "Tenda eliminada", + deletedDesc: "Solicitude de eliminación enviada aos relays. A maioría dos relays retirarán este contido.", + deleteDialogDesc: "Isto eliminará permanentemente \"{{name}}\" de todos os relays. Esta acción non se pode desfacer.", + deleteDialogTitle: "Eliminar a tenda?", + deletedReason: "Tenda eliminada", + deleteFailed: "Erro ao eliminar", + deleteShop: "Eliminar tenda", + linkCopied: "Ligazón copiada!", + linkCopiedDesc: "Ligazón da tenda copiada ao portapapeis.", + nip05Required: "⚠️ Cómpre verificación NIP-05 para reclamar tendas", + opens: "Abre: {{domain}}", + removeAdmin: "Retirar (admin)", + removed: "Tenda retirada", + removedDesc: "Esta tenda retirouse e ocultarase en todo SkateSpots.", + removeDialogDesc: "Como admin de SkateSpots estás retirando \"{{name}}\". Ocultarase para todo o mundo na app e enviarase unha solicitude de eliminación aos relays.", + removeDialogTitle: "Retirar esta tenda? (admin)", + removeShop: "Retirar tenda", + tipMapper: "Darlle unha propina ao cartógrafo", + tipMapperDesc: "Esta tenda foi engadida por un membro da comunidade. Envíalle un zap para agradecerllo!", + updateNip05: "Actualiza o NIP-05 para reclamar", + viewPhotoFull: "Ver foto a pantalla completa", + viewPhotoOf: "Ver foto {{index}} de {{total}}" + }, + sponsors: { + presentedBy: "Presentado por" + }, + tourCard: { + active: "Activa", + completed: "Completada", + contactForPrice: "Consulta o prezo", + durationDays: "{{count}} días", + durationHours: "{{count}} horas", + durationMonths: "{{count}} meses", + durationWeeks: "{{count}} semanas", + entry: "Entrada: {{amount}} sats", + happeningNow: "Acontece agora", + inDays: "En {{count}} días", + inHours: "En {{count}} h", + inMonths: "En {{count}} meses", + inWeeks: "En {{count}} semanas", + maxGroup: "Máx. {{count}}", + price: "{{amount}} sats", + prizePool: "{{amount}} sats", + registrationOpen: "Inscrición aberta", + startingSoon: "Comeza pronto", + teamsMax: "{{count}} equipos como máximo", + tomorrow: "Mañá", + worldwide: "Todo o mundo" + }, + tourDetail: { + about: "Sobre esta xira", + availability: "Dispoñibilidade", + competitionWindow: "Período da competición", + contactToBook: "Contacta co guía para reservar", + discountAt: "{{percent}} % de desconto en {{shop}}", + duration: "Duración", + languages: "Idiomas", + loginToBook: "Inicia sesión para reservar", + loginToBookDesc: "Inicia sesión para contactar co guía e reservar esta xira", + maxGroup: "Grupo máximo", + meetingPoint: "Punto de encontro", + notFound: "Xira non atopada", + notFoundDesc: "Pode que esta xira se eliminase ou que non exista.", + organizer: "Organizador", + partnerDiscount: "Desconto da tenda colaboradora", + partnerDiscountDesc: "Reserva esta xira para obter un desconto na tenda de skate colaboradora. Mostra a confirmación da reserva ao persoal da tenda.", + people: "{{count}} persoas", + perPerson: "por persoa", + price: "Prezo", + runsAbout: "Dura unhas {{duration}}", + scheduledSession: "Sesión programada", + shareText: "Mira esta xira de skate local: {{title}}", + skillLevel: "Nivel", + spotTypes: "Tipos de spots", + tourGuide: "Guía da xira", + tourSponsors: "Patrocinadores da xira", + tripDates: "Datas da viaxe", + viewProfile: "Ver perfil" + }, + updates: { + admin: "Admin", + adminNote: "Estás publicando como admin de SkateSpots. Marcarase claramente como aviso de admin, non do anfitrión.", + kindCancelled: "Cancelado", + kindNewSpot: "Novo spot", + kindNewTime: "Nova hora", + kindUpdate: "Actualización", + loading: "Cargando novidades…", + notifiedCount: "{{count}} persoas notificadas.", + notifiedEveryone: "Todos o verán no evento.", + notifiesRsvps: "Notifica a {{count}} confirmacións", + noUpdates: "Aínda non hai novidades do anfitrión. Confirma a asistencia e avisarémoste se algo cambia.", + placeholder: "Chove: pasado a domingo ás 14 h. Encontrámonos no bordo de atrás…", + post: "Publicar", + postAdminUpdate: "Publicar un aviso de admin", + posted: "Novidade publicada", + postError: "Non se puido publicar a novidade", + postUpdate: "Publicar unha novidade", + tryAgain: "Téntao de novo.", + visibleToEveryone: "Visible para todos neste evento" + }, + destination: { + bitcoin: "Bitcoin", + closeSearch: "Pechar a busca", + nothingMatches: "Nada coincide con «{{query}}».", + placeholder: "Busca spots, tendas, comercios Bitcoin…", + shop: "Tenda", + spot: "Spot", + typeChars: "Escribe polo menos 2 caracteres. Busca spots de skate, tendas de skate e comercios Bitcoin.", + typeCharsNear: "Escribe polo menos 2 caracteres. Busca spots de skate, tendas de skate e comercios Bitcoin preto de aquí." + }, + dateWindow: { + any: "Calquera", + anytime: "Cando queiras", + month: "Este mes", + monthShort: "Mes", + today: "Hoxe", + todayShort: "Hoxe", + week: "Esta semana", + weekend: "Fin de semana", + weekendShort: "FDS", + weekShort: "Semana" + } + }, + marketplace: { + title: "Mercado", + subtitle: "Compra, vende e troca material de skate", + addListing: "Engadir anuncio", + condition: "Estado", + conditions: { + new: "Novo", + likeNew: "Como novo", + good: "Bo", + fair: "Aceptable", + poor: "Malo" + }, + categories: { + all: "Todos", + decks: "Táboas", + trucks: "Eixes", + wheels: "Rodas", + bearings: "Rodamentos", + shoes: "Zapatillas", + clothing: "Roupa", + protection: "Protección", + other: "Outros" + }, + priceRange: "Rango de prezos", + location: "Localización", + seller: "Vendedor", + contact: "Contactar co vendedor", + makeOffer: "Facer oferta", + sold: "Vendido", + available: "Dispoñible", + gear: "Material", + sellGear: "Vender material", + wantToBuy: "Busco" + } +}; + +export default batch4; diff --git a/src/i18n/gl/batch5.ts b/src/i18n/gl/batch5.ts new file mode 100644 index 0000000..bb8ba6b --- /dev/null +++ b/src/i18n/gl/batch5.ts @@ -0,0 +1,1463 @@ +const batch5 = { + labUi: { + activeCount: "{{count}} activos", + addMusicProfile: "Engadir perfil de música", + all: "Todos", + clearAll: "Borrar todo", + collective: "Colectivo", + filters: "Filtros", + following: "Seguindo", + getRiderCard: "Obter tarxeta de rider", + judgeEvents: "Xulgar eventos", + justASkater: "Só un", + labForServices: "O Lab é para servizos. Explora e únete a toda a comunidade skater", + loginToOffer: "Inicia sesión para ofrecer servizos", + newest: "Máis recentes", + noResults: "Sen resultados", + offer: "Ofrecer", + offerBuilding: "Ofrecer construción", + offerCoaching: "Ofrecer adestramento", + offerClothing: "Ofrecer roupa", + offerCuts: "Ofrecer cortes", + offerDesignArt: "Ofrecer deseño / arte", + offerEditing: "Ofrecer edición", + offerFilming: "Ofrecer filmación", + offerGraffiti: "Ofrecer graffiti", + offerPhotography: "Ofrecer fotografía", + offerServices: "Ofrecer servizos", + yourProfiles: "Os teus perfís do Lab", + preview: { + button: "Vista previa", + title: "Vista previa en directo", + desc: "Así se verá o teu perfil de {{noun}} cando o publiques.", + untitled: "O teu nome", + noBio: "Aínda non hai biografía — engade unha liña sobre o que ofreces.", + years: "{{count}} anos de experiencia", + portfolio: "Portafolio", + note: "Só vista previa — aínda non se publicou nada." + }, + draft: { + title: "Tes un borrador sen gardar", + body: "Continúa onde o deixaches — non se publica nada ata que premas Publicar. Licenciado baixo a GNU Affero General Public License v3.0: as versións derivadas e aloxadas deben seguir abertas baixo os mesmos termos, porque o uso en rede conta como distribución.", + resume: "Continuar co borrador", + discard: "Descartar borrador" + }, + progress: { + title: "Completitude do perfil", + count: "{{done}} de {{total}} feitos", + photo: "Foto", + bio: "Biografía", + skills: "Habilidades", + rate: "Tarifa", + location: "Localización", + contact: "Contacto" + }, + wizard: { + identity: "Identidade", + offer: "O que ofreces", + rates: "Tarifas", + contact: "Contacto", + media: "Multimedia" + }, + offerTattoo: "Ofrecer tatuaxes", + offerTraining: "Ofrecer adestramento / fisioterapia", + organizeEvents: "Organizar eventos", + resultsMany: "{{count}} resultados", + resultsOne: "{{count}} resultado", + searchCityPlaceholder: "Cidade…", + searchNamePlaceholder: "Nome, biografía…", + showResults: "Ver resultados", + showResultsActive: "Ver resultados · {{count}} activos", + skaterWord: "skater", + sortBy: "Ordenar por", + theCrew: "A crew", + topRated: "Mellor valorados", + trusted: "De confianza", + trustLevel: "Nivel de confianza", + yearsExp: "{{count}} anos de exp.", + tabCoaches: "Adestradores", + tabFilmers: "Filmers", + tabPhoto: "Foto", + tabEditors: "Editores", + tabBuilders: "Construtores", + tabArtists: "Artistas", + tabGraffiti: "Graffiti", + tabTattoo: "Tatuaxes", + tabTrainers: "Preparadores", + tabMusic: "Música", + tabJudges: "Xuíces", + tabOrganizers: "Organizadores", + tabBarbers: "Barbeiros", + tabClothing: "Roupa", + filterSkillsToLearn: "Habilidades para aprender", + filterContentType: "Tipo de contido", + filterEquipmentStyle: "Equipamento e estilo", + filterServices: "Servizos", + filterCamera: "Cámara", + filterLenses: "Obxectivos", + filterLighting: "Iluminación", + filterSupportRig: "Soporte e equipo", + filterStyle: "Estilo", + filterWhatTheyBuild: "O que constrúen", + filterMaterialsTrade: "Materiais e oficio", + filterProjectScale: "Escala do proxecto", + filterWhatTheyMake: "O que fan", + filterMedium: "Técnica", + filterSoftwareTools: "Software e ferramentas", + filterWorkContext: "Contexto de traballo", + filterMethod: "Método", + filterFocus: "Enfoque", + filterInjuriesTreated: "Lesións tratadas", + filterCredentialsSetting: "Titulacións e modalidade", + filterGenre: "Xénero", + filterInstrumentsRole: "Instrumentos e rol", + filterEventFormats: "Formatos de evento", + filterSpecialty: "Especialidade", + filterLevelCircuit: "Nivel / circuíto", + filterEventTypes: "Tipos de evento", + filterWhatYouHandle: "O que xestionas", + filterScale: "Escala", + filterWhatTheyOffer: "O que ofrecen", + filterSignatureStyles: "Estilos característicos", + filterSetting: "Onde traballan", + filterEditType: "Tipo de edición", + role: { + coach: "Adestrador", + filmer: "Filmer", + builder: "Construtor", + editor: "Editor de vídeo", + photographer: "Fotógrafo", + skater: "Skater" + }, + empty: { + footer: "Tes dúbidas? Consulta as preguntas frecuentes →", + loginSuffix: "para crear un perfil.", + coachesTitle: "Aínda non hai adestradores", + coachesBody: "Sé o primeiro en ofrecer clases de skate na túa zona.", + filmersTitle: "Aínda non hai filmers", + filmersBody: "Sé o primeiro en ofrecer filmación de skate: clips, partes completas, cobertura de concursos e máis.", + photographersTitle: "Aínda non hai fotógrafos", + photographersBody: "Sé o primeiro en ofrecer fotografía de skate na túa zona: fotos de acción, secuencias, editorial e máis.", + editorsTitle: "Aínda non hai editores de vídeo", + editorsBody: "Sé o primeiro en ofrecer servizos de edición de vídeo de skate.", + buildersTitle: "Aínda non hai construtores", + buildersBody: "Sé o primeiro en anunciar a túa construción de ramplas, parques ou DIY: formigón, madeira, barandillas e máis.", + artistsTitle: "Aínda non hai artistas", + artistsBody: "Sé o primeiro en ofrecer deseños de táboas, logotipos, carteis e merch para a escena.", + graffitiTitle: "Aínda non hai artistas de graffiti", + graffitiBody: "Sé o primeiro en ofrecer pezas, murais e arte para skateparks na túa zona.", + tattooTitle: "Aínda non hai tatuadores", + tattooBody: "Sé o primeiro tatuador da cultura skate en anunciarte: flash, personalizados, liña fina e máis.", + trainersTitle: "Aínda non hai preparadores", + trainersBody: "Sé o primeiro preparador ou fisioterapeuta en axudar aos skaters a poñerse fortes e manterse sans.", + musiciansTitle: "Aínda non hai músicos", + musiciansBody: "Patinas e fas música? Engade o teu grupo ou proxecto en solitario: xéneros, instrumentos e ligazóns.", + judgesTitle: "Aínda non hai xuíces", + judgesBody: "Organizas competicións xustas? Anúnciate para xulgar Game of S.K.A.T.E., best trick, concursos e paradas de xira.", + organizersTitle: "Aínda non hai organizadores", + organizersBody: "Organizas quedadas, competicións, encontros ou demos? Anúnciate para que os skaters poidan atoparte e reservar contigo.", + barbersTitle: "Aínda non hai barbeiros", + barbersBody: "Cortas o pelo a skaters? Anuncia o teu local ou servizo a domicilio para que a escena poida lucir un corte fresco.", + clothingTitle: "Aínda non hai deseñadores de roupa", + clothingBody: "Sé o primeiro en ofrecer roupa personalizada, equipacións de equipo e prendas para a escena." + }, + become: { + addNip05: "Engadir NIP-05 en Axustes", + backToLab: "Volver ao Lab", + bioWorkLabel: "Biografía / Sobre o teu traballo", + checkContact: "Revisa os teus datos de contacto", + cityArea: "Cidade / zona", + cityCountry: "Cidade, país", + connectWallet: "Conectar carteira", + connectWalletNwc: "Conectar carteira con NWC", + contactInfo: "Información de contacto", + contactInfoDesc: "Como poden contactar contigo os clientes (todo opcional, pero recomendado)", + coordinatesOptional: "Coordenadas (opcional)", + email: "Correo electrónico", + failedToPublish: "Non se puido publicar", + fromNostrProfile: "Do teu perfil de Nostr", + geolocationUnsupported: "A xeolocalización non é compatible", + getting: "Obtendo…", + headline: "Titular", + headlineHint: "Amósase como título na túa tarxeta do Lab — por exemplo, «{{example}}». Por defecto, o teu nome.", + imageUploaded: "Imaxe subida", + instagram: "Instagram", + invalidEmail: "Introduce un enderezo de correo válido.", + invalidPortfolio: "Introduce un URL de portafolio válido.", + invalidWebsite: "Introduce un URL de sitio web válido.", + latitude: "Latitude", + learnHow: "Como funciona", + locationError: "Erro de localización", + locationFound: "Localización atopada", + loginRequired: "Inicio de sesión necesario", + loginRequiredDesc: "Tes que iniciar sesión para crear un perfil de {{role}}.", + loginRequiredDescCraft: "Tes que iniciar sesión para crear un perfil de {{noun}}.", + longitude: "Lonxitude", + nip05Recommended: "Recoméndase a verificación NIP-05", + nip05RecommendedDesc: "Verifica a túa identidade para gañar a confianza dos clientes.", + noWallet: "Non hai ningunha carteira conectada", + otherSocial: "Outra rede social", + paymentSetup: "⚡ Cómpre configurar o pagamento", + phoneNumber: "Teléfono", + profilePhoto: "Foto de perfil", + profilePublished: "O teu perfil publicouse.", + publishing: "Publicando...", + socialMedia: "Redes sociais", + tip: "💡 Consello: a maioría das carteiras Lightning admiten NWC (Alby, Minibits, Zeus, Coinos).", + tipWithTime: "💡 Consello: a maioría das carteiras Lightning admiten NWC (Alby, Minibits, Zeus, Coinos). Configúrao en 30 segundos.", + upload: "Subir", + uploadFailed: "Non se puido subir", + uploadImage: "Subir imaxe", + uploading: "Subindo…", + useCurrentLocation: "Usar a localización actual", + useMyLocation: "Usar a miña localización", + usingNwc: "Usando Nostr Wallet Connect", + usingWebln: "Usando a extensión do navegador WebLN", + walletConnected: "Carteira conectada — lista para recibir pagamentos!", + website: "Sitio web", + yearsExperience: "Anos de experiencia" + }, + coachForm: { + anonymous: "Adestrador anónimo", + bioLabel: "Biografía / Filosofía de adestramento", + bioPlaceholder: "A túa traxectoria, o teu estilo de ensino...", + create: "CREAR PERFIL DE ADESTRADOR", + created: "Perfil de adestrador creado!", + createPro: "CREAR PERFIL PRO DE ADESTRADOR", + dmNote: "💬 Os alumnos poden escribirche directamente coa mensaxería cifrada de SkateSpots", + heading: "Sé adestrador", + headlineExample: "Adestrador de skate Berlín", + hourlyRate: "Tarifa por hora", + identity: "A túa identidade de adestrador", + nip05Reason: "Engade un identificador NIP-05 para verificar a túa identidade e gañar a confianza dos alumnos: así ven que es un adestrador lexítimo.", + paymentDesc: "Para recibir pagamentos dos alumnos polas clases, cómpre conectar unha carteira Lightning. Os alumnos enviaranche zaps directamente polas sesións de adestramento.", + profileDesc: "Fálalles aos alumnos da túa experiencia", + profileTitle: "Perfil de adestrador", + ratePlaceholder: "5000 sats/h", + selectSkill: "Selecciona polo menos unha habilidade.", + skillsLabel: "Habilidades que ensino * (selecciona polo menos unha)", + skillsRequired: "Cómpre indicar habilidades", + formatsLabel: "Formatos de sesión", + formatsHint: "Como impartes o adestramento.", + levelsLabel: "Niveis que ensinas", + agesLabel: "Grupos de idade", + credentialsLabel: "Titulacións e seguridade", + credentialsHint: "Declaradas por ti — SkateSpots non as verifica.", + languagesLabel: "Idiomas falados", + languagesHint: "Engade os idiomas nos que podes adestrar.", + languagePlaceholder: "ex.: galego, castelán", + availabilityLabel: "Dispoñibilidade", + bookingLabel: "Ligazón de reserva", + bookingHint: "Opcional — unha páxina onde os alumnos poden reservar e pagar.", + galleryLabel: "Fotos do portafolio", + galleryHint: "Mostra sesións reais, alumnos e spots (ata 12).", + galleryAdd: "Engadir fotos do portafolio", + galleryUploaded: "{{count}} foto(s) subidas", + videoLabel: "Vídeo resumo", + videoHint: "Opcional — un vídeo de YouTube ou Instagram do teu adestramento.", + formatOneOnOne: "Individual", + formatGroup: "En grupo", + formatCamp: "Campamento", + formatVideo: "Análise de vídeo", + formatContestPrep: "Preparación de competición", + formatParkLesson: "Clase no parque", + formatAdaptive: "Adaptado", + formatGirls: "Sesión para rapazas", + formatAfterSchool: "Despois da escola", + levelBeginner: "Principiante", + levelIntermediate: "Intermedio", + levelAdvanced: "Avanzado", + levelCompetition: "Competición", + ageKids: "Nenos", + ageTeens: "Adolescentes", + ageAdults: "Adultos", + ageSeniors: "Maiores", + certFirstAid: "Primeiros auxilios", + certCpr: "Reanimación (RCP)", + certSafeguarding: "Protección da infancia", + certBackgroundCheck: "Certificado de antecedentes", + certInsured: "Seguro", + certFederation: "Adestrador de federación nacional", + certQualification: "Titulación de adestrador", + certJudge: "Xuíz de competición", + certNoteLabel: "Outras titulacións (opcional)", + certNotePlaceholder: "ex.: Skateboard GB Nivel 2, 8 anos adestrando…", + availWeekdays: "Días laborables", + availWeekends: "Fins de semana", + availEvenings: "Noites", + availAfterSchool: "Despois da escola", + availHolidays: "Vacacións escolares", + availSeasonal: "Temporal", + sectionWhatYouCoach: "O que adestras", + sectionCredentials: "Titulacións e seguridade", + sectionAvailability: "Dispoñibilidade e reservas", + sectionWhereYouCoach: "Onde adestras", + sectionPortfolio: "Portafolio", + rateAmountLabel: "Tarifa", + rateCurrencySats: "sats", + rateCurrencyUsd: "USD", + rateCurrencyEur: "EUR", + rateCurrencyGbp: "GBP", + perHour: "por hora", + perSession: "por sesión", + perHalfDay: "por media xornada", + perDay: "por día", + perCamp: "por campamento", + perProject: "por proxecto", + perEvent: "por evento", + perGig: "por actuación", + perShoot: "por sesión de fotos", + perPiece: "por peza", + perCut: "por corte", + perMonth: "por mes", + availByAppointment: "Con cita", + rateNotesLabel: "Notas sobre a tarifa (opcional)", + rateNotesPlaceholder: "Tarifa variable, primeira sesión gratis, desprazamento incluído…", + sectionPayments: "Pagamentos", + paymentMethodsHint: "Como poden pagarche os clientes. Isto é só unha declaración — SkateSpots nunca retén fondos.", + payMethodCash: "Efectivo no lugar", + payMethodLightning: "Lightning", + payMethodCashu: "Cashu", + payMethodBank: "Transferencia bancaria", + payMethodOther: "Outro", + payWhatYouCanLabel: "Tarifa variable / paga o que poidas", + bookingFeeLabel: "Taxa de reserva (opcional)", + bookingFeeHint: "Unha pequena taxa pagada directamente a ti para confirmar a reserva. SkateSpots non a retén nin a reembolsa.", + paymentNoteLabel: "Nota sobre o pagamento (opcional)", + paymentNotePlaceholder: "Primeira sesión gratis, desprazamento incluído, pagamento despois da sesión…", + spotsDesc: "Selecciona os spots onde ofreces clases", + spotsLabel: "Spots onde adestras", + tagline: "Comparte o teu coñecemento do skate", + update: "ACTUALIZAR PERFIL DE ADESTRADOR", + updated: "Perfil de adestrador actualizado!" + }, + filmerForm: { + anonymous: "Filmer anónimo", + bioPlaceholder: "A túa traxectoria, estilo, equipamento...", + camerasLabel: "Cámaras e equipamento * (selecciona polo menos unha)", + create: "CREAR PERFIL DE FILMACIÓN", + created: "Perfil de filmación creado!", + createPro: "CREAR PERFIL PRO DE FILMACIÓN", + dmNote: "💬 Os clientes poden escribirche directamente coa mensaxería cifrada de SkateSpots", + gearHelper: "Indica as túas cámaras, obxectivos e equipos exactos — aos skaters impórtalles o setup.", + gearLabel: "Que levas na mochila (opcional)", + gearPlaceholder: "ex.: Sony VX1000 + ollo de peixe MK1, Panasonic HVX200, estabilizador DJI RS3, GoPro Hero 12, micrófono Sennheiser...", + heading: "Sé filmer", + headlineExample: "Filmer de skate Berlín", + identity: "A túa identidade de filmer", + nip05Reason: "Engade un identificador NIP-05 para verificar a túa identidade e gañar a confianza dos clientes: así ven que es un filmer lexítimo.", + paymentDesc: "Para recibir pagamentos dos clientes polos servizos de filmación, cómpre conectar unha carteira Lightning. Os clientes enviaranche zaps directamente polo teu traballo.", + profileDesc: "Fálalles aos clientes da túa experiencia filmando", + profileTitle: "Perfil de filmación", + rate: "Tarifa", + ratePlaceholder: "10000 sats/vídeo", + reelLabel: "Reel / portafolio", + selectService: "Selecciona polo menos un servizo.", + selectSkill: "Selecciona polo menos unha habilidade de filmación.", + servicesLabel: "Servizos ofrecidos * (selecciona polo menos un)", + servicesRequired: "Cómpre indicar servizos", + skillsRequired: "Cómpre indicar habilidades", + spotsDesc: "Selecciona os spots onde ofreces servizos de filmación", + spotsLabel: "Spots onde gravas", + tagline: "Ofrece a túa filmación de vídeos de skate: clips, liñas, partes completas e cobertura de concursos", + update: "ACTUALIZAR PERFIL DE FILMACIÓN", + updated: "Perfil de filmación actualizado!" + }, + editorForm: { + anonymous: "Editor anónimo", + bioPlaceholder: "O teu estilo de edición, traxectoria, proxectos destacados…", + contactPortfolio: "Contacto e portafolio", + create: "Publicar perfil de editor", + created: "Perfil de editor creado!", + createPro: "Publicar perfil Pro de editor", + editTypes: "Tipos de edición ofrecidos * (selecciona polo menos un)", + hardware: "Hardware", + hardwarePlaceholder: "ex.: MacBook Pro M3, Sony FX3", + heading: "Sé editor de vídeo", + headlineExample: "Editor de vídeos de skate", + identity: "A túa identidade", + locationOptional: "Localización (opcional)", + loginDesc: "Inicia sesión para crear o teu perfil de editor de vídeo.", + phoneTelegram: "Teléfono / Telegram", + portfolioPlaceholder: "Portafolio (Vimeo, YouTube…)", + profileDesc: "Fálalle á comunidade do teu estilo de edición e das túas habilidades", + profileTitle: "Perfil de editor", + published: "O teu perfil publicouse en SkateSpots.", + rate: "Tarifa / prezos", + ratePlaceholder: "ex.: 50k sats/min, DM para orzamento", + selectService: "Selecciona polo menos un tipo de edición.", + servicesRequired: "Cómpre indicar servizos", + socialPlaceholder: "Usuario de Instagram / redes", + software: "Software", + softwareHardware: "Habilidades de software e hardware", + softwarePlaceholder: "ex.: DaVinci Resolve, Premiere", + tagline: "Ofrece os teus servizos de edición de vídeo á comunidade do skate", + thumbnail: "Miniatura do perfil / showreel", + update: "Actualizar perfil de editor", + updated: "Perfil de editor actualizado!", + walletConnected: "Carteira conectada ✓", + walletDesc: "Recibe pagamentos en Bitcoin ⚡ directamente dos clientes polo teu traballo de edición.", + walletTitle: "⚡ Carteira Lightning para pagamentos", + yearsExperience: "Anos de experiencia", + yearsPlaceholder: "ex.: 5 anos" + }, + photoForm: { + anonymous: "Fotógrafo anónimo", + bioPlaceholder: "A túa traxectoria, estilo, o que che gusta fotografar...", + cameraLabel: "Cámaras * (selecciona polo menos unha)", + cameraRequired: "Cómpre indicar cámara", + contactDesc: "Como poden ver o teu traballo os riders e contactar contigo (todo opcional, pero recomendado)", + create: "CREAR PERFIL DE FOTOGRAFÍA", + created: "Perfil de fotografía creado!", + createPro: "CREAR PERFIL PRO DE FOTOGRAFÍA", + dmNote: "💬 Os riders poden escribirche directamente coa mensaxería cifrada de SkateSpots", + gearHelper: "Indica os corpos, obxectivos e luces exactos — aos riders encántalles saber o setup.", + gearPlaceholder: "ex.: Canon R6 II, ollo de peixe 8-15 mm, 70-200 mm f/2.8, 2× Godox AD200, disparadores remotos, trípode Manfrotto...", + heading: "Sé fotógrafo", + headlineExample: "Fotografía de skate", + identity: "A túa identidade de fotógrafo", + lensesLabel: "Obxectivos", + lightingLabel: "Equipo de iluminación", + nip05Reason: "Engade un identificador NIP-05 para verificar a túa identidade e gañar a confianza dos clientes.", + paymentDesc: "Para cobrar polas sesións, conecta unha carteira Lightning. Os clientes enviaranche zaps directamente polo teu traballo.", + portfolioLabel: "Portafolio / Instagram", + profileDesc: "Fálalles aos riders do teu ollo, do teu equipo e dos teus servizos", + profileTitle: "Perfil de fotografía", + ratePlaceholder: "20000 sats/sesión", + selectCamera: "Selecciona polo menos un tipo de cámara coa que fotografas.", + selectService: "Selecciona polo menos un servizo que ofreces.", + servicesLabel: "Servizos ofrecidos * (selecciona polo menos un)", + servicesRequired: "Cómpre indicar servizos", + spotsDesc: "Selecciona os spots onde ofreces fotografía", + spotsLabel: "Spots onde fotografas", + styleLabel: "Estilo de fotografía", + supportLabel: "Soporte e equipo", + tagline: "Fotografía as sesións — ofrece a túa fotografía de skate", + update: "ACTUALIZAR PERFIL DE FOTOGRAFÍA", + updated: "Perfil de fotografía actualizado!" + }, + builderForm: { + anonymous: "Construtor anónimo", + bioLabel: "Biografía / Sobre as túas construcións", + bioPlaceholder: "A túa crew, construcións destacadas, como enfocas un proxecto...", + buildTypesLabel: "O que constrúes * (selecciona polo menos un)", + buildTypesRequired: "Cómpre indicar tipos de construción", + cityBase: "Cidade / base", + contactPortfolio: "Contacto e portafolio", + contactPortfolioDesc: "Como pode ver a escena as túas construcións e contactar contigo (todo opcional, pero recomendado)", + create: "CREAR PERFIL DE CONSTRUTOR", + created: "Perfil de construtor creado!", + createPro: "CREAR PERFIL PRO DE CONSTRUTOR", + dmNote: "💬 Os clientes poden escribirche directamente coa mensaxería cifrada de SkateSpots", + gearHelper: "Ás crews e aos clientes encántalles coñecer o teu equipo e o teu proceso.", + gearLabel: "Como traballas / equipamento (opcional)", + gearPlaceholder: "ex.: Crew completa de formigón, formigoneira propia + equipo de shotcrete, soldadura móbil, encargámonos dos permisos e a drenaxe...", + heading: "Sé construtor", + headlineExample: "Construtor de ramplas e parques", + identity: "A túa identidade de construtor", + insured: "Licenza / seguro", + insuredHelper: "Relevante para parques públicos e traballos con concellos", + logoPhoto: "Logotipo / foto", + materialsLabel: "Materiais e oficios", + nip05Reason: "Engade un identificador NIP-05 para verificar a túa identidade e gañar a confianza dos clientes.", + pastBuilds: "Construcións anteriores / Instagram", + paymentDesc: "Para cobrar polas construcións, conecta unha carteira Lightning. Os clientes enviaranche zaps directamente polo teu traballo.", + profileDesc: "Fálalle á escena do que constrúes e de como traballas", + profileTitle: "Perfil de construtor", + rateLabel: "Tarifa / base do orzamento", + ratePlaceholder: "por m² / por proxecto", + scaleLabel: "Escala do proxecto", + selectBuild: "Selecciona polo menos unha cousa que constrúas.", + serviceArea: "Zona de servizo", + serviceAreaPlaceholder: "ex.: Cataluña, desprázome por toda a UE", + spotsDesc: "Vincula spots e parques que construíches para que a xente vexa o teu traballo no mapa", + spotsLabel: "Spots que construíches", + tagline: "Verte, solda, constrúe — anuncia a túa construción de ramplas e parques", + update: "ACTUALIZAR PERFIL DE CONSTRUTOR", + updated: "Perfil de construtor actualizado!", + yearsBuilding: "Anos construíndo" + }, + skaterForm: { + backToSkaters: "Volver aos skaters", + bioHelperPulled: "Tomada do teu perfil — axústa para a túa tarxeta de skater ou déixaa como está.", + bioHelperShort: "Unha breve presentación para a túa tarxeta de skater.", + bioPlaceholder: "Canto tempo levas patinando, que che gusta, no que estás a traballar…", + browseSpots: "Explorar spots", + changePhoto: "Cambiar foto de perfil", + chipBio: "Biografía", + chipPhoto: "Foto", + cityArea: "Cidade / zona", + created: "Xa estás no mapa! 🛹", + custom: "Personalizado", + customHelper: "A túa propia etiqueta — amósase na tarxeta de skater no canto dunha predefinida.", + customPlaceholder: "ex.: OG, Guerreiro de fin de semana, Retirado…", + discoverable: "Agora outros skaters poden atoparte.", + editFullProfile: "editar o teu perfil completo", + fromProfile: "Do teu perfil", + heroEditPrefix: "Edita o teu", + heroJoinPrefix: "Únete ao", + heroSuffix: "Directorio", + homeHelper: "Escríbeo libremente ou vincula un spot real do mapa para que a xente poida ir alí.", + homePlaceholder: "Parque ou praza local — ou toca «Explorar spots»", + homeSpot: "Spot habitual", + layerEnd: "para cambialos en todos os sitios.", + layerIntro: "Esta é a túa", + layerMid: ", creada a partir do teu perfil de Nostr. O teu nome, foto, biografía, lightning e verificación veñen de alí —", + layerWord: "capa de skate", + level: "Nivel", + linked: "Vinculado a un spot do mapa", + loadingProfile: "Cargando o teu perfil…", + loadingSpots: "Cargando spots…", + locationHelper: "Axuda a outros a atopar skaters preto. Só se comparte unha zona aproximada.", + loginToJoin: "Inicia sesión para unirte", + loginToJoinDesc: "Crea o teu perfil de skater para que a comunidade poida atoparte.", + mappedSpot: "Spot no mapa", + noSpots: "Aínda non se atoparon spots.", + noSpotsMatch: "Ningún spot coincide coa túa busca.", + openMap: "Abrir o mapa", + pickEverything: "Escolle todo o que encaixe co teu estilo.", + pickHomeSpot: "Escolle o teu spot habitual", + pickStyles: "Escolle os teus estilos", + pickStylesDesc: "Escolle polo menos unha cousa que patines.", + profilePic: "Foto de perfil", + profilePicHelper: "A túa tarxeta de skater usa a foto do teu perfil de Nostr — a mesma imaxe en todas partes.", + publishingAs: "Publicando como", + putOnMap: "Ponme no mapa", + searchSpots: "Buscar spots por nome ou cidade…", + skateStory: "A túa historia co skate", + stance: "Postura", + unlinkSpot: "Desvincular spot", + updateButton: "Actualizar o meu perfil", + updated: "Perfil actualizado!", + whatYouSkate: "O que patinas *", + yearsPlaceholder: "ex.: 8", + yearsSkating: "Anos patinando", + yourProfilePic: "A túa foto de perfil", + zapsOn: "Zaps activados" + }, + skaters: { + clearSearch: "Borrar busca", + community: "A comunidade", + countMany: "skaters", + countOne: "skater", + editProfile: "Editar o meu perfil de skater", + heroDesc: "Atopa a túa xente. Explora a comunidade de skaters que representa SkateSpots: por estilo, postura, nivel e cidade.", + nip05Verified: "Verificado con NIP-05", + noMatches: "Sen coincidencias", + noneDesc: "Sé o primeiro en unirte ao directorio e pór SkateSpots no mapa.", + noneTitle: "Aínda non hai skaters", + noVerifiedMatch: "Ningún skater verificado coincide", + searchPlaceholder: "Buscar por nome, cidade ou npub…", + tryDifferentSearch: "Proba outra busca ou borra os filtros.", + tryTurnOffVerified: "Proba a desactivar o filtro «Verificados» para ver a todos.", + verifiedFilterTitle: "Mostrar só skaters cunha identidade NIP-05 verificada" + }, + skaterCard: { + inDirectory: "Estás no directorio de skaters", + joinDesc: "Engade a túa postura, estilos e nivel para que os skaters poidan atoparte.", + joinTitle: "Únete ao directorio de skaters" + }, + crewsStrip: { + allCrews: "Todas as crews", + memberMany: "{{count}} membros", + memberOne: "{{count}} membro", + title: "Crews desta escena" + }, + labLink: { + coach: "Adestrador", + filmer: "Filmer", + editor: "Editor", + photographer: "Fotógrafo", + builder: "Construtor", + artist: "Artista", + graffiti: "Graffiti", + tattoo: "Tatuaxe", + trainer: "Preparador", + musician: "Músico", + judge: "Xuíz", + barber: "Barbeiro", + organizer: "Organizador", + lab: "Lab", + linkedProfiles: "Perfís do Lab vinculados", + desc: "Tamén levas un estudio, adestramento ou servizo de construción? Vincula os teus anuncios do Lab para que a xente poida contratar a túa crew. Opcional. Cando o perfil do Lab tamén liga de volta a esta crew, ambos amosan un", + descEnd: "distintivo verde.", + empty: "Aínda non tes perfís do Lab. Crea un no Lab para vinculalo aquí." + }, + proUpgrade: { + goPro: "Pasar a Pro", + optional: "· opcional", + freeTo: "Anunciarte é gratis. Pro engade un", + proBadge: "distintivo Pro", + featuredPlacement: "lugar destacado", + atTop: "no alto do Lab.", + active: "Activo", + benefit1: "Distintivo «Pro» dourado no teu perfil e nas túas tarxetas", + benefit2: "Apareces primeiro cando os skaters exploran o Lab", + benefit3: "Apoia a SkateSpots — sen anuncios nin intermediarios", + platformOwner: "Propietario da plataforma — Pro sempre activo.", + proActiveOne: "Pro activo · queda {{count}} día. O teu perfil aparecerá destacado.", + proActiveMany: "Pro activo · quedan {{count}} días. O teu perfil aparecerá destacado.", + context: "O teu perfil segue activo gratis despois de que expire Pro — só perdes o distintivo e o impulso." + }, + profilePreview: { + viewPublic: "Ver público", + unnamed: "Skater sen nome", + noHandle: "Aínda sen identificador" + }, + pyramid: { + pyramidWord: "PIRÁMIDE", + rankingsWord: "CLASIFICACIÓNS", + subtitle: "Principais colaboradores na túa cidade", + yourRank: "A túa posición", + keepContributing: "Segue colaborando para subir máis!", + topContributors: "Principais colaboradores", + noContributors: "Aínda non hai colaboradores. Sé o primeiro en engadir un spot ou crear un evento!", + spots: "Spots", + events: "Eventos", + total: "Total", + trust: "Confianza" + }, + detail: { + joined: "Membro desde", + about: "Sobre", + howWeWork: "Como traballamos", + inTheBag: "Na mochila", + hardware: "Hardware", + software: "Software", + eventsJudged: "Eventos xulgados", + eventsOrganized: "Eventos organizados", + spots: "Spots", + viewSpot: "Ver spot", + credentialsTitle: "Titulacións e seguridade", + selfAttested: "Declaradas polo adestrador — SkateSpots non as verifica.", + formats: "Formatos", + levels: "Niveis", + ages: "Idades", + languages: "Idiomas", + availability: "Dispoñibilidade", + bookSession: "Reservar unha sesión", + portfolio: "Portafolio", + watchReel: "Ver en {{platform}}", + paymentsTitle: "Pagamentos", + payWhatYouCan: "Paga o que poidas", + bookingFee: "Taxa de reserva", + payBookingFee: "Pagar taxa de reserva", + bookingFeeNote: "Págase directamente ao adestrador. SkateSpots non a retén nin a reembolsa.", + bookingFeeNoRail: "Este adestrador non ten un enderezo Lightning configurado, polo que o pagamento na app non está dispoñible — contacta con el para acordar o pagamento.", + serviceArea: "Zona de servizo", + licensedInsured: "Licenza / seguro", + studio: "Estudio", + shopStudio: "Tenda / estudio", + booksOpen: "Aberto a reservas", + credentials: "Titulacións", + remoteOnline: "Remoto / en liña dispoñible", + graffitiCrew: "Crew de graffiti", + act: "Actuación", + listen: "Escoitar", + upcomingGigs: "Próximas actuacións", + past: "Pasadas", + experience: "Experiencia", + yearsCount: "{{count}} anos", + rate: "Tarifa", + contact: "Contacto", + sendMessage: "Enviar mensaxe", + bookGig: "Reservar para unha actuación", + portfolioDomain: "Portafolio · {{domain}}", + manage: "Xestionar", + admin: "Admin", + editProfile: "Editar perfil", + publishedTitle: "Xa estás visible", + publishedBody: "O teu perfil está publicado no Lab. Compárteo para que os skaters poidan atoparte.", + manageRemove: "Retirar o teu perfil de {{noun}} do Lab.", + adminTakeDown: "Retirar este perfil de {{noun}}. Ocultarase en todo SkateSpots.", + entityLabel: "Perfil de {{noun}}", + deleteProfile: "Eliminar perfil", + location: "Localización", + servicesSkills: "Servizos e habilidades", + noun: { + coach: "adestrador", + filmer: "filmer", + editor: "editor de vídeo", + photographer: "fotógrafo", + builder: "construtor", + artist: "artista", + graffiti: "artista de graffiti", + tattoo: "tatuador", + trainer: "preparador", + musician: "músico", + judge: "xuíz de eventos", + organizer: "organizador de eventos", + barber: "barbeiro", + profile: "perfil" + }, + skillsTitle: { + skills: "Habilidades", + servicesGear: "Servizos e equipamento", + whatWeBuild: "O que construímos", + whatTheyMake: "O que fan", + stylesWork: "Estilos e traballo", + styles: "Estilos", + focusSpecialties: "Enfoque e especialidades", + genresInstruments: "Xéneros e instrumentos", + formatsSpecialties: "Formatos e especialidades", + servicesStyles: "Servizos e estilos", + eventTypesServices: "Tipos de evento e servizos" + } + }, + rider: { + heroDesc: "A túa identidade de skater verificable. Asinada en Nostr, lista para imprimir, imposible de falsificar.", + heroDesc2: "Gaña insignias de habilidades testemuñadas por outros skaters. Consegue pases de acceso aos parques. Comparte a túa tarxeta onde queiras.", + headerTagline: "Asinada en Nostr · Lista para imprimir · Verificada por QR", + tabCard: "A miña tarxeta", + tabBadges: "Insignias", + tabAward: "Premiar", + rendering: "Xerando…", + shareCard: "Compartir tarxeta", + savePng: "Gardar PNG", + print: "Imprimir", + copyId: "Copiar ID", + cardType: "Tipo de tarxeta", + licenseLabel: "Licenza · AGPL-3.0", + licenseSub: "A túa identidade persoal de rider", + parkLabel: "Acceso ao parque", + parkSub: "Emite pases como propietario dun parque", + theme: "Tema", + holoTitle: "Brillo holográfico", + holoDesc: "Efecto de lámina animada", + cardDetails: "Detalles da tarxeta", + skateStyle: "Estilo de skate", + ridesFor: "Patinas para", + ridesForPlaceholder: "Tenda local…", + sponsors: "Patrocinadores", + sponsorsPlaceholder: "Marcas…", + showOnCard: "Mostrar na tarxeta", + zaps: "Zaps ⚡", + skills: "Habilidades", + selected: "{{count}}/6 seleccionadas", + goldBadgesHint1: "As insignias douradas da túa tarxeta veñen doutros skaters que te testemuñaron — consulta as", + goldBadgesHint2: ".", + parkOwnersOnly: "Só para propietarios de parques.", + parkOwnersDesc: "Emíteo coa mesma clave de Nostr coa que publicaches o teu anuncio de parque. Calquera pode escanear o QR e verificar a sinatura na cadea — non fai falta ningunha autoridade central.", + parkDetails: "Detalles do parque", + parkName: "Nome do parque", + parkNamePlaceholder: "The Berrics…", + riderName: "Nome do rider", + riderNamePlaceholder: "Nome na tarxeta", + riderNpub: "ID de Nostr do rider (npub)", + accessLevel: "Nivel de acceso", + validThru: "Válida ata", + publishToNostr: "Publicar en Nostr", + badgesIntro: "Estas insignias foron testemuñadas e asinadas por outros skaters en Nostr. Aparecen como etiquetas douradas ⭐ na túa tarxeta.", + earnMore: "Queres gañar máis? Patina diante de alguén e pídelle que testemuña o teu truco.", + awardSomeone: "Premiar a alguén cunha insignia", + youSawIt: "Víchelo acontecer", + youSawItDesc: "Asina a proba en Nostr. Pasa a formar parte do seu rexistro permanente — ligada criptograficamente á túa clave.", + skillsWitnessed: "Habilidades que testemuñaches", + whereSeen: "Onde o viches?", + optional: "(opcional)", + signingOnNostr: "Asinando en Nostr…", + awardBadge: "Premiar insignia", + addRiderSkill: "Engade o npub do rider e polo menos unha habilidade", + invalidNpub: "npub non válido", + badgeAwarded: "🏅 Insignia outorgada!", + badgeSent: "{{skills}} enviadas.", + failed: "Erro", + couldNotRender: "Non se puido xerar a tarxeta", + popupBlocked: "Ventá emerxente bloqueada", + popupBlockedDesc: "Permite as ventás emerxentes para este sitio.", + linkCopied: "🔗 Ligazón copiada!", + enterRiderNpub: "Introduce o npub do rider", + parkPublished: "✅ Tarxeta de acceso ao parque publicada!", + publishFailed: "Non se puido publicar", + noBadges: "Aínda non hai insignias. Patina diante de alguén e pídelle que testemuñe os teus trucos!", + showMore: "Mostrar {{count}} máis", + witnessedBy: "Testemuñada por", + at: "en", + previewLicense: "Licenza de skater", + previewSince: "Desde {{year}}", + previewEvts: "Eventos", + previewScan: "Escanea para verificar", + previewSkatepark: "Skatepark", + previewAccessPass: "Pase de acceso", + previewMemberName: "Nome do membro", + previewIssuedBy: "Emitida polo propietario do parque · asinada en Nostr", + previewValidThru: "Válida ata", + previewNostrVerified: "Verificada en Nostr" + }, + craftFields: { + detailsTitle: "Detalles adicionais", + deliverables: "Entregables", + turnaround: "Prazo de entrega", + surfaces: "Superficies / paredes", + maxSize: "Tamaño máximo", + setLength: "Duración do set", + techRider: "Rider técnico", + travel: "Desprazamento", + certifications: "Certificacións", + insurance: "Seguro", + permits: "Permisos", + deposit: "Sinal", + minimum: "Mínimo", + modalities: "Modalidades", + duration: "Duración da cita", + drone: "Dron", + leadTime: "Prazo de aviso", + warranty: "Garantía", + sizing: "Rango de tallas", + samples: "Mostras / prototipos", + customization: "Personalización" + }, + craftForm: { + profileImage: "Imaxe de perfil", + nameHeadline: "Nome / titular", + about: "Sobre", + aboutPlaceholder: "Fálalles aos skaters do teu traballo como {{noun}}…", + required: "obrigatorio", + nip05Title: "Engade NIP-05 para gañar confianza", + nip05Desc: "Un identificador NIP-05 axuda aos skaters a verificar que es quen dis ser. Moi recomendado antes de anunciarte.", + editingNote: "Estás editando o teu perfil de {{noun}} — ao publicar, substitúese.", + location: "Localización", + pinned: "📍 Fixado no mapa ({{lat}}, {{lng}})", + experienceYears: "Experiencia (anos)", + expPlaceholder: "ex.: 5", + ratePlaceholder: "ex.: 20k sats / por proxecto", + contactLinks: "Contacto e ligazóns", + phoneOptional: "Teléfono (opcional)", + emailOptional: "Correo electrónico (opcional)", + socialPlaceholder: "Redes (Instagram, etc.)", + gettingPaid: "Cobrar", + updateProfile: "Actualizar perfil", + publishProfile: "Publicar perfil", + rateLeftBlankNote: "Opcional — déixao baleiro se xa abonda coa tarifa de arriba.", + sectionRequired: "{{section}} obrigatorio", + sectionRequiredDesc: "Selecciona polo menos unha opción en «{{section}}».", + updated: "Perfil actualizado!", + created: "Perfil creado!", + headlineExample: "Adestrador de skate Berlín" + } + }, + labOptions: { + coach: { + skill: { + basics: "Fundamentos", + ollies: "Ollies", + kickflips: "Kickflips", + grinds: "Grinds e slides", + manuals: "Manuals", + inverts: "Inverts", + vert: "Vertical / rampla", + bowl: "Bowl", + street: "Rúa", + freestyle: "Freestyle", + safety: "Seguridade", + diy: "Módulos de skate DIY" + }, + skillDesc: { + basics: "Empurrar, postura, equilibrio, xirar", + ollies: "Ollie e variantes (nollie, fakie)", + kickflips: "Kickflip, heelflip e variantes", + grinds: "50-50, 5-0, boardslide e máis", + manuals: "Manual, nose manual, combinacións", + inverts: "Invert, handplant, eggplant, andrecht", + vert: "Half-pipe, quarter-pipe, drop-ins", + bowl: "Carving en bowl, bombeo, liñas", + street: "Obstáculos de rúa e creatividade", + freestyle: "Trucos de plano e fluidez", + safety: "Como caer, protección, prevención de lesións", + diy: "Construír ramplas, barandillas, bordos e outros obstáculos" + } + }, + filmer: { + service: { + miniclips: "Mini clips", + longparts: "Partes de vídeo longas", + koth: "Estilo King of the Road", + documentaries: "Documentais", + contests: "Filmación para concursos", + raw: "Material sen editar", + followlines: "Filmación de seguimento / liñas", + lines: "Filmación de liñas e B-roll" + }, + serviceDesc: { + miniclips: "Clips de 15-60 seg para redes sociais", + longparts: "Partes completas de 3-10 min con música", + koth: "Vídeos de skate de aventura e desafíos", + documentaries: "Contido de cultura skate e con historia", + contests: "Cobertura profesional de concursos e competicións", + raw: "Material sen editar desde varios ángulos", + followlines: "Cámara de seguimento con ollo de peixe para liñas", + lines: "Liñas con teleobxectivo e b-roll cinematográfico" + }, + skill: { + vx1000: "VX1000", + hvx: "HVX / HPX", + cinema: "Cámara de cine", + dslr: "Réflex / sen espello", + actioncam: "GoPro / cámara de acción", + phone: "Filmación co móbil", + drone: "Dron / aérea", + gimbal: "Estabilizador", + fisheye: "Ollo de peixe", + longlens: "Teleobxectivo", + "4k": "4K / alta frecuencia de imaxes", + editing: "Edición de vídeo", + color: "Etalonaxe de cor" + }, + skillDesc: { + vx1000: "A estética clásica do skate coa VX1000", + hvx: "Aspecto SD / HD da Panasonic HVX/HPX", + cinema: "Cámara de cine (FX3, serie C, RED, BMPCC)", + dslr: "Cámara réflex ou sen espello de alta calidade", + actioncam: "POV e soportes de GoPro / cámara de acción", + phone: "Filmación co móbil con smartphones modernos", + drone: "Imaxes aéreas con dron", + gimbal: "Movemento estabilizado con gimbal", + fisheye: "Tomas con gran angular de ollo de peixe", + longlens: "Teleobxectivo para tomas detalladas", + "4k": "Resolución 4K e slow-mo de alta frecuencia", + editing: "Edición e postprodución profesional de vídeo", + color: "Corrección e etalonaxe de cor" + } + }, + editor: { + service: { + parts: "Partes de vídeo", + montages: "Montaxes", + reels: "Reels / clips curtos", + documentaries: "Documentais", + contest: "Edicións de concursos", + brand: "Vídeos de marca / promoción", + motion: "Gráficos animados", + colorgrade: "Só etalonaxe de cor" + }, + serviceDesc: { + parts: "Partes completas de vídeo de skate con banda sonora", + montages: "Montaxes de compilación a partir de material sen editar", + reels: "Clips e reels de 15–60 seg para redes sociais", + documentaries: "Filmes de cultura skate con historia", + contest: "Vídeos resumo de concursos e eventos", + brand: "Contido promocional para marcas e tendas", + motion: "Rótulos, transicións, efectos e gráficos", + colorgrade: "Corrección de cor e etalonaxe con LUT" + }, + skill: { + premiere: "Adobe Premiere", + resolve: "DaVinci Resolve", + finalcut: "Final Cut Pro", + aftereffects: "After Effects", + luts: "LUT personalizadas", + vhs: "Estética VHS / retro", + "4k": "Fluxos de traballo 4K e RAW", + sound: "Deseño sonoro / mestura" + }, + skillDesc: { + premiere: "Edición con Adobe Premiere Pro", + resolve: "Edición e etalonaxe con DaVinci Resolve", + finalcut: "Edición con Final Cut Pro", + aftereffects: "Gráficos animados e composición", + luts: "Desenvolvemento de looks de cor personalizados", + vhs: "Glitch VHS, super-8, looks de cine retro", + "4k": "Fluxos de traballo con cámaras RAW/LOG de alta resolución", + sound: "Sincronización musical, efectos, masterización de audio" + } + }, + photo: { + service: { + action: "Acción / trucos", + sequence: "Secuencias", + portraits: "Retratos", + editorial: "Editorial / revista", + product: "Produto / tenda", + events: "Cobertura de eventos", + lifestyle: "Lifestyle / documental", + prints: "Copias e fanzines" + }, + serviceDesc: { + action: "Imaxes no momento álxido de trucos e liñas", + sequence: "Secuencias de trucos en varios fotogramas", + portraits: "Retratos de riders e fotos de equipo", + editorial: "Dobre páxinas editoriais listas para revista", + product: "Fotografía de táboas, material e produto de tenda", + events: "Cobertura de competicións, quedadas e estreas", + lifestyle: "Making of e documental de cultura", + prints: "Copias físicas, fanzines e fotolibros" + }, + camera: { + dslr: "Réflex", + mirrorless: "Sen espello", + medium: "Medio formato", + film35: "Película de 35 mm", + filmmedium: "Película de medio formato", + point: "Compacta", + phone: "Móbil" + }, + lens: { + fisheye: "Ollo de peixe", + wide: "Gran angular", + standard: "Estándar / fixo", + telephoto: "Teleobxectivo", + macro: "Macro", + zoom: "Zoom" + }, + lighting: { + strobes: "Flashes de estudio", + speedlights: "Flashes de zapata", + profoto: "Profoto", + elinchrom: "Elinchrom", + godox: "Godox", + triggers: "Disparadores remotos", + continuous: "Luz continua / LED", + reflectors: "Reflectores / difusores", + naturallight: "Só luz natural" + }, + support: { + tripod: "Trípode", + monopod: "Monopé", + lightstands: "Pés de luz", + gimbal: "Estabilizador", + bag: "Equipo móbil / mochila", + laptop: "Tethering no lugar" + }, + style: { + flashfisheye: "Ollo de peixe con flash", + natural: "Luz natural", + bw: "Branco e negro", + film: "Estética de película", + longlens: "Teleobxectivo", + studio: "Estudio / iluminado", + street: "Rúa / documental" + } + }, + builder: { + service: { + diy: "Spots DIY", + concrete: "Parques de formigón", + wood: "Ramplas de madeira", + bowls: "Bowls e piscinas", + transitions: "Transicións e quarters", + rails: "Barandillas e bordos", + boxes: "Manny pads e caixóns", + minis: "Mini ramplas", + pumptrack: "Pump tracks", + foam: "Fosos de espuma / interior", + repairs: "Reparacións e revestimentos", + design: "Deseño e asesoramento" + }, + serviceDesc: { + diy: "Spots DIY comunitarios e construcións guerrilleiras", + concrete: "Skateparks e elementos de formigón vertido", + wood: "Ramplas, caixóns de lanzamento e obstáculos de madeira", + bowls: "Bowls, piscinas e transición profunda", + transitions: "Quarterpipes, pendentes e transicións", + rails: "Barandillas de aceiro, bordos e elementos para grind", + boxes: "Manny pads, funboxes e elementos de rúa", + minis: "Mini ramplas e montaxes de xardín", + pumptrack: "Pump tracks e liñas de flow", + foam: "Fosos de espuma, resi e elementos de adestramento cubertos", + repairs: "Arranxos, parches e revestimento de spots existentes", + design: "Planos, debuxos e asesoramento de construción" + }, + skill: { + concretework: "Formigón / shotcrete", + welding: "Soldadura / fabricación en aceiro", + carpentry: "Carpintaría / madeira", + formwork: "Encofrados e armadura", + masonry: "Albanelaría / bloques", + coping: "Coping (piscina / aceiro)", + surfacing: "Skatelite / revestimento", + earthworks: "Movemento de terras / escavación" + }, + scale: { + backyard: "Xardín / mini", + diycommunity: "DIY comunitario", + publicpark: "Parque público completo", + indoor: "Instalación cuberta", + event: "Circuíto de evento / concurso" + } + }, + artist: { + service: { + boardart: "Gráficos de táboa", + logos: "Logotipos e identidade", + posters: "Carteis e flyers", + merch: "Merch e roupa", + zines: "Fanzines e impresión", + illustration: "Ilustración", + stickers: "Pegatinas e vinilos", + webdesign: "Web / dixital", + typography: "Tipografía / rotulación", + animation: "Animación / motion" + }, + serviceDesc: { + boardart: "Gráficos de táboa e arte en lixa", + logos: "Identidade de marca, logotipos e logotipos tipográficos", + posters: "Carteis de eventos, flyers e arte para concertos", + merch: "Gráficos para camisetas, sudadeiras e roupa", + zines: "Fanzines, editorial e maquetación impresa", + illustration: "Ilustración personalizada e deseño de personaxes", + stickers: "Packs de pegatinas, vinilos e slaps", + webdesign: "Sitios web, dixital e UI", + typography: "Rotulación a man e tipografía personalizada", + animation: "Gráficos animados e animación" + }, + medium: { + digital: "Dixital / vectorial", + handdrawn: "A man", + screenprint: "Serigrafía", + paint: "Pintura / acrílico", + collage: "Colaxe / mixta", + photo: "Foto / Photoshop", + "3d": "3D / render" + }, + tool: { + illustrator: "Adobe Illustrator", + photoshop: "Adobe Photoshop", + procreate: "Procreate", + affinity: "Affinity", + figma: "Figma", + blender: "Blender", + aftereffects: "After Effects", + clipstudio: "Clip Studio" + } + }, + graffiti: { + style: { + throwups: "Throw-ups", + pieces: "Pezas / burners", + murals: "Murais", + characters: "Personaxes", + lettering: "Rotulación / wildstyle", + stencil: "Estarcido", + handstyles: "Handstyles / tags", + "3dstyle": "Estilo 3D", + abstract: "Abstracto" + }, + styleDesc: { + throwups: "Recheos rápidos a dúas cores", + pieces: "Pezas a toda cor e burners", + murals: "Murais e producións a gran escala", + characters: "Personaxes e figuras", + lettering: "Wildstyle e estrutura de letras", + stencil: "Estarcido e arte urbana", + handstyles: "Tags e handstyles", + "3dstyle": "Rotulación 3D e anamórfica", + abstract: "Abstracto e freestyle" + }, + medium: { + spray: "Esprais", + rollers: "Rodillos / emulsión", + markers: "Rotuladores / tintas", + brush: "Pincel / pintura", + digital: "Dixital / Procreate" + }, + context: { + legalwalls: "Muros legais", + commissions: "Encomendas", + liveart: "Pintura en directo", + skateparks: "Murais en skateparks", + interiors: "Interiores / tendas", + workshops: "Obradoiros" + } + }, + tattoo: { + style: { + traditional: "Tradicional / old school", + neotraditional: "Neotradicional", + fineline: "Liña fina", + blackwork: "Blackwork", + realism: "Realismo", + lettering: "Rotulación / script", + illustrative: "Ilustrativo", + skateflash: "Flash de skate", + ignorant: "Ignorant / estilo handpoke", + japanese: "Xaponés / irezumi" + }, + styleDesc: { + traditional: "Liñas marcadas, Americana clásica", + neotraditional: "Tradicional con detalle moderno", + fineline: "Traballo delicado a unha agulla", + blackwork: "Negro sólido e patróns", + realism: "Fotorrealismo e retratos", + lettering: "Script, rotulación e citas", + illustrative: "Ilustrativo e gráfico", + skateflash: "Deseños flash da cultura skate", + ignorant: "Estilo ignorant / naíf handpoke", + japanese: "Xaponés tradicional / irezumi" + }, + method: { + machine: "Máquina", + handpoke: "Handpoke / stick & poke", + flash: "Flash dispoñible", + custom: "Deseños personalizados", + coverup: "Cubricións" + } + }, + trainer: { + focus: { + strength: "Forza e acondicionamento", + mobility: "Mobilidade e flexibilidade", + injuryprevention: "Prevención de lesións", + rehab: "Rehabilitación / fisioterapia", + recovery: "Recuperación e masaxe", + balance: "Equilibrio e estabilidade", + cardio: "Cardio / resistencia", + nutrition: "Asesoramento nutricional" + }, + focusDesc: { + strength: "Gañar forza e potencia para o skate", + mobility: "Amplitude de movemento e flexibilidade", + injuryprevention: "Prehabilitación e redución do risco de lesións", + rehab: "Fisioterapia e rehabilitación tras unha lesión", + recovery: "Masaxe, masaxe terapéutica e recuperación", + balance: "Propiocepción, equilibrio e estabilidade", + cardio: "Acondicionamento e resistencia", + nutrition: "Consellos de alimentación e nutrición" + }, + injury: { + ankles: "Tobillos", + knees: "Xeonllos", + wrists: "Pulsos", + hips: "Cadeiras", + back: "Costas / columna", + shoulders: "Ombros", + heelbruise: "Contusións no talón", + concussion: "Protocolo de conmoción" + }, + credential: { + physio: "Fisioterapeuta titulado", + osteo: "Osteópata", + certtrainer: "Adestrador certificado", + sportstherapist: "Terapeuta deportivo", + massage: "Masaxista", + inperson: "Presencial", + remote: "Remoto / en liña" + } + }, + musician: { + genre: { + punk: "Punk", + hardcore: "Hardcore", + metal: "Metal", + rock: "Rock", + indie: "Indie / alternativo", + hiphop: "Hip-hop / rap", + electronic: "Electrónica", + lofi: "Lo-fi / beats", + reggae: "Reggae / dub", + ska: "Ska", + jazz: "Jazz", + funk: "Funk / soul", + flamenco: "Flamenco", + folk: "Folk / acústico", + experimental: "Experimental", + grunge: "Grunge" + }, + instrument: { + vocals: "Voz", + guitar: "Guitarra", + bass: "Baixo", + drums: "Batería", + keys: "Teclados / sintetizador", + dj: "DJ / pratos", + producer: "Produtor / beats", + sax: "Saxo / metais", + strings: "Cordas", + other: "Outro" + }, + act: { + solo: "Artista en solitario", + band: "Banda", + dj: "DJ", + producer: "Produtor", + collective: "Colectivo" + } + }, + judge: { + format: { + game_of_skate: "Game of S.K.A.T.E.", + best_trick: "Best Trick", + jam: "Formato jam", + contest: "Concurso / competición", + street_league: "Estilo Street League", + bowl: "Bowl / vertical", + mini_ramp: "Mini rampla", + park: "Parque", + street: "Rúa", + freestyle: "Freestyle", + world_tour: "World Destruction Tour", + am_series: "Serie Am / clasificatorias", + local_jam: "Jam local / base", + online: "En liña / concurso de IG" + }, + specialty: { + head_judge: "Xuíz principal", + scoring: "Puntuación / tabulación", + mc: "MC / presentador", + format_design: "Deseño de formato", + rules: "Regras / arbitraxe", + brackets: "Eliminatorias / quendas", + livestream: "Xuízo en directo", + am_scout: "Busca de Am" + }, + level: { + local: "Local", + regional: "Rexional", + national: "Nacional", + international: "Internacional", + pro: "Circuíto Pro" + } + }, + organizer: { + event: { + street_jam: "Jam de rúa", + best_trick: "Best Trick", + game_of_skate: "Game of S.K.A.T.E.", + contest: "Concurso / competición", + bowl: "Bowl / vertical", + mini_ramp: "Mini rampla", + park: "Sesión no parque", + demo: "Demo pro", + clinic: "Clase / obradoiro", + meetup: "Quedada / paseo", + downhill: "Descenso / carreira", + slalom: "Slálom", + kids: "Nenos / xuventude", + charity: "Benéfico / recadación", + tour_stop: "Parada de xira", + premiere: "Estrea de vídeo", + market: "Mercado / exposición" + }, + service: { + organizing: "Organización completa", + hosting: "Presentación / MC", + permits: "Permisos e concello", + sponsorship: "Patrocinio / acordos de marca", + promotion: "Promoción e marketing", + livestream: "Emisión en directo / cobertura", + sound: "Son e música", + ramps: "Ramplas e obstáculos", + safety: "Seguridade e primeiros auxilios", + vendors: "Comida e vendedores", + media: "Cobertura de foto / vídeo", + registration: "Inscricións e eliminatorias" + }, + scale: { + grassroots: "Base", + local: "Local", + regional: "Rexional", + national: "Nacional", + international: "Internacional", + pro: "Circuíto Pro" + } + }, + barber: { + service: { + haircut: "Corte de pelo", + fade: "Fade", + beard: "Arranxo de barba", + lineup: "Liña / perfilado", + colour: "Cor e tinguidura", + kids: "Cortes para nenos" + }, + serviceDesc: { + haircut: "Un corte clásico — máquina e tesoiras.", + fade: "Un degradado progresivo — baixo, medio ou alto.", + beard: "Arranxo, perfilado e limpeza da barba.", + lineup: "Bordes limpos na liña do pelo e no pescozo.", + colour: "Cor, decoloración, tinguidura e matización.", + kids: "Cortes con paciencia para os skaters máis novos." + }, + style: { + skin_fade: "Skin fade", + taper: "Taper", + buzz: "Corte ao rape", + mohawk: "Mohicano", + mullet: "Mullet", + curly: "Rizos / afro", + long: "Pelo longo / capas", + classic: "Corte clásico con tesoiras" + }, + setting: { + shop: "Barbería", + mobile: "A domicilio", + event: "Eventos e competicións de skate" + } + }, + clothing: { + service: { + tees: "Camisetas", + hoodies: "Sudadeiras", + pants: "Pantalóns e pantalóns curtos", + jackets: "Chaquetas e abrigos", + kits: "Equipacións e camisolas", + caps: "Gorras e gorros", + socks: "Calcetíns", + accessories: "Bolsas e accesorios", + footwear: "Calzado", + patches: "Parches e apliques", + griptape: "Lixa e roupa para táboas", + onepiece: "Pezas únicas / upcycling" + }, + serviceDesc: { + tees: "Camisetas e tops personalizados", + hoodies: "Sudadeiras, suadoiros e pantalóns de chándal", + pants: "Pantalóns de traballo, cargo e curtos", + jackets: "Chaquetas de adestrador, cortaventos e de traballo", + kits: "Equipacións, camisolas e uniformes", + caps: "Gorras, gorros e tocaduras", + socks: "Calcetíns de cana alta e xéneros de punto", + accessories: "Bolsas, cintos e pequenos artigos", + footwear: "Zapatos e calzado personalizado", + patches: "Parches bordados e apliques", + griptape: "Arte en lixa e roupa para táboas", + onepiece: "Pezas únicas e prendas de upcycling" + }, + method: { + screenprint: "Serigrafía", + dtg: "DTG / directo á prenda", + embroidery: "Bordado", + cutsew: "Corte e confección", + sublimation: "Sublimación", + heattransfer: "Transfer térmico / vinilo", + garmentdye: "Tinguidura de prenda", + knit: "Xénero de punto", + patchwork: "Patchwork", + allover: "Estampado integral" + }, + material: { + cotton: "Algodón", + heavyweight: "Gramaxe alta", + organic: "Orgánico / sostible", + fleece: "Polar", + denim: "Denim", + canvas: "Lona", + nylon: "Nylon / técnico", + wool: "Merino / la", + leather: "Coiro", + recycled: "Reciclado / deadstock" + } + }, + tour: { + skill: { + beginner: { + label: "Principiante", + description: "Novo no skate ou trucos básicos" + }, + intermediate: { + label: "Intermedio", + description: "Cómodo na maioría dos terreos" + }, + advanced: { + label: "Avanzado", + description: "Skater experimentado, spots esixentes" + }, + all: { + label: "Todos os niveis", + description: "Axeitado para todos" + } + } + } + } +}; + +export default batch5; diff --git a/src/i18n/gl/batch6.ts b/src/i18n/gl/batch6.ts new file mode 100644 index 0000000..986c4b5 --- /dev/null +++ b/src/i18n/gl/batch6.ts @@ -0,0 +1,1137 @@ +const batch6 = { + "walletUi": { + "page": { + "title": "Carteira", + "subtitle": "Bitcoin Lightning + Cashu", + "manage": "Xestionar", + "getAWallet": "Consegue unha carteira", + "learnPlanB": "Máis información en Plan B Academy", + "walletMinibits": "Cashu móbil · NWC", + "walletAlby": "Extensión do navegador · WebLN + NWC", + "walletZeus": "Lightning de autocustodia", + "walletCoinos": "Baseada na web · funciona en calquera sitio", + "whatAreZaps": "Que son os Zaps?", + "whatAreZapsShort": "Que son os zaps?", + "zapsDesc": "Pagamentos instantáneos por Bitcoin Lightning. Envía sats a calquera skater, creador de spots ou coach — sen intermediarios nin comisións da plataforma.", + "instant": "Instantáneo", + "instantDesc": "Confírmase en segundos", + "flexible": "Flexible", + "flexibleDesc": "A túa carteira, as túas chaves", + "private": "Privado", + "privateDesc": "Cashu oculta quen paga", + "direct": "Directo", + "directDesc": "O valor vai para o creador", + "loginRequired": "Cómpre iniciar sesión", + "loginRequiredDesc": "Inicia sesión coa túa conta de Nostr para conectar a túa carteira Lightning e comezar a enviar zaps.", + "browseMints": "Explorar cecas Cashu" + }, + "modal": { + "walletName": "Nome da carteira (opcional)", + "walletNamePlaceholder": "A miña carteira Lightning", + "connectionUri": "URI de conexión", + "spendLimitTitle": "Define primeiro un límite de gasto", + "spendLimitBody1": "Esta cadea permítelle a SkateSpots pagar facturas Lightning dende a túa carteira. Na túa app de carteira, dálle a esta conexión un", + "dailyBudget": "orzamento diario", + "spendLimitBody2": "(por exemplo, uns poucos milleiros de sats) e activa só", + "spendLimitBody3": "Nunca pegues unha conexión cun orzamento ilimitado. Podes revogala na túa carteira cando queiras.", + "addWallet": "Engadir carteira", + "nwcConnection": "Conexión NWC", + "lightningWallet": "Carteira Lightning", + "pasteNwc": "Pega a túa cadea de conexión NWC para enviar zaps", + "connectWallet": "Conectar carteira", + "browserExtension": "Extensión do navegador (WebLN)", + "autoDetected": "Detéctase automaticamente se está instalada", + "ready": "Lista", + "notFound": "Non atopada", + "getNwcFrom": "Obtén NWC en:", + "connectionRequired": "Cómpre unha URI de conexión", + "connectionRequiredDesc": "Introduce unha URI de conexión NWC válida.", + "activeChanged": "Carteira activa cambiada", + "activeChangedDesc": "A carteira seleccionada xa está activa para os zaps.", + "connectNwc": "Conectar carteira NWC", + "connectNwcDesc": "Introduce a túa cadea de conexión dunha carteira compatible.", + "connect": "Conectar", + "connecting": "Conectando...", + "walletSettings": "Axustes da carteira", + "connectDesc": "Conecta a túa carteira Lightning para enviar zaps ao instante." + }, + "cashu": { + "title": "Carteira Cashu", + "desc": "Carteira ecash integrada — sen configuración externa", + "initializing": "Inicializando a carteira...", + "walletError": "Erro da carteira", + "balance": "Saldo", + "balanceAria": "Saldo da carteira {{amount}} sats", + "activeMint": "Ceca activa", + "selectMint": "Selecciona unha ceca", + "receive": "Recibir", + "send": "Enviar", + "receiveViaLightning": "⚡ Recibir por Lightning", + "amountSats": "Cantidade en sats", + "generateInvoice": "Xerar factura", + "generating": "Xerando…", + "or": "Ou", + "receiveCashu": "🥜 Recibir token Cashu", + "scanQr": "Escanear QR", + "pasteCashu": "Pega un token Cashu (cashu...)", + "receiveToken": "Recibir token", + "receiving": "Recibindo…", + "createCashu": "🥜 Crear token Cashu", + "createToken": "Crear token", + "creating": "Creando…", + "payInvoice": "⚡ Pagar factura Lightning", + "pasteInvoice": "Pega unha factura Lightning (lnbc...)", + "payInvoiceBtn": "Pagar factura", + "processing": "Procesando...", + "payAddress": "📧 Pagar a un enderezo Lightning", + "sendToAddress": "Enviar ao enderezo", + "sending": "Enviando…", + "recentActivity": "Actividade recente", + "receivedLightning": "Recibido ⚡ Lightning", + "sentLightning": "Enviado ⚡ Lightning", + "sentToken": "Enviado 🥜 Token", + "receivedToken": "Recibido 🥜 Token", + "whatIsCashu": "Que é Cashu?", + "whatIsCashuDesc": "Cashu é diñeiro dixital respaldado por Bitcoin Lightning. Pensa nel como tokens de Bitcoin que gardas no navegador.", + "benefitOffline": "Funciona sen conexión nos skate spots", + "benefitInstant": "Pagamentos instantáneos entre persoas", + "benefitPrivacy": "Centrado na privacidade (as cecas non poden rastrexarte)", + "benefitRedeemable": "Sempre canxeable por sats Lightning", + "findMints": "Atopa cecas en mintradar.pedani.eu", + "backupTitle": "Fai unha copia de seguridade da túa carteira", + "backupDesc": "A túa carteira está protexida cunha frase de recuperación de 12 palabras. Gárdaa nun lugar seguro — necesitaraa para restaurar o teu saldo se borras os datos do navegador.", + "viewRecovery": "Ver a frase de recuperación", + "backupNote": "É coma o teu nsec de Nostr — mantena en segredo e fai copia!", + "tokenReceived": "Token recibido", + "tokenReceivedDesc": "Token Cashu canxeado correctamente!", + "receiveFailed": "Non se puido recibir", + "unknownError": "Erro descoñecido", + "requestUnsupported": "Aínda non se admite a solicitude Cashu", + "requestUnsupportedDesc": "Esta carteira aínda non pode pagar unha solicitude Cashu (creq) — pide unha factura ou un enderezo Lightning.", + "onchainUnsupported": "Aquí non se admite on-chain", + "onchainUnsupportedDesc": "Iso é un enderezo de Bitcoin. Esta carteira só envía tokens Cashu e pagamentos Lightning.", + "nostrProfile": "Iso é un perfil de Nostr", + "nostrProfileDesc": "Escanea un token Cashu, unha factura Lightning ou un enderezo Lightning para pagar.", + "clinkUnsupported": "Aínda non se admite o código de pagamento", + "clinkUnsupportedDesc": "Esta carteira aínda non pode pagar códigos CLINK. Usa mellor unha factura ou un enderezo Lightning.", + "unrecognizedQr": "Código QR non recoñecido", + "unrecognizedQrDesc": "Escanea un token Cashu, unha factura Lightning ou un enderezo Lightning.", + "invalidAmount": "Cantidade non válida", + "invalidAmountDesc": "Introduce unha cantidade válida", + "paymentSent": "Pagamento enviado", + "paymentSentDesc": "Enviados {{amount}} sats a {{address}}", + "paymentFailed": "O pagamento fallou", + "copied": "Copiado", + "copiedDesc": "{{label}} copiado ao portapapeis", + "receiveSats": "Recibir {{amount}} sats", + "payInvoiceHint": "Paga esta factura dende calquera carteira Lightning", + "invoiceQrAlt": "Código QR da factura", + "lightningInvoice": "Factura Lightning", + "invoiceLabel": "Factura", + "waiting": "⏳ Á espera do pagamento...", + "tokenReady": "Token listo para enviar", + "shareToken": "Comparte este token co destinatario", + "tokenQrAlt": "Código QR do token", + "cashuToken": "Token Cashu", + "tokenLabel": "Token", + "copyToken": "Copiar token", + "tokenWarning": "Calquera que teña este token pode canxealo — trátao coma diñeiro!", + "browser": { + "title": "Carteira ecash integrada", + "appOnly": "Só na app", + "desc": "Ecash Cashu de autocustodia, impulsado por Bitcoin Lightning", + "unlockTitle": "Desbloquea a carteira completa na app de SkateSpots", + "unlockDesc": "A carteira ecash integrada permíteche emitir, enviar e canxear tokens Cashu directamente no spot. Vive na app nativa, onde pode falar coas cecas directamente — os navegadores illan esas conexións pola túa seguridade.", + "zapTipTitle": "Zap e propina — xa funciona no teu navegador", + "zapTipDesc": "Enviar sats a spots, eventos, coaches e crews funciona aquí mesmo. Só tes que conectar unha carteira Lightning abaixo — Nostr Wallet Connect ou unha extensión do navegador como Alby. Non fai falta ningunha ceca Cashu." + } + }, + "escrow": { + "title": "Depósito en garantía", + "desc": "Vende con seguridade: activa o depósito en garantía e o comprador pode bloquear os seus sats para ti nunha transacción. Libéraos cando entregues — se non o fas, o comprador pode recuperalos pasado o tempo acordado.", + "active": "O depósito en garantía está activo", + "publish": "Activar o depósito en garantía", + "published": "O depósito en garantía está activo", + "publishedDesc": "Os compradores xa poden bloquear fondos para ti nunha transacción.", + "failed": "Non se puido activar o depósito en garantía" + }, + "escrowSettings": { + "title": "Axustes do depósito en garantía", + "desc": "Valores por defecto para as transaccións con depósito en garantía Cashu. Só neste dispositivo.", + "lockWindow": "Período de bloqueo por defecto", + "lockWindowHint": "Canto tempo quedan bloqueados os fondos antes de que o comprador poida recuperalos. Máis tempo é máis seguro para o vendedor.", + "days": "días", + "preferredMint": "Ceca para o depósito en garantía", + "activeMint": "Ceca activa", + "preferredMintHint": "Que ceca financia o depósito en garantía. Usa unha de confianza.", + "requireListings": "Esixir depósito en garantía nos novos anuncios", + "requireListingsHint": "Preselecciona «Esixir depósito en garantía» cando publicas un artigo." + }, + "privacy": { + "title": "Consellos de privacidade", + "subtitle": "Aprende a protexer a túa privacidade financeira", + "cashuRecommended": "CASHU (recomendado)", + "anon": "Transaccións anónimas", + "blind": "As sinaturas cegas ocultan a actividade", + "noIp": "Sen exposición do IP", + "trustMint": "Confías os fondos á ceca", + "lightningAddress": "ENDEREZO LIGHTNING", + "linked": "Pódese vincular á identidade", + "traceable": "Historial de pagamentos rastrexable", + "ipVisible": "IP visible ao facturar", + "selfCustody": "Autocustodia posible", + "bestPractices": "Boas prácticas", + "tip1Title": "Usa Cashu para recibir propinas", + "tip1Desc": "A carteira Cashu integrada é a forma máis privada de recibir zaps", + "tip2Title": "Usa unha carteira aparte para SkateSpots", + "tip2Desc": "Non uses a túa carteira principal de aforros — mantén os fondos da app separados", + "tip3Title": "Considera usar VPN ou Tor", + "tip3Desc": "Oculta o teu enderezo IP ao facer transaccións", + "tip4Title": "Evita enderezos Lightning vinculados á identidade", + "tip4Desc": "Usa enderezos pseudónimos non ligados ao teu nome real", + "proTip": "Consello pro:", + "proTipDesc": "Recibe primeiro os pagamentos na túa carteira Cashu e despois move periodicamente cantidades maiores á túa carteira persoal usando unha VPN para a transferencia.", + "warnTitle": "Nota sobre privacidade", + "warnDesc": "Os enderezos Lightning poden potencialmente vincular a túa actividade en SkateSpots coa túa identidade real.", + "betterPrivacy": "Para mellor privacidade:", + "bullet1": "Usa unha carteira dedicada para esta app", + "bullet2": "Considera usar mellor a carteira Cashu", + "bullet3": "Usa VPN/Tor para as transaccións", + "useCashu": "Usar Cashu no canto", + "understand": "Entendido" + }, + "mintPrivacy": { + "title": "Privacidade das cecas", + "desc": "Usar varias cecas mellora a privacidade ao evitar que unha soa ceca vexa todas as túas transaccións", + "distribution": "Distribución dos fondos", + "singleWarning": "Usar unha soa ceca significa que esa ceca pode ver o momento e as cantidades de todas as túas transaccións. Considera engadir máis cecas para mellorar a privacidade.", + "yourMints": "As túas cecas ({{count}})", + "default": "Por defecto", + "addMint": "Engadir ceca", + "addMintDesc": "Engade unha nova ceca Cashu á túa carteira", + "mintUrl": "URL da ceca", + "add": "Engadir", + "adding": "Engadindo...", + "orChoose": "Ou escolle da lista", + "recommended": "Cecas recomendadas", + "allMints": "Todas as cecas (directorio)", + "searchMints": "Buscar cecas…", + "noDirectoryMints": "Ningunha ceca coincide coa túa busca.", + "directoryHint": "Do directorio comunitario MintRadar — non oficial e pode estar desactualizado.", + "added": "Engadida", + "soon": "Pronto", + "autoDistribute": "Distribuír os fondos automaticamente", + "autoDesc": "Reparte os fondos recibidos entre varias cecas", + "autoAria": "Distribuír os fondos automaticamente (próximamente)", + "tip1": "Usa como mínimo 2-3 cecas diferentes para mellorar a privacidade", + "tip2": "Non gardes todos os fondos nunha soa ceca — repárteos", + "tip3": "Ten en conta a xurisdición da ceca (países distintos = acceso legal distinto)", + "tip4": "As cecas ven o momento das transaccións pero NON a quen pagas (sinaturas cegas)", + "future": "Próximas funcións: rotación de cecas e puntuación de privacidade — atento!", + "findMore": "Atopa máis cecas en mintradar.pedani.eu", + "trustWarning": "Aviso de confianza:", + "trustWarningDesc": "As cecas son custodiais — gardan os teus fondos. Usa só cecas nas que confíes. Se unha ceca desaparece, podes perder os teus fondos. Repartir os fondos entre varias cecas reduce o risco.", + "removeTitle": "Eliminar a ceca?", + "removeDesc": "Seguro que queres eliminar {{name}}?", + "removeMint": "Eliminar ceca", + "warning": "Aviso:", + "withdrawWarning": "Esta ceca ten {{amount}} sats. Retira os teus fondos antes de eliminala!", + "invalidUrl": "URL non válido", + "invalidUrlDesc": "A URL da ceca debe comezar por https://", + "mintAdded": "Ceca engadida", + "mintAddedDesc": "Nova ceca engadida correctamente", + "mintAddedNamed": "{{name}} engadida correctamente", + "failedAdd": "Non se puido engadir a ceca", + "failed": "Fallou", + "noMints": "Sen cecas", + "singleMint": "Unha soa ceca", + "concentrated": "Concentrado", + "moderate": "Moderado", + "wellDistributed": "Ben distribuído", + "mintCoinosWebDesc": "Ceca compatible coa web (recomendada para navegadores)", + "mintMinibitsWebDesc": "⚠ Só na app nativa — non accesible dende navegadores web", + "mintMinibitsNativeDesc": "Ceca de SkateSpots — recomendada", + "mintCoinosDesc": "Ceca compatible coa web", + "mintLnbitsDesc": "Ceca comunitaria en LNbits" + }, + "nwc": { + "title": "Carteira Lightning", + "noConnection": "Carteira NWC", + "refresh": "Actualizar saldo", + "createInvoice": "Crear factura", + "copyInvoice": "Copiar factura", + "pasteInvoice": "Pega unha factura Lightning (lnbc…)", + "amount": "Cantidade: {{amount}} sats", + "pasteToSee": "Pega unha factura para ver a cantidade", + "pay": "Pagar", + "invoiceQrAlt": "Código QR da factura Lightning", + "enterAmount": "Introduce unha cantidade en sats", + "readBalanceFailed": "Non se puido ler o saldo", + "readBalanceFailedDesc": "A túa carteira non respondeu.", + "createInvoiceFailed": "Non se puido crear a factura", + "createInvoiceFailedDesc": "Téntao de novo nun intre.", + "paymentSent": "Pagamento enviado", + "paidAmount": "Pagados {{amount}} sats.", + "paid": "Pagado.", + "paymentRejected": "A carteira rexeitou o pagamento." + }, + "qr": { + "title": "Escanear código QR", + "desc": "Coloca o código QR dentro da vista da cámara para escanealo", + "paste": "Pegar do portapapeis", + "hint": "Escanea un token Cashu, unha factura Lightning ou un enderezo Lightning", + "clipboardEmpty": "Portapapeis baleiro", + "clipboardEmptyDesc": "Non se atopou texto no portapapeis", + "pasteFailed": "Non se puido pegar", + "pasteFailedDesc": "Non se puido ler do portapapeis" + }, + "recovery": { + "title": "Frase de recuperación", + "desc": "Estas 12 palabras son a única forma de restaurar o teu saldo ecash. Escríbeas en orde e gárdaas sen conexión — nunca as compartas con ninguén.", + "tapReveal": "Toca para amosar", + "noWatching": "Asegúrate de que ninguén está a mirar", + "hide": "Ocultar", + "reveal": "Amosar", + "paperHint": "O máis seguro é escribila no papel — copiala ao portapapeis pode filtrarse a outras apps.", + "written": "Xa a escribín", + "revealFirst": "Amosa primeiro as palabras", + "copiedDesc": "Frase de recuperación copiada — pégaa nalgún lugar seguro e despois limpa o portapapeis.", + "copyFailed": "Non se puido copiar", + "copyFailedDesc": "Escribe mellor as palabras." + }, + "guide": { + "quickGuide": "Guía rápida", + "fullGuide": "Guía da carteira (edición skater)", + "cashuSummary": "Privacidade + comodidade", + "mintHoldsFunds": "(a ceca garda os fondos)", + "lightningSummary": "Control + seguridade", + "youHoldKeys": "(ti tes as chaves)", + "useBoth": "Usa as dúas: Cashu para propinas, Lightning para aforros", + "cashuTitle": "CARTEIRA CASHU", + "cashuTagline": "Como diñeiro no peto no skatepark", + "cashuBullet1": "Rápida de sacar para unha propina", + "cashuBullet2": "Non leves aquí os aforros da túa vida", + "cashuBullet3": "Se a ceca desaparece, podes perder os fondos", + "cashuBullet4": "Ninguén sabe canto tes (privacidade!)", + "cashuPerfectFor": "Petiscos da sesión, zaps a clips, propinas pequenas", + "lightningTitle": "CARTEIRA LIGHTNING", + "lightningTagline": "Como a túa conta do banco — ti tes o control", + "lightningBullet1": "Segura, ti controlas as chaves", + "lightningBullet2": "Leva un momento configurala", + "lightningBullet3": "Historial completo de transaccións", + "lightningBullet4": "Mellor para cantidades maiores", + "lightningPerfectFor": "Compras de material, aforros, zaps grandes", + "perfectFor": "Perfecta para:", + "proTips": "CONSELLOS PRO", + "tip1Title": "Usa as dúas carteiras", + "tip1Desc": "Garda o diñeiro da sesión en Cashu e os aforros en Lightning", + "tip2Title": "Proba carteiras distintas", + "tip2Desc": "Experimenta para atopar a que che vai. Cada unha ten funcións e compensacións diferentes", + "tip3Title": "Mellor privacidade", + "tip3Desc": "Usar varias carteiras fai que ningunha app soa vexa toda a túa actividade", + "tip4Title": "Gaña experiencia", + "tip4Desc": "Cantas máis ferramentas coñezas, máis opcións terás. Comeza pouco a pouco e aprende sobre a marcha", + "tldr": "En resumo:", + "tldrDesc": "Non hai unha carteira «mellor» — depende das túas necesidades. Proba as dúas, usa a que che conveña e non gardes todos os teus sats nun só sitio!" + }, + "zap": { + "count": "{{count}} zaps", + "connectFirst": "Conecta primeiro a túa carteira", + "connectFirstDesc": "Para enviar zaps (propinas en Bitcoin), cómpre conectar unha carteira Lightning.", + "quickSetup": "Configuración rápida (30 segundos)", + "quickSetupDesc": "Conecta a túa carteira Lightning actual con Nostr Wallet Connect (NWC). Non fai falta ningunha conta extra.", + "connectNwc": "Conectar carteira con NWC", + "noWallet": "Non tes carteira? Aprende como", + "skip": "Deixalo para despois (factura manual)", + "note": "ℹ️ Nota:", + "noteDesc": "Aínda podes crear unha factura sen conectar unha carteira, pero terás que copiala manualmente para pagar.", + "payWithWebln": "Pagar con WebLN", + "processing": "Procesando...", + "openInWallet": "Abrir na carteira Lightning", + "scanHint": "Escanea o código QR ou copia a factura para pagar con calquera carteira Lightning.", + "cashuInstant": "Paga ao instante coa túa carteira integrada", + "satsAvailable": "sats dispoñibles", + "or": "OU", + "customAmount": "Cantidade personalizada", + "addComment": "Engadir un comentario (opcional)", + "insufficientBanner": "⚠️ Saldo Cashu insuficiente. Fáltanche {{amount}} sats. Cambia a Lightning ou recarga a túa carteira Cashu.", + "creatingInvoice": "Creando a factura...", + "zapAmount": "Zap de {{amount}} sats", + "zapAmountCashu": "Zap de {{amount}} sats con Cashu", + "lightningInvoice": "Factura Lightning", + "qrAlt": "Código QR da factura Lightning", + "enterAmount": "Introduce unha cantidade", + "enterAmountDesc": "Escolle unha cantidade predefinida ou escribe un número válido de sats.", + "cashuUnavailable": "Carteira Cashu non dispoñible", + "cashuUnavailableDesc": "A túa carteira Cashu non está lista. Cambia a Lightning ou abre primeiro a túa carteira.", + "insufficientCashu": "Saldo Cashu insuficiente", + "insufficientCashuDesc": "Fáltanche {{amount}} sats. Cambia a Lightning ou recarga.", + "zapSentCashu": "Zap enviado! 🥜", + "zapSentCashuDesc": "Enviáronse {{amount}} sats dende a túa carteira Cashu.", + "cashuFailed": "O pagamento con Cashu fallou", + "cashuFailedDesc": "Non se puido pagar coa túa carteira Cashu.", + "invoiceCopied": "Factura copiada", + "invoiceCopiedDesc": "Factura Lightning copiada ao portapapeis", + "defaultComment": "Zap enviado en SkateSpots! 🛹", + "titleConnect": "Conectar carteira", + "titlePayment": "Pagamento Lightning", + "titleZap": "Enviar un zap", + "descConnect": "Conecta a túa carteira Lightning para enviar zaps", + "descPayment": "Paga coa rede Lightning de Bitcoin", + "descZap": "Os zaps son pequenos pagamentos en Bitcoin que apoian o creador deste contido. Se che gustou, considera enviar un zap!", + "descZapShort": "Os zaps son pequenos pagamentos en Bitcoin que apoian os creadores. Considera enviar un zap!" + }, + "zapCrew": { + "title": "Zap á crew", + "desc": "Reparte un zap por igual entre {{count}} membros da crew cun enderezo Lightning.", + "noMembers": "Agora mesmo non hai outros membros da crew para facerlles zap.", + "totalAmount": "Cantidade total", + "customTotal": "Total personalizado", + "each": "sats cada un", + "rounded": "(redondeado)", + "noWallet": "Ningunha carteira conectada — recibirás unha factura por membro para pagar manualmente. Conecta unha carteira para repartir cun toque.", + "zapAcross": "Enviar {{amount}} sats entre {{count}}", + "sentTo": "⚡ Enviados a {{done}}/{{total}}", + "none": "Non se completou ningún pagamento automático", + "copyPending": "Copia as facturas pendentes para rematar de pagar manualmente.", + "thanks": "Grazas por apoiar a crew!", + "payingCrew": "Pagando á crew…", + "defaultComment": "Zap á crew {{crew}}! 🤘", + "sent": "Enviado", + "paying": "Pagando", + "resolving": "Resolvendo", + "skipped": "Omitido", + "failed": "Fallou", + "waiting": "Á espera", + "copyInvoice": "Copiar factura", + "invoiceCopied": "Factura copiada", + "invoiceCopiedDesc": "Pégaa en calquera carteira Lightning" + }, + "zapBadges": { + "title": "Insignias de zaps", + "zaps": "zaps", + "satsSent": "sats enviados", + "rank": "posición", + "footnote": "Baseado nos zaps dos últimos 30 días.", + "first": "Primeiro zap", + "firstHint": "Envía o teu primeiro zap", + "regular": "Habitual", + "regularHint": "Envía 10 zaps", + "generous": "Xeneroso", + "generousHint": "Envía 10.000 sats", + "patron": "Mecenas", + "patronHint": "Envía 100.000 sats", + "top10": "Top 10", + "top10Hint": "Chega ao top 10 de apoios" + }, + "trust": { + "mute": "Silenciar", + "muted": "Silenciado", + "mutedDesc": "Non verás o seu contido.", + "muteFailed": "Non se puido silenciar. Téntao de novo.", + "loginToMute": "Inicia sesión para silenciar.", + "attributedNetwork": "De persoas da túa rede", + "attributedProviderHouse": "Do provedor de confianza da comunidade", + "attributedProviderCustom": "Do provedor que escolliches", + "howItWorks": "Como funciona a confianza", + "flaggedNoticeTitle": "Reportado por skaters de confianza", + "flaggedNoticeDesc": "Ten coidado. Persoas de confianza da rede reportaron esta conta.", + "flaggedReporterFollow": "{{count}} que segues", + "flaggedReporterNetwork": "{{count}} na túa rede", + "flaggedReporterOther": "{{count}} outras contas", + "flaggedReport": "Reportar", + "flaggedDismiss": "Descartar", + "bucketVerified": "Verificado", + "bucketUnknown": "Descoñecido", + "bucketFlagged": "Sinalado", + "bucketVerifiedDesc": "Alguén da túa rede avala esta conta.", + "bucketUnknownDesc": "Aínda ninguén da túa rede avalou esta conta.", + "bucketFlaggedDesc": "Persoas de confianza reportaron esta conta.", + "reportedByTrusted": "Reportado por {{count}} persoas de confianza", + "unavailable": "Puntuación de confianza non dispoñible", + "yourContent": "Este é o teu contido", + "following": "Segues este usuario", + "friendOfFriend": "Amigo dun amigo (2 saltos)", + "nip05": "Usuario verificado por NIP-05", + "unknown": "Usuario descoñecido", + "help": "As puntuacións de confianza axudan a identificar colaboradores fiables na comunidade do skate." + }, + "share": { + "title": "Compartir o perfil", + "desc": "Apunta a cámara do teléfono ao código para abrir o perfil de {{name}}.", + "qrAlt": "Código QR do perfil", + "copyLink": "Copiar ligazón", + "copyFailed": "Non se puido copiar", + "copyFailedDesc": "Non se puido copiar a ligazón.", + "shareEllipsis": "Compartir…" + }, + "addToCollection": { + "title": "Gardar nunha colección", + "desc": "Garda «{{spot}}» nunha das túas coleccións", + "loginRequired": "Inicia sesión para gardar spots en coleccións", + "noCollections": "Aínda non tes ningunha colección", + "createFirst": "Crea a primeira aquí abaixo!", + "spotCount": "{{count}} spots", + "alreadySavedTag": "Xa gardado", + "alreadySaved": "Xa gardado", + "alreadySavedDesc": "«{{spot}}» xa está en «{{collection}}»", + "saved": "Spot gardado!", + "savedDesc": "«{{spot}}» engadido a «{{collection}}»", + "saveFailed": "Non se puido gardar", + "somethingWrong": "Algo saíu mal", + "created": "Colección creada!", + "createdDesc": "«{{spot}}» engadido á túa nova colección «{{collection}}»", + "createFailed": "Non se puido crear a colección", + "name": "Nome da colección", + "descriptionOptional": "Descrición (opcional)", + "creating": "Creando...", + "createAndSave": "Crear e gardar", + "createNew": "Crear nova colección" + }, + "collection": { + "back": "Volver ás coleccións", + "created": "Creada o {{date}}", + "deleteTitle": "Eliminar a colección?", + "deleteDesc": "Isto eliminará permanentemente «{{title}}». Os spots en si non se verán afectados.", + "deleting": "Eliminando...", + "deleteFailed": "Non se puido eliminar a colección", + "deleted": "Colección eliminada", + "deletedDesc": "«{{title}}» foi eliminada", + "empty": "Non hai spots nesta colección", + "emptyOwner": "Engade spots á túa colección premendo «Gardar nunha colección» en calquera spot", + "emptyOther": "Esta colección está baleira", + "browseSpots": "Explorar spots", + "linkCopied": "Ligazón copiada!", + "linkCopiedDesc": "A ligazón da colección copiouse ao portapapeis", + "map": "Mapa da colección", + "removeFailed": "Non se puido eliminar o spot", + "shareText": "Bótalle un ollo a esta colección de spots: {{title}}", + "spotRemoved": "Spot eliminado", + "spotRemovedDesc": "«{{title}}» foi eliminado desta colección" + }, + "mints": { + "title": "Cecas", + "subtitle": "Explora as cecas Cashu e a súa saúde. As operacións da carteira Cashu execútanse na app de SkateSpots.", + "searchPlaceholder": "Buscar cecas por nome ou URL…", + "onlineOnly": "Só en liña", + "count": "{{filtered}} de {{total}} cecas", + "directoryError": "Non se puido cargar o directorio de cecas.", + "directoryHint": "O directorio é xestionado pola comunidade e ten límite de peticións — pode estar temporalmente non dispoñible.", + "goToWallet": "Ir á carteira", + "appOnly": "Engadir unha ceca faise na app de SkateSpots (Cashu só está na app).", + "noMatch": "Ningunha ceca coincide con «{{query}}».", + "footer": "Datos de saúde do proxecto comunitario MintRadar — non oficial e poden estar desactualizados. Revisa sempre as condicións dunha ceca antes de confiarlle fondos.", + "archived": "Arquivada", + "degraded": "Degradada", + "offline": "Fóra de liña", + "online": "En liña", + "terms": "Condicións", + "reliability": "fiabilidade", + "add": "Engadir", + "addToWallet": "Engadir á carteira", + "copyUrl": "Copiar URL", + "openMint": "Abrir ceca", + "inWallet": "Na túa carteira", + "addedBadge": "Engadida", + "urlCopied": "URL da ceca copiada", + "added": "Ceca engadida", + "addedDesc": "{{host}} xa está na túa carteira.", + "couldNotAdd": "Non se puido engadir a ceca", + "communityRating": "Valoración da comunidade", + "reliabilityLabel": "Fiabilidade", + "uptime": "Dispoñibilidade 24h / 7d", + "location": "Localización", + "latency": "Latencia", + "nuts": "NUTs compatibles", + "units": "Unidades", + "version": "Versión", + "ratedBy": "Valorada con {{rating}}/5 por {{count}} persoas en MintRadar.", + "noRating": "Aínda non hai valoración da comunidade en MintRadar.", + "reviewsNote1": "As opinións escritas non forman parte do directorio —", + "openMintRadar": "abre MintRadar", + "reviewsNote2": "para ler ou deixar unha.", + "liveness": "Auditoría de actividade: {{mints}} cecas e {{melts}} melts probados", + "livenessErrors": " · {{errors}}/{{total}} erros recentes", + "whatsAMint": "Que é unha ceca?", + "whatsAMintDesc": "Unha ceca Cashu emite e canxea o ecash da túa carteira. Garda o Bitcoin que respalda os teus tokens — así que unha ceca que non xestionas ti é unha na que tes que confiar.", + "mintWarning": "As cecas poden caer, cambiar as condicións ou desaparecer cos fondos. Mantén só saldos pequenos a non ser que confíes no operador.", + "healthDisclaimer": "Os datos de saúde son xestionados pola comunidade (MintRadar) — non oficiais e posiblemente desactualizados." + }, + "appShop": { + "title": "Tenda da app", + "subtitle": "Merch de SkateSpots para quen mantén a escena en movemento.", + "comingSoon": "Próximamente", + "wearThe": "Leva a", + "scene": "Escena", + "heroDesc1": "Merch para quen mantén isto en movemento — vendido", + "locally": "localmente, por encargo", + "heroDesc2": ". Mándasme unha mensaxe, axustamos os detalles e pagas en", + "heroDesc3": "— Lightning ou Cashu — cando o recolles. Sen tarxetas, sen contas, sen robots de pago, sen intermediarios quedando coa parte do drop.", + "requestItem": "Pedir un artigo", + "dmHint": "Abre unha mensaxe privada e cifrada comigo.", + "lightning": "Lightning", + "cashu": "Cashu", + "localHandover": "Entrega local", + "inTheWorks": "En preparación", + "notForSale": "aínda non á venda", + "soon": "pronto", + "tees": "Camisetas e sudaderas", + "decks": "Táboas", + "shopTools": "Ferramentas de taller", + "stickerPacks": "Packs de pegatinas", + "stickerPacksDesc": "Os packs están por chegar. Os deseños non — imprime estes dous agora mesmo, de balde.", + "sticker": "Pegatina", + "stickerTip": "Corte troquelado negro. Imprime en papel de pegatina e corta polo bordo negro.", + "poster": "Cartel", + "posterTip": "Imprímese en A3; redúceo a A4 (50%) e aínda se escanea ben.", + "printableAlt": "SkateSpots {{title}} — imprimible", + "print": "Imprimir", + "printNote1": "Imprime ao", + "actualSize": "100% / «Tamaño real»", + "printNote2": "para que o tamaño sexa exacto e o QR se manteña nítido — apunta a skate-spots.org. Ficheiros vectoriais, así que escalan sen perder nitidez.", + "howBuying": "Como funciona a compra", + "dmNotCart": "é unha mensaxe, non un carrito", + "step1Title": "Mándame unha mensaxe", + "step1Desc": "Envía unha mensaxe co que queres — artigo, talla, cor, o que procures.", + "step2Title": "Axustámolo", + "step2Desc": "Prezo en sats, e onde e cando nos atopamos. É unha conversa, non unha caixa.", + "step3Title": "Paga en sats", + "step3Desc": "Lightning ou Cashu na entrega e xa é teu. Sen envíos, sen salas de espera." + }, + "newsletter": { + "newIssue": "Novo número", + "composerTitle": "Publicar un número do boletín", + "composerDesc": "Publícase como artigo NIP-23 (kind 30023) no relay da comunidade. Os subscritores recíbena na campá de notificacións. O corpo admite Markdown.", + "fieldTitle": "Título", + "identifier": "Identificador (slug)", + "leaveBlank": "deixa en branco para xerar automaticamente", + "reusingSlug": "Se reutilizas un slug existente, editas ese número en vez de crear un novo.", + "summary": "Resumo", + "optional": "opcional", + "coverImage": "URL da imaxe de portada", + "bodyMarkdown": "Corpo (Markdown)", + "characters": "{{count}} caracteres", + "publishIssue": "Publicar número", + "issuePublished": "Número publicado! 🛹", + "issuePublishedDesc": "Os subscritores verán na súa campá de notificacións.", + "publishFailed": "Non se puido publicar", + "couldNotReachRelay": "Non se puido chegar a ningún relay — comproba a conexión e téntao de novo.", + "tryAgain": "Téntao de novo.", + "publishedToNostr": "Publicado en Nostr", + "publishedToast": "Publicado!", + "postedToNostr": "Drop {{number}} publicado en Nostr.", + "postToNostr": "Publicar en Nostr", + "previewLabel": "Vista previa", + "editFirst": "Editar primeiro", + "previewNoteDesc": "Así aparecerá a nota na maioría dos clientes de Nostr. O formato varía segundo o cliente.", + "editNoteDesc": "Edita o texto da nota abaixo. Os cambios só afectan a esta publicación — o ficheiro orixinal non cambia.", + "dropNumber": "Drop {{number}}", + "publish": "Publicar", + "publishing": "Publicando...", + "dropIsOut": "Xa saíu o drop {{number}}", + "daysAgo": "hai {{count}}d", + "dismiss": "Descartar", + "itsMonday": "É luns", + "mondayDesc": "Hora de lanzar o boletín semanal. Cun clic e a IA escríbeo a partir do log de git.", + "writeDrop": "Escribir o drop {{number}}", + "dismissReminder": "Descartar o recordatorio", + "loginPrompt": "Inicia sesión con Nostr para recibir os novos drops na túa caixa de entrada.", + "subscribedToast": "Xa estás subscrito! 🛹", + "subscribedToastDesc": "Os novos drops chegarán á campá de notificacións en «Novas».", + "unsubscribed": "Subscrición cancelada", + "unsubscribedDesc": "Aínda podes ler calquera número aquí cando queiras.", + "checking": "Comprobando…", + "subscribed": "Subscrito", + "unsubscribe": "Cancelar subscrición", + "subscribeCta": "Subscríbete ao boletín", + "archiveSynced": "Arquivo sincronizado con Nostr", + "missingCount": "{{count}} números do arquivo aínda non están en Nostr", + "backfillDesc": "Publica {{list}} como artigos NIP-23 para que os subscritores e lectores de formato longo poidan ver o arquivo completo. A páxina mantén o seu deseño completo igualmente.", + "backfill": "Sincronizar {{count}} con Nostr", + "publishing2": "Publicando…", + "publishingLabel": "Publicando…", + "backfilled": "Publicados {{count}} números no arquivo 🛹", + "backfilledDesc": "O arquivo agora vive en Nostr para subscritores e lectores.", + "partialBackfill": "Publicados {{published}}, {{failed}} fallaron", + "retryFinish": "Téntao de novo para rematar: {{list}}.", + "notLoggedIn": "Sesión non iniciada", + "allIssues": "Todos os números", + "brand": "Boletín de SkateSpots", + "digTheDrop": "Gústache o drop? Faille un zap e non perdas o seguinte.", + "sectionStats": "A comunidade en cifras", + "sectionWhatsNew": "Novidades", + "sectionSpotOfWeek": "Spot da semana", + "sectionCommunity": "Comunidade", + "sectionSupport": "Apoia o proxecto", + "sectionLatestDrops": "Últimos drops · En directo dende Nostr", + "mappedBy": "Mapeado por", + "viewOnMap": "Ver no mapa", + "noSpotPicked": "Esta semana non se escolleu ningún spot. Envía o teu e pode saír no próximo drop.", + "browseMap": "Explorar o mapa", + "spotMap": "Mapa de spots", + "statsBadge": "Estatísticas", + "supportDesc": "100% código aberto, financiado pola comunidade, sen anuncios, sen investidores. Se che serve, fáiselle un zap ou apoiao en Angor.", + "readFull": "Ler o número completo", + "joinSkaters": "Únete a {{count}} skaters que reciben os drops", + "weeklyDrops": "Drops semanais", + "tagline": "Un boletín semanal · publicado cando nos pete", + "freeNote": "De balde. Impulsado por Nostr — a túa subscrición vive nas túas chaves e séguete entre dispositivos. Os novos drops chegan á túa campá de notificacións.", + "live": "En directo", + "builtOn": "Feito con", + "openSource": "Código aberto", + "supportUs": "Apóianos", + "freeToSkate": "Es libre de facer skate" + }, + "stats": { + "subtitle": "Métricas en directo tiradas directamente da rede Nostr. Transparentes, descentralizadas e verificables por calquera.", + "dataSource": "Fonte de datos:", + "updated": "actualizado {{age}}", + "refresh": "Actualizar", + "partial": "Non se puido chegar a todos os relays — estas cifras poden estar incompletas.", + "error": "Agora mesmo non se puido chegar ao relay. As estatísticas cargaranse cando se restableza a conexión.", + "atAGlance": "A comunidade nunha ollada", + "skateSpots": "Skate spots", + "listedShops": "Tendas listadas", + "events": "Eventos", + "mappers": "Mapeadores", + "uniqueContributors": "colaboradores únicos", + "labHeader": "O Lab · Creadores e servizos", + "total": "{{count}} en total", + "coaches": "Coaches", + "filmers": "Gravadores", + "editors": "Editores", + "photographers": "Fotógrafos", + "builders": "Construtores", + "artists": "Artistas", + "graffiti": "Grafite", + "tattoo": "Tatuaxe", + "trainers": "Adestradores", + "musicians": "Músicos", + "judges": "Xuíces", + "organizers": "Organizadores", + "barbers": "Barbeiros", + "showFewer": "Amosar menos", + "showAllCrafts": "Amosar os 13 oficios", + "community": "Comunidade", + "tours": "Rutas", + "crews": "Crews", + "marketplace": "Mercado", + "liveListings": "Anuncios activos", + "tradesRecorded": "Transaccións rexistradas", + "satsTraded": "Sats negociados", + "zapsToMappers": "Zaps a mapeadores", + "tradesNote1": "transaccións mutuas entre", + "tradesNote2": "persoas. Os sats son declarados polos propios comerciantes — a app non pode observar un pagamento fóra dela — así que o titular só conta as", + "mutual": "mutuas", + "tradesNote3": "transaccións cun tope por parella; a cifra bruta declarada é de", + "tradesNote4": "sats. «Zaps a mapeadores» só conta recibos dirixidos aos nosos principais colaboradores — non é", + "not": "non é", + "tradesNote5": "o volume global de zaps.", + "byRegion": "Spots e tendas por rexión", + "resolving": "Resolvendo {{count}} localizacións sen etiqueta a partir das súas coordenadas… unha soa vez, despois gárdanse na caché deste dispositivo.", + "topCountries": "Países principais", + "topCities": "Cidades principais", + "other": "Outros", + "otherCountriesTitle": "Países fóra do top 6", + "otherCitiesTitle": "Cidades fóra do top 6", + "uncategorised": "Sen categoría", + "uncategorisedTitle": "Sen etiqueta de cidade/país", + "regionNote1": "As cifras contan", + "spotsAndShops": "spots e tendas", + "regionNote2": ", non skaters — a partir da etiqueta de cidade/país de cada un, ou derivadas das coordenadas do seu marcador cando non ten (gardadas na caché do teu dispositivo; países agrupados por código ISO cando existe), só no relay da comunidade e excluíndo o contido oculto pola moderación.", + "ofTotal": "{{count}} de {{total}}", + "regionNote3": "localizacións non teñen etiqueta de localización e aparecen como «Sen categoría».", + "growth": "Crecemento ao longo do tempo", + "chartCumulativeTitle": "Spots mapeados (acumulado)", + "chartCumulativeDesc": "Total de spots engadidos ao mapa ao longo do tempo", + "chartMonthlyTitle": "Actividade mensual", + "chartMonthlyDesc": "Contido novo publicado cada mes", + "chartMappersTitle": "Mapeadores activos / mes", + "chartMappersDesc": "Colaboradores únicos que publican cada mes", + "chartMixTitle": "Mestura de contido", + "chartMixDesc": "Desglose por tipo de contido (total histórico)", + "noData": "Aínda non hai datos", + "topMappers": "Principais mapeadores", + "mostSpots": "— máis spots engadidos", + "noMapperData": "Aínda non hai datos de mapeadores", + "topShops": "Principais tendas", + "mostShops": "— máis tendas engadidas", + "shopCount": "{{count}} tendas", + "noShopData": "Aínda non hai datos de tendas", + "supporters": "Apoios da comunidade", + "fundedTitle": "Financiado pola comunidade", + "fundedDesc1": "Crowdfunding descentralizado en Bitcoin mediante Angor.", + "fundedDesc2": "Sen anuncios, sen investidores, sen venda de datos.", + "backAngor": "Apóianos en Angor", + "communityLink": "Comunidade →", + "footer1": "Todos os datos tómanse en directo de", + "footer2": "— un relay público de Nostr.", + "footer3": "Cada evento está asinado polo seu creador e é verificable criptograficamente.", + "footer4": "Non se poden falsificar as cifras.", + "spots": "Spots", + "shops": "Tendas", + "lab": "Lab", + "thisMonth": "+{{count}} este mes", + "fromActive": "{{count}} de contas activas", + "viewAll": "Ver todo", + "spotCount": "{{count}} spots" + }, + "leaderboard": { + "mapEarn": "Mapea e gaña", + "helpMap": "AXUDA A MAPEAR O MUNDO", + "intro": "Engade spots e tendas e recibe zaps de skaters agradecidos. Os principais colaboradores poden recibir recompensas extra!", + "howItWorks": "Como funciona", + "step1Title": "1. Mapea", + "step1Desc": "Engade spots e tendas con fotos e detalles", + "step2Title": "2. Gaña zaps", + "step2Desc": "Os skaters que atopen útiles os teus spots daranche propina", + "step3Title": "3. Recompensas extra", + "step3Desc": "Os principais mapeadores poden recibir recompensas extra do noso fondo", + "proTips": "💡 Consellos pro para recibir máis zaps:", + "tipPhotos": "Engade 3+ fotos", + "tipDescriptions": "Escribe descricións detalladas", + "tipLocation": "Localización precisa", + "mapShop": "Mapear unha tenda", + "mapShopDesc": "Skate shops, tendas de táboas", + "mapSpot": "Mapear un spot", + "mapSpotDesc": "Parques, spots de rúa, DIY", + "shops": "Tendas", + "spotsLower": "spots", + "shopsLower": "tendas", + "contributions": "contribucións", + "yourRanking": "A túa posición", + "spotsShops": "{{spots}} spots • {{shops}} tendas", + "totalLower": "total", + "overall": "Xeral", + "noContributions": "Aínda non hai contribucións. Sé o primeiro!", + "addFirstSpot": "Engadir o primeiro spot", + "noShops": "Aínda non hai tendas mapeadas", + "addFirstShop": "Engadir a primeira tenda", + "noSpots": "Aínda non hai spots mapeados", + "poweredBy": "Impulsado polos zaps da comunidade", + "poweredByDesc": "Cando atopes útil un spot, fáiselle un zap ao mapeador! É a mellor forma de dar as grazas e animar a máis contribucións.", + "you": "Ti", + "zapTitle": "Clasificación de zaps", + "zapSubtitle": "Os spots que máis cariño reciben — e os skaters que o dan.", + "thisWeek": "Esta semana", + "thisMonth": "Este mes", + "allTime": "Todo o tempo", + "topZappedSpots": "Spots con máis zaps", + "noZaps": "Aínda non hai zaps neste período. Sé o primeiro — preme o ⚡ nun spot que che guste.", + "topSupporters": "Principais apoios", + "noZapsSent": "Aínda non se enviaron zaps neste período.", + "fromTop10": "⚡ {{amount}} sats dos 10 primeiros", + "supporter": "Apoio", + "skateShop": "Skate shop", + "skateSpot": "Skate spot" + }, + "supporters": { + "our": "NOSA", + "community": "COMUNIDADE", + "heroDesc": "SkateSpots está feito por e para a comunidade. Apoios, colaboradores, socios e amigos que o manteñen libre e descentralizado.", + "backAngor": "Apóianos en Angor", + "backers": "Apoios", + "backersDesc": "Skaters que apoiaron SkateSpots — financiamento on-chain mediante Angor e zaps Lightning ao proxecto.", + "sourceAngor": "Angor", + "supportersTotals": "{{count}} apoios · {{angor}} sats vía Angor · {{zap}} sats en zaps", + "quietNote": "E máis todos os que apoiaron en silencio — grazas. ❤️", + "silentTitle": "On-chain privado (pagamentos silenciosos)", + "silentDesc": "Un nome, un enderezo novo para cada pagamento — on-chain mediante pagamentos silenciosos ou Lightning desde o mesmo rexistro. Nada que reutilizar, nada que vincular.", + "silentCopyName": "Copiar nome", + "silentCopied": "Copiado", + "silentWallets": "Cómpre unha carteira compatible con nomes de pagamento / pagamentos silenciosos: Sparrow, Cake, Dana, Phoenix, BlueWallet, Wasabi, Nunchuk ou BitBox02.", + "wayLightningTitle": "Instantáneo e público", + "wayLightningDesc": "Fai un zap a SkateSpots ou paga discretamente. Funciona sen sesión.", + "waySilentTitle": "On-chain privado", + "waySilentDesc": "Un nome de pagamentos silenciosos — un enderezo novo para cada pagamento.", + "wayAngorTitle": "Financia o desenvolvemento", + "wayAngorDesc": "Angor — liberación por etapas, reembolsable por riba de 100k sats.", + "donateTitle": "Apoia SkateSpots", + "donateDesc": "Tres vías, tres razóns — escolle a que che conveña. Cada sat mantén o mapa libre, sen anuncios e de código aberto.", + "donatePageLink": "Abrir a páxina de doazóns simple", + "updatedAt": "Actualizado {{when}}", + "tiersNote": "Niveis: Apoio por baixo de 100k sats · Mecenas 100k–1M · Lenda 1M+", + "tierEmpty": "Aínda ninguén — sé o primeiro.", + "joinSupporters": "Únete a {{count}} apoios", + "showAll": "Amosar os {{count}}", + "showLess": "Amosar menos", + "impactSeeStats": "Ver o panorama completo →", + "impactAsOf": "en directo dende os relays da comunidade", + "anonymousBacker": "Apoio anónimo", + "beFirstBacker": "Aínda non hai apoios públicos — sé o primeiro.", + "backersTotal": "{{count}} apoios · {{amount}} sats recadados", + "verifiedOnChain": "Verificado on-chain", + "supportedBy": "Apoiado por {{count}}", + "tierSupporter": "Apoio", + "tierPatron": "Mecenas", + "tierLegend": "Lenda", + "topZappers": "Zaps a SkateSpots", + "topZappersDesc": "Skaters que enviaron un zap público directamente ao proxecto. Os pagamentos discretos non aparecen.", + "paysFor": "En que se gasta o teu apoio", + "paysForDesc": "Onde vai cada sat — sen salarios, sen oficinas, sen anuncios.", + "payRelay": "Aloxamento do relay", + "payDomain": "Dominio e TLS", + "payAi": "Nodo de IA / ContextVM", + "payDev": "Tempo de desenvolvemento", + "payOps": "Operacións", + "payMarketing": "Marketing", + "payRelayDesc": "Mantén o mapa en liña e resiliente.", + "payDomainDesc": "O nome, o certificado, a conexión segura.", + "payAiDesc": "Sasquatch, o guía da comunidade.", + "payDevDesc": "Construír e arranxar SkateSpots.", + "payOpsDesc": "O traballo pouco vistoso que o mantén funcionando.", + "payMarketingDesc": "Chegar a novas escenas locais e skate shops.", + "impact": "Impacto ata agora", + "impactDesc": "O que a comunidade construíu — financiado por skaters.", + "impactSpots": "Spots", + "impactCrews": "Crews", + "impactEvents": "Eventos", + "impactLab": "Pros do Lab", + "impactShops": "Tendas", + "impactMappers": "Mapeadores", + "support": "Apoio", + "supportDesc": "Financia SkateSpots en Angor — crowdfunding de Bitcoin on-chain e descentralizado. Sen intermediarios, sen KYC.", + "collaborators": "Colaboradores", + "collaboratorsDesc": "Persoas que constrúen SkateSpots activamente — desenvolvedores, deseñadores, operadores de relay.", + "partners": "Socios", + "partnersDesc": "Organizacións e proxectos cos que traballamos de preto.", + "friends": "Amigos", + "friendsDesc": "Xente coa que temos bo rolo.", + "backTitle": "Apoia o proxecto en Angor", + "backDesc": "Angor é financiamento de Bitcoin on-chain e descentralizado construído sobre Nostr — os teus fondos quedan baixo o teu control, libéranse por etapas e ningún custodio garda o bote. As achegas de ata 100.000 sats funcionan como doazón (sen man de recuperación); as cantidades maiores son investimentos cuxos fondos non gastados se poden recuperar. Cada sat vai para desenvolvemento, aloxamento do relay e manter SkateSpots de balde para cada skater do mundo.", + "donateNote": "Prefires unha doazón directa? ⚡ Fai un zap abaixo — nada que devolver, nada que recuperar.", + "openAngor": "Abrir Angor", + "orZap": "ou ⚡ fai un zap a calquera spot, crew ou creador directamente na app", + "wantCollaborate": "Queres colaborar?", + "wantCollaborateDesc": "Desenvolvedores, deseñadores, skaters con habilidades — fálanos.", + "viewNostrHub": "Ver en NostrHub", + "wantPartner": "Queres ser socio de SkateSpots? Fálanos en Nostr.", + "comingSoon": "Próximamente", + "wantListed": "Queres aparecer aquí?", + "wantListedDesc": "Envíanos un logo (PNG/WebP, fondo transparente, mínimo 200×200px) e a túa URL por mensaxe directa en Nostr, só se tes bo rolo.", + "whyTitle1": "Por que necesitamos", + "whyTitle2": "apoio", + "whyDesc": "SkateSpots é 100% de balde, de código aberto e está construído sobre Nostr — un protocolo descentralizado sen servidor central que o poida pechar. Sen anuncios, sen venda de datos, sen investidores. Cada sat vai directamente ao desenvolvemento, ao aloxamento do relay e a manter isto de balde para cada skater do mundo.", + "why1Title": "Nativo de Nostr", + "why1Desc": "Sen servidor central. Os teus datos viven nos relays que escollas.", + "why2Title": "Impulsado por Bitcoin", + "why2Desc": "Gaña sats mapeando spots. Gástaos nas tendas locais.", + "why3Title": "Libre para sempre", + "why3Desc": "Código aberto, sen muros de pago, sen rastrexo, sen financiamento de capital risco.", + "thankYou": "Grazas. Cada sat mantén os spots no mapa. 🛹⚡", + "license": "Licenza", + "faq": "Preguntas frecuentes" + }, + "admin": { + "confirmed": "Confirmado", + "title": "Cola de revisión", + "subtitle": "Spots, tendas, eventos, rutas e material que activan os sinais de lixo. Ocultar e Confirmar son etiquetas suaves e reversibles; os reportes van primeiro. Non se elimina nada.", + "tabReports": "Reportes", + "tabSpots": "Spots", + "tabShops": "Tendas", + "tabEvents": "Eventos", + "tabTours": "Rutas", + "tabGear": "Material", + "tabCrews": "Crews", + "tabLab": "Lab", + "tabClaims": "Reclamacións", + "nothingToReview": "Nada que revisar — nada deste tipo activa os sinais de lixo.", + "hideActioned": "Ocultar xestionados", + "showActioned": "Amosar xestionados ({{count}})", + "undoAll": "Desfacer os {{count}}", + "undoAllTitle": "Desfacer todos os veredictos desta pestana?", + "undoAllDesc": "Isto devolve cada elemento a neutro — nin oculto nin avalado. Publica unha etiqueta pública por elemento, así que con Amber verás {{count}} pantallas de aprobación.", + "undoCount": "Desfacer {{count}}", + "undo": "Desfacer", + "confirm": "Confirmar", + "hide": "Ocultar", + "hideIt": "Ocultalo", + "hideForEveryone": "Ocultar isto para todos?", + "hideForEveryoneDesc": "Isto elimina o elemento da navegación e da busca para todos os usuarios de SkateSpots. É unha etiqueta pública e reversible — podes desfacelo desde esta cola.", + "hidden": "Oculto", + "hiddenDesc": "Eliminado da app mediante unha etiqueta pública. Reversible.", + "couldNotHide": "Non se puido ocultar", + "notASpot": "Non é un skate spot", + "lookAtIt": "Bótalle un ollo" + }, + "profile": { + "nip05Verified": "Verificado por NIP-05", + "nip05NotVerified": "NIP-05 non verificado con esta chave", + "message": "Mensaxe", + "zapsReceived": "zaps recibidos", + "memberSince": "Membro desde", + "badges": "Insignias", + "sponsorsSupport": "Patrocinios e apoio", + "skater": "Skater", + "stance": "Postura", + "skating": "Estilo", + "homeSpot": "Spot habitual", + "basedIn": "Base en", + "addSkateDetails": "Engade os teus datos de skate", + "addSkateDetailsDesc": "Define a túa postura, estilos e nivel para aparecer no directorio de Skaters.", + "spotsAdded": "Spots engadidos", + "shopsAdded": "Tendas engadidas", + "noSpots": "Aínda non engadiches ningún spot", + "noSpotsDesc": "Pon o teu spot local no mapa →", + "stash": "Stash", + "gear": "Material", + "crews": "Crews", + "info": "Info", + "lightning": "Lightning", + "silentPayment": "Pagamento silencioso", + "coordinator": "Coordinador", + "coordinatorAdded": "Coordinador engadido", + "add": "Engadir", + "messagePrivately": "Enviar mensaxe privada", + "founder": "Fundador", + "member": "Membro", + "supportSkater": "Apoia este skater", + "supportSkaterDesc": "Envía unha propina para agradecerlle as súas contribucións" + }, + "index": { + "joinCommunity": "Únete á comunidade para engadir spots, crear eventos e moito máis", + "topZapped": "MÁIS APOIADOS", + "topZappedDesc": "Os spots máis apoiados este mes", + "leaderboard": "Clasificación", + "newHere": "NOVO POR AQUÍ?", + "newHereDesc": "Crea unha conta de balde para engadir spots, unirte a eventos, conectar con skaters e formar parte da comunidade. Non fai falta correo electrónico.", + "followFounder": "Segue o fundador", + "followFounderDesc": "Mantén premido o avatar 3 segundos para seguilo e estar ao día das novas funcións e eventos!", + "createAccount": "Crear conta", + "accountWorks": "A túa conta funciona en todas as apps da rede", + "footerTagline": "Código aberto • Da comunidade • Sen anuncios" + }, + "stash": { + "title": "O meu stash", + "loginDesc": "O teu inventario privado de material. Leva conta do que tes, pon prezos e comparte de forma selectiva cos comerciantes.", + "encrypted": "Cifrado", + "syncsEverywhere": "Sincronízase en todas partes", + "p2pTrading": "Comercio P2P", + "encryptionRequired": "Cómpre cifrado", + "encryptionRequiredDesc": "O teu stash está cifrado por privacidade. Usa un firmante que admita cifrado NIP-44 (como Alby, nos2x ou Amber).", + "learnSigners": "Máis sobre os firmantes", + "select": "Seleccionar", + "stash": "Stash", + "wishlist": "Lista de desexos", + "allCategories": "Todas as categorías", + "sortNewest": "Máis recentes", + "sortValue": "Valor", + "sortCondition": "Estado", + "sortAz": "A–Z", + "friendsOnly": "Só amigos", + "addToWishlist": "Engadir á lista de desexos", + "addItemToStash": "Engadir artigo ao stash", + "addItem": "Engadir artigo", + "editItem": "Editar artigo", + "publicStash": "Stash público", + "listView": "Vista de lista", + "gridView": "Vista de grella", + "uploading": "Subindo...", + "addPhotos": "Engadir fotos", + "wishlistReqPlaceholder": "Algún requisito específico...", + "itemDescPlaceholder": "Describe o artigo, calquera dano...", + "itemsCount": "{{count}} artigo(s)", + "wishlistEmpty": "Lista de desexos baleira", + "wishlistEmptyDesc": "Engade material que esteas a buscar — emparellarémolo cos stashes dos teus amigos.", + "stashEmpty": "O teu stash está baleiro", + "stashEmptyDesc": "Comeza a levar conta do teu material. Táboas, eixes, zapatillas — engádeo unha vez e accede a el en calquera sitio vía Nostr.", + "noMatch": "Ningún artigo coincide", + "noMatchDesc": "Proba a axustar os filtros.", + "backupTransfer": "Copia de seguridade e transferencia", + "backupDesc": "O teu stash está cifrado en Nostr. Garda unha copia que controles — un relay morto ou unha conta nova non poden facerche perder a lista de material.", + "exportTitle": "Copia cifrada", + "exportDialogDesc": "Garda {{count}} artigo(s) nun ficheiro. Cífrao para que un ficheiro filtrado non sexa unha fuga.", + "modePassword": "Contrasinal", + "modeKey": "A miña chave", + "password": "Contrasinal", + "confirmPassword": "Confirma o contrasinal", + "passwordHint": "Usa polo menos 8 caracteres. Non hai recuperación — non o esquezas.", + "keyModeHint": "Cifrado coa túa chave de Nostr. Só esa chave pode abrilo — nada que lembrar.", + "exportPlaintext": "Exportar sen cifrado", + "pwTooShort": "Usa polo menos 8 caracteres.", + "pwMismatch": "Os contrasinais non coinciden.", + "exportFailed": "Non se puido crear a copia.", + "unlockTitle": "Desbloquear a copia", + "unlockDesc": "Esta copia está protexida por contrasinal.", + "unlock": "Desbloquear", + "unlockFailed": "Non se puido desbloquear a copia.", + "show": "Amosar", + "hide": "Ocultar", + "strength": "Fortaleza do contrasinal", + "strengthWeak": "Feble", + "strengthFair": "Aceptable", + "strengthGood": "Bo", + "strengthStrong": "Forte", + "filenameWillSave": "Gardarase como {{name}}", + "export": "Exportar", + "import": "Importar", + "exported": "Stash exportado", + "exportedDesc": "{{count}} artigos gardados nun ficheiro.", + "noItemsInFile": "Non se atoparon artigos nese ficheiro.", + "noValidItems": "Non se atoparon artigos válidos nese ficheiro.", + "imported": "Importados {{count}} artigos", + "importSkipped": "{{count}} omitidos (xa están no teu stash).", + "importAdded": "Engadidos ao teu stash.", + "importFailed": "A importación fallou", + "couldNotRead": "Non se puido ler ese ficheiro.", + "updateFailed": "Non se puido actualizar o teu stash", + "updatedCount": "Actualizados {{count}} artigos", + "markedForSale": "Marcados {{count}} para venda", + "unmarkedCount": "Desmarcados {{count}}", + "removedCount": "Eliminados {{count}} artigos", + "selectedCount": "{{count}} seleccionados", + "selectAll": "Seleccionar todo", + "visibilityPublic": "Público", + "visibilityPrivate": "Privado", + "forSale": "Á venda", + "remove": "Eliminar", + "bulkDeleteTitle": "Eliminar {{count}} artigos?", + "bulkDeleteDesc": "Isto reescribe o teu stash cifrado nunha soa sinatura e non se pode desfacer aquí. Exporta antes unha copia se non estás seguro.", + "deleteTitle": "Eliminar do teu stash?", + "deleteDesc": "«{{title}}» eliminarase do teu stash", + "deleteDescPublic": " e retirarase do teu escaparate público", + "deleteUndone": ". Isto non se pode desfacer.", + "deleteDescGeneric": "Este artigo eliminarase do teu stash. Isto non se pode desfacer.", + "listOnMarketplace": "Publicar no mercado", + "noPriceSet": "Sen prezo definido", + "categoryLabel": "Categoría", + "photosLabel": "Fotos", + "willingToSell": "Disposto a vender", + "willingToTrade": "Disposto a trocar", + "whereIsThisItem": "Onde está este artigo?", + "visibilityLabel": "Visibilidade", + "visibilityPrivateOnlyYou": "Privado - Só ti", + "visibilityFriendsMutual": "Amigos - Seguimento mutuo", + "visibilityPublicAnyone": "Público - Calquera", + "visibilityFriends": "Amigos", + "brandLabel": "Marca", + "sizeLabel": "Tamaño", + "descriptionLabel": "Descrición", + "conditionLabel": "Estado", + "itemName": "Nome do artigo", + "saveChanges": "Garda os cambios", + "listItemDialogTitle": "Publicar «{{title}}»", + "pickUpWhere": "Onde poden recoller os compradores este artigo?", + "linkToSpot": "Vincular a un skate spot", + "linkToSpotDesc": "Ideal para vendas locais • Aparece na páxina do spot e no mapa", + "recommended": "Recomendado", + "noSpecificSpot": "Sen spot específico", + "noSpecificSpotDesc": "Visible só na páxina do mercado", + "tipLinkedSpots": "💡 Consello: os anuncios vinculados a spots son máis fáciles de atopar para os skaters locais.", + "anyoneCanSee": "Calquera pode velos no teu perfil.", + "seeWhatOthersSee": "Ver o que ven os demais", + "inventory": "Inventario", + "publicWantsNote": "Os desexos públicos publícanse no mercado como anuncios de «busco», para que os vendedores te poidan atopar.", + "howItWorks": "Como funciona", + "tapToMarketplace": "Toca para ir ao mercado →", + "viewWishlist": "Ver a lista de desexos", + "tipEditItems": "Edita os artigos co botón do lapis", + "tipListForSale": "Pon á venda co botón da tenda", + "tipAddPhotos": "Engade fotos para mellores ofertas de troco", + "tipKeySyncs": "A chave de Nostr sincronízase con todos os dispositivos", + "itemsReadyToSell": "{{count}} artigo(s) listos para vender" + } + } +}; + +export default batch6; diff --git a/src/i18n/gl/batch7.ts b/src/i18n/gl/batch7.ts new file mode 100644 index 0000000..8c47f9f --- /dev/null +++ b/src/i18n/gl/batch7.ts @@ -0,0 +1,1600 @@ +const batch7 = { + "backup": { + "title": "Garda o teu acceso", + "subtitle": "Leva 10 segundos — faino unha soa vez", + "message": "O teu código de recuperación é a única forma de volver á túa conta. Gárdao e poderás iniciar sesión en calquera dispositivo.", + "warning": "Se o perdes, non hai restablecemento: nin correo nin recuperación de contrasinal.", + "backupNow": "Gárdao agora", + "confirmed": "Xa o gardei", + "remindLater": "Máis tarde" + }, + "pwa": { + "installTitle": "Instala SkateSpots", + "installSubtitle": "Ten a experiencia completa da app", + "addToHomeScreen": "Engadir á pantalla de inicio", + "installApp": "Instalar app", + "maybeLater": "Quizais máis tarde", + "gotIt": "Entendido!", + "benefits": { + "fast": "Rapidísima", + "offline": "Funciona sen conexión", + "fullAccess": "Acceso completo" + }, + "iosStep1": "Toca o botón Compartir", + "iosStep1Hint": "na parte inferior de Safari", + "iosStep2": "Desprázate e toca «Engadir á pantalla de inicio»", + "iosStep2Hint": "no menú de compartir", + "iosStep3": "Toca «Engadir» para instalar", + "iosStep3Hint": "A app aparecerá na túa pantalla de inicio", + "androidStep1": "Toca o botón do menú", + "androidStep1Hint": "(tres puntos) do navegador", + "androidStep2": "Selecciona «Engadir á pantalla de inicio»", + "androidStep2Hint": "ou «Instalar app»", + "androidStep3": "Confirma para instalar", + "androidStep3Hint": "A app aparecerá na túa pantalla de inicio", + "tagline": "Gratis • Sen conexión • Rápida e fiable" + }, + "mapPage": { + "searchSuggestPlaces": "Lugares", + "title": "Tendas e spots", + "spots": "Spots", + "shops": "Tendas", + "filters": "Filtros", + "listView": "Lista", + "mapView": "Mapa", + "nearMe": "Preto de min", + "searchPlaceholder": "Buscar spots...", + "noSpotsInArea": "Non hai spots nesta zona", + "zoomIn": "Achegar", + "zoomOut": "Afastar", + "myLocation": "A miña localización", + "locationsFound": "{{count}} localizacións atopadas", + "spotsOnly": "Só spots", + "shopsOnly": "Só tendas", + "spotsAndShops": "Spots e tendas", + "noSpotsMatch": "Ningún spot coincide cos teus filtros.", + "noSpotsYet": "Aínda non se engadiu ningún spot.", + "addFirstSpot": "Engade o primeiro spot" + }, + "shops": { + "title": "Tendas de skate", + "addShop": "Engadir tenda", + "editShop": "Editar tenda", + "shopDetails": "Detalles da tenda", + "shopName": "Nome da tenda", + "hours": "Horario", + "phone": "Teléfono", + "website": "Web", + "services": "Servizos", + "brands": "Marcas", + "supportLocal": "Apoia o comercio local", + "nip05": "NIP-05 da tenda", + "nip05Hint": "Un identificador opcional que controlas para esta tenda (p. ex. shop@yourdomain.com), verificado coa túa clave. Podes engadir ata 5." + }, + "wallet": { + "title": "Carteira", + "balance": "Saldo", + "send": "Enviar", + "receive": "Recibir", + "transactions": "Transaccións", + "history": "Historial", + "noTransactions": "Aínda non hai transaccións", + "sendSats": "Enviar sats", + "receiveSats": "Recibir sats", + "amount": "Importe", + "recipient": "Destinatario", + "lightning": "Lightning", + "onChain": "En cadea", + "invoice": "Factura", + "address": "Enderezo", + "scanQR": "Escanear QR", + "paste": "Pegar", + "payInvoice": "Pagar factura", + "createInvoice": "Crear factura", + "copied": "Copiado ao portapapeis!", + "insufficientFunds": "Saldo insuficiente", + "paymentSent": "Pagamento enviado!", + "paymentReceived": "Pagamento recibido!", + "cashu": { + "title": "Carteira Cashu", + "tokens": "Tokens", + "mint": "Ceca", + "mints": "Cecas", + "manageMints": "Xestionar cecas", + "addMint": "Engadir ceca", + "removeMint": "Quitar ceca", + "defaultMint": "Ceca predeterminada", + "backup": "Copia de seguridade", + "restore": "Restaurar", + "recoveryPhrase": "Frase de recuperación", + "viewRecoveryPhrase": "Ver frase de recuperación", + "seedWarning": "É coma o teu nsec de Nostr: mantena en segredo e fai copias!" + } + }, + "settings": { + "title": "Axustes", + "profile": "Perfil", + "editProfile": "Editar perfil", + "account": "Conta", + "security": "Seguridade", + "relays": "Relays", + "appearance": "Aparencia", + "language": "Idioma", + "notifications": "Notificacións", + "privacy": "Privacidade", + "about": "Sobre", + "help": "Axuda", + "feedback": "Comentarios", + "version": "Versión", + "displayName": "Nome visible", + "username": "Nome de usuario", + "bio": "Bio", + "website": "Web", + "lightningAddress": "Enderezo Lightning", + "profilePicture": "Foto de perfil", + "banner": "Banner", + "saveProfile": "Gardar perfil", + "backupKeys": "Copia das claves", + "exportKeys": "Exportar claves", + "secretKey": "Clave secreta", + "publicKey": "Clave pública", + "showSecretKey": "Mostrar clave secreta", + "hideSecretKey": "Ocultar clave secreta", + "copyKey": "Copiar clave", + "keysBackedUp": "Confirmaches que as túas claves están gardadas de forma segura.", + "keysNotBackedUp": "Asegúrate de facer copia da túa frase de recuperación ou da clave secreta!", + "selectLanguage": "Selecciona idioma", + "english": "Inglés", + "spanish": "Castelán" + }, + "lab": { + "title": "O Lab", + "subtitle": "Sobe de nivel no teu skate", + "coaches": "Coaches", + "filmers": "Filmers", + "findCoach": "Atopar un coach", + "becomeCoach": "Sé coach", + "findFilmer": "Atopar un filmer", + "becomeFilmer": "Sé filmer", + "hourlyRate": "Tarifa por hora", + "experience": "Experiencia", + "specialties": "Especialidades", + "availability": "Dispoñibilidade", + "bookSession": "Reservar unha sesión", + "contactCoach": "Contactar co coach", + "noCoaches": "Non se atoparon coaches na túa zona", + "noFilmers": "Non se atoparon filmers na túa zona" + }, + "rewards": { + "title": "Recompensas", + "yourPoints": "Os teus puntos", + "earnPoints": "Gañar puntos", + "redeemPoints": "Canxear puntos", + "leaderboard": "Clasificación", + "achievements": "Logros", + "dailyTasks": "Tarefas diarias", + "weeklyTasks": "Tarefas semanais" + }, + "zaps": { + "zapButton": "Zap", + "sendZap": "Enviar zap", + "zapAmount": "Importe do zap", + "customAmount": "Importe personalizado", + "addMessage": "Engade unha mensaxe (opcional)", + "sending": "Enviando...", + "sent": "Zap enviado!", + "failed": "Non se puido enviar o zap", + "received": "Recibiches un zap!" + }, + "errors": { + "somethingWentWrong": "Algo foi mal", + "tryAgainLater": "Téntao de novo máis tarde", + "notFound": "Non atopado", + "pageNotFound": "Páxina non atopada", + "unauthorized": "Sen autorización", + "loginRequired": "Inicia sesión para continuar", + "networkError": "Erro de rede", + "checkConnection": "Comproba a túa conexión a internet", + "invalidInput": "Entrada non válida", + "requiredField": "Este campo é obrigatorio" + }, + "time": { + "today": "Hoxe", + "yesterday": "Onte", + "tomorrow": "Mañá", + "thisWeek": "Esta semana", + "nextWeek": "A semana que vén", + "thisMonth": "Este mes", + "justNow": "Agora mesmo", + "minutesAgo": "hai {{count}} minutos", + "hoursAgo": "hai {{count}} horas", + "daysAgo": "hai {{count}} días" + }, + "footer": { + "vibedWith": "Feito con", + "poweredBy": "Con tecnoloxía de", + "openSource": "Código aberto", + "contribute": "Contribúe", + "decentralized": "Descentralizado", + "communityOwned": "Da comunidade" + }, + "createSpot": { + "title": "Engade un spot de skate", + "subtitle": "Comparte un spot de skate coa comunidade", + "backToMap": "Volver ao mapa", + "namePlaceholder": "p. ex. Hollywood High School", + "descriptionPlaceholder": "Describe o spot, os obstáculos, as mellores horas para patinar, información sobre a seguridade, etc.", + "addressPlaceholder": "p. ex. 1521 N Highland Ave, Los Angeles, CA", + "selectType": "Selecciona o tipo de spot", + "selectBustLevel": "Selecciona o nivel de risco", + "uploadPhotos": "Subir", + "dragDrop": "Arrastra e solta ou fai clic para subir", + "maxPhotos": "Máximo 5 fotos", + "publishing": "Publicando...", + "success": "Spot publicado con éxito!", + "error": "Non se puido publicar o spot", + "locationRequired": "Selecciona unha localización no mapa", + "useCurrentLocation": "Usar a miña localización actual", + "pickOnMap": "Escoller localización no mapa", + "loginToAdd": "Tes que iniciar sesión para engadir un spot de skate.", + "locationLabel": "Localización", + "tapToPlace": "Toca o mapa para colocar o marcador ou arrástrao para axustalo.", + "manualCoords": "Introducir coordenadas manualmente", + "moreDetails": "Máis detalles (opcional)", + "photoHint": "para publicar fai falta unha foto", + "nameRequired": "Escribe un nome para este spot.", + "descriptionRequired": "Describe este spot.", + "addressRequired": "Engade un enderezo ou o nome da zona.", + "photoRequired": "Engade polo menos unha foto.", + "draftTitle": "Tes un borrador sen gardar", + "draftBody": "Continúa onde o deixaches ou descártao.", + "draftResume": "Continuar", + "draftDiscard": "Descartar borrador", + "requiredFields": "Cóntanos sobre este spot. Todos os campos marcados con * son obrigatorios.", + "coordinates": "Coordenadas", + "latitudePlaceholder": "Latitude (p. ex. 34.1012)", + "longitudePlaceholder": "Lonxitude (p. ex. -118.3389)", + "gettingLocation": "Obtendo a localización...", + "accessType": "Tipo de acceso", + "publicTitle": "Público: aberto a todos", + "publicDesc": "Skateparks, prazas públicas, spots de rúa", + "privateTitle": "Propiedade privada: cómpre permiso", + "privateDesc": "Rampas en patios, terreos privados, spots con acceso restrinxido", + "localsTitle": "Pregunta primeiro aos locais", + "localsDesc": "Respecta o spot, non o queimes", + "contactInfo": "Información de contacto", + "contactPlaceholder": "p. ex. teléfono, Instagram, correo...", + "contactHintPrivate": "Como queres que a xente che pida permiso?", + "contactHintLocals": "Como pode a xente poñerse en contacto para preguntar polo spot?" + }, + "createEvent": { + "title": "Crear un evento", + "subtitle": "Organiza un evento de skate para a comunidade", + "backToEvents": "Volver aos eventos", + "namePlaceholder": "p. ex. Sesión de skate de verán", + "descriptionPlaceholder": "Describe o evento, que esperar, as normas, os premios, etc.", + "selectType": "Selecciona o tipo de evento", + "venuePlaceholder": "p. ex. Venice Beach Skatepark, CA", + "selectDate": "Selecciona a data", + "selectTime": "Selecciona a hora", + "ticketPricePlaceholder": "Deixa baleiro para eventos gratuítos", + "publishing": "Publicando...", + "success": "Evento publicado con éxito!", + "error": "Non se puido publicar o evento", + "loginToCreate": "Tes que iniciar sesión para crear un evento.", + "requiredFields": "Cóntanos sobre este evento. Todos os campos marcados con * son obrigatorios.", + "startDateTime": "Data e hora de inicio", + "endDateTime": "Data e hora de fin (opcional)", + "coordinatesOptional": "Coordenadas (opcional)", + "coverImage": "Imaxe de portada", + "uploadCover": "Subir imaxe de portada", + "nip05Recommended": "Recoméndase verificación NIP-05", + "nip05Desc": "Engade un identificador NIP-05 ao teu perfil para verificar a túa identidade e xerar confianza cos asistentes.", + "addNip05": "Engadir NIP-05 en Axustes" + }, + "spotDetail": { + "postedBy": "Publicado por", + "getDirections": "Como chegar", + "reviews": "Valoracións", + "noReviews": "Aínda non hai valoracións", + "beFirstReview": "Sé a primeira persoa en valorar este spot!", + "writeReview": "Escribir unha valoración", + "submitReview": "Enviar valoración", + "rating": "Valoración", + "reviewPlaceholder": "Comparte a túa experiencia neste spot...", + "relatedSpots": "Spots preto" + }, + "eventDetail": { + "organizedBy": "Organizado por", + "eventInfo": "Información do evento", + "location": "Localización", + "dateTime": "Data e hora", + "price": "Prezo", + "attendeeCount": "{{count}} van", + "interested": "Interésame", + "going": "Vou", + "notGoing": "Non vou", + "share": "Compartir evento" + }, + "profile": { + "posts": "Publicacións", + "spots": "Spots", + "events": "Eventos", + "following": "Seguindo", + "followers": "Seguidores", + "editProfile": "Editar perfil", + "follow": "Seguir", + "unfollow": "Deixar de seguir", + "noPostsYet": "Aínda non hai publicacións", + "noBio": "Aínda non hai bio", + "zapProfile": "Enviar un zap a este skater" + }, + "about": { + "title": "Sobre SkateSpots", + "subtitle": "Unha comunidade de skate descentralizada", + "whatIs": "Que é SkateSpots?", + "whatIsDesc": "SkateSpots é unha plataforma impulsada pola comunidade para descubrir lugares de skate en todo o mundo. Construída sobre Nostr, dálle aos skaters a propiedade real dos seus datos.", + "features": "Funcións", + "featuresDesc": "Atopa spots, crea eventos, conecta con coaches e apoia as tendas de skate locais, todo nun mesmo lugar.", + "nostr": "Construído sobre Nostr", + "nostrDesc": "Nostr é un protocolo aberto e sinxelo que permite unha comunicación global realmente resistente á censura. A túa conta e os teus datos son teus.", + "openSource": "Código aberto", + "openSourceDesc": "SkateSpots é completamente de código aberto. Contribúe, fai un fork ou monta a túa propia instancia.", + "lightning": "Pagamentos Lightning", + "lightningDesc": "Envía zaps aos teus skaters, coaches e creadores de contido favoritos con pagamentos Bitcoin Lightning." + }, + "faq": { + "title": "Preguntas frecuentes", + "subtitle": "Todo o que necesitas saber sobre SkateSpots", + "whatIsNostr": "Que é Nostr?", + "whatIsNostrAnswer": "Nostr é un protocolo aberto para redes sociais descentralizadas. A diferenza das plataformas tradicionais, ti es o dono dos teus datos e da túa identidade.", + "howToStart": "Como comezo?", + "howToStartAnswer": "Fai clic en «Crear conta» para crear unha conta de Nostr nova, ou en «Iniciar sesión» se xa tes unha. Podes usar unha extensión do navegador, unha app móbil ou unha clave secreta.", + "whatAreZaps": "Que son os zaps?", + "whatAreZapsAnswer": "Os zaps son propinas en Bitcoin Lightning que podes enviar a outros usuarios. Son unha forma de agradecer un bo contido ou apoiar aos creadores.", + "howToAddSpot": "Como engado un spot?", + "howToAddSpotAnswer": "Inicia sesión na túa conta, fai clic en «Engadir spot» e enche os detalles: localización, fotos e descrición.", + "isItFree": "SkateSpots é gratis?", + "isItFreeAnswer": "Si! SkateSpots é totalmente gratuíto. Opcionalmente podes enviar zaps (propinas en Bitcoin) a outros usuarios.", + "canIEditSpot": "Podo editar ou eliminar os meus spots?", + "canIEditSpotAnswer": "Si, podes editar os spots que creaches. Pola natureza descentralizada de Nostr, as solicitudes de eliminación envíanse, pero algúns relays poden conservar os datos." + }, + "onboarding": { + "welcome": "Benvido a SkateSpots!", + "welcomeDesc": "Imos configurar todo en só uns pasos.", + "step1Title": "Crea a túa conta", + "step1Desc": "Estanse a xerar as túas claves de Nostr. É coma un contrasinal que controlas ti.", + "step2Title": "Fai copia das túas claves", + "step2Desc": "Garda a túa frase de recuperación nun lugar seguro. É a única forma de recuperar a túa conta!", + "step3Title": "Configura o teu perfil", + "step3Desc": "Cóntalle á comunidade quen es.", + "step4Title": "Xa estás listo!", + "step4Desc": "Comeza a explorar spots, eventos e a conectar con outros skaters.", + "skipForNow": "Saltar por agora", + "continueToApp": "Continuar á app" + }, + "labPage": { + "title": "O Lab", + "subtitle": "Aprende trucos. Captura momentos. Conecta con outros skaters", + "coachesTab": "Coaching", + "filmersTab": "Gravación", + "offerCoaching": "OFRECE COACHING", + "offerFilming": "OFRECE GRAVACIÓN", + "loginToOffer": "Inicia sesión para ofrecer servizos", + "whatToLearn": "QUE QUERES APRENDER?", + "whatContent": "QUE TIPO DE CONTIDO?", + "selectSkillsDesc": "Selecciona habilidades e conectaremos contigo os coaches axeitados", + "selectFilmingDesc": "Selecciona os servizos de gravación que buscas", + "searchPlaceholder": "Busca por nome, localización ou habilidades...", + "noServicesYet": "AÍNDA NON HAI SERVIZOS", + "beFirstToOffer": "Sé a primeira persoa en ofrecer servizos de coaching ou gravación á comunidade!", + "skills": "Habilidades", + "rate": "Tarifa", + "perHour": "/hora", + "contact": "Contacto", + "viewProfile": "Ver perfil", + "noProfilesYet": "Aínda non hai perfís", + "beFirstCoach": "Sé a primeira persoa en rexistrarse como coach!", + "beFirstFilmer": "Sé a primeira persoa en rexistrarse como filmer!", + "yearsExperience": "anos de experiencia" + }, + "becomeCoach": { + "title": "Sé coach", + "subtitle": "Comparte as túas habilidades e axuda a outros skaters a progresar", + "bioPlaceholder": "Cóntanos a túa traxectoria no skate e o teu estilo de ensino...", + "skillsPlaceholder": "p. ex. kickflip, heelflip, grinds, bowls", + "selectSkills": "Selecciona as habilidades que podes ensinar", + "hourlyRate": "Tarifa por hora (sats)", + "ratePlaceholder": "p. ex. 5000", + "locationPlaceholder": "A túa cidade ou zona", + "publishing": "Publicando o perfil...", + "success": "Perfil de coach creado!", + "error": "Non se puido crear o perfil" + }, + "becomeFilmer": { + "title": "Sé filmer", + "subtitle": "Captura os mellores clips para a comunidade", + "bioPlaceholder": "Cóntanos a túa experiencia coa cámara e o material...", + "specialtiesPlaceholder": "p. ex. fisheye, teleobxectivo, dron, edición", + "selectSpecialties": "Selecciona as túas especialidades", + "hourlyRate": "Tarifa por hora (sats)", + "ratePlaceholder": "p. ex. 5000", + "locationPlaceholder": "A túa cidade ou zona", + "portfolioUrl": "URL do portafolio", + "portfolioPlaceholder": "Ligazón aos teus traballos (YouTube, Instagram, etc.)", + "publishing": "Publicando o perfil...", + "success": "Perfil de filmer creado!", + "error": "Non se puido crear o perfil" + }, + "skills": { + "kickflip": "Kickflip", + "heelflip": "Heelflip", + "ollie": "Ollie", + "treflip": "360 Flip", + "shuvit": "Shuvit", + "hardflip": "Hardflip", + "varial": "Varial", + "nollie": "Nollie", + "fakie": "Fakie", + "switch": "Switch", + "grind": "Grind", + "slide": "Slide", + "manual": "Manual", + "transition": "Transition", + "bowl": "Bowl", + "vert": "Vert", + "street": "Street", + "flatground": "Flatground" + }, + "food": { + "title": "Spots de comida", + "subtitle": "Enche as pilas antes ou despois da sesión", + "addFood": "Engadir spot de comida", + "categories": { + "all": "Todo", + "burgers": "Hamburguesas", + "pizza": "Pizza", + "tacos": "Tacos", + "coffee": "Café", + "drinks": "Bebidas", + "snacks": "Petiscos" + }, + "skaterFriendly": "Apto para skaters", + "nearSpots": "Preto de spots de skate" + }, + "weather": { + "title": "Tempo", + "current": "Condicións actuais", + "forecast": "Previsión", + "humidity": "Humidade", + "wind": "Vento", + "feelsLike": "Sensación térmica", + "goodForSkating": "Bo para patinar!", + "notIdeal": "Condicións pouco ideais", + "allWeather": "Calquera tempo", + "goodWeather": "Bo tempo", + "perfectWeather": "Tempo perfecto" + }, + "diyUi": { + "title": "DIY — Faino ti mesmo", + "tagline": "Guías, ferramentas abertas e planos para fabricar as túas propias táboas, ramplas e spots de formigón, e despois atopar a xente, os lugares e o mercado para levalo adiante.", + "doItWithPeople": "Faino con xente", + "backToDiy": "Volver a DIY", + "calc": { + "title": "Calculadora de custos da táboa", + "intro": "O que custa fabricar unha táboa: man de obra, equipamento, materiais, tempo de proceso, embalaxe e marxe, e un prezo de venda xusto. Gárdase neste dispositivo." + }, + "designer": { + "title": "Deseñador de táboas", + "intro": "Debuxa o contorno dunha táboa de skate ou longboard e exporta unha plantilla imprimible a 1:1, un SVG ou un DXF para CNC. Gárdase neste dispositivo.", + "presets": "Predefinicións", + "dimensions": "Dimensións", + "shape": "Forma", + "kicks": "Kicks", + "hardware": "Buratos dos eixes", + "width": "Ancho máximo", + "wheelbase": "Distancia entre eixes", + "nose": "Longura do nose", + "tail": "Longura do tail", + "length": "Longura total", + "waist": "Cintura", + "endRound": "Redondeo das puntas", + "concave": "Cóncavo", + "thickness": "Grosor", + "tailKick": "Kick do tail", + "noseKick": "Kick do nose", + "holeNew": "New school (2.125″)", + "holeOld": "Old school (2.5″)", + "holeSpacing": "New school é 2.125″ × 1.625″ (54 × 41 mm); old school é 2.5″ × 1.625″. Buratos de montaxe de 3/16″.", + "topView": "Vista superior", + "sideView": "Perfil lateral", + "concaveSection": "Sección do cóncavo", + "export": "Exportar", + "pdfA4": "PDF 1:1 · A4", + "pdfLetter": "PDF 1:1 · Letter", + "printNote": "Imprime o PDF ao 100% (sen «axustar á páxina») e logo une as follas coas cruces das esquinas. O SVG tamén está a tamaño real.", + "note": "Este é o contorno 2D que trazas e cortas. Para formas 3D completas e deseño de moldes, segue a ser mellor unha ferramenta CAD de verdade." + }, + "source": "Fonte", + "comingSoon": "Próximamente", + "footer": "As guías paso a paso están en camiño. Polo de agora: atopa a xente que constrúe no Lab, marca o teu spot no mapa e compra ou vende no Mercado. Traballa con seguridade: proteccións, luvas e lentes.", + "categories": { + "boards": "Táboas", + "ramps": "Rampas e obstáculos de madeira", + "concrete": "Formigón e spots DIY", + "repairs": "Reparacións e axustes", + "tools": "Ferramentas e planos" + }, + "cards": { + "ossBuild": { + "title": "Fabricar unha táboa", + "blurb": "Fabricación dunha táboa paso a paso: chapa, moldes, prensas e acabado." + }, + "sk8cad": { + "title": "SK8CAD", + "blurb": "CAD de código aberto para formas de táboas, cóncavo e deseño de moldes." + }, + "deckCost": { + "title": "Custo e prezo da táboa", + "blurb": "Calcula materiais, man de obra e un prezo de venda xusto antes de fabricar." + }, + "deckDesigner": { + "title": "Deseñador de táboas", + "blurb": "Debuxa un contorno e imprime unha plantilla 1:1, ou exporta SVG/DXF para CNC." + }, + "ledgeBox": { + "title": "Fabricar un bordillo ou un caixón", + "blurb": "Un obstáculo de madeira doado para comezar que podes construír nunha fin de semana." + }, + "quarterpipe": { + "title": "Fabricar un quarterpipe", + "blurb": "Planos de rampla, transición e coping para un mini no xardín." + }, + "flatbar": { + "title": "Fabricar un flatbar", + "blurb": "Barato, portátil e a mellor forma de aprender a patinar rails." + }, + "concreteBasics": { + "title": "Fundamentos do formigón", + "blurb": "Mesturar, encofrar e rematar un bordillo ou un banco que dure." + }, + "coping": { + "title": "Coping e bordos", + "blurb": "Como colocar o coping e rematar unha transición para un grind suave." + }, + "buyParts": { + "title": "Comprar pezas e material", + "blurb": "Atopa táboas, ferraxes e ferramentas de vendedores no Mercado." + }, + "mapSpot": { + "title": "Marca o teu spot DIY no mapa", + "blurb": "Construíches algo? Engádeo ao mapa para que outros poidan atopalos e patinar nel." + }, + "regrip": { + "title": "Cambiar a lixa", + "blurb": "Quita a lixa vella e pon a nova con coidado." + }, + "tune": { + "title": "Axustar rodamentos e eixes", + "blurb": "Limpa os rodamentos, cambia as gomas e axusta a xeometría dos eixes." + }, + "printMolds": { + "title": "Moldes impresos en 3D", + "blurb": "Ficheiros de moldes e bases de aliñación imprimibles da comunidade." + }, + "sk8cadTools": { + "title": "Ferramentas de moldes e aliñación", + "blurb": "Deseña moldes con bases de aliñación integradas." + } + }, + "actions": { + "findBuilder": { + "title": "Atopar un construtor", + "blurb": "Construtores de ramplas e DIY no Lab que poden deseñalo ou facelo por ti." + }, + "findCrew": { + "title": "Atopar unha crew DIY", + "blurb": "Crews centradas en construír: únete ás que converten spots en realidade." + }, + "mapSpot": { + "title": "Marcar un spot DIY", + "blurb": "Engade o spot que construíches para que viva no mapa." + }, + "sellBuilds": { + "title": "Vende as túas construcións", + "blurb": "Anuncia no Mercado as táboas, ramplas ou pezas que fas." + }, + "findCoach": { + "title": "Atopar un coach", + "blurb": "Coaches que ensinan módulos de skate DIY e construción de spots." + } + } + }, + "seoUi": { + "becomeBuilderTitle": "Sé construtor - SkateSpots", + "becomeBuilderDesc": "Anuncia os teus servizos de construción de ramplas, parks e DIY: o que constrúes, materiais e escala.", + "tradesTitle": "Os meus intercambios — SkateSpots", + "tradesDesc": "Xestiona os teus intercambios no mercado, as confirmacións e a túa reputación.", + "eventsTitle": "Eventos e xiras de skate - SkateSpots", + "eventsDesc": "Descubre eventos, competicións, xiras e sesións de skate preto de ti.", + "editShopDesc": "Edita a túa tenda de skate.", + "createTourDesc": "Organiza xiras de skate: xiras locais por xoias ocultas, viaxes nacionais por estrada, aventuras internacionais ou competicións de destrución ao estilo KOTR.", + "deckDesignerTitle": "Deseñador de táboas — SkateSpots DIY", + "deckDesignerDesc": "Deseña o contorno dunha táboa de skate ou longboard e exporta unha plantilla 1:1 imprimible, SVG ou DXF, con cóncavo, kicks, distancia entre eixes e buratos incluídos.", + "createEventTitle": "Crear un evento de skate - SkateSpots", + "createEventDesc": "Crea un novo evento de skate para a comunidade.", + "editTourDesc": "Edita a túa xira de skate: actualiza as paradas, as datas e os detalles.", + "walletTitle": "Carteira - SkateSpots", + "walletDesc": "Conecta a túa carteira Lightning para enviar zaps a skaters e creadores de spots.", + "becomePhotographerTitle": "Sé fotógrafo - SkateSpots", + "becomePhotographerDesc": "Crea o teu perfil de fotografía de skate: cámaras, obxectivos, iluminación e servizos.", + "newsletterTitle": "Boletín - SkateSpots", + "newsletterDesc": "Novidades semanais da comunidade SkateSpots. Actualizacións da app, novos spots, eventos e a xente que mantén vivo o skate.", + "homeTitle": "SkateSpots - Descubre lugares de skate en todo o mundo", + "zapLeaderboardTitle": "Clasificacións de zaps - SkateSpots", + "zapLeaderboardDesc": "Os spots de skate con máis zaps e os membros da comunidade que os apoian.", + "adminReviewTitle": "Cola de revisión — SkateSpots", + "gearSwapTitle": "Intercambio de material - SkateSpots", + "gearSwapDesc": "Compra e vende material de skate usado con outros skaters. Táboas, eixes, rodas, zapatillas e moito máis.", + "donateTitle": "Doa — SkateSpots", + "donateDesc": "Apoia SkateSpots: Lightning, en cadea privado (pagamentos silenciosos) ou financia o desenvolvemento en Angor.", + "verifyCardTitle": "Verificar — SkateSpots", + "verifyCardDesc": "Verifica unha tarxeta SkateSpots ou un pase de acceso.", + "mapTitle": "Mapa de spots de skate - SkateSpots", + "mapDesc": "Explora spots de skate de todo o mundo no noso mapa interactivo.", + "diyTitle": "DIY — Faino ti mesmo | SkateSpots", + "diyDesc": "Guías, ferramentas abertas e planos para fabricar as túas propias táboas, ramplas e spots de formigón, e a xente e os lugares cos que facelo.", + "appShopTitle": "Tenda da app — SkateSpots", + "becomeSkaterTitle": "Únete ao directorio de skaters - SkateSpots", + "becomeSkaterDesc": "Crea o teu perfil de skater para que a comunidade poida atoparte.", + "marketplaceTitle": "Mercado - SkateSpots", + "marketplaceDesc": "Compra e vende material de skate no Plebeian Market descentralizado.", + "becomeEditorTitle": "Sé editor de vídeo - SkateSpots", + "becomeEditorDesc": "Crea o teu perfil de editor de vídeo de skate en SkateSpots.", + "amberCallbackTitle": "Iniciando sesión con Amber - SkateSpots", + "amberCallbackDesc": "Completando o teu inicio de sesión con Amber (NIP-55).", + "supportersTitle": "Apoiantes - SkateSpots", + "supportersDesc": "A comunidade que mantén vivo SkateSpots: apoiantes, colaboradores, socios e amigos.", + "becomeCoachTitle": "Sé coach - SkateSpots", + "becomeCoachDesc": "Crea o teu perfil de coach de skate.", + "riderCardTitle": "Tarxeta de skater — SkateSpots", + "riderCardDesc": "Crea a túa licenza de skater ou tarxeta de acceso a park imprimible de SkateSpots.", + "editEventDesc": "Edita o teu evento de skate.", + "createShopTitle": "Engadir unha tenda de skate - SkateSpots", + "createShopDesc": "Engade a túa tenda de skate á comunidade.", + "deckCostTitle": "Calculadora de custos da táboa — SkateSpots DIY", + "deckCostDesc": "Calcula o que custa fabricar unha táboa: man de obra, equipamento, materiais, tempo de proceso, embalaxe e marxe, e un prezo de venda xusto.", + "pyramidTitle": "Clasificación piramidal - SkateSpots", + "pyramidDesc": "Os principais colaboradores e líderes da comunidade.", + "foodTitle": "Comida preto dos spots - SkateSpots", + "foodDesc": "Atopa restaurantes, cafeterías e opcións de comida preto dos spots de skate.", + "createListingTitle": "Anunciar material - SkateSpots", + "createListingDesc": "Anuncia material de skate para vender ou atopa o material que queres comprar.", + "becomeFilmerTitle": "Sé filmer - SkateSpots", + "becomeFilmerDesc": "Crea o teu perfil de gravación de skate.", + "skatersTitle": "Skaters - SkateSpots", + "skatersDesc": "Descubre skaters da comunidade SkateSpots. Explora por estilo, postura, nivel e localización.", + "communityStatsTitle": "Estatísticas da comunidade — SkateSpots", + "communityStatsDesc": "Métricas en directo da comunidade SkateSpots: spots, eventos, coaches, filmers, editores, xiras e crecemento ao longo do tempo. Directamente de Nostr.", + "labTitle": "O Lab - SkateSpots", + "labDesc": "Atopa coaches, filmers, fotógrafos e editores de vídeo de skate.", + "stashTitle": "O meu Stash - SkateSpots", + "stashDesc": "Xestiona o teu inventario privado de material. Leva a conta do que tes e do que queres vender ou intercambiar.", + "bountyLeaderboardTitle": "Mapea e gaña - SkateSpots", + "bountyLeaderboardDesc": "Marca spots de skate e tendas no mapa e gaña zaps da comunidade. Consulta os principais colaboradores.", + "spotCollectionsTitle": "As miñas coleccións de spots - SkateSpots", + "spotCollectionsDesc": "Organiza os teus spots de skate favoritos en coleccións personalizadas", + "mintsTitle": "Cecas Cashu — SkateSpots", + "mintsDesc": "Explora as cecas Cashu, comproba o seu estado e engade unha á túa carteira." + }, + "statusUi": { + "quickStatus": "Estado rápido", + "skating": "Patinando", + "skatingDesc": "Patinando agora", + "filming": "Gravando", + "filmingDesc": "Gravando trucos", + "lookingForSesh": "Buscando sesión", + "lookingForSeshDesc": "Quero patinar con outra xente", + "coaching": "Dando clase", + "coachingDesc": "Ensinando ou adestrando", + "chilling": "De tranqui", + "chillingDesc": "Pasando o rato no spot", + "onMyWay": "De camiño", + "onMyWayDesc": "Vou cara a un spot", + "takingABreak": "Descansando", + "takingABreakDesc": "Descansando e hidratándome", + "doneForToday": "Xa rematei", + "doneForTodayDesc": "Deixei de patinar" + }, + "sasquatchGuide": { + "homeTitle": "Benvido a SkateSpots! 🦧", + "homeMessage": "Ei, son O Sasquatch. Gardián de táboas, camiños e aventuras salvaxes. Benvido ao mundo salvaxe do skate en Nostr: sen traxes, sen anuncios, só skaters abrindo o seu propio camiño. Aquí os trucos son teus, os datos son teus e ata podes gañar Bitcoin por deixar a túa marca. Conecta con skaters do teu barrio ou de calquera parte do mundo. Sen normas agás patinar, sen pegadas agás as túas.", + "homeQ1": "Planea 3 días en Barcelona", + "homeQ2": "Atopa spots para principiantes", + "homeQ3": "Hai eventos próximos?", + "homeQ4": "Estatísticas da comunidade", + "homeQ5": "Atopa coaches preto de min", + "homeQ6": "Material en venda?", + "homeQ7": "Que é Nostr?", + "homeQ8": "Isto é gratis?", + "homeLearnMore": "Saber máis", + "onboardingTitle": "Primeiros pasos 🚀", + "onboardingMessage": "Déixame axudarte cos básicos! Nostr é a túa identidade, Bitcoin Lightning permíteche gañar sats polas túas contribucións e os zaps son propinas instantáneas. Pregúntame o que queiras sobre como comezar!", + "onboardingQ1": "Como inicio sesión?", + "onboardingQ2": "Que é Nostr?", + "onboardingQ3": "Como funciona Nostr?", + "onboardingQ4": "Que é Cashu?", + "onboardingQ5": "Como uso a carteira Cashu?", + "onboardingQ6": "Que son as cecas?", + "onboardingQ7": "Que son os zaps?", + "onboardingQ8": "Que é NWC?", + "onboardingStart": "Comezar a explorar", + "onboardingLogin": "Inicia sesión para comezar", + "labTitle": "Benvido ao Lab! 🎓", + "labMessage": "Aquí é onde pasa a maxia! Atopa coaches que che poden ensinar desde un kickflip ata un darkslide, ou conecta con filmers para capturar as túas mellores sesións. Filtra por habilidades, consulta a súa experiencia e reserva unha sesión. Lembra: todos comezamos nalgún momento!", + "labQ1": "Atopar coaches", + "labQ2": "Atopar filmers", + "labQ3": "Atopar fotógrafos", + "labQ4": "Atopar editores de vídeo", + "labQ5": "Atopar un construtor de ramplas", + "labQ6": "Que é O Lab?", + "labQ7": "Que é un construtor?", + "labQ8": "Como ofrezo coaching?", + "labLogin": "Inicia sesión para ofrecer servizos", + "crewsTitle": "Crews 🤘", + "crewsMessage": "As crews son a túa familia de skate ancorada no mapa: a xente coa que patinas, non a que contratas. Cada crew ten o seu territorio no mapa, os seus spots de referencia, membros e un manifesto. Os membros confirman coa súa propia clave, así que o roster é lexítimo. Crea a túa ou atopa a túa xente!", + "crewsQ1": "Que son as crews?", + "crewsQ2": "Como creo unha crew?", + "crewsQ3": "En que se diferenza unha crew do Lab?", + "crewsQ4": "Como confirman os membros?", + "crewsQ5": "Que é Nostr?", + "crewsQ6": "Como funcionan os zaps?", + "crewsLogin": "Inicia sesión para crear unha crew" + }, + "supportUi": { + "keepMapFree": "Mantén o mapa gratis", + "keepMapFreeDesc": "Sen anuncios, sen rastrexo, sen capital risco. Os teus sats pagan o aloxamento, o nodo de IA e o relay.", + "thankYou": "Grazas! ⚡", + "satsKeepMapFree": "Os teus sats manteñen o mapa gratis.", + "keptFreeNext": "Acabas de manter SkateSpots gratis para o seguinte skater.", + "scanToPay": "Escanea para pagar", + "zapSkateSpots": "Enviar un zap a SkateSpots", + "payQuietly": "Paga en silencio", + "pickAmount": "Escolle un importe", + "enterAmount": "Indica cantos sats queres enviar.", + "couldNotStartPayment": "Non se puido iniciar o pagamento.", + "customAmountAria": "Importe personalizado en sats", + "commentPlaceholder": "Di algo (opcional, só zaps públicos)", + "publicZapTitle": "Zap público co teu comentario", + "loginToZapTitle": "Inicia sesión para enviar un zap público", + "anonymousTitle": "Anónimo: sen inicio de sesión, sen rexistro", + "copyLightningTitle": "Copiar o enderezo Lightning", + "copiedSuffix": "{{label}} copiado", + "invoiceLabel": "Factura", + "addressLabel": "Enderezo", + "notAPurchase": "É un apoio, non unha compra: non compra nada e non hai devolucións. O merchandising e Sasquatch Pro son aparte. A túa localización e identidade nunca interveñen nun pagamento silencioso." + }, + "role": { + "owner": "Propietario", + "admin": "Administrador", + "organiser": "Organizador", + "verifiedOwner": "Propietario verificado" + }, + "nfc": { + "write": "Escribir na etiqueta NFC", + "written": "Etiqueta escrita", + "writtenDesc": "Toca a etiqueta cun teléfono para abrir a páxina de verificación.", + "failed": "Non se puido escribir a etiqueta" + }, + "venueAccess": { + "title": "Pases de acceso", + "desc": "Emite un pase asinado a un rider para que poida demostrar o acceso na porta: mostra a súa tarxeta e calquera persoa pode escanear o QR para verificala.", + "active": "{{count}} activos", + "revoked": "{{count}} revogados", + "issue": "Emitir un pase", + "verifyHint": "Verificado escaneando: non fai falta app nin conta para comprobalo.", + "publicTitle": "Pases de acceso", + "publicDesc": "Este local emite pases de acceso. Escanea a tarxeta dun rider na porta para verificala.", + "badge": "Pases", + "sellerHint": "O local deste vendedor emite pases de acceso" + }, + "marketTerms": { + "link": "Normas do Mercado", + "seoTitle": "Normas do Mercado", + "seoDescription": "Como funcionan os anuncios de material de SkateSpots: entre particulares, coidado co comprador e as normas.", + "title": "Normas do Mercado", + "intro": "SkateSpots é un taboleiro de material entre particulares. Tratas directamente coa outra persoa: non retemos fondos, non enviamos artigos nin resolvemos disputas.", + "howTitle": "Como funciona", + "howBody": "Anuncia material, contacta co vendedor por mensaxe privada e pecha o trato directamente (efectivo, Lightning ou un intercambio). Non hai carrito nin pasarela de pago.", + "rulesTitle": "Que non está permitido", + "rulesBody": "Non se permite contido ilegal, perigoso ou para adultos; nin drogas, armas, falsificacións ou artigos roubados. Mantén os anuncios centrados en material de skate e artigos relacionados.", + "respectTitle": "Sé respectuoso", + "respectBody": "Non se toleran abusos, acoso, ameazas nin odio. A moderación pode ocultar anuncios ou contas.", + "trustTitle": "A confianza é unha guía, non unha garantía", + "trustBody": "As marcas de verificación e a reputación nos intercambios son sinais da rede, non promesas. Fai as túas propias comprobacións antes de trocar.", + "trustLink": "Como funciona a confianza", + "privacyLink": "Que sae do teu dispositivo", + "safetyTitle": "Troca con seguridade", + "safetyBody": "Queda en lugares públicos para as entregas, usa depósito en garantía ou unha sinal de boa fe nos envíos e nunca envíes diñeiro fóra da app.", + "moderationTitle": "A moderación é suave e reversible", + "moderationBody": "O contido oculto segue nos relays e pódese restaurar; as disputas entre persoas son cousa túa." + }, + "sasquatchUi": { + "live": "en directo", + "offline": "desconectado", + "genericTitle": "Asistente de SkateSpots 🦧", + "genericGreeting": "Ei! Son O Sasquatch. Pregúntame o que queiras sobre spots, eventos, coaches, material ou como funciona a app. Teño datos en directo do relay de SkateSpots!", + "q1": "Planea 3 días en Lisboa", + "q2": "Atopa spots preto de min", + "q3": "Hai eventos próximos?", + "q4": "Que son as crews?", + "q5": "Como funcionan os zaps?", + "q6": "Que é Nostr?", + "q7": "Que é O meu Stash?", + "q8": "Isto é gratis?", + "bubbleTitle": "Preme e arrastra para mover · Toca para abrir", + "openGuideAria": "Abrir a guía do Sasquatch", + "hideAria": "Ocultar o asistente Sasquatch", + "hide": "Ocultar asistente", + "showAria": "Mostrar o asistente Sasquatch", + "activeUntil": "Activo ata o {{date}}", + "platformOwner": "Propietario da plataforma", + "upgradeTitle": "Pasa a Sasquatch Pro", + "goPro": "Go Pro", + "goProBlurb": "IA persoal · desde 2k sats", + "aiBalanceTitle": "Saldo de crédito de Sasquatch AI (só propietario): recarga en {{provider}}", + "aiChip": "⚡ IA {{balance}}", + "minimizeToBubbleAria": "Minimizar á burbulla", + "minimize": "Minimizar", + "closePanelAria": "Pechar o panel", + "close": "Pechar", + "askLab": "Pregunta sobre coaching e gravación", + "askMap": "Pregunta sobre spots, tendas e material", + "askAnything": "Pregúntame o que queiras 🛹", + "quickQuestions": "Preguntas rápidas:", + "you": "🧑 Ti", + "thinking": "pensando...", + "inputPlaceholder": "Pregunta sobre spots, eventos, coaches...", + "liveDataFrom": "Datos en directo de", + "nostrRelays": "relays de Nostr", + "clear": "limpar", + "gettingLocation": "📍 Obtendo a túa localización…", + "findingClosest": "🔍 Buscando os spots máis próximos…", + "checkingLive": "🔍 Comprobando os datos en directo…", + "planningTrip": "🗺️ Planificando a túa viaxe a {{destination}}...", + "searchingRelays": "🔍 Buscando {{tool}} nos relays...", + "perk1": "Asistente persoal: Sasquatch le o teu Stash, crews, spots e anuncios", + "perk2": "Borradores de accións: anuncia material, publica un estado de skate, planea unha viaxe; ti confirmas antes de que se publique nada", + "perk3": "As respostas usan o teu contexto persoal, non só datos públicos", + "perk4": "⚡ Apoia directamente SkateSpots e manteno gratis e sen anuncios", + "welcomeTitle": "Grazas por apoiar Sasquatch Pro! 🦧⚡", + "welcomeDesc": "Pagamento enviado: o teu pase actívase cando o provedor o confirme (normalmente nun minuto). Grazas por manter as rúas libres.", + "invoiceCopied": "Factura copiada", + "dialogDesc": "Potencia a túa guía de skate con IA. O 100% financia unha app comunitaria gratis e sen anuncios.", + "proSupporter": "Es apoiente Pro ⚡", + "extendPrompt": "Queres amplialo? Escolle un nivel abaixo para engadir máis tempo.", + "scanToPayPre": "Escanea para pagar", + "scanToPayAmount": "{{sats}} sats", + "scanToPayPost": "por {{label}} de Pro", + "invoiceQrAlt": "QR da factura Lightning", + "copyInvoice": "Copiar factura", + "ivePaid": "Xa paguei", + "ivePaidHint": "Toca «Xa paguei» despois de que a túa carteira confirme; isto rexistra o teu pase na túa identidade de Nostr.", + "freeStaysPre": "Sasquatch gratis segue sendo gratis: busca pública de spots/eventos/coaches, planificación de viaxes e o glosario completo de trucos. Pro engade a capa ", + "freeStaysEmphasis": "persoal e de accións", + "freeStaysPost": ".", + "loginFirst": "Inicia sesión primeiro para mellorar.", + "paysTo": "Paga a", + "overLightning": "por Lightning. Vinculado ao teu npub.", + "popular": "Popular", + "sats": "sats", + "extend": "Ampliar", + "done": "Feito!", + "cancelledNothing": "Cancelado: non se publicou nada.", + "draftReview": "Borrador: revisa e confirma", + "statusTextPlaceholder": "Texto do estado", + "titlePlaceholder": "Título", + "priceSatsPlaceholder": "Prezo (sats)", + "conditionPlaceholder": "Estado", + "cancel": "Cancelar", + "aiTitle": "Sasquatch AI", + "owner": "Propietario", + "notConfigured": "sen configurar", + "unavailable": "non dispoñible", + "satsValue": "{{balance}} sats", + "theNode": "o nodo", + "lowBalance": "Saldo baixo: recarga en {{provider}} ou a IA pasará ao provedor sen chave.", + "aiDesc": "IA de pago por petición, financiada en sats vía Routstr. Recarga automática cando baixa.", + "tier7d": "7 días", + "tier1m": "1 mes", + "tier3m": "3 meses", + "tier1y": "1 ano", + "badgeTry": "Proba", + "badgeOff20": "20% de desconto", + "badgeBest": "Mellor valor · 40% de desconto", + "draftPostStatusTitle": "Publicar un estado de skate", + "draftAutoExpires": "Caduca automaticamente en {{count}} min", + "draftPostStatusCta": "Publicar estado", + "draftCategory": "Categoría: {{value}}", + "draftSize": "Tamaño: {{value}}", + "draftCondition": "Estado: {{value}}", + "draftMaxPrice": "Prezo máximo: {{price}} {{currency}}", + "draftPriceOpen": "Prezo: aberto", + "draftLookingForTitle": "Buscando «{{title}}»", + "draftWantedCta": "Publicar anuncio de busca", + "draftPrice": "Prezo: {{price}} {{currency}}", + "draftPriceOffer": "Prezo: acepta ofertas", + "draftListTitle": "Anunciar «{{title}}» para vender", + "draftPublishCta": "Publicar anuncio", + "statusPosted": "Estado publicado 🛹", + "wantedPublished": "Anuncio de busca publicado 🔎", + "listingPublished": "Anuncio publicado 💸", + "mustBeLoggedIn": "Tes que iniciar sesión." + }, + "collectionUi": { + "namePlaceholder": "Viaxe a Barcelona 2024", + "descriptionPlaceholder": "Os meus spots favoritos da viaxe a Barcelona..." + }, + "bootUi": { + "ariaLoading": "Cargando SkateSpots", + "ariaReady": "SkateSpots listo", + "ready": "Listo", + "statusWaking": "Espertando a rede", + "statusTuning": "Axustando os relays", + "statusPulling": "Traendo spots", + "statusDropping": "Aterrando" + }, + "sasquatchChat": { + "faq": { + "hi": "Ola! Son O Sasquatch 🦧 A túa guía de skate con IA. Pregúntame por spots, eventos, coaches, material ou calquera cousa da app. Que necesitas?", + "hello": "Que pasa! 🛹 Son O Sasquatch. Pregúntame por spots de skate, eventos, coaches ou como funciona a app. Que hai?", + "hey": "Ola, skater! 🤙 Pregúntame por spots preto de ti, eventos próximos, coaches ou calquera cousa de SkateSpots.", + "whoAreYou": "Son O Sasquatch 🦧, a guía con IA de SkateSpots. Podo atopar spots de skate en todo o mundo, buscar eventos, coaches, filmers e anuncios de material. Todo con datos en directo de Nostr. Pregunta!", + "whatCanYouDo": "Podo atopar spots de skate por cidade ou país, buscar eventos próximos, atopar coaches e filmers no Lab, buscar anuncios de material e responder preguntas sobre como funciona a app. Proba: «spots en Bangkok» ou «atopa un coach»! 🛹", + "whatIsNostr": "Nostr é un protocolo aberto e sinxelo para redes sociais descentralizadas. Pensa en Twitter, pero sen que ningunha empresa o controle: usas claves criptográficas en vez de nomes de usuario, escolhes que relays gardan os teus datos (ou montas o teu) e unha soa conta funciona en todas as apps de Nostr! 🔑", + "isThisPrivate": "Vouche contar a verdade 🛡️\n\n• A túa **localización GPS queda no teu dispositivo**: «Preto de min» só centra o mapa. Nunca se nos envía nin se publica.\n• **Os spots que engades son públicos** (é o sentido dun mapa compartido), así que non poñas un marcador na porta da túa casa.\n• **As mensaxes directas e os chats de crew están cifrados de extremo a extremo**: só os membros poden lelos.\n• Como calquera web, os servidores aos que te conectas (teselas do mapa, relays) poden ver o teu **IP**. Se tamén o queres ocultar, usa unha VPN ou Tor.\n\nTodos os detalles na [páxina de Privacidade](/privacy). 🛹", + "privacy": "En resumo 🛡️: o teu GPS nunca sae do dispositivo, os spots que publicas son públicos por deseño e as mensaxes directas e os chats de crew están cifrados de extremo a extremo. Os servidores aínda poden ver o teu IP (normal en calquera web); se queres, unha VPN ou Tor ocúltano. Todo o detalle na [páxina de Privacidade](/privacy).", + "amITracked": "SkateSpots non te rastrea: sen anuncios, sen perfilado analítico, sen venda de datos e sen un servidor de SkateSpots que recolla a túa localización. O teu GPS queda no dispositivo. O único que ven os servidores (teselas do mapa, relays) é o teu **IP**, igual que en calquera web. Usa unha VPN ou Tor para ocultalo. Máis na [páxina de Privacidade](/privacy). 🛡️", + "doYouTrack": "Non: sen rastrexo, sen anuncios, sen recollida de datos. O teu GPS queda no dispositivo e non hai un servidor central que te rexistre. Os servidores aos que te conectas poden ver o teu IP (como en calquera sitio); unha VPN/Tor ocúltano. Mira a [páxina de Privacidade](/privacy). 🛹", + "vpn": "Totalmente opcional, pero moi útil se queres privacidade extra 🛡️. Unha VPN oculta o teu **IP** (localización aproximada) aos servidores cos que fala SkateSpots: teselas do mapa, relays, etc. Escolle un provedor sen rexistros no que confíes (p. ex. Mullvad); evita os gratuítos dubidosos.\n\nAtención: unha VPN **non** oculta os spots que publicas (son públicos), e non actives o GPS do navegador se queres manter o anonimato. Todos os detalles na [páxina de Privacidade](/privacy).", + "tor": "O navegador Tor dache a maior privacidade de IP: pasas por varios relays para que os servidores non vexan o teu IP real 🧅. A cambio é máis lento, e os mapas e algúns relays de Nostr poden ir lentos ou bloquear as saídas de Tor. Ideal para os máis precavidos.\n\nLembra: Tor oculta o teu IP, non os spots que publicas, e non actives o GPS do navegador se o obxectivo é o anonimato. Máis na [páxina de Privacidade](/privacy).", + "hideMyIp": "Dúas opcións gratuítas 🛡️: unha **VPN de confianza** (doada e rápida: oculta o teu IP detrás dos seus servidores) ou o **navegador Tor** (máxima privacidade, máis lento). Calquera das dúas impide que os servidores aos que se conecta SkateSpots vexan o teu IP real. Ollo: non ocultan os spots que publicas. Mira a [páxina de Privacidade](/privacy).", + "isMyLocation": "A túa localización está segura 📍: «Preto de min» le o teu GPS só no dispositivo, para centrar o mapa e ordenar os spots próximos. Nunca se publica en Nostr, nunca se nos envía e nunca se comparte. Só son públicos os spots que engades a propósito. Detalles na [páxina de Privacidade](/privacy).", + "whatAreZaps": "Os zaps son propinas instantáneas en Bitcoin Lightning enviadas por Nostr! Fai clic en ⚡ en calquera contido e envía sats directamente á carteira do creador. Como un «gústame», pero con diñeiro real. Instantáneo, entre particulares e sen intermediarios. ⚡", + "howToLogin": "Dúas formas:\n1. **Extensión do navegador** (escritorio): instala Alby ou nos2x e despois fai clic en «Iniciar sesión»\n2. **Usuario novo**: fai clic en «Crear conta» para xerar as claves. Descarga o teu nsec (clave secreta) e GÁRDAO: é a túa conta para sempre!", + "whatIsCashu": "Carteira Bitcoin integrada! Tokens ecash de Cashu respaldados por Lightning: funcionan sen conexión nos spots de skate e están centrados na privacidade (as cecas non poden rastrexar os pagamentos). Vai a Carteira en Axustes para usala. 🥜", + "whatIsNwc": "Nostr Wallet Connect: como o USB-C das carteiras Lightning. Conecta Alby, Minibits, Zeus ou Coinos unha vez e fai zaps cun clic para sempre. Cifrado e con límites de gasto baixo o teu control. 🔌⚡", + "isItFree": "100% gratis. Sen anuncios, sen subscricións, sen tonterías corporativas. Feito por skaters para skaters. Financiado pola comunidade vía Angor: mira a páxina de Apoiantes. Tamén podes gañar Bitcoin cos zaps da comunidade por contribuír con spots de calidade. 🛹", + "whatCanIDo": "Descubre spots en todo o mundo no mapa, contrata profesionais no Lab (coaches, filmers, fotógrafos, editores, construtores de ramplas), pásao ben cunha crew, únete a eventos, fai xiras, compra/vende material, leva o teu Stash privado, envía zaps aos creadores, consulta o tempo dos spots e axuda a construír a comunidade de skate descentralizada!", + "whatIsTheLab": "O Lab é onde contratas profesionais da escena do skate: coaches, filmers, fotógrafos, editores de vídeo e construtores de ramplas/parks/DIY. Cada un pode ser unha persoa ou un colectivo (crew/estudio); os membros confirman coa súa propia clave, así que é lexítimo. Todo en Nostr, sen contas falsas. 🎓", + "whatIsACrew": "As crews son a túa familia de skate ancorada no mapa: a xente coa que patinas, non a que contratas. Cada crew ten territorio no mapa (marcadores turquesa), spots de referencia, membros, vibes e un manifesto. Os membros confirman coa súa propia clave. Crea unha en Crews → «Crear crew». 🤘", + "whatAreCrews": "As crews son a túa familia de skate ancorada no mapa: a xente coa que patinas, non a que contratas. Cada crew ten territorio no mapa (marcadores turquesa), spots de referencia, membros e un manifesto. Os membros confirman coa súa propia clave. Vai á pestana Crews para crear ou unirte a unha! 🤘", + "howToStartACrew": "Vai á pestana Crews → «Crear crew». Ponlle nome, sitúa o territorio no mapa, engade vibes (ou o teu propio #hashtag), vincula os teus spots de referencia e engade membros por npub. Cada membro confirma coa súa propia clave, así que o roster é lexítimo. 🤘", + "whatIsMyStash": "O meu Stash é o teu armario de material PRIVADO e cifrado (cifrado NIP-44). Leva a conta das túas táboas, eixes, rodas e zapatillas, co lugar de almacenamento, estado, rareza e prezo. Só TI podes lelo, a non ser que marques artigos como públicos. Xenial para seguros ou para planear un intercambio. 🎒", + "whatIsStash": "O meu Stash é o teu inventario de material PRIVADO e cifrado. Rexistra todo o que tes: estado, onde se garda, valor, todo cifrado para que só ti o vexas. Marca artigos como públicos se queres vendelos ou presumir deles. 🎒", + "whatIsABuilder": "Os construtores son crews de ramplas/parks/DIY no Lab que podes contratar para construír transicións, bowls, rails ou un park enteiro. Indican o que constrúen, os materiais e a escala do proxecto, e poden ter licenza e seguro. Moitas veces son colectivos, e poden vincular ao mapa os spots que construíron. 🏗️", + "whatIsANutzap": "Os nutzaps (NIP-61) son propinas ecash enviadas por Nostr: tokens Cashu privados que se envía directamente a alguén. Podes configurar a RECEPCIÓN de nutzaps na Carteira. (O envío completo de nutzaps está a despregarse; polo de agora usa zaps de Lightning.) 🥜⚡", + "whatIsClink": "CLINK é un código de pagamento nativo de Nostr (un «noffer»). Tendas, crews e profesionais do Lab poden engadir un para que lles pagues sen necesidade dun enderezo Lightning: verás un botón «Pagar vía CLINK» cun QR. Escanéao cunha carteira CLINK como ShockWallet. 🔗⚡ [especificacións](https://clinkme.dev/specs.html) [apps](https://clinkme.dev/apps.html)", + "whatIsNoffer": "Un noffer é un código de pagamento CLINK: unha forma reutilizable e nativa de Nostr de cobrar sen servidor web nin enderezo Lightning. Engade o teu no perfil da tenda/crew/Lab e a xente pode pagarche directamente. 🔗", + "whatAreTours": "As xiras son viaxes de skate guiadas: sesións locais, viaxes nacionais por estrada ou xiras de destrución mundial. Atópaas no mapa ou na sección Xiras, queda coa xente e patina por novos terreos cos locais. 🗺️🛹", + "whatIsAShop": "As tendas de skate son tendas locais listadas no mapa. Descubre e apoia tendas de skate reais (físicas ou en liña) na túa zona; algunhas ata aceptan Bitcoin. 🏪", + "howToSellGear": "Vai a Intercambio de material / Mercado e crea un anuncio (NIP-99). Engade fotos, prezo en sats, estado e, se queres, vincúlao a un spot para que apareza no mapa. Os compradores fanche un zap ou escriben directamente. 🛹💸", + "supporters": "SkateSpots finánciase pola comunidade vía Angor (financiamento colectivo descentralizado en Bitcoin): sen anuncios, sen investidores, sen venda de datos. Mira a páxina de Apoiantes para apoiar o proxecto e manter as rúas libres. ❤️⚡", + "trustScore": "As puntuacións de confianza (0-100) están impulsadas por Relatr. Analiza a túa rede de Nostr: seguidores, actividade, interacción, zaps. Máis alta = máis confianza. Axuda a filtrar bots e spam. Consulta calquera perfil para ver a súa puntuación. 🛡️", + "whatRelay": "SkateSpots usa: 🛹 relay.skate-spots.org (principal, con lista de permitidos pola calidade) + relay.ditto.pub (global) + purplepag.es (agregador de perfís). Os teus datos replícanse en todos eles por redundancia.", + "tripPlanner": "Dime unha cidade e monto unha viaxe de skate día a día 🗺️: spots, eventos, coaches e crews locais, tendo en conta o tempo (día de choiva = consello de crew para spots cubertos). Proba «pláname 3 días en Lisboa». Podo gardalo todo nunha Colección e pasarte a voos e aloxamento nas webs reais (sen KYC, sen intermediarios). 🛹", + "planATrip": "Basta con dicir «pláname 3 días en Barcelona» (ou calquera cidade) e trazo spots, sesións, coaches e crews locais para cada día. Gárdao como Colección e vai patinar. 🗺️🛹", + "sasquatchPro": "**Sasquatch Pro** 🦧⚡ é un pase de apoiente con Lightning que desbloquea a miña parte persoal:\n\n• 🧠 **Asistente persoal**: leo o teu Stash, crews, spots e anuncios\n• ✨ **Borradores de accións**: anuncia material, publica o teu estado de skate, planea viaxes (sempre confirmas antes de que se publique nada)\n• 💬 **Contexto persoal**: as miñas respostas usan os teus datos, non só resultados públicos\n• ⚡ **Apoia o proxecto**: mantés SkateSpots gratis e sen anuncios\n\nO Sasquatch gratis segue sendo gratis: a busca pública de spots/eventos/coaches/crews, o glosario e a planificación de viaxes funcionan sen Pro. Pro só engade o *persoal*. Toca **⚡ Go Pro** arriba. Niveis: 7 días ~2k sats, 1 mes ~5k, 3 meses ~12k, 1 ano ~36k.", + "proPerks": "Vantaxes Pro 🦧⚡: asistente persoal (le o teu Stash/crews/spots/anuncios), borradores de accións (anunciar material, publicar estado, planear viaxes; ti confirmas) e respostas que usan o teu contexto persoal. Ademais apoias directamente SkateSpots e mantés a app gratis e sen anuncios. O gratis segue gratis: Pro engade a capa persoal. Toca **⚡ Go Pro** arriba.", + "proVersion": "A versión Pro de min 🦧⚡ engade un **asistente persoal**: podo ler o teu Stash, crews, spots e anuncios, preparar accións por ti (anunciar material, publicar un estado, planear unha viaxe; sempre confirmas primeiro) e usar o teu contexto persoal nas respostas. Tamén apoia directamente o proxecto. O Sasquatch gratis (busca de spots/eventos/coaches/crews, glosario, planificador de viaxes) segue gratis. Toca **⚡ Go Pro** arriba.", + "perks": "Vantaxes Pro 🦧⚡: asistente persoal (o teu Stash/crews/spots/anuncios), borradores de accións que confirmas e respostas que usan o teu contexto. Ademais mantés a app gratis e sen anuncios. Toca **⚡ Go Pro** arriba.", + "goPro": "Toca o botón **⚡ Go Pro** de arriba para abrir a folla de mellora. Pro desbloquea o meu asistente persoal (Stash/crews/spots/anuncios) e os borradores de accións, e apoia directamente o proxecto. Paga con Lightning: de 7 días ~2k sats ata 1 ano ~36k sats. As funcións gratuítas seguen gratis. 🦧", + "proPricing": "Niveis Pro (paga con Lightning ⚡): **7 días** ~2.000 sats (~1,20 $), **1 mes** ~5.000 sats (~3 $), **3 meses** ~12.000 sats (~7 $, 20% de desconto), **1 ano** ~36.000 sats (~21 $, mellor valor). Toca **⚡ Go Pro** arriba.", + "howMuchIsPro": "Niveis Pro: 7 días ~2.000 sats, 1 mes ~5.000 sats, 3 meses ~12.000 sats (20% de desconto), 1 ano ~36.000 sats (mellor valor). Paga con Lightning ⚡. Toca **⚡ Go Pro** arriba.", + "upgrade": "Para pasarte a Sasquatch Pro, toca o botón **⚡ Go Pro** de arriba. Paga con Lightning (de 7 días ~2k sats ata 1 ano ~36k). Pro desbloquea o meu asistente persoal e os borradores de accións, e apoia directamente o proxecto. 🦧⚡" + }, + "statsTitle": "📊 **SkateSpots en números**", + "weatherTemp": "• {{temp}}°C (sensación {{feels}}°C)", + "weatherSkateability": "• Patinabilidade: **{{label}}** ({{score}}/100)", + "weatherError": "Agora mesmo non puiden ler o tempo. Téntao de novo nuns segundos. 🌧️", + "labelSpots": "spots", + "labelEvents": "eventos", + "labelLabPros": "profesionais do Lab", + "labelCrews": "crews", + "labelShops": "tendas de skate", + "labelTours": "xiras", + "labelGear": "anuncios de material", + "unnamed": "Sen nome", + "emptyWhere": " en **{{place}}**", + "emptyResult": "Non atopei {{label}}{{where}} agora mesmo 🦧\n\nPode que aínda non haxa ningunha listada, ou que os relays tardasen en responder. Téntao de novo nun intre, revisa a ortografía ou [engade a primeira no mapa](https://skate-spots.org/map). 🛹", + "foundTitle": "{{emoji}} Atopei **{{count}}** {{label}}:\n{{lines}}{{more}}", + "moreResults": "\n\n…e **{{count}}** máis: [vélos todos no mapa](https://skate-spots.org/map) 🗺️", + "locationDenied": "Non podo ver a túa localización: nada sae nunca do teu dispositivo; só a leo localmente cando o pides, e o navegador acaba de denegalo. Toca 🎯 **Preto de min** no mapa ou dime unha cidade: «spots en Bangkok». 🛹", + "noNearbySpots": "Aínda non hai spots no mapa preto de ti 🦧: [sé o primeiro en poñer un](https://skate-spots.org/create-spot). 🛹", + "closestTitle": "O máis próximo a ti agora mesmo:", + "closestFooter": "_Calculado no teu dispositivo: a túa localización nunca saíu del._", + "proNudge": "Iso é cousa de **Sasquatch Pro** 🦧⚡: con Pro podo ler o teu Stash, crews, spots e anuncios, redactar anuncios de material, anuncios de busca e estados de skate, e planear as túas viaxes. É un pase de apoiente con Lightning que mantén SkateSpots gratis e sen anuncios. Toca o botón **⚡ Go Pro** de arriba para desbloquealo. 🛹", + "draftingProPerk": "Redactar accións (publicar un estado, anunciar material) é unha vantaxe de **Sasquatch Pro** 🦧⚡: toca **⚡ Go Pro** arriba para desbloqueala.", + "draftIntro": "Aquí tes un borrador: revísao e toca para publicar. Nada se publica ata que confirmes. 🛹", + "draftFailed": "Non puiden montar ese borrador: cóntame os detalles outra vez (p. ex. «anuncia as miñas rodas Spitfire por 8000 sats»).", + "tripAskCity": "A onde? Dime unha cidade (p. ex. «pláname 3 días en Lisboa») e monto unha viaxe. 🗺️", + "tripEmptyMap": "Aínda non hai nada no mapa para **{{destination}}** 🦧: sé o primeiro en poñer spots en [skate-spots.org](https://skate-spots.org). Cando os locais engadan spots, crews e eventos, montarei unha viaxe completa.", + "tripLocked": "Preparei unha misión en **{{destination}}** 🛹: spots, sesións e locais abaixo. Axústa ou gárdaa.", + "tripFailed": "Agora mesmo non puiden acceder aos datos en directo para planificalo. Téntao de novo nun intre! 🛹", + "tripEmptyMapLocal": "Aínda non hai nada no mapa para **{{destination}}** 🦧: sé o primeiro en [skate-spots.org](https://skate-spots.org).", + "tripMissionLocal": "Aquí tes unha misión en **{{destination}}** 🛹: spots, sesións e locais abaixo.", + "relayFailed": "Os relays non responderon a tempo agora mesmo 🛰️: normalmente é unha conexión lenta, non un spot que falta. Proba outra vez nun intre. 🛹", + "couldNotProcess": "Mmm, non puiden procesar iso. Proba a reformulalo!", + "freeTierFallback": "Iso necesita razoamento de IA, unha función de **Sasquatch Pro** ⚡🦧\n\nAínda así podo atopar **spots, eventos, coaches, crews, tendas, xiras e material** directamente nos relays; pregúntame p. ex. «spots en Barcelona», e o [Glosario](/glossary) cobre máis de 150 trucos e termos. Toca **⚡ Go Pro** arriba para desbloquear as respostas de IA.", + "aiDownFallback": "O meu cerebro de IA está collendo aire agora mesmo 🦧, pero sigo a axudarte:\n\n• 🗺️ [Mapa](/) — spots, tendas e eventos preto de ti\n• 🧪 [O Lab](/lab) — coaches, filmers, editores\n• 📖 [Glosario](/glossary) — máis de 150 trucos e termos\n• 👥 [Crews](/crews) — atopa a túa xente\n\nOu dime unha **cidade** («spots en Barcelona») ou un **truco** («que é un nollie») e respóndoche directamente. 🛹", + "wentWrong": "Algo fallou pola miña parte. Téntao de novo nuns segundos! 🦧", + "publishError": "Non se puido publicar: {{error}}. Téntao de novo nuns segundos.", + "unknownError": "erro descoñecido" + }, + "navSheet": { + "title": "Personaliza a túa barra", + "desc": "Escolle as {{count}} pestanas que máis usas. O resto segue no menú.", + "preview": "Vista previa", + "empty": "Baleira", + "order": "Orde ({{done}}/{{total}})", + "available": "Pestanas dispoñibles", + "full": "Barra chea: quita unha para cambiar", + "moveUp": "Mover {{name}} arriba", + "moveDown": "Mover {{name}} abaixo", + "login": "Iniciar sesión", + "profile": "Perfil", + "reset": "Restablecer", + "done": "Feito" + }, + "errorsUi": { + "slammedTitle": "Batacazo", + "slammedBody": "Algo fixo fallar esta pantalla. A túa conta e os teus datos están seguros; imos poñerte en marcha outra vez.", + "tryAgain": "Tentar de novo", + "reloadApp": "Recargar app", + "pageSlammedTitle": "Esta páxina bateu", + "pageSlammedBody": "Algo nesta pantalla fallou. A túa conta e os teus datos están seguros. Normalmente, recargar abonda.", + "reload": "Recargar", + "goBack": "Volver" + }, + "desktopNav": { + "title": "Navegación de escritorio", + "desc": "Escolle que pestanas aparecen na barra superior e en que orde. As pestanas ocultas seguen no menú «Máis».", + "fixed": "Fixas", + "shownInTopBar": "Na barra superior ({{count}})", + "noExtraTabs": "Non hai pestanas extra: todo está no menú «Máis». Engade algunha abaixo.", + "inMoreMenu": "No menú «Máis» ({{count}})", + "moveUp": "Mover {{name}} arriba", + "moveDown": "Mover {{name}} abaixo", + "hide": "Ocultar {{name}}", + "moveToMore": "Mover ao menú Máis", + "show": "Mostrar", + "showInTopBar": "Mostrar {{name}} na barra superior", + "showInTopBarTitle": "Mostrar na barra superior", + "reset": "Restablecer aos valores predeterminados" + }, + "deckCostUi": { + "presetPrompt": "Ponlle nome a esta predefinición", + "presetDefaultName": "Predefinición {{n}}", + "summaryCopied": "Resumo copiado", + "couldNotCopy": "Non se puido copiar", + "resetConfirm": "Queres restablecer todo aos valores do exemplo?", + "logoTooLarge": "Logo demasiado grande (máx. 500 KB)", + "loginToFill": "Inicia sesión para encher desde o teu perfil de Nostr", + "filledFromProfile": "Datos copiados do teu perfil de Nostr", + "warnRetailBelowOne": "O recargo de venda é inferior a 1×: venderías con perdas.", + "warnWholesaleAboveRetail": "O recargo por xunto debería ser menor ca o recargo de venda.", + "warnZeroBoards": "{{count}} fila(s) usan 0 táboas: ignórase o custo desa fila.", + "warnFixedNoBoards": "Hai custos fixos mensuais pero as táboas/mes son 0, así que se ignora o custo de funcionamento.", + "warnNoMaterials": "Non hai custo de materiais: engade polo menos un material.", + "warnEquipmentOverhead": "Equipamento + gastos xerais superan o 60% do custo: este modelo asume volume alto; revisa o número de táboas.", + "warnOneBoard": "Parte do equipamento repártese sobre unha soa táboa: aumenta o seu número de táboas para amortizalo.", + "templateStarterName": "Inicio de afeccionado", + "templateStarterBlurb": "Unhas poucas filas, sen custos fixos", + "templateShopName": "Tenda pequena", + "templateShopBlurb": "Folla completa con alugueiro e gastos xerais", + "currency": "Moeda", + "noCurrencyMatches": "Ningunha moeda coincide.", + "ratesUnavailable": "Tipos de cambio en directo non dispoñibles: só se cambia a etiqueta.", + "liveRates": "tipos BTC en directo · sats incluídos", + "chipCost": "custo", + "chipSell": "venda", + "chipTotal": "total", + "startFrom": "Comeza desde", + "advancedToggleHint": "Mostra as tarifas por operación e o refugallo, a preparación do lote, os impostos e a curva de custo fronte a cantidade", + "advanced": "Avanzado", + "simple": "Simple", + "sectionLabor": "Man de obra", + "sectionEquipment": "Equipamento", + "sectionOperations": "Gastos de funcionamento", + "sectionMaterials": "Materiais", + "sectionProcesses": "Custos de proceso", + "sectionPackaging": "Embalaxe", + "sectionMargins": "Marxes", + "subtotalLoaded": "{{value}}/h cargado", + "subtotalPerBoard": "{{value}}/táboa", + "hourlyRate": "Tarifa por hora ({{unit}})", + "labourBurden": "Carga laboral (×)", + "loadedRate": "Tarifa cargada", + "loadedRateHintBefore": "Tarifa cargada = salario × carga (impostos e seguros do empregador sobre a man de obra). O alugueiro e as facturas van en ", + "loadedRateHintAfter": " — non os contes dúas veces.", + "colEquipment": "Equipamento", + "colCostUnit": "Custo ({{unit}})", + "colCost": "Custo", + "colSetupH": "Preparación (h)", + "colLifetimeBoards": "Táboas de vida útil", + "colPerBoard": "Por táboa", + "colMaterial": "Material", + "colOrderUnit": "Pedido ({{unit}})", + "colShipUnit": "Envío ({{unit}})", + "colBoardsOrder": "Táboas / pedido", + "colOrderM": "Pedido (m)", + "colUnloadM": "Descarga (m)", + "colOrder": "Pedido", + "colShipping": "Envío", + "colOrderMin": "Pedido (min)", + "colUnloadMin": "Descarga (min)", + "colProcess": "Proceso", + "colTimeM": "Tempo (m)", + "colBoardsRun": "Táboas / tirada", + "colRateHr": "Tarifa/h (0 = taller)", + "colRateHrShort": "Tarifa/h", + "colScrapPct": "% refugallo", + "colTimeMin": "Tempo (min)", + "colPackaging": "Embalaxe", + "colTimeBoardM": "Tempo/táboa (m)", + "colTimeBoardMin": "Tempo/táboa (min)", + "colMaterialsBoardUnit": "Materiais/táboa ({{unit}})", + "colMaterialsBoard": "Materiais/táboa", + "equipmentPerBoard": "Equipamento por táboa:", + "materialsPerBoard": "Materiais por táboa:", + "processesPerBoard": "Procesos por táboa:", + "packagingPerBoard": "Embalaxe por táboa:", + "perBoard": "Por táboa:", + "addEquipment": "Engadir equipamento", + "addMaterial": "Engadir material", + "addProcess": "Engadir proceso", + "addPackagingStep": "Engadir paso de embalaxe", + "duplicate": "Duplicar", + "remove": "Quitar", + "boardsPerMonth": "Táboas / mes", + "rentPerMonth": "Alugueiro / mes", + "utilitiesPerMonth": "Subministracións / mes", + "subscriptionsPerMonth": "Subscricións / mes", + "markup": "Recargo (×)", + "wholesaleMarkup": "Recargo por xunto (×)", + "scrapWaste": "Refugallo / desperdicio (%)", + "quantityDecks": "Cantidade (táboas)", + "targetMonthlyProfit": "Beneficio mensual obxectivo ({{unit}})", + "costNoPackaging": "Custo / táboa (sen embalaxe)", + "costWithPackaging": "Custo / táboa (con embalaxe)", + "batchSetupHours": "Preparación do lote (h / tirada)", + "batchSetupCost": "Custo de preparación do lote ({{unit}} / tirada)", + "taxVat": "Imposto / IVE (%)", + "quoteTax": "Imposto no orzamento", + "includedInPrice": "Incluído no prezo", + "addedOnTop": "Engadido por riba", + "setupPerBoard": "Preparación / táboa", + "marginNoteBefore": "Recargo {{markup}}× ≈ ", + "grossMargin": "{{pct}}% de marxe bruta", + "marginNoteAfter": " · o refugallo do {{waste}}% repártese entre as táboas boas.", + "sellingPriceNoPackaging": "Prezo de venda · sen embalaxe", + "sellingPriceWithPackaging": "Prezo de venda · con embalaxe", + "profitPerDeck": "Beneficio / táboa", + "wholesalePerDeck": "Por xunto / táboa", + "orderTotalQty": "Total do pedido ({{qty}})", + "orderTotal": "Total do pedido", + "breakeven": "Punto de equilibrio", + "breakevenPerMonth": "{{count}}/mes", + "targetDecksHint": "Para acadar {{amount}}/mes por riba dos custos fixos, vende {{decks}} táboas/mes.", + "priceIncludesTax": "O prezo inclúe un {{pct}}% de imposto: {{amount}} do total.", + "plusTax": "Máis un {{pct}}% de imposto: {{amount}} → {{total}} en total.", + "costVsQuantity": "Custo fronte a cantidade (preparación amortizada)", + "deckOne": "táboa", + "deckOther": "táboas", + "perDeckSuffix": "/ táboa", + "orderSuffix": "pedido {{amount}}", + "shippingNotIncluded": "Non inclúe o envío ao comprador.", + "clientQuoteDetails": "Datos do orzamento ao cliente (para o PDF)", + "fillFromProfileTitle": "Enche o nome, a web, o NIP-05, Lightning e o npub desde o teu perfil de Nostr", + "fillFromProfile": "Encher desde o perfil", + "businessName": "Nome da empresa / tenda", + "email": "Correo", + "phone": "Teléfono", + "website": "Web", + "address": "Enderezo", + "quoteNumber": "Orzamento n.º", + "nextNumber": "Número seguinte", + "validDays": "Validez (días)", + "nip05": "NIP-05", + "lightningAddress": "Enderezo Lightning", + "nostrNpub": "Nostr (npub)", + "depositPct": "Sinal por adiantado (%)", + "deliveryTerms": "Condicións de entrega (Incoterm, opcional)", + "paymentMethods": "Métodos de pagamento", + "paymentTerms": "Condicións de pagamento", + "paymentDetails": "Detalles de pagamento", + "notesTerms": "Notas / condicións", + "changeLogo": "Cambiar logo", + "addLogo": "Engadir logo", + "incotermNone": "Ningún", + "incotermExw": "EXW — recollida no vendedor", + "incotermFca": "FCA — entregado ao transportista do comprador", + "incotermDap": "DAP — entregado no enderezo do comprador", + "incotermDdp": "DDP — entregado con dereitos pagados", + "payMethodCash": "Efectivo", + "payMethodLightning": "Lightning", + "payMethodCashu": "Cashu", + "payMethodBank": "Transferencia bancaria", + "payMethodCard": "Tarxeta", + "payMethodOther": "Outro", + "listDeckAtPrice": "Anunciar unha táboa a este prezo", + "getItMade": "Encárgaa: atopa un construtor", + "savePreset": "Gardar predefinición", + "load": "Cargar", + "export": "Exportar", + "import": "Importar", + "reset": "Restablecer", + "deletePreset": "Eliminar predefinición", + "exportPdfFull": "PDF — folla completa", + "exportPdfQuote": "PDF — orzamento ao cliente", + "exportPng": "Imaxe PNG", + "exportXlsx": "Libro XLSX", + "exportCsv": "CSV (folla de cálculo)", + "exportMarkdown": "Markdown", + "exportJson": "JSON (copia de seguridade)", + "exportCopySummary": "Copiar resumo" + }, + "becomeRolesUi": { + "artist": { + "seoTitle": "Sé deseñador / artista - SkateSpots", + "seoDescription": "Anuncia o teu deseño e arte de skate: gráficos de táboa, logos, carteis, merch e moito máis.", + "heading": "Deseñador / artista", + "tagline": "Gráficos de táboa, logos, carteis, merch: pon a túa arte na escena", + "noun": "artista", + "rateLabel": "Tarifa", + "portfolioLabel": "Portafolio / ligazón á tenda", + "sectionWhatYouMake": "O que fas", + "sectionMedium": "Soporte", + "sectionSoftwareTools": "Software e ferramentas", + "deliverablesPlaceholder": "p. ex. ficheiros listos para imprimir, ficheiros fonte, gráficos de táboa", + "turnaroundPlaceholder": "p. ex. 3–5 días" + }, + "graffiti": { + "seoTitle": "Ofrece graffiti / murais - SkateSpots", + "seoDescription": "Anuncia o teu traballo de graffiti e murais: pezas, murais, arte en skateparks e moito máis.", + "heading": "Artista de graffiti / murais", + "tagline": "Pezas, murais, arte en skateparks: pinta a escena", + "noun": "artista de graffiti", + "rateLabel": "Tarifa", + "portfolioLabel": "Ligazón ao portafolio (IG, web)", + "sectionStyle": "Estilo", + "sectionMedium": "Soporte", + "sectionWorkContext": "Contexto de traballo", + "crewLabel": "Crew de graffiti", + "crewPlaceholder": "A túa crew de escritura (opcional)", + "crewHelper": "Á parte da túa crew de skate: os escritores cos que pintas.", + "surfacesPlaceholder": "p. ex. formigón, ladrillo, muros con permiso", + "maxSizePlaceholder": "p. ex. ata 10 m" + }, + "musician": { + "seoTitle": "Engade un perfil musical - SkateSpots", + "seoDescription": "Patinas e fas música? Anuncia o teu grupo ou proxecto en solitario: xéneros, instrumentos e ligazóns.", + "heading": "Músico / grupo", + "tagline": "Patinas e fas música? Que te contraten para demos, jams e after-parties", + "noun": "músico", + "rateLabel": "Tarifa de contratación", + "portfolioLabel": "Web / ligazón ao EPK", + "sectionGenre": "Xénero", + "sectionInstruments": "Instrumentos e rol", + "actLabel": "Tipo de actuación", + "actPlaceholder": "solo / grupo / dj / produtor", + "spotifyLabel": "Spotify", + "spotifyPlaceholder": "https://open.spotify.com/…", + "bandcampLabel": "Bandcamp", + "bandcampPlaceholder": "https://…bandcamp.com", + "soundcloudLabel": "SoundCloud", + "soundcloudPlaceholder": "https://soundcloud.com/…", + "youtubeLabel": "YouTube", + "youtubePlaceholder": "https://youtube.com/…", + "setLengthPlaceholder": "p. ex. 30–45 min", + "techRiderPlaceholder": "p. ex. PA, micrófonos, backline" + }, + "judge": { + "seoTitle": "Xulga eventos de skate - SkateSpots", + "seoDescription": "Anúnciate como xuíz de eventos de skate: Game of S.K.A.T.E., best trick jams, concursos, series amateur e paradas do circuíto mundial. Que te contraten para eventos xustos e cribles.", + "heading": "Xuíz de eventos de skate", + "tagline": "Desde o Game of S.K.A.T.E. en chan ata o World Destruction Tour: xúlgao con xustiza e rigor", + "noun": "xuíz", + "rateLabel": "Tarifa diaria / honorarios", + "portfolioLabel": "Arquivo de resultados / ligazón ao perfil", + "sectionEventFormats": "Formatos de evento", + "sectionSpecialty": "Especialidade", + "sectionLevelCircuit": "Nivel / circuíto", + "eventsJudgedLabel": "Eventos xulgados", + "eventsJudgedPlaceholder": "p. ex. máis de 40 concursos, 3 paradas do circuíto mundial", + "eventsJudgedHelper": "Eventos, competicións ou xiras destacadas nas que xulgaches.", + "travelPlaceholder": "p. ex. rexional / nacional / internacional", + "certificationsPlaceholder": "p. ex. curso nacional de xuíces" + }, + "organizer": { + "seoTitle": "Organiza eventos de skate - SkateSpots", + "seoDescription": "Anúnciate como organizador de eventos de skate: quedadas na rúa, best trick, concursos, encontros, demos e paradas de xira. Que te descubran e contraten para levar a sesión.", + "heading": "Organizador de eventos", + "tagline": "Quedadas, concursos, encontros e demos: monta a sesión e xunta a escena", + "noun": "organizador", + "rateLabel": "Tarifa / orzamento do evento", + "portfolioLabel": "Eventos anteriores / ligazón a resultados", + "sectionEventTypes": "Tipos de evento", + "sectionWhatYouHandle": "Do que te encargas", + "sectionScale": "Escala", + "eventsHostedLabel": "Eventos organizados", + "eventsHostedPlaceholder": "p. ex. 25 quedadas, 3 concursos na cidade", + "eventsHostedHelper": "Eventos, competicións ou encontros destacados que organizaches.", + "insurancePlaceholder": "p. ex. responsabilidade civil incluída", + "permitsPlaceholder": "p. ex. permisos municipais xestionados" + }, + "tattoo": { + "seoTitle": "Sé tatuador - SkateSpots", + "seoDescription": "Anuncia o teu traballo de tatuaxe para a escena do skate: estilos, flash, personalizado e moito máis.", + "heading": "Tatuador", + "tagline": "Tinta para a escena: flash, personalizado, liña fina e máis", + "noun": "tatuador", + "rateLabel": "Tarifa / por hora", + "portfolioLabel": "Ligazón ao portafolio (IG, web)", + "sectionStyles": "Estilos", + "sectionMethod": "Método", + "studioLabel": "Estudio / tenda", + "studioPlaceholder": "Nome do estudio (opcional)", + "booksOpenLabel": "Axenda aberta", + "booksOpenHelper": "Estás a coller reservas agora mesmo?", + "depositPlaceholder": "p. ex. 50 EUR non reembolsables", + "minimumPlaceholder": "p. ex. 80 EUR" + }, + "trainer": { + "seoTitle": "Sé adestrador / fisio - SkateSpots", + "seoDescription": "Axuda aos skaters a gañar forza e manterse sans: forza, mobilidade, prevención de lesións e recuperación.", + "heading": "Adestrador / fisio", + "tagline": "Forza, mobilidade, prevención de lesións e recuperación para skaters", + "noun": "adestrador", + "rateLabel": "Tarifa / sesión", + "portfolioLabel": "Perfil / ligazón de reserva", + "sectionFocus": "Enfoque", + "sectionInjuries": "Lesións coas que traballas", + "sectionCredentialsSetting": "Titulacións e contorno", + "credentialsPlaceholder": "p. ex. Grao en Fisioterapia, CSCS…", + "credentialsHelper": "Indica titulacións reais: os skaters confían en credenciais verificables.", + "remoteLabel": "Remoto / en liña", + "remoteHelper": "Ofreces coaching ou consultas en liña?", + "modalitiesPlaceholder": "p. ex. manuais, forza e acondicionamento, punción seca" + }, + "barber": { + "seoTitle": "Sé barbeiro / perruqueiro - SkateSpots", + "seoDescription": "Anuncia a túa barbería ou cadeira para a escena do skate: cortes, degradados, arranxo de barba, color e moito máis. Que os skaters te reserven.", + "heading": "Barbeiro / perruqueiro", + "tagline": "Cortes, degradados e barba para a escena: cadeira na tenda ou a domicilio", + "noun": "barbeiro", + "rateLabel": "Prezo / corte", + "portfolioLabel": "Galería de cortes / ligazón a IG", + "sectionWhatYouOffer": "O que ofreces", + "sectionSignatureStyles": "Estilos característicos", + "sectionSetting": "Contorno", + "studioLabel": "Tenda / estudio", + "studioPlaceholder": "Nome da tenda ou estudio (opcional)", + "booksOpenLabel": "Axenda aberta", + "booksOpenHelper": "Estás a coller reservas agora mesmo?", + "durationPlaceholder": "p. ex. 30–45 min" + }, + "clothing": { + "seoTitle": "Sé deseñador de roupa - SkateSpots", + "seoDescription": "Roupa personalizada, equipacións de equipo e vestimenta para a escena.", + "heading": "Deseñador de roupa", + "tagline": "Roupa personalizada, equipacións de equipo e vestimenta para a escena", + "noun": "deseñador de roupa", + "rateLabel": "Tarifa", + "portfolioLabel": "Ligazón á tenda / portafolio", + "sectionWhatYouMake": "O que fas", + "sectionHowYouMake": "Como o fas", + "sectionMaterials": "Materiais", + "minimumPlaceholder": "p. ex. 10 pezas", + "turnaroundPlaceholder": "p. ex. 2-3 semanas", + "sizingPlaceholder": "p. ex. XS-3XL / feito a medida", + "samplesHelper": "Ofreces mostras ou prototipos antes dunha produción completa?", + "customizationPlaceholder": "p. ex. nomes, números, gráficos" + } + }, + "skaterLabelsUi": { + "stance": { + "regular": "Regular", + "goofy": "Goofy" + }, + "style": { + "street": "Rúa", + "park": "Park", + "vert": "Vert", + "transition": "Transición", + "bowl": "Bowl", + "cruising": "Paseo", + "downhill": "Descenso", + "freestyle": "Freestyle", + "ledges": "Bordillos", + "stairs": "Escaleiras", + "diy": "DIY" + }, + "level": { + "grom": "Grom", + "intermediate": "Intermedio", + "advanced": "Avanzado", + "ripper": "Ripper" + }, + "sponsor": { + "title": "Patrocinador principal", + "gold": "Ouro", + "silver": "Prata", + "partner": "Colaborador" + } + }, + "legacyMiscUi": { + "hostingGoing": "{{count}} van", + "hostingInterested": "{{count}} con interese", + "hostingPostUpdate": "Publicar novidade", + "hostingEdit": "Editar", + "hostingLoginToSee": "Inicia sesión para ver os eventos que organizas.", + "hostingEmptyTitle": "Aínda non organizas nada", + "hostingEmptyBody": "Monta unha quedada, un concurso ou unha sesión. Crea un evento e os skaters poderán confirmar, recibir novidades e pasarse.", + "hostingCreateEvent": "Crear un evento", + "hostingUpcoming": "Próximos · {{count}}", + "hostingPast": "Pasados · {{count}}", + "sponsorPartners": "Colaboradores", + "sponsorTitleSponsor": "Patrocinador principal", + "sponsorPlatformPartners": "Colaboradores da plataforma", + "reportsUntitled": "(sen título)", + "reportsResolveFailed": "Non se puido resolver o evento denunciado (pode que se eliminase ou que a denuncia apunte a un perfil en vez de a unha publicación).", + "reportsLookAtIt": "Botalle un ollo", + "reportsNoReports": "Aínda non hai denuncias. Ou todo está ben ou ninguén atopou o botón.", + "statusSetYourStatus": "Define o teu estado", + "statusSetDesc": "Cóntalles aos demais que estás a facer. O teu estado verase no teu perfil e nos spots vinculados.", + "statusClear": "Borrar", + "statusOrWriteOwn": "Ou escribe o teu", + "statusCustomPlaceholder": "Que estás a facer?", + "statusLinkToSpot": "Vincular a un spot (opcional)", + "statusSpotSelected": "Spot seleccionado", + "statusSearchSpots": "Buscar spots...", + "statusNoSpotsFound": "Non se atoparon spots.", + "statusSelectSpot": "Selecciona un spot", + "statusAutoClearAfter": "Borrarse automaticamente despois de: {{time}}", + "statusExpMin": "{{count}} min", + "statusExpOneHour": "1 hora", + "statusExpHours": "{{count}} horas", + "statusExpOneDay": "1 día", + "statusExpDays": "{{count}} días", + "statusSlider15": "15 min", + "statusSlider1h": "1 h", + "statusSlider4h": "4 h", + "statusSlider24h": "24 h", + "statusSetting": "Definindo o estado...", + "statusSet": "Definir estado", + "statusSomethingWrong": "Algo foi mal", + "seoProfileTitle": "Perfil - SkateSpots", + "seoViewProfile": "Ver perfil.", + "bannerAlt": "Banner", + "openInCordn": "Abrir en Cordn", + "modHelp": "Ocultar publica org.skatespots.moderation / hidden; Confirmar publica … / verified; Desfacer publica … / cleared (de volta a neutro). As tres son etiquetas públicas e reversibles: nunca se elimina nada dos relays.", + "zapNoActiveMint": "Non se atopou ningunha ceca Cashu activa.", + "altProfile": "Perfil", + "altCardPreview": "Vista previa da tarxeta", + "altCard": "Tarxeta", + "altCaptured": "Capturado", + "ariaPrevPhoto": "Foto anterior", + "ariaNextPhoto": "Foto seguinte", + "ariaCommentOptions": "Opcións do comentario", + "ariaMessageConversation": "Conversa", + "exportTitle": "SkateSpots — Calculadora de custos da táboa", + "exportQuoteTitle": "ORZAMENTO", + "exportPngTitle": "Custo da táboa", + "exportMarkdownTitle": "Calculadora de custos da táboa", + "exportSectionLabor": "Man de obra", + "exportSectionEquipment": "Equipamento", + "exportSectionOperations": "Gastos de funcionamento", + "exportSectionMaterials": "Materiais", + "exportSectionProcesses": "Custos de proceso", + "exportSectionPackaging": "Embalaxe", + "exportSectionResult": "Resultado", + "exportLabelOperations": "Funcionamento", + "exportLabelProcesses": "Procesos", + "exportKvHourlyRate": "Tarifa por hora", + "exportKvLabourBurden": "Carga laboral", + "exportKvLoadedRate": "Tarifa cargada", + "exportKvEquipmentPerBoard": "Equipamento por táboa", + "exportKvBoardsPerMonth": "Táboas / mes", + "exportKvRentPerMonth": "Alugueiro / mes", + "exportKvUtilitiesPerMonth": "Subministracións / mes", + "exportKvSubscriptionsPerMonth": "Subscricións / mes", + "exportKvPerBoard": "Por táboa", + "exportKvMaterialsPerBoard": "Materiais por táboa", + "exportKvProcessesPerBoard": "Procesos por táboa", + "exportKvPackagingPerBoard": "Embalaxe por táboa", + "exportKvMarkup": "Recargo", + "exportMarkupValue": "{{markup}}× (≈ {{pct}}% de marxe bruta)", + "exportKvWasteEffective": "Refugallo (efectivo)", + "exportKvCostNoPack": "Custo / táboa (sen embalaxe)", + "exportKvCostWithPack": "Custo / táboa (con embalaxe)", + "exportKvBatchSetupPerBoard": "Preparación do lote / táboa", + "exportKvTax": "Imposto ({{pct}}%)", + "exportKvTaxIncluded": "Imposto ({{pct}}%, incluído)", + "exportKvSellingNoPack": "Prezo de venda (sen embalaxe)", + "exportKvSellingWithPack": "Prezo de venda (con embalaxe)", + "exportShippingNote": "Non inclúe o envío ao comprador.", + "exportGeneratedBy": "Xerado por SkateSpots · skate-spots.org", + "exportGeneratedWith": "Xerado con SkateSpots · skate-spots.org", + "exportDetailSetup": "+ {{hours}} h de preparación", + "exportDetailBoards": "{{boards}} táboas", + "exportDetailShip": "+ {{amount}} de envío", + "exportDetailMinutes": "{{minutes}} min", + "exportDetailPerBoards": "/ {{boards}} táboas", + "exportDetailScrap": "{{pct}}% de refugallo", + "exportDetailMaterials": "{{materials}} materiais", + "exportQuoteRef": "Ref. {{ref}}", + "exportQuoteLineItem": "Táboa de skate personalizada", + "exportQuoteLineItemQty": "Táboa de skate personalizada × {{qty}}", + "exportQuoteLineDesc": "Feita á man, acabada e embalada. Cantidade 1.", + "exportQuoteLineDescQty": "Feita á man, acabada e embalada. {{price}} cada unha.", + "exportQuoteSubtotal": "Subtotal", + "exportQuoteSubtotalQty": "Subtotal ({{qty}} táboas)", + "exportQuoteTax": "Imposto / IVE ({{pct}}%)", + "exportQuoteTotal": "Total", + "exportQuoteTotalQty": "Total ({{qty}} táboas)", + "exportQuoteIncludesTax": "Inclúe un {{pct}}% de imposto ({{amount}})", + "exportQuoteDeposit": "Sinal a pagar agora ({{pct}}%)", + "exportQuoteBalance": "Resto ao rematar", + "exportQuotePayment": "Pagamento: {{value}}", + "exportQuoteLightning": "Lightning: {{value}}", + "exportQuoteDetails": "Detalles: {{value}}", + "exportQuoteTerms": "Condicións: {{value}}", + "exportQuoteDelivery": "Entrega: {{value}}", + "exportQuoteValidUntil": "Non inclúe o envío. Orzamento válido ata o {{date}}.", + "exportPngSellingWith": "PREZO DE VENDA · CON EMBALAXE", + "exportPngSellingNo": "PREZO DE VENDA · SEN EMBALAXE", + "exportPngCostWith": "CUSTO / TÁBOA (CON EMBALAXE)", + "exportPngDeposit": "Sinal {{pct}}%: {{amount}}", + "exportXlsxSummary": "Resumo", + "exportXlsxCurrency": "Moeda", + "exportXlsxDate": "Data", + "exportXlsxOperationsPerBoard": "Funcionamento por táboa", + "exportColCost": "Custo", + "exportColSetupH": "Preparación (h)", + "exportColBoards": "Táboas", + "exportColPerBoard": "Por táboa", + "exportColMaterial": "Material", + "exportColOrderCost": "Custo do pedido", + "exportColShipping": "Envío", + "exportColOrderMin": "Pedido (min)", + "exportColUnloadMin": "Descarga (min)", + "exportColProcess": "Proceso", + "exportColTimeMin": "Tempo (min)", + "exportColTimeBoardMin": "Tempo/táboa (min)", + "exportColMaterialsBoard": "Materiais/táboa", + "exportCopyTitle": "Custo da táboa — {{currency}}", + "exportCopyCostWith": "Custo / táboa (con embalaxe): {{amount}}", + "exportCopySellingNo": "Prezo de venda (sen embalaxe): {{amount}}", + "exportCopySellingWith": "Prezo de venda (con embalaxe): {{amount}}", + "exportCopyBreakdown": "Equipamento {{equipment}} · Funcionamento {{operations}} · Materiais {{materials}} · Procesos {{processes}} · Embalaxe {{packaging}}", + "exportMdHourlyRate": "Tarifa por hora: {{value}}", + "exportMdLabourBurden": "Carga laboral: {{value}}", + "exportMdLoadedRate": "Tarifa cargada: {{value}}", + "exportMdBoardsPerMonth": "Táboas/mes: {{value}}", + "exportMdRent": "Alugueiro: {{value}}", + "exportMdUtilities": "Subministracións: {{value}}", + "exportMdSubscriptions": "Subscricións: {{value}}", + "exportMdPerBoard": "Por táboa: {{value}}", + "exportMdMarkupWaste": "Recargo: {{markup}}× (≈ {{pct}}% de marxe bruta) · Refugallo: {{waste}}%", + "exportMdCostNoPack": "Custo/táboa (sen embalaxe): {{value}}", + "exportMdCostWithPack": "Custo/táboa (con embalaxe): {{value}}", + "exportMdBatchSetup": "Preparación do lote/táboa: {{value}}", + "exportMdSellingNo": "Prezo de venda (sen embalaxe): {{value}}", + "exportMdSellingWith": "Prezo de venda (con embalaxe): {{value}}", + "exportMdDisclaimer": "Non inclúe o envío ao comprador. Xerado por SkateSpots." + } +}; + + +export default batch7; diff --git a/src/i18n/gl/drift.ts b/src/i18n/gl/drift.ts new file mode 100644 index 0000000..985ce90 --- /dev/null +++ b/src/i18n/gl/drift.ts @@ -0,0 +1,9 @@ +/** + * Post-translation corrections for gl. + * + * Add keys here when a batch translation needs fixing without editing the + * generated batch files. Values must also exist in `en`. + */ +const drift = {}; + +export default drift; diff --git a/src/i18n/gl/index.ts b/src/i18n/gl/index.ts new file mode 100644 index 0000000..9cc73c4 --- /dev/null +++ b/src/i18n/gl/index.ts @@ -0,0 +1,24 @@ +import batch1 from './batch1'; +import batch2 from './batch2'; +import batch3 from './batch3'; +import batch4 from './batch4'; +import batch5 from './batch5'; +import batch6 from './batch6'; +import batch7 from './batch7'; +import drift from './drift'; +import { deepMerge } from '../deepMerge'; + +const gl = deepMerge( + { + ...batch1, + ...batch2, + ...batch3, + ...batch4, + ...batch5, + ...batch6, + ...batch7, + }, + drift, +); + +export default gl; diff --git a/src/lib/dateFnsI18n.ts b/src/lib/dateFnsI18n.ts index 815365b..d824a75 100644 --- a/src/lib/dateFnsI18n.ts +++ b/src/lib/dateFnsI18n.ts @@ -22,6 +22,9 @@ import { import { enUS, es as esLocale, + ca as caLocale, + eu as euLocale, + gl as glLocale, th as thLocale, ja as jaLocale, ptBR as ptLocale, @@ -54,6 +57,15 @@ export function setDateLocale(language: Language): void { if (language === 'es') { activeLocale = esLocale; activeCode = 'es-ES'; + } else if (language === 'ca') { + activeLocale = caLocale; + activeCode = 'ca-ES'; + } else if (language === 'eu') { + activeLocale = euLocale; + activeCode = 'eu-ES'; + } else if (language === 'gl') { + activeLocale = glLocale; + activeCode = 'gl-ES'; } else if (language === 'th') { activeLocale = thLocale; activeCode = 'th-TH';