The difficulty of song translation

One of my wife’s favourite nursery rhymes is this song that is sung to the tune of “for he’s a jolly good fellow”, and about a bear going up a mountain.

For a long time I only knew of the Kannada version of this song (which is what the wife used to sing), but a year or two back, I found the “original” English version as well.

And that was a revelation, for the lyrics in the English version make a lot more sense. They go:

The bear went over the mountain;
The bear went over the mountain
The bear went over the mountain, to see what he could see.
And all that he could see, and all that he could see
Was the other side of the mountain,
The other side of the mountain
The other side of the mountain, was all that he could see.

Now, the Kannada version, sung to the same tune, obviously goes “???? ??????? ??????” (karaDi beTTakke hoithu). That part has been well translated. However, the entire stanza hasn’t been translated properly, because of which the song goes a bit meaningless.

The lyrics, when compared to the original English version, are rather tame. Since a large part of my readership don’t understand Kannada, here is my translation of the lyrics (btw, the lyrics used in these YouTube versions are different from the lyrics that my wife sings, but both are similar):

The bear went to the mountain.
The bear went to the mountain.
The bear went to the mountain.
To see the scenery

And what did it see?
What did it see?
The other side of the mountain.
The other side of the mountain.
It saw the scenery of the other side of the mountain.

Now, notice the important difference in the two versions, which massively changes the nature of the song. The Kannada version simply skips the “all that he could see” part, which I think is critical to the story.

The English version, in a way, makes fun of the bear, talking about how it went over the mountain thinking it’s a massive task, but “all that he could see” from there was merely the other side of the mountain. This particular element is missing in Kannada – there is nothing in the lyrics that suggests that the bear’s effort to climb the mountain was a bit of a damp squib.

And that,  I think, is due to the difficulty of translating songs. When you translate a song, you need to get the same letter and spirit of the lyrics, while making sure they can follow the already-set music as well (and even get the rhyming right). And unless highly skilled bilingual poets are involved, this kind of a translation is really difficult.

So you get half-baked translations, like the bear story, which possibly captures the content of the story but completely ignores its spirit.

After I had listened to the original English version, I’ve stopped listening to the Kannada version of the bear-mountain song. Except when the wife sings it, of course.

 

Good vodka and bad chicken

When I studied Artificial Intelligence, back in 2002, neural networks weren’t a thing. The limited compute capacity and storage available at that point in time meant that most artificial intelligence consisted of what is called “rule based methods”.

And as part of the course we learnt about machine translation, and the difficulty of getting the implicit meaning across. The favourite example by computer scientists in that time was the story of how some scientists translated “the spirit is willing but the flesh is weak” into Russian using an English-Russian translation software, and then converted it back into English using a Russian-English translation software.

The result was “the vodka is excellent but the chicken is not good”.

While this joke may not be valid any more thanks to the advances in machine translation, aided by big data and neural networks, the issue of translation is useful in other contexts.

Firstly, speaking in a language that is not your “technical first language” makes you eschew jargon. If you have been struggling to get rid of jargon from your professional vocabulary, one way to get around it is to speak more in your native language (which, if you’re Indian, is unlikely to be your technical first language). Devoid of the idioms and acronyms that you normally fill your official conversation with, you are forced to think, and this practice of talking technical stuff in a non-usual language will help you cut your jargon.

There is another use case for using non-standard languages – dealing with extremely verbose prose. A number of commentators, a large number of whom are rather well-reputed, have this habit of filling their columns with flowery language, GRE words, repetition and rhetoric. While there is usually some useful content in these columns, it gets lost in the language and idioms and other things that would make the columnist’s high school English teacher happy.

I suggest that these columns be given the spirit-flesh treatment. Translate them into a non-English language, get rid of redundancies in sentences and then  translate them back into English. This process, if the translators are good at producing simple language, will remove the bluster and make the column much more readable.

Speaking in a non-standard language can also make you get out of your comfort zone and think harder. Earlier this week, I spent two hours recording a podcast in Hindi on cricket analytics. My Hindi is so bad that I usually think in Kannada or English and then translate the sentence “live” in my head. And as you can hear, I sometimes struggle for words. Anyway here is the thing. Listen to this if you can bear to hear my Hindi for over an hour.

Python and Hindi

So I’ve recently discovered that using Python to analyse data is, to me, like talking in Hindi. Let me explain.

Back in 2008-9 I lived in Delhi, where the only language spoken was Hindi. Now, while I’ve learnt Hindi formally in school (I got 90 out of 100 in my 10th boards!), and watched plenty of Hindi movies, I’ve never been particularly fluent in the language.

The basic problem is that I don’t know the language well enough to think in it. So when I’m talking Hindi, I usually think in Kannada and then translate my thoughts. This means my speech is slow – even Atal Behari Vajpayee can speak Hindi faster than me.

More importantly, thinking in Kannada and translating means that I can get several idioms wrong (can’t think of particular examples now). And I end up using the language in ways that native speakers don’t (again can’t think of examples here).

I recently realised it’s the same with programming languages. For some 7 years now I’ve mostly used R for data analysis, and have grown super comfortable with it. However, at work nowadays I’m required to use Python for my analysis, to ensure consistency with the rest of the firm.

While I’ve grown reasonably comfortable with using Python over the last few months, I realise that I have the same Hindi problem. I simply can’t think in Python. Any analysis I need to do, I think about it in R terms, and then mentally translate the code before performing it in Python.

This results in several inefficiencies. Firstly, the two languages are constructed differently and optimised for different things. When I think in one language and mentally translate the code to the other, I’m exploiting the efficiencies of the thinking language rather than the efficiencies of the coding language.

Then, the translation process itself can be ugly. What might be one line of code in R can sometimes take 15 lines in Python (and vice versa). So I end up writing insanely verbose code that is hard to read.

Such code also looks ugly – a “native user” of the language finds it rather funnily written, and will find it hard to read.

A decade ago, after a year of struggling in Delhi, I packed my bags and moved back to Bangalore, where I could both think and speak in Kannada. Wonder what this implies in a programming context!