AI Parallel Texts for Learning Two Similar Languages

I’ve seen a fair few social media posts recently about linguist Michael Petrunin’s series of Comparative Grammars for polyglots. They seem to have gone down a storm, not least because of the popularity of triangulation as a polyglot strategy.

They’re a great addition to the language learning bookshelf, since there’s still so little formal course material that uses this principle. Of course, you can triangulate by selecting course books in your base language, as many do with Assimil and other series like the Éditions Ellipse.

Parallel Texts à la LLM

But LLMs like ChatGPT, which already do a great job of the parallel text learning style, are pretty handy for creative comparative texts, too. Taking a story format, here’s a sample parallel text prompt for learners of German and Dutch. It treats each sentence as a mini lesson in highlighting differences between the languages.

I’m learning Dutch and German, two closely related languages. To help me learn them in parallel and distinguish them from each other, create a short story for me in Dutch, German and English in parallel text style. Each sentence should be given in Dutch, German and English. Purposefully use grammatical elements which highlight the differences between the languages, which a student of both does need to work hard to distinguish, in order to make the text more effective.

The language level should be lower intermediate, or B1 on the CEFR scale. Make the story engaging, with an interesting twist. Format the text so it is easy to read, grouping the story lines together with each separate sentence on a new line, and the English in italics.

You can tweak the formatting, as well as the premise – specify that the learner already speaks one of the languages more proficiently than the other, for example. You could also offer a scenario for the story to start with, so you don’t end up with “once upon a time” every run. But the result is quite a compact, step-by-step learning resource that builds on a comparative approach.

ChatGPT creating parallel texts in German and Dutch with an English translation.

ChatGPT creating parallel texts in German and Dutch with an English translation.

Variations and Limitations

I also tried prompting for explanatory notes:

Where the languages differ significantly in grammar / syntax, add an explanatory note (in English) to the sentences, giving details.

This was very hit and miss, with quite unhelpful notes in most runs. In fact, this exposes the biggest current limitation of LLMs: they’re excellent content creators, but still far off the mark in terms of logically appraising the language they create.

It is, however, pretty good at embellishing the format of its output. The following variation is especially impressive in an LLM platform that shows a preview of its code:

I’m learning Spanish and Portuguese, two closely related languages. To help me learn them in parallel and distinguish them from each other, create a short story for me in Spanish, Portuguese and English in parallel text style. Each sentence should be given in Spanish, Portuguese and English. Purposefully use grammatical elements which highlight the differences between the languages, which a student of both does need to work hard to distinguish, in order to make the text more effective.

The language level should be lower intermediate, or B1 on the CEFR scale. Make the story engaging, with an interesting twist.

The output should be an attractively formatted HTML page, using a professional layout. Format the sentences so they are easy to read, grouping the story lines together with each separate sentence on a new line, and the English in italics. Hide the English sentences first – include a “toggle translation” button for the user.

Claude by Anthropic creating an HTML-formatted parallel story in Spanish and Portuguese.

Claude by Anthropic creating an HTML-formatted parallel story in Spanish and Portuguese.

It’s another use case that highlights LLMs’ greatest strength: the creation of humanlike texts. For linguists, it matters not a jot how much (or little) deep understanding there is beneath that. With the language quality now almost indistinguishable from real people-speak, AI texts serve as brilliant ‘fake authentic’ language models.

e-Stories as parallel texts are yet another fun, useful flavour of that!

Robots exchanging gifts. We can exchange - and adapt - digital resources now, with Claude's shareable Artifacts.

Sharing Your Language Learning Games with Claude Artifacts

If Claude’s recent improvements weren’t already impressive enough, Anthropic has only gone and done it again – this time, by making Artifacts shareable.

Artifacts are working versions of the programs and content you, the user, prompt for in Claude. For example, they pop up when you ask the AI to write a language practice game in HTML, running the code it writes as a playable activity. Instant language learning games – no coding required.

Now, you can share your working, fully playable creations, with a simple link.

Instant Spanish Quiz with Claude

Take this simple Spanish quiz (very topical given the forthcoming Euros 2024 final!). I prompted for it as follows:

Create an original, self-contained quiz in Spanish for upper beginner / lower intermediate students of the language, on the topic “Spain in the European Football Championships”. It should be completely self-contained in an HTML page. The quiz should be multiple choice, with ten questions each having four alternative answer buttons – only one is right, and there is always one ‘funny’ alternative answer in the mix too.

Every time the quiz is played, the questions and the answers are in a random order. The student can keep trying answers until they get the right one (obviously after clicking an answer button, it should be disabled). Incorrect buttons turn red – correct ones green. Keep score of the player’s accuracy as they work through the questions (number of correct clicks / total clicks).

Make sure it looks attractive, slick and smart too, with CSS styling included in the HTML page.

If you have Artifacts turned on (see here for more). you should see your working game appear in a new pane. But now, you’ll also see a little Publish link in the bottom-right corner. Click this, and you can choose to make your creation public with an access link.

Publishing your working language activities using a share link with Claude Artifacts

Publishing your working language activities using a share link with Claude Artifacts

Remixing Artifacts

But wait – there’s more. When colleagues access your Artifact, they will see a Remix button in that bottom-right corner.

Remixing Artifacts in Claude

Remixing Artifacts in Claude

By hitting that, they can pick up where you left off and tweak your materials with further prompting. For instance, to keep the quiz format but change the language and topic, they could simply ask:

Now create a version of this quiz for French learners on the topic “France at the Olympic Games”.

It makes for an incredibly powerful way to network your learning resources. It’s also perfectly possible to take advantage of all this using only Claude’s free tier, which gives you 10 or so messages every few hours.

More than enough to knock up some learning games.

Have you created anything for colleagues to adapt and share on in Claude? Let us know in the comments!

A cute robot coding at an old-fashioned computer terminal. AI code generation is great for making language games!

AI for Language Games : We’re All Developers, Now!

I’ve been developing games for language learners for over two decades now. Learning those programming skills was a labour of love, started when I was still a classroom teacher. Honing my own coding skills took years of practice. But now, thanks to ever-improving generative AI models, you can skip that step.

All it takes to create interactive language games is a good set of prompts!

Generative AI is an uncanny fit for language learners and teachers, who quickly realised how useful it could be for authentic(ish) text creation. But it doesn’t have to be static. By specifying the kind of features you want in a prompt, you can come up with great self-contained digital ‘worksheets’ with self-marking activities.

It’s possible to go well beyond this – into actual interactive gaming. Today’s generation of AI platforms are capable of taking your brief, then coding it up efficiently and intelligently as a working game, without any further input from you.

Now, if you can imagine it, you can make it.

Language Tetris

Let’s take a classic gaming example: a version of Tetris with a language learning twist. Blocks fall from the top of the screen, labelled with a word in either German or English. Students must manoeuvre the blocks with the arrow keys in order to land German-English equivalents together, whereupon they pop and disappear from the stack. The game speeds up as students progress; the aim is to prevent the blocks from stacking to the top for as long as possible.

It’s fun, and fantastic for improving recall with a set of vocab items.

An AI-generated interactive language learning game. Blocks fall from the top of the screen - the student must match them and avoid them piling to the top.

An AI-generated interactive language learning game. Blocks fall from the top of the screen – the student must match them and avoid them piling to the top. (Pictured is a ‘boom’ block that gives the students a lifeline!)

You can play a working version of it here, and you’ll see what I mean: it’s fun, it gets quite fast and furious, and it does a great job of drilling words. It may not look particularly pretty in its current state, but it’s completely playable; with a bit of visual sprucing, it wouldn’t look out of place on any language learning website.

It’s the kind of thing that would make a nice intermediate coding challenge for someone learning web app development. Maybe a weekend project, or something to do across a series of evenings.

But it took just a few minutes with ChatGPT.

Prompting for Language Games

Here’s the prompt I used for the initial version (and you’ll see some similarities with the interactive worksheet prompt, too):

Let’s create a language learning game in JavaScript, completely self-contained on a single HTML page. It will be like Tetris, adapted for language learning as follows:
– blocks will have either a German or an English word on them from a pot of ten vocabulary items on the topic ‘Clothing’
– blocks will descend from the top of the screen
– as they fall, students use the left, right and down arrows to manoeuvre the blocks before they land
– if a matching German block and English block touch (above, below or to the side), they go POP and disappear – and the game speeds up slightly
– ensure that ‘gravity’ is respected, so if there are blocks above one that ‘pops’, they fall into place accordingly
– the aim is to avoid the blocks stacking up to the top
– every few blocks (maybe every 5-10 at random), a ‘boom’ block falls that ‘pops’ every block it touches on landing (just to clear the space and make it a bit easier)

If you pop this into Claude Sonnet 3.5 right now – as long as you have Artifacts turned on – you should be able to play what comes up straight away. If you’re using ChatGPT or another platform, there’s an extra (easy-ish) step to do before you can play: you just need to save your code in some text editor as an HTML file.

Code output from a prompt in ChatGPT

Code output from a prompt in ChatGPT

Live Preview – Without Claude’s Artifacts

In fact, one free editor for coding – Phoenix Code – also shows you a live preview of the page working as you paste the code in, Claude Artifacts-style. If you really get into language games generation with AI, it’s well worth a download.

Using Phoenix to save and preview AI-generated language games

Using Phoenix Code to save and preview AI-generated language games

One important caveat: your game may well not be perfect on the first go. It might have a bug or two – AI might have missed the point occasionally. My initial version of Language Tetris, for example, allowed students to move the block across existing columns, unlike in the classic game.

But by prompting and re-prompting, requesting tweaks and changes as you go along, you can produce some amazing results. Change the styling, add features, include fiendish rules of play.

The sky’s the limit.

Pulling It All Together

Once you’re done with one game, it can serve as a template for others. It’s usually clear in the code where to change the vocabulary items to something else. Just change, Save As… a new filename, and build up a library of topical games.

A snippet of code produced by ChatGPT

It’s usually clear from a glance at the code where you can change the vocabulary.

In terms of styling, these games do tend to be graphically quite simple. That said, you can easily prompt for more visually appealing elements. And why not use a AI image generation tool like Bing to make some more attractive graphics to integrate into your creations?

Finally, you might be wondering if educational games developers like me are feeling a bit… well, put out by all this. My answer is a resounding not at all! If anything, AI code generation is a brilliant proof-of-concept, prototyping tool to try out new gaming ideas before setting fingers to keyboard. It’s incredibly useful to test if something will really work before pouring hours into coding it.

And of course, you can pick up with your own skills where AI leaves off, to create something even more special with that irreplaceable human touch.

Have you been using AI as your own coding assistant? Let us know in the comments what you’ve been creating together!

A language learning topic menu created by Claude AI.

Claude Artifacts for Visually Inspired Language Learning Content

If you create language learning content – for yourself, or for your students – then you need to check out the latest update to Claude AI.

Along with a competition-beating new model release, Anthropic have added a new feature called Artifacts to the web interface. Artifacts detects when there is self-contained content it can display – like webpage code, or worksheet text – and it pops that into a new window, running any interactive elements on the fly. In a nutshell, you can see what you create as you create it.

This makes it incredibly easy to wrap your learning content up in dynamic formats like HTML and JavaScript, then visually preview and tweak it to perfection before publishing online. This favours interactive elements like inline games, which can be impressively slick when authored by Claude’s Sonnet 3.5; it turns out that model update is a real platform-beater when it comes to coding.

Using Claude’s new Artifacts Feature

You can give Artifacts a whirl for free, as Claude’s basic tier includes a limited number of interactions with its top model every few hours. That’s more than enough to generate some practical, useful material to use straight away.

First of all, you’ll need to ensure that the feature is enabled. After logging into Claude, locate the little scientific flask icon by the text input and click it.

Claude - locating the experimental features toggle

Claude – locating the experimental features toggle

A window should pop up with the option to enable Artifacts if it’s not already on.

Claude - enabling Artifacts.

Claude – enabling Artifacts.

Now it’s on, you just need a prompt that will generate some ‘Artifactable’ content. Try the prompt below for an interactive HTML worksheet with a reading passage and quiz:

Interactive HTML Worksheet Prompt

Create an original interactive workbook for students of French, as a self-contained, accessible HTML page. The target language level should be A2 on the CEFR scale. The topic of the worksheet is “Summer Holidays“. The objective is to equip students with the vocabulary and structures to chat to native speakers about the topic.

The worksheet format is as follows:

– An engaging introductory text (250 words) using clear and idiomatic language
– A comprehensive glossary of key words and phrases from the text in table format
– A gap-fill exercise recycling the vocabulary and phrases – a gapped phrase for each question with four alternative answer buttons for students to select. If they select the correct one, it turns green and the gap in the sentence is filled in. If they choose incorrectly, the button turns red. Students may keep trying until they get the correct answer.

Ensure the language is native-speaker quality and error-free. Adopt an attractive colour scheme and visual style for the HTML page.

With Artifacts enabled, Claude should spool out the worksheet in its own window. You will be able to test the interactive elements in situ – and then ask Claude to tweak and update as required! Ask it to add scoring, make it drag-and-drop – it’s malleable ad infinitum.

An interactive worksheet created by, displaying in the new Artifacts window

An interactive worksheet created by Claude, displaying in the new Artifacts window

Once created, you can switch to the Artifacts Code tab, then copy-paste your page markup into a text editor to save as an .html file. Then, it’s just a case of finding a place to upload it to.

Pulling It Together

After you’re done with the worksheets, you can even ask Claude to build a menu system to pull them all together:

Now create a fun, graphical, colourful Duolingo-style topic menu which I can use to link to this worksheet and others I will create. Use big, bold illustrations. Again, ensure that it is a completely self-contained HTML file.

Here’s the result I got from running that – again, instantly viewable and tweakable:

A language website menu created by, displayed in Claude's Artifacts feature.

A language website menu created by Claude, displayed in the Artifacts feature.

You’ve now got the pieces to start to stitch together into something much bigger than a single worksheet.

Instant website – without writing a line of code!

Have you had chance to play with Claude’s new Artifacts feature yet? Let us know in the comments what you’ve been creating!

A robot making clones of its voice - now quick and easy with tools like ElevenLabs.

You, But Fluent – Voice Cloning for Language Learners

I could barely contain my excitement in last week’s post on ElevenLabs’ brilliant text-to-speech voice collection. I’ve had a week of playing around with it now, and if anything, I’m only more enthusiastic about it.

After a bit of deep-delving, it’s the voice clone features that have me hooked right now. ElevenLabs can make a digital version of your voice from just 30 seconds of training speech. And it’s fast. I expected a bit of a wait for audio processing the first time I used it. But no – after reading in a couple of passages of sample text, my digital TTS voice was ready to use within seconds.

For a quick ‘n’ easy tool, it does a brilliant job of picking up general accent. It identified mine as British English, captured most of my Midlands features (it struggled with my really low u in bus, though – maybe more training would help), and it got my tone bang on. Scarily so… I can understand why cybersecurity pundits are slightly nervous about tech like this.

Your Voice, Another Language

The most marvellous thing, though, was using my voice to read foreign language texts. Although not 100% native-sounding – the voice was trained on me reading English, of course – it’s uncannily accurate. Listening to digital me reading German text, I’d say it sounds like a native-ish speaker. Perhaps someone who’s lived in Germany for a decade, and retains a bit of non-native in their speech.

But as far as models go, that’s a pretty high standard for any language learner.

ElevenLabs' TTS interface with the custom voice 'Richard' selected.

ElevenLabs’ TTS interface with the custom voice ‘Richard’ selected, ready to read some German.

The crux of it is that you can have your voice reading practice passages for memory training (think: island technique). There’s an amazing sense of personal connect that comes from that – that’s what you will sound like, when you’ve mastered this.

It also opens up the idea for tailoring digital resources with sound files read by ‘you’. Imagine a set of interactive language games for students, where the voice is their teacher’s. Incredible stuff.

In short, it’s well worth the fiver-a-month starter subscription to play around with it.

A robot reading a script. The text-to-speech voices at ElevenLabs certainly sound intelligent as well as natural!

ElevenLabs Voices for Free, Custom Language-Learning Material

There’s been a lot on the grapevine of late about AI-powered leaps forward in text-to-speech voices. From providing accent models to in-depth speaking games, next-gen TTS is poised to have a huge impact on language learning.

The catch? Much of the brand new tech isn’t available to the average user-on-the-street yet.

That’s why I was thrilled to happen across TTS service ElevenLabs recently. ElevenLabs’ stunning selection of voices powers a number of eLearning and audiobook sites already, and it’s no hype to say that they sound as close to human as you can get right now.

Even better, you can sign up for a free account that gives you 10,000 characters of text-to-speech conversion each month. For $5 a month you can up that to 30,000 characters too, as well as access voice-cloning features. Just imagine the hours of fun if you want to hear ‘yourself’ speak any number of languages!

Using ElevenLabs in Your Own Learning

There’s plenty to do for free, though. For instance, if you enjoy the island technique in your learning, you can get ElevenLabs to record your passages for audio practice / rote memorising. I make this an AI double-whammy, using ChatGPT to help prepare my topical ‘islands’ before pasting them into ElevenLabs.

The ChatGPT > ElevenLabs workflow is also brilliant for dialogue modelling. On my recent Sweden trip, I knew that a big conversational contact point would be ordering at coffee shops. This is the prompt I used to get a cover-all-bases model coffee-shop convo:

Create a comprehensive model dialogue in Swedish to help me learn and practise for the situation “ordering coffee in a Malmö coffee shop”.

Try to include the language for every eventuality / question I might be asked by the coffee shop employee. Ensure that the language is colloquial and informal, and not stilted.

The output will be pasted into a text-to-speech generator, so don’t add speaker names to the dialogue lines – just a dash will suffice to indicate a change of speaker.

I then ran off the audio file with ElevenLabs, and hey presto! Custom real-world social prep. You can’t specify different voices in the same file, of course. But you could run off the MP3 twice, in different voices, then splice it up manually in an audio editor like Audacity for the full dialogue effect. Needless to say, it’s also a great way for teachers to make custom listening activities.

The ElevenLabs voices are truly impressive – it’s worth setting up a free account just to play with the options and come up with your own creative use cases. TTS is set to only get better in the coming months – we’re excited to see where it leads!

A robot interviewing another robot - a great speaking game on ChatGPT!

So Interview Me! Structured Speaking with ChatGPT

The addition of voice chat mode to ChatGPT – soon available even to free users in an impressive, all-new format – opens up tons of possibilities for AI speaking practice. When faced with it for the first time, however, learners can find that it’s all a bit undirected and woolly. To make the most of it for targeted speaking practice, it needs some nudging with prompts.

Since AI crashed into the language learning world, the prompt bank has filled with ways to prime your chatbot for more effective speaking practice and prep. But there’s one activity I’ve been using lately that offers both structure, tailored to your level and topic, and a lot of fun. I call it So Interview Me!, and it involves you playing an esteemed expert on a topic of your choice, with ChatGPT as the prime-time TV interviewer.

So Interview Me!

Here’s an example you can paste into ChatGPT Plus straight away (as text first, then switching to voice mode after the initial response):

Let’s role-play so I can practise my Swedish with you. You play the role of a TV interviewer on a news programme. I play an esteemed expert on the topic of ‘the history of Eurovision’. Conversational turn by turn, interview me in the target language all about the topic. Don’t add any translations or other directions – you play the interviewer and no other role. Wind up the interview after about 15 turns. Keep the language quite simple, around level B1 on the CEFR scale. Are you ready? Start off by introducing me and asking the first question!

The fun of it is that you are the star of the show. You can completely throw yourself into it, interacting with your interviewer with all the gusto and gumption of a true expert. Or you can have some fun with it, throwing it off with silly answers and bending the scenario to your will (maybe you turn out not to be the expert!).

Either way, it’s a brilliant one to wind up and set going before you start the washing up!

A musical, emotive robot. OpenAI's new model GPT-4o will make digital conversations even more natural.

GPT-4o – OpenAI Creates A Perfect Fit For Language Learners

Just a couple of weeks after the excitement around, OpenAI has joined the emotive conversational bandwagon with a stunning new release of its GPT-4o model.

GPT-4o is a big deal for language learners because it is multimodal in much more powerful ways than previous models. It interacts with the world more naturally across text, audio and vision in ways that mimic our own interactions with language speakers. Demos have included the model reacting to the speaker’s appearance and expression, opening a path to more realistic digital conversation practice than ever.

As with Hume, its voice capabilities have been updated with natural-sounding emotion and intonation, along with a deeper understanding of the speaker’s tone. It even does a better job at sarcasm and irony, long the exclusive domain of human speakers. Heck, it can even sing now. Vocal, emotional nuance – at least simulated – does seem to be the latest big leap forward in AI, transforming the often rather staid conversations into something uncannily humanlike. And as with many of these developments, it almost feels like it was made with us linguists in mind.

Perhaps surprisingly, there’s no wait to try the new model this time, at least in text mode. OpenAI have rolled it out almost immediately, including to free users. That suggests a quite confidence in how impressed users will be with it.

As for the multimodal capabilities, we’ll have to wait a little longer, unfortunately – chat updates are being propagated more gradually, although you may already the next time you open chat mode, you may already get the message that big changes are coming. Definitely a case of watch this space – and I don’t know about you, but I’m already impatiently refreshing my ChatGPT app with increasing frequency!

A picture of a robot heart - conversation with emotion with

Conversation practice with emotion : Meet

If the socials are anything to go by, so many of us language learners are already using AI platforms for conversation practice – whether text-typed, or spoken with speech-enabled platforms like ChatGPT.

Conversational interaction is something that LLMs – large language models – were created for. In fact, language learning and teaching seem like an uncannily good fit for AI. It’s almost like it was made for us.

But there’s one thing that’s been missing up to now – emotional awareness. In everyday conversation with other humans, we use a range of cues to gauge our speaking partner’s attitude, intentions and general mood. AI – even when using speech recognition and text-to-speech – is flat by comparison. It can only simulate true conversational interplay.

A new LLM is set to change all that. has empathy built-in. It uses vocal cues to determine the probable mindset of the speaker for each utterance. For each input, it selects a set of human emotions, and weights them. For instance, it might decide that what you said was 60% curious, 40% anxious and 20% proud. Then, mirroring that, it replies with an appropriate intonation and flex.

The platform already supports over 50 languages. You can try out a demo in English here, and prepare to be impressed – its guesses can be mind-bogglingly spot-on. Although it’s chiefly for developer access right now, the potential usefulness to language learning is so clear that we should hopefully see the engine popping up in language platforms in the near future!

ChatGPT French travel poster

A Second Shot at Perfect Posters – ChatGPT’s Image Tweaker

The big ChatGPT news in recent weeks is about images, rather than words. The AI frontrunner has added a facility to selectively re-prompt for parts of an image, allowing us to tweak sections that don’t live up to prompt expectations.

In essence, this new facility gives us a second shot at saving otherwise perfect output from minor issues. And for language learning content, like posters and flashcards, the biggest ‘minor’ issue – the poor spellings that crop up in AI image generation – makes the difference between useful and useless material.

Rescuing ChatGPT Posters

Take this example. It’s a simple brief – a stylish, 1950s style travel poster for France. Here’s the prompt I used to generate it:

Create a vibrant, stylish 1950s style travel poster featuring Paris and the slogan “La France”.

I wanted the text “La France” at the top, but, as you can see, we’ve got a rogue M in there instead of an N.

ChatGPT generated image of a French travel poster

To target that, I tap the image in the ChatGPT app. It calls up the image in edit mode, where I can highlight the areas that need attention:

ChatGPT image editing window

Then, I press Next, and can re-prompt for that part of the image. I simply restate the slogan instructions:

The slogan should read “La France”.

The result – a correct spelling, this time!

ChatGPT French travel poster

It can take a few goes. Dodgy spelling hasn’t been fixed; we’ve just been given a way to try again without scrapping the entire image. Certain details also won’t be retained between versions, such as the font, in this example. Others may be added, like the highly stylised merging of the L and F in the slogan (a feature, rather than a bug, I think!).

But the overall result is good enough that our lovely 1950s style poster wasn’t a total write-off.

Another case of AI being highly imperfect on its own, but a great tool when enhanced by us human users. It still won’t replace us – just yet!

Image tweaking is currently only available in the ChatGPT app (iOS / Android).