Home - Welcome

An introduction to JTLanguage.


Welcome to JTLanguage, a free cooperative web site for learning and teaching languages.

This is a place you can come to learn or to teach any language supported on a computer. By "cooperative", I mean that all the learning content is provided by users who would like to help to teach a language. I provide the technology in the form of this web site, but I depend upon the generosity of users like yourself who are or want to be language teachers to sign up and create lessons, whether it be to supplement your teaching of a specific group of students, or to provide a public service to anyone in general.

JTLanguage can help you teach or learn languages in two main ways, first, as a content organizer/browser and second, as a collection of study tools. I'll expand a bit on this next.

Language Learning Content Organizer/Browser

Browse courses tree panel.

JTLanguage helps you organize your language learning lesson content hierarchically, quickly accessible via a course browser panel, and a variety of text or audio/visual media content pages.

The overall unit for your content is called a "Course". Courses consist of multiple "Lesson" or lesson "Group" components. A "Lesson" contains one or more media or textual "Content" components. Courses, groups, lessons, and content items each have pages describing the item and listing the subordinate items they may contain. Courses and groups also can have associated content components that collect study items from like content in subordinate lessons, allowing you to see all the vocabulary word, sentence, expansion, and character content in courses and groups in bigger collections higher in the hierarchy, or smaller collections lower in the hierarchy.

Media player.

Media content items can include audio or video recordings or generated content for lesson podcasts, example dialogs, vocabulary study, and other types.

A provided media player can play the audio/video files, including support for subtitles, quick-access text mapping, and even changing the playback speed without changing the pitch of the voices.

Alternatively, very flexible mechanisms are provided for the students to download media files at course, group, lesson, and content item levels, for use offline in other media players or mobile devices.

Media content items can also be other types which store images, .pdf files, or raw text.

Text content.

Textual content items can be "Study List" components such as text transcripts, example dialogs, and character, word, sentence, or expansion vocabulary.

Special "Document" content pages for summary, grammar, and other lesson notes can be included. Both document and study list content can have custom layouts formatted via a "Markup Template" mechansim.

"Comment" pages provide a place for user comments, questions, and discussion.

Language Learning Study Tools

JTLanguage provides a number of "Tool" mechanisms to help students study the lesson content.

Flash tool.

One key tool is the "Flash" card mechanism, which is extremely flexible and configurable, and takes as source a study list from a lesson, group, or course. Flash "Card Side" elements present the "Study Item" objects as text, audio, or pictures in a variety of tool "Configuration" modes, including text output, text input, descramble, fill-in-the-blanks, multiple choice, audio output, and audio recording and playback with optional speech-to-text recognition. The tool configurations are grouped under an associated tool "Profile", which also specifies one of several algorthims the flash card mechanism will use to pick study items to display, including spaced repetition. Special "Hybrid" configurations let you mix it up with multiple configurations. Drop-down menus let you conveniently select different configurations and profiles during your study sesson.

In addition to the flash tool, there is also a "Match" tool for a vocabulary and sentence matching exercise, a "Test" tool for testing memory on items presented all together in formats specify-able via the tool configuration mechanism, and a "Hands Free" tool for reviewing content on-the-go.

Although not specifically a "Tool", a special "Automated" media mechanism is like a cross between the study tools, media player, and content browser, and lets you interactively study or review content items in scripted fashion. For example, the automated player could play an example dialog interactively using a media player at normal and slow speeds, with or without translation, explain vocabulary, and then run one or more study tool sessions in different configurations so you can memorize the study items, which are selected on-the-fly, possibly using spaced repetition or other algorithms. A "Choose" mechanism in the script can let the student choose among multiple activities. This mechanism is implemented using a very high-level scripting language included in the "Markup Template" mechanism which can be specified for multiple or individual lessons.

Lesson/Content Creation

Edit content.

If you want to be a teacher, or you're a student who just wants to collect your own study material, JTLanguage provides extensives means for creating and editing courses, lesson groups, lessons, and lesson content. You also have a lot of flexibility to arrange and format lesson content as you wish.

You can manually create lesson components individually, or you can use the lesson "Master" mechanism, which allows you to create lesson templates that pre-configure lessons, groups, and courses, and the associated content items, such that you just have to fill in the actual content.

JTLanguage provides extensive editing support for entering and editing the content items, both text and audio, the latter including audio recording, editing, and mapping text to the audio/video, for subtitles and the quick-access text list mechanisms in the media player. Are you a student or teacher without access to native voice actors? Use the built-in text to speech synthesis mechanism to create the audio. You still have the option to replace it later, either by yourself or by others in cooperative fashion.

Course and lesson content can also be imported and exported in a growing number of formats.

Markup example.

By means of a "Markup Template" mechanism, in addition to standard pages, teachers can format text pages or documents in the lessons in a variety of ways. Unique to JTLanguage, this markup language is actually like a scripting language including flow control and looping elements that can access study list content and other lesson components. Embedded string and variable substitution helps you support multiple host or target languages.

In addition to formatting text pages, the markup template mechanism can also be used to "Generate" audio media files, drawing from existing audio content or using voice synthesis. An "Automated" media content item also uses the markup template mechanism to generate audio and text output on-the-fly, using the same study item selection algorithms as the flash card tool.

JTLanguage doesn't support the UI, host, or target language you want? Teachers have access to pages for adding languages and editing the text JTLanguage displays. You could even make up your own language, though it needs to use a character set that computers and browsers support.

Other Language Learning Resources

These are not implemented yet (actually, the previous version of JTLanguage had some of them, but I haven't implemented them yet in the current rewrite), but my vision for JTLanguage includes having support for a number of other language learning resources. These include an extensive dictionary for all languages, a translator, a searchable grammar reference, teacher and user blogs, forums for questions and discussions, a chat mechanism for textual and audio chatting with other JTLanguage users, and a place to list references for other web sites and tools.

Have a Look!

There's a lot here, and more is in the works, so have a look around.

For a place to start, take a look at an example course I produced for several common languages. It's not a real course, but has a few lessons that show different features of JTLanguage, using content I generated directly from JTLanguage using the built-in translate and speech synthesis mechanisms provided (which means it's probably wrong or of bad quality, so please ignore the content, and instead pay attention to the technology presenting it). To see this example course, go to the "Lessons" menu, select "Courses", and in the tree view to the right, select the "Example Course" from the drop-down menu, and have a look at it. I only implemented it for 10 or so languages, so if you don't see it listed in the courses list page, you might have to set a different target language.

To select the languages you want this web site to show, please go to the Languages page.

Note that to explore all the features of this site, such as the flash tool, you need to register an account, so the site can store your study data keyed to your user ID. Use the Register link at the upper right.

Stay tuned for more coming. Android and iPhone mobile app versions of JTLanguage are being developed in tandem, and will be released soon. As you can see, JTLanguage is a very ambitious platform for teaching and studying languages.

Please do send me your comments, bug reports, and suggestions via the Forums or Contact pages.