What is msgid used for in localisation .po files?

HI,

I’ve written some basic localisation export tools to create .po files.
I can successfully export & import these .po files into UE4.

The format of exported .po file entries from UE4 is:

msgctxt “StringTableName, StringToken”

msgid “English string”

msgstr “Translated string”

However, I’m confused about what msgid is, what it’s used for & why it’s needed.
It doesn’t appear to be relevant to the data operations.
Are all strings not uniquely identified by their StringTableName & StringToken?

I’d like to understand it to ensure correct operations.
Is it just there to make .po files human readable in foreign languages?

Many thanks in advance

Cheers
William