diff --git a/data/nounTemplates.tsv b/data/nounTemplates.tsv new file mode 100644 index 000000000..46460796f --- /dev/null +++ b/data/nounTemplates.tsv @@ -0,0 +1,20 @@ +masc fem neutr mascPl femPl neutrPl +-log -lożka -logum/-loże -logowie -lożki -loża +-wy -wa -we -wi -we -we +-sta -stka -stum/-szcze -ści -stki -sta/-szcza +-ta -tka -tum -ci -tki -ta +-ny -na -ne -ni -ne -ne +-graf -grafka -grafum -grafowie -grafki -grafa +-ca -czyni -cza -cy -czynie -cza +-k -czka -kum/-cze/-czko -cy -czki -cza/-czka +-ciel -cielka -cieło/ciełło -ciele -cielki -cieła/-ciełła +-r -rka -rum -rzy -rki -rza +-k -czka -czę -cy -czki -częta +-n -nka -nię/-no/-nko -ni -nki -nięta/-na/-nka +-n -nka -num/-no/-nko -ni -nki -na/-nka +-usz -uszka -um -usze -uszki -a +-nt -ntka -ntum -nci -ntki -nta +-rz -rka -rzum/-rzo/-rko -rzy -rki -rza/-rka +-t -tka -tum -ci -tki -ta +-nom -nomka -nomum -nomowie -nomki -noma +-cz -czka -czko/-czo -cze -czki -czka/-cza diff --git a/src/data.js b/src/data.js index 8844ffd9b..aa23dbcfd 100644 --- a/src/data.js +++ b/src/data.js @@ -62,18 +62,18 @@ export const getSources = (selectedTemplate) => { return sources; } -export const nounTemplates = [ - new NounTemplate(['log'], ['lożka'], ['logum'], ['logowie'], ['lożki'], ['loga', 'loża']), - new NounTemplate([''], ['ka'], ['um'], ['owie'], ['ki'], ['a']), - new NounTemplate(['ca'], ['czyni'], ['cum'], ['cy'], ['czynie'], ['ca']), - new NounTemplate(['k'], ['czka'], ['kum', 'czę'], ['cy'], ['czki'], ['ka', 'cza']), - new NounTemplate(['t'], ['tka'], ['tum'], ['ci'], ['tki'], ['ta']), - new NounTemplate(['sta'], ['stka'], ['stum', 'szczę'], ['ści'], ['stki'], ['sta', 'szcza']), - new NounTemplate(['n'], ['nka'], ['nię', 'num'], ['ni'], ['nki'], ['na', 'ństwo', 'nięta']), - new NounTemplate(['wy'], ['wa'], ['we'], ['wi'], ['we'], ['we']), - new NounTemplate(['ny'], ['na'], ['ne'], ['ni'], ['ne'], ['ne']), - new NounTemplate(['rz'], ['rka'], ['rzę', 'rzum'], ['rze'], ['rki'], ['rzęta', 'rza']), - new NounTemplate(['er'], ['ra'], ['rum'], ['rowie'], ['ry'], ['ra']), -]; +import nounTemplatesRaw from '../data/nounTemplates.tsv'; +export const nounTemplates = buildList(function* () { + for (let t of nounTemplatesRaw) { + yield new NounTemplate( + t.masc.replace(/-/g, '').split('/'), + t.fem.replace(/-/g, '').split('/'), + t.neutr.replace(/-/g, '').split('/'), + t.mascPl.replace(/-/g, '').split('/'), + t.femPl.replace(/-/g, '').split('/'), + t.neutrPl.replace(/-/g, '').split('/'), + ); + } +}); export const separators = ['ono/jego', 'onu/jenu', 'oni/ich', 'onæ/jæ', 'vono/vego', 'on&ona'];