Correct use of LANGUAGE (TLAN)


We recently had an interesting discussion about how to use the ID3v2 LANGUAGE tag "TLAN" over in the MusicIP Forums.

It seems that more than one language in the TLAN field (i.e., for duets and the like) should be separated by NULL characters, so how would we handle that in Mp3tag? (A NULL character cannot readily be entered into input fields, or displayed.)

Florian, any ideas? Like maybe a "pseudo separation sequence" one could enter into the field and which in turn would be displayed again? I know our broadcasting software does this for the "lyrics" (USLT) field: You can enter something like "eng||lyrics text..." or "ger||lyrics text..." and it will get converted.

Here is a short excerpt of what my ideas are regarding the TLAN tag:

From "TLAN: The 'Language(s)' frame should contain the languages of the text or lyrics spoken or sung in the audio. The language is represented with three characters according to ISO-639-2. If more than one language is used in the text their language codes should follow according to their usage."

For sorting, the "bibliographic" (i.e., "ger" for German) and "terminology" (i.e., "deu" for German) language codes should be considered equal, since many people are unsure which to use, and many languages have both variants.

In the interest of most people understandig it, I strongly opt for only using the bibliographic terms, i.e. "per" for "Persian" and "ger" for "German" - most foreigneirs would probably not know about "far" meaning "Farsi" (the Persian language) and "deu" meaning "Deutsch" (the German language).

Also, there are songs out there sung in more than one language, so these should be found/sorted according to whatever is in the tag (i.e., "ger" and "eng" should be sorted as "German" since that comes first, but found as "German" and "English").


  • A German-language song:
    "ger" (or "deu")
    Sorted and found under "ger".
  • A German song with some lines of English in it:
    "ger" and "eng" - since the main part is in German (not "eng" and "ger"!)
    Sorted under "ger" but found under both "ger" and "eng".
  • A duet sung in English, with many Italian parts:
    "eng" and "ita" - since the main part is still English (not "ita" and "eng")
    Sorted under "eng" but found under both "eng" and "ita".
  • An instrumental title:
    Should not have a TLAN tag (or maybe an empty one). No reason to show it as "instrumental", though - it might just not have been tagged and still be a song with lyrics. (In my opinion, it just might be a good idea to set up a de-facto standard of "No TLAN=untagged" and "Empty TLAN=instrumental".)


Multiple tag values are possible with the \\ syntax e.g. deu\\eng
Or just create another LANGUAGE field with extended tags view.


Great... thanks a lot, dano - I must have overlooked that.

What will that do internally? Create a NUL character?


I was looking for the language code, used by others for instrumental music. Leave it blank, as suggested here, I do not consider as a good solution. First, I do not know, how to achieve this (if I do not write anything, there will simply be no TLAN tag), and even if there is a solution, it probably will not appear in the Mp3tag.

So a simple poll: how others use the TLAN in instrumental music?
May be, zxx, for "no linguistic content, not applicable"?