sourceapplocalesnl.js

/* nl - Nederlands - Dutch */

import customDateFormat from "../custom-date-format.js";

const dateFormatParts = {
	texts: {
		era: {
			long: ["vóór onze jaartelling", "na onze jaartelling"],
			short: ["v.o.j.", "n.o.j."],
			narrow: ["v.", "n."]
		},
		month: {
			long: [
				"januari",
				"februari",
				"maart",
				"april",
				"mei",
				"juni",
				"juli",
				"augustus",
				"september",
				"oktober",
				"november",
				"december"
			],
			short: [
				"jan.",
				"feb.",
				"maa.",
				"apr.",
				"may",
				"jun.",
				"jul.",
				"aug.",
				"sep.",
				"oct.",
				"nov.",
				"dec."
			],
			narrow: ["j", "f", "m", "a", "m", "j", "j", "a", "s", "o", "n", "d"]
		},
		weekday: {
			long: [
				"zondag",
				"maandag",
				"dinsdag",
				"woensdag",
				"donderdag",
				"vrijdag",
				"zaterdag"
			],
			short: ["zo.", "ma.", "di.", "wo.", "do.", "vr.", "za."],
			narrow: ["zo", "ma", "di", "wo", "do", "vr", "za"]
		},
		hour12: ["’s morgens", "’s avonds"]
	},
	joiner: {
		full: "{1} om {0}",
		long: "{1} om {0}",
		medium: "{1}, {0}",
		short: "{1}, {0}"
	},
	date: {
		G: "{G}",
		Gy: "{y} {G}",
		GyM: "{L} {y} {G}",
		GyMd: "{d} {M} {y} {G}",
		GyMdE: "{E}, {d} {M} {y} {G}",
		y: "{y}",
		yM: "{L} {y}",
		yMd: "{d} {M} {y}",
		yMdE: "{E}, {d} {M} {y}",
		M: "{L}",
		Md: "{d} {M}",
		MdE: "{E}, {d} {M}",
		d: "{d}",
		dE: "{E} {d}"
	},
	time: {
		h: "{h}",
		hB: "{H} {B}",
		hv: "{h} ({v})",
		hBv: "{H} {B} ({v})",
		hm: "{h}.{m}",
		hmB: "{H}.{m} {B}",
		hmv: "{h}.{m} ({v})",
		hmBv: "{H}.{m} {B} ({v})",
		hms: "{h}.{m}:{s}",
		hmsB: "{H}.{m}:{s} {B}",
		hmsv: "{h}.{m}:{s} ({v})",
		hmsBv: "{H}.{m}:{s} {B} ({v})"
	}
};

const help = {
	countRaw: new Intl.PluralRules("nl-NL"),
	numRaw: new Intl.NumberFormat("nl-NL"),
	verbalNum: n => {
		const units = [
			"nul",
			"één",
			"twee",
			"drie",
			"vier",
			"vijf",
			"zes",
			"zeven",
			"acht",
			"negen",
			"tien",
			"elf",
			"twaalf",
			"dertien",
			"viertien",
			"vijftien",
			"zestien",
			"zeventien",
			"achttien",
			"negentien"
		];
		const tens = [
			null,
			null,
			"twintig",
			"dertig",
			"veertig",
			"vijftig",
			"zestig",
			"zeventig",
			"tachtig",
			"negentig"
		];

		if (n % 1 || n < 0 || n > 99) {
			return n;
		}

		if (n < 20) {
			return units[n];
		}

		if (n % 10 == 0) {
			return tens[Math.floor(n / 10)];
		}

		return `${n % 10 == 1 ? "een" : units[Math.floor(n % 10)]}${
			n % 10 == 2 || n % 10 == 3 ? "ën" : "en"
		}${tens[Math.floor(n / 10)]}`;
	},
	CustomDate: customDateFormat(dateFormatParts, ["nl-NL", "nl"]),

	sentenceCase: x => `${x[0].toUpperCase().replace("É", "E")}${x.slice(1)}`
};
help.count = help.countRaw.select.bind(help.countRaw);
help.num = help.numRaw.format.bind(help.numRaw);

const locale = grimm => ({
	meta: {
		id: "nl",
		code: "nl-NL",

		name: "Nederlands",
		sort: "aaa nederlands",
		flag: "nl",

		fallback: ["en"],
		intlFallback: ["nl-NL"]
	},
	pan: {
		indexLink: "Startpagina",
		baseSiteName: "’t Satyrwoud 🍇",
		circa: x => `ca. ${x}`,
		dateSep: " / ",
		licence: {
			pd: '<a href="/licentie"><span class="all-sc">CC0</span> publiek domein.</a> Géén rechten voorbehouden — doe wat gij wilt.',
			mixed: 'Alle originele bijdragen van de webmaster staan in het <a href="/licentie">publieke domein</a>.'
		},
		pageHistory: {
			added: date =>
				`Pagina toegevoegd aan site: ${grimm.date.dual("nl", date)}`,
			created: date => `Pagina gecreëerd: ${grimm.date.dual("nl", date)}`,
			published: date =>
				`Eerst uitgegeven: ${grimm.date.dual("nl", date)}`,
			translated: date =>
				`Pagina vertaald: ${grimm.date.dual("nl", date)}`,
			updated: date => `Pagina gewijzigd: ${grimm.date.dual("nl", date)}`
		}
	},
	help: help,

	garden: {
		siteName: "De Tuin 🌿",
		header: {
			title: "De Tuin",
			subtitle: "Tijdingen uit <i>’t Satyrwoud</i>"
		},
		sidebar: {
			aboutHead: "Over <i>De Tuin</i>",
			about: "<i>De Tuin</i> het domein van ene Xanthe Tynehorne, een dolende satyr uit het prachtige noordoosten van Engeland. <a href='/about'>Meer over de auteur…</a>",
			aboutAlt:
				"Een satyr wie in het gras ligt te chillen en een kraai irriteert",
			themeHead: "Instellingen: Thema",
			theme: {
				gaea: "Gæa",
				pan: "Pan",
				oceanos: "Oceanos",
				demeter: "Demeter",
				salmacis: "Salmacis",
				dionysos: "Dionysos",
				hemera: "Hemera",
				chaos: "Chaos",
				jason: "Jason"
			},
			notestyleHead: "Instellingen: Marginalia",
			notestyle: {
				hellenic: "α, β, γ…",
				footnotes: "*, †, ‡…",
				numerals: "1, 2, 3…",
				alphabetic: "a, b, c…",
				roman: "i, ii, iii…"
			},
			bloggersInArmsHead: "Wapenbloggers",
			bloggersInArmsLegend: {
				daily: "Dagelijks",
				weekly: "Wekelijks",
				monthly: "Maandelijks",
				infrequently: "Zeldzaam",
				hibernating: "In winterslaap"
			},
			recentCommentsHead: "Recente reacties",
			recentCommentsUntitledPost: "een pagina zonder titel",
			recentComment: (user, link) => `${user} op ${link}`,
			feedHead: "Feed",
			feed: "Deze tuin heeft een <a href='/garden/feed'><span class='all-sc'>RSS</span>-feed.</a>",
			archivesHead: "Archieven",
			viewAll: "Alles zien",
			languagesHead: "Talen",
			backToMain: "Startpagina"
		},
		post: {
			untitled: "Zonder titel",
			taggedAs: tags => `Getagd als ${tags.join(", ")}`,
			edit: "Bewerken"
		},
		collation: {
			pageNo: num => `Pagina ${help.num(num)}`,
			chronYear: date => `Pagina’s uit ${grimm.date.ce("nl", date, 1)}`,
			chronMonth: date => `Pagina’s uit ${grimm.date.ce("nl", date, 2)}`,
			tagged: tag => `Pagina’s getagd als „${tag}”`,
			language: "Pagina’s in het Nederlands",
			older: "Oudere pagina’s",
			newer: "Nieuwere pagina’s"
		}
	},
	latbs: {
		header: {
			startYear: 1980,
			endYear: 2558,
			menu: "Menu",
			translation: "Naar de sterren om te bloeien",
			siteName: {
				title: "De grote hemel heen",
				desktop: "De grote hemel heen",
				mobile: "De grote<br>hemel heen"
			}
		},
		category: {
			meta: "Meta",
			astrography: "Hemelrijkskunde",
			geography: "Aardrijkskunde",
			history: "Geschiedenis",
			sapiens: "Sapiëns",
			culture: "Samenleving",
			science: "Wetenschap & tech",
			index: "Index",
			maps: "Kaarten",
			skipToContent: "Doorgaan naar artikel"
		},
		timeRange: (created, updated) => `${created}${updated}`,
		publicDomain: '<a href="/licentie"><span class="all-sc">CC0</span> publiek domein.</a> Géén rechten voorbehouden — doe maar wat je wilt.'
	},
	codex: {
		siteName: "Codex Satyrorum",
		codexIndex: "Codexindex",
		buy: "Koop de originele",
		visit: "Bekijk de originele",
		watch: "Bekijk de originele",
		read: "Lees de originele"
	},
	comments: {
		header: n =>
			`${help.sentenceCase(help.verbalNum(n))} ${
				{ one: "reactie", other: "reacties" }[help.count(n)]
			}`,
		headerNone: "Laat een reactie achter",
		saysBefore: "",
		saysAfter: " zegt…",
		reply: "Deze reactie beantwoorden",
		name: "Naam",
		namePlaceholder: "Jan Smit",
		email: "E-mail (<i>Spamvalstrik — vul dit niet in als u echt een mens bent!</i>)",
		website: "Website",
		websitePlaceholder: "https://www.smit.nl",
		tripcode: "Geheim woord",
		optional: " (<i>optioneel</i>)",
		textarea: "Laat uw reactie achter",
		textareaPlaceholder:
			"Een heus en waar gebeurd verhaal kan ik u vertellen — luister maar…",
		textareaRules:
			"Wees aardig, alstublieft. Reacties worden misschien bewerkt voor spelling en hoofdlettergebruik, want ik ben een pedant. Simpel markup: <code><b>*vet*</b></code>, <code><i>/cursief/</i></code>, <code>[//satyrs.eu koppelingen]</code>… <a href='/comments'>→ Meer</a>",
		select: "(Anti-spam) Op welke planeet woont u?",
		selectDefault: "Maak een keuze…",
		selectBellerophon: "Bellerophon",
		selectEarth: "Aarde",
		selectMercury: "Mercurius",
		selectOmicron: "Omicron-5",
		selectVulcan: "Vulcanus",
		submit: "Indienen",
		confirmed: "Uw reactie is verzonden!",
		closed: "Reacties op deze pagina zijn gesloten."
	},
	auth: {
		logIn: "Inloggen",
		signUp: "Registreren",
		logOut: "Uitloggen",
		username: "Gebruikersnaam",
		password: "Wachtwoord",
		signupKey: "Registratiecode",
		rememberMe: "Ingelogd blijven",
		rememberMeNote:
			"Vink dit vakje niet als u een openbare of gedeelde computer gebruikt.",
		message: {
			signedUp: "U hebt zich successvol geregistreerd!",
			loggedIn: un =>
				`U bent ingelogd als <strong>${grimm.escape(un)}</strong>.`,
			noLogin: "Gij zult niet passeren!",
			invalidSignupKey: "Uw registratiecode is ongeldig.",
			missingFields: "U hebt een of meer velden leeg gelaten."
		}
	},
	moonPhases: [
		"Nieuwe maan",
		"Jonge maansikkel",
		"Eerste kwartier",
		"Wassende maan",
		"Volle maan",
		"Afnemende maan",
		"Laatste kwartier",
		"Asgrauwe maan"
	],
	attic: {
		moons: ["☾", "ε.κ.ν.", ""],
		months: {
			long: [
				"hekatombæon",
				"metageitnion",
				"boëdromion",
				"pyanepsion",
				"mæmakterion",
				"poseideon",
				"2e poseideon",
				"gamelion",
				"anthesterion",
				"elaphebolion",
				"mounychion",
				"thargelion",
				"skirophorion"
			],
			short: [
				"heka.",
				"met.",
				"boë.",
				"pya.",
				"mæ.",
				"pos.",
				"2e pos.",
				"gam.",
				"anth.",
				"ela.",
				"mou.",
				"thar.",
				"ski."
			]
		},
		template: {
			long: (ol, y, m, d) => `${d} ${m} ${ol}.${y}`,
			short: (ol, y, m, d) => `${d} ${m} ${ol}.${y}`
		}
	},
	planter: {
		editor: {
			creating: "Nieuwe pagina creëren",
			editing: title => `Pagina „${title}” bewerken`,
			translating: title => `Pagina „${title}” vertalen`,
			savePost: "Opslaan",
			previewPost: "Voorbeeld",
			viewPost: "Lezen",
			publishPost: "Publiceren",
			retractPost: "Depubliceren",
			titlePlaceholder: "Paginatitel",
			contentsPlaceholder: "Schrijf uw pagina hier…",
			slug: "Paginaädres",
			pageCreated: "Publicatiedatum (<span class='all-sc'>UTC</span>)",
			lang: "Taal",
			translates: "Vertaalt",
			format: "Formaat",
			formatArticle: "Artikel",
			formatNote: "Notitie",
			tags: "Tags",
			commentStatus: "Reacties toestaan",
			markup: "Opmaaktaal",
			markupRubric: "Rubric",
			markupHtml: "HTML",
			thumbnail: "Miniatuuradres",
			thumbnailAlt: "Miniatuur-alt-tekst",
			mediaNewFile: "Nieuw bestand",
			tabWrite: "Schrijven",
			tabTag: "Taggen",
			tabMedia: "Media toevoegen"
		},
		message: {
			postSaved: time =>
				`Pagina opgeslaan op ${grimm.date.ce("nl", time, 6)}.`,
			postPublished: url =>
				`Pagina gepubliceerd — <a href="${url}">klik hier om te lezen</a>!`,
			slugTaken: "Dat paginaädres wordt al gebruikt.",
			missingThumbnailAltText: "Uw miniatuur moet alt-tekst.",
			alreadyTranslated: (post, lang) =>
				`De pagina bij <span class="mono">${post}</span> is al vertaald in het ${grimm.translate(
					"nl",
					`loc.language.${lang}`
				)}.`,
			savedPreferences: "Uw instellingen zijn opgeslaan!"
		},
		nav: {
			posts: "Blogpagina’s",
			comments: "Reacties",
			tags: "Tags",
			prefs: "Instellingen",
			avatars: "Avatars",
			stats: "Bezoek"
		},
		posts: {
			pageHeader: "Pagina’s op <a href='/garden'><i>De Tuin</i></a>",
			pageTitle: "Pagina’s op „De Tuin”",
			drafts: n =>
				`${n ? help.num(n) : "Geen"} ${
					{ one: "concept", other: "concepten" }[help.count(n)]
				}`,
			publishedPosts: n =>
				`${n ? help.num(n) : "Geen"} ${
					{ one: "publieke pagina", other: "publieke pagina’s" }[
						help.count(n)
					]
				}`,
			compose: "Nieuwe pagina",
			edit: "Bewerken",
			read: "Lezen",
			preview: "Voorbeeld",
			translate: "Vertalen",
			th: {
				title: "Titel",
				tags: "Tags",
				language: "Taal",
				datePublished: "Gepubliceerd",
				dateEdited: "Gewijzigd"
			}
		},
		comments: {
			pageHeader: "Reacties modereren",
			shown: "Vertonen",
			id: "Id",
			from: "Zender",
			comment: "Tekst",
			commentOn: page => `Naar ${page}`,
			date: "Datum"
		},
		tags: {
			pageHeader: "Tags beheren",
			tagID: "Tag-id",
			displayName: "Vertoonde naam",
			lang: "Taal",
			count: "Aantal",
			edit: "Bewerken",
			saveChanges: "Opslaan"
		},
		prefs: {
			pageHeader: user => `Instellingen voor ${user}`,
			uiLang: "Omgevingstaal",
			save: "Opslaan"
		}
	},
	loc: {
		country: {
			ad: "Andorra",
			ae: "de Verenigde Arabische Emiraten",
			af: "Afghanistan",
			ag: "Antigua en Barbuda",
			ai: "Anguilla",
			al: "Albanië",
			am: "Armenië",
			ao: "Angola",
			aq: "Antarctica",
			ar: "Argentinië",
			as: "Amerikaans-Samoa",
			at: "Oostenrijk",
			au: "Australië",
			aw: "Aruba",
			ax: "Åland",
			az: "Azerbeidzjan",
			ba: "Bosnië",
			bb: "Barbados",
			bd: "Bangladesh",
			be: "België",
			bf: "Burkina Faso",
			bg: "Bulgarije",
			bh: "Bahrein",
			bi: "Burundi",
			bj: "Benin",
			bl: "Saint-Barthélemy",
			bm: "Bermuda",
			bn: "Brunei",
			bo: "Bolivia",
			br: "Brazilië",
			bs: "de Bahama’s",
			bt: "Bhutan",
			bw: "Botswana",
			by: "Belaroes",
			bz: "Belize",
			ca: "Canada",
			cc: "de Cocoseilanden",
			cd: "Congo-Kinshasa",
			cf: "de Centraal-Afrikaanse Republiek",
			cg: "Congo-Brazzaville",
			ch: "Zwitserland",
			ci: "Ivoorkust",
			ck: "de Cookeilanden",
			cl: "Chili",
			cm: "Kameroen",
			cn: "China",
			co: "Colombia",
			cr: "Costa Rica",
			cu: "Cuba",
			cv: "Kaapverdië",
			cw: "Curaçao",
			cx: "Christmaseiland",
			cy: "Cyprus",
			cz: "Tsjechië",
			de: "Duitsland",
			dj: "Djibouti",
			dk: "Denemarken",
			dm: "Dominica",
			do: "de Dominicaanse Republiek",
			dz: "Algerije",
			ec: "Ecuador",
			ee: "Estland",
			eg: "Egypte",
			eh: "de Westelijke Sahara",
			er: "Eritrea",
			es: "Spanje",
			et: "Ethiopië",
			fi: "Finland",
			fj: "Fiji",
			fk: "de Falklandeilanden",
			fm: "Micronesia",
			fo: "de Faeröer",
			fr: "Frankrijk",
			ga: "Gabon",
			gb: "het Verenigd Koninkrijk",
			"gb/eng": "Engeland",
			"gb/nir": "Noord-Ierland",
			"gb/sco": "Schotland",
			"gb/wls": "Kymrië",
			gd: "Grenada",
			ge: "Georgië",
			gg: "Guernsey",
			gh: "Ghana",
			gi: "Gibraltar",
			gl: "Groenland",
			gm: "Gambia",
			gn: "Guinee",
			gq: "Equatoriaal-Guinea",
			gr: "Griekenland",
			gt: "Guatemala",
			gu: "Guam",
			gw: "Guinee-Bissau",
			gy: "Guyana",
			hk: "Hongkong",
			hn: "Honduras",
			hr: "Kroatië",
			ht: "Haïti",
			hu: "Hongarije",
			id: "Indonesië",
			ie: "Ierland",
			il: "Israël",
			im: "Man",
			in: "India",
			io: "de Chagosarchipel",
			iq: "Irak",
			ir: "Iran",
			is: "IJsland",
			it: "Italië",
			je: "Jersey",
			jm: "Jamaica",
			jo: "Jordanië",
			jp: "Japan",
			ke: "Kenia",
			kg: "Kirghizië",
			kh: "Cambodja",
			ki: "Kiribati",
			km: "de Comoren",
			kn: "Saint Kitts en Nevis",
			kp: "Noord-Korea",
			kr: "Zuid-Korea",
			kw: "Koeweit",
			ky: "de Kaaimaneilanden",
			kz: "Kazachstan",
			la: "Laos",
			lb: "Libanon",
			lc: "Saint Lucia",
			li: "Liechtenstein",
			lk: "Sri Lanka",
			lr: "Liberia",
			ls: "Lesotho",
			lt: "Litouwen",
			lu: "Luxemburg",
			lv: "Letland",
			ly: "Libië",
			ma: "Marokko",
			mc: "Monaco",
			md: "Moldavië",
			me: "Montenegro",
			mf: "Saint-Martin",
			mg: "Madagaskar",
			mh: "de Marshalleilanden",
			mk: "Noord-Macedonië",
			ml: "Mali",
			mm: "Myanmar",
			mn: "Mongolië",
			mo: "Macau",
			mp: "de Noordelijke Marianen",
			mr: "Mauritanië",
			ms: "Montserrat",
			mt: "Malta",
			mu: "Mauritius",
			mv: "de Maldiven",
			mw: "Malawi",
			mx: "Mexico",
			my: "Maleisië",
			mz: "Mozambique",
			na: "Namibië",
			nc: "Nieuw-Caledonië",
			ne: "Niger",
			nf: "Norfolk",
			ng: "Nigeria",
			ni: "Nicaragua",
			nl: "Nederland",
			no: "Noorwegen",
			np: "Nepal",
			nr: "Nauru",
			nu: "Niue",
			nz: "Nieuw-Zeeland",
			om: "Oman",
			pa: "Panama",
			pe: "Peru",
			pf: "Frans-Polynesië",
			pg: "Papoea-Nieuw-Guinea",
			ph: "de Filipijnen",
			pk: "Pakistan",
			pl: "Polen",
			pm: "Saint-Pierre en Miquelon",
			pn: "de Pitcairneilanden",
			pr: "Puerto Rico",
			ps: "Palestina",
			pt: "Portugal",
			pw: "Palau",
			py: "Paraguay",
			qa: "Qatar",
			ro: "Roemenië",
			rs: "Servië",
			ru: "Rusland",
			rw: "Rwanda",
			sa: "Saoedi-Arabië",
			sb: "de Salomonseilanden",
			sc: "de Seychellen",
			sd: "Soedan",
			se: "Zweden",
			sg: "Singapore",
			sh: "Sint-Helena",
			si: "Slovenië",
			sj: "Spitsbergen",
			sk: "Slowakije",
			sl: "Sierra Leone",
			sm: "San Marino",
			sn: "Senegal",
			so: "Somalië",
			sr: "Suriname",
			ss: "Zuid-Soedan",
			st: "São Tomé and Príncipe",
			suhh: "de Sovjet-Unie",
			sv: "El Salvador",
			sx: "Sint Maarten",
			sy: "Syrië",
			sz: "Eswatini",
			ta: "Tristan da Cunha",
			tc: "de Turks- en Caicoseilanden",
			td: "Tsjaad",
			tg: "Togo",
			th: "Thailand",
			tj: "Tadzjikistan",
			tk: "Tokelau",
			tl: "Oost-Timor",
			tm: "Turkmenistan",
			tn: "Tunesië",
			to: "Tonga",
			tr: "Turkije",
			tt: "Trinidad en Tobago",
			tv: "Tuvalu",
			tw: "Taiwan",
			tz: "Tanzania",
			ua: "Oekraïne",
			ug: "Oeganda",
			us: "de Verenigde Staten",
			uy: "Uruguay",
			uz: "Oezbekistan",
			va: "Vaticaanstad",
			vc: "Saint Vincent en de Grenadines",
			ve: "Venezuela",
			vg: "de Britse Maagdeneilanden",
			vi: "de Amerikaanse Maagdeneilanden",
			vn: "Vietnam",
			vu: "Vanuatu",
			wf: "Wallis en Futuna",
			ws: "Samoa",
			xa: "Abchazië",
			xc: "Noord-Cyprus",
			xk: "Kosovo",
			xn: "Artsach",
			xo: "Zuid-Ossetië",
			xs: "Somaliland",
			xt: "Transnistrië",
			ye: "Jemen",
			za: "Zuid-Afrika",
			zm: "Zambia",
			zw: "Zimbabwe"
		},
		language: {
			"zh-Hans": "vereenvoudigd Chinees",
			"zh-Hant": "traditioneel Chinees"
		},
		city: {
			"fr par": "Parijs",
			"gb/eng lon": "Londen",
			"gb/eng nsh": "Noord-Shields, Northd",
			"gb/sco edh": "Edinburg"
		}
	}
});

export default locale;