composer not translated from non western language with import/languages set to en
- Dominant language
- Python
- Stars
- 15.7k
- Forks
- 2.1k
- Avg merge
- 4d 21h
- Merged PRs (30d)
- 31
Description
Setting import/languages to en works correctly with artist and sort fields but fails with composer field, which remain untranslated.
Tested importing album [[Swan Lake / Sleeping Beauty / Nutcracker Suites](https://musicbrainz.org/release/e83b1528-535a-4055-a868-daa0cf0a6f65)
Log of import operation
```sh
$ beet -vc config.yaml import --from-scratch "/data/Music/Pyotr Ilyich Tchaikovsky; Vienna Philharmonic, Herbert von Karajan"
overlaying configuration: config.yaml
no user configuration found at /home/sergio/.config/beets/config.yaml
data directory: /home/sergio/.config/beets
plugin paths:
Sending event: pluginload
library database: /data/beets/test/musiclibrary.db
library directory: /data/beets/test/Music
Sending event: library_opened
Sending event: import_begin
Sending event: import_task_created
Sending event: import_task_start
Looking up: /data/Music/Pyotr Ilyich Tchaikovsky; Vienna Philharmonic, Herbert von Karajan/Swan Lake _ Sleeping Beauty _ Nutcracker Suites
Tagging Pyotr Ilyich Tchaikovsky; Vienna Philharmonic, Herbert von Karajan - Swan Lake / Sleeping Beauty / Nutcracker Suites
Searching for discovered album ID: e83b1528-535a-4055-a868-daa0cf0a6f65
Requesting MusicBrainz release e83b1528-535a-4055-a868-daa0cf0a6f65
Sending event: mb_track_extract
Sending event: mb_track_extract
Sending event: mb_track_extract
Sending event: mb_track_extract
Sending event: mb_track_extract
Sending event: mb_track_extract
Sending event: mb_track_extract
Sending event: mb_track_extract
Sending event: mb_track_extract
Sending event: mb_track_extract
Sending event: mb_track_extract
Sending event: mb_track_extract
Sending event: mb_track_extract
Sending event: mb_track_extract
Sending event: mb_track_extract
Sending event: mb_track_extract
Sending event: mb_track_extract
Sending event: mb_track_extract
Sending event: mb_track_extract
Sending event: mb_album_extract
Sending event: albuminfo_received
Candidate: Pyotr Ilyich Tchaikovsky; Vienna Philharmonic, Herbert von Karajan - Swan Lake / Sleeping Beauty / Nutcracker Suites (e83b1528-535a-4055-a868-daa0cf0a6f65)
Computing track assignment...
...done.
Success. Distance: 0.00
Album ID match recommendation is 3
ID match.
/data/Music/Pyotr Ilyich Tchaikovsky; Vienna Philharmonic, Herbert von Karajan/Swan Lake _ Sleeping Beauty _ Nutcracker Suites (19 items)
Sending event: import_task_before_choice
Sending event: before_choose_candidate
Match (100.0%):
Pyotr Ilyich Tchaikovsky; Vienna Philharmonic, Herbert von Karajan - Swan Lake / Sleeping Beauty / Nutcracker Suites
MusicBrainz, CD, 1996, XE, Decca Classics, 448 592-2, None
https://musicbrainz.org/release/e83b1528-535a-4055-a868-daa0cf0a6f65
* Artist: Pyotr Ilyich Tchaikovsky; Vienna Philharmonic, Herbert von Karajan
* Album: Swan Lake / Sleeping Beauty / Nutcracker Suites
Sending event: import_task_choice
Sending event: import_task_apply
0 of 19 items replaced
Sending event: database_change
Sending event: database_change
Sending event: database_change
Sending event: database_change
Sending event: database_change
Sending event: database_change
Sending event: database_change
Sending event: database_change
Sending event: database_change
Sending event: database_change
Sending event: database_change
Sending event: database_change
Sending event: database_change
Sending event: database_change
Sending event: database_change
Sending event: database_change
Sending event: database_change
Sending event: database_change
Sending event: database_change
Sending event: database_change
Sending event: database_change
Sending event: database_change
Sending event: database_change
Sending event: database_change
Sending event: database_change
Sending event: database_change
Sending event: database_change
Sending event: database_change
Sending event: database_change
Sending event: database_change
Sending event: database_change
Sending event: database_change
Sending event: database_change
Sending event: database_change
Sending event: database_change
Sending event: database_change
Sending event: database_change
Sending event: database_change
Sending event: database_change
Sending event: database_change
Sending event: database_change
Sending event: database_change
Sending event: database_change
Sending event: database_change
Sending event: database_change
Sending event: database_change
Sending event: database_change
Sending event: database_change
Sending event: database_change
Sending event: database_change
Sending event: database_change
Sending event: database_change
Sending event: database_change
Sending event: database_change
Sending event: database_change
Sending event: database_change
Sending event: database_change
Sending event: database_change
Sending event: database_change
Sending event: database_change
Parsed query: AndQuery([NoneQuery('album_id', True)])
Parsed sort: NullSort()
Parsed query: AndQuery([BooleanQuery('comp', 1, fast=True)])
Parsed sort: NullSort()
Sending event: item_copied
Sending event: database_change
Sending event: database_change
Sending event: write
Sending event: after_write
Parsed query: AndQuery([NoneQuery('album_id', True)])
Parsed sort: NullSort()
Parsed query: AndQuery([BooleanQuery('comp', 1, fast=True)])
Parsed sort: NullSort()
Sending event: item_copied
Sending event: database_change
Sending event: database_change
Sending event: write
Sending event: after_write
Parsed query: AndQuery([NoneQuery('album_id', True)])
Parsed sort: NullSort()
Parsed query: AndQuery([BooleanQuery('comp', 1, fast=True)])
Parsed sort: NullSort()
Sending event: item_copied
Sending event: database_change
Sending event: database_change
Sending event: write
Sending event: after_write
Parsed query: AndQuery([NoneQuery('album_id', True)])
Parsed sort: NullSort()
Parsed query: AndQuery([BooleanQuery('comp', 1, fast=True)])
Parsed sort: NullSort()
Sending event: item_copied
Sending event: database_change
Sending event: database_change
Sending event: write
Sending event: after_write
Parsed query: AndQuery([NoneQuery('album_id', True)])
Parsed sort: NullSort()
Parsed query: AndQuery([BooleanQuery('comp', 1, fast=True)])
Parsed sort: NullSort()
Sending event: item_copied
Sending event: database_change
Sending event: database_change
Sending event: write
Sending event: after_write
Parsed query: AndQuery([NoneQuery('album_id', True)])
Parsed sort: NullSort()
Parsed query: AndQuery([BooleanQuery('comp', 1, fast=True)])
Parsed sort: NullSort()
Sending event: item_copied
Sending event: database_change
Sending event: database_change
Sending event: write
Sending event: after_write
Parsed query: AndQuery([NoneQuery('album_id', True)])
Parsed sort: NullSort()
Parsed query: AndQuery([BooleanQuery('comp', 1, fast=True)])
Parsed sort: NullSort()
Sending event: item_copied
Sending event: database_change
Sending event: database_change
Sending event: write
Sending event: after_write
Parsed query: AndQuery([NoneQuery('album_id', True)])
Parsed sort: NullSort()
Parsed query: AndQuery([BooleanQuery('comp', 1, fast=True)])
Parsed sort: NullSort()
Sending event: item_copied
Sending event: database_change
Sending event: database_change
Sending event: write
Sending event: after_write
Parsed query: AndQuery([NoneQuery('album_id', True)])
Parsed sort: NullSort()
Parsed query: AndQuery([BooleanQuery('comp', 1, fast=True)])
Parsed sort: NullSort()
Sending event: item_copied
Sending event: database_change
Sending event: database_change
Sending event: write
Sending event: after_write
Parsed query: AndQuery([NoneQuery('album_id', True)])
Parsed sort: NullSort()
Parsed query: AndQuery([BooleanQuery('comp', 1, fast=True)])
Parsed sort: NullSort()
Sending event: item_copied
Sending event: database_change
Sending event: database_change
Sending event: write
Sending event: after_write
Parsed query: AndQuery([NoneQuery('album_id', True)])
Parsed sort: NullSort()
Parsed query: AndQuery([BooleanQuery('comp', 1, fast=True)])
Parsed sort: NullSort()
Sending event: item_copied
Sending event: database_change
Sending event: database_change
Sending event: write
Sending event: after_write
Parsed query: AndQuery([NoneQuery('album_id', True)])
Parsed sort: NullSort()
Parsed query: AndQuery([BooleanQuery('comp', 1, fast=True)])
Parsed sort: NullSort()
Sending event: item_copied
Sending event: database_change
Sending event: database_change
Sending event: write
Sending event: after_write
Parsed query: AndQuery([NoneQuery('album_id', True)])
Parsed sort: NullSort()
Parsed query: AndQuery([BooleanQuery('comp', 1, fast=True)])
Parsed sort: NullSort()
Sending event: item_copied
Sending event: database_change
Sending event: database_change
Sending event: write
Sending event: after_write
Parsed query: AndQuery([NoneQuery('album_id', True)])
Parsed sort: NullSort()
Parsed query: AndQuery([BooleanQuery('comp', 1, fast=True)])
Parsed sort: NullSort()
Sending event: item_copied
Sending event: database_change
Sending event: database_change
Sending event: write
Sending event: after_write
Parsed query: AndQuery([NoneQuery('album_id', True)])
Parsed sort: NullSort()
Parsed query: AndQuery([BooleanQuery('comp', 1, fast=True)])
Parsed sort: NullSort()
Sending event: item_copied
Sending event: database_change
Sending event: database_change
Sending event: write
Sending event: after_write
Parsed query: AndQuery([NoneQuery('album_id', True)])
Parsed sort: NullSort()
Parsed query: AndQuery([BooleanQuery('comp', 1, fast=True)])
Parsed sort: NullSort()
Sending event: item_copied
Sending event: database_change
Sending event: database_change
Sending event: write
Sending event: after_write
Parsed query: AndQuery([NoneQuery('album_id', True)])
Parsed sort: NullSort()
Parsed query: AndQuery([BooleanQuery('comp', 1, fast=True)])
Parsed sort: NullSort()
Sending event: item_copied
Sending event: database_change
Sending event: database_change
Sending event: write
Sending event: after_write
Parsed query: AndQuery([NoneQuery('album_id', True)])
Parsed sort: NullSort()
Parsed query: AndQuery([BooleanQuery('comp', 1, fast=True)])
Parsed sort: NullSort()
Sending event: item_copied
Sending event: database_change
Sending event: database_change
Sending event: write
Sending event: after_write
Parsed query: AndQuery([NoneQuery('album_id', True)])
Parsed sort: NullSort()
Parsed query: AndQuery([BooleanQuery('comp', 1, fast=True)])
Parsed sort: NullSort()
Sending event: item_copied
Sending event: database_change
Sending event: database_change
Sending event: write
Sending event: after_write
Sending event: database_change
Sending event: database_change
Sending event: database_change
Sending event: database_change
Sending event: database_change
Sending event: database_change
Sending event: database_change
Sending event: database_change
Sending event: database_change
Sending event: database_change
Sending event: database_change
Sending event: database_change
Sending event: database_change
Sending event: database_change
Sending event: database_change
Sending event: database_change
Sending event: database_change
Sending event: database_change
Sending event: database_change
Sending event: import_task_files
Sending event: album_imported
Sending event: import
Sending event: cli_exit
```
Led to this problem:
```sh
beet -vc config.yaml ls -f '$artist | $composer'
overlaying configuration: config.yaml
no user configuration found at /home/sergio/.config/beets/config.yaml
data directory: /home/sergio/.config/beets
plugin paths:
Sending event: pluginload
library database: /data/beets/test/musiclibrary.db
library directory: /data/beets/test/Music
Sending event: library_opened
Parsed query: AndQuery([TrueQuery()])
Parsed sort: NullSort()
Pyotr Ilyich Tchaikovsky | Пётр Ильич Чайковский
Pyotr Ilyich Tchaikovsky | Пётр Ильич Чайковский
Pyotr Ilyich Tchaikovsky | Пётр Ильич Чайковский
Pyotr Ilyich Tchaikovsky | Пётр Ильич Чайковский
Pyotr Ilyich Tchaikovsky | Пётр Ильич Чайковский
Pyotr Ilyich Tchaikovsky | Пётр Ильич Чайковский
Pyotr Ilyich Tchaikovsky | Пётр Ильич Чайковский
Pyotr Ilyich Tchaikovsky | Пётр Ильич Чайковский
Pyotr Ilyich Tchaikovsky | Пётр Ильич Чайковский, Пётр Ильич Чайковский
Pyotr Ilyich Tchaikovsky | Пётр Ильич Чайковский
Pyotr Ilyich Tchaikovsky | Пётр Ильич Чайковский
Pyotr Ilyich Tchaikovsky | Пётр Ильич Чайковский
Pyotr Ilyich Tchaikovsky | Пётр Ильич Чайковский, Пётр Ильич Чайковский
Pyotr Ilyich Tchaikovsky | Пётр Ильич Чайковский
Pyotr Ilyich Tchaikovsky | Пётр Ильич Чайковский
Pyotr Ilyich Tchaikovsky | Пётр Ильич Чайковский
Pyotr Ilyich Tchaikovsky | Пётр Ильич Чайковский
Pyotr Ilyich Tchaikovsky | Пётр Ильич Чайковский, Пётр Ильич Чайковский
Pyotr Ilyich Tchaikovsky | Пётр Ильич Чайковский
Sending event: cli_exit
```
Here's a link to the music files that trigger the bug (if relevant):
### Setup
* OS: ubuntu
* Python version: 3.12.3
* beets version: 2.3.1
* Turning off plugins made problem go away (yes/no): no plugins present
My configuration (output of `beet config`) is:
```yaml
directory: /data/beets/test/Music
library: /data/beets/test/musiclibrary.db
import:
copy: true
log: "/data/beets/test/import.log"
languages: en
```
Contributor guide
Assessment
This issue has not been assessed yet.