Bosworth-Toller's Anglo-Saxon Dictionary

Digital edition of the Bosworth-Toller's Anglo-Saxon Dictionary.


The Bosworth-Toller Anglo-Saxon Dictionary is the largest dictionary of Old English to date. The first edition was published in 1838 on paper by Joseph Bosworth. Thomas Northcote Toller later revised the dictionary and from 1898 the dictionary was referred to as the Bosworth-Toller's Dictionary. In 1921 Thomas Northcote Toller issued a supplement with additional words and further explanations. The digital edition was started by Sean Christ in 2001 as a part of his Germanic Lexicon Project. In 2010 Ondřej Tichý built a website based on Sean Christ's data. However, in 2013 it was decided to modernise the dictionary and provide functions that weren't possible in the original solution.

Page with the entry Abbat in the Bosworth-Toller's Dictionary.Page with the entry Abbat in the Bosworth-Toller's Dictionary

Assigment and requests

The original project used slightly modified Drupal CMS. However, when mobile devices became more mainstream the original user interface was no longer sufficient. However, interface was not the only problem as the data was stored in HTML and contained a lot of OCR errors. I was asked to provide a new and clean interface and design a new backend architecture which would allow to store data in a customised XML format. The process of correction of OCR records is still ongoing and is under the leadership of Ondřej Tichý from the Faculty of Arts, Charles University.

Search in Bosworth-Toller's Dictionary.Search in the Bosworth-Toller's Dictionary


Instead of relying on already existing CMS we decided to build our own backend PHP platform based on Laravel framework. This gave us maximum control over the processing of entries and how they are subsequently distributed to the API and web interface. Due to speed limits of XML databases it was decided to use a MySQL database, where entries are stored in plain XML and in deconstructed form which is then queried with backend. Since database queries do not provide such a range of options as specialized search engines, the Elasticsearch engine was used for the purpose of full-text search. This resulted in a much more efficient and reliable search than in the original application.

The user interface has been completely redesigned. Instead of the grey colours that were typical of the original interface, a more vibrant blue-green scheme has been adopted. The homepage has been reduced to a functional minimum, as its main purpose is to provide the user with a dictionary search - this is also the dominant feature of the site. After scrolling, additional information is displayed that was previously part of the home page. Slightly less radically, the entry information page has been redesigned, with more emphasis now placed on the logical sections. Icons have also been added for better orientation, which also enlivens the whole design at the same time. The use of the Nuxt.js JavaScript framework also makes it easier to develop and modify the entire application, as it consists of only a few separate components.

The entire application is divided into several Docker containers, which allows easy scaling or A/B testing of new features if necessary. Docker also makes it easier to update, since due to the separation of services, you only need to update one container.