Compiles the ISLEX dataset (Icelandic ↔ Danish / Norwegian Bokmål / Norwegian Nynorsk / Swedish / Faroese / Finnish) into local dictionary bundles, so lookup works system-wide.
It builds two forms from the same generated XML:
- macOS —
.dictionaryplugins for the native Dictionary app and the system-wide "Look Up" feature. - Linux & Windows — a StarDict build for GoldenDict-ng, whose Scan Popup gives the same select-a-word-and-look-it-up workflow. See docs/GOLDENDICT.md.
v1.0.0 — Linux and Windows support via StarDict/GoldenDict-ng: all 14
editions, from the same XML as the macOS bundles, with every BÍN-indexed
inflected form intact. That path needs nothing but Python 3 — no Dictionary
Development Kit and none of the DTD-fetch flakiness the make install route
hits — so it is markedly faster and more reliable. The version scheme moves off
the ISLEX data version (v2026.02) to semantic versioning now that the repo
ships two platforms and the version describes the build rather than the data;
the underlying ISLEX release is unchanged. The project also dropped its -mac
suffix, which stopped being accurate with this release; GitHub redirects the
old URLs.
This project builds from the ISLEX 2026-02 release, distributed under CC BY-SA 4.0 (Attribution, ShareAlike) by Stofnun Árna Magnússonar í íslenskum fræðum via CLARIN Iceland. That means:
- Redistribution — including compiled
.dictionarybundles — is allowed, provided you keep attribution and license any redistributed derivative under the same CC BY-SA 4.0 terms. - Commercial use is allowed (CC BY-SA has no NonCommercial clause).
- Always keep attribution — see CREDITS.md for exactly who to credit.
This is a change from earlier versions of this project, which built from the 2023-12 release (CC BY-NC-ND 4.0 — no redistribution, non-commercial only).
The Icelandic-headword bundles additionally embed morphology derived from BÍN, also CC BY-SA 4.0, which requires this credit line be reproduced verbatim wherever the data travels:
Beygingarlýsing íslensks nútímamáls. Stofnun Árna Magnússonar í íslenskum fræðum. Höfundur og ritstjóri Kristín Bjarnadóttir.
Both licenses are CC BY-SA 4.0, so there is no conflict — but both sources must be credited, not just ISLEX.
Because ShareAlike propagates to adaptations, the compiled .dictionary
bundles and generated dictionary XML this project produces and publishes are
themselves licensed under CC BY-SA 4.0 — this is stated explicitly as this
repository's own license grant in LICENSE, not just described as
something the upstream license "allows." The build tooling itself (scripts,
Makefile, CSS, plist templates) is separately licensed under MIT — see
LICENSE for the full split.
Read LICENSE for the full summary and links.
You don't need to build anything yourself. Compiled bundles for all 14
editions are on the Releases page —
download the .dictionary.zip for the language pair(s) you want, unzip, and
drop the resulting NAME.dictionary folder into ~/Library/Dictionaries/.
On Linux or Windows? Grab IcelandicNordic-GoldenDict-<version>.zip from
the same page instead — all 14 editions as StarDict, for
GoldenDict-ng. See
docs/GOLDENDICT.md.
ISLEX itself is Icelandic-headword only (Icelandic → 6 target languages, no reverse index in the source data). This project builds 14 bundles: one Icelandic-headword and one reverse target-language-headword dictionary for each of the 6 target languages, plus 2 combined "all Nordic languages at once" editions.
| Language | Icelandic → Language | Language → Icelandic |
|---|---|---|
| Danish | IcelandicDanish | DanishIcelandic |
| Norwegian Bokmål | IcelandicNorwegianBokmål | NorwegianBokmålIcelandic |
| Norwegian Nynorsk | IcelandicNorwegianNynorsk | NorwegianNynorskIcelandic |
| Swedish | IcelandicSwedish | SwedishIcelandic |
| Faroese | IcelandicFaroese | FaroeseIcelandic |
| Finnish | IcelandicFinnish | FinnishIcelandic |
| All 6 combined | IcelandicNordic | NordicIcelandic |
IcelandicNordic keys entries by Icelandic headword and groups the
translations from all 6 target languages together under one entry (e.g.
looking up "hestur" shows Danish/Norwegian/Swedish/Faroese/Finnish side by
side, plus its BÍN declension table). NordicIcelandic merges the reverse
index across all 6 target languages into one lookup — e.g. "hus" shows every
Icelandic word it could mean, each tagged with which source language(s)
contributed it ([Danish, Norwegian Bokmål, Swedish]). Because it merges six
languages' worth of written forms, NordicIcelandic is the largest bundle by
far (~400K entries, ~320MB compiled) — expect it to take noticeably longer
to compile than the others.
The reverse (Language → Icelandic) bundles are built by inverting the
Icelandic-sourced data: every writtenForm in the target language becomes a
lookup entry pointing back to the Icelandic lemma(s) that translate to it.
Since ISLEX wasn't authored in that direction, coverage/granularity there is
necessarily coarser than the forward direction — this is documented and not
a limitation of the build script.
Every Icelandic-headword (is2x) entry that's a noun, verb, or adjective is
additionally enriched with a full BÍN inflection table (declensions for
nouns/adjectives, principal parts for verbs), and every inflected form is
indexed — so looking up e.g. "hestinum" resolves straight to "hestur". This
reuses the same islenska/BÍN approach as the companion
icelandic-dictionary project. Reverse-direction (x2is) entries don't
get paradigm tables, since the headword there is a Danish/Swedish/etc. word,
not Icelandic.
scripts/parse_islex.py: Parses the ISLEX LMF-XML into a flat structure (lemma, part of speech, gender, equivalents per language, idioms, examples).scripts/bin_morphology.py: BÍN-powered inflection table renderer (ported fromicelandic-dictionary) — verb principal parts, noun declensions, adjective declensions.scripts/build_dict.py: Generates Apple Dictionary XML + plist for one or all (language, direction) combinations; enriches Icelandic-headword entries with BÍN paradigms unless--no-morphologyis passed.scripts/install_dictionary.sh: One-command build + install for new users.scripts/build_stardict.py: Apple XML → StarDict, for GoldenDict on Linux/Windows.scripts/verify_stardict.py: Independent reader that checks a built StarDict set (sort order, offsets, UTF-8, inflected-form lookup).scripts/dictzip.py: Random-access gzip for the StarDict body.scripts/package_goldendict.sh: One-command GoldenDict release bundle for all 14 editions.data/ISLEX_2026-02.xml: Source data you download (gitignored).data/islex_parsed.json: Cached parse output (gitignored, regenerate any time by deleting it).data/bin_paradigms_cache.json: Cached BÍN lookups keyed by lemma+POS (gitignored) — avoids re-querying BÍN for the same Icelandic word across multiple target-language builds.src/shared/Nordic.css: Shared stylesheet used by every bundle.src/shared/GoldenDictArticle.css: The same, for the GoldenDict build.docs/GOLDENDICT.md: Linux/Windows install guide.src/generated/: Build output — per-bundle XML + plist (gitignored).src/objects/: Compiled.dictionarybundles (gitignored).Makefile: Builds/installs every bundle listed insrc/generated/bundles.txt.
- macOS with Xcode Additional Tools installed.
- DictionaryDevelopmentKit available at:
/Applications/XcodeAdditionalTools/Utilities/DictionaryDevelopmentKit - Python 3 with the
islenskapackage (for BÍN morphology):Not required if you build withpython3 -m venv .venv source .venv/bin/activate pip install islenska--no-morphology.
sudo mv "/Applications/Additional Tools for Xcode" "/Applications/XcodeAdditionalTools"- Download
ISLEX_2026-02.zipfrom CLARIN Iceland: https://repository.clarin.is/repository/xmlui/handle/20.500.12537/376 - Unzip it so that
data/ISLEX_2026-02.xmlexists in this repo. (This directory is gitignored — the file stays local to your machine.)
Build everything (all 6 per-language bundles + the 2 combined editions, 14 total):
python3 scripts/build_dict.py --allOr build a single pair, e.g. just Icelandic→Danish:
python3 scripts/build_dict.py --lang dan --direction is2xOr just the combined edition:
python3 scripts/build_dict.py --lang all --direction is2x # IcelandicNordic
python3 scripts/build_dict.py --lang all --direction x2is # NordicIcelandic--direction is2x = Icelandic headword; --direction x2is = target-language
headword.
Beginner one-command path (builds + installs all 14):
./scripts/install_dictionary.shManual path:
python3 scripts/build_dict.py --all
make installThis compiles and copies every .dictionary bundle listed in
src/generated/bundles.txt into ~/Library/Dictionaries/.
Then:
- Open Dictionary.app.
- Open Settings.
- Enable whichever language pairs you want.
- Restart Dictionary.app if it was already open.
Apple's build_dict.sh fetches PropertyList-1.0.dtd from apple.com on every
invocation. A transient network hiccup during a long make install run (14
bundles, one of them ~400K entries) can truncate that fetch and abort the
build partway through with a DTD parse error — it's not a problem with this
project's plist files. Just re-run make install; it doesn't track partial
progress, so it rebuilds all 14 bundles again from scratch, which is safe
but takes the full time again.
The same generated XML also builds as StarDict, which GoldenDict-ng reads on Linux, Windows and macOS — all 14 editions and every BÍN-indexed inflected form. GoldenDict's Scan Popup is the direct analogue of macOS Look Up: select a word anywhere on screen and get the entry.
python3 scripts/build_dict.py --all
./scripts/package_goldendict.sh v1.0.0That writes dist/goldendict/ and zips it. It needs nothing but Python 3 — no
Dictionary Development Kit, no macOS, and none of the DTD-fetch flakiness
described above, so it is also markedly faster and more reliable than the
make install path.
See docs/GOLDENDICT.md for the full setup — adding the folder, installing the stylesheet (StarDict has no stylesheet slot, so it ships separately), grouping fourteen dictionaries so results stay readable, enabling Scan Popup, and the Wayland caveat.
When source data changes, delete the cache and rebuild (the BÍN paradigm cache is keyed by lemma+POS and safe to keep — it's independent of which ISLEX release you're using, and reuses cached lookups for unchanged words):
rm data/islex_parsed.json
python3 scripts/build_dict.py --all
make install- BÍN inflection tables only cover the Icelandic-headword (
is2x) direction. Reverse (x2is) entries show translations only, no paradigm — the headword there isn't Icelandic, so BÍN doesn't apply. - English is intentionally out of scope for this project — see the separate effort to build Icelandic↔English from Wiktionary/Kaikki data instead of ND-licensed sources.
ISLEX — Icelandic-Scandinavian multilingual dictionary (2026-02), CC BY-SA 4.0:
-
Editors of record: Þórdís Úlfarsdóttir, Halldóra Jónsdóttir
-
Publisher: Stofnun Árna Magnússonar í íslenskum fræðum (The Árni Magnússon Institute for Icelandic Studies), Reykjavík
-
Participating institutions, one per target language:
Country Institution Iceland Stofnun Árna Magnússonar í íslenskum fræðum (source language + system) Denmark Det Danske Sprog- og Litteraturselskab, Copenhagen Sweden Institutionen för svenska språket, Göteborgs universitet Norway Institutt for lingvistiske, litterære og estetiske studier, Universitetet i Bergen Faroe Islands Fróðskaparsetur Føroya, Tórshavn Finland Háskólinn í Helsinki -
Also documented as ISLEX contributors in the project's own published literature: Jón Hilmar Jónsson (editor on the prior 2023-12 release), Aldís Sigurðardóttir, Anna Hannesdóttir, Håkan Jansson, Lars Trap-Jensen, Margunn Rauset, and Kristín Bjarnadóttir (led the predecessor project).
-
Build/integration tooling in this repository: Jónatan Sólon and contributors.
Source: https://repository.clarin.is/repository/xmlui/handle/20.500.12537/376
BÍN — Beygingarlýsing íslensks nútímamáls (Database of Icelandic Morphology), CC BY-SA 4.0, source of the inflection tables and inflected-form indexes in every Icelandic-headword bundle. Required credit line, reproduced verbatim:
Beygingarlýsing íslensks nútímamáls. Stofnun Árna Magnússonar í íslenskum fræðum. Höfundur og ritstjóri Kristín Bjarnadóttir.
Accessed through the islenska (BinPackage) package, Copyright © Miðeind
ehf., original author Vilhjálmur Þorsteinsson. Neither Miðeind ehf. nor this
project claims any endorsement or official status granted by the BÍN
copyright holder. Terms: https://bin.arnastofnun.is/DMII/LTdata/conditions/
See CREDITS.md for the full citation, sourcing for each name above, and the complete data-version history.
Compiled .dictionary bundles for all 14 editions are published as zipped
assets on the GitHub Releases page,
starting with v2026.02 (matching the ISLEX data version). This is possible
because CC BY-SA 4.0 permits redistribution — see the License Context above.
If you download and further redistribute one of these bundles, you must keep
attribution and keep it under CC BY-SA 4.0 in turn (see LICENSE and CREDITS.md).
The same applies to IcelandicNordic-GoldenDict-<version>.zip, the StarDict
build for Linux and Windows: it carries all 14 editions, it is publishable on
exactly the same terms, and it is covered by the same share-alike obligation.