feat: add personal playlists and shareable track links
release / release (версия и заметки) (push) Successful in 6s
release / android (APK в релиз) (push) Successful in 4m8s

EOF

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
mrleo1nidandCursor committed 2026-10-21 23:37:53 +03:00
1 parent 3a097c15c8
commit fa79394869
46 files changed
+2307 -292

No files matched your search

+26
View File
@@ -54,6 +54,10 @@
"wave_soon": "An endless stream tuned to your taste will appear once the server has a library."
},
"player": {
"share": "Share track",
"link_copied": "Track link copied",
"share_error": "Could not share the link. Please try again.",
"track_page": "Track",
"empty": "Nothing is playing",
"label": "Player",
"play": "Play",
@@ -302,5 +306,27 @@
"pick_more_few": "Pick {{count}} more artists",
"pick_more_many": "Pick {{count}} more artists",
"pick_more_other": "Pick {{count}} more artists"
},
"playlists": {
"name": "Name",
"delete_confirm": "Delete playlist “{{name}}”? Tracks will remain in your library.",
"manage": "Manage tracks",
"title": "Playlists",
"move_down": "Move {{name}} down",
"edit": "Edit playlist",
"description": "Description",
"add": "Add to playlist",
"search": "Search playlists",
"create": "Create playlist",
"find_tracks": "Find music",
"remove_track": "Remove {{name}} from playlist",
"save": "Save",
"private": "Private playlist",
"empty": "Your playlists will appear here. Create your first and add your favourite music.",
"empty_tracks": "No tracks yet. Use Add to playlist in search, albums or your collection.",
"loading": "Loading playlists…",
"move_up": "Move {{name}} up",
"delete": "Delete playlist",
"no_results": "No playlists found"
}
}
+7
View File
@@ -93,5 +93,12 @@
"size_mismatch": "The file size does not match the declared one",
"hash_mismatch": "The file was corrupted in transit (SHA-256 mismatch)",
"import_failed": "Could not write the file to the storage"
},
"playlist": {
"not_found": "Playlist not found",
"invalid_name": "Enter a name between 1 and 120 characters",
"invalid_tracks": "Tracks must be unique and exist in the library",
"too_large": "Maximum 2000 tracks and 2000 description characters",
"conflict": "This playlist changed on another device. Close the editor and try again with the refreshed data."
}
}
+26
View File
@@ -54,6 +54,10 @@
"wave_soon": "Бесконечная лента под ваш вкус появится, когда сервер подключит библиотеку."
},
"player": {
"share": "Поделиться треком",
"link_copied": "Ссылка на трек скопирована",
"share_error": "Не удалось поделиться ссылкой. Попробуйте ещё раз.",
"track_page": "Трек",
"empty": "Ничего не играет",
"label": "Плеер",
"play": "Слушать",
@@ -302,5 +306,27 @@
"pick_more_few": "Выберите ещё {{count}} исполнителя",
"pick_more_many": "Выберите ещё {{count}} исполнителей",
"pick_more_other": "Выберите ещё {{count}} исполнителя"
},
"playlists": {
"name": "Название",
"delete_confirm": "Удалить плейлист «{{name}}»? Треки останутся в библиотеке.",
"manage": "Управлять треками",
"title": "Плейлисты",
"move_down": "Переместить «{{name}}» ниже",
"edit": "Изменить плейлист",
"description": "Описание",
"add": "Добавить в плейлист",
"search": "Поиск плейлистов",
"create": "Создать плейлист",
"find_tracks": "Найти музыку",
"remove_track": "Убрать «{{name}}» из плейлиста",
"save": "Сохранить",
"private": "Личный плейлист",
"empty": "Здесь будут ваши плейлисты. Создайте первый и добавьте любимую музыку.",
"empty_tracks": "В плейлисте пока нет треков. Добавляйте их кнопкой «Добавить в плейлист» в поиске, альбомах или коллекции.",
"loading": "Загрузка плейлистов…",
"move_up": "Переместить «{{name}}» выше",
"delete": "Удалить плейлист",
"no_results": "Плейлисты не найдены"
}
}
+7
View File
@@ -93,5 +93,12 @@
"size_mismatch": "Размер файла не совпал с заявленным",
"hash_mismatch": "Файл повредился при загрузке (не совпал SHA-256)",
"import_failed": "Не удалось записать файл в хранилище"
},
"playlist": {
"not_found": "Плейлист не найден",
"invalid_name": "Введите название от 1 до 120 символов",
"invalid_tracks": "Треки не должны повторяться и должны существовать в библиотеке",
"too_large": "Максимум 2000 треков и 2000 символов описания",
"conflict": "Плейлист изменён на другом устройстве. Закройте редактор и повторите изменение с обновлёнными данными."
}
}