|||

Note: Using LingQ for Learning Classical Chinese

LingQ has quickly become one of my favourite language learning apps—unfortunately it is a proprietary, paid product, but I have not been able to replicate its exact features with any other piece of software, particularly the ability to import any text into the software (VocabTracker gets close, but only works with webpages). LingQ is a web/phone app-based reader that takes text (with accompanying video and audio, if available) from any source, including many in-built modules, and highlights or underlines each word based on whether you have never encountered the word before (blue), have marked it as partially memorised along a one-to-five scale (shades of yellow), or know it (unhighlighted)—see the screenshot below from my Japanese study.

LingQ Screenshot (A Japanese module in LingQ.)

LingQ has modules for many languages built-in, and its word recognition tends to work well for Japanese and for contemporary Chinese languages (it has separate modules for traditional and simplified script, but not for different languages). However, Classical Chinese, which I have been learning and working in, uses different compounds and definitions from contemporary Chinese languages, and LingQ identifies the contemporary language compounds, making it hard to add Classical and literary definitions of characters and compounds to the dictionary, as it will not let you identify other compounds or select characters in those compounds individually.1

There is an easy, if inelegant, solution to this. By placing a space between each character, LingQ will cease to recognise its own compounds, and you can click each character individually, and drag across to select multiple characters and define custom compounds (e.g. 南無阿彌陀佛!). The text can then be imported into the Chinese (Traditional) module as you would with any other LingQ lesson, dragging and dropping the text file or copy and pasting into the web interface.

Classical Chinese in LingQ (The Mouzi Lihuolun in LingQ. Ignore all the blue unknown words, this is new in my learning process!)

This can be time-consuming by hand, so to speed this up I have been using ChatGPT for small bodies of text (ChatGPT will drop partway through longer text pieces), or run larger files through some piece of software. There might be online services that do this, or some trick with Word I haven’t come across, but I got ChatGPT to write me a short Python script (yeah, I know, sorry) that has done the job well for me:

def add_space_between_characters(input_file, output_file):
    try:
        with open(input_file, 'r', encoding='utf-8') as file:
            text = file.read()

        modified_text = ' '.join(text)
        
        with open(output_file, 'w', encoding='utf-8') as file:
            file.write(modified_text)

        print("Spaces added successfully!")

    except FileNotFoundError:
        print("Input file not found.")

# Usage:
input_file = 'INPUT.TXT'  # Replace with the path to your input file
output_file = 'OUTPUT.TXT'  # Replace with the desired output file name

add_space_between_characters(input_file, output_file)

This is a niche problem with a niche solution, but hopefully some other internet travellers will find it useful.


  1. When one clicks on a word, LingQ will auto-search dictionaries for definitions—for Classical Chinese, you can easily just copy and paste your own definitions from CText, Wiktionary, or type in from Kroll’s dictionary, etc.↩︎

Up next Note: My Current Workflow “Post”
Latest posts Information Cultivation #1 — Principles Psychogeographical Markdown Specification Note: Two Months, No Duo — An Obsidian Language Learning Flow Ĝis Revido, Duolingo The Perfection of Wisdom Heart Sutra: An Interlinear Translation “Post” Note: Using LingQ for Learning Classical Chinese Note: My Current Workflow Esperanto and Buddhism, Yamaguti Sin’iti (2016) Dogmas of Hillelism, L. L. Zamenhof (1906) Why I Do Not Want to Be Fluent - Kial Mi Ne Volas Iĝi Flua