Download: Program • Books

Join our Facebook page! http://www.facebook.com/ParallelBooks

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 ParallelBook format. The latest 1.5 version of the program introduces a new feature: playing of synchronized audio from MP3 audiobooks!
A version for Android is also available (text-only — no audio support yet).


What is ParallelBook?

ParallelBook file format is specifically designed for parallel texts used for foreign language learning. Files in this format have PBO extension and are essentially XML containing an original book ("source") and its translation to another language ("target") as a set of fragment pairs. The features of this format are:
  • Every pair can contain corresponding text on a sub- or super-sentence level, that is, correspondence can be set between parts of sentences and several sentences. That means it is possible to break longer sentences into shorter parts or combine shorter sentences into bigger fragments.
  • Both parts of any pair can be "paragraph-starters" independently of each other. This information helps to keep the original structure of source and target texts even after breaking it into fragment pairs.
  • Every fragment pair has structure level either of 0, 1, 2, or 3, where 0 means plain text, and 1 to 3 means header of level 1 to 3 correspondently. This information allows to automatically build book contents.
  • Book information like Author, Title, Info and Language ISO code in both languages

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. With books in this format, you can click on any fragment and listen to it being narrated. There is also a "continuous playback" mode where audio is played without stops and text highlighted with a frame.
You can create PBS books based on existing PBO and 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, so that both parts of any pair start on the same level no matter what font, size, or column width you specify. 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 FPS 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 column widths proportion.
  • Seamless reversing of sourse and target texts both for reading and editing.
  • Four types of color fragment highlighting (with or without gradient highlighting first words; with or without color highlighting fragments itself).
  • Three reading modes: normal (two columns with color highlighting), alternating (for beginners) and advanced (showing text only in the foreign language with optional popup translations by right mouse click).
  • Adjustable brightness of color highlighting.
  • Browsing book structure.
  • Copying text selected in View mode to clipboard (to select, press and hold Ctrl first).
  • Opening web browser with Google Translate inside the program and conveniently look up words and phrases in it. Click words and select phrases with Ctrl key pressed.
  • Storing all previously opened files and positions in them, so that the book opens exactly where you stopped last time reading or editing it.
  • Opening of recent files.
  • Easy and powerful editing mode, allowing:
    • Creating a new ParallelBook from scratch by importing two UTF-8 text files.
    • Separating a new pair fragment from non-aligned text with as few as two mouse clicks.
    • Automatic suggestion of fragment borders based on line-breaks and punctuation. User can accept the suggestion with SPACE key or correct it if it is required, either with mouse or keyboard.
    • Editing of text (correcting typos or providing a better translation) in fragment pairs.
    • Specifying Structure level and Paragraph starting flags in Edit pair window.
    • Merging any two adjacent pairs.
  • PBS (ParallelBooks with Sound) support.
      

How to learn languages by reading parallel texts?

The idea is very simple: if you know how to read in the language you learn (many languages have very simple rules of reading, for example, Spanish, Italian, German), you can take two books, one in your native language and the other in the language you learn, and read them sentence-by-sentence. You don't have to memorize grammar or words, you just read. The effect here is by turning quantity into quality, as your brain analyzes implicit correspondences between the two languages in a "shadow process". The more you read, the bigger the effect is, especially if the books are interesting for you.
In my opinion, parallel reading is one of the most powerful and entertaining, as well as affordable, ways of studying foreign languages. While this method doesn't work well with certain languages where there are no simple rules of spelling (among European languages English is the worst in this sense) or there are no rules at all (like in Chinese, where you have to memorize the pronunciation of thousands of characters), and is not very efficient when your knowledge of the language already is above average, in other, and most, cases this method is simply a must.
When you only begin learning a language, you know very few words and at this stage it is rather difficult to understand whether sentences in the books 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. Because of that it would be great if someone more competent in the language than you could prepare the correspondence beforehand, manually setting correspondence between sentences (or even their parts, if these sentences are too long). This is when 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 source text and the other with its translation. They must be in a good condition: line breaks used only to separate paragraphs (not lines), and dashes must be open-set em-dashes (and not simply hyphens or double-hyphens).
    Watch a video demonstration on Youtube: http://youtu.be/JcrcWSfozzk
  • 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 — its translation. You can easily switch both texts later, when editing, with Reverse command. Press OK.
  • Save the newly created, not-yet-aligned file with Save As command. The file name shoud begin with the language pair code (for example, de-en), then the surname of the author, then a hypen and the book title.
  • Proceed with aligning:
    • Don't forget to save the book from time to time!
    • The most straightforward way to separate a new fragment is to specify the last words in source and target with mouse clicks.
    • If you want to UNDO what you've just separated, use Merge command (Z or Ctrl+Up), it will merge the currently selected unaligned text with the newly separated fragment.
    • There is automatic fragment border suggestion based on punctuation marks. If you agree with it, just press SPACE and it saves you two mouse clicks. It's possible to jump to the next punctuation marks by Right and Left arrow keys. This will make borders jump in both parts. If you press Ctrl + Right or Left, only the left border will jump; Alt + Right or Left jumps the right border.
    • You can edit text in separated pairs by pressing F2. This opens Edit window, in which you not only can edit text, but also specify its structure level (for making fragments parts of the contents structure) and correct Paragraph start flags.
    • If you press F2 on the unaligned text, a red circle will appear in the top right corner. The Edit window will appear for the next pair you separate. You can't use Edit window in unaligned text for performance reasons.
    • Switch between editing and viewing modes easily with Tab key.
  • 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, like in the case of Russian syntax.


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

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

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

Move border to previous wordCtrl+Shift+Left for the left border,
Alt+Shit+Left for the right border
 
Edit pairF2 
Goto to previous / next pairUp / DownLeft mouse button click on the required pair
SaveCtrl+S
Switch editing / reading modesTab 

Other questions

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

There are programs for automatical aligning of texts, but all of them are subject to errors, so that a human editor has to resolve all problematic places in the aligned text after the program has finished its work, and erroneous alignments can still remain. That is why manual aligning produces tremendously better results, especially for language-learning purposes.
No one (at least in XXI century) will prefer machine translation of foreign literature to human translation. This is also a case with parallel text aligning.
When the AI is created, it will align texts for parallel reading (we just have to wait), and for now we can align texts with Aglona Reader. Besides, it's fun. 

Why is Aglona Reader free?

I have a life-long hobby of studying foreign languages and always dreamed of a possibility to read parallel texts in an easy way. I am also a supporter of free, open-source software. In 2012 I understood that I was able to write a program I dreamed of, and I did it.

Where is the source code?

There is a GitHub repository for the program here:

Why Aglona?

Aglona is a small village in Latvia near Daugavpils. Although I am not a Latvian, my name is Latvian and my grandmother lives in Daugavpils, so I chose the name of the village for my program.

Who is the author of the program?

Both the ParallelBook format and the program were created and are supported by Yanis Batura, living in Novosibirsk, Russia.
You can contact me in Facebook: http://www.facebook.com/yanis.batura and by email: yanis.batura@gmail.com
Audio support for Aglona Reader and ParaBooksMaker software for synchronizing audio written by Andrey Zhuravlev.
Touchscreen and Google Translate support by Evhen Rezohlazov.
Comments