feat(metadata): implement single-track metadata editor page (§A7)
Replace the placeholder with a controlled form for title/artist/album/ year/genre/track number, an AcoustID "find matches" action showing ranked candidates with confidence, a diff/apply picker, a re-enrich button, and save via PUT /metadata. Adds matches/apply API endpoints, mappers, types, and en/ru i18n strings. Batch editor remains a placeholder (deferred).
This commit is contained in:
@@ -283,6 +283,39 @@ const ru: Translations = {
|
||||
manual: 'Изменено вручную — не обновляется автоматически',
|
||||
},
|
||||
},
|
||||
metadataEditor: {
|
||||
error: 'Не удалось загрузить трек',
|
||||
saved: 'Метаданные сохранены.',
|
||||
saveError: 'Не удалось сохранить метаданные.',
|
||||
save: 'Сохранить',
|
||||
fields: {
|
||||
title: 'Название',
|
||||
artist: 'Исполнитель',
|
||||
album: 'Альбом',
|
||||
year: 'Год',
|
||||
genre: 'Жанр',
|
||||
trackNumber: 'Номер трека',
|
||||
},
|
||||
autoEnrich: {
|
||||
title: 'Поиск по AcoustID',
|
||||
hint: 'Определить трек по аудио-отпечатку.',
|
||||
findMatches: 'Найти совпадения',
|
||||
reEnrich: 'Повторить обогащение',
|
||||
enqueued: 'Обогащение запущено — обновите через момент.',
|
||||
error: 'Не удалось найти совпадения.',
|
||||
noMatches: 'Совпадений не найдено.',
|
||||
},
|
||||
matches: {
|
||||
use: 'Использовать',
|
||||
unknownTitle: 'Неизвестное название',
|
||||
},
|
||||
diff: {
|
||||
title: 'Применить это совпадение?',
|
||||
noChanges: 'Нет изменений относительно текущих значений.',
|
||||
cancel: 'Отмена',
|
||||
apply: 'Применить',
|
||||
},
|
||||
},
|
||||
};
|
||||
|
||||
export default ru;
|
||||
|
||||
Reference in New Issue
Block a user