Download: Program • Books

What is Aglona Reader?

Aglona Reader is a free, open source program for Microsoft Windows + .NET Framework for viewing, creating and editing parallel texts in PBO format. The latest 1.5 version of the program introduces a new feature: playing of synchronized audio from MP3 audiobooks (PBS format).

What is ParallelBook?

The ParallelBook file format was specifically designed for storing parallel texts used for language learning. Files in this format have PBO extension and essentially are XML files containing texts of an original book ("source") and its translation in another language ("target") as a set of so called "fragment pairs". The format has the following features:
  • Every pair can contain corresponding text on a sub- or super-sentence level, that is, correspondence can be established between sentences, parts of sentences or even several sentences at once. That means it is possible to break longer sentences into shorter parts or combine shorter sentences into bigger fragments.
  • Any side of a pair can act as a "paragraph-starter" independently of the other side. This information helps to keep the original structure of the "source" and "target" texts even after having partitioned them into fragment pairs.
  • Every fragment pair has a "structure level" of 0, 1, 2, or 3, where 0 stands for plain text, and 1 to 3 mean headers of level 1 to 3 correspondingly. This information allows to store the contents of the book (like chapters, volumes etc.).
  • It allows to store meta-information about the book, like Author, Title, Info and Language ISO code for both sides.

What is PBS?

PBS ("ParallelBook with Sound") is an extension of PBO format allowing to synchronize one of two texts of the book with MP3 audio files. Books in this format allow you to click on any fragment and listen to it being narrated. The "continuous playback" mode allows to play the audio without stops and highlight the narrated text in real time.
You can create PBS books based from existing PBO books and a set of MP3 files using Andrey Zhuravlev's free ParaBooks Maker.

Features of Aglona Reader

  • Unicode support for all languages with left-to-right script, including all European and East Asian languages like Chinese, Korean or Japanese. Right-to-left languages (Arabic or Hebrew) are currently not supported.
  • Smart text formatter automatically breaking lines when it is required. It ensures that both parts of any pair start on the same row no matter what font, size, or column width you adjust in the settings. At the same time, if line breaks are not required, consecutive fragments are output in the same line, producing an effect of parallel reading of two seamless books.
  • Direct use of Windows API functions for rendering and measuring text allows to maintain high rendering fluency even on slow machines.
  • Two modes of work: Reading for viewing PBO files and Editing for creating and modifying them.
  • Adjustable fonts and sizes.
  • Adjustable width ratio of the two columns (applicable to the Normal mode, see below).
  • Seamless swap of source and target texts both in Reading and Editing modes.
  • Four types of color highlighting of fragments (with optional gradient highlighting of first words and solid color highlighting of whole fragments).
  • Three reading modes: Normal (two columns with color highlighting), Alternating (for beginners) and Advanced (showing the text only in one language with the ability to display pop-ups with translations by clicking the right mouse button).
  • Adjustable brightness of color highlighting.
  • Browsing the contents of the book.
  • Copying texts selected in the Reading mode to clipboard (to select, press and hold Ctrl first).
  • Opening a web browser with Google Translate inside the program window and conveniently look up words and phrases in it (click words and select phrases with Ctrl key pressed).
  • Storing the list of recent files and their corresponding positions, so that books open exactly where you stopped reading or editing them last time.
  • Easy and powerful editing mode, allowing to:
    • Create a new ParallelBook from scratch by importing two text files in UTF-8 encoding.
    • Separate pair fragments from the remaining non-aligned text with as few as two mouse clicks.
    • Automatically suggest fragment borders based on line-breaks and punctuation. The user can apply the suggested fragment with SPACE key or adjust it with either mouse or keyboard.
    • Edit the text (e. g. correct typos or provide a better translation) in fragment pairs.
    • Specify the Structure level and Paragraph starting flags in the Edit pair window.
    • Merge any two adjacent pairs.
  • Support of parallel books with audio (in PBS format) with discrete and continuous playback modes.

How to learn languages by reading parallel texts?

The idea behind the parallel texts approach to language learning is quite simple: if you can read in the language you learn, you can pick a pair of books, one of which is in your native language and the other is in the language you learn, and read them sentence-by-sentence. You don't have to study or memorize the grammar or words — you just read. The effect here comes from turning quantity into quality as your brain analyzes implicit correspondences between the two languages "behind the scene". The more you read, the larger the effect is, especially if the reading manages to grab your attention or entertain you.
In the author's opinion, parallel reading is one of the most powerful and affordable ways to study foreign languages. Of course, this method doesn't work quite well with some languages which cannot boast of simple spelling rules (English seems to be the worst European language in this sense) — or which have no logical rules of spelling at all (like in Chinese, where you have to memorize the pronunciation of thousands of characters). It is not very efficient if your knowledge of the language already is above average. However, in other — numerous — cases this method pays off really well.
When you only begin to learn a language, you know very few words and at this stage it is rather difficult to understand whether sentences on the left and right really correspond to each other. The interpreter could merge several sentences or translate them in an especially creative way — or even forget to translate them at all. Because of that it would be great if someone more competent in the language than you could establish the correspondence by manually setting it between sentences (or even their parts, if the sentences are too long). This is where ParallelBook file format comes to help.

How to create or edit parallel books in Aglona Reader?

  • To create a new parallel book, first you need to prepare two UTF-8 text files, one with the source text and the other with its translation. They must be in a good condition: line breaks must only be used to separate paragraphs (not lines) from each other, and dashes must be open-set em-dashes (and not simply hyphens or double-hyphens).
    Watch a video demonstration of the aliging process on Youtube:
  • Select File — New, then Pair — Import.
  • Specify both files in the corresponding fields in the Import window. It is important that the first file be the source (even if it is the language you learn) and the second be its translation (you can easily switch both texts later, when editing, with the Reverse command). Press OK.
  • Save the newly created, not-yet-aligned file with the Save As command. The convention requires the file name to consist of the language pair code (for example, "de-en"), surname of the author, a hyphen and the title of  the book.
  • Proceed with aligning:
    • Don't forget to save the book from time to time by pressing Ctrl+S!
    • The most straightforward way to separate a new fragment is to specify its last words in the source and target texts with mouse clicks.
    • If you want to UNDO your last fragment separation, use the Merge command (Z or Ctrl+Up). It will merge the currently selected unaligned text with the last separated fragment.
    • You can use the automatic fragment border suggestion which is based on punctuation marks. If this mechanism guessed well, press SPACE and it will save you two mouse clicks. It's possible to make it jump to the next punctuation marks by Right and Left arrow keys. To make the border jump only on one side, press Ctrl or Alt keys for left or right, correspondingly.
    • You can edit the text of separated pairs by pressing F2. This will open the Edit window, in which you will not only be able to edit text, but also to specify its structure level (for designation of fragments as parts of the contents) and to toggle the Paragraph start flags.
    • If you press F2 on the unaligned text, a red circle will appear in the top right corner which mean that when you separate the next fragment, it will be instantly shown in the Edit window. Note: you cannot use the Edit window in the unaligned text block for performance reasons.
    • Switch between the editing and viewing modes easily by pressing Tab.
  • Please adhere to the following principles of aligning:
    • If a phrase in one text is missing from the other, it's better to attach it to the end of the preceding phrase than to place it in the beginning of the next phrase. If, for example, you have a line "Don't lie to me!" she said. "I know everything!", and "she said" is missing from the translation, the correct way to divide the line is ["Don't lie to me!" she said.] ["I know everything!"] instead of the wrong ["Don't lie to me!"] [she said. "I know everything!"].
    • If an em dash is used for separation of two phrases, it should always go to the end of the first phrase and not to the beginning of the second: ["This is a great song —] [really great!"]. The only exception is when an em dash is starting a new line (this can happen in Russian syntax where the starting em dash is used to indicate direct speech).

Keyboard and mouse shortcuts

Separate a pair using the currently selected bordersSpace
Right mouse button click anywhere
Set border on a wordonly by adjusting the frame, see belowLeft mouse button click on the word
Merge the current pair with the preceding pairZ or Ctrl+Up Click on the pair and drag it up
Undo the last separation — use the "Merge with previous" command abovesee abovesee above
Move the border to the next punctuation markCtrl+Right for the left border,
Alt+Right for the right border

Move the border to the previous punctuation markCtrl+Left for the left border,
Alt+Left for the right border

Move both borders to the next / previous punctuation marksRight / LeftClick and drag on the pair to the right or left
Move the border to the next wordCtrl+Shift+Right for the left border,
Alt+Shift+Right for the right border

Move the border to the previous wordCtrl+Shift+Left for the left border,
Alt+Shit+Left for the right border
Edit the currently selected pairF2 
Go to to the previous / next pairUp / DownLeft mouse button click on the required pair
Save changesCtrl+S
Switch between editing and readingTab 

Other questions

Can parallel books be automatically aligned for or by this program?

There are programs for automatic aligning of texts, but all of them are prone to errors. Because of that, a human editor has to step in and resolve all problematic places in the aligned text after the program has finished its work — and incorrectly aligned fragments can still persist. That's why manual aligning produces tremendously better results, especially for language-learning purposes.
No one (at least in our part of the XXI century) will in one's sane mind prefer the machine translation of foreign literature over the translation made by humans. This is also the case with the task of parallel text aligning.
When the true artificial intelligence is created, it will align texts for us (we just have to wait), and for now we can align texts with Aglona Reader. Besides, it's fun. 

Why is Aglona Reader free?

The author of the program has a life-long hobby of studying foreign languages and always dreamed of a possibility to read parallel texts in an easy way. Also, he's a supporter of free, open-source software.

Where can I see the source code?

These are the GitHub repositories for the program (and its Android version, now obsolete and off-market):

Why "Aglona"?

Aglona is the name of a small village in Latvia near Daugavpils. Although not a Latvian himself, the first name of the author is Latvian and his grandmother lives in Daugavpils, so he chose the name of the village for his program.

Who is the author of the program?

Both the ParallelBook format and the program were created and are supported by Yanis Batura, your humble servant, living in Novosibirsk, Russia.
Feel free to contact me by email:

Audio support for Aglona Reader and ParaBooksMaker software for synchronizing audio were written by Andrey Zhuravlev.

Touchscreen and Google Translate support were brought to life by Evhen Rezohlazov.