The Best English Dictionary App

The best English dictionary app for Android could easily be Merriam-Webster. I wholeheartedly recommend it to all students and learners. These are the reasons.

Fair Price

Yes, I’m referring to the paid version of Dictionary – Merriam-Webster. There is a free version as well, but why bother when the app costs only $2.99. Compare that with other app dictionaries in Google Play Market, and you will immediately see why this is a clear win. Kudos to Merriam-Webster for making their English dictionary available to the learners who cannot afford overpriced editions of other publishers.

Functional Design

The Merriam-Webster application is clean, modern and functional. Type in the word to get brief explanations (if you only need to refresh your memory, just look here). Scroll down to see detailed definitions. Flick left or right to browse your past words. A menu reveals favourites and Word of the Day. If in Dictionary, tap the clearly visible T button to switch to Thesaurus (yes, it has thesaurus as well!), and tap D to return. Tap the words throughout the app to jump to a new heading.

Rich in Linguistic Content

Merriam-Webster app offers a dictionary page with brief and full definitions (idioms,  phrasal verbs, pronunciation…), many origins, synonyms and antonyms, usage notes. As previously mentioned, it has Thesaurus as well, fully integrated with the definitions and grouped by synonyms, related words, near antonyms and antonyms.

Dictionary that Works Offline

As expected, the paid version works offline. However, there is a restriction: prerecorded pronunciation will play only online (but, I don’t think this is a big issue).

To conclude, Dictionary – Merriam-Webster is an excellent app to learn and improve your English language. I recommend it to all people who need a decent offline dictionary/thesaurus on their phones and tablets.

Correcting Wordfast and Wordbee XLIFF locale code error

If you export files from Wordbee platform and then try importing them into Wordfast Pro, the latter might report the following error: “Error converting .xlf. … Reason: Invalid locale code”.

Wordfast Pro error display
Wordfast Pro error display

If this happens, you will need to edit the files manually.

  1. Locate your XLIFF file and open it in a text editor. It has to be a plan-text editor to prevent file corruption. I recommend Notepad++ because it formats the XLIFF display.
  2. Search, at the top, for target-language=”sr-Latn-RS”. In my case, because I translate to Serbian, the value is sr-Latn-RS:
    <?xml version="1.0" encoding="utf-8"?><xliff xmlns:wb="http://www.wordbee.com/Xliff" version="1.2" wb:xliffId="foo" wb:sourceId="foo" wb:sourceName="foo" wb:translationsIncluded="1" xmlns="urn:oasis:names:tc:xliff:document:1.2"><file source-language="en-GB" target-language="sr-Latn-RS" original="foo.xlf" datatype="x-xliff" wb:fileId="foo" tool-id="Wordbee"><header><tool tool-id="Wordbee" tool-name="Wordbee" tool-company="Wordbee" /></header><body>
  3. Delete the part that identifies the language. Then, add a new value from ISO 639-2 page with the language codes. The snippet should now look like this: target-language=”sr”. Be careful not to delete other characters (=, “, <, >) to prevent an error.
  4. Reopen the XLIFF in your Wordfast Pro. IMPORTANT: Revert the process to upload to Wordbee (edit the files and insert the initial language code).

Wordfast Pro and Wordbee are examples of commercial CAT (Computer-Assisted Translation) software. Notepad++ is a free and versatile Windows plan-text editor with code highlighting (on Linux you can use Kate or Gedit).

SNTRecorder – A tool to assist speakers in corpus recording

The purpose of SNTRecorder is to assist in corpus recording. It was written to make speakers feel easier during the recording process, by allowing them to choose they own pace in pronunciation, but again not allowing sentences to be read too fast. Written in Python, with interface created in Tkinter (Tcl/Tk), it is a multiplatform tool, executable on Linux and Windows. Download SNTRecorder (source code, 48KB).

SNTRecorder
Compiled sentence where user is allowed to read it aloud

Assistance during a recording session

SNTRecorder is not a recording software, just a small utility that assists in the process.  The best way to understand what this program do read the workflow description (taken from my MA paper about phonetics):

  1. The project is loaded and the program creates the sentences and the time list, and then  shuffles them.
  2. A user sits in front of the screen and enters the initials.
  3. The program shows a sentence and a red line in the lower part of the sentence screen. The sentence is crossed out at this step, as a signal to the speaker to read the sentence without saying it aloud.
  4. The randomly selected time for the current sentence elapses and the red line changes to green, and the text appears normal.
  5. The speaker pronounces the sentence and presses the “next” key to continue.
  6. Steps 3 through 5 repeat until all sentences are recorded.
  7. The program informs that the current session is over and asks if there is need to repeat some items. If answered yes, a window is shown to select the sentences and to repeat  steps 3-6 for a given selection. The session ends once there is no re-recording.
  8. A new user is ready and the cycle restarts.
SNTRecorder
Compiled sentence where user must wait to pronounce it

Speaker logs

The program creates a simple log for each speaker. Here is a sample of a log.

# Started at: 2011-03-11-10:42
# Ended at: 2011-03-11-10:48
# Speaker: ana
# Random time: 1-4
# Time scale: 10

Sentence t(1/SCALE s) Next
The word "theirs" is spoken. 19.6834339953 10:44:07:607000
The word "abjured" is spoken. 22.7161564864 10:44:16:982000
The word "bait" is spoken. 26.945639852 10:44:23:597000
The word "dare" is spoken. 19.9025319695 10:44:34:642000
The word "fierce" is spoken. 16.5143768762 10:44:42:457000
The word "douse" is spoken. 19.3227666274 10:44:48:136000
The word "bourse" is spoken. 34.6668924964 10:44:54:766000
The word "fears" is spoken. 21.7415600234 10:45:02:441000
The word "Job" is spoken. 18.9044580715 10:45:10:100000

The log is preceded by time and speaker information. Random time indicates the brackets for selecting minimum and maximum values the user will be prevented to move to the next sentence. The log lines consist of the sentence that was shown on the screen,  randomly selected time to prevent showing the next sentence, and finally the time when speaker pressed the “next” key.

Project settings, execution and OS difference

sntrecorder main window
Main window of the program

To create your own project, just make a copy of sampleproject.py and leave it in the same directory. Then, edit the new file. The comments explain how to change the template sentence and insert new words. The file name (without extension) is you project name in the program. To change min and max time for users to wait between each sentence, edit TIMEMIN and TIMEMAX in project.py file.

To execute the program, go into src folder and type python3 sntrecorder.py. If your’re using Windows you’ll have to provide the full path to the file, usually something like C:\python32\python,exe, but it depends on Python version you are using (must be 3+).

Sound will not work on Linux (clicks for start and end of a sentence, which I doubt you might need). Also, you will need python3-tk library.

Program uses distinct strings for on-screen messages that are editable in language.py, and you can provide localized versions. An example, in Serbian, is already there.

As you can see, this  is a small tool that I created to make the recording easier for students. Because this was just one of the tools I developed for my thesis, it is not user-friendly in terms of rich interface settings. But, thanks to open source and portability, you are free to adopt it to your requirements, with only a text editor and some patience. I hope you will find it useful.

Download SNTRecorder (source code, 48KB).