Lyrics with different language

I have set the "LANGUAGE" field to "kan"
UNSYNCEDLYRICS has a prefix for eng||

Shouldn't the mp3tag pickup the prefix from LANGUAGE field?


MP3tag uses the language code from

wonderful. but, it would great, if mp3tag can pickup this code from LANGUAGE.
it would difficult to switch between languages across multiple songs.


Action as shown above would add "kan" all over the place.

I think it is sensible to pickup the language code from "LANGUAGE (TLAN)" if it is defined, otherwise it can fall back to this setting.

That depends very much on the use case: the reason why there is a language setting at all, different from the OS language is mainly due to iTunes that requires the field COMMENT with English as language token. And that is independent from the actual language used in the comment field.
This is set by that option in MP3tag: which language token is used for the comment field - and also which one to insert in the lyrics field.
As I hardly use the COMMENT field in iTunes I have set the language token to "xxx" which handles the lyrics better in WMP which only shows lyrics if the language identifier matches the OS language settings - or none like xxx. WMP does not care about the language field, it only shows it. iTunes, BTW, does not show the language field ...
And another thing:
If MP3tag had to use the token from the LANGUAGE field, it would mean that the LANGUAGE field is filled prior to entering the lyrics - a not-so-friendly concept for a GUI where there is best no fixed sequence of input.
Also, it is not quite clear what would happen if you change the contents of LANGUAGE later - would this lead to an automatic adaptation of the lyrics? I'd rather not have that.

It is not necessary to use a regular expression which has its virtues by interpreting patterns if you want to replace one string constant with another. There a simple "Replace" would do. On the contrary, with all the special characters in the regular expression syntax it is much easier to use a simple replace.

The example to replace "eng" with "kan" would replace the 3 letters "eng" in every word where it occurs.
You would have to supply a unique string (e.g. "eng||") to replace which may run into problems as the | has a special function in a regular expression or use the simple "Replace" and tick "word only".

Really, every audio, text, image and video stream, attachment and field within a file could have a language distinct from the others. Itʼs not only a nightmare to make this work in a GUI, but media container file formats differ a lot in the granularity they support.

How does this bring the discussion forward that the expectation of @rajanna to get the right language token was not met?

I was supporting their wish for a sensible default value, but pointed out that the issue is actually more complicated than it may seem at first if you only consider your particular use case.

This is true, even now. If we change the settings in mp3tag, unless we write lyrics field, language tag is not updated.

Perhaps, you can make the LANGUAGE field a list menu of all language codes.

  1. Make language field visible in the default tag fields with titles, album, etc, and < not selected > as the default field. Language field is not written if < not selected > is selected.
  2. Lyrics field pickup the language from Language field, if < not selected > is selected, then pickup the language field from Tools>Options>Tags>Enhanced.
  3. If the lyrics exists and user changes the language fields, mp3tag could update the lyrics field along with language field.