296 lines
11 KiB
TypeScript
296 lines
11 KiB
TypeScript
/**
|
||
* Dutch 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 nl: Dictionary = {
|
||
dateLocale: 'nl-NL',
|
||
|
||
nav: {
|
||
home: 'Start',
|
||
about: 'Over mij',
|
||
map: 'Kaart',
|
||
journal: 'Journal',
|
||
skipToContent: 'Naar de inhoud',
|
||
mainNavAria: 'Hoofdnavigatie',
|
||
heroNavAria: 'Onderdelen',
|
||
openMenu: 'Menu openen',
|
||
closeMenu: 'Menu sluiten',
|
||
},
|
||
|
||
common: {
|
||
backTo: (label: string) => `Terug naar ${label}`,
|
||
backToGallery: 'Terug naar de galerij',
|
||
backToJournal: 'Terug naar het journal',
|
||
email: 'E-mail',
|
||
website: 'Website',
|
||
home: 'Start',
|
||
photos: (n: number) => plural(n, 'foto', 'foto’s'),
|
||
albums: (n: number) => plural(n, 'album', 'albums'),
|
||
collections: (n: number) => plural(n, 'collectie', 'collecties'),
|
||
prevAlbum: 'Vorig album',
|
||
nextAlbum: 'Volgend album',
|
||
prevAlbumAria: (name: string) => `Vorig album: ${name}`,
|
||
nextAlbumAria: (name: string) => `Volgend album: ${name}`,
|
||
albumNavAria: 'Albumnavigatie',
|
||
prevEntry: 'Vorig verhaal',
|
||
nextEntry: 'Volgend verhaal',
|
||
prevEntryAria: (title: string) => `Vorig verhaal: ${title}`,
|
||
nextEntryAria: (title: string) => `Volgend verhaal: ${title}`,
|
||
entryNavAria: 'Navigatie tussen journalverhalen',
|
||
loadingGallery: 'Galerij laden',
|
||
gallery: 'Galerie',
|
||
loadingPhotos: 'Foto’s laden',
|
||
downloadAlbum: 'Album downloaden',
|
||
},
|
||
|
||
home: {
|
||
enter: 'Binnenkomen',
|
||
pauseSlideshow: 'Diavoorstelling pauzeren',
|
||
playSlideshow: 'Diavoorstelling afspelen',
|
||
},
|
||
|
||
error: {
|
||
notFoundTitle: 'Niet gevonden',
|
||
notFoundText: 'Deze pagina bestaat niet, of het album is niet meer gepubliceerd.',
|
||
errorTitle: 'Er is iets misgegaan',
|
||
errorText:
|
||
'Deze pagina kon niet worden geladen. Meestal is dat tijdelijk — probeer het zo nog eens.',
|
||
tryAgain: 'Opnieuw proberen',
|
||
reference: (digest: string) => `Referentie: ${digest}`,
|
||
},
|
||
|
||
download: {
|
||
unavailableTitle: 'Download niet beschikbaar',
|
||
notAvailable: 'Deze download is niet beschikbaar.',
|
||
rateLimited: 'Te veel downloadverzoeken. Wacht even en probeer het opnieuw.',
|
||
immichUnavailable:
|
||
'De fotobibliotheek is op dit moment niet bereikbaar. Probeer het zo opnieuw.',
|
||
back: 'Terug naar de galerij',
|
||
limitReached: 'Het downloadlimiet voor deze link is bereikt.',
|
||
},
|
||
|
||
theme: {
|
||
switchToLight: 'Naar lichte modus',
|
||
switchToDark: 'Naar donkere modus',
|
||
scrollToTop: 'Naar boven',
|
||
},
|
||
|
||
password: {
|
||
subtitle: 'Deze galerij is met een wachtwoord beveiligd.',
|
||
siteSubtitle: 'Deze site is met een wachtwoord beveiligd.',
|
||
pageSubtitle: 'Deze pagina is met een wachtwoord beveiligd.',
|
||
journalSubtitle: 'Dit journalverhaal is met een wachtwoord beveiligd.',
|
||
protectedPage: 'Beveiligde pagina',
|
||
placeholder: 'Voer het wachtwoord in',
|
||
submit: 'Binnenkomen',
|
||
verifying: 'Controleren…',
|
||
incorrect: 'Onjuist wachtwoord. Probeer het opnieuw.',
|
||
failed: 'Het wachtwoord kon niet worden gecontroleerd. Probeer het later opnieuw.',
|
||
tooManyAttempts: (seconds: number | null) =>
|
||
seconds
|
||
? `Te veel pogingen. Probeer het over ${seconds} ${seconds === 1 ? 'seconde' : 'seconden'} opnieuw.`
|
||
: 'Te veel pogingen. Probeer het later opnieuw.',
|
||
legalNavAria: 'Juridische informatie',
|
||
},
|
||
|
||
about: {
|
||
kicker: 'Over mij',
|
||
title: 'Over mij',
|
||
metaTitle: (name: string) => `Over mij — ${name}`,
|
||
portraitAlt: 'Portret',
|
||
gear: 'Uitrusting',
|
||
},
|
||
|
||
map: {
|
||
title: 'Kaart',
|
||
kicker: 'Waar',
|
||
subtitle: 'Waar de foto’s zijn gemaakt',
|
||
loading: 'Kaart laden…',
|
||
loadFailed: (status: number) => `Kaartgegevens konden niet worden geladen (${status})`,
|
||
initFailed: 'De kaart kon niet worden gestart',
|
||
zoomIn: 'Inzoomen',
|
||
zoomOut: 'Uitzoomen',
|
||
leafletTitle: 'Een JavaScript-bibliotheek voor interactieve kaarten',
|
||
},
|
||
|
||
subpage: {
|
||
collectionKicker: (index: string) => `${index} — Collectie`,
|
||
sectionsNav: 'Onderdelen',
|
||
coverAria: (albumName: string, count: string) => `${albumName}, ${count}`,
|
||
nextSubpage: 'Volgende',
|
||
nextSubpageAria: (name: string) => `Volgende: ${name}`,
|
||
},
|
||
|
||
journal: {
|
||
title: 'Journal',
|
||
kicker: 'Verhalen & essays',
|
||
subtitle: 'Fotoessays, beeldverhalen en veldnotities.',
|
||
entryDescription: 'Journalverhaal',
|
||
empty: 'Er zijn nog geen verhalen gepubliceerd.',
|
||
readStory: 'Lees het verhaal →',
|
||
minRead: (n: number) => `${n} min lezen`,
|
||
draft: 'Concept',
|
||
by: (author: string) => `door ${author}`,
|
||
notFound: 'Niet gevonden',
|
||
},
|
||
|
||
lightbox: {
|
||
viewer: 'Fotoviewer',
|
||
position: (n: number, total: number) => `Foto ${n} van ${total}`,
|
||
openPhoto: (n: number) => `Foto ${n} bekijken`,
|
||
close: 'Sluiten',
|
||
closeTitle: 'Sluiten (Esc)',
|
||
previous: 'Vorige foto',
|
||
previousTitle: 'Vorige foto (pijl naar links)',
|
||
next: 'Volgende foto',
|
||
nextTitle: 'Volgende foto (pijl naar rechts)',
|
||
toggleInfo: 'Foto-info tonen/verbergen',
|
||
toggleInfoTitle: 'Foto-info tonen/verbergen (i)',
|
||
hideInfo: 'Info verbergen',
|
||
info: 'Info',
|
||
loading: 'Laden…',
|
||
camera: 'Camera',
|
||
lens: 'Objectief',
|
||
focalLength: 'Brandpuntsafstand',
|
||
aperture: 'Diafragma',
|
||
shutter: 'Sluitertijd',
|
||
iso: 'ISO',
|
||
location: 'Locatie',
|
||
noExif: 'Geen EXIF-gegevens beschikbaar',
|
||
copyLink: 'Link naar deze foto kopiëren',
|
||
copyLinkTitle: 'Link naar deze foto kopiëren (c)',
|
||
copyLinkShort: 'Link',
|
||
copied: 'Gekopieerd',
|
||
copyManual: 'Kopieer deze link',
|
||
shortcuts: 'Sneltoetsen',
|
||
shortcutNavigate: 'Vorige / volgende foto',
|
||
shortcutInfo: 'Foto-info',
|
||
shortcutFullscreen: 'Volledig scherm',
|
||
shortcutExitFullscreen: 'Volledig scherm verlaten',
|
||
download: 'Het originele bestand downloaden',
|
||
downloadTitle: 'Het originele bestand downloaden (d)',
|
||
downloadShort: 'Origineel',
|
||
shortcutDownload: 'Het origineel downloaden',
|
||
shortcutSlideshow: 'Diavoorstelling',
|
||
shortcutSlideshowRunning: (seconds: number) => `Diavoorstelling — elke ${seconds} s`,
|
||
slideshowStopped: 'Diavoorstelling gestopt',
|
||
slideshowRunning: (seconds: number) =>
|
||
`Diavoorstelling loopt, elke ${seconds} seconden de volgende foto`,
|
||
shortcutCopyLink: 'Link naar deze foto kopiëren',
|
||
shortcutList: 'Deze lijst',
|
||
shortcutClose: 'De viewer sluiten',
|
||
zoomIn: 'Inzoomen op volledige resolutie',
|
||
zoomInTitle: 'Inzoomen op volledige resolutie (+)',
|
||
zoomOut: 'Foto aan het scherm aanpassen',
|
||
zoomOutTitle: 'Aan scherm aanpassen (0 of Esc)',
|
||
zoomLoading: 'Volledige resolutie laden…',
|
||
zoomUnavailable: 'Voor deze foto is geen volledige resolutie beschikbaar.',
|
||
shortcutZoom: 'In- / uitzoomen',
|
||
shortcutZoomReset: 'Aan scherm aanpassen',
|
||
},
|
||
|
||
proofing: {
|
||
addFavorite: 'Favoriet maken',
|
||
removeFavorite: 'Favoriet verwijderen',
|
||
addToFavorites: 'Aan favorieten toevoegen',
|
||
removeFromFavorites: 'Uit favorieten verwijderen',
|
||
saved: 'Opgeslagen',
|
||
favorite: 'Favoriet',
|
||
showAll: 'Alles tonen',
|
||
filterEmpty: "Geen foto's geselecteerd.",
|
||
selected: (n: number) => `❤️ ${n} geselecteerd`,
|
||
shareExport: 'Delen & exporteren',
|
||
modalTitle: (n: number) => `❤️ Selectie (${n})`,
|
||
closeModal: 'Venster sluiten',
|
||
intro: (n: number) =>
|
||
`Je hebt ${plural(n, 'foto', 'foto’s')} geselecteerd. Kies hieronder een exportoptie om je selectie te delen:`,
|
||
copyLink: 'Deellink kopiëren',
|
||
linkCopied: 'Link gekopieerd!',
|
||
copyList: 'Tekstlijst kopiëren (#1, #2…)',
|
||
listCopied: 'Lijst gekopieerd!',
|
||
copyManualLink: 'Kopieer deze link',
|
||
copyManualList: 'Kopieer deze lijst',
|
||
sendEmail: '✉️ E-mail naar de fotograaf sturen',
|
||
downloadSelected: 'Selectie downloaden (.zip)',
|
||
clearSelection: 'Selectie wissen',
|
||
confirmClear: 'Alle geselecteerde favorieten wissen?',
|
||
listEmpty: (albumName: string) => `${albumName}: geen foto’s geselecteerd.`,
|
||
listSummary: (albumName: string, count: number, indices: string) =>
|
||
`${albumName} — Geselecteerde foto’s (${count}): ${indices}`,
|
||
mailSubject: (n: number) => `Fotoselectie (${n})`,
|
||
mailBody: (list: string, url: string) =>
|
||
`Hallo,\n\nHier is mijn fotoselectie:\n\n${list}\n\nDeellink: ${url}\n\nMet vriendelijke groet,`,
|
||
},
|
||
|
||
proofSession: {
|
||
greeting: (name: string) => `Selectie voor ${name}`,
|
||
intro:
|
||
'Tik op het hartje bij de foto’s die je wilt. Je selectie wordt meteen opgeslagen — je kunt met deze link altijd terugkomen.',
|
||
saving: 'Opslaan…',
|
||
saved: 'Selectie opgeslagen',
|
||
saveFailed:
|
||
'Je selectie kon niet worden opgeslagen. Controleer je verbinding en probeer het opnieuw.',
|
||
review: 'Bekijken & versturen',
|
||
modalTitle: (n: number) => `Jouw selectie (${n})`,
|
||
empty: 'Nog geen foto’s geselecteerd.',
|
||
submit: 'Selectie versturen',
|
||
submitting: 'Versturen…',
|
||
confirmSubmit: (n: number) =>
|
||
`${plural(n, 'foto', 'foto’s')} versturen? Daarna kun je de selectie niet meer wijzigen.`,
|
||
submitted: 'Bedankt — je selectie is verstuurd.',
|
||
locked: 'Deze selectie is verstuurd en kan niet meer worden gewijzigd.',
|
||
validUntil: (date: string) => `Deze link is geldig tot ${date}.`,
|
||
expiredTitle: 'Deze link is verlopen',
|
||
expiredText: 'Vraag je fotograaf om een nieuwe link.',
|
||
downloadSelection: 'Selectie downloaden (.zip)',
|
||
downloadAll: 'Alle foto’s downloaden (.zip)',
|
||
downloadsLeft: (n: number) => `Nog ${plural(n, 'download', 'downloads')}`,
|
||
},
|
||
|
||
legal: {
|
||
navLabel: 'Colofon',
|
||
title: 'Colofon',
|
||
subtitle: 'Gegevens volgens § 5 DDG',
|
||
address: 'Adres',
|
||
contact: 'Contact',
|
||
email: 'E-mail',
|
||
phone: 'Telefoon',
|
||
contactForm: 'Contactformulier',
|
||
taxSection: 'Fiscale gegevens',
|
||
taxId: 'Fiscaal nummer',
|
||
vatId: 'Btw-nummer',
|
||
extraInfo: 'Aanvullende informatie',
|
||
},
|
||
|
||
contact: {
|
||
navLabel: 'Contact',
|
||
title: 'Contact',
|
||
subtitle: 'Stuur me een bericht',
|
||
name: 'Naam',
|
||
email: 'E-mail',
|
||
message: 'Bericht',
|
||
submit: 'Bericht versturen',
|
||
sending: 'Versturen…',
|
||
successTitle: 'Bedankt',
|
||
successText: 'Je bericht is aangekomen. Ik antwoord je per e-mail.',
|
||
invalid: 'Vul alle velden in met een geldig e-mailadres.',
|
||
tooMany: 'Te veel berichten in korte tijd. Probeer het over een minuut opnieuw.',
|
||
failed: 'Het bericht kon niet worden verstuurd. Probeer het later opnieuw.',
|
||
privacy: (days: number) =>
|
||
`Je bericht wordt op de eigen server van deze site bewaard, alleen gebruikt om je te antwoorden en na ${days} ${days === 1 ? 'dag' : 'dagen'} verwijderd.`,
|
||
},
|
||
|
||
privacy: {
|
||
navLabel: 'Privacy',
|
||
title: 'Privacyverklaring',
|
||
},
|
||
};
|