From 97d0e9040884c18fb9865f7c177cd98137360c82 Mon Sep 17 00:00:00 2001 From: Alain Nussbaumer Date: Wed, 12 Feb 2025 18:50:22 +0100 Subject: [PATCH] [web] Simplify property translations --- web-src/src/components/ModalDialogAlbum.vue | 24 ++-- .../components/ModalDialogAlbumSpotify.vue | 10 +- web-src/src/components/ModalDialogArtist.vue | 10 +- .../components/ModalDialogArtistSpotify.vue | 6 +- .../src/components/ModalDialogComposer.vue | 12 +- web-src/src/components/ModalDialogGenre.vue | 8 +- .../src/components/ModalDialogPlayable.vue | 8 +- .../src/components/ModalDialogPlaylist.vue | 8 +- .../components/ModalDialogPlaylistSpotify.vue | 8 +- .../src/components/ModalDialogQueueItem.vue | 71 ++++------- web-src/src/components/ModalDialogTrack.vue | 36 +++--- .../components/ModalDialogTrackSpotify.vue | 16 +-- web-src/src/i18n/de.json | 110 +++++------------- web-src/src/i18n/en.json | 110 +++++------------- web-src/src/i18n/fr.json | 110 +++++------------- web-src/src/i18n/zh-CN.json | 110 +++++------------- web-src/src/i18n/zh-TW.json | 110 +++++------------- 17 files changed, 223 insertions(+), 544 deletions(-) diff --git a/web-src/src/components/ModalDialogAlbum.vue b/web-src/src/components/ModalDialogAlbum.vue index c8bd30ac..3ea4b561 100644 --- a/web-src/src/components/ModalDialogAlbum.vue +++ b/web-src/src/components/ModalDialogAlbum.vue @@ -25,15 +25,15 @@ export default { if (this.media_kind_resolved === 'podcast') { if (this.item.data_kind === 'url') { return [ - { label: 'dialog.album.mark-as-played', action: this.mark_played }, + { label: 'dialog.album.mark-as-played', handler: this.mark_played }, { label: 'dialog.album.remove-podcast', - action: this.remove_podcast + handler: this.remove_podcast } ] } return [ - { label: 'dialog.album.mark-as-played', action: this.mark_played } + { label: 'dialog.album.mark-as-played', handler: this.mark_played } ] } return [] @@ -44,32 +44,32 @@ export default { playable() { return { name: this.item.name, - action: this.open, + handler: this.open, image: this.item.artwork_url, artist: this.item.artist, album: this.item.name, properties: [ { - label: 'dialog.album.artist', + label: 'property.artist', value: this.item.artist, - action: this.open_artist + handler: this.open_artist }, { - label: 'dialog.album.release-date', + label: 'property.release-date', value: this.$filters.date(this.item.date_released) }, - { label: 'dialog.album.year', value: this.item.year }, - { label: 'dialog.album.tracks', value: this.item.track_count }, + { label: 'property.year', value: this.item.year }, + { label: 'property.tracks', value: this.item.track_count }, { - label: 'dialog.album.duration', + label: 'property.duration', value: this.$filters.durationInHours(this.item.length_ms) }, { - label: 'dialog.album.type', + label: 'property.type', value: `${this.$t(`media.kind.${this.item.media_kind}`)} - ${this.$t(`data.kind.${this.item.data_kind}`)}` }, { - label: 'dialog.album.added-on', + label: 'property.added-on', value: this.$filters.datetime(this.item.time_added) } ] diff --git a/web-src/src/components/ModalDialogAlbumSpotify.vue b/web-src/src/components/ModalDialogAlbumSpotify.vue index 4b872a84..af14e045 100644 --- a/web-src/src/components/ModalDialogAlbumSpotify.vue +++ b/web-src/src/components/ModalDialogAlbumSpotify.vue @@ -21,19 +21,19 @@ export default { image: this.item?.images?.[0]?.url || '', artist: this.item.artist || '', album: this.item.name || '', - action: this.open, + handler: this.open, properties: [ { - label: 'dialog.spotify.album.album-artist', + label: 'property.album-artist', value: this.item?.artists?.[0]?.name, - action: this.open_artist + handler: this.open_artist }, { - label: 'dialog.spotify.album.release-date', + label: 'property.release-date', value: this.$filters.date(this.item.release_date) }, { - label: 'dialog.spotify.album.type', + label: 'property.type', value: this.item.album_type } ] diff --git a/web-src/src/components/ModalDialogArtist.vue b/web-src/src/components/ModalDialogArtist.vue index a577b749..cf8e0afb 100644 --- a/web-src/src/components/ModalDialogArtist.vue +++ b/web-src/src/components/ModalDialogArtist.vue @@ -18,16 +18,16 @@ export default { playable() { return { name: this.item.name, - action: this.open, + handler: this.open, properties: [ - { label: 'dialog.artist.albums', value: this.item.album_count }, - { label: 'dialog.artist.tracks', value: this.item.track_count }, + { label: 'property.albums', value: this.item.album_count }, + { label: 'property.tracks', value: this.item.track_count }, { - label: 'dialog.artist.type', + label: 'property.type', value: this.$t(`data.kind.${this.item.data_kind}`) }, { - label: 'dialog.artist.added-on', + label: 'property.added-on', value: this.$filters.datetime(this.item.time_added) } ] diff --git a/web-src/src/components/ModalDialogArtistSpotify.vue b/web-src/src/components/ModalDialogArtistSpotify.vue index 580676ac..e5c42c1f 100644 --- a/web-src/src/components/ModalDialogArtistSpotify.vue +++ b/web-src/src/components/ModalDialogArtistSpotify.vue @@ -18,16 +18,16 @@ export default { playable() { return { name: this.item.name, - action: this.open, + handler: this.open, properties: [ { - label: 'dialog.spotify.artist.popularity', + label: 'property.popularity', value: [this.item.popularity, this.item.followers?.total].join( ' / ' ) }, { - label: 'dialog.spotify.artist.genres', + label: 'property.genres', value: this.item.genres?.join(', ') } ] diff --git a/web-src/src/components/ModalDialogComposer.vue b/web-src/src/components/ModalDialogComposer.vue index 153375f2..d82af942 100644 --- a/web-src/src/components/ModalDialogComposer.vue +++ b/web-src/src/components/ModalDialogComposer.vue @@ -17,22 +17,22 @@ export default { computed: { playable() { return { - action: this.open_albums, name: this.item.name, + handler: this.open_albums, expression: `composer is "${this.item.name}" and media_kind is music`, properties: [ { - label: 'dialog.composer.albums', + label: 'property.albums', value: this.item.album_count, - action: this.open_albums + handler: this.open_albums }, { - label: 'dialog.composer.tracks', + label: 'property.tracks', value: this.item.track_count, - action: this.open_tracks + handler: this.open_tracks }, { - label: 'dialog.composer.duration', + label: 'property.duration', value: this.$filters.durationInHours(this.item.length_ms) } ] diff --git a/web-src/src/components/ModalDialogGenre.vue b/web-src/src/components/ModalDialogGenre.vue index ec71122d..dbfc2542 100644 --- a/web-src/src/components/ModalDialogGenre.vue +++ b/web-src/src/components/ModalDialogGenre.vue @@ -22,19 +22,19 @@ export default { playable() { return { name: this.item.name, - action: this.open, + handler: this.open, expression: `genre is "${this.item.name}" and media_kind is ${this.media_kind}`, properties: [ { - label: 'dialog.genre.albums', + label: 'property.albums', value: this.item.album_count }, { - label: 'dialog.genre.tracks', + label: 'property.tracks', value: this.item.track_count }, { - label: 'dialog.genre.duration', + label: 'property.duration', value: this.$filters.durationInHours(this.item.length_ms) } ] diff --git a/web-src/src/components/ModalDialogPlayable.vue b/web-src/src/components/ModalDialogPlayable.vue index 3ad4a905..d1c83d9e 100644 --- a/web-src/src/components/ModalDialogPlayable.vue +++ b/web-src/src/components/ModalDialogPlayable.vue @@ -2,7 +2,7 @@ diff --git a/web-src/src/components/ModalDialogTrack.vue b/web-src/src/components/ModalDialogTrack.vue index f87cff4e..339e1611 100644 --- a/web-src/src/components/ModalDialogTrack.vue +++ b/web-src/src/components/ModalDialogTrack.vue @@ -30,11 +30,11 @@ export default { buttons() { if (this.item.media_kind === 'podcast') { if (this.item.play_count > 0) { - return [{ label: 'dialog.track.mark-as-new', action: this.mark_new }] + return [{ label: 'dialog.track.mark-as-new', handler: this.mark_new }] } if (this.item.play_count === 0) { return [ - { label: 'dialog.track.mark-as-played', action: this.mark_played } + { label: 'dialog.track.mark-as-played', handler: this.mark_played } ] } } @@ -45,36 +45,36 @@ export default { name: this.item.title, properties: [ { - label: 'dialog.track.album', + label: 'property.album', value: this.item.album, - action: this.open_album + handler: this.open_album }, { - label: 'dialog.track.album-artist', + label: 'property.album-artist', value: this.item.album_artist, - action: this.open_artist + handler: this.open_artist }, - { label: 'dialog.track.composer', value: this.item.composer }, + { label: 'property.composer', value: this.item.composer }, { - label: 'dialog.track.release-date', + label: 'property.release-date', value: this.$filters.date(this.item.date_released) }, - { label: 'dialog.track.year', value: this.item.year }, - { label: 'dialog.track.genre', value: this.item.genre }, + { label: 'property.year', value: this.item.year }, + { label: 'property.genre', value: this.item.genre }, { - label: 'dialog.track.position', + label: 'property.position', value: [this.item.disc_number, this.item.track_number].join(' / ') }, { - label: 'dialog.track.duration', + label: 'property.duration', value: this.$filters.durationInHours(this.item.length_ms) }, { - label: 'dialog.track.type', + label: 'property.type', value: `${this.$t(`media.kind.${this.item.media_kind}`)} - ${this.$t(`data.kind.${this.item.data_kind}`)}` }, { - label: 'dialog.track.quality', + label: 'property.quality', value: this.$t('dialog.track.quality-value', { format: this.item.type, bitrate: this.item.bitrate, @@ -83,17 +83,17 @@ export default { }) }, { - label: 'dialog.track.added-on', + label: 'property.added-on', value: this.$filters.datetime(this.item.time_added) }, { - label: 'dialog.track.rating', + label: 'property.rating', value: this.$t('dialog.track.rating-value', { rating: Math.floor(this.item.rating / 10) }) }, - { label: 'dialog.track.comment', value: this.item.comment }, - { label: 'dialog.track.path', value: this.item.path } + { label: 'property.comment', value: this.item.comment }, + { label: 'property.path', value: this.item.path } ] } } diff --git a/web-src/src/components/ModalDialogTrackSpotify.vue b/web-src/src/components/ModalDialogTrackSpotify.vue index 10f74c29..a248ce5c 100644 --- a/web-src/src/components/ModalDialogTrackSpotify.vue +++ b/web-src/src/components/ModalDialogTrackSpotify.vue @@ -21,28 +21,28 @@ export default { subtitle: this.item.artists[0].name, properties: [ { - label: 'dialog.spotify.track.album', + label: 'property.album', value: this.item.album.name, - action: this.open_album + handler: this.open_album }, { - label: 'dialog.spotify.track.album-artist', + label: 'property.album-artist', value: this.item.artists[0].name, - action: this.open_artist + handler: this.open_artist }, { - label: 'dialog.spotify.track.release-date', + label: 'property.release-date', value: this.$filters.date(item.album.release_date) }, { - label: 'dialog.spotify.track.position', + label: 'property.position', value: [item.disc_number, item.track_number].join(' / ') }, { - label: 'dialog.spotify.track.duration', + label: 'property.duration', value: this.$filters.durationInHours(item.duration_ms) }, - { label: 'dialog.spotify.track.path', value: this.item.uri } + { label: 'property.path', value: this.item.uri } ] } } diff --git a/web-src/src/i18n/de.json b/web-src/src/i18n/de.json index c3825cb4..20ebed9f 100644 --- a/web-src/src/i18n/de.json +++ b/web-src/src/i18n/de.json @@ -27,31 +27,8 @@ } }, "album": { - "added-on": "Hinzugefügt am", - "artist": "Album Künstler", - "duration": "Dauer", "mark-as-played": "Markiere als gespielt", - "release-date": "Erscheinungsdatum", - "remove-podcast": "Entferne podcast", - "tracks": "Track Nummer", - "type": "Art", - "year": "Jahr" - }, - "artist": { - "added-on": "Hinzugefügt am", - "albums": "Alben", - "tracks": "Tracks", - "type": "Art" - }, - "composer": { - "albums": "Alben", - "duration": "Dauer", - "tracks": "Tracks" - }, - "genre": { - "albums": "Alben", - "duration": "Dauer", - "tracks": "Tracks" + "remove-podcast": "Entferne podcast" }, "playable": { "add-next": "Als nächstes hinzufügen", @@ -61,10 +38,7 @@ "playlist": { "add-next": "Als nächstes hinzufügen", "add": "Hinzufügen", - "path": "Pfad", "play": "Spielen", - "tracks": "Tracks", - "type": "Art", "save": { "cancel": "Abbrechen", "playlist-name": "Playlistname", @@ -74,23 +48,9 @@ } }, "queue-item": { - "album-artist": "Album-Künstler", - "album": "Album", - "bitrate": "{'|'} {rate} kbit/s", - "channels": "{'|'} {channels}", - "composer": "Komponist", - "duration": "Dauer", - "genre": "Genre", - "path": "Pfad", "play": "Spielen", - "position": "Disc / Track", - "quality": "Qualität", - "remove": "Entfernen", - "samplerate": "{'|'} {rate} Hz", - "spotify-album": "Album", - "spotify-artist": "Künstler", - "type": "Art", - "year": "Jahr" + "quality-value": "{format} {'|'} {samplerate} Hz {'|'} {channels} {'|'} {bitrate} kbit/s", + "remove": "Entfernen" }, "remote-pairing": { "cancel": "Abbrechen", @@ -98,51 +58,11 @@ "pairing-code": "Pairing-Code", "title": "Remote-Paarungs-Anfrage" }, - "spotify": { - "album": { - "album-artist": "Album-Künstler", - "release-date": "Erscheinungsdatum", - "type": "Art" - }, - "artist": { - "genres": "Genres", - "popularity": "Popularität / Followers" - }, - "playlist": { - "owner": "Besitzer", - "path": "Pfad", - "tracks": "Tracks" - }, - "track": { - "album-artist": "Album-Künstler", - "album": "Album", - "duration": "Dauer", - "path": "Pfad", - "position": "Disc / Track", - "release-date": "Erscheinungsdatum" - } - }, "track": { - "added-on": "Hinzugefügt am", - "album-artist": "Album-Künstler", - "album": "Album", - "comment": "Kommentar", - "composer": "Komponist", - "duration": "Dauer", - "genre": "Genre", "mark-as-new": "Markiere als neu", "mark-as-played": "Markiere als gespielt", - "path": "Pfad", - "position": "Disc / Track", "quality-value": "{format} {'|'} {samplerate} Hz {'|'} {channels} {'|'} {bitrate} kbit/s", - "quality": "Qualität", - "rating-value": "{rating} / 10", - "rating": "Bewertung", - "release-date": "Erscheinungsdatum", - "spotify-album": "Album", - "spotify-artist": "Künstler", - "type": "Art", - "year": "Jahr" + "rating-value": "{rating} / 10" }, "update": { "all": "Alles neu einlesen", @@ -538,6 +458,28 @@ "toggle-lyrics": "Liedtexte anzeigen/verbergen" } }, + "property": { + "added-on": "Hinzugefügt am", + "album": "Album", + "albums": "Alben", + "album-artist": "Album-Künstler", + "artist": "Album Künstler", + "comment": "Kommentar", + "composer": "Komponist", + "duration": "Dauer", + "genre": "Genre", + "genres": "Genres", + "owner": "Besitzer", + "path": "Pfad", + "popularity": "Popularität / Followers", + "position": "Disc / Track", + "quality": "Qualität", + "rating": "Bewertung", + "release-date": "Erscheinungsdatum", + "tracks": "Tracks", + "type": "Art", + "year": "Jahr" + }, "server": { "connection-failed": "Fehler bei Verbindung zum OwnTone-Server", "request-failed": "Anfrage gescheitert (Status: {status} {cause} {url})", diff --git a/web-src/src/i18n/en.json b/web-src/src/i18n/en.json index 9a8b13b4..d952f3fb 100644 --- a/web-src/src/i18n/en.json +++ b/web-src/src/i18n/en.json @@ -27,31 +27,8 @@ } }, "album": { - "added-on": "Added on", - "artist": "Album artist", - "duration": "Duration", "mark-as-played": "Mark as played", - "release-date": "Release date", - "remove-podcast": "Remove podcast", - "tracks": "Tracks", - "type": "Type", - "year": "Year" - }, - "artist": { - "added-on": "Added On", - "albums": "Albums", - "tracks": "Tracks", - "type": "Type" - }, - "composer": { - "albums": "Albums", - "duration": "Duration", - "tracks": "Tracks" - }, - "genre": { - "albums": "Albums", - "duration": "Duration", - "tracks": "Tracks" + "remove-podcast": "Remove podcast" }, "playable": { "add-next": "Add Next", @@ -62,9 +39,6 @@ "add-next": "Add Next", "add": "Add", "play": "Play", - "path": "Path", - "tracks": "Tracks", - "type": "Type", "save": { "cancel": "Cancel", "playlist-name": "Playlist name", @@ -74,23 +48,9 @@ } }, "queue-item": { - "album-artist": "Album Artist", - "album": "Album", - "bitrate": " {'|'} {rate} kbit/s", - "channels": " {'|'} {channels}", - "composer": "Composer", - "duration": "Duration", - "genre": "Genre", - "path": "Path", "play": "Play", - "position": "Disc / Track", - "quality": "Quality", - "remove": "Remove", - "samplerate": " {'|'} {rate} Hz", - "spotify-album": "album", - "spotify-artist": "artist", - "type": "Type", - "year": "Year" + "quality-value": "{format} {'|'} {samplerate} Hz {'|'} {channels} {'|'} {bitrate} kbit/s", + "remove": "Remove" }, "remote-pairing": { "cancel": "Cancel", @@ -98,51 +58,11 @@ "pairing-code": "Pairing code", "title": "Remote pairing request" }, - "spotify": { - "album": { - "album-artist": "Album Artist", - "release-date": "Release Date", - "type": "Type" - }, - "artist": { - "genres": "Genres", - "popularity": "Popularity / Followers" - }, - "playlist": { - "owner": "Owner", - "path": "Path", - "tracks": "Tracks" - }, - "track": { - "album-artist": "Album Artist", - "album": "Album", - "duration": "Duration", - "path": "Path", - "position": "Disc / Track", - "release-date": "Release Date" - } - }, "track": { - "added-on": "Added On", - "album-artist": "Album Artist", - "album": "Album", - "comment": "Comment", - "composer": "Composer", - "duration": "Duration", - "genre": "Genre", "mark-as-new": "Mark as new", "mark-as-played": "Mark as played", - "path": "Path", - "position": "Disc / Track", "quality-value": "{format} {'|'} {samplerate} Hz {'|'} {channels} {'|'} {bitrate} kbit/s", - "quality": "Quality", - "rating-value": "{rating} / 10", - "rating": "Rating", - "release-date": "Release Date", - "spotify-album": "album", - "spotify-artist": "artist", - "type": "Type", - "year": "Year" + "rating-value": "{rating} / 10" }, "update": { "all": "Update everything", @@ -538,6 +458,28 @@ "toggle-lyrics": "Toggle lyrics" } }, + "property": { + "added-on": "Added On", + "album": "Album", + "albums": "Albums", + "album-artist": "Album Artist", + "artist": "Artist", + "comment": "Comment", + "composer": "Composer", + "duration": "Duration", + "genre": "Genre", + "genres": "Genres", + "owner": "Owner", + "path": "Path", + "popularity": "Popularity / Followers", + "position": "Disc / Track", + "quality": "Quality", + "rating": "Rating", + "release-date": "Release Date", + "tracks": "Tracks", + "type": "Type", + "year": "Year" + }, "server": { "connection-failed": "Failed to connect to OwnTone server", "request-failed": "Request failed (status: {status} {cause} {url})", diff --git a/web-src/src/i18n/fr.json b/web-src/src/i18n/fr.json index 920d235a..62af3566 100644 --- a/web-src/src/i18n/fr.json +++ b/web-src/src/i18n/fr.json @@ -27,31 +27,8 @@ } }, "album": { - "added-on": "Ajouté le", - "artist": "Artiste de l’album", - "duration": "Durée", "mark-as-played": "Marquer comme lu", - "release-date": "Date de sortie", - "remove-podcast": "Supprimer le podcast", - "tracks": "Pistes", - "type": "Type", - "year": "Année" - }, - "artist": { - "added-on": "Ajouté le", - "albums": "Albums", - "tracks": "Pistes", - "type": "Type" - }, - "composer": { - "albums": "Albums", - "duration": "Durée", - "tracks": "Pistes" - }, - "genre": { - "albums": "Albums", - "duration": "Durée", - "tracks": "Pistes" + "remove-podcast": "Supprimer le podcast" }, "playable": { "add-next": "Ajouter ensuite", @@ -62,9 +39,6 @@ "add-next": "Ajouter ensuite", "add": "Ajouter", "play": "Lire", - "path": "Emplacement", - "tracks": "Pistes", - "type": "Type", "save": { "cancel": "Annuler", "playlist-name": "Nom de la liste de lecture", @@ -74,23 +48,9 @@ } }, "queue-item": { - "album-artist": "Artiste de l’album", - "album": "Album", - "bitrate": " {'|'} {rate} kbit/s", - "channels": " {'|'} {channels}", - "composer": "Compositeur", - "duration": "Durée", - "genre": "Genre", - "path": "Emplacement", "play": "Lire", - "position": "Disque / Piste", - "quality": "Qualité", - "remove": "Supprimer", - "samplerate": " {'|'} {rate} Hz", - "spotify-album": "album", - "spotify-artist": "artiste", - "type": "Type", - "year": "Année" + "quality-value": "{format} {'|'} {samplerate} Hz {'|'} {channels} {'|'} {bitrate} kbit/s", + "remove": "Supprimer" }, "remote-pairing": { "cancel": "Annuler", @@ -98,51 +58,11 @@ "pairing-code": "Code de jumelage", "title": "Demande de jumelage de télécommande" }, - "spotify": { - "album": { - "album-artist": "Artiste de l’album", - "release-date": "Date de sortie", - "type": "Type" - }, - "artist": { - "genres": "Genres", - "popularity": "Popularité / Abonnements" - }, - "playlist": { - "owner": "Propriétaire", - "path": "Emplacement", - "tracks": "Pistes" - }, - "track": { - "album-artist": "Artiste de l’album", - "album": "Album", - "duration": "Durée", - "path": "Emplacement", - "position": "Disque / Piste", - "release-date": "Date de sortie" - } - }, "track": { - "added-on": "Ajouté le", - "album-artist": "Artiste de l’album", - "album": "Album", - "comment": "Commentaire", - "composer": "Compositeur", - "duration": "Durée", - "genre": "Genre", "mark-as-new": "Marquer comme nouveau", "mark-as-played": "Marquer comme lu", - "path": "Emplacement", - "position": "Disque / Piste", "quality-value": "{format} {'|'} {samplerate} Hz {'|'} {channels} {'|'} {bitrate} kbit/s", - "quality": "Qualité", - "rating-value": "{rating} / 10", - "rating": "Classement", - "release-date": "Date de sortie", - "spotify-album": "album", - "spotify-artist": "artiste", - "type": "Type", - "year": "Année" + "rating-value": "{rating} / 10" }, "update": { "all": "Tout actualiser", @@ -538,6 +458,28 @@ "toggle-lyrics": "Voir/Cacher les paroles" } }, + "property": { + "added-on": "Ajouté le", + "album": "Album", + "albums": "Albums", + "album-artist": "Artiste de l’album", + "artist": "Artiste", + "comment": "Commentaire", + "composer": "Compositeur", + "duration": "Durée", + "genre": "Genre", + "genres": "Genres", + "owner": "Propriétaire", + "path": "Emplacement", + "popularity": "Popularité / Abonnements", + "position": "Disque / Piste", + "quality": "Qualité", + "rating": "Classement", + "release-date": "Date de sortie", + "tracks": "Pistes", + "type": "Type", + "year": "Année" + }, "server": { "connection-failed": "Échec de connexion au serveur", "request-failed": "La requête a échoué (status: {status} {cause} {url})", diff --git a/web-src/src/i18n/zh-CN.json b/web-src/src/i18n/zh-CN.json index 910e1a8b..6f19b00f 100644 --- a/web-src/src/i18n/zh-CN.json +++ b/web-src/src/i18n/zh-CN.json @@ -27,31 +27,8 @@ } }, "album": { - "added-on": "添加时间", - "artist": "专辑艺人", - "duration": "时长", "mark-as-played": "标记为已播", - "release-date": "发行日期", - "remove-podcast": "移除播客", - "tracks": "只曲目", - "type": "类型", - "year": "年份" - }, - "artist": { - "added-on": "添加时间", - "albums": "张专辑", - "tracks": "只曲目", - "type": "类型" - }, - "composer": { - "albums": "张专辑", - "duration": "时长", - "tracks": "只曲目" - }, - "genre": { - "albums": "张专辑", - "duration": "时长", - "tracks": "只曲目" + "remove-podcast": "移除播客" }, "playable": { "add-next": "插播", @@ -62,9 +39,6 @@ "add-next": "插播", "add": "添加", "play": "播放", - "path": "路径", - "tracks": "只曲目", - "type": "类型", "save": { "cancel": "取消", "playlist-name": "播放列表名称", @@ -74,23 +48,9 @@ } }, "queue-item": { - "album-artist": "专辑艺人", - "album": "专辑", - "bitrate": " {'|'} {rate} kbit/s", - "channels": " {'|'} {channels}", - "composer": "作曲家", - "duration": "时长", - "genre": "流派", - "path": "路径", "play": "播放", - "position": "盘符 / 曲目", - "quality": "质量", - "remove": "移除", - "samplerate": " {'|'} {rate} Hz", - "spotify-album": "专辑", - "spotify-artist": "艺人", - "type": "类型", - "year": "年份" + "quality-value": "{format} {'|'} {samplerate} Hz {'|'} {channels} {'|'} {bitrate} kbit/s", + "remove": "移除" }, "remote-pairing": { "cancel": "取消", @@ -98,51 +58,11 @@ "pairing-code": "配对码", "title": "请求遥控配对" }, - "spotify": { - "album": { - "album-artist": "专辑艺人", - "release-date": "发行日期", - "type": "类型" - }, - "artist": { - "genres": "流派", - "popularity": "流行度 / 粉丝数" - }, - "playlist": { - "owner": "所有者", - "path": "路径", - "tracks": "曲目" - }, - "track": { - "album-artist": "专辑艺人", - "album": "专辑", - "duration": "时长", - "path": "路径", - "position": "盘符 / 曲目", - "release-date": "发行日期" - } - }, "track": { - "added-on": "添加时间", - "album-artist": "专辑艺人", - "album": "专辑", - "comment": "评论", - "composer": "作曲家", - "duration": "时长", - "genre": "流派", "mark-as-new": "标记为最新", "mark-as-played": "标记为已播放", - "path": "路径", - "position": "盘符 / 曲目", "quality-value": "{format} {'|'} {samplerate} Hz {'|'} {channels} {'|'} {bitrate} kbit/s", - "quality": "质量", - "rating-value": "{rating} / 10", - "rating": "评级", - "release-date": "发行日期", - "spotify-album": "专辑", - "spotify-artist": "艺人", - "type": "类型", - "year": "年份" + "rating-value": "{rating} / 10" }, "update": { "all": "更新所有内容", @@ -538,6 +458,28 @@ "toggle-lyrics": "显示/隐藏歌词" } }, + "property": { + "added-on": "添加时间", + "album": "专辑", + "albums": "张专辑", + "album-artist": "专辑艺人", + "artist": "专辑艺人", + "comment": "评论", + "composer": "作曲家", + "duration": "时长", + "genre": "流派", + "genres": "流派", + "owner": "所有者", + "path": "路径", + "popularity": "流行度 / 粉丝数", + "position": "盘符 / 曲目", + "quality": "质量", + "rating": "评级", + "release-date": "发行日期", + "tracks": "只曲目", + "type": "类型", + "year": "年份" + }, "server": { "connection-failed": "无法连接到 OwnTone 服务器", "request-failed": "请求失败 (状态:{status} {cause} {url})", diff --git a/web-src/src/i18n/zh-TW.json b/web-src/src/i18n/zh-TW.json index 309ea76e..fe9b616d 100644 --- a/web-src/src/i18n/zh-TW.json +++ b/web-src/src/i18n/zh-TW.json @@ -27,31 +27,8 @@ } }, "album": { - "added-on": "新增時間", - "artist": "專輯藝人", - "duration": "時長", "mark-as-played": "標記為已播", - "release-date": "發行日期", - "remove-podcast": "移除Podcast", - "tracks": "首曲目", - "type": "類型", - "year": "年份" - }, - "artist": { - "added-on": "新增時間", - "albums": "張專輯", - "tracks": "首曲目", - "type": "類型" - }, - "composer": { - "albums": "張專輯", - "duration": "時長", - "tracks": "首曲目" - }, - "genre": { - "albums": "張專輯", - "duration": "時長", - "tracks": "首曲目" + "remove-podcast": "移除Podcast" }, "playable": { "add-next": "插播", @@ -62,9 +39,6 @@ "add-next": "插播", "add": "新增", "play": "播放", - "path": "路徑", - "tracks": "首曲目", - "type": "類型", "save": { "cancel": "取消", "playlist-name": "播放列表名稱", @@ -74,23 +48,9 @@ } }, "queue-item": { - "album-artist": "專輯藝人", - "album": "專輯", - "bitrate": " {'|'} {rate} kbit/s", - "channels": " {'|'} {channels}", - "composer": "作曲", - "duration": "時長", - "genre": "音樂類型", - "path": "路徑", "play": "播放", - "position": "盤符 / 曲目", - "quality": "品質", - "remove": "移除", - "samplerate": " {'|'} {rate} Hz", - "spotify-album": "專輯", - "spotify-artist": "藝人", - "type": "類型", - "year": "年份" + "quality-value": "{format} {'|'} {samplerate} Hz {'|'} {channels} {'|'} {bitrate} kbit/s", + "remove": "移除" }, "remote-pairing": { "cancel": "取消", @@ -98,51 +58,11 @@ "pairing-code": "配對碼", "title": "請求遙控配對" }, - "spotify": { - "album": { - "album-artist": "專輯藝人", - "release-date": "發行日期", - "type": "類型" - }, - "artist": { - "genres": "音樂類型", - "popularity": "流行度 / 粉絲數" - }, - "playlist": { - "owner": "所有者", - "path": "路徑", - "tracks": "曲目" - }, - "track": { - "album-artist": "專輯藝人", - "album": "專輯", - "duration": "時長", - "path": "路徑", - "position": "盤符 / 曲目", - "release-date": "發行日期" - } - }, "track": { - "added-on": "新增時間", - "album-artist": "專輯藝人", - "album": "專輯", - "comment": "評論", - "composer": "作曲家", - "duration": "時長", - "genre": "音樂類型", "mark-as-new": "標記為最新", "mark-as-played": "標記為已播放", - "path": "路徑", - "position": "盤符 / 曲目", "quality-value": "{format} {'|'} {samplerate} Hz {'|'} {channels} {'|'} {bitrate} kbit/s", - "quality": "品質", - "rating-value": "{rating} / 10", - "rating": "評級", - "release-date": "發行日期", - "spotify-album": "專輯", - "spotify-artist": "藝人", - "type": "類型", - "year": "年份" + "rating-value": "{rating} / 10" }, "update": { "all": "更新所有內容", @@ -538,6 +458,28 @@ "toggle-lyrics": "顯示/隱藏歌詞" } }, + "property": { + "added-on": "新增時間", + "album": "專輯", + "albums": "張專輯", + "album-artist": "專輯藝人", + "artist": "專輯藝人", + "comment": "評論", + "composer": "作曲家", + "duration": "時長", + "genre": "音樂類型", + "genres": "音樂類型", + "owner": "所有者", + "path": "路徑", + "popularity": "流行度 / 粉絲數", + "position": "盤符 / 曲目", + "quality": "品質", + "rating": "評級", + "release-date": "發行日期", + "tracks": "曲目", + "type": "類型", + "year": "年份" + }, "server": { "connection-failed": "無法連接到 OwnTone 伺服器", "request-failed": "請求失敗 (狀態:{status} {cause} {url})",