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;