Learn Language Bot

A Telegram bot to learn different languages with quizzes.

Tags

AIOllamaTelegram.NETC#

Key Features

LanguageC#
Framework.NET 9
Project typeApplication (Telegram Web Api + Auto Translator Console App)
StatusActive development
LicenseMIT
GithubLaraue.LearnLanguage
Application linkLearn Language Bot

About Language Learning

There are up to 7000 languages in the world. Language learning is the process of acquiring the ability to understand and use a language other than your native one. It involves learning vocabulary, grammar, pronunciation, and cultural nuances to communicate effectively.

Visiting a new country sometimes requires at least basic local language knowledge, especially when the country's citizens don't have a habit of learning English.

The Low Vocabulary Problem

To start understanding a language, you need three things:

  1. Learn alphabet
  2. Understand the basic grammar
  3. Have enough vocabulary

The first two things usually can be studied in a limited time. But it's hard to understand how many words are enough to visit the country. A large number is almost unreal to learn, and a small number may not be enough to understand anything. There's a good rule: the 80/20 rule. The best idea is to spend 20% of your effort learning 80% of the words you need. But how do you do it?

The Application Vision

  • The application should allow increasing passive vocabulary using a quiz system to learn words for short and medium-term memory, generate sentences to put words in long-term memory, and use a motivation system to prevent learners from stopping.
  • The application is designed as a Telegram bot to reduce system support effort and make it available on any platform.
  • Words and translations are stored with the codebase to make it available for pull requests with new words / translations and to track their history.
  • The words to learn are taken from public databases, there was an attempt to collect the top 5000 used English words.
  • Translations are made with AI to prevent the time required for database filling and can be corrected later.
  • Words are divided into topics to learn exactly what a person needs.

Application architecture

Features

Implemented

  • Learning language: When entering any mode, the user is asked to select the language pair to learn. Also, the preferred pair can be selected in settings to avoid this question repeatedly.
  • Quiz mode: The main mode in the app. The user is proposed to select the correct translation for 20 questions. The application tries to keep a balance between new words, words recently learned, and words learned in the past.
  • View by topic: Opportunity to view words grouped by topics.

Have plans to implement

  • Flexible quiz modes: Allows narrowing down the word list for the quiz. E.g., adding only specified topics to the quiz.
  • Texts for remembering: Combines recently learned words in text with AI to allow learning words with context.
  • Top topics to learn: Try to combine words in groups that will help travelers to visit the specific places e.g., airport, public transport, coffee shop lexic and other.

Timeline

  • Jan 2023 The first app version included a view for the word list and manual buttons to mark words as learned.
  • Jan 2024 The app allowed viewing words by CEFR Level.
  • Feb 2024 The architecture was updated to support multiple language pairs.
  • Jun 2024 Added a console app to automatically fill translations with Google.
  • Aug 2025 Started using AI for automatic translation filling.
  • Sep 2025 Added quiz mode