QobuzLyricsDocument gains the optional translation member (same content union as original, new in API 10.0), the content DTOs become Serialize+PartialEq so the lyrics cache can persist a translation verbatim, and a lang() accessor exposes the content language. New fixtures cover embedded translations of each type (wsync/lsync/plain), the lyricsUrl envelope with translation_requested, empty translation_langs (feature off), and 9.x documents (no translation). km
24 lines
589 B
JSON
24 lines
589 B
JSON
{
|
|
"album_id": "abc123",
|
|
"track_id": 111111111,
|
|
"translation_langs": ["fr"],
|
|
"publishers": [],
|
|
"writers": "Writer Three",
|
|
"original": {
|
|
"type": "lsync",
|
|
"lang": "en",
|
|
"lines": [
|
|
{"line": "Line-synced original one", "start": 1000, "end": 4000},
|
|
{"line": "Line-synced original two", "start": 5000, "end": 9000}
|
|
]
|
|
},
|
|
"translation": {
|
|
"type": "lsync",
|
|
"lang": "fr",
|
|
"lines": [
|
|
{"line": "Traduction synchronisee un", "start": 1000, "end": 4000},
|
|
{"line": "Traduction synchronisee deux", "start": 5000, "end": 9000}
|
|
]
|
|
}
|
|
}
|