Files
puzzle-generator/vocab/.custom/irregulars.js
2025-12-19 13:13:38 +01:00

236 lines
5.0 KiB
JavaScript

var fs = require("fs");
let path = require("path");
var outputFile = "irregular.json";
var nounString,
nouns;
var irregulars = {
been: [
"beenderen", "benen"
],
blad: [
"bladeren", "bladen", "blaren"
],
ei: "eieren",
gelid: "gelederen",
gemoed: "gemoederen",
goed: "goederen",
hoen: "hoenderen",
kalf: "kalveren",
kind: "kinderen",
kleed: [
"kleren", "klederen", "kleden"
],
lam: "lammeren",
lied: "liederen",
rad: "raderen",
rund: "runderen",
volk: [
"volken", "volkeren"
],
koe: "koeien",
vlo: "vlooien",
leerrede: [
"leerredenen", "leerredes"
],
lende: [
"lendenen", "lenden"
],
kleinood: [
"kleinoden", "kleinodiën"
],
sieraad: [
"sieraden", "sieradiën"
],
epos: [
"epen", "epossen"
],
genius: "geniën",
aanbod: "aanbiedingen",
beleg: [
"beleggingen", "belegeringen"
],
dank: "dankbetuigingen",
doel: [
"doeleinden", "doelen"
],
gedrag: "gedragingen",
genot: "genietingen",
lof: [
"loftuitingen", "lofbetuigingen"
],
onderzoek: [
"onderzoekingen", "onderzoeken"
],
raad: "raadgevingen",
rede: [
"redevoeringen", "redes"
],
fotograaf: "fotografen",
paragraaf: "paragrafen",
telegraaf: "telegrafen",
burggraaf: "burggraven",
loopgraaf: "loopgraven",
filosoof: "filosofen",
theosoof: "theosofen",
elf: "elfen",
paraaf: "parafen",
stad: "steden",
bad: "baden",
bedrag: "bedragen",
blad: [
"bladeren", "bladen", "blaren"
],
dag: "dagen",
dak: "daken",
dal: "dalen",
gat: "gaten",
gelag: "gelagen",
glas: "glazen",
graf: "graven",
pad: [
"paden", "padden"
],
slag: "slagen",
staf: [
"staffen", "staven"
],
vat: "vaten",
verdrag: "verdragen",
handvat: [
"handvatten", "handvaten"
],
bevel: "bevelen",
gebed: "gebeden",
gebrek: "gebreken",
gen: "genen",
spel: "spelen",
tred: "treden",
weg: "wegen",
gemet: "gemeten",
bijzonderheid: "bijzonderheden",
kleinigheid: "kleinigheden",
moeilijkheid: "moeilijkheden",
lid: "leden",
rif: "reven",
schip: "schepen",
smid: "smeden",
spit: [
"spitten", "speten"
],
alcohol: "alcoholen",
elektron: "elektronen",
neutron: "neutronen",
proton: "protonen",
gebod: "geboden",
god: "goden",
hertog: "hertogen",
hof: "hoven",
hol: "holen",
kot: [
"kotten", "koten"
],
lot: "loten",
oorlog: "oorlogen",
schot: "schoten",
slot: "sloten",
verbod: "verboden",
verlof: "verloven",
kruis: "kruizen",
pers: "persen",
balans: "balansen",
concours: "concoursen",
dans: "dansen",
diocees: "diocesen",
eis: "eisen",
forens: [
"forensen", "forenzen"
],
impuls: "impulsen",
kaars: "kaarsen",
kans: "kansen",
kers: "kersen",
kikvors: "kikvorsen",
koers: "koersen",
kous: "kousen",
krans: "kransen",
lans: "lansen",
mars: "marsen",
mens: "mensen",
ons: [
"onsen", "onzen"
],
paus: "pausen",
plons: [
"plonsen", "plonzen"
],
pols: "polsen",
prins: "prinsen",
pruis: "pruisen",
saus: [
"sausen", "sauzen"
],
schans: "schansen",
spons: [
"sponzen", "sponsen"
],
stimulans: "stimulansen",
tendens: "tendensen",
trans: "transen",
wals: "walsen",
wens: "wensen",
zeis: "zeisen",
einde: ["eindes", "einden"],
symbool: "symbolen",
knop: ["knopen", "knoppen"]
};
// https://e-ans.ivdnt.org/topics/pid/ans03050402lingtopic
nounString = "edelman krijgsman landman raadsman weidman";
nouns = nounString.split(" ");
nouns.forEach(noun => {
irregulars[noun] = noun.replace(/man$/, "lieden");
});
nounString = "akkerman ambachtsman baggerman bootsman buitenman burgerman buurman handelsman handwerksman kooiman koopman scheepstimmerman timmerman schieman sjouwerman speelman stadswerkman werkman stuurman tuinman vakman varensman veerman voerman zakenman zeeman zegsman";
nouns = nounString.split(" ");
nouns.forEach(noun => {
irregulars[noun] = [
noun.replace(/man$/, "lui"),
noun.replace(/man$/, "lieden")
];
});
nounString = "bewindsman bruggeman cameraman hoofdman leidsman ombudsman staatsman vertrouwensman verzetsman voorman";
nouns = nounString.split(" ");
nouns.forEach(noun => {
irregulars[noun] = [
noun.replace(/man$/, "mannen"),
noun.replace(/man$/, "lieden")
];
});
nounString = "brandweerman kantoorman opperman sportsman vakman";
nouns = nounString.split(" ");
nouns.forEach(noun => {
irregulars[noun] = [
noun.replace(/man$/, "mannen"),
noun.replace(/man$/, "lieden"),
noun.replace(/man$/, "lui")
];
});
nounString = "barman bosjesman boeman dronkeman ijscoman jongeman kiesman kikvorsman krantenman leenman medicijnman melkman muzelman Noorman olieman onderwijsman orgelman partijman politieman sandwichman schillenman spoorwegman stroman stuntman vakbondsman vuilnisman weerman wetenschapsman wildeman";
nouns = nounString.split(" ");
nouns.forEach(noun => {
irregulars[noun] = noun.replace(/man$/, "mannen");
});
let data = JSON.stringify(irregulars);
fs.writeFile(path.join(__dirname, outputFile), data, err => {
console.log("done");
});