1494 lines
64 KiB
TypeScript
1494 lines
64 KiB
TypeScript
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",
|
|
dmsUnread: "{{count}} mensaxe(s) cifrado(s) novo(s)",
|
|
messagesAndCrews: "Mensaxes e chats de crew",
|
|
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",
|
|
privateRooms: "Salas privadas",
|
|
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;
|