Help - Text - Welcome

Welcome to JTLanguage.


Welcome to JTLanguage, a free cooperative web site (and phone apps) for learning and teaching languages.

If you would prefer a video introduction, please go here: JTLanguage Introduction Videos

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 in the following sections.

For a quick start, you can jump to the Getting Started section. However, I recommend reading the rest of this page first, as JTLangauge is rather unlike other language-learning programs you may have used.

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, YouTube videos, 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" mechanism.

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

There is also another organizational component called a "Plan". A plan functions like a course, but it is only visible to you as a logged-in user. It's a mechanism for collecting study items, content, lessons, groups, and even other courses into a private collection, just for more convenient access to the stuff you want to study. On the pages for these items throughout JTLanguage, you will see "Add to plan" links. This is how these items get put into an existing plan, or a plan created on the spot. The Course page for adding a course to a plan even has an option for adding the course to your plans as a new plan itself. The "Plans" menu item lists your plans.

All the main pages for courses, plans, groups, lessons, study lists, and media content items display a small graphical pie chart icon that gives you high-level indication of your study progress or status. Please see the User Progress and Status page for additional details of the status mechanism.

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 specif-yable via the tool configuration mechanism, and a "Hands Free" tool for reviewing content on-the-go.

A "Source" options lets you specify where the study tools get their source. Study tools can draw their input from either study lists, vocabulary lists, or selected inflections of items from the study list or vocabulary lists. The latter lets you practice verb conjugations and other inflections (if JTLanguage has inflection support for the current language).

A "View" drop-down menu lets you select from different page options for the study tools. The "Study" option displays the normal tool page. The "List" option displays the list of study list or vocabulary items, and allows you to edit their status. The "Select" option displays a page for selecting individual or groups of items to include or exclude in the study tools.

For studying text, sentences, or words in your target language, the "Text" study tool lets you practice reading the content, and allowing you to click on words or phrases you don't know or want to confirm the meaning of. These words and phrases are saved to a local vocabulary list you can also study separately in the Flash and other tools. Local and Global Vocabulary List pages lets you manage the local vocabulary list, as well as a page for all your vocabulary items.

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

Under the "Resources" menu, JTLanguage also provides additional resources useful for language study. At present, only two are implemented, a multi-language dictionary and an "Inflect" tool for listing verb conjugations and possibly other inflections. And more are planned, including 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.

The dictionary has a variety of search options, including regular expressions and sentence parsing, and you can search multiple items simultaneously. Dictionary entries can include audio, pictures, grammatical categorization, and example sentences. Conjugatable/inflectable entries will have a link to view the conjugations or inflections (if JTLanguage has support for it for the target language).

You can create dictionary entries manually, or you can copy them from study list items, and visa-versa. You can import dictionary entries from external sources, and also export them. At present, JTLanguage has preloaded dictionaries for Chinese, Japanese, and Spanish. (If you know of public domain dictionary lists for other language you would like to have imported, please let me know. Otherwise I depend on users to populate the dictionary.)

The "Inflect" mechanism is one of the newest JTLanguage features. Given a word and a selected sense, it will list the possible inflections. Multiple layouts can be supported, and filtering options let you selectively enable or disable all possible inflection categories, and control which languages are displayed, and whether or not to display audio playback buttons. (At present, the Inflect mechanism only has support for Japanese and Spanish, and only Spanish has multiple layout options. This mechanism is table-based, and a coming feature will let you download and upload tables that tell JTLanguage how to do the conjugations and layout.)

Internally, a de-inflect mechanism allows the dictionary and text study tool to recognize inflected words and provide inflected definitions and information about the type of inflection.

The study tools can also take as input selected inflections as a means for practicing or studying them.

Stay tuned for additional resources.

JTLanguage's Menu System

Main menu.

JTLanguage has a dual menu system for navigating it's many parts. These consist of the drop-down menu at the top of the screen, and a two-level graphical menu page system. Both of these menu systems are equivalent. The drop-down menu is the fastest for naviation, and is the line at the top of the browser content area.

On mobile devices, the drop-down menu can be displayed by clicking on the three-bar button at the upper right. To go to the graphical menu main page, click the "JTLanguage" label at the top at any time. Go to graphical sub-menus by clicking on buttons in the main menu page.

JTLanguage's Panel Layout

JTLanguage's main window will display one or more panels, which are the portions of the screen with white backgrounds.

The first and usually largest panel is the main content area, where the content of focus is displayed.

There will also usually be one or two titled help panels describing the current page.

When browsing courses, there will be a titled panel with the title "Browse courses". This panel display a drop-down menu for selecting a course. If a course is selected, it will also display a tree control for navigating in the course.

When the screen is small, such as in a mobile device, the panels will appear in vertical order. For a desktop browser, the secondary panels will appear on the right of the browser window.

JTLanguage's Help Information

To see descriptions of items in the main content area, you can click the "Show Field Help" link in the page help panel. This will embed descriptive information in blue text above or below the item being described.

Click "Hide Field Help" to toggle the help option off.

Getting Started

First, if you haven't already done so, create an account by clicking the Register link at the upper right. You can can skip this to just browse some courses and look around, but you wan't be able to use the study tools, which need to save some study data keyed to your account.

Next, go to the Languages page under Home to specify the language you want to study and the language JTLanguage uses for text and labels.

Then, go to the Courses page under Lessons to see the courses available for your language of study.

Select a course to browse by clicking on its "go to" green arrow button, or use the "Select course" drop-down menu in the "Browse courses" panel. The course's main page will appear, showing information about the course and listing it's included lessons.

At this point, you can look around the course by clicking on a lesson's "go to" green arrow button, or by clicking on items in the tree view control in the "Browse courses" panel, expanding items by clicking on the "+" icon. Note that the tree view uses different icons to represent courses, groups, lessons, and the differnt kinds of content items. Here's a description:

Icon Description
Media List
Content Study Tool
Automated Lesson Study Tool

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.

Also available are the "JTLanguage Survival Phrases" and "JTLanguage Survival Vocabulary". These courses primarily contain study lists of words and phrases ready-to-go for use in the flash card and other study tools, as a starting point for learning or getting by in a new language. Again, I basically wrote them in English, and then used the translate and voice generation mechanisms as a starting point. But in this case, they support over a hundred languages, basically all the languages Google Translate supports.

Hopefully, some teachers will sign up and create some additional courses.

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 Contact page.

User Interface Language

This is a note to users who use a non-English language on their desktop or mobile devices.

Note that the "UI Language" setting on the Home->Languages page controls what language the website and phone apps will use for UI components, messages, and help text. It tries to default to the current language on your device. This setting is saved in your user profile, so you can have different UI Language settings in different user profiles.

JTLanguage stores a database of text used in the user interface for labels and messages, and will use these in display text for UI component labels, help text, and other messages. Initially, the translations are done using the Google Translate API on the fly and then saved for re-use. Therefore, the first time a page is to be displayed in a language for which there was no translation yet, there will be a moderate delay before the page is displayed.

Also, all the UI text being initially automated translations, the translations will be less than ideal in many cases (to put it mildly). Being a cooperative effort, however, hopefully some kind person will fix the translations on the server using the mechanisms I’ve provided to do so.

For users of the mobile apps (described below), its a bit more complicated.

In starting up the app for the first time, the mobile app requests a database of the currently translated strings from the server, and will use these strings when showing UI labels and messages. However, it’s possible that the strings haven’t been translated to a particular language on the server yet. In this case, the mobile device will individually request translated strings from the server, which will then use the Google Translate API to get the translations, if they are not already found in its database.

This will cause the app to be very slow in displaying its pages for the first time. Thereafter, since the string are already now on the device, it will be much faster. It also means that the next users will get these strings when they first start the app and the string database is requested from the server.

To update (re-download) the UI text database on the mobile device, go to Home->Maintenance and click the "Syn database" button. You might try this from time to time, to see if there are any better translations yet.

Mobile Apps

There are Android and iPhone versions of JTLanguage available here which support offline usage of JTLanguage. Get them here (or by searching for "JTLanguage on the Play Store or App Store):")

Get it on Google Play          Download on the App Store

Google Play and the Google Play logo are trademarks of Google Inc. App Store and the App Store logo are trademarks of Apple Inc.

Help menuHelp menu