From 387fb0a5f277148af10c0a9575833e5335b4f2a7 Mon Sep 17 00:00:00 2001 From: Underpath Date: Tue, 13 Aug 2024 08:10:51 +0000 Subject: [PATCH 1/7] Adding Spanish translation. --- res/translations/es.json | 230 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 230 insertions(+) create mode 100644 res/translations/es.json diff --git a/res/translations/es.json b/res/translations/es.json new file mode 100644 index 0000000..7dee9cd --- /dev/null +++ b/res/translations/es.json @@ -0,0 +1,230 @@ +{ + "A new version is available": "Una nueva versión está disponible", + "About": "Acerca de", + "Add Server": "Agregar servidor", + "Add to playlist": "Agregar a la lista de reproducción", + "Add to queue": "Agregar a la cola", + "Album": "Álbum", + "album": "álbum", + "Album count": "Número de álbumes", + "Album Count": "Número de álbumes", + "Album filters": "Filtros de álbumes", + "Album gain": "Ganancia del álbum", + "Album info not available": "Información del álbum no disponible", + "Album peak": "Pico del álbum", + "Albums": "Álbumes", + "albums": "álbumes", + "All": "Todo", + "All Tracks": "Todas las pistas", + "Alt. URL": "URL alternativa", + "Are you sure you want to delete the server": "¿Estás seguro de que quieres eliminar el servidor?", + "Artist": "Artista", + "Artist (A-Z)": "Artista (A-Z)", + "Artists": "Artistas", + "Artist biography not available.": "Biografía del artista no disponible.", + "Audio device": "Dispositivo de audio", + "Audio Drama": "Drama de audio", + "Audiobook": "Audiolibro", + "Authentication failed": "Autenticación fallida", + "Auto": "Automático", + "Autoselect device": "Seleccionar dispositivo automáticamente", + "Back": "Atrás", + "Bit rate": "Tasa de bits", + "BPM": "BPM", + "Broadcast": "Transmisión", + "Cancel": "Cancelar", + "Check for Updates": "Buscar actualizaciones", + "Close": "Cerrar", + "Close to system tray": "Cerrar a la bandeja del sistema", + "Comment": "Comentario", + "Compilation": "Compilación", + "Composer": "Compositor", + "Configure your music server to add radio stations": "Configura tu servidor de música para agregar estaciones de radio", + "Confirm Delete Playlist": "Confirmar eliminación de la lista de reproducción", + "Confirm Delete Server": "Confirmar eliminación del servidor", + "Connect to Server": "Conectar al servidor", + "Connecting": "Conectando", + "Connecting to": "Conectando a", + "Content type": "Tipo de contenido", + "Could not reach server": "No se pudo conectar con el servidor", + "Create new playlist": "Crear nueva lista de reproducción", + "day": "día", + "days": "días", + "Delete Playlist": "Eliminar lista de reproducción", + "Demo": "Demo", + "Description": "Descripción", + "Disable server transcoding": "Desactivar transcodificación del servidor", + "Disc number": "Número de disco", + "Discography": "Discografía", + "discs": "discos", + "DJ-Mix": "Mezcla de DJ", + "Download": "Descargar", + "Download completed": "Descarga completa", + "Duration": "Duración", + "Edit": "Editar", + "Edit Playlist": "Editar lista de reproducción", + "Edit server": "Editar servidor", + "Enable system tray": "Habilitar bandeja del sistema", + "Enabled": "Habilitado", + "Enter": "Entrar", + "EP": "EP", + "Equalizer": "Ecualizador", + "Exclusive mode": "Modo exclusivo", + "Favorites": "Favoritos", + "Field Recording": "Grabación en campo", + "File path": "Ruta al archivo", + "File size": "Tamaño del archivo", + "Filter albums": "Filtrar álbumes", + "Filter genres": "Filtrar géneros", + "Forward": "Adelantar", + "Frequently Played": "Reproducidas frequentemente", + "General": "General", + "Genre": "Género", + "Genres": "Géneros", + "Github page": "Página de Github", + "Go to release page": "Ir a la página de lanzamiento", + "Hide": "Ocultar", + "Home": "Inicio", + "Home Page": "Página de inicio", + "hr": "hr", + "hrs": "hrs", + "Internet Radio Stations": "Estaciones de radio por Internet", + "Interview": "Entrevista", + "Is favorite": "Es favorito", + "Is not favorite": "No es favorito", + "Last played": "Última reproducción", + "Live": "En vivo", + "Locally": "Localmente", + "Log Out": "Cerrar sesión", + "Login to Server": "Iniciar sesión en el servidor", + "Lyrics": "Letras", + "Lyrics not available": "Letras no disponibles", + "Menu": "Menú", + "min": "min", + "minutes of track have been played": "minutos de la pista han sido reproducidos", + "Mixtape": "Mixtape", + "Mute": "Silencio", + "My Server": "Mi servidor", + "Name": "Nombre", + "Name (A-Z)": "Nombre (A-Z)", + "Next": "Siguiente", + "Nickname": "Apodo", + "No new version found": "No se encontró nueva versión", + "No radio stations available": "No hay estaciones de radio disponibles", + "None": "Ninguno", + "none": "ninguno", + "none selected": "ninguno seleccionado", + "OK": "OK", + "optional": "opcional", + "or when": "o cuando", + "Password": "Contraseña", + "Pause": "Pausar", + "Paused": "Pausada", + "Peak Meter": "Medidor de picos", + "percent of track is played": "porciento de la pista ha sido reproducida", + "Play": "Reproducir", + "Play Artist Radio": "Reproducir radio del artista", + "Play count": "Número de reproducciones", + "Play Discography": "Reproducir discografía", + "Play next": "Reproducir siguiente", + "Play Queue": "Reproducir cola", + "Play random": "Reproducir aleatorio", + "Playback": "Reproducción", + "Playing": "Reproduciendo", + "Playlist": "Lista de reproducción", + "Playlists": "Listas de reproducción", + "playlist by": "lista de reproducción de", + "Plays": "Reproducciones", + "Prevent clipping": "Prevenir recortes", + "Previous": "Anterior", + "Private": "Privado", + "Public": "Público", + "Random": "Aleatorio", + "Rating": "Calificación", + "reissued": "emitido nuevamente", + "Recently Added": "Agregado recientemente", + "Recently Played": "Reproducido recientemente", + "Related": "Relacionado", + "Reload": "Recargar", + "Remix": "Remix", + "Remove from playlist": "Remover de la lista de reproducción", + "ReplayGain mode": "Modo ReplayGain", + "ReplayGain preamp": "Preamp ReplayGain", + "Restart required": "Reinicio requerido", + "Save play queue on exit": "Guardar cola de reproducción al salir", + "Saved at": "Guardado en", + "Scrobble when": "Scrobble cuando", + "Search Everywhere": "Buscar en todas partes", + "Search page": "Página de búsqueda", + "Search playlists or new playlist name": "Buscar listas de reproducción o nombre de nueva lista", + "sec": "seg", + "selected": "seleccionado", + "Send playback statistics to server": "Enviar estadísticas de reproducción al servidor", + "Server": "Servidor", + "Server Type": "Tipo de servidor", + "Server unreachable": "Servidor inalcanzable", + "Set rating": "Establecer calificación", + "Settings": "Configuración", + "Share": "Compartir", + "Share content": "Compartir contenido", + "Show": "Mostrar", + "Show info": "Mostrar información", + "Show notification on track change": "Mostrar notificación en cambio de pista", + "Show play queue": "Mostrar cola de reproducción", + "Show year in album grid cards": "Mostrar año en tarjetas de cuadrícula de álbumes", + "Shuffle": "Aleatorio", + "Shuffle albums": "Aleatorio álbumes", + "Shuffle tracks": "Aleatorio pistas", + "Similar artists": "Artistas similares", + "Single": "Sencillo", + "Size": "Tamaño", + "Skip duplicate tracks": "Saltar pistas duplicadas", + "Skip this version": "Saltar esta versión", + "Soundtrack": "Banda sonora", + "Spoken Word": "Palabra Hablada", + "Startup page": "Página de inicio", + "Stopped": "Detenida", + "Support the project": "Apoya el proyecto", + "Switch Servers": "Cambiar servidores", + "Testing connection": "Probando conexión", + "Theme": "Tema", + "Time": "Tiempo", + "Title": "Título", + "Title (A-Z)": "Título (A-Z)", + "Top Tracks": "Mejores Pistas", + "Total time": "Tiempo total", + "Track": "Pista", + "track": "pista", + "Track count": "Número de pistas", + "Track gain": "Ganancia de la pista", + "Track Info": "Información de la pista", + "Track number": "Número de pista", + "Track peak": "Pico de la pista", + "tracks": "pistas", + "UI Scaling": "Escalado de la interfaz", + "URL": "URL", + "Use legacy authentication": "Usar autenticación legacy", + "Username": "Nombre de usuario", + "version": "versión", + "Visualizations": "Visualizaciones", + "Volume": "Volumen", + "wrong URL": "URL incorrecta", + "wrong username/password": "nombre de usuario/contraseña incorrectos", + "Year": "Año", + "Year (ascending)": "Año (ascendente)", + "Year (descending)": "Año (descendente)", + "Year from": "Año desde", + "You are running the latest version of": "Estás ejecutando la última versión de", + "Quit": "Salir", + "Rescan Library": "Volver a escanear la biblioteca", + "Search": "Buscar", + "Owner": "Propietario", + "To server": "Al servidor", + "Fav.": "Fav.", + "Set favorite": "Establecer como favorito", + "Unset favorite": "Quitar de favoritos", + "Remove from queue": "Remover de la cola", + "Play song radio": "Reproducir radio de canción", + "to": "a", + "by": "por" +} From 737a02499cc53b6f920ee9741899a2f30c5bc785 Mon Sep 17 00:00:00 2001 From: Underpath Date: Wed, 14 Aug 2024 08:25:20 +0000 Subject: [PATCH 2/7] Addressing comments. --- res/translations/es.json | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/res/translations/es.json b/res/translations/es.json index 7dee9cd..aff5888 100644 --- a/res/translations/es.json +++ b/res/translations/es.json @@ -14,7 +14,7 @@ "Album peak": "Pico del álbum", "Albums": "Álbumes", "albums": "álbumes", - "All": "Todo", + "All": "Todos", "All Tracks": "Todas las pistas", "Alt. URL": "URL alternativa", "Are you sure you want to delete the server": "¿Estás seguro de que quieres eliminar el servidor?", @@ -66,7 +66,7 @@ "Edit server": "Editar servidor", "Enable system tray": "Habilitar bandeja del sistema", "Enabled": "Habilitado", - "Enter": "Entrar", + "Enter": "Ingresar", "EP": "EP", "Equalizer": "Ecualizador", "Exclusive mode": "Modo exclusivo", @@ -76,7 +76,7 @@ "File size": "Tamaño del archivo", "Filter albums": "Filtrar álbumes", "Filter genres": "Filtrar géneros", - "Forward": "Adelantar", + "Forward": "Siguiente", "Frequently Played": "Reproducidas frequentemente", "General": "General", "Genre": "Género", @@ -123,11 +123,11 @@ "Peak Meter": "Medidor de picos", "percent of track is played": "porciento de la pista ha sido reproducida", "Play": "Reproducir", - "Play Artist Radio": "Reproducir radio del artista", + "Play Artist Radio": "Reproducir mezcla del artista", "Play count": "Número de reproducciones", "Play Discography": "Reproducir discografía", "Play next": "Reproducir siguiente", - "Play Queue": "Reproducir cola", + "Play Queue": "Cola de reproducción", "Play random": "Reproducir aleatorio", "Playback": "Reproducción", "Playing": "Reproduciendo", @@ -216,7 +216,7 @@ "Year from": "Año desde", "You are running the latest version of": "Estás ejecutando la última versión de", "Quit": "Salir", - "Rescan Library": "Volver a escanear la biblioteca", + "Rescan Library": "Reescanear la biblioteca", "Search": "Buscar", "Owner": "Propietario", "To server": "Al servidor", @@ -224,7 +224,7 @@ "Set favorite": "Establecer como favorito", "Unset favorite": "Quitar de favoritos", "Remove from queue": "Remover de la cola", - "Play song radio": "Reproducir radio de canción", + "Play song radio": "Reproducir canciones similares", "to": "a", "by": "por" } From b44fab22b263ad303e71d123e3dad088a43d7fd2 Mon Sep 17 00:00:00 2001 From: Drew Weymouth Date: Thu, 15 Aug 2024 08:17:42 -0700 Subject: [PATCH 3/7] only use window size workaround on linux where needed --- main.go | 23 +++++++++++++---------- 1 file changed, 13 insertions(+), 10 deletions(-) diff --git a/main.go b/main.go index 4d02724..0e26d91 100644 --- a/main.go +++ b/main.go @@ -5,6 +5,7 @@ import ( "fmt" "log" "os" + "runtime" "sync" "time" @@ -62,16 +63,18 @@ func main() { }() // slightly hacky workaround for https://github.com/fyne-io/fyne/issues/4964 - workaroundWindowSize := sync.OnceFunc(func() { - time.Sleep(50 * time.Millisecond) - s := mainWindow.DesiredSize() - mainWindow.Window.Resize(s.Subtract(fyne.NewSize(4, 0))) - time.Sleep(50 * time.Millisecond) - mainWindow.Window.Resize(s) // back to desired size - }) - fyneApp.Lifecycle().SetOnEnteredForeground(func() { - workaroundWindowSize() - }) + if runtime.GOOS == "linux" { + workaroundWindowSize := sync.OnceFunc(func() { + time.Sleep(50 * time.Millisecond) + s := mainWindow.DesiredSize() + mainWindow.Window.Resize(s.Subtract(fyne.NewSize(4, 0))) + time.Sleep(50 * time.Millisecond) + mainWindow.Window.Resize(s) // back to desired size + }) + fyneApp.Lifecycle().SetOnEnteredForeground(func() { + workaroundWindowSize() + }) + } mainWindow.ShowAndRun() From 72e670f13fd1ee537ca8e2ad8620f40835d56f3f Mon Sep 17 00:00:00 2001 From: Drew Weymouth Date: Thu, 15 Aug 2024 08:32:05 -0700 Subject: [PATCH 4/7] disable window workaround on Wayland as well --- main.go | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/main.go b/main.go index 0e26d91..3742303 100644 --- a/main.go +++ b/main.go @@ -15,6 +15,7 @@ import ( "fyne.io/fyne/v2" "fyne.io/fyne/v2/app" + "fyne.io/fyne/v2/driver" "fyne.io/fyne/v2/lang" ) @@ -65,11 +66,19 @@ func main() { // slightly hacky workaround for https://github.com/fyne-io/fyne/issues/4964 if runtime.GOOS == "linux" { workaroundWindowSize := sync.OnceFunc(func() { - time.Sleep(50 * time.Millisecond) - s := mainWindow.DesiredSize() - mainWindow.Window.Resize(s.Subtract(fyne.NewSize(4, 0))) - time.Sleep(50 * time.Millisecond) - mainWindow.Window.Resize(s) // back to desired size + go func() { + isWayland := false + mainWindow.Window.(driver.NativeWindow).RunNative(func(ctx any) { + _, isWayland = ctx.(*driver.WaylandWindowContext) + }) + if !isWayland { + time.Sleep(50 * time.Millisecond) + s := mainWindow.DesiredSize() + mainWindow.Window.Resize(s.Subtract(fyne.NewSize(4, 0))) + time.Sleep(50 * time.Millisecond) + mainWindow.Window.Resize(s) // back to desired size + } + }() }) fyneApp.Lifecycle().SetOnEnteredForeground(func() { workaroundWindowSize() From d6354086bb9bebd1dd4189233b65a09c0eb48661 Mon Sep 17 00:00:00 2001 From: Drew Weymouth Date: Fri, 16 Aug 2024 08:38:02 -0700 Subject: [PATCH 5/7] Fix #467: translate "public/private playlist by" as single string --- res/translations/en.json | 5 ++--- res/translations/es.json | 5 ++--- res/translations/fr.json | 5 ++--- res/translations/it.json | 5 ++--- res/translations/pl.json | 5 ++--- res/translations/pt_BR.json | 5 ++--- res/translations/ro.json | 5 ++--- res/translations/zh.json | 5 ++--- res/translations/zhHans.json | 5 ++--- res/translations/zhHant.json | 5 ++--- ui/browsing/playlistpage.go | 7 +++---- 11 files changed, 23 insertions(+), 34 deletions(-) diff --git a/res/translations/en.json b/res/translations/en.json index 08d9b69..2e902cc 100644 --- a/res/translations/en.json +++ b/res/translations/en.json @@ -133,12 +133,11 @@ "Playing": "Playing", "Playlist": "Playlist", "Playlists": "Playlists", - "playlist by": "playlist by", "Plays": "Plays", "Prevent clipping": "Prevent clipping", "Previous": "Previous", - "Private": "Private", - "Public": "Public", + "Private playlist by": "Private playlist by", + "Public playlist by": "Public playlist by", "Random": "Random", "Rating": "Rating", "reissued": "reissued", diff --git a/res/translations/es.json b/res/translations/es.json index aff5888..bd7f1dd 100644 --- a/res/translations/es.json +++ b/res/translations/es.json @@ -133,12 +133,11 @@ "Playing": "Reproduciendo", "Playlist": "Lista de reproducción", "Playlists": "Listas de reproducción", - "playlist by": "lista de reproducción de", "Plays": "Reproducciones", "Prevent clipping": "Prevenir recortes", "Previous": "Anterior", - "Private": "Privado", - "Public": "Público", + "Private playlist by": "Lista de reproducción privada de", + "Public playlist by": "Lista de reproducción pública de", "Random": "Aleatorio", "Rating": "Calificación", "reissued": "emitido nuevamente", diff --git a/res/translations/fr.json b/res/translations/fr.json index b906f40..b510cce 100644 --- a/res/translations/fr.json +++ b/res/translations/fr.json @@ -133,12 +133,11 @@ "Playing": "Lecture en cours", "Playlist": "Liste de lecture", "Playlists": "Listes de lecture", - "playlist by": "liste de lecture créée par", "Plays": "Lectures", "Prevent clipping": "Empêcher le clipping", "Previous": "Précédente", - "Private": "Privée", - "Public": "Publique", + "Private playlist by": "Liste de lecture privée créée par", + "Public playlist by": "Liste de lecture publique créée par", "Random": "Aléatoire", "Rating": "Notation", "reissued": "ressorti", diff --git a/res/translations/it.json b/res/translations/it.json index ae0385a..2333d18 100644 --- a/res/translations/it.json +++ b/res/translations/it.json @@ -133,12 +133,11 @@ "Playing": "Riproduzione in corso", "Playlist": "Playlist", "Playlists": "Playlist", - "playlist by": "playlist by", "Plays": "Nº ascolti", "Prevent clipping": "Previeni clipping", "Previous": "Precedente", - "Private": "Privata", - "Public": "Pubblica", + "Private playlist by": "Playlist privata by", + "Public playlist by": "Playlist pubblica by", "Random": "Casuale", "Rating": "Rating", "reissued": "reissued", diff --git a/res/translations/pl.json b/res/translations/pl.json index f926e03..ccb6399 100644 --- a/res/translations/pl.json +++ b/res/translations/pl.json @@ -127,12 +127,11 @@ "Playing": "Odtwarza", "Playlist": "Playlista", "Playlists": "Playlisty", - "playlist by": "playlista przez", "Plays": "Ilość odtworzeń", "Prevent clipping": "Zapobiegnij przycicnaniu", "Previous": "Poprzednie", - "Private": "Prywatna", - "Public": "Publiczne", + "Private playlist by": "Prywatna playlista przez", + "Public playlist by": "Publiczne playlista przez", "Random": "Losowe", "Rating": "Ocena", "reissued": "odnowiony", diff --git a/res/translations/pt_BR.json b/res/translations/pt_BR.json index b1e79db..606a7c2 100644 --- a/res/translations/pt_BR.json +++ b/res/translations/pt_BR.json @@ -133,12 +133,11 @@ "Playing": "Tocando", "Playlist": "Lista de reprodução", "Playlists": "Listas de reprodução", - "playlist by": "lista de reprodução por", "Plays": "Reproduções", "Prevent clipping": "Evitar clipping", "Previous": "Anterior", - "Private": "Privado", - "Public": "Público", + "Private playlist by": "Lista de reprodução privado por", + "Public playlist by": "Lista de reprodução público por", "Random": "Aleatório", "Rating": "Classificação", "reissued": "reeditado", diff --git a/res/translations/ro.json b/res/translations/ro.json index be96f48..ba6cac5 100644 --- a/res/translations/ro.json +++ b/res/translations/ro.json @@ -127,12 +127,11 @@ "Playing": "Redare", "Playlist": "Playlist", "Playlists": "Playlist-uri", - "playlist by": "playlist de", "Plays": "Redări", "Prevent clipping": "Previne distorsiunea", "Previous": "Anterior", - "Private": "Privat", - "Public": "Public", + "Private playlist by": "Playlist privat de", + "Public playlist by": "Playlist public de", "Random": "Aleatoriu", "Rating": "Rating", "reissued": "reeditat", diff --git a/res/translations/zh.json b/res/translations/zh.json index 4009732..b7ef9b1 100644 --- a/res/translations/zh.json +++ b/res/translations/zh.json @@ -127,12 +127,11 @@ "Playing": "正在播放", "Playlist": "播放列表", "Playlists": "播放列表", - "playlist by": "播放列表作者", "Plays": "播放", "Prevent clipping": "防止削波", "Previous": "上一个", - "Private": "私人", - "Public": "公开", + "Private playlist by": "私人 播放列表作者", + "Public playlist by": "公开 播放列表作者", "Random": "随机", "Rating": "评分", "reissued": "重新发行", diff --git a/res/translations/zhHans.json b/res/translations/zhHans.json index 551e4d0..a6f20eb 100644 --- a/res/translations/zhHans.json +++ b/res/translations/zhHans.json @@ -127,12 +127,11 @@ "Playing": "正在播放", "Playlist": "播放列表", "Playlists": "播放列表", - "playlist by": "播放列表作者", "Plays": "播放", "Prevent clipping": "防止削波", "Previous": "上一个", - "Private": "私人", - "Public": "公开", + "Private playlist by": "私人 播放列表作者", + "Public playlist by": "公开 播放列表作者", "Random": "随机", "Rating": "评分", "reissued": "重新发行", diff --git a/res/translations/zhHant.json b/res/translations/zhHant.json index 3e6e785..a3a678e 100644 --- a/res/translations/zhHant.json +++ b/res/translations/zhHant.json @@ -127,12 +127,11 @@ "Playing": "正在播放", "Playlist": "播放清單", "Playlists": "播放清單", - "playlist by": "播放清單作者", "Plays": "播放", "Prevent clipping": "防止削波", "Previous": "上一個", - "Private": "私人", - "Public": "公開", + "Private playlist by": "私人 播放清單作者", + "Public playlist by": "公開 播放清單作者", "Random": "隨機", "Rating": "評分", "reissued": "重新發行", diff --git a/ui/browsing/playlistpage.go b/ui/browsing/playlistpage.go index 8ed3ad9..01221d0 100644 --- a/ui/browsing/playlistpage.go +++ b/ui/browsing/playlistpage.go @@ -343,12 +343,11 @@ func (a *PlaylistPageHeader) Update(playlist *mediaprovider.PlaylistWithTracks) } func (a *PlaylistPageHeader) formatPlaylistOwnerStr(p *mediaprovider.PlaylistWithTracks) string { - pubPriv := lang.L("Public") + pubPriv := lang.L("Public playlist by") if !p.Public { - pubPriv = lang.L("Private") + pubPriv = lang.L("Private playlist by") } - playlistBy := lang.L("playlist by") - return fmt.Sprintf("%s %s %s", pubPriv, playlistBy, p.Owner) + return fmt.Sprintf("%s %s", pubPriv, p.Owner) } func (a *PlaylistPageHeader) formatPlaylistTrackTimeStr(p *mediaprovider.PlaylistWithTracks) string { From 1d64778f3dcc17fbebd8c0b347e1ab825d245eb3 Mon Sep 17 00:00:00 2001 From: Drew Weymouth Date: Fri, 16 Aug 2024 08:52:10 -0700 Subject: [PATCH 6/7] add icons to dialog buttons --- ui/dialogs/addeditserverdialog.go | 4 ++-- ui/dialogs/editplaylistdialog.go | 14 +++++++++----- ui/dialogs/logindialog.go | 2 +- 3 files changed, 12 insertions(+), 8 deletions(-) diff --git a/ui/dialogs/addeditserverdialog.go b/ui/dialogs/addeditserverdialog.go index 4f0a0d5..ee99845 100644 --- a/ui/dialogs/addeditserverdialog.go +++ b/ui/dialogs/addeditserverdialog.go @@ -78,7 +78,7 @@ func NewAddEditServerDialog(title string, cancelable bool, prefillServer *backen nickField := widget.NewEntryWithData(binding.BindString(&a.Nickname)) nickField.SetPlaceHolder(lang.L("My Server")) nickField.OnSubmitted = func(_ string) { focusHandler(hostField) } - a.submitBtn = widget.NewButton(lang.L("Enter"), a.doSubmit) + a.submitBtn = widget.NewButtonWithIcon(lang.L("Enter"), theme.ConfirmIcon(), a.doSubmit) a.submitBtn.Importance = widget.HighImportance a.promptText = widget.NewRichTextWithText("") a.promptText.Hidden = true @@ -88,7 +88,7 @@ func NewAddEditServerDialog(title string, cancelable bool, prefillServer *backen bottomRow = container.NewHBox( a.promptText, layout.NewSpacer(), - widget.NewButton(lang.L("Cancel"), a.onCancel), + widget.NewButtonWithIcon(lang.L("Cancel"), theme.CancelIcon(), a.onCancel), a.submitBtn) } else { bottomRow = container.NewHBox( diff --git a/ui/dialogs/editplaylistdialog.go b/ui/dialogs/editplaylistdialog.go index 7ffaccb..ef0e0af 100644 --- a/ui/dialogs/editplaylistdialog.go +++ b/ui/dialogs/editplaylistdialog.go @@ -6,6 +6,7 @@ import ( "fyne.io/fyne/v2/data/binding" "fyne.io/fyne/v2/lang" "fyne.io/fyne/v2/layout" + "fyne.io/fyne/v2/theme" "fyne.io/fyne/v2/widget" "github.com/dweymouth/supersonic/backend/mediaprovider" ) @@ -36,25 +37,28 @@ func NewEditPlaylistDialog(playlist *mediaprovider.Playlist, showPublicCheck boo isPublicCheck.Hidden = !showPublicCheck nameEntry := widget.NewEntryWithData(binding.BindString(&e.Name)) descriptionEntry := widget.NewEntryWithData(binding.BindString(&e.Description)) - deleteBtn := widget.NewButton(lang.L("Delete Playlist"), func() { + deleteBtn := widget.NewButtonWithIcon(lang.L("Delete Playlist"), theme.DeleteIcon(), func() { if e.OnDeletePlaylist != nil { e.OnDeletePlaylist() } }) - submitBtn := widget.NewButton(lang.L("OK"), func() { + submitBtn := widget.NewButtonWithIcon(lang.L("OK"), theme.ConfirmIcon(), func() { if e.OnUpdateMetadata != nil { e.OnUpdateMetadata() } }) submitBtn.Importance = widget.HighImportance - cancelBtn := widget.NewButton(lang.L("Cancel"), func() { + cancelBtn := widget.NewButtonWithIcon(lang.L("Cancel"), theme.CancelIcon(), func() { if e.OnCanceled != nil { e.OnCanceled() } }) + title := widget.NewLabel(lang.L("Edit Playlist")) + title.Alignment = fyne.TextAlignCenter + title.TextStyle.Bold = true e.container = container.NewVBox( - container.NewHBox(layout.NewSpacer(), widget.NewLabel(lang.L("Edit Playlist")), layout.NewSpacer()), + title, container.New(layout.NewFormLayout(), widget.NewLabel(lang.L("Name")), nameEntry, @@ -72,7 +76,7 @@ func NewEditPlaylistDialog(playlist *mediaprovider.Playlist, showPublicCheck boo } func (e *EditPlaylistDialog) MinSize() fyne.Size { - return fyne.NewSize(300, e.BaseWidget.MinSize().Height) + return fyne.NewSize(400, e.BaseWidget.MinSize().Height) } func (e *EditPlaylistDialog) CreateRenderer() fyne.WidgetRenderer { diff --git a/ui/dialogs/logindialog.go b/ui/dialogs/logindialog.go index 5d90d89..d5cc581 100644 --- a/ui/dialogs/logindialog.go +++ b/ui/dialogs/logindialog.go @@ -58,7 +58,7 @@ func NewLoginDialog(servers []*backend.ServerConfig, pwFetch PasswordFetchFunc) editBtn := widget.NewButtonWithIcon("", theme.DocumentCreateIcon(), l.onEditServer) newBtn := widget.NewButtonWithIcon("", theme.ContentAddIcon(), l.onNewServer) deleteBtn := widget.NewButtonWithIcon("", theme.DeleteIcon(), func() { l.onDeleteServer(l.serverSelect.SelectedIndex()) }) - l.submitBtn = widget.NewButton(lang.L("OK"), l.onSubmit) + l.submitBtn = widget.NewButtonWithIcon(lang.L("OK"), theme.ConfirmIcon(), l.onSubmit) l.submitBtn.Importance = widget.HighImportance l.promptText = widget.NewRichTextWithText("") l.promptText.Segments[0].(*widget.TextSegment).Style.ColorName = theme.ColorNameError From 4905f82ef2dbdef7fc3794c39ea54886744ee393 Mon Sep 17 00:00:00 2001 From: Drew Weymouth Date: Fri, 16 Aug 2024 08:57:55 -0700 Subject: [PATCH 7/7] fix translations of "Search page" --- res/translations/es.json | 2 +- res/translations/it.json | 2 +- res/translations/pt_BR.json | 2 +- res/translations/ro.json | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/res/translations/es.json b/res/translations/es.json index bd7f1dd..cf95e85 100644 --- a/res/translations/es.json +++ b/res/translations/es.json @@ -154,7 +154,7 @@ "Saved at": "Guardado en", "Scrobble when": "Scrobble cuando", "Search Everywhere": "Buscar en todas partes", - "Search page": "Página de búsqueda", + "Search page": "Buscar en la página", "Search playlists or new playlist name": "Buscar listas de reproducción o nombre de nueva lista", "sec": "seg", "selected": "seleccionado", diff --git a/res/translations/it.json b/res/translations/it.json index 2333d18..06533b3 100644 --- a/res/translations/it.json +++ b/res/translations/it.json @@ -154,7 +154,7 @@ "Saved at": "Salvato in", "Scrobble when": "Scrobbla quando", "Search Everywhere": "Cerca ovunque", - "Search page": "Pagina di ricerca", + "Search page": "Cerca nella pagina", "Search playlists or new playlist name": "Cerca tra le playlist o creane una nuova", "sec": "sec", "selected": "selezionato", diff --git a/res/translations/pt_BR.json b/res/translations/pt_BR.json index 606a7c2..b76895d 100644 --- a/res/translations/pt_BR.json +++ b/res/translations/pt_BR.json @@ -154,7 +154,7 @@ "Saved at": "Salvo em", "Scrobble when": "Fazer scrobble quando", "Search Everywhere": "Pesquisar em todos os lugares", - "Search page": "Página de pesquisa", + "Search page": "Pesquisar en página", "Search playlists or new playlist name": "Pesquisar listas de reprodução ou criar uma nova", "sec": "s", "selected": "selecionado", diff --git a/res/translations/ro.json b/res/translations/ro.json index ba6cac5..15c4cc2 100644 --- a/res/translations/ro.json +++ b/res/translations/ro.json @@ -147,7 +147,7 @@ "Saved at": "Salvat la", "Scrobble when": "Scrobblare când", "Search Everywhere": "Caută peste tot", - "Search page": "Pagină căutare", + "Search page": "Caută pagină", "Search playlists or new playlist name": "Caută playlisturi sau nume de playlist nou", "sec": "sec", "selected": "selectat",