From 61ff86c5fc6f50cef5616c98075c2214d649ed64 Mon Sep 17 00:00:00 2001 From: Drew Weymouth Date: Fri, 30 Jan 2026 07:57:21 -0800 Subject: [PATCH 1/8] Fix #813: use tracklist header to determine minimum width --- ui/widgets/tracklistrow.go | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/ui/widgets/tracklistrow.go b/ui/widgets/tracklistrow.go index 847dcc1..37aa26e 100644 --- a/ui/widgets/tracklistrow.go +++ b/ui/widgets/tracklistrow.go @@ -239,6 +239,7 @@ type tracklistRowBase struct { // must be injected by extending widget setColVisibility func(int, bool) bool + layout func(fyne.Size) } type TracklistRow interface { @@ -297,6 +298,9 @@ func NewExpandedTracklistRow(tracklist *Tracklist, im *backend.ImageManager, pla c.Hidden = vis return c.Hidden != wasHidden } + t.layout = func(s fyne.Size) { + container.Layout.Layout(container.Objects, s) + } return t } @@ -316,8 +320,9 @@ func NewCompactTracklistRow(tracklist *Tracklist, playingIcon fyne.CanvasObject) t.tracklistRowBase.create(tracklist) t.playingIcon = playingIcon - t.Content = container.New(tracklist.colLayout, + container := container.New(tracklist.colLayout, t.num, t.name, t.artist, t.album, t.albumArtist, t.composer, t.genre, t.dur, t.year, t.favorite, t.rating, t.plays, t.lastPlayed, t.comment, t.bpm, t.bitrate, t.size, t.fileType, t.dateAdded, t.path) + t.Content = container colHiddenPtrMap := map[int]*bool{ 2: &t.artist.Hidden, @@ -348,6 +353,9 @@ func NewCompactTracklistRow(tracklist *Tracklist, playingIcon fyne.CanvasObject) *ptr = vis return vis != wasHidden } + t.layout = func(s fyne.Size) { + container.Layout.Layout(container.Objects, s) + } return t } @@ -409,11 +417,20 @@ func (t *tracklistRowBase) TrackID() string { return t.trackID } +func (t *tracklistRowBase) MinSize() fyne.Size { + // because tracklist rows have variable column visibility, + // we return a zero width here so that the tracklist + // can size based on the header instead. + s := t.BaseWidget.MinSize() + return fyne.NewSize(0, s.Height) +} + func (t *tracklistRowBase) Update(tm *util.TrackListModel, rowNum int, onUpdate func()) { // Show only columns configured to be visible for i := 2; i < len(t.tracklist.columns); i++ { t.setColVisibility(i, !t.tracklist.visibleColumns[i]) } + t.layout(t.Size()) // Ealy return if nothing else needs updating if !t.needsUpdate(tm, rowNum) { From f0a3ef308f9b6454e57aac77b02348ba5298d26e Mon Sep 17 00:00:00 2001 From: Drew Weymouth Date: Fri, 30 Jan 2026 08:37:32 -0800 Subject: [PATCH 2/8] Update Discord badge in readme --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 62a16b2..0bec83c 100644 --- a/README.md +++ b/README.md @@ -8,7 +8,7 @@ [![Last Release](https://img.shields.io/github/v/release/dweymouth/supersonic?logo=github&label=latest&style=flat)](https://github.com/dweymouth/supersonic/releases) [![Downloads](https://img.shields.io/github/downloads/dweymouth/supersonic/total?logo=github&style=flat)](https://github.com/dweymouth/supersonic/releases/latest) [![Go Report Card](https://goreportcard.com/badge/github.com/dweymouth/supersonic)](https://goreportcard.com/report/github.com/dweymouth/supersonic) - +[![Discord](https://dcbadge.limes.pink/api/server/H6FC9bAMpF?style=flat)](https://discord.gg/H6FC9bAMpF) A lightweight cross-platform desktop client for Subsonic and Jellyfin music servers. From 20c61f4668b82c52f8be1cfc9298351ccac8af87 Mon Sep 17 00:00:00 2001 From: Drew Weymouth Date: Fri, 30 Jan 2026 08:45:26 -0800 Subject: [PATCH 3/8] Avoid triggering cover art dissolve animation with same cover image --- ui/browsing/nowplayingpage.go | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/ui/browsing/nowplayingpage.go b/ui/browsing/nowplayingpage.go index 04eda39..97716b9 100644 --- a/ui/browsing/nowplayingpage.go +++ b/ui/browsing/nowplayingpage.go @@ -43,6 +43,7 @@ type NowPlayingPage struct { curLyrics *mediaprovider.Lyrics curLyricsID string // id of track currently shown in lyrics curRelatedID string // id of track currrently used to populate related list + curCoverArt string // id of cover art currently shown in background / card totalTime float64 lastPlayPos float64 queue []mediaprovider.MediaItem @@ -307,8 +308,12 @@ func (a *NowPlayingPage) OnSongChange(song mediaprovider.MediaItem, lastScrobble a.card.Update(song) if song == nil { a.card.SetCoverImage(nil) - } else { - a.imageLoadCancel = a.im.GetFullSizeCoverArtAsync(song.Metadata().CoverArtID, a.onImageLoaded) + a.curCoverArt = "" + } else if artID := song.Metadata().CoverArtID; artID != a.curCoverArt { + a.imageLoadCancel = a.im.GetFullSizeCoverArtAsync(song.Metadata().CoverArtID, func(img image.Image, err error) { + a.curCoverArt = artID + a.onImageLoaded(img, err) + }) } if a.tabs != nil && a.tabs.SelectedIndex() == 1 /*lyrics*/ { From 685348e107ffaf8b14a9eec9435be974b8d0ed3c Mon Sep 17 00:00:00 2001 From: Drew Weymouth Date: Fri, 30 Jan 2026 19:49:57 -0800 Subject: [PATCH 4/8] update to latest Fyne develop which has go-text Flatpak fix --- go.mod | 4 ++-- go.sum | 8 ++++---- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/go.mod b/go.mod index b4c83bf..66b62e6 100644 --- a/go.mod +++ b/go.mod @@ -48,7 +48,7 @@ require ( github.com/go-gl/gl v0.0.0-20231021071112-07e5d0ea2e71 // indirect github.com/go-gl/glfw/v3.3/glfw v0.0.0-20250301202403-da16c1255728 // indirect github.com/go-text/render v0.2.0 // indirect - github.com/go-text/typesetting v0.3.2 // indirect + github.com/go-text/typesetting v0.3.3-0.20260117213729-06c64e10eb0b // indirect github.com/h2non/filetype v1.1.3 // indirect github.com/hack-pad/go-indexeddb v0.3.2 // indirect github.com/hack-pad/safejs v0.1.1 // indirect @@ -68,7 +68,7 @@ require ( gopkg.in/yaml.v3 v3.0.1 // indirect ) -replace fyne.io/fyne/v2 v2.7.2 => github.com/dweymouth/fyne/v2 v2.3.0-rc1.0.20260121163844-a0f2c1dd0601 +replace fyne.io/fyne/v2 v2.7.2 => github.com/dweymouth/fyne/v2 v2.3.0-rc1.0.20260131034631-53eb7128ebc8 replace github.com/go-audio/wav v1.1.0 => github.com/dweymouth/go-wav v0.0.0-20250719173115-e60429a83eb0 diff --git a/go.sum b/go.sum index 069e534..c42b3ac 100644 --- a/go.sum +++ b/go.sum @@ -26,8 +26,8 @@ github.com/dweymouth/fyne-advanced-list v0.0.0-20250211191927-58ea85eec72c h1:UX github.com/dweymouth/fyne-advanced-list v0.0.0-20250211191927-58ea85eec72c/go.mod h1:Idgzr4LYzve8IPHF1stLO1bdGQZnDKt/bT9WfJflCGw= github.com/dweymouth/fyne-tooltip v0.4.0 h1:ZkMhy4f8lHklyjNnKJlSEJ2pLPnYWVD7tu2+YEgmp+w= github.com/dweymouth/fyne-tooltip v0.4.0/go.mod h1:jXYbY561DTIXXqkauzltI3o/hsVaQd2KY8Ry2FXy7Xk= -github.com/dweymouth/fyne/v2 v2.3.0-rc1.0.20260121163844-a0f2c1dd0601 h1:Z75H0KinbkuXn0y/+vFB4R6jvwgwHkgCivvPT5fIYcc= -github.com/dweymouth/fyne/v2 v2.3.0-rc1.0.20260121163844-a0f2c1dd0601/go.mod h1:M3Fkb8eUU6se8E+coikK8x7f3vCIakxAW7bPyw3d9fA= +github.com/dweymouth/fyne/v2 v2.3.0-rc1.0.20260131034631-53eb7128ebc8 h1:lwx4mANwRNH25jj2n/IAFUQ5XuYhBaj18OEPvDP19Ns= +github.com/dweymouth/fyne/v2 v2.3.0-rc1.0.20260131034631-53eb7128ebc8/go.mod h1:kjf8HBnGLLykRyRX1mAHLYAfuBaY0oSx6XKCr/dzkOg= github.com/dweymouth/go-jellyfin v0.0.0-20250928223159-bd2fb9681ef5 h1:Or5VJodg7cGmdnBIcS+FrEH0twBi7mZsFCz6V0vCOQI= github.com/dweymouth/go-jellyfin v0.0.0-20250928223159-bd2fb9681ef5/go.mod h1:fcUagHBaQnt06GmBAllNE0J4O/7064zXRWdqnTTtVjI= github.com/dweymouth/go-wav v0.0.0-20250719173115-e60429a83eb0 h1:mYcctuWgVArHhSLJxndlUM43C3hoE18BLDBkXKM2tl0= @@ -62,8 +62,8 @@ github.com/go-gl/glfw/v3.3/glfw v0.0.0-20250301202403-da16c1255728 h1:RkGhqHxEVA github.com/go-gl/glfw/v3.3/glfw v0.0.0-20250301202403-da16c1255728/go.mod h1:SyRD8YfuKk+ZXlDqYiqe1qMSqjNgtHzBTG810KUagMc= github.com/go-text/render v0.2.0 h1:LBYoTmp5jYiJ4NPqDc2pz17MLmA3wHw1dZSVGcOdeAc= github.com/go-text/render v0.2.0/go.mod h1:CkiqfukRGKJA5vZZISkjSYrcdtgKQWRa2HIzvwNN5SU= -github.com/go-text/typesetting v0.3.2 h1:OUOFxp9Rx5PiO0/rh2IY+5gmyXjXsVG8+LfEyk9NMcE= -github.com/go-text/typesetting v0.3.2/go.mod h1:vIRUT25mLQaSh4C8H/lIsKppQz/Gdb8Pu/tNwpi52ts= +github.com/go-text/typesetting v0.3.3-0.20260117213729-06c64e10eb0b h1:8jK9akFlw57u1DyVu6Vr+SUjvnYQkns9roj653VJ4iM= +github.com/go-text/typesetting v0.3.3-0.20260117213729-06c64e10eb0b/go.mod h1:vIRUT25mLQaSh4C8H/lIsKppQz/Gdb8Pu/tNwpi52ts= github.com/go-text/typesetting-utils v0.0.0-20250618110550-c820a94c77b8 h1:4KCscI9qYWMGTuz6BpJtbUSRzcBrUSSE0ENMJbNSrFs= github.com/go-text/typesetting-utils v0.0.0-20250618110550-c820a94c77b8/go.mod h1:3/62I4La/HBRX9TcTpBj4eipLiwzf+vhI+7whTc9V7o= github.com/godbus/dbus/v5 v5.2.2 h1:TUR3TgtSVDmjiXOgAAyaZbYmIeP3DPkld3jgKGV8mXQ= From 1e73073032bf7ae9c0e83d8dd650c6bdf586d139 Mon Sep 17 00:00:00 2001 From: Drew Weymouth Date: Sat, 31 Jan 2026 08:39:19 -0800 Subject: [PATCH 5/8] update Fyne build tool in workflows --- .github/workflows/build-macos-arm64.yml | 2 +- .github/workflows/build-macos-x64.yml | 2 +- .github/workflows/build-ubuntu-22.04.yml | 2 +- .github/workflows/build-ubuntu-24.04.yml | 2 +- .github/workflows/build-windows.yml | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/build-macos-arm64.yml b/.github/workflows/build-macos-arm64.yml index 6faa627..450df3d 100644 --- a/.github/workflows/build-macos-arm64.yml +++ b/.github/workflows/build-macos-arm64.yml @@ -33,7 +33,7 @@ jobs: run: export C_INCLUDE_PATH=/usr/local/include:/opt/homebrew/include:$C_INCLUDE_PATH && export LIBRARY_PATH=/usr/local/lib:/opt/homebrew/lib:$LIBRARY_PATH - name: Install Fyne tool - run: go install fyne.io/fyne/v2/cmd/fyne@latest + run: go install fyne.io/tools/cmd/fyne@latest - name: Package app bundles run: > diff --git a/.github/workflows/build-macos-x64.yml b/.github/workflows/build-macos-x64.yml index 2c208ea..26af0bd 100644 --- a/.github/workflows/build-macos-x64.yml +++ b/.github/workflows/build-macos-x64.yml @@ -33,7 +33,7 @@ jobs: run: export C_INCLUDE_PATH=/usr/local/include:/opt/homebrew/include:$C_INCLUDE_PATH && export LIBRARY_PATH=/usr/local/lib:/opt/homebrew/lib:$LIBRARY_PATH - name: Install Fyne tool - run: go install fyne.io/fyne/v2/cmd/fyne@latest + run: go install fyne.io/tools/cmd/fyne@latest - name: Build and package app bundles run: > diff --git a/.github/workflows/build-ubuntu-22.04.yml b/.github/workflows/build-ubuntu-22.04.yml index 506499f..10da4f2 100644 --- a/.github/workflows/build-ubuntu-22.04.yml +++ b/.github/workflows/build-ubuntu-22.04.yml @@ -25,7 +25,7 @@ jobs: run: sudo apt update && sudo apt install libmpv-dev gcc libegl1-mesa-dev xorg-dev - name: Install Fyne tool - run: go install fyne.io/fyne/v2/cmd/fyne@latest + run: go install fyne.io/tools/cmd/fyne@latest - name: Fyne package run: make package_linux diff --git a/.github/workflows/build-ubuntu-24.04.yml b/.github/workflows/build-ubuntu-24.04.yml index 09d9bdf..26554fd 100644 --- a/.github/workflows/build-ubuntu-24.04.yml +++ b/.github/workflows/build-ubuntu-24.04.yml @@ -25,7 +25,7 @@ jobs: run: sudo apt update && sudo apt install libmpv-dev gcc libegl1-mesa-dev xorg-dev - name: Install Fyne tool - run: go install fyne.io/fyne/v2/cmd/fyne@latest + run: go install fyne.io/tools/cmd/fyne@latest - name: Fyne package run: make package_linux diff --git a/.github/workflows/build-windows.yml b/.github/workflows/build-windows.yml index 4906d5d..ac59921 100644 --- a/.github/workflows/build-windows.yml +++ b/.github/workflows/build-windows.yml @@ -39,7 +39,7 @@ jobs: pacman --noconfirm -S mingw-w64-x86_64-toolchain mingw-w64-x86_64-mpv - name: Install Fyne tool - run: go install fyne.io/fyne/v2/cmd/fyne@latest + run: go install fyne.io/tools/cmd/fyne@latest - name: Package run: make package_windows From 4bb5442ad1a5d4db9654f310e816ec6183bf3644 Mon Sep 17 00:00:00 2001 From: Drew Weymouth Date: Sat, 31 Jan 2026 09:11:12 -0800 Subject: [PATCH 6/8] prepare for 0.20.1 release --- CHANGELOG.md | 21 +++++++++++++ FyneApp.toml | 2 +- ...io.github.dweymouth.supersonic.appdata.xml | 31 +++++++++---------- res/metadata.go | 29 +++++++++-------- win_inno_installscript.iss | 2 +- 5 files changed, 52 insertions(+), 33 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index a403229..bb87f72 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,26 @@ # Change Log +## [0.20.1] + +### Added +- Improved translations for Chinese, Japanese, Italian +- [#814](https://github.com/dweymouth/supersonic/pull/814) Setting to disable fade out on pause + +### Changed +- [#798](https://github.com/dweymouth/supersonic/issues/798) Ignore SSL validation setting migrated to per-server option + +### Fixed +- [#614](https://github.com/dweymouth/supersonic/issues/614) Some uPnP devices not recognized +- [#809](https://github.com/dweymouth/supersonic/issues/809) Jellyfin synced lyrics not shown as synced if first line starts at 00:00.00 +- [#804](https://github.com/dweymouth/supersonic/issues/804) Regression in peak meter animation smoothness +- Some optimizations of tracklist rendering +- [#810](https://github.com/dweymouth/supersonic/issues/810) Autoplay tracks enqueuing too early +- [#834](https://github.com/dweymouth/supersonic/pull/834) Fix equalizer filter string for ffmpeg +- [#813](https://github.com/dweymouth/supersonic/issues/813) Unnecessarily large minimum window width for pages with tracklist +- [#485](https://github.com/dweymouth/supersonic/discussions/485) Use sort tags for sorting artist discography by album name (OpenSubsonic only) +- [#384](https://github.com/dweymouth/supersonic/issues/384) for Jellyfin - Add to Playlist dialog not showing playlists when logged in with username in different case +- Fix Now Playing background dissolve animation when next track has same cover art as previous + ## [0.20.0] ### Added diff --git a/FyneApp.toml b/FyneApp.toml index bb92913..2fcaa6f 100644 --- a/FyneApp.toml +++ b/FyneApp.toml @@ -1,7 +1,7 @@ [Details] Icon = "res/appicon-512.png" Name = "Supersonic" - Version = "0.20.0" + Version = "0.20.1" [LinuxAndBSD] Categories = ["Audio", "AudioVideo"] diff --git a/res/io.github.dweymouth.supersonic.appdata.xml b/res/io.github.dweymouth.supersonic.appdata.xml index 55613fa..b21b748 100644 --- a/res/io.github.dweymouth.supersonic.appdata.xml +++ b/res/io.github.dweymouth.supersonic.appdata.xml @@ -63,36 +63,35 @@ - +

- Version 0.20.0 of Supersonic + Version 0.20.1 of Supersonic

Added

    -
  • Quickly fade out audio when pausing
  • -
  • Add collapsed/compact view for page headers
  • -
  • Add option to prevent screensaver or screen sleep on Now Playing page
  • -
  • Add lyrics tab to sidebar
  • -
  • Add additional tracklist columns for Genre, Album Artist, File Type, Date Added
  • -
  • Show year on Now Playing page
  • -
  • Option to round image corners throughout app
  • -
  • Option to used blurred album cover for background of Now Playing page
  • -
  • Left click on system tray icon raises app window
  • -
  • Button in Advanced tab of settings window to clear caches
  • -
  • Seeking Next while playing the last track in queue now cycles around back to the beginning
  • -
  • Behavior and naming of "Stop after current track" changed to "Pause after current track"
  • +
  • Improved translations for Chinese, Japanese, Italian
  • +
  • Setting to disable fade out on pause
  • +
  • Ignore SSL validation setting migrated to per-server option

Fixed

    -
  • LrcLib fetcher no longer crashes on tracks with no artist name
  • -
  • Windows now playing notifications are now silent, and include album cover
  • +
  • Some uPnP devices not recognized
  • +
  • Jellyfin synced lyrics not shown as synced if first line starts at 00:00.00
  • +
  • Regression in peak meter animation smoothness
  • +
  • Some optimizations of tracklist rendering
  • +
  • Autoplay tracks enqueuing too early
  • +
  • Fix equalizer filter string for ffmpeg
  • +
  • Unnecessarily large minimum window width for pages with tracklist
  • +
  • Use sort tags for sorting artist discography by album name (OpenSubsonic only)
  • +
  • For Jellyfin - Add to Playlist dialog not showing playlists when logged in with username in different case
  • +
  • Fix Now Playing background dissolve animation when next track has same cover art as previous
diff --git a/res/metadata.go b/res/metadata.go index 4fc1bab..a1b5342 100644 --- a/res/metadata.go +++ b/res/metadata.go @@ -3,7 +3,7 @@ package res const ( AppName = "supersonic" DisplayName = "Supersonic" - AppVersion = "0.20.0" + AppVersion = "0.20.1" AppVersionTag = "v" + AppVersion ConfigFile = "config.toml" GithubURL = "https://github.com/dweymouth/supersonic" @@ -15,21 +15,20 @@ const ( var ( WhatsAdded = ` ## Added -* Quickly fade out audio when pausing -* Add collapsed/compact view for page headers -* Add option to prevent screensaver or screen sleep on Now Playing page -* Add lyrics tab to sidebar -* Add additional tracklist columns for Genre, Album Artist, File Type, Date Added -* Show year on Now Playing page -* Option to round image corners throughout app -* Option to used blurred album cover for background of Now Playing page -* Left click on system tray icon raises app window -* Button in Advanced tab of settings window to clear caches -* Seeking Next while playing the last track in queue now cycles around back to the beginning -* Behavior and naming of "Stop after current track" changed to "Pause after current track"` +* Improved translations for Chinese, Japanese, Italian +* Setting to disable fade out on pause +* Ignore SSL validation setting migrated to per-server option` WhatsFixed = ` ## Fixed -* LrcLib fetcher no longer crashes on tracks with no artist name -* Windows now playing notifications are now silent, and include album cover` +* Some uPnP devices not recognized +* Jellyfin synced lyrics not shown as synced if first line starts at 00:00.00 +* Regression in peak meter animation smoothness +* Some optimizations of tracklist rendering +* Autoplay tracks enqueuing too early +* Fix equalizer filter string for ffmpeg +* Unnecessarily large minimum window width for pages with tracklist +* Use sort tags for sorting artist discography by album name (OpenSubsonic only) +* For Jellyfin - Add to Playlist dialog not showing playlists when logged in with username in different case +* Fix Now Playing background dissolve animation when next track has same cover art as previous` ) diff --git a/win_inno_installscript.iss b/win_inno_installscript.iss index eb57a47..e788e2a 100644 --- a/win_inno_installscript.iss +++ b/win_inno_installscript.iss @@ -2,7 +2,7 @@ ; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES! #define MyAppName "Supersonic" -#define MyAppVersion "0.20.0" +#define MyAppVersion "0.20.1" #define MyAppPublisher "Drew Weymouth" #define MyAppURL "https://github.com/dweymouth/supersonic" #define MyAppExeName "Supersonic.exe" From 86659e31d440c1b7c4a93fc2583b711295f53689 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=84=A1=E6=83=85=E5=A4=A9?= <32073931+kofzhanganguo@users.noreply.github.com> Date: Sun, 1 Feb 2026 02:10:04 +0800 Subject: [PATCH 7/8] Translate English terms to Chinese in zh.json Update Simplified Chinese language pack --- res/translations/zh.json | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/res/translations/zh.json b/res/translations/zh.json index 52b2b08..d553f3a 100644 --- a/res/translations/zh.json +++ b/res/translations/zh.json @@ -4,7 +4,7 @@ "Add Server": "添加服务器", "Add to playlist": "添加到播放列表", "Add to queue": "添加到队列", - "Advanced": "Advanced", + "Advanced": "高级", "Album": "专辑", "Album Count": "专辑数量", "Album artist": "专辑艺术家", @@ -57,7 +57,7 @@ "Compilation": "合集", "Compilations": "合集", "Composer": "作曲家", - "Composers": "Composers", + "Composers": "作曲家", "Configure your music server to add radio stations": "配置您的音乐服务器以添加电台", "Confirm Delete Playlist": "确认删除播放列表", "Confirm Delete Server": "确认删除服务器", @@ -92,9 +92,9 @@ "Equalizer": "均衡器", "Error": "错误", "Error creating playlist": "创建播放列表时出错", - "Error updating playlist": "Error updating playlist", + "Error updating playlist": "更新播放列表时出错", "Exclusive mode": "独占模式", - "Fade out on pause": "Fade out on pause", + "Fade out on pause": "暂停时淡出", "Fav.": "收藏", "Favorites": "收藏", "Feb": "二月", @@ -133,7 +133,7 @@ "Lyrics": "歌词", "Lyrics not available": "歌词不可用", "Mar": "三月", - "Maximum image cache size": "Maximum image cache size", + "Maximum image cache size": "最大图像缓存大小", "May": "五月", "Menu": "菜单", "Mixtape": "混音带", @@ -177,9 +177,9 @@ "Prevent clipping": "防止削波", "Prevent screensaver on Now Playing page": "禁止在“正在播放”页面显示屏幕保护程序", "Previous": "上一个", - "Private playlist by": "私人 播放列表作者", - "Public": "Public", - "Public playlist by": "公开 播放列表作者", + "Private playlist by": "私人播放列表", + "Public": "公开", + "Public playlist by": "公开播放列表", "Quit": "退出", "Random": "随机", "Rating": "评分", @@ -259,15 +259,15 @@ "Track gain": "曲目增益", "Track number": "曲目编号", "Track peak": "曲目峰值", - "Tracks": "Tracks", + "Tracks": "曲目", "Transcode to": "转码为", - "UI Scaling": "UI 缩放", + "UI Scaling": "界面缩放", "URL": "URL", "Unable to play albums": "无法播放专辑", "Unable to play artist radio": "无法播放艺术家电台", - "Unable to play random albums": "Unable to play random albums", + "Unable to play random albums": "无法播放随机专辑", "Unable to play random tracks": "无法播放随机曲目", - "Unable to play song radio": "Unable to play song radio", + "Unable to play song radio": "无法播放电台歌曲", "Unset favorite": "取消收藏", "Use blurred album cover for Now Playing page background": "使用模糊的专辑封面作为“正在播放”页面背景", "Use legacy authentication": "使用旧版认证", From d647bab218f1e90f11854b47368196b1ed2d7c8a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=84=A1=E6=83=85=E5=A4=A9?= <32073931+kofzhanganguo@users.noreply.github.com> Date: Sun, 1 Feb 2026 02:08:09 +0800 Subject: [PATCH 8/8] Update translations for various terms in zhHans.json Update Simplified Chinese language pack --- res/translations/zhHans.json | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/res/translations/zhHans.json b/res/translations/zhHans.json index 52b2b08..d553f3a 100644 --- a/res/translations/zhHans.json +++ b/res/translations/zhHans.json @@ -4,7 +4,7 @@ "Add Server": "添加服务器", "Add to playlist": "添加到播放列表", "Add to queue": "添加到队列", - "Advanced": "Advanced", + "Advanced": "高级", "Album": "专辑", "Album Count": "专辑数量", "Album artist": "专辑艺术家", @@ -57,7 +57,7 @@ "Compilation": "合集", "Compilations": "合集", "Composer": "作曲家", - "Composers": "Composers", + "Composers": "作曲家", "Configure your music server to add radio stations": "配置您的音乐服务器以添加电台", "Confirm Delete Playlist": "确认删除播放列表", "Confirm Delete Server": "确认删除服务器", @@ -92,9 +92,9 @@ "Equalizer": "均衡器", "Error": "错误", "Error creating playlist": "创建播放列表时出错", - "Error updating playlist": "Error updating playlist", + "Error updating playlist": "更新播放列表时出错", "Exclusive mode": "独占模式", - "Fade out on pause": "Fade out on pause", + "Fade out on pause": "暂停时淡出", "Fav.": "收藏", "Favorites": "收藏", "Feb": "二月", @@ -133,7 +133,7 @@ "Lyrics": "歌词", "Lyrics not available": "歌词不可用", "Mar": "三月", - "Maximum image cache size": "Maximum image cache size", + "Maximum image cache size": "最大图像缓存大小", "May": "五月", "Menu": "菜单", "Mixtape": "混音带", @@ -177,9 +177,9 @@ "Prevent clipping": "防止削波", "Prevent screensaver on Now Playing page": "禁止在“正在播放”页面显示屏幕保护程序", "Previous": "上一个", - "Private playlist by": "私人 播放列表作者", - "Public": "Public", - "Public playlist by": "公开 播放列表作者", + "Private playlist by": "私人播放列表", + "Public": "公开", + "Public playlist by": "公开播放列表", "Quit": "退出", "Random": "随机", "Rating": "评分", @@ -259,15 +259,15 @@ "Track gain": "曲目增益", "Track number": "曲目编号", "Track peak": "曲目峰值", - "Tracks": "Tracks", + "Tracks": "曲目", "Transcode to": "转码为", - "UI Scaling": "UI 缩放", + "UI Scaling": "界面缩放", "URL": "URL", "Unable to play albums": "无法播放专辑", "Unable to play artist radio": "无法播放艺术家电台", - "Unable to play random albums": "Unable to play random albums", + "Unable to play random albums": "无法播放随机专辑", "Unable to play random tracks": "无法播放随机曲目", - "Unable to play song radio": "Unable to play song radio", + "Unable to play song radio": "无法播放电台歌曲", "Unset favorite": "取消收藏", "Use blurred album cover for Now Playing page background": "使用模糊的专辑封面作为“正在播放”页面背景", "Use legacy authentication": "使用旧版认证",