feat(playlists): improve smart playlist editing and localization

Open smart playlist editing from playlist cards, load rules via Navidrome single-playlist API with safer fallbacks, and keep edit visibility aligned with ownership rules.
Also add/clean smart playlist locale keys across all supported languages and preserve smarter autogenerated naming behavior.
This commit is contained in:
Maxim Isaev
2026-04-24 17:29:41 +03:00
parent da4e0189b9
commit 401fed8368
12 changed files with 519 additions and 56 deletions
+41
View File
@@ -1295,6 +1295,47 @@ export const zhTranslation = {
csvImportDownloadSuccess: '报告下载成功',
csvImportDownloadError: '报告下载失败',
},
smartPlaylists: {
sectionBasic: '1. 基础',
sectionGenres: '2. 流派',
sectionYearsAndFilters: '3. 年份与筛选',
genreMode: '流派模式',
genreModeInclude: '包含流派',
genreModeExclude: '排除流派',
genreSearchPlaceholder: '筛选流派...',
availableGenres: '可用',
selectedGenres: '已选',
yearMode: '年份模式',
yearModeInclude: '包含范围',
yearModeExclude: '排除范围',
name: '名称(不含前缀)',
limit: '数量上限',
limitHint: '要包含在播放列表中的曲目数量(1-{{max}},通常为 50)。',
artistContains: '艺术家包含…',
albumContains: '专辑包含…',
titleContains: '标题包含…',
minRating: '最低评分',
minRatingAria: '智能播放列表的最低评分',
minRatingHint: '0 表示关闭最低阈值;1-5 仅保留评分高于所选值的曲目。',
fromYear: '起始年份',
toYear: '结束年份',
excludeUnrated: '排除未评分曲目',
compilationOnly: '仅合集',
create: '新建智能播放列表',
save: '保存智能播放列表',
created: '已创建 {{name}}',
updated: '已更新 {{name}}',
createFailed: '无法创建智能播放列表。',
updateFailed: '无法更新智能播放列表。',
navidromeOnly: '仅 Navidrome 服务器支持创建智能播放列表。',
loadFailed: '无法从 Navidrome 加载智能播放列表。',
sortRandom: '排序:随机',
sortTitleAsc: '排序:标题 A-Z',
sortTitleDesc: '排序:标题 Z-A',
sortYearDesc: '排序:年份降序',
sortYearAsc: '排序:年份升序',
sortPlayCountDesc: '排序:播放次数降序',
},
mostPlayed: {
title: '最常播放',
topArtists: '热门艺术家',