Load definitions from online dictionary

This change adds the ability to load definitions of words from the
University of Wisconsin Online Icelandic Dictionary at
https://digicoll.library.wisc.edu/IcelOnline/Search.TEId.html

The input file may now contain root words without pre-loaded
definitions. The definitions will be loaded from the UW Online
Dictionary and cached locally.

Lookups are rate-limited to 1 request per second, so it will
take a while to load a very long list of words.
This commit is contained in:
Seth Morabito 2021-06-14 17:10:35 -07:00
parent 7846174cce
commit e996940789
8 changed files with 1526 additions and 381 deletions

1099
Cargo.lock generated

File diff suppressed because it is too large Load Diff

View File

@ -5,7 +5,13 @@ authors = ["Seth Morabito <web@loomcom.com>"]
edition = "2018"
[dependencies]
genanki-rs = "0.1"
clap = "2"
csv = "1.1"
genanki-rs = "0.1"
rand = "0.8"
clap = "2"
regex = "1.5"
reqwest = "0.11"
select = "0.6.0-alpha.1"
serde_json = "1.0"
serde = "1.0"
tokio = { version = "1.6", features = ["full"] }

2
rustfmt.toml Normal file
View File

@ -0,0 +1,2 @@
edition = "2018"
use_small_heuristics = "max"

View File

@ -1,79 +1,79 @@
alþjóðlegur international
appelsínugulur orange
auðveldur easy
áhugasamur interested, keen
ánægjulegur delightful
bjartur bright
blár blue
bleikur pink
brúnn brown
dapur 1. sad, depressed; 2. poor, inadequate
dimmur dark
duglegur hard-working
erfiður hard, difficult
fallegur beautiful
félagslyndur sociable
fjólublár purple
fjölbreyttur varied, many-sided
flestur most
frábær great, excellent
frekur pushy, forward
fróður knowledgeable, learned
frægur famous
fyndinn witty, funny
gamall old
gáfaður intelligent
glaður 1. glad, happy, cheerful; 2. bright
glæsilegur splendid, magnificent, elegant
grár grey
grænn green
gulur yellow
hamingjusamur happy
heimsfrægur world-famous
heimskur stupid
heitur hot
hr warm
hreinn 1. clean; 2. pure
hress 1. fit, well; 2. in high spirits, good form
hvítur white
hæfileikaríkur talented
hægur 1. easy, convenient; 2. possible; 3. calm, quiet, slow
kaldur cold
kátur cheerful, merry, jolly
kveðinn definite, certain
kvíðinn fearful, anxious
latur lazy
leiðinlegur dull, boring
léttur 1. light; 2. easy, light; 3. light, nimble; 4. cheerful, merry
lítill little
ljótur ugly
margur many
nógur enough, sufficient
nýlegur recent
nýr new
ótrúlegur unbelievable
óvinsæll unpopular
óþekktur unknown
rauður red
rólegur 1. calm, quiet, tranquil; 2. slow
saddur full, replete
sérstakur unusual, special
skemmtilegur fun, entertaining
skýr intelligent
sorglegur tragic, sad
spennandi thrilling, exciting
spenntur 1. expectant, eager, anxious; 2. tense, nervous, keyed up
stórkostlegur great, magnificent, splendid
svangur hungry
svartur black
svolítill a little bit
tilbúinn ready, prepared
ungur young
vinsæll popular
vondur bad, evil
yndislegur wonderful, marvelous
þreyttur tired, exhausted, fatigued
þröngur crowded, confied, narrow
þunglyndur depressed
þyrstur thirsty
örugglega 1. certainly, definitely; 2. with assurance
alþjóðlegur "{""translations"":[{""meaning"":""international"",""usage"":null}]}"
appelsínugulur "{""translations"":[{""meaning"":""orange, orange-colored/(UK) coloured"",""usage"":null}]}"
auðveldur "{""translations"":[{""meaning"":""easy, simple"",""usage"":null}]}"
bjartur "{""translations"":[{""meaning"":""bright, clear, shining"",""usage"":null}]}"
bleikur "{""translations"":[{""meaning"":""pink, pale"",""usage"":null}]}"
blár "{""translations"":[{""meaning"":""blue"",""usage"":null},{""meaning"":""unadulterated, pure"",""usage"":""eintómur""},{""meaning"":""be unaffected, natural"",""usage"":null}]}"
brúnn "{""translations"":[{""meaning"":""brown"",""usage"":null}]}"
dapur "{""translations"":[{""meaning"":""sad, depressed"",""usage"":""hryggur""},{""meaning"":""poor, inadequate"",""usage"":""lélegur""}]}"
dimmur "{""translations"":[{""meaning"":""dark"",""usage"":""myrkur""},{""meaning"":""deep"",""usage"":""um rödd""},{""meaning"":""grave"",""usage"":""í málfr""}]}"
duglegur "{""translations"":[{""meaning"":""energetic, hard-working, efficient"",""usage"":null}]}"
erfiður "{""translations"":[{""meaning"":""difficult, hard"",""usage"":""torveldur""},{""meaning"":""wearying, fatiguing"",""usage"":""þreytandi""},{""meaning"":""troublesome"",""usage"":""ódæll""},{""meaning"":""stiff-necked, unwielding"",""usage"":""ósveigjanlegur""}]}"
fallegur "{""translations"":[{""meaning"":""beautiful"",""usage"":null}]}"
fjólublár "{""translations"":[{""meaning"":""violet"",""usage"":null}]}"
fjölbreyttur "{""translations"":[{""meaning"":""varied, many-sided"",""usage"":null}]}"
flestur "{""translations"":[{""meaning"":""many, a lot"",""usage"":""um mergð""},{""meaning"":""much, many things"",""usage"":""um mörg atriði""}]}"
frekur "{""translations"":[{""meaning"":""pushy, forward"",""usage"":null}]}"
frábær "{""translations"":[{""meaning"":""distinguished, excellent"",""usage"":null}]}"
frægur "{""translations"":[{""meaning"":""famous"",""usage"":null}]}"
fróður "{""translations"":[{""meaning"":""knowledgeable, learned, erudite, well-read"",""usage"":null}]}"
fyndinn "{""translations"":[{""meaning"":""witty, funny"",""usage"":null}]}"
félagslyndur "{""translations"":[{""meaning"":""sociable, gregarious"",""usage"":null}]}"
gamall "{""translations"":[{""meaning"":""old, ancient"",""usage"":null}]}"
glaður "{""translations"":[{""meaning"":""glad, happy, cheerful"",""usage"":""kátur""},{""meaning"":""bright"",""usage"":""bjartur""}]}"
glæsilegur "{""translations"":[{""meaning"":""splendid, magnificent, elegant"",""usage"":null}]}"
grár "{""translations"":[{""meaning"":""grey"",""usage"":null},{""meaning"":""white horse"",""usage"":null},{""meaning"":""deal harshly with sby"",""usage"":null}]}"
grænn "{""translations"":[{""meaning"":""green"",""usage"":null}]}"
gulur "{""translations"":[{""meaning"":""yellow"",""usage"":null}]}"
gáfaður "{""translations"":[{""meaning"":""intelligent"",""usage"":null}]}"
hamingjusamur "{""translations"":[{""meaning"":""happy"",""usage"":null}]}"
heimsfrægur "{""translations"":[{""meaning"":""world-famous"",""usage"":null}]}"
heimskur "{""translations"":[{""meaning"":""stupid"",""usage"":null}]}"
heitur "{""translations"":[{""meaning"":""hot, warm"",""usage"":null}]}"
hlýr "{""translations"":[{""meaning"":""warm"",""usage"":null}]}"
hreinn "{""translations"":[{""meaning"":""clean"",""usage"":null},{""meaning"":""pure"",""usage"":""óblandaður""},{""meaning"":""it is not completely clear"",""usage"":null}]}"
hress "{""translations"":[{""meaning"":""fit, well"",""usage"":""heilsugóður""},{""meaning"":""in high spirits, in good form"",""usage"":""kátur""}]}"
hvítur "{""translations"":[{""meaning"":""white"",""usage"":null}]}"
hæfileikaríkur "{""translations"":[{""meaning"":""talented"",""usage"":null}]}"
hægur "{""translations"":[{""meaning"":""easy, convenient"",""usage"":""auðveldur""},{""meaning"":""possible"",""usage"":""mögulegur""},{""meaning"":""calm, quiet, slow"",""usage"":""stilltur""}]}"
kaldur "{""translations"":[{""meaning"":""cold"",""usage"":null}]}"
kveðinn "{""translations"":[{""meaning"":""say"",""usage"":""segja""},{""meaning"":""compose"",""usage"":""yrkja""},{""meaning"":""chant, intone"",""usage"":""syngja""},{""meaning"":""say of oneself"",""usage"":null},{""meaning"":""lay down, pronounce"",""usage"":""phrases""}]}"
kvíðinn "{""translations"":[{""meaning"":""fearful, anxious, apprehensive"",""usage"":null}]}"
kátur "{""translations"":[{""meaning"":""cheerful, merry, jolly"",""usage"":null}]}"
latur "{""translations"":[{""meaning"":""lazy"",""usage"":null}]}"
leiðinlegur "{""translations"":[{""meaning"":""dull, boring, tedious"",""usage"":""þreytandi""},{""meaning"":""sad"",""usage"":""sorglegur""}]}"
ljótur "{""translations"":[{""meaning"":""ugly"",""usage"":""ófagur""},{""meaning"":""bad"",""usage"":""slæmur""}]}"
léttur "{""translations"":[{""meaning"":""light"",""usage"":""ekki þungur""},{""meaning"":""easy, light"",""usage"":""ekki erfiður""},{""meaning"":""light, nimble"",""usage"":""léttfær""},{""meaning"":""cheerful, merry"",""usage"":""glaður""}]}"
lítill "{""translations"":[{""meaning"":""small, short"",""usage"":""smár""},{""meaning"":""little, insignificant"",""usage"":""óverulegur""},{""meaning"":""short"",""usage"":""um tíma""},{""meaning"":""less than average"",""usage"":null},{""meaning"":""at least"",""usage"":null}]}"
margur "{""translations"":[{""meaning"":""many, a lot"",""usage"":""um mergð""},{""meaning"":""much, many things"",""usage"":""um mörg atriði""}]}"
nógur "{""translations"":[{""meaning"":""enough, sufficient, satisfactory"",""usage"":null}]}"
nýlegur "{""translations"":[{""meaning"":""almost new, recent"",""usage"":null}]}"
nýr "{""translations"":[{""meaning"":""new, fresh"",""usage"":null}]}"
rauður "{""translations"":[{""meaning"":""red"",""usage"":null}]}"
rólegur "{""translations"":[{""meaning"":""calm, quiet, tranquil"",""usage"":""stilltur""},{""meaning"":""slow"",""usage"":""hægur""}]}"
saddur "{""translations"":[{""meaning"":""full, replete"",""usage"":null}]}"
skemmtilegur "{""translations"":[{""meaning"":""amusing, funny"",""usage"":""fyndinn""},{""meaning"":""entertaining, diverting"",""usage"":""sem veitir skemmtun""},{""meaning"":""interesting"",""usage"":""forvitnilegur""}]}"
skýr "{""translations"":[{""meaning"":""clear, distinct"",""usage"":""greinilegur""},{""meaning"":""lucid, readily-intelligible"",""usage"":""auðskilinn""},{""meaning"":""sharp, quick, intelligent"",""usage"":""greindur""}]}"
sorglegur "{""translations"":[{""meaning"":""tragic, sad"",""usage"":""harmrænn""},{""meaning"":""sad, distressed"",""usage"":""ókátur""}]}"
spennandi "{""translations"":[{""meaning"":""thrilling, exciting"",""usage"":null}]}"
spenntur "{""translations"":[{""meaning"":""expectant, eager, anxious"",""usage"":""eftirvæntingarfullur""},{""meaning"":""tense, nervous, keyed up"",""usage"":""taugastrekktur""},{""meaning"":""be keen on sth, be excited about sth"",""usage"":null}]}"
stórkostlegur "{""translations"":[{""meaning"":""great, magnificent, splendid"",""usage"":null}]}"
svangur "{""translations"":[{""meaning"":""hungry"",""usage"":null}]}"
svartur "{""translations"":[{""meaning"":""black"",""usage"":null}]}"
svolítill "{""translations"":[{""meaning"":""small, little"",""usage"":""lítill""},{""meaning"":""a little"",""usage"":""dálítið""}]}"
sérstakur "{""translations"":[{""meaning"":""separate"",""usage"":""einn sér""},{""meaning"":""particular"",""usage"":""frábrugðinn""},{""meaning"":""special, unusual"",""usage"":""óvenjulegur""}]}"
tilbúinn "{""translations"":[{""meaning"":""ready"",""usage"":""reiðubúinn""},{""meaning"":""prepared"",""usage"":""viðbúinn""},{""meaning"":""fictional, fictitious"",""usage"":""upploginn""},{""meaning"":""ready-made"",""usage"":""fyrirframgerður""},{""meaning"":""artificial"",""usage"":""unninn af mönnum""}]}"
ungur "{""translations"":[{""meaning"":""young"",""usage"":null}]}"
vinsæll "{""translations"":[{""meaning"":""popular"",""usage"":null}]}"
vondur "{""translations"":[{""meaning"":""bad, evil"",""usage"":""illur""},{""meaning"":""angry, mad"",""usage"":""reiður""},{""meaning"":""poor, bad, in bad shape"",""usage"":""lélegur""},{""meaning"":""he is a very bad man"",""usage"":null}]}"
yndislegur "{""translations"":[{""meaning"":""wonderful, marvellous"",""usage"":null}]}"
áhugasamur "{""translations"":[{""meaning"":""interested, keen"",""usage"":null}]}"
ánægjulegur "{""translations"":[{""meaning"":""enjoyable, pleasant, delightful"",""usage"":null}]}"
ótrúlegur "{""translations"":[{""meaning"":""unbelievable"",""usage"":null}]}"
óvinsæll "{""translations"":[{""meaning"":""unpopular, disliked"",""usage"":null}]}"
óþekktur "{""translations"":[{""meaning"":""unknown"",""usage"":null}]}"
örugglega "{""translations"":[{""meaning"":""certainly, definitely"",""usage"":""áreiðanlega""},{""meaning"":""with assurance, securely"",""usage"":""af öryggi""}]}"
þreyttur "{""translations"":[{""meaning"":""tired, exhausted, fatigued"",""usage"":null}]}"
þröngur "{""translations"":[{""meaning"":""crowded, confined"",""usage"":""rúmlítill""},{""meaning"":""narrow"",""usage"":""krappur""},{""meaning"":""difficult"",""usage"":""erfiður""},{""meaning"":""close-fitting"",""usage"":""aðskorinn""}]}"
þunglyndur "{""translations"":[{""meaning"":""sad, melancholy, depressed"",""usage"":null}]}"
þyrstur "{""translations"":[{""meaning"":""thirsty"",""usage"":null}]}"

1 alþjóðlegur international {"translations":[{"meaning":"international","usage":null}]}
2 appelsínugulur orange {"translations":[{"meaning":"orange, orange-colored/(UK) coloured","usage":null}]}
3 auðveldur easy {"translations":[{"meaning":"easy, simple","usage":null}]}
4 áhugasamur bjartur interested, keen {"translations":[{"meaning":"bright, clear, shining","usage":null}]}
5 ánægjulegur bleikur delightful {"translations":[{"meaning":"pink, pale","usage":null}]}
6 bjartur blár bright {"translations":[{"meaning":"blue","usage":null},{"meaning":"unadulterated, pure","usage":"eintómur"},{"meaning":"be unaffected, natural","usage":null}]}
7 blár brúnn blue {"translations":[{"meaning":"brown","usage":null}]}
8 bleikur dapur pink {"translations":[{"meaning":"sad, depressed","usage":"hryggur"},{"meaning":"poor, inadequate","usage":"lélegur"}]}
9 brúnn dimmur brown {"translations":[{"meaning":"dark","usage":"myrkur"},{"meaning":"deep","usage":"um rödd"},{"meaning":"grave","usage":"í málfr"}]}
10 dapur duglegur 1. sad, depressed; 2. poor, inadequate {"translations":[{"meaning":"energetic, hard-working, efficient","usage":null}]}
11 dimmur erfiður dark {"translations":[{"meaning":"difficult, hard","usage":"torveldur"},{"meaning":"wearying, fatiguing","usage":"þreytandi"},{"meaning":"troublesome","usage":"ódæll"},{"meaning":"stiff-necked, unwielding","usage":"ósveigjanlegur"}]}
12 duglegur fallegur hard-working {"translations":[{"meaning":"beautiful","usage":null}]}
13 erfiður fjólublár hard, difficult {"translations":[{"meaning":"violet","usage":null}]}
14 fallegur fjölbreyttur beautiful {"translations":[{"meaning":"varied, many-sided","usage":null}]}
15 félagslyndur flestur sociable {"translations":[{"meaning":"many, a lot","usage":"um mergð"},{"meaning":"much, many things","usage":"um mörg atriði"}]}
16 fjólublár frekur purple {"translations":[{"meaning":"pushy, forward","usage":null}]}
17 fjölbreyttur frábær varied, many-sided {"translations":[{"meaning":"distinguished, excellent","usage":null}]}
18 flestur frægur most {"translations":[{"meaning":"famous","usage":null}]}
19 frábær fróður great, excellent {"translations":[{"meaning":"knowledgeable, learned, erudite, well-read","usage":null}]}
20 frekur fyndinn pushy, forward {"translations":[{"meaning":"witty, funny","usage":null}]}
21 fróður félagslyndur knowledgeable, learned {"translations":[{"meaning":"sociable, gregarious","usage":null}]}
22 frægur gamall famous {"translations":[{"meaning":"old, ancient","usage":null}]}
23 fyndinn glaður witty, funny {"translations":[{"meaning":"glad, happy, cheerful","usage":"kátur"},{"meaning":"bright","usage":"bjartur"}]}
24 gamall glæsilegur old {"translations":[{"meaning":"splendid, magnificent, elegant","usage":null}]}
25 gáfaður grár intelligent {"translations":[{"meaning":"grey","usage":null},{"meaning":"white horse","usage":null},{"meaning":"deal harshly with sby","usage":null}]}
26 glaður grænn 1. glad, happy, cheerful; 2. bright {"translations":[{"meaning":"green","usage":null}]}
27 glæsilegur gulur splendid, magnificent, elegant {"translations":[{"meaning":"yellow","usage":null}]}
28 grár gáfaður grey {"translations":[{"meaning":"intelligent","usage":null}]}
29 grænn hamingjusamur green {"translations":[{"meaning":"happy","usage":null}]}
30 gulur heimsfrægur yellow {"translations":[{"meaning":"world-famous","usage":null}]}
31 hamingjusamur heimskur happy {"translations":[{"meaning":"stupid","usage":null}]}
32 heimsfrægur heitur world-famous {"translations":[{"meaning":"hot, warm","usage":null}]}
33 heimskur hlýr stupid {"translations":[{"meaning":"warm","usage":null}]}
34 heitur hreinn hot {"translations":[{"meaning":"clean","usage":null},{"meaning":"pure","usage":"óblandaður"},{"meaning":"it is not completely clear","usage":null}]}
35 hlýr hress warm {"translations":[{"meaning":"fit, well","usage":"heilsugóður"},{"meaning":"in high spirits, in good form","usage":"kátur"}]}
36 hreinn hvítur 1. clean; 2. pure {"translations":[{"meaning":"white","usage":null}]}
37 hress hæfileikaríkur 1. fit, well; 2. in high spirits, good form {"translations":[{"meaning":"talented","usage":null}]}
38 hvítur hægur white {"translations":[{"meaning":"easy, convenient","usage":"auðveldur"},{"meaning":"possible","usage":"mögulegur"},{"meaning":"calm, quiet, slow","usage":"stilltur"}]}
39 hæfileikaríkur kaldur talented {"translations":[{"meaning":"cold","usage":null}]}
40 hægur kveðinn 1. easy, convenient; 2. possible; 3. calm, quiet, slow {"translations":[{"meaning":"say","usage":"segja"},{"meaning":"compose","usage":"yrkja"},{"meaning":"chant, intone","usage":"syngja"},{"meaning":"say of oneself","usage":null},{"meaning":"lay down, pronounce","usage":"phrases"}]}
41 kaldur kvíðinn cold {"translations":[{"meaning":"fearful, anxious, apprehensive","usage":null}]}
42 kátur cheerful, merry, jolly {"translations":[{"meaning":"cheerful, merry, jolly","usage":null}]}
43 kveðinn latur definite, certain {"translations":[{"meaning":"lazy","usage":null}]}
44 kvíðinn leiðinlegur fearful, anxious {"translations":[{"meaning":"dull, boring, tedious","usage":"þreytandi"},{"meaning":"sad","usage":"sorglegur"}]}
45 latur ljótur lazy {"translations":[{"meaning":"ugly","usage":"ófagur"},{"meaning":"bad","usage":"slæmur"}]}
46 leiðinlegur léttur dull, boring {"translations":[{"meaning":"light","usage":"ekki þungur"},{"meaning":"easy, light","usage":"ekki erfiður"},{"meaning":"light, nimble","usage":"léttfær"},{"meaning":"cheerful, merry","usage":"glaður"}]}
47 léttur lítill 1. light; 2. easy, light; 3. light, nimble; 4. cheerful, merry {"translations":[{"meaning":"small, short","usage":"smár"},{"meaning":"little, insignificant","usage":"óverulegur"},{"meaning":"short","usage":"um tíma"},{"meaning":"less than average","usage":null},{"meaning":"at least","usage":null}]}
48 lítill margur little {"translations":[{"meaning":"many, a lot","usage":"um mergð"},{"meaning":"much, many things","usage":"um mörg atriði"}]}
49 ljótur nógur ugly {"translations":[{"meaning":"enough, sufficient, satisfactory","usage":null}]}
50 margur nýlegur many {"translations":[{"meaning":"almost new, recent","usage":null}]}
51 nógur nýr enough, sufficient {"translations":[{"meaning":"new, fresh","usage":null}]}
52 nýlegur rauður recent {"translations":[{"meaning":"red","usage":null}]}
53 nýr rólegur new {"translations":[{"meaning":"calm, quiet, tranquil","usage":"stilltur"},{"meaning":"slow","usage":"hægur"}]}
54 ótrúlegur saddur unbelievable {"translations":[{"meaning":"full, replete","usage":null}]}
55 óvinsæll skemmtilegur unpopular {"translations":[{"meaning":"amusing, funny","usage":"fyndinn"},{"meaning":"entertaining, diverting","usage":"sem veitir skemmtun"},{"meaning":"interesting","usage":"forvitnilegur"}]}
56 óþekktur skýr unknown {"translations":[{"meaning":"clear, distinct","usage":"greinilegur"},{"meaning":"lucid, readily-intelligible","usage":"auðskilinn"},{"meaning":"sharp, quick, intelligent","usage":"greindur"}]}
57 rauður sorglegur red {"translations":[{"meaning":"tragic, sad","usage":"harmrænn"},{"meaning":"sad, distressed","usage":"ókátur"}]}
58 rólegur spennandi 1. calm, quiet, tranquil; 2. slow {"translations":[{"meaning":"thrilling, exciting","usage":null}]}
59 saddur spenntur full, replete {"translations":[{"meaning":"expectant, eager, anxious","usage":"eftirvæntingarfullur"},{"meaning":"tense, nervous, keyed up","usage":"taugastrekktur"},{"meaning":"be keen on sth, be excited about sth","usage":null}]}
60 sérstakur stórkostlegur unusual, special {"translations":[{"meaning":"great, magnificent, splendid","usage":null}]}
61 skemmtilegur svangur fun, entertaining {"translations":[{"meaning":"hungry","usage":null}]}
62 skýr svartur intelligent {"translations":[{"meaning":"black","usage":null}]}
63 sorglegur svolítill tragic, sad {"translations":[{"meaning":"small, little","usage":"lítill"},{"meaning":"a little","usage":"dálítið"}]}
64 spennandi sérstakur thrilling, exciting {"translations":[{"meaning":"separate","usage":"einn sér"},{"meaning":"particular","usage":"frábrugðinn"},{"meaning":"special, unusual","usage":"óvenjulegur"}]}
65 spenntur tilbúinn 1. expectant, eager, anxious; 2. tense, nervous, keyed up {"translations":[{"meaning":"ready","usage":"reiðubúinn"},{"meaning":"prepared","usage":"viðbúinn"},{"meaning":"fictional, fictitious","usage":"upploginn"},{"meaning":"ready-made","usage":"fyrirframgerður"},{"meaning":"artificial","usage":"unninn af mönnum"}]}
66 stórkostlegur ungur great, magnificent, splendid {"translations":[{"meaning":"young","usage":null}]}
67 svangur vinsæll hungry {"translations":[{"meaning":"popular","usage":null}]}
68 svartur vondur black {"translations":[{"meaning":"bad, evil","usage":"illur"},{"meaning":"angry, mad","usage":"reiður"},{"meaning":"poor, bad, in bad shape","usage":"lélegur"},{"meaning":"he is a very bad man","usage":null}]}
69 svolítill yndislegur a little bit {"translations":[{"meaning":"wonderful, marvellous","usage":null}]}
70 tilbúinn áhugasamur ready, prepared {"translations":[{"meaning":"interested, keen","usage":null}]}
71 ungur ánægjulegur young {"translations":[{"meaning":"enjoyable, pleasant, delightful","usage":null}]}
72 vinsæll ótrúlegur popular {"translations":[{"meaning":"unbelievable","usage":null}]}
73 vondur óvinsæll bad, evil {"translations":[{"meaning":"unpopular, disliked","usage":null}]}
74 yndislegur óþekktur wonderful, marvelous {"translations":[{"meaning":"unknown","usage":null}]}
75 þreyttur örugglega tired, exhausted, fatigued {"translations":[{"meaning":"certainly, definitely","usage":"áreiðanlega"},{"meaning":"with assurance, securely","usage":"af öryggi"}]}
76 þröngur þreyttur crowded, confied, narrow {"translations":[{"meaning":"tired, exhausted, fatigued","usage":null}]}
77 þunglyndur þröngur depressed {"translations":[{"meaning":"crowded, confined","usage":"rúmlítill"},{"meaning":"narrow","usage":"krappur"},{"meaning":"difficult","usage":"erfiður"},{"meaning":"close-fitting","usage":"aðskorinn"}]}
78 þyrstur þunglyndur thirsty {"translations":[{"meaning":"sad, melancholy, depressed","usage":null}]}
79 örugglega þyrstur 1. certainly, definitely; 2. with assurance {"translations":[{"meaning":"thirsty","usage":null}]}

View File

@ -1,155 +1,155 @@
aðalhlutverk main role
afmælisveisla birthday party
anddyri entrance, vestibule
áhorfandi spectator, onlooker
á river, stream
belti 1. belt; 2. zone
birta light, brightness
bíll car, automobile
bíó movie theater, cinema
ómynd film
blaðagrein newspaper article
borð 1. table, desk; 2. plank, board
borg 1. city, town; 2. castle; 3. rocky hill; 4. shelter
bók book
bókmenntafræði literary studies, literature
bróðir brother
dagblað daily newspaper, daily
dagur day
dalur 1. valley, dale; 2. dollar
diskur 1. plate; 2. (computer) disk
dót 1. luggage, things; 2. toys; 3. rabble
eignarfall genitive, possessive case
fangelsi prison
farangur luggage, baggage
ferð 1. trip, journey; 2. speed
fjall mountain
forrit 1. computer program; 2. exemplar
forritari computer programmer
framtíð 1. future; 2. future tense
frelsishetja freedom champion
gaman fun, enjoyment
gangstétt sidewalk
gata street, way, path
geisladiskur compact disc, CD
greiða comb
grein 1. branch, bough; 2. subject, field, speciality; 3. article; 4. paragraph; 5. point; 6. consideration
gönguferð walk, hike
handklæði towel
handrit manuscript
hangikjöt smoked meat
haust autumn
hálstafla throat lozenge, cough drop
hár hair
hárþurrka hair dryer
herbergi room
hestur horse
hlutur 1. thing, object; 2. part, share
hlutverk 1. task; 2. mission, role
hreinleiki purity
hús house, home
hörkuvinna (very) hard work
innsetning installation (as a work of art)
kennari teacher
kongur king
kort map
kóramót choir competition
króna 1. Icelandic unit of currency; 2. tree-top, crown of a tree
kvikmynd film, movie
kvöldmatur supper, dinner
kyrrð 1. silence, stillness; 2. peace and quiet
leiðsögumaður travel guide, tour guide
leikstjóri directory (of a film or play)
listamaður artist
listasafn art museum
listaverk work of art
listfræðingur art historian
litur 1. color; 2. dye, coloring; 3. crayon; 4. suit (in cards)
líf life
lýsingarorð adjective
maður 1. person, human being, individual; 2. man; 3. man! (interjection); 4. husband; 5. piece (in chess); 6. one, you
mappa folder, file
matur food
málverk painting
meistari master, maestro
miðbær city center, downtown
miði 1. slip of paper, note; 2. ticket
mikill 1. large, big; 2. much; 3. great
mót 1. meeting, gathering; 2. tournament, meet; 3. mould, form; 4. joint
mynd 1. shape, form; 2. photograph, picture; 3. movie, film; 4. painting, picture; 5. illustration; 6. figure, diagram; 7. voice (grammar)
nafnorð noun, substantive
nammi candy, sweets
nefnifall nominative case
nemandi student, pupil
nóta 1. note (music); 2. bill; 3. receipt; 4. comment, note
ostur cheese
persóna 1. person; 2. personality; 3. character
peysa 1. sweater; 2. blouse (of icelandic national costume)
piltur boy, young man
popp 1. pop music; 2. popcorn
pottur 1. pot; 2. liter; 3. chamber pot; 4. pot, pool (of money); 5. hot pool
rós rose
rúm 1. bed; 2. area, space
rúta bus, coach
safn 1. collection; 2. museum; 3. flock of sheep
sagnorð verb
samband 1. connection, contact; 2. relationship; 3. union, federation
samloka 1. sandwich; 2. shellfish
samúð sympathy, compassion
sápa soap
sími telephone
sjampó shampoo
skinka ham, smoked pork
skógur forest, wood
skór shoe
sonur son
sólarolía suntan oil
sólbekkur 1. sunchair; 2. window sill
spjall conversation, chat
steinn stone
stelpa girl
stjórnandi 1. leader; 2. conductor
stjórnmálamaður politician
stóll chair
strákur boy
stytta statue
stærðfræði mathematics
sumar summer
sundbolur swimsuit, bathing suit
sundföt bathing suit
sundgleraugu swimming goggles
sundskýla swimming trunks
súpa soup
svefnpoki sleeping bag
svæði area, zone
systkini siblings
söguþráður plot
söngkona singer (female)
söngvari singer
taska 1. suitcase; 2. bag, handbag; 3. briefcase, case; 4. satchel
torg city square
tónlistarmaður 1. musician; 2. composer
tónlist music
tækifæri opportunity
tölva computer
tölvupóstur e-mail
undantekning exception
uppáhald pet, favorite
upplýsing 1. information; 2. Enlightenment; 3. illumination, lighting
vatn 1. water; 2. lake
vefsíða web page
veitingahús restaurant
veitingastaður restaurant
verðlaun 1. prize, award; 2. reward
verkefni task, assignment, project
vetur winter
vél 1. motor, engine; 2. machine
vina girl friend
vinur friend
vor spring
þágufall dative case
þjóðlistasafn national gallery
þjóðminjasafn national museum
þolfall accusative case
æfing 1. training, practice; 2. exercise, drill; 3. rehersal
öld 1. age (figurative); 2. century
afmælisveisla "{""translations"":[{""meaning"":""birthday party"",""usage"":null}]}"
anddyri "{""translations"":[{""meaning"":""entrance, vestibule"",""usage"":null}]}"
aðalhlutverk "{""translations"":[{""meaning"":""main role"",""usage"":null}]}"
belti "{""translations"":[{""meaning"":""belt"",""usage"":""mittisól""},{""meaning"":""zone"",""usage"":""svæði""},{""meaning"":""caterpillar tread"",""usage"":""keðja""}]}"
birta "{""translations"":[{""meaning"":""light, brightness"",""usage"":null}]}"
blaðagrein "{""translations"":[{""meaning"":""newspaper article"",""usage"":null}]}"
borg "{""translations"":[{""meaning"":""city, town"",""usage"":""bær""},{""meaning"":""castle"",""usage"":""kastali""},{""meaning"":""rocky hill"",""usage"":""klettahæð""},{""meaning"":""shelter"",""usage"":""byrgi""}]}"
borð "{""translations"":[{""meaning"":""table, desk"",""usage"":""plata á fótum""},{""meaning"":""plank, board"",""usage"":""planki""},{""meaning"":""go aboard, go on board"",""usage"":""skipshlið""},{""meaning"":""of the same caliber/(UK) calibre as sby"",""usage"":""phrases""}]}"
bróðir "{""translations"":[{""meaning"":""brother"",""usage"":null}]}"
ll "{""translations"":[{""meaning"":""car, automobile"",""usage"":null}]}"
bíó "{""translations"":[{""meaning"":""movie theater, (UK) cinema"",""usage"":null}]}"
bíómynd "{""translations"":[{""meaning"":""film"",""usage"":null}]}"
bók "{""translations"":[{""meaning"":""book"",""usage"":null}]}"
bókmenntafræði "{""translations"":[{""meaning"":""literary studies, literature"",""usage"":null}]}"
dagblað "{""translations"":[{""meaning"":""daily (news)paper, daily"",""usage"":null}]}"
dagur "{""translations"":[{""meaning"":""day"",""usage"":null}]}"
dalur "{""translations"":[{""meaning"":""valley, dale"",""usage"":""lægð""},{""meaning"":""dollar"",""usage"":""mynt""}]}"
diskur "{""translations"":[{""meaning"":""plate"",""usage"":null},{""meaning"":""disk/disc"",""usage"":""í tölvu""}]}"
dót "{""translations"":[{""meaning"":""luggage, things"",""usage"":""farangur""},{""meaning"":""toys"",""usage"":""leikföng""},{""meaning"":""rabble"",""usage"":""hyski""}]}"
eignarfall "{""translations"":[{""meaning"":""genitive, possessive case"",""usage"":null}]}"
fangelsi "{""translations"":[{""meaning"":""prison"",""usage"":null}]}"
farangur "{""translations"":[{""meaning"":""luggage, baggage"",""usage"":null}]}"
ferð "{""translations"":[{""meaning"":""trip, journey"",""usage"":""för""},{""meaning"":""speed"",""usage"":""hraði""}]}"
fjall "{""translations"":[{""meaning"":""mountain"",""usage"":null}]}"
forrit "{""translations"":[{""meaning"":""program, (UK) programme"",""usage"":""tölvu~""},{""meaning"":""exemplar"",""usage"":""heimild, sem skrifað er eftir""}]}"
forritari "{""translations"":[]}"
framtíð "{""translations"":[{""meaning"":""future"",""usage"":null},{""meaning"":""future tense"",""usage"":""í málfr""}]}"
frelsishetja "{""translations"":[{""meaning"":""frredom champion"",""usage"":null}]}"
gaman "{""translations"":[{""meaning"":""fun, enjoyment"",""usage"":null}]}"
gangstétt "{""translations"":[{""meaning"":""sidewalk, (UK) pavement"",""usage"":null}]}"
gata "{""translations"":[{""meaning"":""street, way, path"",""usage"":null}]}"
geisladiskur "{""translations"":[{""meaning"":""compact disc, CD"",""usage"":null}]}"
grein "{""translations"":[{""meaning"":""branch, bough"",""usage"":""á tré""},{""meaning"":""subject, field, speciality, specialty"",""usage"":""fag""},{""meaning"":""article"",""usage"":""blaða~""},{""meaning"":""paragraph"",""usage"":""laga~""},{""meaning"":""point"",""usage"":""atriði""},{""meaning"":""consideration"",""usage"":""athugun""}]}"
greiða "{""translations"":[{""meaning"":""pay"",""usage"":""borga""},{""meaning"":""comb"",""usage"":null}]}"
gönguferð "{""translations"":[{""meaning"":""walk, hike"",""usage"":null}]}"
handklæði "{""translations"":[{""meaning"":""towel"",""usage"":null}]}"
handrit "{""translations"":[{""meaning"":""manuscript"",""usage"":null}]}"
hangikjöt "{""translations"":[{""meaning"":""smoked meat (esp lamb)"",""usage"":null}]}"
haust "{""translations"":[{""meaning"":""fall, (UK) autumn"",""usage"":null}]}"
herbergi "{""translations"":[{""meaning"":""room"",""usage"":null}]}"
hestur "{""translations"":[{""meaning"":""horse"",""usage"":null}]}"
hlutur "{""translations"":[{""meaning"":""thing, object"",""usage"":""gripur""},{""meaning"":""part, share"",""usage"":""hluti""}]}"
hlutverk "{""translations"":[{""meaning"":""task"",""usage"":""verkefni""},{""meaning"":""mission, role"",""usage"":""ætlunarverk""}]}"
hreinleiki "{""translations"":[{""meaning"":""purity"",""usage"":null}]}"
hálstafla "{""translations"":[]}"
hár "{""translations"":[{""meaning"":""hair"",""usage"":null}]}"
hárþurrka "{""translations"":[{""meaning"":""dryer"",""usage"":null}]}"
hörkuvinna "{""translations"":[{""meaning"":""(extremely) hard work"",""usage"":null}]}"
hús "{""translations"":[{""meaning"":""house, home"",""usage"":null}]}"
innsetning "{""translations"":[{""meaning"":""installation (as a work of art)"",""usage"":null}]}"
kennari "{""translations"":[{""meaning"":""teacher"",""usage"":null}]}"
kongur "{""translations"":[{""meaning"":""king"",""usage"":null}]}"
kort "{""translations"":[{""meaning"":""map"",""usage"":""landa~""},{""meaning"":""postcard, card"",""usage"":""bréfspjald""}]}"
króna "{""translations"":[{""meaning"":""króna, krone, crown (Icelandic unit of currency = 100 aurar)"",""usage"":""peningur""},{""meaning"":""tree-top, crown of a tree"",""usage"":""trjátoppur""}]}"
kvikmynd "{""translations"":[{""meaning"":""film, movie"",""usage"":null}]}"
kvöldmatur "{""translations"":[{""meaning"":""supper, dinner"",""usage"":null}]}"
kyrrð "{""translations"":[{""meaning"":""silence, stillness"",""usage"":""þögn""},{""meaning"":""peace and quiet"",""usage"":""ró""}]}"
kóramót "{""translations"":[]}"
leikstjóri "{""translations"":[{""meaning"":""director (of a film, play)"",""usage"":null}]}"
leiðsögumaður "{""translations"":[{""meaning"":""guide, travel guide"",""usage"":null}]}"
listamaður "{""translations"":[{""meaning"":""artist"",""usage"":null}]}"
listasafn "{""translations"":[{""meaning"":""art museum"",""usage"":null}]}"
listaverk "{""translations"":[{""meaning"":""work of art"",""usage"":null}]}"
listfræðingur "{""translations"":[{""meaning"":""art historian"",""usage"":null}]}"
litur "{""translations"":[{""meaning"":""color, (UK) colour, hue"",""usage"":""farfi""},{""meaning"":""dye, coloring, (UK) colouring"",""usage"":""litarefni""},{""meaning"":""crayon"",""usage"":""vaxlitur o.s.frv.""},{""meaning"":""suit (in cards)"",""usage"":""í spilum""},{""meaning"":""show interest in sth"",""usage"":null}]}"
líf "{""translations"":[{""meaning"":""life"",""usage"":null}]}"
lýsingarorð "{""translations"":[{""meaning"":""adjective"",""usage"":null}]}"
mappa "{""translations"":[{""meaning"":""folder, file"",""usage"":null}]}"
matur "{""translations"":[{""meaning"":""food"",""usage"":null},{""meaning"":""he knows how to cash in on everything"",""usage"":null}]}"
maður "{""translations"":[{""meaning"":""person, human being, individual"",""usage"":""manneskja""},{""meaning"":""man"",""usage"":""karlmaður""},{""meaning"":""man!"",""usage"":""óformlegt ávarp""},{""meaning"":""husband"",""usage"":""eiginmaður""},{""meaning"":""piece (in chess)"",""usage"":""í skák""},{""meaning"":""one, you"",""usage"":""fornafn""}]}"
meistari "{""translations"":[{""meaning"":""master, maestro (in music)"",""usage"":null}]}"
mikill "{""translations"":[{""meaning"":""large, big"",""usage"":""stór""},{""meaning"":""much"",""usage"":""um magn""},{""meaning"":""great"",""usage"":""stórkostlegur""}]}"
miðbær "{""translations"":[{""meaning"":""city center, downtown area, (UK) city centre"",""usage"":null}]}"
miði "{""translations"":[{""meaning"":""slip of paper, note"",""usage"":""seðill""},{""meaning"":""ticket"",""usage"":""aðgöngumiði""}]}"
mynd "{""translations"":[{""meaning"":""shape, form"",""usage"":""lögun""},{""meaning"":""photo(graph), picture, snapshot"",""usage"":""ljósmynd""},{""meaning"":""movie, (UK) film"",""usage"":""bíómynd""},{""meaning"":""painting, picture"",""usage"":""málverk""},{""meaning"":""illustration"",""usage"":""myndskreyting""},{""meaning"":""figure, diagram"",""usage"":""skýringarmynd""},{""meaning"":""voice (in grammar)"",""usage"":""í málfr""},{""meaning"":""image (metaphor, etc)"",""usage"":""í skáldskap""},{""meaning"":""this is poorly done"",""usage"":""phrases""}]}"
málverk "{""translations"":[{""meaning"":""painting"",""usage"":null}]}"
mót "{""translations"":[{""meaning"":""meeting, gathering"",""usage"":""samkoma""},{""meaning"":""tournament, meet"",""usage"":""keppni""},{""meaning"":""mould, form"",""usage"":""form""},{""meaning"":""joint"",""usage"":""samskeyti""},{""meaning"":""in many different ways"",""usage"":""phrases""}]}"
nafnorð "{""translations"":[{""meaning"":""noun, substantive"",""usage"":null}]}"
nammi "{""translations"":[{""meaning"":""candy, (UK) sweets (baby talk for sth good to eat as inyummy, yummy')"",""usage"":null}]}"
nefnifall "{""translations"":[{""meaning"":""nominative, nominative case"",""usage"":null}]}"
nemandi "{""translations"":[{""meaning"":""student, pupil"",""usage"":null}]}"
nóta "{""translations"":[{""meaning"":""note"",""usage"":""í músík""},{""meaning"":""bill"",""usage"":""reikningur""},{""meaning"":""receipt"",""usage"":""kvittun""},{""meaning"":""comment, note"",""usage"":""athugasemd""},{""meaning"":""be with it, know what is going on"",""usage"":null}]}"
ostur "{""translations"":[{""meaning"":""cheese"",""usage"":null}]}"
persóna "{""translations"":[{""meaning"":""person"",""usage"":""einstaklingur""},{""meaning"":""personality"",""usage"":""persónuleiki""},{""meaning"":""character"",""usage"":""~~ í skáldverki""}]}"
peysa "{""translations"":[{""meaning"":""sweater, (UK) jersey"",""usage"":""ullarpeysa""},{""meaning"":""blouse (of the woman's Icelandic national costume)"",""usage"":""peysufatapeysa""}]}"
piltur "{""translations"":[{""meaning"":""boy, young man"",""usage"":null}]}"
popp "{""translations"":[{""meaning"":""pop music"",""usage"":""tónlist""},{""meaning"":""popcorn"",""usage"":""poppkorn""}]}"
pottur "{""translations"":[{""meaning"":""pot"",""usage"":""ílát""},{""meaning"":""liter, (UK) litre"",""usage"":""mál""},{""meaning"":""chamber pot"",""usage"":""koppur""},{""meaning"":""pot, pool (of money)"",""usage"":""sjóður""},{""meaning"":""hot pool (small extra pool like a hot spring alongside a swimming pool)"",""usage"":""heitur pottur""},{""meaning"":""sth is well/badly prepared"",""usage"":""phrases""}]}"
rós "{""translations"":[{""meaning"":""rose"",""usage"":null}]}"
rúm "{""translations"":[{""meaning"":""bed"",""usage"":""rekkja""},{""meaning"":""area, space"",""usage"":""svæði""}]}"
rúta "{""translations"":[{""meaning"":""coach, bus"",""usage"":""bíll""},{""meaning"":""route"",""usage"":""leið""}]}"
safn "{""translations"":[{""meaning"":""collection"",""usage"":null},{""meaning"":""museum"",""usage"":""stofnun""},{""meaning"":""flock of sheep"",""usage"":""fjárhópur""}]}"
sagnorð "{""translations"":[{""meaning"":""verb"",""usage"":null}]}"
samband "{""translations"":[{""meaning"":""connection, contact"",""usage"":""tengsl""},{""meaning"":""relationship"",""usage"":""~~ fólks""},{""meaning"":""union, federation"",""usage"":""bandalag""}]}"
samloka "{""translations"":[{""meaning"":""sandwich"",""usage"":""brauðsneiðar""},{""meaning"":""shellfish"",""usage"":""skelfiskur""},{""meaning"":""they are inseparable"",""usage"":null}]}"
samúð "{""translations"":[{""meaning"":""sympathy, compassion"",""usage"":null}]}"
sjampó "{""translations"":[{""meaning"":""shampoo"",""usage"":null}]}"
skinka "{""translations"":[{""meaning"":""ham, smoked pork"",""usage"":null}]}"
skógur "{""translations"":[{""meaning"":""forest, wood"",""usage"":null}]}"
skór "{""translations"":[{""meaning"":""shoe"",""usage"":null}]}"
sonur "{""translations"":[{""meaning"":""son"",""usage"":null}]}"
spjall "{""translations"":[{""meaning"":""conversation, chat"",""usage"":null}]}"
steinn "{""translations"":[{""meaning"":""stone"",""usage"":null}]}"
stelpa "{""translations"":[{""meaning"":""girl"",""usage"":null}]}"
stjórnandi "{""translations"":[{""meaning"":""leader"",""usage"":""foringi""},{""meaning"":""conductor"",""usage"":""hljómsveitarstjóri""},{""meaning"":""directors, the management"",""usage"":null}]}"
stjórnmálamaður "{""translations"":[{""meaning"":""politician"",""usage"":null}]}"
strákur "{""translations"":[{""meaning"":""boy"",""usage"":null}]}"
stytta "{""translations"":[{""meaning"":""statue"",""usage"":null}]}"
stærðfræði "{""translations"":[{""meaning"":""math, mathematics"",""usage"":null}]}"
stóll "{""translations"":[{""meaning"":""chair"",""usage"":null}]}"
sumar "{""translations"":[{""meaning"":""summer"",""usage"":null}]}"
sundbolur "{""translations"":[{""meaning"":""swimsuit"",""usage"":null}]}"
sundföt "{""translations"":[{""meaning"":""bathing suit"",""usage"":null}]}"
sundgleraugu "{""translations"":[]}"
sundskýla "{""translations"":[{""meaning"":""swimming trunks"",""usage"":null}]}"
svefnpoki "{""translations"":[{""meaning"":""sleeping bag"",""usage"":null}]}"
svæði "{""translations"":[{""meaning"":""area, zone"",""usage"":null}]}"
systkini "{""translations"":[{""meaning"":""brothers and sisters, siblings"",""usage"":null}]}"
sápa "{""translations"":[{""meaning"":""soap"",""usage"":null}]}"
sími "{""translations"":[{""meaning"":""telephone"",""usage"":null}]}"
sólarolía "{""translations"":[{""meaning"":""suntan oil/lotion"",""usage"":null}]}"
sólbekkur "{""translations"":[{""meaning"":""window sill"",""usage"":null}]}"
söguþráður "{""translations"":[{""meaning"":""plot"",""usage"":null}]}"
söngkona "{""translations"":[{""meaning"":""singer (female)"",""usage"":null}]}"
söngvari "{""translations"":[{""meaning"":""singer"",""usage"":null}]}"
súpa "{""translations"":[{""meaning"":""soup"",""usage"":null}]}"
taska "{""translations"":[{""meaning"":""suitcase"",""usage"":""ferða~""},{""meaning"":""bag, handbag"",""usage"":""hand~""},{""meaning"":""briefcase, case, attaché case"",""usage"":""skjala~""},{""meaning"":""satchel"",""usage"":""skóla~""}]}"
torg "{""translations"":[{""meaning"":""(city) square"",""usage"":null}]}"
tækifæri "{""translations"":[{""meaning"":""opportunity"",""usage"":null}]}"
tónlist "{""translations"":[{""meaning"":""music"",""usage"":null}]}"
tónlistarmaður "{""translations"":[{""meaning"":""musician"",""usage"":""hljóðfæraleikari""},{""meaning"":""composer"",""usage"":""tónskáld""}]}"
tölva "{""translations"":[{""meaning"":""computer"",""usage"":null}]}"
tölvupóstur "{""translations"":[{""meaning"":""e-mail"",""usage"":null}]}"
undantekning "{""translations"":[{""meaning"":""exception"",""usage"":null}]}"
upplýsing "{""translations"":[{""meaning"":""information"",""usage"":null},{""meaning"":""Enlightenment"",""usage"":""fræðslustefna""},{""meaning"":""illumination, lighting"",""usage"":""það að lýsa upp""}]}"
uppáhald "{""translations"":[{""meaning"":""pet, favorite, (UK) favourite"",""usage"":null}]}"
vatn "{""translations"":[{""meaning"":""water"",""usage"":""lögur""},{""meaning"":""lake"",""usage"":""stöðu~""},{""meaning"":""they could not keep back their tears, they could not contain themselves"",""usage"":""phrases""}]}"
vefsíða "{""translations"":[{""meaning"":""web page"",""usage"":null}]}"
veitingahús "{""translations"":[{""meaning"":""restaurant"",""usage"":null}]}"
veitingastaður "{""translations"":[]}"
verkefni "{""translations"":[{""meaning"":""task, assignment, project"",""usage"":null}]}"
verðlaun "{""translations"":[{""meaning"":""prize, award"",""usage"":""sigurlaun""},{""meaning"":""reward"",""usage"":""laun""}]}"
vetur "{""translations"":[{""meaning"":""winter"",""usage"":null}]}"
vina "{""translations"":[{""meaning"":""girl friend"",""usage"":null}]}"
vinur "{""translations"":[{""meaning"":""friend"",""usage"":null}]}"
vor "{""translations"":[{""meaning"":""spring"",""usage"":null}]}"
vél "{""translations"":[{""meaning"":""motor, engine"",""usage"":""hreyfill""},{""meaning"":""machine"",""usage"":""tæki""}]}"
á "{""translations"":[{""meaning"":""river, stream"",""usage"":null}]}"
áhorfandi "{""translations"":[{""meaning"":""spectator, onlooker"",""usage"":null}]}"
æfing "{""translations"":[{""meaning"":""training, practice"",""usage"":""þjálfun""},{""meaning"":""exercise, drill"",""usage"":""þjálfunarverkefni""},{""meaning"":""rehearsal"",""usage"":""~ leikrits""},{""meaning"":""go to a training session"",""usage"":null}]}"
öld "{""translations"":[{""meaning"":""age"",""usage"":""tímabil""},{""meaning"":""century"",""usage"":""hundrað ár""},{""meaning"":""from time immemorial"",""usage"":""phrases""}]}"
þjóðlistasafn "{""translations"":[]}"
þjóðminjasafn "{""translations"":[{""meaning"":""national museum"",""usage"":null}]}"
þolfall "{""translations"":[{""meaning"":""accusative (case)"",""usage"":null}]}"
þágufall "{""translations"":[{""meaning"":""dative"",""usage"":null}]}"

1 aðalhlutverk afmælisveisla main role {"translations":[{"meaning":"birthday party","usage":null}]}
2 afmælisveisla anddyri birthday party {"translations":[{"meaning":"entrance, vestibule","usage":null}]}
3 anddyri aðalhlutverk entrance, vestibule {"translations":[{"meaning":"main role","usage":null}]}
4 áhorfandi belti spectator, onlooker {"translations":[{"meaning":"belt","usage":"mittisól"},{"meaning":"zone","usage":"svæði"},{"meaning":"caterpillar tread","usage":"keðja"}]}
5 á birta river, stream {"translations":[{"meaning":"light, brightness","usage":null}]}
6 belti blaðagrein 1. belt; 2. zone {"translations":[{"meaning":"newspaper article","usage":null}]}
7 birta borg light, brightness {"translations":[{"meaning":"city, town","usage":"bær"},{"meaning":"castle","usage":"kastali"},{"meaning":"rocky hill","usage":"klettahæð"},{"meaning":"shelter","usage":"byrgi"}]}
8 bíll borð car, automobile {"translations":[{"meaning":"table, desk","usage":"plata á fótum"},{"meaning":"plank, board","usage":"planki"},{"meaning":"go aboard, go on board","usage":"skipshlið"},{"meaning":"of the same caliber/(UK) calibre as sby","usage":"phrases"}]}
9 bíó bróðir movie theater, cinema {"translations":[{"meaning":"brother","usage":null}]}
10 bíómynd bíll film {"translations":[{"meaning":"car, automobile","usage":null}]}
11 blaðagrein bíó newspaper article {"translations":[{"meaning":"movie theater, (UK) cinema","usage":null}]}
12 borð bíómynd 1. table, desk; 2. plank, board {"translations":[{"meaning":"film","usage":null}]}
13 borg bók 1. city, town; 2. castle; 3. rocky hill; 4. shelter {"translations":[{"meaning":"book","usage":null}]}
14 bók bókmenntafræði book {"translations":[{"meaning":"literary studies, literature","usage":null}]}
15 bókmenntafræði dagblað literary studies, literature {"translations":[{"meaning":"daily (news)paper, daily","usage":null}]}
16 bróðir dagur brother {"translations":[{"meaning":"day","usage":null}]}
17 dagblað dalur daily newspaper, daily {"translations":[{"meaning":"valley, dale","usage":"lægð"},{"meaning":"dollar","usage":"mynt"}]}
18 dagur diskur day {"translations":[{"meaning":"plate","usage":null},{"meaning":"disk/disc","usage":"í tölvu"}]}
19 dalur dót 1. valley, dale; 2. dollar {"translations":[{"meaning":"luggage, things","usage":"farangur"},{"meaning":"toys","usage":"leikföng"},{"meaning":"rabble","usage":"hyski"}]}
20 diskur eignarfall 1. plate; 2. (computer) disk {"translations":[{"meaning":"genitive, possessive case","usage":null}]}
21 dót fangelsi 1. luggage, things; 2. toys; 3. rabble {"translations":[{"meaning":"prison","usage":null}]}
22 eignarfall farangur genitive, possessive case {"translations":[{"meaning":"luggage, baggage","usage":null}]}
23 fangelsi ferð prison {"translations":[{"meaning":"trip, journey","usage":"för"},{"meaning":"speed","usage":"hraði"}]}
24 farangur fjall luggage, baggage {"translations":[{"meaning":"mountain","usage":null}]}
25 ferð forrit 1. trip, journey; 2. speed {"translations":[{"meaning":"program, (UK) programme","usage":"tölvu~"},{"meaning":"exemplar","usage":"heimild, sem skrifað er eftir"}]}
26 fjall forritari mountain {"translations":[]}
27 forrit framtíð 1. computer program; 2. exemplar {"translations":[{"meaning":"future","usage":null},{"meaning":"future tense","usage":"í málfr"}]}
28 forritari frelsishetja computer programmer {"translations":[{"meaning":"frredom champion","usage":null}]}
29 framtíð gaman 1. future; 2. future tense {"translations":[{"meaning":"fun, enjoyment","usage":null}]}
30 frelsishetja gangstétt freedom champion {"translations":[{"meaning":"sidewalk, (UK) pavement","usage":null}]}
31 gaman gata fun, enjoyment {"translations":[{"meaning":"street, way, path","usage":null}]}
32 gangstétt geisladiskur sidewalk {"translations":[{"meaning":"compact disc, CD","usage":null}]}
33 gata grein street, way, path {"translations":[{"meaning":"branch, bough","usage":"á tré"},{"meaning":"subject, field, speciality, specialty","usage":"fag"},{"meaning":"article","usage":"blaða~"},{"meaning":"paragraph","usage":"laga~"},{"meaning":"point","usage":"atriði"},{"meaning":"consideration","usage":"athugun"}]}
34 geisladiskur greiða compact disc, CD {"translations":[{"meaning":"pay","usage":"borga"},{"meaning":"comb","usage":null}]}
35 greiða gönguferð comb {"translations":[{"meaning":"walk, hike","usage":null}]}
36 grein handklæði 1. branch, bough; 2. subject, field, speciality; 3. article; 4. paragraph; 5. point; 6. consideration {"translations":[{"meaning":"towel","usage":null}]}
37 gönguferð handrit walk, hike {"translations":[{"meaning":"manuscript","usage":null}]}
38 handklæði hangikjöt towel {"translations":[{"meaning":"smoked meat (esp lamb)","usage":null}]}
39 handrit haust manuscript {"translations":[{"meaning":"fall, (UK) autumn","usage":null}]}
40 hangikjöt herbergi smoked meat {"translations":[{"meaning":"room","usage":null}]}
41 haust hestur autumn {"translations":[{"meaning":"horse","usage":null}]}
42 hálstafla hlutur throat lozenge, cough drop {"translations":[{"meaning":"thing, object","usage":"gripur"},{"meaning":"part, share","usage":"hluti"}]}
43 hár hlutverk hair {"translations":[{"meaning":"task","usage":"verkefni"},{"meaning":"mission, role","usage":"ætlunarverk"}]}
44 hárþurrka hreinleiki hair dryer {"translations":[{"meaning":"purity","usage":null}]}
45 herbergi hálstafla room {"translations":[]}
46 hestur hár horse {"translations":[{"meaning":"hair","usage":null}]}
47 hlutur hárþurrka 1. thing, object; 2. part, share {"translations":[{"meaning":"dryer","usage":null}]}
48 hlutverk hörkuvinna 1. task; 2. mission, role {"translations":[{"meaning":"(extremely) hard work","usage":null}]}
49 hreinleiki hús purity {"translations":[{"meaning":"house, home","usage":null}]}
50 hús innsetning house, home {"translations":[{"meaning":"installation (as a work of art)","usage":null}]}
51 hörkuvinna kennari (very) hard work {"translations":[{"meaning":"teacher","usage":null}]}
52 innsetning kongur installation (as a work of art) {"translations":[{"meaning":"king","usage":null}]}
53 kennari kort teacher {"translations":[{"meaning":"map","usage":"landa~"},{"meaning":"postcard, card","usage":"bréfspjald"}]}
54 kongur króna king {"translations":[{"meaning":"króna, krone, crown (Icelandic unit of currency = 100 aurar)","usage":"peningur"},{"meaning":"tree-top, crown of a tree","usage":"trjátoppur"}]}
55 kort kvikmynd map {"translations":[{"meaning":"film, movie","usage":null}]}
56 kóramót kvöldmatur choir competition {"translations":[{"meaning":"supper, dinner","usage":null}]}
57 króna kyrrð 1. Icelandic unit of currency; 2. tree-top, crown of a tree {"translations":[{"meaning":"silence, stillness","usage":"þögn"},{"meaning":"peace and quiet","usage":"ró"}]}
58 kvikmynd kóramót film, movie {"translations":[]}
59 kvöldmatur leikstjóri supper, dinner {"translations":[{"meaning":"director (of a film, play)","usage":null}]}
60 kyrrð leiðsögumaður 1. silence, stillness; 2. peace and quiet {"translations":[{"meaning":"guide, travel guide","usage":null}]}
61 leiðsögumaður listamaður travel guide, tour guide {"translations":[{"meaning":"artist","usage":null}]}
62 leikstjóri listasafn directory (of a film or play) {"translations":[{"meaning":"art museum","usage":null}]}
63 listamaður listaverk artist {"translations":[{"meaning":"work of art","usage":null}]}
64 listasafn listfræðingur art museum {"translations":[{"meaning":"art historian","usage":null}]}
65 listaverk litur work of art {"translations":[{"meaning":"color, (UK) colour, hue","usage":"farfi"},{"meaning":"dye, coloring, (UK) colouring","usage":"litarefni"},{"meaning":"crayon","usage":"vaxlitur o.s.frv."},{"meaning":"suit (in cards)","usage":"í spilum"},{"meaning":"show interest in sth","usage":null}]}
66 listfræðingur líf art historian {"translations":[{"meaning":"life","usage":null}]}
67 litur lýsingarorð 1. color; 2. dye, coloring; 3. crayon; 4. suit (in cards) {"translations":[{"meaning":"adjective","usage":null}]}
68 líf mappa life {"translations":[{"meaning":"folder, file","usage":null}]}
69 lýsingarorð matur adjective {"translations":[{"meaning":"food","usage":null},{"meaning":"he knows how to cash in on everything","usage":null}]}
70 maður maður 1. person, human being, individual; 2. man; 3. man! (interjection); 4. husband; 5. piece (in chess); 6. one, you {"translations":[{"meaning":"person, human being, individual","usage":"manneskja"},{"meaning":"man","usage":"karlmaður"},{"meaning":"man!","usage":"óformlegt ávarp"},{"meaning":"husband","usage":"eiginmaður"},{"meaning":"piece (in chess)","usage":"í skák"},{"meaning":"one, you","usage":"fornafn"}]}
71 mappa meistari folder, file {"translations":[{"meaning":"master, maestro (in music)","usage":null}]}
72 matur mikill food {"translations":[{"meaning":"large, big","usage":"stór"},{"meaning":"much","usage":"um magn"},{"meaning":"great","usage":"stórkostlegur"}]}
73 málverk miðbær painting {"translations":[{"meaning":"city center, downtown area, (UK) city centre","usage":null}]}
74 meistari miði master, maestro {"translations":[{"meaning":"slip of paper, note","usage":"seðill"},{"meaning":"ticket","usage":"aðgöngumiði"}]}
75 miðbær mynd city center, downtown {"translations":[{"meaning":"shape, form","usage":"lögun"},{"meaning":"photo(graph), picture, snapshot","usage":"ljósmynd"},{"meaning":"movie, (UK) film","usage":"bíómynd"},{"meaning":"painting, picture","usage":"málverk"},{"meaning":"illustration","usage":"myndskreyting"},{"meaning":"figure, diagram","usage":"skýringarmynd"},{"meaning":"voice (in grammar)","usage":"í málfr"},{"meaning":"image (metaphor, etc)","usage":"í skáldskap"},{"meaning":"this is poorly done","usage":"phrases"}]}
76 miði málverk 1. slip of paper, note; 2. ticket {"translations":[{"meaning":"painting","usage":null}]}
77 mikill mót 1. large, big; 2. much; 3. great {"translations":[{"meaning":"meeting, gathering","usage":"samkoma"},{"meaning":"tournament, meet","usage":"keppni"},{"meaning":"mould, form","usage":"form"},{"meaning":"joint","usage":"samskeyti"},{"meaning":"in many different ways","usage":"phrases"}]}
78 mót nafnorð 1. meeting, gathering; 2. tournament, meet; 3. mould, form; 4. joint {"translations":[{"meaning":"noun, substantive","usage":null}]}
79 mynd nammi 1. shape, form; 2. photograph, picture; 3. movie, film; 4. painting, picture; 5. illustration; 6. figure, diagram; 7. voice (grammar) {"translations":[{"meaning":"candy, (UK) sweets (baby talk for sth good to eat as in‘yummy, yummy')","usage":null}]}
80 nafnorð nefnifall noun, substantive {"translations":[{"meaning":"nominative, nominative case","usage":null}]}
81 nammi nemandi candy, sweets {"translations":[{"meaning":"student, pupil","usage":null}]}
82 nefnifall nóta nominative case {"translations":[{"meaning":"note","usage":"í músík"},{"meaning":"bill","usage":"reikningur"},{"meaning":"receipt","usage":"kvittun"},{"meaning":"comment, note","usage":"athugasemd"},{"meaning":"be with it, know what is going on","usage":null}]}
83 nemandi ostur student, pupil {"translations":[{"meaning":"cheese","usage":null}]}
84 nóta persóna 1. note (music); 2. bill; 3. receipt; 4. comment, note {"translations":[{"meaning":"person","usage":"einstaklingur"},{"meaning":"personality","usage":"persónuleiki"},{"meaning":"character","usage":"~~ í skáldverki"}]}
85 ostur peysa cheese {"translations":[{"meaning":"sweater, (UK) jersey","usage":"ullarpeysa"},{"meaning":"blouse (of the woman's Icelandic national costume)","usage":"peysufatapeysa"}]}
86 persóna piltur 1. person; 2. personality; 3. character {"translations":[{"meaning":"boy, young man","usage":null}]}
87 peysa popp 1. sweater; 2. blouse (of icelandic national costume) {"translations":[{"meaning":"pop music","usage":"tónlist"},{"meaning":"popcorn","usage":"poppkorn"}]}
88 piltur pottur boy, young man {"translations":[{"meaning":"pot","usage":"ílát"},{"meaning":"liter, (UK) litre","usage":"mál"},{"meaning":"chamber pot","usage":"koppur"},{"meaning":"pot, pool (of money)","usage":"sjóður"},{"meaning":"hot pool (small extra pool like a hot spring alongside a swimming pool)","usage":"heitur pottur"},{"meaning":"sth is well/badly prepared","usage":"phrases"}]}
89 popp rós 1. pop music; 2. popcorn {"translations":[{"meaning":"rose","usage":null}]}
90 pottur rúm 1. pot; 2. liter; 3. chamber pot; 4. pot, pool (of money); 5. hot pool {"translations":[{"meaning":"bed","usage":"rekkja"},{"meaning":"area, space","usage":"svæði"}]}
91 rós rúta rose {"translations":[{"meaning":"coach, bus","usage":"bíll"},{"meaning":"route","usage":"leið"}]}
92 rúm safn 1. bed; 2. area, space {"translations":[{"meaning":"collection","usage":null},{"meaning":"museum","usage":"stofnun"},{"meaning":"flock of sheep","usage":"fjárhópur"}]}
93 rúta sagnorð bus, coach {"translations":[{"meaning":"verb","usage":null}]}
94 safn samband 1. collection; 2. museum; 3. flock of sheep {"translations":[{"meaning":"connection, contact","usage":"tengsl"},{"meaning":"relationship","usage":"~~ fólks"},{"meaning":"union, federation","usage":"bandalag"}]}
95 sagnorð samloka verb {"translations":[{"meaning":"sandwich","usage":"brauðsneiðar"},{"meaning":"shellfish","usage":"skelfiskur"},{"meaning":"they are inseparable","usage":null}]}
96 samband samúð 1. connection, contact; 2. relationship; 3. union, federation {"translations":[{"meaning":"sympathy, compassion","usage":null}]}
97 samloka sjampó 1. sandwich; 2. shellfish {"translations":[{"meaning":"shampoo","usage":null}]}
98 samúð skinka sympathy, compassion {"translations":[{"meaning":"ham, smoked pork","usage":null}]}
99 sápa skógur soap {"translations":[{"meaning":"forest, wood","usage":null}]}
100 sími skór telephone {"translations":[{"meaning":"shoe","usage":null}]}
101 sjampó sonur shampoo {"translations":[{"meaning":"son","usage":null}]}
102 skinka spjall ham, smoked pork {"translations":[{"meaning":"conversation, chat","usage":null}]}
103 skógur steinn forest, wood {"translations":[{"meaning":"stone","usage":null}]}
104 skór stelpa shoe {"translations":[{"meaning":"girl","usage":null}]}
105 sonur stjórnandi son {"translations":[{"meaning":"leader","usage":"foringi"},{"meaning":"conductor","usage":"hljómsveitarstjóri"},{"meaning":"directors, the management","usage":null}]}
106 sólarolía stjórnmálamaður suntan oil {"translations":[{"meaning":"politician","usage":null}]}
107 sólbekkur strákur 1. sunchair; 2. window sill {"translations":[{"meaning":"boy","usage":null}]}
108 spjall stytta conversation, chat {"translations":[{"meaning":"statue","usage":null}]}
109 steinn stærðfræði stone {"translations":[{"meaning":"math, mathematics","usage":null}]}
110 stelpa stóll girl {"translations":[{"meaning":"chair","usage":null}]}
111 stjórnandi sumar 1. leader; 2. conductor {"translations":[{"meaning":"summer","usage":null}]}
112 stjórnmálamaður sundbolur politician {"translations":[{"meaning":"swimsuit","usage":null}]}
113 stóll sundföt chair {"translations":[{"meaning":"bathing suit","usage":null}]}
114 strákur sundgleraugu boy {"translations":[]}
115 stytta sundskýla statue {"translations":[{"meaning":"swimming trunks","usage":null}]}
116 stærðfræði svefnpoki mathematics {"translations":[{"meaning":"sleeping bag","usage":null}]}
117 sumar svæði summer {"translations":[{"meaning":"area, zone","usage":null}]}
118 sundbolur systkini swimsuit, bathing suit {"translations":[{"meaning":"brothers and sisters, siblings","usage":null}]}
119 sundföt sápa bathing suit {"translations":[{"meaning":"soap","usage":null}]}
120 sundgleraugu sími swimming goggles {"translations":[{"meaning":"telephone","usage":null}]}
121 sundskýla sólarolía swimming trunks {"translations":[{"meaning":"suntan oil/lotion","usage":null}]}
122 súpa sólbekkur soup {"translations":[{"meaning":"window sill","usage":null}]}
123 svefnpoki söguþráður sleeping bag {"translations":[{"meaning":"plot","usage":null}]}
124 svæði söngkona area, zone {"translations":[{"meaning":"singer (female)","usage":null}]}
125 systkini söngvari siblings {"translations":[{"meaning":"singer","usage":null}]}
126 söguþráður súpa plot {"translations":[{"meaning":"soup","usage":null}]}
127 söngkona taska singer (female) {"translations":[{"meaning":"suitcase","usage":"ferða~"},{"meaning":"bag, handbag","usage":"hand~"},{"meaning":"briefcase, case, attaché case","usage":"skjala~"},{"meaning":"satchel","usage":"skóla~"}]}
128 söngvari torg singer {"translations":[{"meaning":"(city) square","usage":null}]}
129 taska tækifæri 1. suitcase; 2. bag, handbag; 3. briefcase, case; 4. satchel {"translations":[{"meaning":"opportunity","usage":null}]}
130 torg tónlist city square {"translations":[{"meaning":"music","usage":null}]}
131 tónlistarmaður tónlistarmaður 1. musician; 2. composer {"translations":[{"meaning":"musician","usage":"hljóðfæraleikari"},{"meaning":"composer","usage":"tónskáld"}]}
132 tónlist tölva music {"translations":[{"meaning":"computer","usage":null}]}
133 tækifæri tölvupóstur opportunity {"translations":[{"meaning":"e-mail","usage":null}]}
134 tölva undantekning computer {"translations":[{"meaning":"exception","usage":null}]}
135 tölvupóstur upplýsing e-mail {"translations":[{"meaning":"information","usage":null},{"meaning":"Enlightenment","usage":"fræðslustefna"},{"meaning":"illumination, lighting","usage":"það að lýsa upp"}]}
136 undantekning uppáhald exception {"translations":[{"meaning":"pet, favorite, (UK) favourite","usage":null}]}
137 uppáhald vatn pet, favorite {"translations":[{"meaning":"water","usage":"lögur"},{"meaning":"lake","usage":"stöðu~"},{"meaning":"they could not keep back their tears, they could not contain themselves","usage":"phrases"}]}
138 upplýsing vefsíða 1. information; 2. Enlightenment; 3. illumination, lighting {"translations":[{"meaning":"web page","usage":null}]}
139 vatn veitingahús 1. water; 2. lake {"translations":[{"meaning":"restaurant","usage":null}]}
140 vefsíða veitingastaður web page {"translations":[]}
141 veitingahús verkefni restaurant {"translations":[{"meaning":"task, assignment, project","usage":null}]}
142 veitingastaður verðlaun restaurant {"translations":[{"meaning":"prize, award","usage":"sigurlaun"},{"meaning":"reward","usage":"laun"}]}
143 verðlaun vetur 1. prize, award; 2. reward {"translations":[{"meaning":"winter","usage":null}]}
144 verkefni vina task, assignment, project {"translations":[{"meaning":"girl friend","usage":null}]}
145 vetur vinur winter {"translations":[{"meaning":"friend","usage":null}]}
146 vél vor 1. motor, engine; 2. machine {"translations":[{"meaning":"spring","usage":null}]}
147 vina vél girl friend {"translations":[{"meaning":"motor, engine","usage":"hreyfill"},{"meaning":"machine","usage":"tæki"}]}
148 vinur á friend {"translations":[{"meaning":"river, stream","usage":null}]}
149 vor áhorfandi spring {"translations":[{"meaning":"spectator, onlooker","usage":null}]}
150 þágufall æfing dative case {"translations":[{"meaning":"training, practice","usage":"þjálfun"},{"meaning":"exercise, drill","usage":"þjálfunarverkefni"},{"meaning":"rehearsal","usage":"~ leikrits"},{"meaning":"go to a training session","usage":null}]}
151 þjóðlistasafn öld national gallery {"translations":[{"meaning":"age","usage":"tímabil"},{"meaning":"century","usage":"hundrað ár"},{"meaning":"from time immemorial","usage":"phrases"}]}
152 þjóðminjasafn þjóðlistasafn national museum {"translations":[]}
153 þolfall þjóðminjasafn accusative case {"translations":[{"meaning":"national museum","usage":null}]}
154 æfing þolfall 1. training, practice; 2. exercise, drill; 3. rehersal {"translations":[{"meaning":"accusative (case)","usage":null}]}
155 öld þágufall 1. age (figurative); 2. century {"translations":[{"meaning":"dative","usage":null}]}

View File

@ -1 +0,0 @@
skoða 1. observe, take a look at; 2. examine, study, scrutinize; 3. consider, study
1 skoða 1. observe take a look at; 2. examine study scrutinize; 3. consider study

117
src/dictionary.rs Normal file
View File

@ -0,0 +1,117 @@
use std::borrow::Borrow;
use std::time::Duration;
use genanki_rs::Error;
use regex::Regex;
use select::document::Document;
use select::predicate::{Class, Name, Predicate};
use serde::{Deserialize, Serialize};
use std::fmt::{self, Display, Formatter};
#[derive(PartialEq, Clone, Debug, Serialize, Deserialize)]
pub struct Translation {
pub meaning: String,
pub usage: Option<String>,
}
#[derive(PartialEq, Clone, Debug, Serialize, Deserialize)]
pub struct Definition {
pub translations: Vec<Translation>,
}
impl Display for Translation {
fn fmt(&self, f: &mut Formatter<'_>) -> fmt::Result {
match &self.usage {
Some(usage) => {
write!(f, "({}) {}", usage, self.meaning)
}
None => {
write!(f, "{}", self.meaning)
}
}
}
}
impl Display for Definition {
fn fmt(&self, f: &mut Formatter<'_>) -> fmt::Result {
match &self.translations.len() {
1 => {
write!(f, "{}", &self.translations.get(0).unwrap())
}
_ => {
write!(
f,
"{}",
&self
.translations
.iter()
.enumerate()
.map(|(i, t)| format!("{}. {}", i + 1, t))
.collect::<Vec<String>>()
.join("; ")
)
}
}
}
}
impl Translation {
pub fn new(translation: String, usage: Option<String>) -> Self {
Translation { meaning: translation, usage }
}
}
/// Look up a root word in the Online Icelandic Dictionary and return
/// a vector of definitions for the root.
pub async fn search(client: &reqwest::Client, word: &str) -> Result<Definition, Error> {
println!("Searching Icelandic online dictionary for definitions: {}", word);
let url = format!("https://digicoll.library.wisc.edu/cgi-bin/IcelOnline/IcelOnline.TEId-idx?type=simple&size=First+100&rgn=lemma&q1={}&submit=Search", word);
// Dictionary entries may contain a slash or numbers for disambiguation.
// These must be removed before comparison.
let lemma_re = Regex::new(r"[\d/]+").unwrap();
let res = client.get(url).send().await?.text().await?;
let document = Document::from(res.borrow());
match document.select(Class("results")).next() {
Some(result_list) => {
let lemma = result_list
.select(Class("lemma"))
.find(|n| lemma_re.replace_all(&n.text(), "") == word)
.unwrap();
// TODO: Error handling!
let link = lemma.select(Name("a")).next().unwrap().attr("href").unwrap();
let res = client
.get(format!("https://digicoll.library.wisc.edu{}", link))
.send()
.await?
.text()
.await?;
let document = Document::from(res.borrow());
Ok(Definition { translations: get_translations(&document) })
}
None => Ok(Definition { translations: get_translations(&document) }),
}
}
/// Return definitions contained in a dictionary entry page.
fn get_translations(document: &Document) -> Vec<Translation> {
std::thread::sleep(Duration::from_secs(1));
document
.select(Class("entry").child(Class("sense")))
.map(|n| {
let usg = n.select(Class("usg")).next();
let trans = n.select(Class("trans")).next();
match (trans, usg) {
(Some(trans), Some(usg)) => Some(Translation::new(trans.text(), Some(usg.text()))),
(Some(trans), None) => Some(Translation::new(trans.text(), None)),
(_, _) => None,
}
})
.flatten()
.collect::<Vec<Translation>>()
}

View File

@ -1,11 +1,16 @@
use clap::{arg_enum, value_t, App, Arg};
use genanki_rs::{Deck, Error, Field, Model, Note, Template};
use rand::prelude::*;
use std::borrow::Borrow;
use std::collections::HashMap;
use std::collections::BTreeMap;
use std::time::SystemTime;
const CSS: &'static str = "\
use crate::dictionary::Definition;
use clap::{arg_enum, value_t, App, Arg};
use csv::{ReaderBuilder, WriterBuilder};
use genanki_rs::{Deck, Error, Field, Model, Note, Template};
use rand::prelude::*;
mod dictionary;
const CSS: &str = "\
.card {\
font-family: arial;\
font-size: 20px; \
@ -24,7 +29,7 @@ td {\
padding: 6px;\
}";
const ADJ_TMPL: &'static str = r#"{{FrontSide}}
const ADJ_TMPL: &str = r#"{{FrontSide}}
<hr id="forms">
<table>
<tr>
@ -38,8 +43,7 @@ const ADJ_TMPL: &'static str = r#"{{FrontSide}}
</tr>
</table>
<hr id="definition">
<p>{{Definition}}</p>
"#;
<p>{{Definition}}</p>"#;
arg_enum! {
#[derive(PartialEq, Debug)]
@ -50,7 +54,7 @@ arg_enum! {
}
struct Adjective {
definition: String,
definition: Definition,
masc_singular: Option<String>,
fem_singular: Option<String>,
neut_singular: Option<String>,
@ -60,9 +64,9 @@ struct Adjective {
}
impl Adjective {
fn new(definition: &str) -> Self {
fn new(definition: Definition) -> Self {
Adjective {
definition: String::from(definition),
definition,
masc_singular: None,
fem_singular: None,
neut_singular: None,
@ -77,45 +81,52 @@ impl Adjective {
fn random_id() -> Result<usize, Error> {
let mut rng = thread_rng();
let delta: usize = rng.gen_range(0..100);
Ok(SystemTime::now()
.duration_since(SystemTime::UNIX_EPOCH)?
.as_millis() as usize
+ delta)
Ok(SystemTime::now().duration_since(SystemTime::UNIX_EPOCH)?.as_millis() as usize + delta)
}
/// Consume a tab-separated file, each line of which must be in the
/// format "<word>\t<definition>", and return a map between the two.
fn build_map(file: &str) -> HashMap<String, String> {
let mut reader = csv::ReaderBuilder::new()
.delimiter(b'\t')
.from_path(file)
.unwrap();
async fn read_word_map(file_name: &str) -> BTreeMap<String, Definition> {
let client = reqwest::Client::new();
let mut result: BTreeMap<String, Definition> = BTreeMap::new();
reader
.records()
.map(|r| {
let record = r.unwrap();
let root = record.get(0).unwrap();
let definition = record.get(1).unwrap();
(root.to_owned(), definition.to_owned())
})
.collect()
if let Ok(mut reader) =
ReaderBuilder::new().has_headers(false).delimiter(b'\t').flexible(true).from_path(file_name)
{
for record in reader.records().flatten() {
if let Some(root) = record.get(0) {
// TODO: Error Handling
let definition = match record.get(1) {
Some(json) => serde_json::from_str::<Definition>(json).unwrap(),
None => dictionary::search(&client, &root).await.unwrap(),
};
result.insert(root.to_owned(), definition);
}
}
}
result
}
fn update_word_map(file_name: &str, word_map: &BTreeMap<String, Definition>) {
if let Ok(mut writer) =
WriterBuilder::new().has_headers(false).delimiter(b'\t').from_path(file_name)
{
word_map.iter().for_each(|(k, v)| {
let definition = serde_json::to_string(v).unwrap();
let _ = writer.write_record(&[k, &definition]);
});
}
}
/// Build an Anki deck based on adjectives
fn adjectives(
word_list: &str,
word_map: &BTreeMap<String, Definition>,
csv_file: &str,
deck_id: usize,
model_id: usize,
) -> Result<Deck, Error> {
let adj_map = build_map(word_list);
let mut deck = Deck::new(
deck_id,
"Icelandic Adjectives",
"Deck for studying Icelandic adjectives",
);
let mut deck =
Deck::new(deck_id, "Icelandic Adjectives", "Deck for studying Icelandic adjectives");
let model = Model::new_with_options(
model_id,
@ -129,64 +140,60 @@ fn adjectives(
Field::new("NeutPl"),
Field::new("Definition"),
],
vec![Template::new("Card 1")
.qfmt("<h1>{{MascSg}}</h1>")
.afmt(ADJ_TMPL)],
Some(CSS.clone()),
vec![Template::new("Card 1").qfmt("<h1>{{MascSg}}</h1>").afmt(ADJ_TMPL)],
Some(CSS),
None,
None,
None,
None,
);
let mut db_reader = csv::ReaderBuilder::new()
.delimiter(b';')
.from_path(csv_file)?;
let mut db_reader =
ReaderBuilder::new().has_headers(false).delimiter(b';').from_path(csv_file)?;
let mut adjective_cards: HashMap<String, Adjective> = HashMap::new();
let mut adjective_cards: BTreeMap<String, Adjective> = BTreeMap::new();
for result in db_reader.records() {
let record = result?;
let root = record.get(0).unwrap();
let key = record.get(2).unwrap();
if adj_map.contains_key(root) && key == "lo" {
if word_map.contains_key(root) && key == "lo" {
if !adjective_cards.contains_key(root) {
let definition = adj_map.get(root).unwrap();
adjective_cards.insert(String::from(root), Adjective::new(definition));
if let Some(definition) = word_map.get(root) {
adjective_cards.insert(String::from(root), Adjective::new(definition.clone()));
}
}
let card = adjective_cards.get_mut(root).unwrap();
if let Some(card) = adjective_cards.get_mut(root) {
let form = record.get(5).unwrap();
let decl = record.get(4).unwrap().to_owned();
let form = record.get(5).unwrap();
let decl = record.get(4).unwrap().to_owned();
match form {
"FSB-KK-NFET" => card.masc_singular = Some(decl),
"FSB-KVK-NFET" => card.fem_singular = Some(decl),
"FSB-HK-NFET" => card.neut_singular = Some(decl),
"FSB-KK-NFFT" => card.masc_plural = Some(decl),
"FSB-KVK-NFFT" => card.fem_plural = Some(decl),
"FSB-HK-NFFT" => card.neut_plural = Some(decl),
_ => {}
match form {
"FSB-KK-NFET" => card.masc_singular = Some(decl),
"FSB-KVK-NFET" => card.fem_singular = Some(decl),
"FSB-HK-NFET" => card.neut_singular = Some(decl),
"FSB-KK-NFFT" => card.masc_plural = Some(decl),
"FSB-KVK-NFFT" => card.fem_plural = Some(decl),
"FSB-HK-NFFT" => card.neut_plural = Some(decl),
_ => {}
}
}
}
}
// Now map over the adjectives and build cards.
for (key, val) in adjective_cards {
println!("adding {}...", key);
for (_, val) in adjective_cards {
let note = Note::new(
model.clone(),
vec![
val.masc_singular.unwrap_or(String::from("")).borrow(),
val.fem_singular.unwrap_or(String::from("")).borrow(),
val.neut_singular.unwrap_or(String::from("")).borrow(),
val.masc_plural.unwrap_or(String::from("")).borrow(),
val.fem_plural.unwrap_or(String::from("")).borrow(),
val.neut_plural.unwrap_or(String::from("")).borrow(),
val.definition.borrow(),
val.masc_singular.unwrap_or_else(String::new).borrow(),
val.fem_singular.unwrap_or_else(String::new).borrow(),
val.neut_singular.unwrap_or_else(String::new).borrow(),
val.masc_plural.unwrap_or_else(String::new).borrow(),
val.fem_plural.unwrap_or_else(String::new).borrow(),
val.neut_plural.unwrap_or_else(String::new).borrow(),
&val.definition.to_string(),
],
);
@ -197,14 +204,14 @@ fn adjectives(
}
/// Build an Anki deck based on nouns
fn nouns(word_list: &str, csv_file: &str, deck_id: usize, model_id: usize) -> Result<Deck, Error> {
let noun_map = build_map(word_list);
let mut deck = Deck::new(
deck_id,
"Icelandic Noun Plurals",
"Deck for studying Icelandic noun plurals",
);
fn nouns(
word_map: &BTreeMap<String, Definition>,
csv_file: &str,
deck_id: usize,
model_id: usize,
) -> Result<Deck, Error> {
let mut deck =
Deck::new(deck_id, "Icelandic Noun Plurals", "Deck for studying Icelandic noun plurals");
let model = Model::new_with_options(
model_id,
@ -218,16 +225,15 @@ fn nouns(word_list: &str, csv_file: &str, deck_id: usize, model_id: usize) -> Re
vec![Template::new("Card 1")
.qfmt("<h1>{{Singular}}</h1>")
.afmt(r#"{{FrontSide}}<hr id="plural"><h2>{{Plural}} ({{Gender}})</h2> <p>{{Definition}}</p>"#)],
Some(CSS.clone()),
Some(CSS),
None,
None,
None,
None,
);
let mut db_reader = csv::ReaderBuilder::new()
.delimiter(b';')
.from_path(csv_file)?;
let mut db_reader =
ReaderBuilder::new().has_headers(false).delimiter(b';').from_path(csv_file)?;
for result in db_reader.records() {
let record = result?;
@ -236,8 +242,7 @@ fn nouns(word_list: &str, csv_file: &str, deck_id: usize, model_id: usize) -> Re
if "alm" == class && "NFFT" == form {
if let Some(root) = record.get(0) {
if noun_map.contains_key(root) {
println!("adding {}...", root);
if word_map.contains_key(root) {
let gender = match record.get(2).unwrap() {
"kk" => "masc.",
"hk" => "neut.",
@ -245,9 +250,13 @@ fn nouns(word_list: &str, csv_file: &str, deck_id: usize, model_id: usize) -> Re
_ => "...",
};
let plural = record.get(4).unwrap();
let definition = noun_map.get(root).unwrap();
let note = Note::new(model.clone(), vec![root, plural, gender, definition]);
deck.add_note(note.unwrap());
if let Some(definition) = word_map.get(root) {
let note = Note::new(
model.clone(),
vec![root, plural, gender, &definition.to_string()],
);
deck.add_note(note.unwrap());
}
}
}
}
@ -256,7 +265,8 @@ fn nouns(word_list: &str, csv_file: &str, deck_id: usize, model_id: usize) -> Re
Ok(deck)
}
fn main() -> Result<(), Error> {
#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
let matches = App::new("BÍN Scraper")
.version("1.0")
.author("Seth Morabito")
@ -322,17 +332,25 @@ fn main() -> Result<(), Error> {
None => random_id().unwrap(),
};
println!(
"Generating Anki deck with id `{}`, model id `{}`.",
deck_id, model_id
);
println!("Generating Anki deck with id `{}`, model id `{}`.", deck_id, model_id);
println!("Loading {}...", input_file);
let word_map = read_word_map(input_file).await;
// TODO: A builder pattern would probably be nice here.
println!("Starting Anki deck generation...");
let deck = match category {
Category::Nouns => nouns(input_file, csv_file, deck_id, model_id)?,
Category::Adjectives => adjectives(input_file, csv_file, deck_id, model_id)?,
Category::Nouns => nouns(&word_map, csv_file, deck_id, model_id)?,
Category::Adjectives => adjectives(&word_map, csv_file, deck_id, model_id)?,
};
println!("Saving Anki deck...");
deck.write_to_file(deck_file)?;
// TODO: Back up original file
println!("Updating {}...", input_file);
update_word_map(input_file, &word_map);
println!("Done!");
Ok(())
}