294 lines
11 KiB
TypeScript
294 lines
11 KiB
TypeScript
/**
|
|
* Spanish dictionary.
|
|
*
|
|
* Typed as `Dictionary` (derived from `en.ts`), so a key added to English but
|
|
* forgotten here fails the type-check rather than falling through to English
|
|
* at runtime.
|
|
*/
|
|
|
|
import type { Dictionary } from '../index';
|
|
|
|
const plural = (n: number, one: string, other: string) => `${n} ${n === 1 ? one : other}`;
|
|
|
|
export const es: Dictionary = {
|
|
dateLocale: 'es-ES',
|
|
|
|
nav: {
|
|
home: 'Inicio',
|
|
about: 'Sobre mí',
|
|
map: 'Mapa',
|
|
journal: 'Diario',
|
|
skipToContent: 'Saltar al contenido',
|
|
mainNavAria: 'Navegación principal',
|
|
heroNavAria: 'Secciones',
|
|
openMenu: 'Abrir menú',
|
|
closeMenu: 'Cerrar menú',
|
|
},
|
|
|
|
common: {
|
|
backTo: (label: string) => `Volver a ${label}`,
|
|
backToGallery: 'Volver a la galería',
|
|
backToJournal: 'Volver al diario',
|
|
email: 'Correo electrónico',
|
|
website: 'Sitio web',
|
|
home: 'Inicio',
|
|
photos: (n: number) => plural(n, 'foto', 'fotos'),
|
|
albums: (n: number) => plural(n, 'álbum', 'álbumes'),
|
|
collections: (n: number) => plural(n, 'colección', 'colecciones'),
|
|
prevAlbum: 'Álbum anterior',
|
|
nextAlbum: 'Álbum siguiente',
|
|
prevAlbumAria: (name: string) => `Álbum anterior: ${name}`,
|
|
nextAlbumAria: (name: string) => `Álbum siguiente: ${name}`,
|
|
albumNavAria: 'Navegación entre álbumes',
|
|
prevEntry: 'Entrada anterior',
|
|
nextEntry: 'Entrada siguiente',
|
|
prevEntryAria: (title: string) => `Entrada anterior: ${title}`,
|
|
nextEntryAria: (title: string) => `Entrada siguiente: ${title}`,
|
|
entryNavAria: 'Navegación entre entradas del diario',
|
|
loadingGallery: 'Cargando la galería',
|
|
gallery: 'Galería',
|
|
loadingPhotos: 'Cargando fotos',
|
|
downloadAlbum: 'Descargar álbum',
|
|
},
|
|
|
|
home: {
|
|
enter: 'Entrar',
|
|
pauseSlideshow: 'Pausar la presentación',
|
|
playSlideshow: 'Reproducir la presentación',
|
|
},
|
|
|
|
error: {
|
|
notFoundTitle: 'No encontrado',
|
|
notFoundText: 'Esta página no existe o el álbum ya no está publicado.',
|
|
errorTitle: 'Algo ha salido mal',
|
|
errorText:
|
|
'No se ha podido cargar esta página. Suele ser algo temporal: inténtalo de nuevo en un momento.',
|
|
tryAgain: 'Reintentar',
|
|
reference: (digest: string) => `Referencia: ${digest}`,
|
|
},
|
|
|
|
download: {
|
|
unavailableTitle: 'Descarga no disponible',
|
|
notAvailable: 'Esta descarga no está disponible.',
|
|
rateLimited: 'Demasiadas solicitudes de descarga. Espera un momento y vuelve a intentarlo.',
|
|
immichUnavailable:
|
|
'La fototeca no está disponible en este momento. Vuelve a intentarlo en breve.',
|
|
back: 'Volver a la galería',
|
|
limitReached: 'Se ha alcanzado el límite de descargas de este enlace.',
|
|
},
|
|
|
|
theme: {
|
|
switchToLight: 'Cambiar a modo claro',
|
|
switchToDark: 'Cambiar a modo oscuro',
|
|
scrollToTop: 'Volver arriba',
|
|
},
|
|
|
|
password: {
|
|
subtitle: 'Esta galería está protegida con contraseña.',
|
|
siteSubtitle: 'Este sitio está protegido con contraseña.',
|
|
pageSubtitle: 'Esta página está protegida con contraseña.',
|
|
journalSubtitle: 'Esta entrada del diario está protegida con contraseña.',
|
|
protectedPage: 'Página protegida',
|
|
placeholder: 'Introduce la contraseña',
|
|
submit: 'Entrar',
|
|
verifying: 'Verificando…',
|
|
incorrect: 'Contraseña incorrecta. Inténtalo de nuevo.',
|
|
failed: 'No se ha podido verificar la contraseña. Inténtalo más tarde.',
|
|
tooManyAttempts: (seconds: number | null) =>
|
|
seconds
|
|
? `Demasiados intentos. Inténtalo de nuevo en ${seconds} ${seconds === 1 ? 'segundo' : 'segundos'}.`
|
|
: 'Demasiados intentos. Inténtalo más tarde.',
|
|
legalNavAria: 'Información legal',
|
|
},
|
|
|
|
about: {
|
|
kicker: 'Sobre mí',
|
|
title: 'Sobre mí',
|
|
metaTitle: (name: string) => `Sobre mí — ${name}`,
|
|
portraitAlt: 'Retrato',
|
|
gear: 'Equipo',
|
|
},
|
|
|
|
map: {
|
|
title: 'Mapa',
|
|
kicker: 'Dónde',
|
|
subtitle: 'Dónde se tomaron las fotos',
|
|
loading: 'Cargando el mapa…',
|
|
loadFailed: (status: number) => `No se pudieron cargar los datos del mapa (${status})`,
|
|
initFailed: 'No se pudo inicializar el mapa',
|
|
zoomIn: 'Acercar',
|
|
zoomOut: 'Alejar',
|
|
leafletTitle: 'Una biblioteca de JavaScript para mapas interactivos',
|
|
},
|
|
|
|
subpage: {
|
|
collectionKicker: (index: string) => `${index} — Colección`,
|
|
sectionsNav: 'Secciones',
|
|
coverAria: (albumName: string, count: string) => `${albumName}, ${count}`,
|
|
nextSubpage: 'Siguiente',
|
|
nextSubpageAria: (name: string) => `Siguiente: ${name}`,
|
|
},
|
|
|
|
journal: {
|
|
title: 'Diario',
|
|
kicker: 'Historias y ensayos',
|
|
subtitle: 'Ensayos fotográficos, historias visuales y notas de campo.',
|
|
entryDescription: 'Entrada del diario',
|
|
empty: 'Todavía no hay entradas publicadas.',
|
|
readStory: 'Leer historia →',
|
|
minRead: (n: number) => `${n} min de lectura`,
|
|
draft: 'Borrador',
|
|
by: (author: string) => `por ${author}`,
|
|
notFound: 'No encontrado',
|
|
},
|
|
|
|
lightbox: {
|
|
viewer: 'Visor de imágenes',
|
|
position: (n: number, total: number) => `Foto ${n} de ${total}`,
|
|
openPhoto: (n: number) => `Ver foto ${n}`,
|
|
close: 'Cerrar',
|
|
closeTitle: 'Cerrar (Esc)',
|
|
previous: 'Foto anterior',
|
|
previousTitle: 'Foto anterior (flecha izquierda)',
|
|
next: 'Foto siguiente',
|
|
nextTitle: 'Foto siguiente (flecha derecha)',
|
|
toggleInfo: 'Mostrar/ocultar información',
|
|
toggleInfoTitle: 'Mostrar/ocultar información (i)',
|
|
hideInfo: 'Ocultar info',
|
|
info: 'Info',
|
|
loading: 'Cargando…',
|
|
camera: 'Cámara',
|
|
lens: 'Objetivo',
|
|
focalLength: 'Distancia focal',
|
|
aperture: 'Apertura',
|
|
shutter: 'Obturación',
|
|
iso: 'ISO',
|
|
location: 'Ubicación',
|
|
noExif: 'No hay datos EXIF disponibles',
|
|
copyLink: 'Copiar enlace a esta foto',
|
|
copyLinkTitle: 'Copiar enlace a esta foto (c)',
|
|
copyLinkShort: 'Enlace',
|
|
copied: 'Copiado',
|
|
copyManual: 'Copia este enlace',
|
|
shortcuts: 'Atajos de teclado',
|
|
shortcutNavigate: 'Foto anterior / siguiente',
|
|
shortcutInfo: 'Información de la foto',
|
|
shortcutFullscreen: 'Pantalla completa',
|
|
shortcutExitFullscreen: 'Salir de pantalla completa',
|
|
download: 'Descargar el archivo original',
|
|
downloadTitle: 'Descargar el archivo original (d)',
|
|
downloadShort: 'Original',
|
|
shortcutDownload: 'Descargar el original',
|
|
shortcutSlideshow: 'Presentación',
|
|
shortcutSlideshowRunning: (seconds: number) => `Presentación — cada ${seconds} s`,
|
|
slideshowStopped: 'Presentación detenida',
|
|
slideshowRunning: (seconds: number) => `Presentación en curso, avanza cada ${seconds} segundos`,
|
|
shortcutCopyLink: 'Copiar enlace a esta foto',
|
|
shortcutList: 'Esta lista',
|
|
shortcutClose: 'Cerrar el visor',
|
|
zoomIn: 'Ampliar a resolución completa',
|
|
zoomInTitle: 'Ampliar a resolución completa (+)',
|
|
zoomOut: 'Ajustar la foto a la pantalla',
|
|
zoomOutTitle: 'Ajustar a la pantalla (0 o Esc)',
|
|
zoomLoading: 'Cargando la resolución completa…',
|
|
zoomUnavailable: 'La resolución completa no está disponible para esta foto.',
|
|
shortcutZoom: 'Acercar / alejar',
|
|
shortcutZoomReset: 'Ajustar a la pantalla',
|
|
},
|
|
|
|
proofing: {
|
|
addFavorite: 'Añadir favorito',
|
|
removeFavorite: 'Quitar favorito',
|
|
addToFavorites: 'Añadir a favoritos',
|
|
removeFromFavorites: 'Quitar de favoritos',
|
|
saved: 'Guardado',
|
|
favorite: 'Favorito',
|
|
showAll: 'Mostrar todo',
|
|
filterEmpty: 'No hay fotos seleccionadas.',
|
|
selected: (n: number) => `❤️ ${n} ${n === 1 ? 'seleccionada' : 'seleccionadas'}`,
|
|
shareExport: 'Compartir y exportar',
|
|
modalTitle: (n: number) => `❤️ Selección (${n})`,
|
|
closeModal: 'Cerrar ventana',
|
|
intro: (n: number) =>
|
|
`Has seleccionado ${plural(n, 'foto', 'fotos')}. Elige una opción de exportación para compartir tu selección:`,
|
|
copyLink: 'Copiar enlace para compartir',
|
|
linkCopied: '¡Enlace copiado!',
|
|
copyList: 'Copiar lista de texto (#1, #2…)',
|
|
listCopied: '¡Lista copiada!',
|
|
copyManualLink: 'Copia este enlace',
|
|
copyManualList: 'Copia esta lista',
|
|
sendEmail: '✉️ Enviar correo al fotógrafo',
|
|
downloadSelected: 'Descargar selección (.zip)',
|
|
clearSelection: 'Borrar selección',
|
|
confirmClear: '¿Quitar todos los favoritos seleccionados?',
|
|
listEmpty: (albumName: string) => `${albumName}: ninguna foto seleccionada.`,
|
|
listSummary: (albumName: string, count: number, indices: string) =>
|
|
`${albumName} — Fotos seleccionadas (${count}): ${indices}`,
|
|
mailSubject: (n: number) => `Selección de fotos (${n})`,
|
|
mailBody: (list: string, url: string) =>
|
|
`Hola:\n\nEsta es mi selección de fotos:\n\n${list}\n\nEnlace: ${url}\n\nUn saludo,`,
|
|
},
|
|
|
|
proofSession: {
|
|
greeting: (name: string) => `Selección para ${name}`,
|
|
intro:
|
|
'Toca el corazón en las fotos que quieras. Tu selección se guarda sobre la marcha: puedes volver con este enlace cuando quieras.',
|
|
saving: 'Guardando…',
|
|
saved: 'Selección guardada',
|
|
saveFailed: 'No se ha podido guardar tu selección. Revisa la conexión e inténtalo de nuevo.',
|
|
review: 'Revisar y enviar',
|
|
modalTitle: (n: number) => `Tu selección (${n})`,
|
|
empty: 'Todavía no has seleccionado ninguna foto.',
|
|
submit: 'Enviar selección',
|
|
submitting: 'Enviando…',
|
|
confirmSubmit: (n: number) =>
|
|
`¿Enviar ${plural(n, 'foto', 'fotos')}? Después no podrás cambiar la selección.`,
|
|
submitted: 'Gracias: tu selección se ha enviado.',
|
|
locked: 'Esta selección ya se ha enviado y no se puede modificar.',
|
|
validUntil: (date: string) => `Este enlace es válido hasta el ${date}.`,
|
|
expiredTitle: 'Este enlace ha caducado',
|
|
expiredText: 'Pide un enlace nuevo a tu fotógrafo.',
|
|
downloadSelection: 'Descargar selección (.zip)',
|
|
downloadAll: 'Descargar todas las fotos (.zip)',
|
|
downloadsLeft: (n: number) => `${plural(n, 'descarga restante', 'descargas restantes')}`,
|
|
},
|
|
|
|
legal: {
|
|
navLabel: 'Aviso legal',
|
|
title: 'Aviso legal',
|
|
subtitle: 'Información conforme al § 5 DDG',
|
|
address: 'Dirección',
|
|
contact: 'Contacto',
|
|
email: 'Correo electrónico',
|
|
phone: 'Teléfono',
|
|
contactForm: 'Formulario de contacto',
|
|
taxSection: 'Información fiscal',
|
|
taxId: 'Número de identificación fiscal',
|
|
vatId: 'Número de IVA',
|
|
extraInfo: 'Información adicional',
|
|
},
|
|
|
|
contact: {
|
|
navLabel: 'Contacto',
|
|
title: 'Contacto',
|
|
subtitle: 'Escríbeme un mensaje',
|
|
name: 'Nombre',
|
|
email: 'Correo electrónico',
|
|
message: 'Mensaje',
|
|
submit: 'Enviar mensaje',
|
|
sending: 'Enviando…',
|
|
successTitle: 'Gracias',
|
|
successText: 'Tu mensaje ha llegado. Te responderé por correo electrónico.',
|
|
invalid: 'Rellena todos los campos con una dirección de correo válida.',
|
|
tooMany: 'Demasiados mensajes en poco tiempo. Inténtalo de nuevo en un minuto.',
|
|
failed: 'No se ha podido enviar el mensaje. Inténtalo más tarde.',
|
|
privacy: (days: number) =>
|
|
`Tu mensaje se guarda en el propio servidor de este sitio, solo se usa para responderte y se borra después de ${days} ${days === 1 ? 'día' : 'días'}.`,
|
|
},
|
|
|
|
privacy: {
|
|
navLabel: 'Privacidad',
|
|
title: 'Política de privacidad',
|
|
},
|
|
};
|