Skip to content
/ tandem Public

fast, cross-platform, lightweight interactive Latin reader

License

Notifications You must be signed in to change notification settings

TeamDei/tandem

Repository files navigation

tandem

https://www.codefactor.io/repository/github/teamdei/tandem

tandem (Latin for "at last") is a fast, cross-platform and lightweight Latin reader to aid in the translation/reading of Latin.

Features

  • Blazing fast, 100% cross-platform (Mac, Windows, Linux) and lightweight terminal application
  • Integrates with Tuft University's Perseus API to provide instant analyses of Latin words

Installation

Head over to our Releases page and download a fresh release for Windows, Mac or Linux. If you prefer, and have Go installed, simply run:

go install github.com/teamdei/tandem

Usage

tandem is a command-line application. It allows you to read Latin texts. Navigate with the arrow keys, and look up a word's analyses by hitting the enter key. This guide assumes general familiarity with command-line applications.

Mac/Linux

Open up Terminal in the folder where tandem was downloaded to and type in ./tandem -file "path/to/file.txt" to open up the interactive reader on the specified file.

Windows

Using command prompt, type in tandem.exe -file "path\to\file.txt" to open up the interactive reader on the specified file.

Navigation

tandem recognizes various keybinds which enable quick and easy navigation.

  • h, left arrow: Move left one word.
  • l, right arrow: Move right one word.
  • j, down arrow: Move down by one line.
  • k, up arrow: Move up by one line.
  • g, home: Move to the top.
  • G, end: Move to the bottom.
  • Ctrl-F, page down: Move down by one page.
  • Ctrl-B, page up: Move up by one page.
  • ENTER: Get analyses on a Latin word.
  • ESC: Exit tandem.

Tuft University / Perseus API Integration

The API integration allows tandem to instantly get scholarly analyses of a Latin word and display it to you in-editor. For example, looking up the word terra yields the following analyses:

(noun) voc. fem. sg. of terra
(noun) nom. fem. sg. of terra
(noun) abl. fem. sg. of terra

Following are examples which showcase the full range of the API's features:

===noun test (terra)===
(noun) voc. fem. sg. of terra
(noun) nom. fem. sg. of terra
(noun) abl. fem. sg. of terra

===pronoun test (ejus)===
(pron) (indeclform) gen. neut. sg. of is
(pron) (indeclform) gen. masc. sg. of is
(pron) (indeclform) gen. fem. sg. of is

===verb test (laudo)===
(verb) 1st person sg, act. ind. pres. of laudo

===adjective test (bonus)===
(adj) nom. masc. sg. of bonus

===adverb test (libere)===
(adv) liber
(adj) voc. neut. sg. of liber
(adj) voc. masc. sg. of liber
(verb) act. inf. pres. of libet
(verb) 2nd person sg, pass. ind. pres. of libet
(verb) 2nd person sg, pass. imperat. pres. of libet
(verb) 2nd person sg, pass. subj. pres. of libo

Contributing

Contributions are welcomed. Make sure to format your code with gofmt before making a pull request.

License

This software is licensed under the GNU General Public License v3.0. See LICENSE for more information.