The implementation of the prototypic vocabulary trainer was done in JAVA. Figure 1 below depicts a flowchart of the system architecture. Consider the example of a native German speaker learning the L1—L2 word pair Einbrecher—burglar. The system initiates the interaction by saying “Please translate: Einbrecher” to which the user types their answer. Four types of responses are possible: (1) provide the correct solution, (2) misspell the solution, (3) provide the wrong solution, or (4) access the help menu. Whether or not a solution is classified as correct, misspelled, or wrong, is determined by the Levenshtein distance algorithm. It basically measures the minimum edit distance between the user input and the correct word. If the distance is 0 it is a perfect match and the word has no spelling error. In this case, the user receives positive feedback, acknowledging the fact that they got it right. If the distance is ≤3, it means that between one and three spelling errors have occured. The user will then receive corrective feedback in which they will hear the German word again and a prosodically enhanced spelling of the English word. For example, if the user typed ‘burgler’, the feedback would say “Almost! Burglar: b–u–r–g–l–A–r”. If the Levenshtein distance was greater than 3, the word is classified as wrong and the user hears negative feedback. The first time a word is entered incorrectly, the feedback is “Einbrecher—burglar”. This way, users still have the chance to attempt to spell the word. Entering a word incorrecty two or more times prompts “burglar: b–u–r–g–l–a–r”. Lastly, the user has the possibility to access three basic help options. Typing ‘G’ will repeat the German word ‘Einbrecher’, ‘E’ will repeat the English word ‘burglar’, and ‘S’ will spell the English word ‘b–u–r–g–l–a–r’.

The system also includes a simple procedure for repetitions. When the word is entered correctly upon the first prompt, that is the system says “Please translate: Einbrecher” and the user enters ‘burglar’ correctly, the word is classified as learnt. If however, the user received some type of intermediate feedback because they made an error or accessed the help options, the word is classified as not learnt and stacked at the end of the queue to be repeated.