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: 'English',
    languageDe: 'Deutsch',
    languageEs: 'Español',
    languageFr: 'Français',
    languageNl: 'Nederlands',
    languageNb: 'Norsk',
    languageRu: 'Русский',
    languageZh: '中文',
    font: '字体',
    fontHintOpenDyslexic: '阅读障碍友好 · 不支持中文',
    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:
      '若此服务器已配置 <pluginLink>AudioMuse-AI Navidrome 插件</pluginLink>请开启。可从曲目启动即时混音，并在艺人页使用服务器返回的相似艺人，而非 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: '此标签页中的所有集成均为 <strong>选择加入</strong>，启用后会向外部服务或您的 Navidrome 服务器发送数据。Last.fm 接收您的收听历史，Discord 在您的个人资料中显示正在播放的曲目，Bandsintown 会按艺人查询以获取巡演日期，"正在播放" 分享会向您 Navidrome 服务器的其他用户公开您当前的曲目。如果您不需要这些功能，只需将相应部分保持停用即可。',
    homeCustomizerTitle: '首页',
    queueToolbarTitle: '队列工具栏',
    queueToolbarReset: '重置为默认',
    queueToolbarSeparator: '分隔符',
    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: '正在从网络流播放',
    clearCachedLoudnessWaveform: 'Clear cached loudness and waveform, then re-analyze this track',
    recalculatingLoudnessWaveform: 'Recalculating loudness and waveform for this track…',
  },
  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 的工作原理',
    diag: {
      openTooltip: '诊断 — 可复制的事件日志',
      title: 'Orbit 诊断',
      role: '角色',
      hostTrack: '主持人曲目 ID',
      hostPos: '主持人位置',
      guestTrack: '我的曲目 ID',
      guestPos: '我的位置',
      drift: '偏差',
      stateAge: '状态时长',
      eventLog: '事件日志 ({{count}})',
      copyLabel: '复制',
      copyTooltip: '将日志复制到剪贴板',
      clearLabel: '清除',
      clearTooltip: '清空缓冲区',
      empty: '暂无事件 — Orbit 同步时会显示。',
      hint: '在重现问题前打开此面板，然后点击复制并粘贴到错误报告中。',
      copied: '已复制 {{count}} 行',
      copyFailed: '无法复制到剪贴板',
      cleared: '缓冲区已清空',
    },
    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}}',
  },
};
