About:

This program is a very simple but quite effective tool when you are learning
a foreign language. It helps you to expand your foreign word bank with three
simple tests.
The program is written using 'Qt' library and has some speech ability with
'espeak'.

How it works:

'Forwords' doesn't have any internal set of words, so you have to create your
own dictionary   for every lesson you want to pass. When created, it is added
to the topic list of a language you are learning. When you've chosen a language
and its topic, you can select one of three tests to pass.
The tests are as follows: 'Direct test', 'Reverse test' and 'Written test'.
Every test shows a score and statistics.

Direct test:

Show the foreign word and five possible translations. You must choose one.
If it is not right choice, you will see a prompt and this word  will appear
again later till you make the right choice. For this test, a speech
is available.

Reverse test:

It is very similar to 'Direct test' but shows you a translation instead.
You have to choose a proper foreign word. Speech isn't available.

Written test:

For a given translation, you have to type down the appropriate foreign word.
If you make a mistake, a prompt will be shown,
and you have to repeat this word again later.

Where your data is saved:

Your added languages are saved as a folder in your
<Home_directory/Forwords> folder as a default.
You can change this directory into a 'settings' dialog if necessary.
Every topic file added to your language is saved inside the language folder
as a file <topicName.tof>

How to add a language folder:

In the main window, click on '+' button in the Language group box.
Type the language name in the appearing dialog box and press OK.
The language folder will be created, and the language name will be added
to the Language drop out box.

Topic file:

It is a simple formatted text file which contains as many strings as your
foreign word quantity. Every string has two parts separated by a <Tab> symbol.
The first part keeps the foreign word. The second part keeps translation.

Note:
the content of every part of a string can be either a single word or contain
a multi-word expression and can contain any symbols except <Tab>.
<Tab> is reserved as a separator.

Create and Edit topic file:

There are two ways to create a topic file. First way - create using 'forwords'.
Second way - create using either any file manager or text editor.
File shall have FileName as a topic name and *.tof extension.
The same approach is true for editing. By a simple internal editor or
by any external text editor. Files shall be placed in a language folder.

Internationalisation:

Translation files can be found in the folders,
~/.config/Forwords,
/ust/share/forwords/translations,
as  <language>.lp files.
In ~/.config/Forwords folder the <English> translation file is located.
You can use it as a template file to create your own translation file.
The translation file has a 'Json' format.
A created custom translation file can be placed to
either of the forementioned folders.
The translation file can be created by any text editor.
No any special software to do with  this file is required.

Known issues:

    * With some hardware, the 'espeak' engine doesn't work and causes program
      frizzing. In this case, don't use a speech engine (don't check
      the "Speech" checkbox on test dialogs).


Copyright:

Copytight (C) 2024 Alexander Fomin - fomin_alex@yahoo.com

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program.  If not, see <https://www.gnu.org/licenses/>.
