Files
immich-folio/lib/i18n/locales/nl.ts
2026-10-02 18:14:23 +02:00

296 lines
11 KiB
TypeScript
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
/**
* 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 (+ of dubbelklik)',
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',
},
};