Language Lesson


LanguageLesson is an Android app that provides a framework for anyone to teach one or more languages.

Teaching a language is a 2 step process.

1. Create your lessons using an Excel spreadsheet. This spreadsheet is listed in the table below and is the one used to create both the Turkish and Japanese language demos that can be loaded into the app. Once you enter your lessons, a macro in the spreadsheet runs some validations and creates a language file that is loaded to the app.  (Note: You will probably get a warning when you try to open the spreadsheet due to the presence of the macro.)

2. Load the lessons to the app. This can be done either by copying the language file(s) to the Android device and loaded from there, or loading the files to a web server, entering the URL (web address) of the files into the app and install from the web.

Install of LanguageLesson and Loading Demo Lessons

LanguageLesson can be loaded from GooglePlay here.

No languages are loaded when the app is initially installed. The fastest way to see how LanguageLesson functions is to load 2 demo languages to the app. And the fastest way to do that is to start the app, click on the ‘About’ button and click on either the ‘Load Turkish demo lesson’, or the ‘Load Japanese demo lesson’ button. (More of the demo lessons below.)

Note that the app can handle multiple languages at the same time. So feel free to load both, one after the other. The demo lessons shows how text, audio and video can be combined to present your language lessons. Various presentation options include :

1. Play the Turkish audio phrase that you are learning  before or after playing the corresponding English language phrase, or turn of the audio for one or both phrases.

2. Display the English text before or after the Turkish text.

3. With the English text display turned off, you can tap the Turkish text phrase to have the English text displayed as a reminder of the translation of the Turkish text.

4. Change the text size as needed to make reading the text phrases easier.

5. Lessons can include different speakers for a conversation. The conversation can be broken up into individual phrases where the text is displayed with different background colors to differentiate the speakers. Or you can create a conversation with just one long audio record that contains multiple speakers. It is all up to you!

6. The Japanese lessons show how Youtube videos can be used in lessons. (Note: There is no association between the Japanese Society of NYC and the author of this app. The Japanese Society videos are used just as an example of how videos can be incorporated into lessons. )

7. Videos can also be installed with audio phrases on the device and added to lessons. However since video files can be rather large it is recommended to place the videos on sites such as Youtube. Different versions of Android have specific different video requirements, so for fewer headaches, it is recommended to have lesson videos hosted on sites such as Youtube.

8. Although the Turkish demo just had text/audio and the Japanese demo just has video, the lessons you create can combine text, audio and video.

Creating Your Own Language Lessons

1. The process starts by defining your lessons in Excel. Use one of the demo spreadsheets below to start with updating as needed to create your lessons. The spreadsheets contains various tabs that need to be filled in from which the lessons will be constructed. After your lessons are entered on the spreadsheet, an Excel macro is executed that produces the language lesson file that eventually gets loaded into the Android app.

2. Audio files can be created to go with the text. The audio is optional but obviously that way pronunciation of the words may be taught. In my particular case I used a free program called Audacity with an MP3 plugin to create the audio files.

3. The example Turkish phrases are all short and have individual audio files for each Turkish phrase or word. You can of course create a longer audio file comprised of a series of words, phrases, sentences or conversation if you want. Your lesson would then be just one text line (perhaps  a description of the conversation) associated with the much longer audio file. It is all up to you how you want to create your lessons.

4. As mentioned above it is recommended video lessons be posted to Youtube.

Audio File Lesson Tips:

1. If you want individual word or phrase audio files,  try to record as many of them as possible in one long audio file.  That way the audio should be consistent in volume and inflection.  Save the language phrases being taught (e.g. Turkish) in one audio file and the known language  (e.g. English) in another.

2. From the main audio files, select and save specific audio snippets to go with a corresponding text phrase. Again save the language snippets being taught in one directory and the known language in another.

3. When the audio snippets are created try to trim out as much silence that comes before and after the word, phrase, or sentence you are creating.

4. Although a lesson might teach individual words or phrases a lesson may also consist of a series of sentences that make up a conversation. The audio could be in one audio clip. Or you can create individual clips for each speaker and sentence(s) they speak.

5. If the audio files will be zipped and downloaded from a web site via the app’s web install option there is one gotcha. The Android system has a problem with non-English file names in the zip file. For example, the file ‘üç.mp3’ must be named uc.mp3 (or something similar). So you should use on English audio file names. Hopefully this problem will be resolved in a future release of Android.

Loading Your Lessons into LanguageLesson

As briefly noted above there are 2 options for loading your lessons to the app. Additional details on those options are below.

1. Download from the web

(The web option by default uses the files below to load example Turkish lessons) This is simpler method for your students, but it requires you to post your files on a website. In addition, all the audio/video files must be placed in zip files – one zip file containing the language to be taught(eg. Turkish), and a second zip file for the known language (eg. English).

Listed below are the files used to create and load the demo lessons.

DemoExcel spreadsheet usedOutput file from Excel spreadsheetZipped audio files (learning language)Zipped audio files (known languages)Web install 'master' file
Turkish (text and audio)DemoLanguageSpreadSheet_Turkish.xlsmturkish_language_demo.txtDemoTurkishAudio.zipDemoEnglishAudio.zipTurkish_demo_download.txt
Japanese (Youtube videos only)DemoLanguageSpreadSheet_Japanese.xlsmjapanese_language_demo.txt

The ‘regular’ way lessons would be loaded to the app would be to press the ‘Language Maintenance’ button, then Menu(if needed), Load Language File, From the web. The default web address that shows up points to the ‘Turkish_demo_download.txt’ file above but of course just overtype that with the URL for your lessons and press ‘Load’

2. Manually

Under this option you would copy the needed lesson and audio files to your Android device.  You copy the txt file to the Android devices into a directory on the device generally named ‘Download’ (or it might be lower case ‘download’ – it depends on the device and manufacturer). If you don’t see a ‘Download’ directory, you can create one and then copy the txt file to it.

Once the lessons are loaded into the app, the txt file is no longer needed and can be overlaid with some other language lesson to be loaded.

Audio files are copied to the media directories you specify in the ‘TeacherLanguage’ tab of the spreadsheet.  In the example Turkish lesson, the Turkish audio files are placed in a ‘LanguageLesson/Turkish’ subdirectory under the ‘Download’ directory. The English audio files are placed in the ‘LanguageLesson/English’ subdirectory. These directory names are arbitrary. You can name yours whatever you like. The only caveat is they must always be under the ‘Download’ directory. As a picture is worth a thousand words the directory structure used in the example Turkish set of files is: