Page 1 of 2

Informal survey of book reading apps for language learning (Extensive Reading via Listening Reading)

Posted: Mon Oct 05, 2020 4:21 am
by petermeisl
Over the past few years I have been searching for apps to help me re-read novels in languages that I am trying to improve. In my case it's been German, French, and Italian. I'm at varying levels of intermediate in these languages I found reading novels directly in the foreign language too hard and found traditional parallel texts too slow and awkward. I want to read the novel and not agonize over every word. Basically what I want to do is extensive reading, with more-or-less the Listening Reading (LR) technique (which has been discussed a lot on this forum).

I thought I'd share some of the results of my search for useful apps since I've spent quite a bit of time on this. These are the key features that I am looking for:
  • Longer texts & books
  • Parallel text (with professional translation on one side)
  • Audio book synchronized with markers in the text so you don't get lost
  • Embedded aids to understanding like optional in-line word/phrase translations to maintain your comprehension and to avoid stopping
Features to keep track of vocabulary knowledge (known and unknown words, etc.) aren't as important to me. I don't mind paying for books or subscriptions. Language learning is very time consuming and I don't mind paying for something that makes this more efficient.

I'll give my current conclusions first -- I haven't yet found an app that does everything I'm looking for. I feel that computer aided tools can do more to help with the reading/listening process and we're only partly there with existing tools. A lot of progress has been made with apps for beginning learners, while apps for intermediate learners have a ways to go. A few years ago, when I couldn't find something I liked, I started developing prototype software for my own use. After much iteration, I found my prototypes were starting to be quite useful to me. I'm now in the process of trying to polish up the software into something that can be released publicly. That's still likely a few months away. It ended up being a lot more work than I expected and I learned more about python and javascript than French and Italian! In the meantime, I'd appreciate any feedback from others on software resources to support this kind of reading. If and when my software is ready for others to use it, I'll let everyone here know.

I've listed some of the software and apps that I looked at below. Some things to keep in mind:
  • Some of these tools have many other features, I only considered the features that were directly related to my wishlist of features above. Pretty much all the apps have some way to look up words in a dictionary or translate individual words.
  • I only included apps that help you read texts of some length in order to learn.
  • These aren't proper reviews, these are just short summaries from my search for a tool to do something specific.
  • There are some great lists of language apps on the web but I couldn't find one that covered all the candidates for what I'm looking for (for example reddit and this site)
  • At first I tried to list the apps in order of applicability to my needs, but I largely failed, so the ordering of the list doesn't have much meaning.

Beelinguapp has a broad selection of shorter parallel texts. It has audio and very nice synchronization. Beelinguapp has Android and iOS apps and has free and paid (via subscription) versions.

LingQ Is a full learning system with many resources including full novels. It includes side-by-side translations as well as audio, but doesn't show synchronization. It has has vocabulary functions. LingQ runs in a browser or as iOS and Android apps and is paid via subscription.

Bilinguis has 5 full novels with parallel text and audio in various languages. It doesn't show audio synchronization and doesn't have vocabulary functions. Bilinguis runs in a browser and is free but with ads.

Dive into Espagnol is a web app with a variety of full novels with translations and audio. Translations are shown between lines and synchronization is shown line by line. There is one free book, otherwise it is pay by subscription. No dictionary or word aids. Spanish only.

Learning with Texts (LWT) is a software tool that lets you read arbitrary texts. You can add your own texts and audio (but it doesn't show audio synchronization). LWT has vocabulary functions (keeps tracks of words you know and don't know, let's you make flashcards, and has a SRS). It doesn't seem to have a parallel text view (both languages simultaneously). The software is open source and you need to install and run it yourself. It seems LWT has been removed from the above link very recently, but the software can still be found on mirror sites.

Foreign Language Text Reader (FLTR) has features similar to LWT (it uses some code from LWT). It is also an open source project. It runs as a local Java app. Last sentence for LWT above applies here as well.

Parallel Text Reader has a variety of full novels. It has audio only for a few books and plays for only one paragraph at a time. The translation is shown for a paragraph when selected. Parallel Text Reader is available as iOS and Android apps and is free (I think).

Lexo allows you to read shorter texts with audio (one sentence is shown at a time). It has vocabulary functions (flashcards, etc.) It runs in a browser (mobile friendly) and is free to use (via donation).

Libera allows reading with parallel text, and synchronized audio (incredibly it has word-by-word synchronization). It seems to only have a couple of books. Libera is an iOS app and is paid by buying individual books.

Language Tools has a collection of learning resources including a reading tool and a marketplace for teachers. It seems to be changing its name to OPLingo. The reading tool has vocabulary functions (highlighting, statistics). I didn't see any novel-length text. But you can add your own text and audio. It supports audio and video but doesn't show synchronization. Language Tools runs in a browser or as iOS and Android apps and has free and paid (via subscription) versions.

By the way, there is a comparison chart for LWT, LanguageTools, LinqQ, and Readlang in this post.

Parallel Books has full classic novels with side-by-side translation. No audio or vocabulary features. It is an iOS app and it seems to be free.

Paralleltext.io has full books with side-by-side translations. It has audio but is not free-running (you need to click each sentence). The audio seems computer generated and the quality is variable.

Paralelus has full novels in several languages. Only one language is displayed at a time and you swipe to switch languages. There is no audio. Paralelus is an Android app and is free (but has ads).

Doppeltext has full novels with translations available if you tap on a sentence. It doesn't have a full parallel text view or audio. Books can be purchased and read in a browser or downloaded in various formats and read in iBooks or Kindle.

Uncharted has full novels with word definitions but no full text translation or simultaneous display. There is no audio. Unchart has iOS and Android apps and has free and paid (via subscription) versions.

ReadLang is an aid for learning languages while reading text in a browser. It has a clean non-intrusive interface to show translations on-demand. It has vocabulary functions (definitions, stats, flashcards). ReadLang has a Chrome extension. It has free and paid (via subscription) versions.

Lingro is somewhat like ReadLang. It is also an aid for reading on the web (translations, word functions, flashcards, etc.) It seems a bit dated.

There are many more apps and sites that let you read books with translations for words or sentences that you see when you click/tap. If you search in the Apple App Store or the Google Play Store you'll find a bunch of them easily. One example is Mytoori (was called Duolir at some point).

There are a number of sites that host or sell e-books with embedded translations that can be read in standard e-reader software or devices. Some examples are:
  • Inter Linear Books
  • Easy Readers
  • Languages on the Web
  • Farkas Translations
  • Il Nattatore sells audio books in Italian. What makes them interesting is that they offer some books in EPUB 3 format which supports both text and audio with audio synchronization. EPUB 3 with text & synchronized audio is supported by a number of apps now. The first one that I came across a number of years ago is Menestrello. I haven't seen EPUB3 books that support a parallel text view as well as synchronized audio.
Of course there are lots of apps that use short texts or dialogues, usually with audio, to teach languages starting at the beginner level (like Assimil, Duolingo, Fluent Forever, FluentU, Living language, Michel Thomas, Pimsleur, Rosetta Stone, etc, etc.)

At one point or another, I came across these apps that seem to have died in the meantime: Lingualy, Bliu Bliu, and DbookApp.

Let me know if I've missed any good tools!

Peter

Re: Informal survey of book reading apps for language learning (Extensive Reading via Listening Reading)

Posted: Mon Oct 05, 2020 10:56 am
by tangleweeds
Thanks for the great descriptions and comparisons! I'm saving this post for future reference.

petermeisl wrote:I'm now in the process of trying to polish up the software into something that can be released publicly. That's still likely a few months away.
I'm looking forward to checking it out once you're done!

petermeisl wrote:It ended up being a lot more work than I expected and I learned more about python and javascript than French and Italian!
And that's the story of software development, ain't it?

Re: Informal survey of book reading apps for language learning (Extensive Reading via Listening Reading)

Posted: Mon Oct 05, 2020 9:45 pm
by mcthulhu
https://github.com/mcthulhu/jorkens isn't on your list. We have an overlapping but not identical feature wish list, I think; but bear in mind that Jorkens is evolving fairly quickly as I add features. It's intended mainly as a cross between an epub reader and a language database; but I recently added (fairly) transparent format conversion to epub, and an audio player for local audio book files, to supplement the TTS features provided. One of my next steps should be incorporating Hazm to support Persian, since there's no TreeTagger lemmatizer for that one. I'll get to parallel texts soon, I hope - I have a lot of epubs in multiple languages.

I definitely want to be able to open and read epubs immediately, with no manual preprocessing required.

Re: Informal survey of book reading apps for language learning (Extensive Reading via Listening Reading)

Posted: Mon Oct 05, 2020 11:44 pm
by petermeisl
Thanks for the pointer to Jorkens. I hadn't seen this before and I will check it out. This project has an impressive scope! Our goals overlap somewhat and you're taking quite a different (and more general) approach. Being able to take an e-book and use it directly surrounded by aids like lemmas, translations, audio, etc. is an ambitious goal. The approach I've been using when adding a new book requires quite a lot of preprocessing unfortunately (aligning, synchronizing, translating phrases, etc.) I've tried to automate these things but I find that there is an annoying amount of manual checking and tweaking required for each book. I don't even want to think about how much time I've spent messing around with different types of punctuation marks!

TTS is rapidly improving. Amazon Polly is impressive. Until recently TTS just wasn't quite there yet for listening to something long like a novel (too many mispronunciations and too boring sounding). In order to drag me through a foreign novel, it needs to be somewhat entertaining. It's been a while and I need to go back and play with TTS again.

Re: Informal survey of book reading apps for language learning (Extensive Reading via Listening Reading)

Posted: Tue Oct 06, 2020 12:45 am
by mcthulhu
By the way, since you know JavaScript and Python -- Jorkens is an Electron/Node.js project, and has an option to run Python scripts against the contents of the current book or chapter, for users who want to extend it with their own functionality.

Re: Informal survey of book reading apps for language learning (Extensive Reading via Listening Reading)

Posted: Fri Feb 12, 2021 11:48 pm
by petermeisl
Here is a follow-up to the survey that I posted above where I didn't really find what I was looking for. I have finally released the software I have been working at off & on for a few years: http://www.duolibri.com I guess Covid finally gave me the time to get it done.

Duolibri is intended to make it easier to read foreign language novels. It uses integrated aids like parallel text, synchronized audiobook, and embedded phrase-by-phrase translations. The idea is to keep going even if you don't understand each word the first time you see it. For example, I might have wanted to re-read a Jules Verne novel to refresh my French, but it would have been just too tedious. Using Duolibri, this is now working for me.

I tried to make things as easy to use as possible. The books are bundled up with the aligned parallel (professional) translation, synchronized audiobook, and in-line phrase-by-phrase (machine) translations. The site keeps your book library and tracks your bookmark in each book. Right now the reading happens in a browser app but eventually I hope to offer mobile apps that support off-line reading.

The features are limited to those that help you get through a novel. I don't plan to add more general purpose language learning features. For example there is a way to save words to a list but it doesn't do very much. I think I'd prefer to focus on features that encourage you to keep reading/listing without stopping.

There is a fairly small set of books available so far in a few languages. I'm limited to out-of-copyright books from places like Gutenberg and Librivox.

Because of the amount of work involved in generating the book bundles and having an ongoing hosting service, I need to charge something for books (the first chapter or two are available as free trial). I don't expect to really make money on this but I want to be able to keep this running long-term.

If you're interested, check it out at https://duolibri.com/ I'd be happy to hear any feedback.

Re: Informal survey of book reading apps for language learning (Extensive Reading via Listening Reading)

Posted: Thu Mar 11, 2021 10:51 am
by mokibao
mcthulhu wrote:https://github.com/mcthulhu/jorkens isn't on your list. We have an overlapping but not identical feature wish list, I think; but bear in mind that Jorkens is evolving fairly quickly as I add features. It's intended mainly as a cross between an epub reader and a language database; but I recently added (fairly) transparent format conversion to epub, and an audio player for local audio book files, to supplement the TTS features provided. One of my next steps should be incorporating Hazm to support Persian, since there's no TreeTagger lemmatizer for that one. I'll get to parallel texts soon, I hope - I have a lot of epubs in multiple languages.

I definitely want to be able to open and read epubs immediately, with no manual preprocessing required.


Jorkens looks extremely promising but I don't see any build or install instructions on non-Windows OSes, from what I looked. Do I have to set up npm, build electron and epub.js, and so on? I understand maintaining builds can be time-consuming but I'd rather not do it myself if I can, so if I missed build instructions could you please point them out to me?

(I'm kind of surprised there is no open-source mobile app that works offline for this kind of functionality, unless I missed something.)

Re: Informal survey of book reading apps for language learning (Extensive Reading via Listening Reading)

Posted: Fri Mar 12, 2021 1:31 am
by mcthulhu
mokibao - to answer the last comment first, I think there are one or two (at least) epub readers along these lines. I've heard of Typhon, for Japanese only, though I don't know whether it stores its databases locally. Otherwise I'm not aware of any mobile ebook readers that try to support as many languages and functions as Jorkens does. Storage might be an issue for phones, especially if you want to store lemmatization and dictionary data, etc., for multiple languages. Or maybe not. I'm also not sure about how to display the same data as on a desktop with a lot more screen real estate. It would be worth trying, and I'm kind of interested in learning the latest version of Flutter for mobile development. Call that a long-term goal, though; there would be a whole lot of code to rewrite, and I'd like to make more progress on my road map for Jorkens on the desktop first.

What non-Windows OS do you use? You make a good point about installation instructions for other OSs. So far I've been posting only Windows binaries. I tried building one for a Linux target my Windows machine, but it failed, and I didn't get back to it. I do have a Linux machine and have gotten it to run there, with some errors, which I need to fix. Some functions do check for both Windows and Linux locations of Python, etc. but I apparently have more to work on. I've also considered building a binary on the Linux machine and posting it from there, in case that would solve the build errors. It's possible that my slowness in getting to this has been because no one's really been asking about it, until now.

One user got it to run on MacOS, much to my surprise, about six months ago, and said he was surprised how easily it built for Mac. His steps were:

Code: Select all

git clone https://github.com/mcthulhu/jorkens.git
cd jorkens
nvm use 14.5.0
npm install # ends with error about electron builder
npx electron-builder install-app-deps
npm start


I don't have a Mac machine, unfortunately, so I wasn't able to test this myself. My current version of Node is 15.0.1 now, by the way.

Re: Informal survey of book reading apps for language learning (Extensive Reading via Listening Reading)

Posted: Fri Mar 12, 2021 10:35 am
by mokibao
I use Debian on Linux, a build for that platform (not necessarily a .deb if that takes too much time, just a plain old binary) would be appreciated. But I understand if you didn't get around to it, these things are always a hurdle.

For what it's worth I tried running it on Wine. It works okay but you get spammed with errors and most of the TTS and online lookups don't work, from what I (very summarily) tried. It also thought my ebooks were in English and propped me up with English language definitions for the foreign words I was looking up (that happened to have the same spelling), lol

Re: Informal survey of book reading apps for language learning (Extensive Reading via Listening Reading)

Posted: Fri Mar 12, 2021 4:15 pm
by kundalini
mcthulhu wrote:
One user got it to run on MacOS, much to my surprise, about six months ago, and said he was surprised how easily it built for Mac. His steps were:

Code: Select all

git clone https://github.com/mcthulhu/jorkens.git
cd jorkens
nvm use 14.5.0
npm install # ends with error about electron builder
npx electron-builder install-app-deps
npm start


I don't have a Mac machine, unfortunately, so I wasn't able to test this myself. My current version of Node is 15.0.1 now, by the way.


I was able to follow these directions to install jorkens on a Mac. Here's what it looks like on my screen.

jorkens.jpg


A couple of installation notes for Mac users who want to try the same.

As noted in https://github.com/mcthulhu/jorkens, you need to have the following installed on your computer:

-Node.js
-After installing node, I installed nvm.
-Then I followed the instructions above.

-Python (version 3.8 or later)
-After installing Python, I created a virtual environment and installed stanza:

Code: Select all

pip install stanza

-Then I copied the following file from https://github.com/stanfordnlp/stanza/tree/main/stanza/models into /Documents/Jorkens/Python:

Code: Select all

lemmatizer.py
But I had to rename it to

Code: Select all

stanza-lemmatizer.py

-In a Python console, I downloaded the language modules that I wanted, e.g.

Code: Select all

import stanza
stanza.download('en')


It took a little bit of rummaging through the menu to figure out how to load a parallel text (English for me): Tools -> Open parallel text

A couple of things that didn't work for me:
Amazon Translate
Amazon Polly TTS