Problem with languages

hello,
I would like to know how to keep Japanese artist name in Japanese, and everything else transliterate to English.

If I do in the config.ymal, every Japanese name available in English will be transliterate to English
import:
languages: en ja

If I do the opposite, for example, Pyotr Ilyich Tchaikovsky will be transliterate to Japanese, チャイコフスキー
import:
languages: ja en

On the doc, there is a mistake too, local value for Japanese is “ja” not “jp”. (https://musicbrainz.org/ws/2/artist/e476adc4-d5e7-427a-b86f-70ecc970b009?inc=aliases&fmt=json)

If there is no option, I will have to dig the code and hardcode an if statement like, if country “JP” use “name”.

I would like to know if it can be done in the config.ymal,

Thank you

Hmm, sadly, I don’t think that logic is possible currently. As you can see, the languages interpretation only cares about the translated locale, not the original locale:

This seems like a reasonable use case to support, but I’m struggling to think of a clean design (i.e., what the configuration should look like). If you have any bright ideas, maybe it would be a good idea to open a feature request ticket…

Thank you for your reply.

After checking the code, I think that the only way is to add “exclude_character_sets” in the config file. Like alphabet, ckj (Chinese, Korean, Japanese), Cyrillic, etc… And if the original name contains at least 1 character from the excluded sets, skip alias. The condition should be in _flatten_artist_credit.

Even if the artist is Japanese for example, he may live in Europe and use alphabet in his artist name. So, the original name should not be in Japanese.

I do not know where to do the request in fact, so at this moment I added that condition in my version of beets.