export const zhTranslation = { sidebar: { library: '音乐库', mainstage: '主舞台', newReleases: '新发布', allAlbums: '全部专辑', randomAlbums: '随机专辑', randomPicker: '创建混音', artists: '艺术家', composers: '作曲家', randomMix: '随机混音', favorites: '收藏夹', nowPlaying: '正在播放', system: '系统', statistics: '统计', settings: '设置', help: '帮助', expand: '展开侧边栏', collapse: '收起侧边栏', downloadingTracks: '正在缓存 {{n}} 首歌曲…', syncingTracks: '同步中 {{done}}/{{total}}…', cancelDownload: '取消下载', offlineLibrary: '离线音乐库', genres: '流派', tracks: '曲目', playlists: '播放列表', mostPlayed: '最常播放', losslessAlbums: '无损', radio: '网络电台', folderBrowser: '文件夹浏览器', deviceSync: '设备同步', libraryScope: '资料库范围', allLibraries: '所有资料库', expandPlaylists: '展开播放列表', collapsePlaylists: '收起播放列表', more: '更多', feelingLucky: '好运混音', }, home: { hero: '精选', starred: '个人收藏', recent: '最近添加', mostPlayed: '最常播放', recentlyPlayed: '最近播放', losslessAlbums: '无损专辑', discover: '发现', discoverSongs: '发现曲目', loadMore: '加载更多', discoverMore: '发现更多', discoverArtists: '发现艺术家', discoverArtistsMore: '全部艺术家', becauseYouLike: '因为你听过…', becauseYouLikeFor: '因为你听过 {{artist}}', similarTo: '类似 {{artist}}', becauseYouLikeTracks_one: '{{count}} 首', becauseYouLikeTracks_other: '{{count}} 首' }, hero: { eyebrow: '精选专辑', playAlbum: '播放专辑', enqueue: '加入队列', enqueueTooltip: '将整张专辑添加到播放队列', }, search: { placeholder: '搜索艺术家、专辑或歌曲…', noResults: '未找到 "{{query}}" 的相关结果', artists: '艺术家', albums: '专辑', songs: '歌曲', clearLabel: '清除搜索', addedToQueueToast: '已将"{{title}}"加入队列', title: '搜索', resultsFor: '"{{query}}" 的搜索结果', album: '专辑', advanced: '高级搜索', advancedSearchTerm: '搜索词', advancedSearchPlaceholder: '标题、专辑、艺术家…', advancedGenre: '流派', advancedAllGenres: '所有流派', advancedYear: '年份', advancedYearFrom: '从', advancedYearTo: '至', advancedAll: '全部', advancedSearch: '搜索', advancedEmpty: '请输入搜索词或选择过滤器。', advancedNoResults: '未找到结果。', advancedGenreNote: '歌曲从该流派中随机选取。', recentSearches: '最近搜索', browse: '浏览', emptyHint: '你想听什么?', genres: '流派', }, nowPlaying: { tooltip: '谁正在收听?', title: '谁正在收听?', loading: '加载中…', nobody: '当前无人收听。', minutesAgo: '{{n}} 分钟前', nothingPlaying: '尚未开始播放。开始播放一首歌曲吧!', aboutArtist: '关于艺术家', fromAlbum: '来自此专辑', viewAlbum: '查看专辑', goToArtist: '前往艺术家', readMore: '阅读更多', showLess: '收起', genreInfo: '流派', trackInfo: '曲目信息', topSongs: '该艺术家最常播放', topSongsCredit: '{{name}} 的热门曲目', trackPosition: '第 {{pos}} 首', playsCount_one: '播放 {{count}} 次', playsCount_other: '播放 {{count}} 次', releasedYearsAgo_one: '{{count}} 年前', releasedYearsAgo_other: '{{count}} 年前', discography: '专辑列表', lastfmStats: 'Last.fm 统计', thisTrack: '这首歌', thisArtist: '这位艺术家', listeners: '听众', scrobbles: '播放记录', yourScrobbles: '你', listenersN: '{{n}} 位听众', scrobblesN: '{{n}} 次播放', playsByYouN: '你播放了 {{n}} 次', openTrackOnLastfm: '在 Last.fm 上查看', openArtistOnLastfm: '在 Last.fm 上查看艺术家', rgTrackTooltip: 'ReplayGain (曲目)', rgAlbumTooltip: 'ReplayGain (专辑)', rgAutoTooltip: 'ReplayGain (自动)', showMoreTracks: '显示另外 {{count}} 首', showLessTracks: '收起', hideCard: '隐藏卡片', layoutMenu: '布局', visibleCards: '可见卡片', hiddenCards: '已隐藏的卡片', noHiddenCards: '没有已隐藏的卡片', resetLayout: '重置布局', emptyColumn: '将卡片拖到此处', }, contextMenu: { playNow: '立即播放', playNext: '下一首播放', addToQueue: '添加到队列', enqueueAlbum: '专辑加入队列', enqueueAlbums_one: '{{count}} 张专辑加入队列', enqueueAlbums_other: '{{count}} 张专辑加入队列', startRadio: '开始电台', instantMix: '即时混音', instantMixFailed: '无法生成即时混音 — 服务器或插件出错。', cliMixNeedsTrack: '当前没有正在播放的内容 — 请先开始播放,然后再执行混音命令。', lfmLove: '在 Last.fm 上标记喜欢', lfmUnlove: '取消 Last.fm 喜欢标记', favorite: '收藏', favoriteArtist: '收藏艺术家', favoriteAlbum: '收藏专辑', unfavorite: '取消收藏', unfavoriteArtist: '取消收藏艺术家', unfavoriteAlbum: '取消收藏专辑', removeFromQueue: '从队列中移除', openAlbum: '打开专辑', goToArtist: '前往艺术家', download: '下载 (ZIP)', addToPlaylist: '添加到播放列表', selectedPlaylists: '已选择 {{count}} 个播放列表', selectedAlbums: '已选择 {{count}} 个专辑', selectedArtists: '已选择 {{count}} 个艺术家', songInfo: '歌曲信息', shareLink: '复制分享链接', shareCopied: '分享链接已复制到剪贴板。', shareCopyFailed: '无法复制到剪贴板。', }, sharePaste: { notLoggedIn: '请先登录并添加服务器,再粘贴分享链接。', noMatchingServer: '没有已保存的服务器与此链接匹配。请添加使用该地址的服务器:{{url}}', trackUnavailable: '在服务器上找不到此歌曲。', albumUnavailable: '在服务器上找不到此专辑。', artistUnavailable: '在服务器上找不到此艺术家。', composerUnavailable: '在服务器上找不到此作曲家。', openedTrack: '正在播放分享的歌曲。', openedAlbum: '正在打开分享的专辑。', openedArtist: '正在打开分享的艺术家。', openedComposer: '正在打开分享的作曲家。', openedQueue_one: '正在播放分享队列中的 {{count}} 首曲目。', openedQueue_other: '正在播放分享队列中的 {{count}} 首曲目。', openedQueuePartial: '正在播放链接中的 {{played}} / {{total}} 首曲目({{skipped}} 首在此服务器上未找到)。', queueAllUnavailable: '此链接中的曲目在服务器上均未找到。', genericError: '无法打开分享链接。', }, albumDetail: { back: '返回', orbitDoubleClickHint: '双击将此曲目添加到 Orbit 队列', playAll: '全部播放', shareAlbum: '分享专辑', enqueue: '加入队列', enqueueTooltip: '将整张专辑添加到播放队列', artistBio: '艺术家简介', download: '下载 (ZIP)', downloading: '加载中…', cacheOffline: '设为离线可用', offlineCached: '已离线缓存', offlineDownloading: '正在缓存… ({{n}}/{{total}})', removeOffline: '移除离线缓存', offlineStorageFull: '离线存储空间已满(限制:{{mb}} MB)。请从离线音乐库中删除专辑以释放空间,或在设置中增加限制。', offlineStorageGoToLibrary: '离线音乐库', offlineStorageGoToSettings: '设置', favoriteAdd: '添加到收藏', favoriteRemove: '从收藏中移除', favorite: '收藏', noBio: '暂无简介。', moreByArtist: '{{artist}} 的更多作品', tracksCount: '{{n}} 首曲目', goToArtist: '前往 {{artist}}', moreLabelAlbums: '{{label}} 的更多专辑', trackTitle: '标题', trackAlbum: '专辑', trackArtist: '艺术家', trackGenre: '流派', trackFormat: '格式', trackFavorite: '收藏', trackRating: '评分', trackDuration: '时长', trackTotal: '总计', columns: '列', resetColumns: '重置为默认', notFound: '未找到专辑。', bioModal: '艺术家简介', bioClose: '关闭', ratingLabel: '评分', enlargeCover: '放大', filterSongs: '筛选歌曲…', sortNatural: '默认顺序', sortByTitle: 'A–Z(标题)', sortByArtist: 'A–Z(艺术家)', sortByAlbum: 'A–Z(专辑)', }, entityRating: { albumShort: '专辑评分', artistShort: '艺人评分', albumAriaLabel: '专辑评分', artistAriaLabel: '艺人评分', selectedArtistsRatingAriaLabel: '为所选 {{count}} 位艺人设置星级评分', selectedAlbumsRatingAriaLabel: '为所选 {{count}} 张专辑设置星级评分', saveFailed: '无法保存评分。', }, artistDetail: { back: '返回', albums: '专辑', album: '专辑', playAll: '全部播放', shareArtist: '分享艺人', shuffle: '随机播放', radio: '电台', loading: '加载中…', noRadio: '未找到该艺术家的相似曲目。', notFound: '未找到艺术家。', albumsBy: '{{name}} 的专辑', topTracks: '热门曲目', noAlbums: '未找到专辑。', trackTitle: '标题', trackAlbum: '专辑', trackDuration: '时长', favoriteAdd: '添加到收藏', favoriteRemove: '从收藏中移除', favorite: '收藏', albumCount_one: '{{count}} 张专辑', albumCount_other: '{{count}} 张专辑', openedInBrowser: '已在浏览器中打开', featuredOn: '还出现在', similarArtists: '相似艺术家', cacheOffline: '离线保存全部专辑', offlineCached: '全部专辑已缓存', offlineDownloading: '正在缓存… ({{done}}/{{total}} 张专辑)', uploadImage: '上传艺术家图片', uploadImageError: '图片上传失败', releaseTypes: { album: '专辑', ep: 'EP', single: '单曲', compilation: '合辑', live: '现场', soundtrack: '原声带', remix: '混音', other: '其他', }, }, favorites: { title: '收藏夹', empty: '您还没有保存任何收藏。', artists: '艺术家', albums: '专辑', songs: '歌曲', enqueueAll: '全部加入队列', playAll: '全部播放', removeSong: '从收藏中移除', stations: '广播电台', showingFiltered: '显示 {{filtered}} / {{total}} ({{artist}})', showingCount: '显示 {{filtered}} / {{total}}', clearArtistFilter: '清除艺术家筛选', noFilterResults: '所选筛选条件下无结果。', allArtists: '全部艺术家', topArtists: '按收藏数排行的艺术家', topArtistsSongCount_one: '{{count}} 首歌曲', topArtistsSongCount_other: '{{count}} 首歌曲', }, randomLanding: { title: '创建混音', mixByTracks: '按曲目混音', mixByTracksDesc: '从整个媒体库随机选取曲目', mixByAlbums: '按专辑混音', mixByAlbumsDesc: '随机选取专辑,探索新音乐', mixByLucky: '好运混音', mixByLuckyDesc: '基于高频艺人、专辑和高评分歌曲的智能 Instant Mix', }, randomAlbums: { title: '随机专辑', refresh: '刷新', }, genres: { title: '流派', genreCount: '个流派', albumCount_one: '{{count}} 张专辑', albumCount_other: '{{count}} 张专辑', loading: '正在加载流派…', empty: '未找到流派。', albumsLoading: '正在加载专辑…', albumsEmpty: '未找到该流派的专辑。', loadMore: '加载更多', back: '返回', }, randomMix: { title: '随机混音', remix: '重新混音', remixTooltip: '加载新的随机歌曲', remixGenre: '重混 {{genre}}', remixTooltipGenre: '加载新的{{genre}}歌曲', playAll: '全部播放', trackTitle: '标题', trackArtist: '艺术家', trackAlbum: '专辑', trackFavorite: '收藏', trackDuration: '时长', favoriteAdd: '添加到收藏', favoriteRemove: '从收藏中移除', play: '播放', trackGenre: '流派', mixSettingsHeader: '混音设置', exclusionsHeader: '排除项', filterPanelInexactSizeNote: '混音大小是一个目标 — 当服务器的随机池耗尽时,较大的请求可能会返回较少的唯一曲目。', mixSize: '列表大小', excludeAudiobooks: '排除有声读物和广播剧', excludeAudiobooksDesc: '根据流派、标题、专辑和艺术家匹配关键词 — 例如 Hörbuch、Audiobook、Spoken Word 等', genreBlocked: '关键词已屏蔽', genreAddedToBlacklist: '已添加到过滤列表', genreAlreadyBlocked: '已屏蔽', artistBlocked: '艺术家已屏蔽', artistAddedToBlacklist: '艺术家已添加到过滤列表', artistClickHint: '点击屏蔽此艺术家', blacklistToggle: '关键词过滤', genreMixTitle: '流派混音', genreMixDesc: '按歌曲数量排列的前 20 个流派 — 点击获取随机混音', genreMixAll: '所有歌曲', genreMixLoadMore: '加载 10 首更多', genreMixNoGenres: '服务器上未找到流派。', shuffleGenres: '显示其他流派', filterPanelTitle: '过滤器', filterPanelDesc: '点击下方列表中的流派标签或艺术家名称,将其从未来的混音中排除。', genreClickHint: '点击流派标签将其添加为过滤关键词。\\n匹配流派、标题、专辑和艺术家。', }, luckyMix: { done: '好运混音已就绪:{{count}} 首', failed: '生成好运混音失败,请重试。', unavailable: '当前服务器不支持好运混音。', cancelTooltip: '取消生成好运混音', }, albums: { title: '全部专辑', sortByName: '按名称排序 (A-Z)', sortByArtist: '按艺术家排序 (A-Z)', sortNewest: '最新优先', sortRandom: '随机排序', yearFrom: '从', yearTo: '到', yearFilterClear: '清除年份筛选', yearFilterLabel: '年份', compilationLabel: '合辑', compilationOnly: '仅合辑', compilationHide: '隐藏合辑', compilationTooltipAll: '所有专辑 · 点击:仅合辑', compilationTooltipOnly: '仅合辑 · 点击:隐藏合辑', compilationTooltipHide: '已隐藏合辑 · 点击:显示全部', select: '多选', startSelect: '启用多选', cancelSelect: '取消', selectionCount: '{{count}} 已选择', downloadZips: '下载 ZIP', addOffline: '添加离线', enqueueSelected_one: '加入队列 ({{count}})', enqueueSelected_other: '加入队列 ({{count}})', enqueueQueued_one: '已将 {{count}} 张专辑加入队列', enqueueQueued_other: '已将 {{count}} 张专辑加入队列', downloadingZip: '正在下载 {{current}}/{{total}}: {{name}}', downloadZipDone: '已下载 {{count}} 个 ZIP', downloadZipFailed: '下载 {{name}} 失败', offlineQueuing: '正在将 {{count}} 张专辑加入离线队列…', offlineFailed: '添加 {{name}} 离线失败', }, tracks: { title: '曲目', subtitle: '浏览。搜索。发现。', heroEyebrow: '此刻精选', heroReroll: '换一首', playSong: '播放', enqueueSong: '加入队列', railRandom: '随机精选', railHighlyRated: '高分推荐', browseTitle: '浏览所有曲目', browseUnsupported: '此服务器不支持一次性列出整个音乐库。使用上方的搜索来查找特定曲目。', searchPlaceholder: '按标题、艺人或专辑搜索…', count_one: '{{count}} 首曲目', count_other: '{{count}} 首曲目', }, artists: { title: '艺术家', search: '搜索…', all: '全部', gridView: '网格视图', listView: '列表视图', imagesOn: '艺术家图片已开启 — 可能增加网络和系统负载', imagesOff: '艺术家图片已关闭 — 仅显示首字母', loadMore: '加载更多', notFound: '未找到艺术家。', albumCount_one: '{{count}} 张专辑', albumCount_other: '{{count}} 张专辑', selectionCount: '{{count}} 已选择', select: '多选', startSelect: '启用多选', cancelSelect: '取消', addToPlaylist: '添加到播放列表', }, composers: { title: '作曲家', search: '搜索…', notFound: '未找到作曲家。', unsupported: '按作曲家浏览需要 Navidrome 0.55 或更新版本。', loadFailed: '无法加载作曲家。', retry: '重试', involvedIn_one: '参与 {{count}} 张专辑', involvedIn_other: '参与 {{count}} 张专辑', }, composerDetail: { back: '返回', notFound: '未找到作曲家。', about: '关于这位作曲家', works: '作品', noWorks: '未找到作品。', workCount_one: '{{count}} 部作品', workCount_other: '{{count}} 部作品', shareComposer: '分享作曲家', unknownComposer: '作曲家', }, login: { subtitle: '您的 Navidrome 桌面播放器', serverName: '服务器名称(可选)', serverNamePlaceholder: '我的 Navidrome', serverUrl: '服务器地址', serverUrlPlaceholder: '192.168.1.100:4533 或 https://music.example.com', username: '用户名', usernamePlaceholder: 'admin', password: '密码', showPassword: '显示密码', hidePassword: '隐藏密码', connect: '连接', connecting: '正在连接…', connected: '已连接!', error: '连接失败 — 请检查您的信息。', urlRequired: '请输入服务器地址。', savedServers: '已保存的服务器', addNew: '或添加新服务器', orMagicString: '或使用魔法字符串', magicStringPlaceholder: '粘贴分享字符串(psysonic1-…)', magicStringInvalid: '魔法字符串无效或无法解析。', }, connection: { connected: '已连接', connectedTo: '已连接到 {{server}}', disconnected: '已断开连接', disconnectedFrom: '无法连接到 {{server}} — 点击检查设置', checking: '正在连接…', extern: '外部', offlineTitle: '无服务器连接', offlineSubtitle: '无法连接到 {{server}}。请检查您的网络或服务器。', offlineModeBanner: '离线模式 — 正在从本地缓存播放', offlineNoCacheBanner: '无服务器连接 — 无法访问 {{server}}', offlineLibraryTitle: '离线音乐库', offlineLibraryEmpty: '尚未缓存任何专辑。请联网,打开专辑并点击"设为离线可用"。', offlineAlbumCount_one: '{{n}} 张专辑', offlineAlbumCount_plural: '{{n}} 张专辑', retry: '重试', serverSettings: '服务器设置', switchServerTitle: '切换服务器', switchServerHint: '点击选择其他已保存的服务器。', manageServers: '管理服务器…', switchFailed: '无法切换 — 无法连接服务器。', lastfmConnected: 'Last.fm 已连接为 @{{user}}', lastfmSessionInvalid: '会话无效 — 点击重新连接', }, common: { albums: '专辑', album: '专辑', loading: '加载中…', loadingMore: '加载中…', loadingPlaylists: '正在加载播放列表…', noAlbums: '未找到专辑。', downloading: '正在下载…', downloadZip: '下载 (ZIP)', back: '返回', cancel: '取消', save: '保存', delete: '删除', use: '使用', add: '添加', new: '新', active: '当前使用', download: '下载', chooseDownloadFolder: '选择下载文件夹', noFolderSelected: '未选择文件夹', rememberDownloadFolder: '记住此文件夹', filterGenre: '流派筛选', filterSearchGenres: '搜索流派…', filterNoGenres: '未找到匹配流派', filterClear: '清除', favorites: '收藏', favoritesTooltipOff: '仅显示收藏', favoritesTooltipOn: '显示全部', play: '播放', bulkSelected: '已选 {{count}} 首', clearSelection: '清除选择', bulkAddToPlaylist: '添加到播放列表', bulkRemoveFromPlaylist: '从播放列表移除', bulkClear: '取消选择', updaterAvailable: '有可用更新', updaterVersion: 'v{{version}} 已发布', updaterWebsite: '官网', updaterModalTitle: '有新版本可用', updaterChangelog: '更新内容', updaterDownloadBtn: '立即下载', updaterSkipBtn: '跳过此版本', updaterRemindBtn: '稍后提醒', updaterDone: '下载完成', updaterShowFolder: '在文件夹中显示', updaterInstallHint: '请关闭 Psysonic 并手动运行安装程序。', updaterAurHint: '通过 AUR 安装更新:', updaterErrorMsg: '下载失败', updaterRetryBtn: '重试', durationHoursMinutes: '{{hours}}小时{{minutes}}分钟', durationMinutesOnly: '{{minutes}}分钟', updaterOpenGitHub: '在 GitHub 上打开', filters: '筛选器', more: '更多', yearRange: '年份范围', clearAll: '清除全部', }, settings: { title: '设置', language: '语言', languageEn: '英语', languageDe: '德语', languageFr: '法语', languageNl: '荷兰语', languageZh: '中文', languageNb: '挪威', languageRu: '俄语', font: '字体', theme: '主题', appearance: '外观', servers: '服务器', serverName: '服务器名称', serverUrl: '服务器地址', serverUrlPlaceholder: '192.168.1.100:4533 或 https://music.example.com', serverUsername: '用户名', serverPassword: '密码', addServer: '添加服务器', addServerTitle: '添加新服务器', useServer: '使用', deleteServer: '删除', noServers: '未保存任何服务器。', serverActive: '当前使用', confirmDeleteServer: '删除服务器 "{{name}}"?', serverConnecting: '正在连接…', serverConnected: '已连接!', serverFailed: '连接失败。', testBtn: '测试连接', testingBtn: '正在测试…', serverCompatible: '专为 Navidrome 构建。其他兼容 Subsonic 的服务器(Gonic、Airsonic 等)可能功能受限,因为 Psysonic 使用了许多 Navidrome 特有的 API 端点。', userMgmtTitle: '用户管理', userMgmtDesc: '管理此服务器上的用户。需要管理员权限。', userMgmtNoAdmin: '需要管理员权限才能管理此服务器上的用户。', userMgmtLoadError: '加载用户失败。', userMgmtLoadFriendly: '服务器未响应 — 通常是偶发问题。', userMgmtRetry: '重试', userMgmtEmpty: '未找到用户。', userMgmtYouBadge: '您', userMgmtAdminBadge: '管理员', userMgmtAddUser: '添加用户', userMgmtAddUserTitle: '新建用户', userMgmtEditUserTitle: '编辑用户', userMgmtUsername: '用户名', userMgmtName: '显示名称', userMgmtEmail: '电子邮箱', userMgmtPassword: '密码', userMgmtPasswordEditHint: '输入新密码以更新。', userMgmtRoleAdmin: '管理员', userMgmtLibraries: '音乐库', userMgmtLibrariesAdminHint: '管理员用户自动拥有所有音乐库的访问权限。', userMgmtLibrariesEmpty: '此服务器上没有可用的音乐库。', userMgmtLibrariesValidation: '请至少选择一个音乐库。', userMgmtLibrariesUpdateError: '用户已保存,但音乐库分配失败', userMgmtNoLibraries: '未分配音乐库', userMgmtNeverSeen: '从未', userMgmtSave: '保存', userMgmtCancel: '取消', userMgmtDelete: '删除', userMgmtEdit: '编辑', userMgmtConfirmDelete: '删除用户 "{{username}}"?此操作无法撤销。', userMgmtCreateError: '创建用户失败。', userMgmtUpdateError: '更新用户失败。', userMgmtDeleteError: '删除用户失败。', userMgmtCreated: '用户已创建。', userMgmtUpdated: '用户已更新。', userMgmtDeleted: '用户已删除。', userMgmtValidationMissing: '用户名、显示名称和密码均为必填项。', userMgmtValidationMissingIdentity: '用户名和显示名称为必填项。', userMgmtMagicStringGenerate: '生成魔法字符串', userMgmtSaveAndMagicString: '保存并获取魔法字符串', userMgmtMagicStringPasswordNavHint: 'Navidrome 会保存此密码。若与当前密码不同,服务器上的登录密码将被更新。', userMgmtMagicStringPlaintextWarning: '请谨慎分享魔法字符串:其中包含未加密的密码(编码不等于加密)。掌握完整字符串的人可以以该用户身份登录。', userMgmtMagicStringCopied: '魔法字符串已复制到剪贴板。', userMgmtMagicStringCopyFailed: '无法复制到剪贴板。', userMgmtMagicStringLoginFailed: '密码验证失败,无法确认凭据。', userMgmtMagicStringModalTitle: '生成魔法字符串', userMgmtMagicStringModalDesc: '请输入用户「{{username}}」的 Subsonic 密码,它会包含在复制的魔法字符串中。', userMgmtMagicStringModalConfirm: '复制字符串', audiomuseTitle: 'AudioMuse-AI(Navidrome)', audiomuseDesc: '若此服务器已配置 AudioMuse-AI Navidrome 插件请开启。可从曲目启动即时混音,并在艺人页使用服务器返回的相似艺人,而非 Last.fm。', audiomuseIssueHint: '近期即时混音失败 — 请检查 Navidrome 插件与 AudioMuse API。若服务器无结果,将回退使用 Last.fm 的相似艺人。', connected: '已连接', failed: '失败', eqTitle: '均衡器', eqEnabled: '启用均衡器', eqPreset: '预设', eqPresetCustom: '自定义', eqPresetBuiltin: '内置预设', eqPresetCustomGroup: '我的预设', eqSavePreset: '保存为预设', eqPresetName: '预设名称…', eqDeletePreset: '删除预设', eqResetBands: '重置为平直', eqPreGain: '预增益', eqResetPreGain: '重置预增益', eqAutoEqTitle: 'AutoEQ 耳机查询', eqAutoEqPlaceholder: '搜索耳机/入耳式型号…', eqAutoEqSearching: '搜索中…', eqAutoEqNoResults: '未找到结果', eqAutoEqError: '搜索失败', eqAutoEqRateLimit: 'GitHub 请求限制 — 请一分钟后重试', eqAutoEqFetchError: '无法获取 EQ 配置', lfmTitle: 'Last.fm', lfmConnect: '连接 Last.fm', lfmConnecting: '等待授权…', lfmConfirm: '我已完成授权', lfmConnected: '已连接为', lfmDisconnect: '断开连接', lfmConnectDesc: '连接您的 Last.fm 账户以启用歌曲记录和正在播放更新,直接从 Psysonic 发送 — 无需配置 Navidrome。', lfmOpenBrowser: '将打开浏览器窗口。在 Last.fm 上授权 Psysonic,然后点击下方按钮。', lfmScrobbles: '{{n}} 次记录', lfmMemberSince: '{{year}} 年加入', scrobbleEnabled: '启用歌曲记录', scrobbleDesc: '播放 50% 后发送歌曲到 Last.fm', behavior: '应用行为', cacheTitle: '最大存储大小', cacheDesc: '封面和艺术家图片。存满时,最旧的条目将自动移除。离线专辑不会自动移除,但手动清除缓存时会被删除。', cacheUsedImages: '图片:', cacheUsedOffline: '离线曲目:', cacheUsedHot: '占用空间:', hotCacheTrackCount: '缓存曲目数:', cacheMaxLabel: '最大容量', cacheClearBtn: '清除缓存', cacheClearWarning: '这将同时移除音乐库中的所有离线专辑。', cacheClearConfirm: '全部清除', cacheClearCancel: '取消', offlineDirTitle: '离线音乐库(应用内)', offlineDirDesc: '用于在 Psysonic 中离线可用的曲目存储位置。', offlineDirDefault: '默认(应用数据)', offlineDirChange: '更改目录', offlineDirClear: '重置为默认', offlineDirHint: '新下载将保存到此位置,现有下载保留在原始路径。', hotCacheTitle: '热播放缓存', hotCacheDisclaimer: '预加载队列中即将播放的曲目并保留近期已播放的。开启后占用磁盘与网络。', hotCacheDirDefault: '默认(应用数据)', hotCacheDirChange: '更改目录', hotCacheDirClear: '重置为默认', hotCacheDirHint: '更换目录会重置应用内索引;已下载的文件仍留在原路径,需自行删除。', hotCacheEnabled: '启用热播放缓存', hotCacheMaxMb: '最大缓存大小', hotCacheDebounce: '队列变更去抖', hotCacheDebounceImmediate: '立即', hotCacheDebounceSeconds: '{{n}} 秒', hotCacheClearBtn: '清空热缓存', audioOutputDevice: '音频输出设备', audioOutputDeviceDesc: '选择 Psysonic 播放音频的设备。更改立即生效并重新开始当前曲目。', audioOutputDeviceDefault: '系统默认', audioOutputDeviceRefresh: '刷新设备列表', audioOutputDeviceOsDefaultNow: '当前系统输出', audioOutputDeviceListError: '无法加载音频设备列表。', audioOutputDeviceNotInCurrentList: '不在当前列表中', audioOutputDeviceMacNotice: '在 macOS 上,出于技术原因,目前播放始终跟随系统输出设备。请通过 系统设置 → 声音 或菜单栏扬声器图标切换目标设备。背景:打开非默认音频流时 CoreAudio 会触发麦克风权限提示 —— 我们通过始终使用系统默认输出来避免此提示。', hiResTitle: '原生高清晰度播放', hiResEnabled: '启用原生高清晰度播放', hiResDesc: "默认强制 44.1 kHz 输出以获得最大稳定性。仅在硬件和网络可靠支持高采样率(88.2 kHz+)时启用。", showArtistImages: '显示艺术家图片', showArtistImagesDesc: '在艺术家概览中加载并显示艺术家图片。默认关闭以减少大型音乐库的服务器磁盘I/O和网络负载。', showOrbitTrigger: '在顶栏显示"Orbit"', showOrbitTriggerDesc: '用于启动或加入共享收听会话的顶栏按钮。如果不使用 Orbit,可以隐藏 — 随时可在此重新开启。', showTrayIcon: '显示托盘图标', showTrayIconDesc: '在系统通知区域 / 菜单栏显示 Psysonic 图标。', minimizeToTray: '最小化到托盘', minimizeToTrayDesc: '关闭窗口时,Psysonic 将继续在系统托盘中运行,而不是退出。', preloadMiniPlayer: '预加载迷你播放器', preloadMiniPlayerDesc: '在应用启动时于后台构建迷你播放器窗口,使其首次打开即可立即显示内容。会占用少量额外内存。', linuxWebkitSmoothScroll: '滚轮平滑(Linux)', linuxWebkitSmoothScrollDesc: '开:惯性滚动。关:逐行,类似 GTK。', discordRichPresence: 'Discord Rich Presence', discordRichPresenceDesc: '在 Discord 个人资料上显示当前播放的曲目。需要 Discord 处于运行状态。', discordCoverSource: '封面来源', discordCoverSourceDesc: '从何处获取 Discord 个人资料上显示的专辑封面。', discordCoverNone: '无(仅显示应用图标)', discordCoverServer: '服务器(通过专辑信息)', discordCoverApple: 'Apple Music', discordOptions: 'Discord 高级选项', discordTemplates: '自定义文本模板', discordTemplatesDesc: '自定义在 Discord 个人资料上显示的信息。变量:{title}, {artist}, {album}', discordTemplateDetails: '主行 (details)', discordTemplateState: '副行 (state)', discordTemplateLargeText: '专辑提示 (largeText)', nowPlayingEnabled: '在实时窗口中显示', nowPlayingEnabledDesc: '将当前播放的曲目广播到服务器的实时听众视图。禁用以停止发送播放数据。', enableBandsintown: 'Bandsintown 巡演日期', enableBandsintownDesc: '在信息标签页中显示当前艺术家的即将到来的演出。数据通过公开的 Bandsintown API 获取。', lyricsServerFirst: '优先使用服务器歌词', lyricsServerFirstDesc: '先查询服务器提供的歌词(内嵌标签、sidecar 文件),再查询 LRCLIB。禁用则优先使用 LRCLIB。', enableNeteaselyrics: '网易云音乐歌词', enableNeteaselyricsDesc: '当服务器和 LRCLIB 均无结果时,使用网易云音乐作为最终歌词来源。对亚洲及国际音乐覆盖最佳。', lyricsSourcesTitle: '歌词来源', lyricsSourcesDesc: '选择要查询的歌词来源及其顺序。拖动以排序。已禁用的来源将被跳过。', lyricsSourceServer: '服务器', lyricsSourceLrclib: 'LRCLIB', lyricsSourceNetease: '网易云音乐', lyricsModeStandard: '标准', lyricsModeStandardDesc: '三个可自由排序的来源:服务器标签、LRCLIB、网易云。', lyricsModeLyricsplus: 'YouLyPlus(卡拉OK)', lyricsModeLyricsplusDesc: '来自 Apple Music、Spotify、Musixmatch 和 QQ 音乐的逐字同步歌词(社区后端)。找不到时静默回退到标准来源。', lyricsStaticOnly: '仅以静态文本显示歌词', lyricsStaticOnlyDesc: '同步歌词将不自动滚动、不逐字高亮,以静态文本显示。', downloadsTitle: 'ZIP 导出与归档', downloadsFolderDesc: '将专辑以 ZIP 文件下载到电脑时的目标文件夹。', downloadsDefault: '默认下载文件夹', pickFolder: '选择', pickFolderTitle: '选择下载文件夹', clearFolder: '清除下载文件夹', logout: '退出登录', aboutTitle: '关于 Psysonic', aboutDesc: '一款专为 Navidrome 构建的现代桌面音乐播放器。使用 Subsonic API 以及 Navidrome 特有的扩展。基于 Tauri v2 和原生 Rust 音频引擎——轻量快速,功能丰富:波形进度条、同步歌词、Last.fm 集成、10 段均衡器、交叉淡入淡出、无缝播放、响度增益、流派浏览以及大量精美主题。', aboutLicense: '许可证', aboutLicenseText: 'GNU GPL v3 — 在相同许可证下可自由使用、修改和分发。', aboutRepo: 'GitHub 上的源代码', aboutVersion: '版本', aboutBuiltWith: '使用 Tauri · React · TypeScript · Rust/rodio 构建', aboutReleaseNotesLabel: '版本说明', aboutReleaseNotesLink: '打开此版本的新功能', aboutContributorsLabel: '贡献者', showChangelogOnUpdate: '更新时显示"新功能"', showChangelogOnUpdateDesc: '更新后在「正在播放」上方显示一个低调的更新日志横幅。点击打开发行说明,X 按钮关闭。', randomMixTitle: '随机混音黑名单', luckyMixMenuTitle: '在菜单中显示“好运混音”', luckyMixMenuDesc: '在“创建混音”中启用“好运混音”,并在分离导航时作为独立菜单项显示。仅当当前服务器启用 AudioMuse 时可见。', randomMixBlacklistTitle: '自定义过滤关键词', randomMixBlacklistDesc: '当任何关键词匹配流派、标题、专辑或艺术家时,歌曲将被排除(当上方复选框开启时生效)。', randomMixBlacklistPlaceholder: '添加关键词…', randomMixBlacklistAdd: '添加', randomMixBlacklistEmpty: '尚未添加自定义关键词。', randomMixHardcodedTitle: '内置关键词(复选框开启时生效)', tabAudio: '音频', tabStorage: '离线与缓存', tabAppearance: '外观', tabLibrary: '媒体库', tabServers: '服务器', tabLyrics: '歌词', tabPersonalisation: '个性化', tabIntegrations: '集成', inputKeybindingsTitle: '键盘快捷键', aboutContributorsCount_one: '{{count}} 项贡献', aboutContributorsCount_other: '{{count}} 项贡献', searchPlaceholder: '搜索设置…', searchNoResults: '没有设置匹配您的搜索。', aboutMaintainersLabel: '维护者', integrationsPrivacyTitle: '隐私说明', integrationsPrivacyBody: '此标签页中的所有集成均为 选择加入,启用后会向外部服务或您的 Navidrome 服务器发送数据。Last.fm 接收您的收听历史,Discord 在您的个人资料中显示正在播放的曲目,Bandsintown 会按艺人查询以获取巡演日期,"正在播放" 分享会向您 Navidrome 服务器的其他用户公开您当前的曲目。如果您不需要这些功能,只需将相应部分保持停用即可。', homeCustomizerTitle: '首页', sidebarTitle: '侧边栏', sidebarReset: '重置为默认', artistLayoutTitle: '艺术家页面板块', artistLayoutDesc: '拖动以重新排序,切换以隐藏艺术家页面的各个板块。没有数据的板块会自动跳过。', artistLayoutReset: '重置为默认', artistLayoutBio: '艺术家简介', artistLayoutTopTracks: '热门曲目', artistLayoutSimilar: '相似艺术家', artistLayoutAlbums: '专辑', artistLayoutFeatured: '也参与了', sidebarDrag: '拖动以重新排序', sidebarFixed: '始终显示', randomNavSplitTitle: '拆分混音导航', randomNavSplitDesc: '在侧边栏中将“随机混音”、“随机专辑”和“好运混音”显示为独立条目,而非“创建混音”合并入口。', tabInput: '输入', tabUsers: '用户', tabSystem: '系统', loggingTitle: '日志记录', loggingModeDesc: '控制终端中后端日志的详细程度。', loggingModeOff: '关闭', loggingModeNormal: '普通', loggingModeDebug: '调试', loggingExport: '导出日志', loggingExportSuccess: '日志已导出({{count}} 行)。', loggingExportError: '无法导出日志。', ratingsSectionTitle: '评分', ratingsSkipStarTitle: '跳过以评 1 星', ratingsSkipStarDesc: '连续多次跳过后将曲目设为 1 星。仅适用于此前未评分的曲目。', ratingsSkipStarThresholdLabel: '跳过次数', ratingsMixFilterTitle: '按评分筛选', ratingsMixFilterDesc: '在{{mix}}与{{albums}}中筛选低评分内容。再次点击所选星标可关闭阈值。', ratingsMixMinSong: '歌曲', ratingsMixMinAlbum: '专辑', ratingsMixMinArtist: '艺人', ratingsMixMinThresholdAria: '最低星数:{{label}}', backupTitle: '备份与恢复', backupExport: '导出设置', backupExportDesc: '将所有设置、服务器配置、Last.fm 配置、主题、均衡器和快捷键保存到 .psybkp 文件。密码以明文存储——请妥善保管该文件。', backupImport: '导入设置', backupImportDesc: '从 .psybkp 文件恢复设置。导入后应用将重新加载。', backupImportConfirm: '所有当前设置将被覆盖。是否继续?', backupSuccess: '备份已保存', backupImportSuccess: '设置已恢复——正在重新加载…', backupImportError: '备份文件无效或已损坏。', shortcutsReset: '恢复默认', shortcutListening: '请按下按键…', shortcutUnbound: '—', globalShortcutsTitle: '全局快捷键', globalShortcutsNote: '即使 Psysonic 在后台也能在系统范围内工作。需要 Ctrl、Alt 或 Super 作为修饰键。', shortcutClear: '清除', shortcutPlayPause: '播放 / 暂停', shortcutNext: '下一首', shortcutPrev: '上一首', shortcutVolumeUp: '音量增大', shortcutVolumeDown: '音量减小', shortcutSeekForward: '快进 10 秒', shortcutSeekBackward: '快退 10 秒', shortcutToggleQueue: '切换队列', shortcutOpenFolderBrowser: '打开{{folderBrowser}}', shortcutFullscreenPlayer: '全屏播放器', shortcutNativeFullscreen: '原生全屏', shortcutOpenMiniPlayer: '打开迷你播放器', shortcutStartSearch: '开始搜索', shortcutStartAdvancedSearch: '开始高级搜索', shortcutToggleSidebar: '切换侧边栏', shortcutMuteSound: '静音', shortcutToggleEqualizer: '打开 / 切换均衡器', shortcutToggleRepeat: '切换循环', shortcutOpenNowPlaying: '打开"正在播放"', shortcutShowLyrics: '显示歌词', shortcutFavoriteCurrentTrack: '将当前曲目添加到收藏', shortcutOpenHelp: '帮助', playbackTitle: '播放', replayGain: '回放增益', replayGainDesc: '使用 ReplayGain 元数据标准化曲目音量', replayGainMode: '模式', replayGainAuto: '自动', replayGainAutoDesc: '当队列中相邻曲目来自同一专辑时使用专辑增益,否则使用曲目增益。', replayGainTrack: '曲目', replayGainAlbum: '专辑', replayGainPreGain: '预增益(有标签文件)', replayGainPreGainDesc: '对所有 ReplayGain 计算结果叠加的统一增益。适合在曲库整体偏轻时用作整体补偿。', replayGainFallback: '回退增益(无标签 / 收音机)', replayGainFallbackDesc: '应用于没有 ReplayGain 标签的曲目(以及电台流),避免未打标签的内容比其余素材更响。', normalization: '响度归一化', normalizationDesc: '在曲目、专辑和电台之间统一可感知的响度。', normalizationOff: '关闭', normalizationReplayGain: 'ReplayGain', normalizationLufs: 'LUFS', loudnessTargetLufs: '目标 LUFS', loudnessTargetLufsDesc: '所有曲目对齐的参考响度。数值越小,输出越响。流媒体服务通常在 -14 LUFS 左右。', loudnessPreAnalysisAttenuation: '测量前衰减', loudnessPreAnalysisAttenuationDesc: '在曲目响度数据保存前的额外压低。流式阶段之后只是粗略估计,不是完整测量。0 dB 为不压低;更负则更安静。右侧显示当前目标下的等效 dB。', loudnessPreAnalysisAttenuationRef: '目标 {{tgt}} LUFS 时等效 {{eff}} dB。', loudnessPreAnalysisAttenuationReset: '恢复默认', loudnessFirstPlayNote: '首次播放新曲目时,音量可能在测量过程中略有波动。下一次播放将使用缓存的测量结果,保持稳定。队列中即将播放的曲目通常在上一首播放期间已完成预分析,所以这种情况在实际使用中很少出现。', crossfade: '交叉淡入淡出', crossfadeDesc: '曲目间淡入淡出', crossfadeSecs: '{{n}} 秒', notWithGapless: '无缝播放开启时不可用', notWithCrossfade: '交叉淡入淡出开启时不可用', gapless: '无缝播放', gaplessDesc: '预缓冲下一首曲目以消除歌曲间的间隙', preservePlayNextOrder: '保留"下一首播放"顺序', preservePlayNextOrderDesc: '新添加的"下一首播放"项目排在现有项目之后,而不是插到前面。', trackPreviewsTitle: '曲目预览', trackPreviewsToggle: '启用曲目预览', trackPreviewsDesc: '在曲目列表中显示内联播放与预览按钮,可快速试听歌曲中段。', trackPreviewStart: '起始位置', trackPreviewStartDesc: '预览从曲目何处开始(占总时长的百分比)。', trackPreviewDuration: '时长', trackPreviewDurationDesc: '每段预览自动停止前的播放时长。', trackPreviewDurationSecs: '{{n}} 秒', trackPreviewLocationsTitle: '预览显示位置', trackPreviewLocationsDesc: '选择在哪些列表中显示预览按钮。', trackPreviewLocation_suggestions: '播放列表建议中', trackPreviewLocation_albums: '专辑曲目列表中', trackPreviewLocation_playlists: '播放列表中', trackPreviewLocation_favorites: '收藏中', trackPreviewLocation_artist: '艺人热门曲目中', trackPreviewLocation_randomMix: 'Random Mix 中', preloadMode: '预加载下一曲目', preloadModeDesc: '何时开始缓冲队列中的下一曲目', nextTrackBufferingTitle: '缓冲', preloadHotCacheMutualExclusive: '预加载与热缓存用途相同——两者不能同时启用。启用其中一个会自动禁用另一个。', preloadOff: '关闭', preloadBalanced: '均衡(结束前30秒)', preloadEarly: '提前(播放5秒后)', preloadCustom: '自定义', preloadCustomSeconds: '结束前秒数:{{n}}', infiniteQueue: '无限队列', infiniteQueueDesc: '队列播完时自动追加随机曲目', experimental: '实验性', fsPlayerSection: '全屏播放器', fsShowArtistPortrait: '显示艺术家照片', fsShowArtistPortraitDesc: '在全屏播放器右侧显示艺术家照片(或专辑封面)。', fsPortraitDim: '照片暗化', fsLyricsStyle: '歌词显示样式', fsLyricsStyleRail: '轨道', fsLyricsStyleRailDesc: '经典5行滑动轨道。', fsLyricsStyleApple: '滚动', fsLyricsStyleAppleDesc: '全屏可滚动列表。', sidebarLyricsStyle: '歌词滚动样式', sidebarLyricsStyleClassic: '经典', sidebarLyricsStyleClassicDesc: '活动行居中显示。', sidebarLyricsStyleApple: 'Apple Music-like', sidebarLyricsStyleAppleDesc: '活动行固定在顶部,带有平滑弹簧动画。', seekbarStyle: '进度条样式', seekbarStyleDesc: '选择播放进度条的外观', seekbarTruewave: '真实波形', seekbarPseudowave: '伪波形', seekbarLinedot: '线条与点', seekbarBar: '条形', seekbarThick: '粗条形', seekbarSegmented: '分段式', seekbarNeon: '霓虹', seekbarPulsewave: '脉冲波', seekbarParticletrail: '粒子轨迹', seekbarLiquidfill: '液体填充', seekbarRetrotape: '复古磁带', themeSchedulerTitle: '主题定时切换', themeSchedulerEnable: '启用主题定时器', themeSchedulerEnableSub: '根据一天中的时间自动在两个主题之间切换', themeSchedulerDayTheme: '白天主题', themeSchedulerDayStart: '白天开始时间', themeSchedulerNightTheme: '夜晚主题', themeSchedulerNightStart: '夜晚开始时间', themeSchedulerActiveHint: '主题定时器已启用 - 主题将自动切换。', visualOptionsTitle: '视觉选项', coverArtBackground: '封面背景', coverArtBackgroundSub: '在专辑/播放列表标题中显示模糊的封面作为背景', playlistCoverPhoto: '播放列表封面照片', playlistCoverPhotoSub: '在播放列表详细视图中显示封面照片网格', showBitrate: '显示比特率', showBitrateSub: '在曲目列表中显示音频比特率', floatingPlayerBar: '浮动播放栏', floatingPlayerBarSub: '保持播放栏悬浮在内容上方', uiScaleTitle: '界面缩放', uiScaleLabel: '缩放', }, changelog: { modalTitle: '新功能', dontShowAgain: '不再显示', close: '知道了', }, whatsNew: { title: '新功能', empty: '此版本暂无更新日志。', bannerTitle: '更新日志', bannerCollapsed: 'v{{version}} 新功能', dismiss: '关闭', close: '关闭', }, help: { title: '帮助', searchPlaceholder: '搜索帮助…', noResults: '没有匹配的主题。请尝试其他搜索词。', s1: '入门指南', q1: '支持哪些服务器?', a1: 'Psysonic 主要为 Navidrome 而构建,并完全兼容 Subsonic — Gonic、Airsonic、LMS 和其他 Subsonic-API 服务器也可使用。某些高级功能(评分、智能播放列表、Magic-String 共享、用户管理)需要 Navidrome。', q2: '如何添加服务器?', a2: '设置 → 服务器 → 添加服务器。输入 URL(例如 http://192.168.1.100:4533)、用户名和密码。Psysonic 会在保存前测试连接 — 失败则不保存任何内容。您可以添加任意数量的服务器并在标题栏中切换;同一时刻只有一个处于活动状态。', q3: '快速 UI 介绍?', a3: '左侧栏用于导航,中间是 Mainstage / 各页面,底部是播放栏,右侧是队列面板(通过右上角紧邻 Now-Playing 指示器的图标打开)。顶部搜索栏搜索整个音乐库;"Now Playing"显示同一 Navidrome 服务器上其他用户正在听什么。', s2: '播放与队列', q4: '如何使用队列?', a4: '从右上角标题栏打开队列面板。拖动行重新排序,将其拖出以移除,或使用工具栏来打乱、将队列保存为播放列表或跳转到某曲目。可将行从面板拖出到其他位置作为转移。', q5: 'Gapless 与 Crossfade — 区别?', a5: 'Gapless 预缓冲下一首曲目,使歌曲之间没有静音(适合现场专辑和 DJ 混音)。Crossfade 在 1–10 秒内将当前曲目淡出同时下一首淡入(适合混合播放)。两者互斥 — 启用其中一个会禁用另一个。在设置 → 音频中配置。', q6: '什么是无限队列?', a6: '当队列结束且重复关闭时,Psysonic 会静默地从您的音乐库中追加相似/随机曲目,使播放永不停止。自动添加的曲目显示在"— 自动添加 —"分隔符下。通过队列标题栏中的无限符号图标切换;在设置 → 队列中将自动添加限制为某个流派。', q7: '多选和 Shift+点击范围?', a7: '在专辑 / 新发行 / 随机专辑 / 播放列表上激活"选择"。点击一项以切换,然后按住 Shift 并点击另一项 — 可见顺序中两者之间的所有项都将被选中。Shift+点击从最近点击的锚点扩展。网格上方的工具栏提供批量操作(队列、下载、删除等)。', q8: '键盘快捷键和全局热键?', a8: '默认应用内键:空格 = 播放 / 暂停,Esc = 关闭全屏 / 模态框,F1 = 快捷键速查表。设置 → 输入允许重新分配每个应用内动作(包括 Ctrl+Shift+P 等组合键)并设置即使 Psysonic 在后台或最小化时也能工作的系统级全局快捷键。多媒体键(播放/暂停、下一首、上一首)在所有平台上都可用。', s3: '音频工具', q9: 'Replay Gain 模式?', a9: '设置 → 音频 → Replay Gain。曲目模式将每首歌曲规范化到目标电平。专辑模式保留专辑内的响度曲线。自动模式根据队列是否来自单个专辑选择曲目或专辑。没有 Replay Gain 标签的曲目回退到可配置的前置放大。', q10: '什么是 Smart Loudness Normalization (LUFS)?', a10: '设置 → 音频中 Replay Gain 的现代替代品。Psysonic 将每个曲目分析到 LUFS / EBU R128 并存储结果,以便整个音乐库的音量保持一致 — 包括没有 Replay Gain 标签的曲目。冷缓存分析在后台运行,CPU 使用约 35–40 % 持续约 1 分钟,然后降至 0。一次性设置目标响度(默认 −10 LUFS)。', q11: 'EQ 和 AutoEQ?', a11: '设置 → 音频 → 均衡器中有一个 10 频段参数 EQ,带有手动频段和预设。旁边的 AutoEQ 从 AutoEQ 数据库为您的耳机型号拉取测量的校正配置文件并自动应用到频段 — 选择您的耳机,EQ 即对正确曲线。', q12: '如何切换音频输出设备?', a12: '设置 → 音频 → 输出设备。Psysonic 列出所有可用输出,选中后立即切换。刷新按钮重新扫描启动后接入的设备。Linux ALSA 名称如"sysdefault"会自动清理以提高可读性。', q13: '什么是 Hot Cache?', a13: 'Hot Cache 将当前曲目和接下来的几首预加载到 RAM 和磁盘,使播放无缓冲延迟启动 — 在慢速 / 远程服务器上尤其有用。当达到大小限制时触发驱逐。在设置 → 音频中配置大小和防抖延迟(防止快速跳过时过度获取)。', s4: '音乐库与发现', q14: '评分和 Skip-to-1★ 如何工作?', a14: 'Psysonic 通过 OpenSubsonic(Navidrome ≥ 0.53)支持 1–5 星评分。在曲目列表、右键菜单或播放栏中的艺术家名下方为曲目评分;在专辑页面为专辑评分;在艺术家页面为艺术家评分。Skip-to-1★(设置 → 音乐库 → 评分)在配置数量的连续跳过后自动分配 1 星。同一面板允许为生成的混音设置最低评分作为筛选条件。', q15: '如何浏览 — 文件夹、流派、曲目?', a15: '文件夹浏览器(侧边栏)以 Miller-column 布局浏览服务器的音乐目录树 — 点击文件夹进入,点击曲目或文件夹的播放图标以播放/添加。流派使用按曲目数量缩放的标签云视图;点击流派以打开。曲目是一个扁平的音乐库中心,带有可按列排序的虚拟列表和实时搜索。', q16: '搜索和高级搜索?', a16: '标题栏搜索栏在您输入时跨艺术家、专辑和曲目运行快速实时搜索。打开高级搜索(侧边栏)以获得更丰富的视图:按年份、流派、评分、格式、声道、采样率、BPM、心情过滤,并组合条件。右键单击任何结果会打开与其他地方相同的上下文菜单。', q17: '什么是混音(Random / Genre / Super Genre / Lucky)?', a17: 'Random Mix 从您的音乐库构建随机曲目播放列表;关键字过滤器通过流派/标题/专辑子字符串排除有声读物、喜剧等。Super Genre Mix 将您的音乐库按广泛风格分组(摇滚、金属、电子、爵士、古典…)并构建专注的混音。Lucky Mix 使用您的收听历史、评分和 AudioMuse-AI 相似曲目,一键组装即时播放列表。', q18: '统计页面?', a18: '统计(侧边栏)显示热门艺术家、热门专辑、热门曲目、流派分布、随时间变化的收听时间,以及在配置多个音乐文件夹时的每库范围。多个视图可作为可分享的卡片图像导出。', q19: '如何将专辑下载为 ZIP?', a19: '专辑页面 → "下载(ZIP)"。服务器先压缩专辑 — 对于大型或无损专辑(FLAC / WAV),进度条仅在压缩完成且传输开始后才会出现。这是正常现象。', s5: '歌词', q20: '歌词来自哪里?', a20: '设置 → 歌词中可配置三个来源:您的 Navidrome 服务器(嵌入式 / OpenSubsonic 歌词)、LRCLIB(社区贡献的同步歌词)和网易云音乐(庞大的亚洲 + 国际目录)。每个来源可启用/禁用并通过拖动重新排序。', q21: '播放期间如何查看歌词?', a21: '点击播放栏中的麦克风图标以打开队列面板内的歌词标签。同步歌词自动滚动并支持点击-跳转;纯文本歌词以静态块滚动。通过播放栏封面切换全屏播放器以获得带 mesh-blob 背景的沉浸式歌词视图。', s6: '分享与社交', q22: '什么是 Magic Strings?', a22: 'Magic Strings 是无需任何第三方服务器即可在 Psysonic 用户之间共享内容的简短复制粘贴令牌。Server-Invite 字符串让朋友通过一次粘贴加入您的 Navidrome;专辑 / 艺术家 / 队列 Magic Strings 在接收方打开相同的专辑 / 艺术家 / 队列。从分享菜单生成,粘贴到搜索栏以使用。', q23: '什么是 Orbit?', a23: 'Orbit 是同步的一起听:主持人播放一首曲目,每个客人同步听到,客人可以建议曲目,主持人可以接受到队列中。从标题栏中的 Orbit 按钮启动会话,分享邀请链接,其他人可以从任何 Psysonic 安装加入。主持人拥有播放(跳过、搜索、队列) — 客人获得实时视图和建议框。会话是临时的,主持人关闭即结束。', q24: '什么是 Now Playing 下拉?', a24: '右上角标题栏的广播图标显示 Navidrome 服务器上其他用户当前正在听什么,每 10 秒刷新。您自己的条目在暂停时立即消失。按服务器划分,因此不会显示其他活动服务器上的用户。', s7: '个性化', q25: '主题和主题调度器?', a25: '设置 → 外观 → 主题从 8 个组中的 60+ 个主题中选择(Psysonic、Mediaplayer、操作系统、游戏、电影、电视剧、社交媒体、Open Source Classics — Catppuccin / Nord / Gruvbox / Nightfox / Dracula)。Auto-Switch Theme 让您设置带启动时间的日间主题 + 夜间主题,使 Psysonic 自动切换。', q26: '可以自定义侧边栏、首页和艺术家页面吗?', a26: '可以 — 设置 → 个性化。侧边栏定制器让您拖动 nav 项目到所需顺序并隐藏您不使用的。首页定制器切换每个 Mainstage 行(Hero、Recent、Discover、Recently Played、Starred…)。艺术家页面定制器重新排序章节(Top Songs、专辑、单曲、合辑、相似艺术家等)并隐藏您从不查看的章节。', q27: '什么是 Mini Player?', a27: '一个带有封面、传输控件和紧凑队列的小浮动窗口。从播放栏中的 mini-player 图标或其键盘快捷键打开。窗口在会话之间记住其位置和大小。在 Windows 上,mini-webview 在启动时预先创建,因此打开是即时的;Linux / macOS 通过设置 → 外观 → 预加载 mini player 选择加入。', q28: '什么是 Floating Player Bar?', a28: '一个可选的播放栏样式(设置 → 外观),它从底部边缘脱离,带有主题背景、强调边框、圆角专辑封面和居中音量部分。在高显示器或紧凑主题上很有用。', q29: '悬停时的曲目预览?', a29: '将鼠标悬停在曲目行上,点击封面上的小预览按钮,或从右键菜单触发预览 — Psysonic 通过相同的 Rust 音频引擎流式传输前 ~15 秒,因此响度规范化适用。对于您还没听过的专辑很有用。', q30: '睡眠定时器?', a30: '点击播放栏中的月亮图标以打开睡眠定时器。选择持续时间(或"当前曲目结束"),Psysonic 会在结束时淡出并暂停。计时器运行时按钮显示圆形环和按钮内倒计时。', q31: 'UI 缩放、字体、seekbar 样式?', a31: '设置 → 外观 — 界面缩放(80–125%,不影响系统字体大小)、字体(10 种 UI 字体,包括 IBM Plex Mono、Fira Code、Geist、Golos Text…)、Seekbar 样式(波形分析 / pseudowave 确定性 / 线条与点 / 条形 / 厚条 / 分段 / 霓虹辉光 / 脉冲波 / 粒子轨迹 / 液体填充 / 复古磁带)。', s8: '高级用户', q32: 'CLI 播放器控制?', a32: 'Psysonic 二进制文件兼作运行中应用的远程控制。示例:psysonic --player play / pause / next / prev、--player volume 75、--player seek 15、--player shuffle、--player repeat off|all|one、--player rating 1-5。切换服务器、音频设备、音乐库;触发 Instant Mix;搜索艺术家 / 专辑 / 曲目。完整列表请运行 psysonic --player --help。bash 和 zsh 的 shell 自动补全可通过 psysonic completions 获得。', q33: '智能播放列表(Navidrome)?', a33: '智能播放列表是由规则定义的 Navidrome 端动态播放列表(流派 = 摇滚 AND 年份 > 2020 等)。Psysonic 中的播放列表页面允许使用可视化规则编辑器创建、编辑和删除它们 — Psysonic 通过 Navidrome 原生 API 进行操作。它们在应用其余部分中表现为普通播放列表,并在音乐库更改时自动更新。', q34: '备份和恢复设置?', a34: '设置 → 存储 → 备份与恢复将服务器配置文件、主题、键绑定和其他设置导出到单个 JSON 文件。在另一台机器或重新安装后导入文件以一次恢复所有内容。服务器密码包含在内 — 请将文件保存在私密位置。', q35: '在哪里查看所有开源许可证?', a35: '设置 → 系统 → Open Source Licenses。完整的依赖列表(cargo crates 和 npm 包)随构建附带捆绑的许可证文本。点击条目查看完整文本;顶部的精选高亮块突出显示用户可识别的库(Tauri、React、rodio、symphonia 等)。', s9: '离线与同步', q36: '离线模式 — 缓存专辑和播放列表?', a36: '打开任何专辑或播放列表,点击标题中的下载图标 — Psysonic 在本地缓存每个曲目,使其无需网络调用即可从磁盘播放。离线音乐库页面(侧边栏)列出所有缓存内容,显示进行中的进度,并允许通过垃圾桶图标移除条目(在下载完成后出现)。', q37: '离线存储限制?', a37: '设置 → 音乐库 → 离线让您设置最大缓存大小。当达到限制时,专辑页面下载按钮显示警告横幅。通过从离线音乐库页面移除专辑或播放列表来释放空间。', q38: 'Device Sync — 将音乐复制到 USB / SD?', a38: 'Device Sync(侧边栏)将专辑、播放列表或整个艺术家复制到外部驱动器,以便在其他设备上离线收听。选择目标文件夹,从浏览器选项卡中选择源,点击"传输到设备"。Psysonic 写入清单(psysonic-sync.json),即使您在不同 OS 上以不同的文件名模板重新打开 Device Sync,也能知道哪些文件已经在那里。模板支持 {artist} / {album} / {title} / {track_number} / {disc_number} / {year} 令牌,使用 / 作为文件夹分隔符。', s10: '集成与故障排除', q39: 'Last.fm 抓取?', a39: '设置 → 集成 → Last.fm。一次连接您的账户,Psysonic 直接抓取到 Last.fm — 无需 Navidrome 配置。在听完曲目 50 % 后发送抓取。Now-playing pings 在开始时发送。', q40: 'Discord Rich Presence?', a40: '设置 → 集成 → Discord 在您的 Discord 个人资料上显示当前曲目。在应用图标、您服务器的封面(通过 getAlbumInfo2 — 需要可公开访问的服务器)或 Apple Music 封面之间选择。使用令牌模板自定义显示字符串(详细信息、状态、提示)。', q41: 'Bandsintown 巡演日期?', a41: '在设置 → 集成 → Now-Playing Info 中选择启用。然后 Now Playing 页面上的 Now Playing 选项卡通过 Bandsintown widget API 显示正在播放艺术家的即将到来的巡演日期。默认关闭 — 在您启用之前不发出任何请求。', q42: 'Internet Radio — 播放实时流?', a42: 'Internet Radio(侧边栏)播放存储在您 Navidrome 服务器上的任何实时流(通过 Navidrome 管理 UI 添加电台)。播放通过浏览器 HTML5 音频引擎运行 — 大多数 EQ / Replay Gain / Loudness 设置不适用于电台,但 ICY 元数据(当前歌曲名)会显示。支持 MP3、AAC、OGG Vorbis 和大多数 HLS 流;编解码器支持取决于平台。', q43: '连接测试失败 — 怎么办?', a43: '仔细检查 URL 包括端口(例如 http://192.168.1.100:4533)。在本地网络上 http:// 通常在 https:// 不工作的地方工作(无证书)。确保没有防火墙阻塞端口,并且用户名和密码正确。如果您的服务器位于反向代理之后,请先尝试直接 URL 以隔离原因。', q44: '封面和艺术家图像加载缓慢。', a44: '图像在首次查看时从服务器获取,然后本地缓存 30 天。如果您服务器的存储速度慢,第一次访问页面可能需要片刻;后续访问是即时的。Hot Cache 也对曲目有帮助,但图像缓存是独立的。', q45: 'Linux 问题 — 黑屏或无声音?', a45: '黑屏通常是 WebKitGTK 中的 GPU / EGL 驱动程序问题 — 使用 GDK_BACKEND=x11 WEBKIT_DISABLE_COMPOSITING_MODE=1 WEBKIT_DISABLE_DMABUF_RENDERER=1 启动(AUR / .deb / .rpm 安装程序自动设置这些)。对于音频,确保 PipeWire 或 PulseAudio 正在运行。睡眠/唤醒后的音频丢失现在由 post-sleep 恢复钩子自动处理。', }, queue: { title: '队列', savePlaylist: '保存为播放列表', updatePlaylist: '更新播放列表', filterPlaylists: '筛选播放列表…', playlistName: '播放列表名称', cancel: '取消', save: '保存', loadPlaylist: '加载播放列表', loading: '加载中…', noPlaylists: '未找到播放列表。', load: '替换队列并播放', appendToQueue: '追加到队列', delete: '删除', deleteConfirm: '删除播放列表 "{{name}}"?', clear: '清空', shuffle: '随机打乱队列', gapless: '无缝播放', crossfade: '交叉淡入淡出', infiniteQueue: '无限队列', autoAdded: '— 自动添加 —', radioAdded: '— 收音机 —', hide: '隐藏', hideNowPlaying: '隐藏播放信息', showNowPlaying: '显示播放信息', close: '关闭', nextTracks: '即将播放', shareQueue: '复制队列分享链接', shareQueueEmpty: '队列为空,无法分享。', emptyQueue: '队列为空。', trackSingular: '首曲目', trackPlural: '首曲目', showRemaining: '显示剩余时间', showTotal: '显示总时间', showEta: '显示预计结束时间', replayGain: 'ReplayGain', rgTrack: '曲目 {{db}} dB', rgAlbum: '专辑 {{db}} dB', rgPeak: '峰值 {{pk}}', sourceOffline: '正在从离线库播放', sourceHot: '正在从缓存播放', sourceStream: '正在从网络流播放', }, miniPlayer: { showQueue: '显示队列', hideQueue: '隐藏队列', pinOnTop: '置顶', pinOff: '取消置顶', openMainWindow: '打开主窗口', close: '关闭', emptyQueue: '队列为空', }, statistics: { title: '统计', recentlyPlayed: '最近播放', mostPlayed: '最常播放的专辑', highestRated: '评分最高的专辑', genreDistribution: '流派分布(前 20)', loadMore: '加载更多', statArtists: '艺术家', statArtistsTooltip: '仅限专辑艺术家——仅作为单曲艺术家出现(合唱、客串等)且无自己专辑的艺术家不计入此处。', statAlbums: '专辑', statSongs: '歌曲', statGenres: '流派', statPlaytime: '音频总时长', genreInsights: '流派洞察', formatDistribution: '格式分布', formatSample: '{{n}} 首曲目的样本', computing: '计算中…', genreSongs: '{{count}} 首歌曲', genreAlbums: '{{count}} 张专辑', recentlyAdded: '最近添加', decadeDistribution: '按年代分布的专辑', decadeAlbums_one: '{{count}} 张专辑', decadeAlbums_other: '{{count}} 张专辑', decadeUnknown: '未知', lfmTitle: 'Last.fm 统计', lfmTopArtists: '热门艺术家', lfmTopAlbums: '热门专辑', lfmTopTracks: '热门曲目', lfmPlays: '{{count}} 次播放', lfmPeriodOverall: '全部时间', lfmPeriod7day: '7 天', lfmPeriod1month: '1 个月', lfmPeriod3month: '3 个月', lfmPeriod6month: '6 个月', lfmPeriod12month: '12 个月', lfmNotConnected: '在设置中连接 Last.fm 以查看您的统计。', lfmRecentTracks: '最近记录', lfmNowPlaying: '正在播放', lfmJustNow: '刚刚', lfmMinutesAgo: '{{n}} 分钟前', lfmHoursAgo: '{{n}} 小时前', lfmDaysAgo: '{{n}} 天前', topRatedSongs: '最高评分歌曲', topRatedArtists: '最高评分艺人', noRatedSongs: '暂无已评分歌曲。请在专辑或播放列表中为歌曲评分。', noRatedArtists: '暂无已评分艺人。', }, player: { regionLabel: '音乐播放器', openFullscreen: '打开全屏播放器', fullscreen: '全屏播放器', closeFullscreen: '关闭全屏', closeTooltip: '关闭 (Esc)', noTitle: '无标题', stop: '停止', prev: '上一首', play: '播放', pause: '暂停', previewActive: '正在试听', previewLabel: '试听', delayModalTitle: '定时', delayPauseSection: '多久后暂停', delayStartSection: '多久后开始', delayPreviewPause: '暂停于', delayPreviewStart: '开始于', delaySchedulePause: '安排暂停', delayScheduleStart: '安排开始', delayCancelPause: '取消暂停定时', delayCancelStart: '取消开始定时', delayInactivePause: '仅在正在播放时可用。', delayInactiveStart: '仅在暂停且已加载曲目或电台时可用。', delayCustomMinutes: '自定义延迟(分钟)', delayCustomPlaceholder: '例如 2.5', closeDelayModal: '关闭', delayIn: '还有', delayFmtSec: '{{n}} 秒', delayFmtMin: '{{n}} 分钟', delayFmtHr: '{{n}} 小时', delayCancel: '取消', delayApply: '应用', next: '下一首', repeat: '重复', repeatOff: '关闭', repeatAll: '全部', repeatOne: '单曲', progress: '播放进度', volume: '音量', toggleQueue: '切换队列', collapseQueueResize: '收起队列,调整宽度', moreOptions: '更多选项', equalizer: '均衡器', miniPlayer: '迷你播放器', lyrics: '歌词', fsLyricsToggle: '全屏歌词', lyricsLoading: '正在加载歌词…', lyricsNotFound: '未找到此曲目的歌词', lyricsSourceServer: '来源:服务器', lyricsSourceLrclib: '来源:LRCLIB', lyricsSourceNetease: '来源:网易云', lyricsSourceLyricsplus: '来源:YouLyPlus', showDuration: '显示时长', showRemainingTime: '显示剩余时间', }, nowPlayingInfo: { tab: '信息', empty: '播放歌曲以查看信息', artist: '艺术家', songInfo: '歌曲信息', onTour: '巡演', noTourEvents: '没有即将到来的演出', tourLoading: '加载中…', poweredByBandsintown: '巡演数据来自 Bandsintown', bioReadMore: '展开', bioReadLess: '收起', showMoreTours_one: '显示更多 {{count}} 个', showMoreTours_other: '显示更多 {{count}} 个', showLessTours: '收起', enableBandsintownPrompt: '查看即将到来的巡演日期?', enableBandsintownPromptDesc: '可选。通过公开的 Bandsintown API 加载当前艺术家的演出。', enableBandsintownPrivacy: '启用后,当前播放的艺术家名称将发送到 Bandsintown API 以获取巡演日期。不会发送任何账户或个人数据。', enableBandsintownAction: '启用', role: { artist: '艺术家', albumArtist: '专辑艺术家', composer: '作曲', }, }, songInfo: { title: '歌曲信息', songTitle: '标题', artist: '艺术家', album: '专辑', albumArtist: '专辑艺术家', year: '年份', genre: '流派', duration: '时长', track: '曲目', format: '格式', bitrate: '比特率', sampleRate: '采样率', bitDepth: '位深度', channels: '声道', fileSize: '文件大小', path: '文件路径', replayGainTrack: 'RG 曲目增益', replayGainAlbum: 'RG 专辑增益', replayGainPeak: 'RG 曲目峰值', mono: '单声道', stereo: '立体声', }, playlists: { title: '播放列表', newPlaylist: '新建播放列表', unnamed: '未命名播放列表', createName: '播放列表名称…', create: '创建', cancel: '取消', empty: '暂无播放列表。', emptyPlaylist: '此播放列表为空。', addFirstSong: '添加第一首歌曲', notFound: '未找到播放列表。', songs: '{{n}} 首歌曲', playAll: '全部播放', shuffle: '随机播放', addToQueue: '添加到队列', back: '返回播放列表', deletePlaylist: '删除', confirmDelete: '再次点击确认删除', removeSong: '从播放列表中移除', addSongs: '添加歌曲', searchPlaceholder: '搜索音乐库…', noResults: '无结果。', suggestions: '推荐歌曲', noSuggestions: '暂无推荐。', titleBadge: '播放列表', refreshSuggestions: '新建议', addSong: '添加到播放列表', preview: '试听 (30 秒)', previewStop: '停止试听', playNextSuggestion: '播放下一首', suggestionsHint: '双击行可添加到播放列表', addSelected: '添加所选', cacheOffline: '离线缓存播放列表', offlineCached: '播放列表已缓存', removeOffline: '从离线缓存中移除', offlineDownloading: '正在缓存… ({{done}}/{{total}} 张专辑)', publicLabel: '公开', privateLabel: '私有', editMeta: '编辑播放列表', editNamePlaceholder: '播放列表名称…', editCommentPlaceholder: '添加描述…', editPublic: '公开播放列表', editSave: '保存', editCancel: '取消', changeCover: '更改封面图片', changeCoverLabel: '更改照片', removeCover: '删除照片', coverUpdated: '封面已更新', metaSaved: '播放列表已更新', downloadZip: '下载 (ZIP)', // Toast notifications for multi-select addSuccess: '{{count}} 首歌曲已添加到 {{playlist}}', addPartial: '{{added}} 首已添加,{{skipped}} 首跳过(重复)', addAllSkipped: '全部跳过({{count}} 首重复)', addedAsDuplicates: '{{count}} 首歌曲已添加到 {{playlist}}(作为重复项)', duplicateConfirmTitle: '已在播放列表中', duplicateConfirmMessage: '所有 {{count}} 首歌曲已在 "{{playlist}}" 中。仍要作为重复项添加吗?', duplicateConfirmAction: '仍要添加', addError: '添加歌曲时出错', createAndAddSuccess: '播放列表 "{{playlist}}" 已创建,包含 {{count}} 首歌曲', createError: '创建播放列表时出错', deleteSuccess: '{{count}} 个播放列表已删除', deleteFailed: '删除 {{name}} 时出错', deleteSelected: '删除所选', deleteSelectedPartial: '所选 {{total}} 个播放列表中只有 {{n}} 个可删除(其余属于他人)。', mergeSuccess: '{{count}} 首歌曲已合并到 {{playlist}}', mergeNoNewSongs: '没有新歌曲可添加', mergeError: '合并播放列表时出错', mergeInto: '合并到', selectionCount: '{{count}} 已选择', select: '选择', startSelect: '启用选择', cancelSelect: '取消', loadingAlbums: '正在解析 {{count}} 张专辑…', loadingArtists: '正在解析 {{count}} 位艺术家…', myPlaylists: '我的播放列表', noOtherPlaylists: '没有其他可用播放列表', addToPlaylistSuccess: '{{count}} 首歌曲已添加到 {{playlist}}', addToPlaylistNoNew: '{{playlist}} 没有新歌曲', addToPlaylistError: '添加到播放列表时出错', importCSV: '导入 CSV', importCSVTooltip: '从 Spotify CSV 导入', csvImportReport: 'CSV 导入报告', csvImportTotal: '总计', csvImportAdded: '已添加', csvImportDuplicates: '重复项', csvImportNotFound: '未找到', csvImportNetworkErrors: '网络错误', csvImportDuplicatesTitle: '重复曲目(已在播放列表中):', csvImportNotFoundTitle: '未找到的曲目:', csvImportNetworkErrorsTitle: '网络错误(可重试导入):', csvImportDownloadReport: '下载报告', csvImportClose: '关闭', csvImportNoValidTracks: 'CSV 文件中未找到有效曲目', csvImportFailed: 'CSV 文件导入失败', csvImportToast: '{{added}} 已添加,{{notFound}} 未找到,{{duplicates}} 重复项', 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: '热门艺术家', topAlbums: '热门专辑', plays: '播放 {{n}} 次', sortMost: '最多播放在前', sortLeast: '最少播放在前', loadMore: '加载更多专辑', noData: '暂无播放数据。开始收听吧!', noArtists: '所有艺术家已过滤。', filterCompilations: '隐藏合辑艺术家(Various Artists、原声带等)', filterCompilationsShort: '隐藏合辑', }, losslessAlbums: { empty: '此媒体库中还没有无损专辑。', unsupported: '此服务器未公开查找无损专辑所需的元数据。', slowFetchHint: '加载比其他专辑页面慢 — Psysonic 按音质遍历整个歌曲目录。', }, radio: { title: '网络电台', empty: '未配置任何电台。', addStation: '添加电台', editStation: '编辑', deleteStation: '删除电台', confirmDelete: '再次点击确认', stationName: '电台名称…', streamUrl: '流地址…', homepageUrl: '主页地址(可选)', save: '保存', cancel: '取消', live: '直播', liveStream: '网络电台', openHomepage: '打开主页', changeCoverLabel: '更换封面', removeCover: '移除封面', browseDirectory: '搜索目录', directoryPlaceholder: '搜索电台…', noResults: '未找到电台。', stationAdded: '电台已添加', filterAll: '全部', filterFavorites: '收藏', sortManual: '手动', sortAZ: 'A → Z', sortZA: 'Z → A', sortNewest: '最新', favorite: '添加到收藏', unfavorite: '从收藏移除', noFavorites: '没有收藏的电台。', listenerCount_one: '{{count}} 位听众', listenerCount_other: '{{count}} 位听众', recentlyPlayed: '最近播放', upNext: '即将播放', }, folderBrowser: { empty: '空文件夹', error: '加载失败', }, deviceSync: { title: '设备同步', targetFolder: '目标文件夹', noFolderChosen: '未选择文件夹', selectDrive: '选择驱动器…', refreshDrives: '刷新驱动器', noDrivesDetected: '未检测到可移动驱动器', browseManual: '手动浏览…', free: '可用', notMountedVolume: '目标不在已挂载的卷上。驱动器可能已断开。', chooseFolder: '选择…', filenameTemplate: '文件名模板', targetDevice: '目标设备', templateHint: '变量:{artist}、{album}、{title}、{track_number}、{disc_number}、{year}', cleanupButton: '删除不在选择范围内的文件', cleanupNothingToDelete: '无需删除 — 设备已同步。', confirmCleanup: '将从设备中删除 {{count}} 个不在当前选择范围内的文件。继续?', cleanupComplete: '已从设备中删除 {{count}} 个文件。', selectedSources: '已选来源', noSourcesSelected: '未选择来源。点击浏览器中的项目以添加。', clearAll: '全部清除', tabPlaylists: '播放列表', tabAlbums: '专辑', tabArtists: '艺术家', searchPlaceholder: '搜索…', syncButton: '同步到设备', actionTransfer: '传输到设备', actionDelete: '从设备删除', actionApplyAll: '应用所有更改', templatePreview: '预览', templatePresetStandard: '标准', templatePresetMultiDisc: '多碟', templatePresetAltFolder: '备用文件夹', tokenSlashHint: '/ = 文件夹分隔符', cancel: '取消', noTargetDir: '请先选择目标文件夹。', noSources: '请至少选择一个来源。', noTracks: '所选来源中未找到曲目。', fetchError: '从服务器加载曲目失败。', syncComplete: '同步完成。', dismiss: '关闭', cancelSync: '取消', syncCancelled: '同步已取消(已传输 {{done}} / {{total}})。', colName: '名称', colType: '类型', colStatus: '状态', onDevice: '设备管理器', addSources: '添加…', syncResult: '已传输 {{done}},{{skipped}} 已是最新(共 {{total}})', deleteFromDevice: '标记为删除({{count}})', confirmDelete: '从设备删除 {{count}} 个项目:{{names}}?', deleteComplete: '已从设备删除 {{count}} 个项目。', manifestImported: '已从设备清单导入 {{count}} 个来源。', statusSynced: '已同步', statusPending: '待处理', statusDeletion: '删除中', markForDeletion: '标记为删除', removeSource: '移除', undoDeletion: '撤销删除', syncInBackground: '同步已在后台启动 — 您可以离开此页面。', syncInProgress: '{{done}} / {{total}} 首曲目…', syncSummary: '同步摘要', calculating: '正在计算所需数据…', filesToAdd: '要添加的文件:', filesToDelete: '要删除的文件:', netChange: '净变化:', availableSpace: '可用磁盘空间:', spaceWarning: '警告:目标设备的可用空间不足。', proceed: '继续同步', notEnoughSpace: '检测到物理磁盘空间不足!', liveSearch: '实时', randomAlbumsLabel: '随机专辑', }, orbit: { triggerLabel: 'Orbit', triggerTooltip: '开始或加入共享收听会话', launchCreate: '创建会话', launchJoin: '加入会话', launchHelp: '这是怎么工作的?', launchHelpSoon: '即将推出', joinModalTitle: '加入 Orbit 会话', joinModalSub: '粘贴主持人发给你的邀请链接。', joinModalLinkLabel: '邀请链接', joinModalLinkPlaceholder: 'psysonic2-…', joinModalLinkHelper: '适用于任何有效的 Orbit 链接。必须指向你当前登录的服务器。', joinModalPasteTooltip: '从剪贴板粘贴', joinModalSubmit: '加入', joinModalBusy: '加入中…', joinErrEmpty: '请粘贴一个邀请链接。', joinErrInvalid: '这看起来不像 Orbit 邀请链接。', closeAria: '关闭', heroTitlePrefix: '一起听音乐 —', heroTitleBrand: 'Orbit', heroSub: '开始会话 — {{server}} 上的其他用户将一起收听并可以推荐曲目。', fallbackServer: '此服务器', tipLan: '你当前通过本地网络地址连接。网络外的访客无法加入 — 请在启动前切换到公共服务器地址。', tipRemote: '为了让家庭网络外的访客能够加入,你的服务器地址必须公开可达。如果你的服务器仅限内部使用,请在启动前切换。', labelName: '会话名称', namePlaceholder: 'Velvet Orbit', reshuffleTooltip: '新建议', reshuffleAria: '建议新名称', helperName: '会话对访客的显示方式 — 保留或输入自己的名称。', labelMax: '最大访客数', helperMax: '你不计算在内 — 这仅限制加入的访客。', labelLink: '邀请链接', tooltipCopied: '已复制', tooltipCopy: '复制', ariaCopyLink: '复制邀请链接', helperLink: '将此链接发送给你的访客。他们可以在 Psysonic 的任何位置使用 Ctrl+V 粘贴。', labelClearQueue: '先清空我的队列', helperClearQueue: '以空队列启动会话。关闭:你已排队的曲目保留并与访客共享。', btnCancel: '取消', btnStarting: '启动中…', btnStart: '启动 Orbit', btnCopyAndStart: '复制链接并启动', errNameRequired: '请为你的会话命名。', errStartFailed: '无法启动。', hostLabel: '主持人:{{name}}', participantsTooltip: '参与者', settingsTooltip: '会话设置', shareTooltip: '分享邀请链接', shuffleLabel: '下次洗牌', catchUpLabel: '跟上', catchUpTooltip: '跳到主持人当前位置', hostAway: '主持人离线', hostOnline: '主持人在线', endTooltip: '结束会话', leaveTooltip: '离开会话', helpTooltip: 'Orbit 的工作原理', helpTitle: 'Orbit 的工作原理', helpIntro: 'Orbit 将 Psysonic 变成一个共享的收听空间。主持人选择音乐;访客同步收听并可以推荐曲目。', helpHostOnly: '(主持人)', helpSec1Title: '什么是 Orbit?', helpSec1Body: '"一起听"模式 — 主持人驱动播放,访客加入收听。一切都通过你自己的 Navidrome 服务器上的播放列表进行;没有外部基础设施。', helpSec2Title: '主持人和访客', helpSec2Body: '主持人控制播放(播放 / 暂停 / 跳过 / 跳转),并决定会话何时结束。访客跟随主持人的播放,可以推荐曲目,随时离开或重新加入。只有主持人可以踢出或永久封禁参与者。', helpSec2WarnHead: '重要:使用独立账户。', helpSec2WarnBody: '每个参与者都需要自己的 Navidrome 账户。如果主持人和访客使用同一用户登录,他们的提交会冲突,主持人将永远看不到访客的建议。', helpSec3Title: '启动和邀请', helpSec3Body: '点击"Orbit"按钮 → 创建会话 → 启动弹窗显示可复制的邀请链接,并可选清空你当前的队列。以任何方式分享该链接。会话运行时,顶部会话栏中的分享按钮可随时再次复制链接。', helpSec4Title: '加入', helpSec4Body: '使用 Ctrl+V / Cmd+V 在 Psysonic 的任何位置粘贴邀请链接 — 加入提示会自动弹出。或者:「Orbit」→ 加入会话 → 粘贴到字段中。如果链接指向你有账户的服务器,Psysonic 会为你切换。当你在该服务器上有多个账户时,小型选择器会询问使用哪个。', helpSec5Title: '推荐曲目', helpSec5Body: '在任何曲目列表中:双击一行,或右键 → "添加到 Orbit 会话"。单击会显示提示而不是将整张专辑扔进共享队列 — 这是有意的。明确的批量操作(如"全部播放"或"播放专辑")先要求确认然后追加(永不替换)。', helpSec6Title: '共享队列', helpSec6Body: '队列显示主持人即将播放的曲目 — 所有人可见。批量添加总是追加到末尾,因此访客的建议不会丢失。自动洗牌定期重新排序队列(可配置:1 / 5 / 10 / 15 / 30 分钟)。如果你的播放偏离主持人,会话栏中的"跟上"按钮会让你回到主持人的实时位置。', helpSec7Title: '审批', helpSec7Body: '默认情况下,访客建议需要手动审批 — 它们出现在队列面板顶部的"审批"栏中,带有接受 / 拒绝按钮。可以在会话设置中打开自动审批,使所有建议直接生效。', helpSec8Title: '参与者和设置', helpSec8Body: '打开会话栏中的设置图标以配置洗牌频率、自动审批和"立即洗牌"快捷方式。点击参与者数量查看谁已连接 — 踢出(可通过链接重新加入)或封禁(在该会话中被锁定)。访客也可以看到参与者列表,但仅为只读。', helpSec9Title: '结束会话', helpSec9Body: '主持人 X → 确认对话框 → 会话对所有人关闭,服务器播放列表会自动清理。访客 X → 访客离开,会话继续运行。如果主持人保持静默 5 分钟,访客会自动退出并收到通知;该窗口内的短时间重连不可见。', participantsInviteLabel: '邀请链接', participantsCountLabel: '{{count}} 人在会话中', participantsHost: '主持人', participantsEmpty: '还没有访客', participantsKickTooltip: '从会话中移除', participantsKickAria: '移除 {{user}}', participantsRemoveTooltip: '从会话中移除', participantsRemoveAria: '从此会话中移除 {{user}}', participantsBanTooltip: '永久封禁', participantsBanAria: '永久封禁 {{user}}', participantsMuteTooltip: '禁止投歌', participantsUnmuteTooltip: '允许投歌', participantsMuteAria: '禁止 {{user}} 投歌', participantsUnmuteAria: '允许 {{user}} 重新投歌', confirmRemoveTitle: '从会话中移除?', confirmRemoveBody: '{{user}} 将从会话中移除,但可以通过你的邀请链接重新加入。', confirmRemoveConfirm: '移除', confirmBanTitle: '永久封禁?', confirmBanBody: '{{user}} 将被移除并被阻止重新加入此会话。在会话存在期间无法撤销。', confirmBanConfirm: '封禁', confirmCancel: '取消', confirmJoinTitle: '加入 Orbit 会话?', confirmJoinBody: '{{host}} 邀请你加入"{{name}}"。加入会话?', confirmJoinConfirm: '加入', confirmLeaveTitle: '离开会话?', confirmLeaveBody: '离开"{{name}}"?你可以随时通过 {{host}} 的邀请链接重新加入。', confirmLeaveConfirm: '离开', confirmEndTitle: '为所有人结束会话?', confirmEndBody: '"{{name}}"将对所有参与者关闭。会话的播放列表会自动清理。', confirmEndConfirm: '结束会话', invalidLinkTitle: '邀请链接已失效', invalidLinkBody: '此 Orbit 会话不再存在或已结束。请主持人提供新的邀请链接。', settingsTitle: '会话设置', settingAutoApprove: '自动批准建议', settingAutoApproveHint: '访客建议立即进入你的队列。关闭:它们保留在会话列表中供稍后审查。', settingAutoShuffle: '自动洗牌', settingAutoShuffleHint: '即将播放队列的定期 Fisher-Yates 洗牌。关闭:顺序仅在你手动重新排列时改变。', settingShuffleInterval: '洗牌间隔', settingShuffleIntervalHint: '会话运行时即将播放队列的重新洗牌频率。', suggestBlockedMuted: '主持人已禁止你在本场会话投歌。', settingShuffleIntervalValue_one: '{{count}} 分钟', settingShuffleIntervalValue_other: '{{count}} 分钟', settingShuffleNow: '立即洗牌', toastSuggested: '{{user}} 推荐了"{{title}}"', toastSuggestedMany: '队列中有 {{count}} 个新建议', toastShuffled: '队列已洗牌', toastJoined: '已加入会话', toastLoginFirst: '加入会话前请先登录', toastSwitchServer: '请先切换到 {{url}},然后再次粘贴', toastNoAccountForServer: '你没有 {{url}} 的访问权限。请主持人发送邀请。', toastSwitchFailed: '无法切换到 {{url}}', accountPickerTitle: '使用哪个账户?', accountPickerSub: '你在 {{url}} 上有多个账户。选择用于加入会话的账户。', toastJoinFail: '无法加入会话', joinErrNotFound: '未找到会话', joinErrEnded: '会话已结束', joinErrFull: '会话已满', joinErrKicked: '你无法重新加入此会话', joinErrNoUser: '没有活动服务器', joinErrServerError: '无法加入', ctxAddToSession: '添加到 Orbit 会话', ctxSuggestedToast: '已推荐到会话', ctxSuggestFailed: '无法推荐 — 未加入', ctxAddToSessionHost: '添加到 Orbit 会话', ctxAddedHostToast: '已添加到会话', ctxAddHostFailed: '无法添加到会话', bulkConfirmTitle: '全部添加到 Orbit 队列?', bulkConfirmBody: '这将一次性把 {{count}} 首曲目放入共享队列。对你的访客来说信息量很大。继续?', bulkConfirmYes: '全部添加', bulkConfirmNo: '取消', guestLive: '直播', guestPlaying: '正在播放', guestPaused: '已暂停', guestLoading: '加载中…', guestSuggestions: '建议', guestUpNext: '接下来', guestUpNextEmpty: '队列为空。打开曲目的上下文菜单并选择"添加到 Orbit 会话"来推荐一首。', guestPendingTitle: '等待主持人', guestPendingHint: '已推荐 — 主持人接受后会出现在队列中。', approvalTitle: '待批准', approvalFrom: '由 {{user}} 推荐', approvalAccept: '接受', approvalDecline: '拒绝', guestUpNextMore: '+ 主持人队列中还有 {{count}} 首', guestSubmitter: '来自 {{user}}', queueAddedByHost: '由主持人添加', queueAddedByYou: '由你添加', queueAddedByUser: '由 {{user}} 添加', guestEmpty: '还没有建议。打开曲目的上下文菜单并选择"添加到 Orbit 会话"。', guestFooter: '主持人控制播放 — 你无法更改列表。', exitKickedTitle: '你已被会话封禁', exitRemovedTitle: '你已从会话中移除', exitEndedTitle: '主持人已结束会话', exitHostTimeoutTitle: '主持人无响应', exitHostTimeoutBody: '{{host}} 有一段时间没有发送更新了,所以"{{name}}"在你这边已关闭。你可以随时通过邀请链接重新加入。', exitKickedBody: '{{host}} 已将你从"{{name}}"封禁。你无法重新加入。', exitRemovedBody: '{{host}} 已将你从"{{name}}"移除。你可以随时通过邀请链接重新加入。', exitEndedBody: '"{{name}}"已结束。希望你玩得开心。', exitOk: '好的', }, tray: { playPause: '播放 / 暂停', nextTrack: '下一首', previousTrack: '上一首', showHide: '显示 / 隐藏', exitPsysonic: '退出 Psysonic', nothingPlaying: '当前没有播放', }, licenses: { title: '开源许可证', intro: 'Psysonic 基于开源软件构建。下方列表显示了应用程序中包含的每个依赖项的版本、许可证以及完整的许可证文本。', highlights: '主要依赖项', searchPlaceholder: '按名称、版本或许可证搜索…', noResults: '没有匹配项。', loading: '加载许可证…', loadError: '无法加载许可证数据。', noLicenseText: '此依赖项未包含许可证文本。', viewSource: '查看源代码', totalLine: '{{total}} 个依赖项 — {{cargo}} cargo, {{npm}} npm', generatedAt: '最后生成时间 {{date}}', }, };