Merge branch 'upcoming' of https://github.com/ciderapp/Cider into upcoming
This commit is contained in:
commit
3b5ca7b8c8
22 changed files with 764 additions and 100 deletions
|
@ -38,6 +38,7 @@
|
|||
"electron-window-state": "^5.0.3",
|
||||
"express": "^4.17.2",
|
||||
"get-port": "^5.1.1",
|
||||
"jsonc": "^2.0.0",
|
||||
"lastfmapi": "^0.1.1",
|
||||
"mdns-js": "github:bitfocus/node-mdns-js",
|
||||
"mpris-service": "^2.1.2",
|
||||
|
@ -135,12 +136,12 @@
|
|||
"backgroundColor": "transparent",
|
||||
"setBuildNumber": true
|
||||
},
|
||||
"nsis": {
|
||||
"nsis": {
|
||||
"oneClick": false,
|
||||
"perMachine": false,
|
||||
"allowToChangeInstallationDirectory": true,
|
||||
"license": "LICENSE",
|
||||
"deleteAppDataOnUninstall": true
|
||||
"license": "LICENSE",
|
||||
"deleteAppDataOnUninstall": true
|
||||
},
|
||||
"win": {
|
||||
"target": [
|
||||
|
|
8
src/i18n/README.md
Normal file
8
src/i18n/README.md
Normal file
|
@ -0,0 +1,8 @@
|
|||
# Cider i18n
|
||||
Some notes about Cider's i18n support.
|
||||
* Localization files are stored in jsonc format aka "JSON with Comments"
|
||||
* The default language is English.
|
||||
* The default language is used for messages that are not translated.
|
||||
* Try when possible to keep the messages the similar in length to the English ones.
|
||||
* Most of the strings in the content area are provided and translated by Apple themselves, and do not need to be translated.
|
||||
* The language Apple Music uses are dependent on the storefront region.
|
|
@ -4,6 +4,12 @@
|
|||
// Dialogs
|
||||
"dialog.cancel": "Ακύρωση",
|
||||
"dialog.ok": "ΟΚ",
|
||||
|
||||
// Notification
|
||||
"notification.updatingLibrarySongs": "Ενημέρωση βιβλιοθήκης τραγουδιών...",
|
||||
"notification.updatingLibraryAlbums": "Ενημέρωση βιβλιοθήκης άλμπουμ...",
|
||||
"notification.updatingLibraryArtists": "Ενημέρωση βιβλιοθήκης καλλιτεχνών...",
|
||||
|
||||
// Terms
|
||||
"term.appleMusic": "Apple Music",
|
||||
"term.applePodcasts": "Apple Podcasts",
|
||||
|
@ -19,6 +25,9 @@
|
|||
"term.queue": "Ουρά",
|
||||
"term.search": "Εύρεση",
|
||||
"term.library": "Βιβλιοθήκη",
|
||||
"term.listenNow": "Ακρόαση",
|
||||
"term.browse": "Περιήγηση",
|
||||
"term.radio": "Ράδιο",
|
||||
"term.recentlyAdded": "Πρόσφατες Προσθήκες",
|
||||
"term.songs": "Τραγούδια",
|
||||
"term.albums": "Άλμπουμ",
|
||||
|
@ -38,6 +47,27 @@
|
|||
"term.share": "Κοινή Χρήση",
|
||||
"term.settings": "Ρυθμίσεις",
|
||||
"term.seeAll": "Προβολή Όλων",
|
||||
"term.sortBy": "Ταξινόμηση Κατά",
|
||||
"term.sortBy.album": "Άλμπουμ",
|
||||
"term.sortBy.artist": "Καλλιτέχνη",
|
||||
"term.sortBy.name": "Όνομα",
|
||||
"term.sortBy.genre": "Είδος",
|
||||
"term.sortBy.releaseDate": "Ημερομηνία Κυκλοφορίας",
|
||||
"term.sortBy.duration": "Διάρκεια",
|
||||
"term.sortOrder": "Α-Ω",
|
||||
"term.sortOrder.ascending": "Αύξουσα",
|
||||
"term.sortOrder.descending": "Φθίνουσα",
|
||||
"term.viewAs": "Προβολή Ως",
|
||||
"term.viewAs.coverArt": "Εξώφυλλο",
|
||||
"term.viewAs.list": "Λίστα",
|
||||
"term.size.normal": "Κανονικό",
|
||||
"term.size.compact": "Συμπαγή",
|
||||
"term.enable": "Ενεργοποίηση",
|
||||
"term.disable": "Απενεργοποίηση",
|
||||
"term.enabled": "Ενεργοποιημένο",
|
||||
"term.disabled": "Απενεργοποιημένο",
|
||||
"term.connect": "Σύνδεση",
|
||||
|
||||
// Home
|
||||
"home.title": "Αρχική",
|
||||
"home.recentlyPlayed": "Έπαιξαν Πρόσφατα",
|
||||
|
@ -48,6 +78,7 @@
|
|||
"home.followedArtists": "Καλλιτέχνες που Ακολουθείτε",
|
||||
// Errors
|
||||
"error.appleMusicSubRequired": "Το Apple Music απαιτεί μια συνδρομή.",
|
||||
|
||||
// Actions
|
||||
"action.addToLibrary": "Προσθήκη στη Βιβλιοθήκη",
|
||||
"action.addToLibrary.success": "Προστέθηκε στη Βιβλιοθήκη",
|
||||
|
@ -60,6 +91,8 @@
|
|||
"action.removeFromQueue": "Αφαίρεση από την Ουρά",
|
||||
"action.removeFromQueue.success": "Αφαιρέθηκε από την Ουρά",
|
||||
"action.removeFromQueue.error": "Σφάλμα Αφαίρεσης από την Ουρά",
|
||||
"action.addToPlaylist": "Προσθήκη σε Λίστα",
|
||||
"action.addToFavorites": "Προσθήκη στα Αγαπημένα",
|
||||
"action.follow": "Ακολούθηση",
|
||||
"action.follow.success": "Ακολουθήθηκε",
|
||||
"action.follow.error": "Σφάλμα Ακολούθησης",
|
||||
|
@ -68,28 +101,82 @@
|
|||
"action.unfollow.error": "Σφάλμα Διακοπής Ακολούθησης ",
|
||||
"action.playNext": "Αναπαραγωγή ως Επόμενου",
|
||||
"action.playLater": "Αναπαραγωγή Αργότερα",
|
||||
"action.startRadio": "Έναρξη Σταθμού",
|
||||
"action.startRadio": "Έναρξη Ραδιοφώνου",
|
||||
"action.goToArtist": "Μετάβαση σε Καλλιτέχνη",
|
||||
"action.goToAlbum": "Μετάβαση σε Άλμπουμ",
|
||||
"action.moveToTop": "Μετακίνηση στη κορυφή",
|
||||
"action.share": "Κοινή Χρήση",
|
||||
"action.rename": "Μετονομασία",
|
||||
"action.love": "Μου αρέσει πολύ",
|
||||
"action.unlove": "Αναίρεση \"Μου Αρέσει\"",
|
||||
"action.dislike": "Δεν μου αρέσει",
|
||||
"action.undoDislike": "Αναίρεση \"Δεν μου αρέσει\"",
|
||||
// Settings
|
||||
"action.showWebRemoteQR": "Εμφάνιση Web Remote QR",
|
||||
// Settings - Audio
|
||||
"settings.header.audio": "Ήχος",
|
||||
"settings.header.audio.description": "Προσαρμογή ρυθμίσεων ήχου για το Cider.",
|
||||
"settings.option.audio.quality": "Ποιότητα Ήχου", // Dropdown
|
||||
"settings.header.audio.quality.high": "Υψηλή",
|
||||
"settings.header.audio.quality.low": "Χαμηλή",
|
||||
"settings.header.audio.quality.auto": "Αυτόματη",
|
||||
"settings.option.audio.seamlessTransition": "Αδιάκοπη Μετάβαση Ήχου", // Toggle
|
||||
"settings.option.audio.enableAdvancedFunctionality": "Ενεργοποίηση Προηγμένης Λειτουργικότητας", // Toggle
|
||||
"settings.option.audio.enableAdvancedFunctionality.description": "Ενεργοποιώντας τη λειτουργικότητα AudioContext θα επιτρέψει σε επεκταμένες δυνατότητες ήχου όπως Κανονικοποίηση Έντασης Ήχου, Ισοσταθμιστές και Οπτικοποιητές, ωστόσο σε κάποια συστήματα μπορεί να προκαλέσει τραύλισμα ήχου.",
|
||||
"settings.option.audio.enableAdvancedFunctionality.audioNormalization": "Κανονικοποίηση Έντασης Ήχου", // Toggle
|
||||
"settings.option.audio.enableAdvancedFunctionality.audioNormalization.description": "Κανονικοποιεί την ένταση για μεμονωμένα κομμάτια για μια πιο ομοιόμορφη εμπειρία ακρόασης.",
|
||||
"settings.option.audio.enableAdvancedFunctionality.audioSpatialization": "Χωρικοποίηση Ήχου", // Toggle
|
||||
"settings.option.audio.enableAdvancedFunctionality.audioSpatialization.description": "Πιο τρισδιάστατος και χωρικοποιημένος ήχος (σημείωση: Αυτό δεν είναι Dolby Atmos)",
|
||||
// Settings - Visual
|
||||
"settings.header.visual": "Οπτικά",
|
||||
"settings.header.visual.description": "Προσαρμογή οπτικών ρυθμίσεων για το Cider.",
|
||||
"settings.option.visual.windowBackgroundStyle": "Στυλ Φόντου Παραθύρου", // Toggle
|
||||
"settings.header.visual.windowBackgroundStyle.none": "Κανένα",
|
||||
"settings.header.visual.windowBackgroundStyle.artwork": "Εξώφυλλο",
|
||||
"settings.option.visual.animatedArtwork": "Κινούμενο Εξώφυλλο", // Dropdown
|
||||
"settings.header.visual.animatedArtwork.always": "Πάντα",
|
||||
"settings.header.visual.animatedArtwork.limited": "Περιορισμός σε σελίδες και ειδικές καταχωρήσεις",
|
||||
"settings.header.visual.animatedArtwork.disable": "Απενεργοποιημένο παντού",
|
||||
"settings.option.visual.animatedArtworkQuality": "Ποιότητα Κινούμενου Εξωφύλλου", // Dropdown
|
||||
"settings.header.visual.animatedArtworkQuality.low": "Χαμηλή",
|
||||
"settings.header.visual.animatedArtworkQuality.medium": "Μέτρια",
|
||||
"settings.header.visual.animatedArtworkQuality.high": "Υψηλή",
|
||||
"settings.header.visual.animatedArtworkQuality.extreme": "Πολύ Υψηλή",
|
||||
"settings.option.visual.animatedWindowBackground": "Κινούμενο Φόντο Παραθύρου", // Toggle
|
||||
"settings.option.visual.hardwareAcceleration": "Επιτάχυνση Υλικού", // Dropdown
|
||||
"settings.header.visual.hardwareAcceleration.default": "Προεπιλογή",
|
||||
"settings.header.visual.hardwareAcceleration.webGPU": "WebGPU",
|
||||
// Refer to term.disabled for the disabled option
|
||||
"settings.option.visual.showPersonalInfo": "Εμφάνιση Προσωπικών Στοιχείων", // Toggle
|
||||
// Settings - General (Reserved)
|
||||
"settings.header.general": "Γενικά",
|
||||
"settings.header.general.description": "Προσαρμογή γενικών ρυθμίσεων για το Cider.",
|
||||
|
||||
// Settings - Lyrics
|
||||
"settings.header.lyrics": "Στίχοι",
|
||||
"settings.header.lyrics.description": "Προσαρμογή ρυθμίσεων στίχων για το Cider.",
|
||||
"settings.option.lyrics.enableMusixmatch": "Ενεργοποίηση Στίχων Musixmatch", // Toggle
|
||||
"settings.option.lyrics.enableMusixmatchKaraoke": "Ενεργοποίηση Λειτουργίας Καραόκε (Musixmatch μόνο)", // Toggle
|
||||
"settings.option.lyrics.musixmatchPreferredLanguage": "Προτιμώμενη Γλώσσα Μετάφρασης Musixmatch", // Dropdown
|
||||
"settings.option.lyrics.enableYoutubeLyrics": "Ενεργοποίηση Στίχων Youtube για Μουσικά Βίντεο", // Toggle
|
||||
|
||||
// Settings - Connectivity
|
||||
"settings.header.connectivity": "Σύνδεση",
|
||||
"settings.header.connectivity.description": "Προσαρμογή ρυθμίσεων σύνδεσης για το Cider.",
|
||||
"settings.option.connectivity.discordRPC": "Discord Rich Presence", // Dropdown
|
||||
// Refer to term.disabled for the disabled option
|
||||
"settings.header.connectivity.discordRPC.cider": "Εμφάνιση ως 'Cider'",
|
||||
"settings.header.connectivity.discordRPC.appleMusic": "Εμφάνιση ως 'Apple Music'",
|
||||
"settings.header.connectivity.discordRPC.clearOnPause": "Εκκαθάριση του Discord Rich Presence στην Παύση", // Toggle
|
||||
"settings.option.connectivity.lastfmScrobble": "LastFM Scrobbling", // Option to Connect
|
||||
// Refer to term.connect for the connect button
|
||||
|
||||
// Settings - Experimental
|
||||
"settings.header.experimental": "Πειραματικές",
|
||||
"settings.header.experimental.description": "Προσαρμογή πειραματικών ρυθμίσεων για το Cider."
|
||||
}
|
||||
"settings.header.experimental.description": "Προσαρμογή πειραματικών ρυθμίσεων για το Cider.",
|
||||
"settings.option.experimental.compactUI": "Συμπαγής Διεπαφή", // Toggle
|
||||
// Refer to term.disabled & term.enabled
|
||||
|
||||
// Web Remote
|
||||
"remote.web.title": "Cider Remote",
|
||||
"remote.web.description": "Σαρώστε τον κωδικό QR για σύζευξη του Cider με το κινητό σας"
|
||||
}
|
||||
|
|
3
src/i18n/en_GB.jsonc
Normal file
3
src/i18n/en_GB.jsonc
Normal file
|
@ -0,0 +1,3 @@
|
|||
{
|
||||
"home.friendsListeningTo": "Bruv's Listening To"
|
||||
}
|
|
@ -1,9 +1,15 @@
|
|||
{
|
||||
{ // Base File
|
||||
// App info
|
||||
"app.name": "Cider",
|
||||
// Dialogs
|
||||
"dialog.cancel": "Cancel",
|
||||
"dialog.ok": "OK",
|
||||
|
||||
// Notification
|
||||
"notification.updatingLibrarySongs": "Updating library songs...",
|
||||
"notification.updatingLibraryAlbums": "Updating library albums...",
|
||||
"notification.updatingLibraryArtists": "Updating library artists...",
|
||||
|
||||
// Terms
|
||||
"term.appleMusic": "Apple Music",
|
||||
"term.applePodcasts": "Apple Podcasts",
|
||||
|
@ -19,6 +25,9 @@
|
|||
"term.queue": "Queue",
|
||||
"term.search": "Search",
|
||||
"term.library": "Library",
|
||||
"term.listenNow": "Listen Now",
|
||||
"term.browse": "Browse",
|
||||
"term.radio": "Radio",
|
||||
"term.recentlyAdded": "Recently Added",
|
||||
"term.songs": "Songs",
|
||||
"term.albums": "Albums",
|
||||
|
@ -38,6 +47,27 @@
|
|||
"term.share": "Share",
|
||||
"term.settings": "Settings",
|
||||
"term.seeAll": "See All",
|
||||
"term.sortBy": "Sort By",
|
||||
"term.sortBy.album": "Album",
|
||||
"term.sortBy.artist": "Artist",
|
||||
"term.sortBy.name": "Name",
|
||||
"term.sortBy.genre": "Genre",
|
||||
"term.sortBy.releaseDate": "Release Date",
|
||||
"term.sortBy.duration": "Duration",
|
||||
"term.sortOrder": "A-Z",
|
||||
"term.sortOrder.ascending": "Ascending",
|
||||
"term.sortOrder.descending": "Descending",
|
||||
"term.viewAs": "View As",
|
||||
"term.viewAs.coverArt": "Cover Art",
|
||||
"term.viewAs.list": "List",
|
||||
"term.size.normal": "Normal",
|
||||
"term.size.compact": "Compact",
|
||||
"term.enable": "Enable",
|
||||
"term.disable": "Disable",
|
||||
"term.enabled": "Enabled",
|
||||
"term.disabled": "Disabled",
|
||||
"term.connect": "Connect",
|
||||
|
||||
// Home
|
||||
"home.title": "Home",
|
||||
"home.recentlyPlayed": "Recently Played",
|
||||
|
@ -48,6 +78,7 @@
|
|||
"home.followedArtists": "Followed Artists",
|
||||
// Errors
|
||||
"error.appleMusicSubRequired": "Apple Music requires a subscription.",
|
||||
|
||||
// Actions
|
||||
"action.addToLibrary": "Add to Library",
|
||||
"action.addToLibrary.success": "Added to Library",
|
||||
|
@ -60,6 +91,8 @@
|
|||
"action.removeFromQueue": "Remove from Queue",
|
||||
"action.removeFromQueue.success": "Removed from Queue",
|
||||
"action.removeFromQueue.error": "Error Removing from Queue",
|
||||
"action.addToPlaylist": "Add to Playlist",
|
||||
"action.addToFavorites": "Add to Favorites",
|
||||
"action.follow": "Follow",
|
||||
"action.follow.success": "Followed",
|
||||
"action.follow.error": "Error Following",
|
||||
|
@ -71,25 +104,79 @@
|
|||
"action.startRadio": "Start Radio",
|
||||
"action.goToArtist": "Go to Artist",
|
||||
"action.goToAlbum": "Go to Album",
|
||||
"action.moveToTop": "Move to top",
|
||||
"action.share": "Share",
|
||||
"action.rename": "Rename",
|
||||
"action.love": "Love",
|
||||
"action.unlove": "Unlove",
|
||||
"action.dislike": "Dislike",
|
||||
"action.undoDislike": "Undo dislike",
|
||||
// Settings
|
||||
"action.showWebRemoteQR": "Show Web Remote QR",
|
||||
// Settings - Audio
|
||||
"settings.header.audio": "Audio",
|
||||
"settings.header.audio.description": "Adjust the audio settings for Cider.",
|
||||
"settings.option.audio.quality": "Audio Quality", // Dropdown
|
||||
"settings.header.audio.quality.high": "High",
|
||||
"settings.header.audio.quality.low": "Low",
|
||||
"settings.header.audio.quality.auto": "Auto",
|
||||
"settings.header.visual": "Visual",
|
||||
"settings.option.audio.seamlessTransition": "Seamless Audio Transition", // Toggle
|
||||
"settings.option.audio.enableAdvancedFunctionality": "Enable Advanced Functionality", // Toggle
|
||||
"settings.option.audio.enableAdvancedFunctionality.description": "Enabling AudioContext functionality will allow for extended audio features like Audio Normalization , Equalizers and Visualizers, however on some systems this may cause stuttering in audio tracks.",
|
||||
"settings.option.audio.enableAdvancedFunctionality.audioNormalization": "Audio Normalization", // Toggle
|
||||
"settings.option.audio.enableAdvancedFunctionality.audioNormalization.description": "Normalizes peak volume for individual tracks to create a more uniform listening experience.",
|
||||
"settings.option.audio.enableAdvancedFunctionality.audioSpatialization": "Audio Spatialization", // Toggle
|
||||
"settings.option.audio.enableAdvancedFunctionality.audioSpatialization.description": "Spatialize audio and make audio more 3-dimensional (note: This is not Dolby Atmos)",
|
||||
// Settings - Visual
|
||||
"settings.header.visual": "Visual",
|
||||
"settings.header.visual.description": "Adjust the visual settings for Cider.",
|
||||
"settings.option.visual.windowBackgroundStyle": "Window Background Style", // Toggle
|
||||
"settings.header.visual.windowBackgroundStyle.none": "None",
|
||||
"settings.header.visual.windowBackgroundStyle.artwork": "Artwork",
|
||||
"settings.option.visual.animatedArtwork": "Animated Artwork", // Dropdown
|
||||
"settings.header.visual.animatedArtwork.always": "Always",
|
||||
"settings.header.visual.animatedArtwork.limited": "Limited to pages and special entries",
|
||||
"settings.header.visual.animatedArtwork.disable": "Disable everywhere",
|
||||
"settings.option.visual.animatedArtworkQuality": "Animated Artwork Quality", // Dropdown
|
||||
"settings.header.visual.animatedArtworkQuality.low": "Low",
|
||||
"settings.header.visual.animatedArtworkQuality.medium": "Medium",
|
||||
"settings.header.visual.animatedArtworkQuality.high": "High",
|
||||
"settings.header.visual.animatedArtworkQuality.extreme": "Extreme",
|
||||
"settings.option.visual.animatedWindowBackground": "Animated Window Background", // Toggle
|
||||
"settings.option.visual.hardwareAcceleration": "Hardware Acceleration", // Dropdown
|
||||
"settings.header.visual.hardwareAcceleration.default": "Default",
|
||||
"settings.header.visual.hardwareAcceleration.webGPU": "WebGPU",
|
||||
// Refer to term.disabled for the disabled option
|
||||
"settings.option.visual.showPersonalInfo": "Show Personal Info", // Toggle
|
||||
// Settings - General (Reserved)
|
||||
"settings.header.general": "General",
|
||||
"settings.header.general.description": "Adjust the general settings for Cider.",
|
||||
|
||||
// Settings - Lyrics
|
||||
"settings.header.lyrics": "Lyrics",
|
||||
"settings.header.lyrics.description": "Adjust the lyrics settings for Cider.",
|
||||
"settings.option.lyrics.enableMusixmatch": "Enable Musixmatch Lyrics", // Toggle
|
||||
"settings.option.lyrics.enableMusixmatchKaraoke": "Enable Karaoke Mode (Musixmatch only)", // Toggle
|
||||
"settings.option.lyrics.musixmatchPreferredLanguage": "Musixmatch Translation Preferred Language", // Dropdown
|
||||
"settings.option.lyrics.enableYoutubeLyrics": "Enable Youtube Lyrics for Music Videos", // Toggle
|
||||
|
||||
// Settings - Connectivity
|
||||
"settings.header.connectivity": "Connectivity",
|
||||
"settings.header.connectivity.description": "Adjust the connectivity settings for Cider.",
|
||||
"settings.option.connectivity.discordRPC": "Discord Rich Presence", // Dropdown
|
||||
// Refer to term.disabled for the disabled option
|
||||
"settings.header.connectivity.discordRPC.cider": "Display as 'Cider'",
|
||||
"settings.header.connectivity.discordRPC.appleMusic": "Display as 'Apple Music'",
|
||||
"settings.header.connectivity.discordRPC.clearOnPause": "Clear Discord Rich Presence on Pause", // Toggle
|
||||
"settings.option.connectivity.lastfmScrobble": "LastFM Scrobbling", // Option to Connect
|
||||
// Refer to term.connect for the connect button
|
||||
|
||||
// Settings - Experimental
|
||||
"settings.header.experimental": "Experimental",
|
||||
"settings.header.experimental.description": "Adjust the experimental settings for Cider.",
|
||||
"settings.option.experimental.compactUI": "Compact UI", // Toggle
|
||||
// Refer to term.disabled & term.enabled
|
||||
|
||||
// Web Remote
|
||||
"remote.web.title": "Cider Remote",
|
||||
"remote.web.description": "Scan the QR code to pair your phone up with this Cider instance"
|
||||
}
|
|
@ -4,6 +4,12 @@
|
|||
// Dialogs
|
||||
"dialog.cancel": "キャンセル",
|
||||
"dialog.ok": "OK",
|
||||
|
||||
// Notification
|
||||
"notification.updatingLibrarySongs": "ライブラリの更新中...",
|
||||
"notification.updatingLibraryAlbums": "ライブラリの更新中...",
|
||||
"notification.updatingLibraryArtists": "ライブラリの更新中...",
|
||||
|
||||
// Terms
|
||||
"term.appleMusic": "Apple Music", // Follows brand term
|
||||
"term.applePodcasts": "Apple Podcasts", // Follows brand term
|
||||
|
@ -14,7 +20,7 @@
|
|||
"term.accountSettings": "アカウント設定",
|
||||
"term.logout": "サインアウト",
|
||||
"term.login": "サインイン",
|
||||
"term.about": "アプリについて",
|
||||
"term.about": "Ciderについて",
|
||||
"term.privateSession": "プライベートセッション",
|
||||
"term.queue": "次はこちら",
|
||||
"term.search": "検索",
|
||||
|
@ -37,7 +43,28 @@
|
|||
"term.unmute": "ミュート解除",
|
||||
"term.share": "共有",
|
||||
"term.settings": "設定",
|
||||
"term.seeAll": "全部表示",
|
||||
"term.seeAll": "すべてを表示",
|
||||
"term.sortBy": "並べ替え",
|
||||
"term.sortBy.album": "アルバム",
|
||||
"term.sortBy.artist": "アーティスト",
|
||||
"term.sortBy.name": "曲名",
|
||||
"term.sortBy.genre": "ジャンル",
|
||||
"term.sortBy.releaseDate": "配信開始日",
|
||||
"term.sortBy.duration": "時間",
|
||||
"term.sortOrder": "アルファベット順",
|
||||
"term.sortOrder.ascending": "A-Z順",
|
||||
"term.sortOrder.descending": "Z-A順",
|
||||
"term.viewAs": "表示",
|
||||
"term.viewAs.coverArt": "カバーアート",
|
||||
"term.viewAs.list": "リスト",
|
||||
"term.size.normal": "普通",
|
||||
"term.size.compact": "コンパクト",
|
||||
"term.enable": "ON",
|
||||
"term.disable": "OFF",
|
||||
"term.enabled": "ON",
|
||||
"term.disabled": "OFF",
|
||||
"term.connect": "接続",
|
||||
|
||||
// Home
|
||||
"home.title": "ホーム",
|
||||
"home.recentlyPlayed": "最近の再生",
|
||||
|
@ -51,7 +78,7 @@
|
|||
// Actions
|
||||
"action.addToLibrary": "ライブラリに追加",
|
||||
"action.addToLibrary.success": "ライブラリに追加されました",
|
||||
"action.addToLibrary.error": "ついか",
|
||||
"action.addToLibrary.error": "ライブラリへの追加に失敗しました",
|
||||
"action.removeFromLibrary": "ライブラリから削除",
|
||||
"action.removeFromLibrary.success": "ライブラリから削除されました",
|
||||
"action.addToQueue": "キューに追加",
|
||||
|
@ -76,20 +103,73 @@
|
|||
"action.unlove": "ラブを解除",
|
||||
"action.dislike": "これに似たものをすすめない",
|
||||
"action.undoDislike": "「これと似た曲のおすすめを減らす」を取り消す",
|
||||
// Settings
|
||||
"action.showWebRemoteQR": "WEBリモコンQRコードを表示",
|
||||
// Settings - Audio
|
||||
"settings.header.audio": "オーディオ",
|
||||
"settings.header.audio.description": "Ciderのオーディオ設定",
|
||||
"settings.option.audio.quality": "音質", // Dropdown
|
||||
"settings.header.audio.quality.high": "高品質",
|
||||
"settings.header.audio.quality.low": "高効率",
|
||||
"settings.header.audio.quality.auto": "自動",
|
||||
"settings.option.audio.seamlessTransition": "曲間なしで再生", // Toggle
|
||||
"settings.option.audio.enableAdvancedFunctionality": "先進的な機能", // Toggle
|
||||
"settings.option.audio.enableAdvancedFunctionality.description": "AudioContext 機能を有効にすると、オーディオノーマライズ、空間オーディオ、イコライザーなどの機能を使用できますが、音が途切れるかもしれません。", // Toggle
|
||||
"settings.option.audio.enableAdvancedFunctionality.audioNormalization": "オーディオノーマライズ", // Toggle
|
||||
"settings.option.audio.enableAdvancedFunctionality.audioNormalization.description": "さまざまな曲の音量を均一にし、より整った音を楽しめるようにする機能です。",
|
||||
"settings.option.audio.enableAdvancedFunctionality.audioSpatialization": "オーディオ空間化", // Toggle
|
||||
"settings.option.audio.enableAdvancedFunctionality.audioSpatialization.description": "オーディオを空間に分散させる機能です。 (ドルビーアトモスではありません)",
|
||||
// Settings - Visual
|
||||
"settings.header.visual": "ビジュアル",
|
||||
"settings.header.visual.description": "Ciderのビジュアル設定",
|
||||
"settings.option.visual.windowBackgroundStyle": "アプリウインドウの背景スタイル", // Toggle
|
||||
"settings.header.visual.windowBackgroundStyle.none": "なし",
|
||||
"settings.header.visual.windowBackgroundStyle.artwork": "アートワーク",
|
||||
"settings.option.visual.animatedArtwork": "アニメーションアートワーク", // Dropdown
|
||||
"settings.header.visual.animatedArtwork.always": "常に表示",
|
||||
"settings.header.visual.animatedArtwork.limited": "アーティストページのみ表示",
|
||||
"settings.header.visual.animatedArtwork.disable": "オフ",
|
||||
"settings.option.visual.animatedArtworkQuality": "アニメーションアートワークの品質", // Dropdown
|
||||
"settings.header.visual.animatedArtworkQuality.low": "低",
|
||||
"settings.header.visual.animatedArtworkQuality.medium": "標準",
|
||||
"settings.header.visual.animatedArtworkQuality.high": "高",
|
||||
"settings.header.visual.animatedArtworkQuality.extreme": "最高",
|
||||
"settings.option.visual.animatedWindowBackground": "アプリウィンドウの背景をアニメーション化", // Toggle
|
||||
"settings.option.visual.hardwareAcceleration": "ハードウェア アクセラレーション", // Dropdown
|
||||
"settings.header.visual.hardwareAcceleration.default": "既定",
|
||||
"settings.header.visual.hardwareAcceleration.webGPU": "WebGPU",
|
||||
// Refer to term.disabled for the disabled option
|
||||
"settings.option.visual.showPersonalInfo": "プロフィールを表示", // Toggle
|
||||
// Settings - General (Reserved)
|
||||
"settings.header.general": "一般",
|
||||
"settings.header.general.description": "Ciderの一般設定",
|
||||
|
||||
// Settings - Lyrics
|
||||
"settings.header.lyrics": "歌詞",
|
||||
"settings.header.lyrics.description": "歌詞の表示設定",
|
||||
"settings.option.lyrics.enableMusixmatch": "Musixmatchで歌詞を表示する", // Toggle
|
||||
"settings.option.lyrics.enableMusixmatchKaraoke": "カラオケモードを有効にする (Musixmatchのみ)", // Toggle
|
||||
"settings.option.lyrics.musixmatchPreferredLanguage": "歌詞の優先言語", // Dropdown
|
||||
"settings.option.lyrics.enableYoutubeLyrics": "YouTubeの歌詞をミュージックビデオに使用する", // Toggle
|
||||
|
||||
// Settings - Connectivity
|
||||
"settings.header.connectivity": "アプリと連携",
|
||||
"settings.header.connectivity.description": "Ciderの連携設定",
|
||||
"settings.option.connectivity.discordRPC": "Discord Rich Presence", // Dropdown
|
||||
// Refer to term.disabled for the disabled option
|
||||
"settings.header.connectivity.discordRPC.cider": "'Cider' を表示する",
|
||||
"settings.header.connectivity.discordRPC.appleMusic": "'Apple Music' を表示する",
|
||||
"settings.header.connectivity.discordRPC.clearOnPause": "一時停止時にDiscord Rich Presenceをクリアする", // Toggle
|
||||
"settings.option.connectivity.lastfmScrobble": "LastFM Scrobbling", // Option to Connect
|
||||
// Refer to term.connect for the connect button
|
||||
|
||||
// Settings - Experimental
|
||||
"settings.header.experimental": "試験的な機能",
|
||||
"settings.header.experimental.description": "Ciderの試験的な機能",
|
||||
}
|
||||
"settings.header.experimental.description": "開発中の実験的な機能は不完全で不安定である可能性があります",
|
||||
"settings.option.experimental.compactUI": "コンパクトインターフェース", // Toggle
|
||||
// Refer to term.disabled & term.enabled
|
||||
|
||||
// Web Remote
|
||||
"remote.web.title": "Cider リモート",
|
||||
"remote.web.description": "QRコードを使用して、Ciderとスマートフォンをペアリングする",
|
||||
|
||||
}
|
||||
|
|
|
@ -91,5 +91,5 @@
|
|||
"settings.header.connectivity": "Diğer Servisler",
|
||||
"settings.header.connectivity.description": "Cider'i diğer servislere bağlayarak deneyiminizi zenginleştirin.",
|
||||
"settings.header.experimental": "Deneysel",
|
||||
"settings.header.experimental.description": "Cider'deki deneysel özelliklere erişim sağlayın. (Not: Bazı özellikler düzgün çalışmayabilir.)",
|
||||
"settings.header.experimental.description": "Cider'deki deneysel özelliklere erişim sağlayın. (Not: Bazı özellikler düzgün çalışmayabilir.)"
|
||||
}
|
|
@ -1,9 +1,15 @@
|
|||
{
|
||||
{
|
||||
// App info
|
||||
"app.name": "Cider",
|
||||
// Dialogs
|
||||
"dialog.cancel": "取消",
|
||||
"dialog.ok": "确定",
|
||||
|
||||
// Notification
|
||||
"notification.updatingLibrarySongs": "正在更新资料库的歌曲信息...",
|
||||
"notification.updatingLibraryAlbums": "正在更新资料库的专辑信息...",
|
||||
"notification.updatingLibraryArtists": "正在更新资料库的艺人信息...",
|
||||
|
||||
// Terms
|
||||
"term.appleMusic": "Apple Music", // Follows brand term
|
||||
"term.applePodcasts": "Apple Podcasts", // Follows brand term
|
||||
|
@ -18,11 +24,11 @@
|
|||
"term.privateSession": "私人聆听",
|
||||
"term.queue": "队列",
|
||||
"term.search": "搜索",
|
||||
"term.library": "音乐库",
|
||||
"term.library": "资料库",
|
||||
"term.recentlyAdded": "最近添加",
|
||||
"term.songs": "歌曲",
|
||||
"term.albums": "专辑",
|
||||
"term.artists": "歌手",
|
||||
"term.artists": "艺人",
|
||||
"term.podcasts": "播客",
|
||||
"term.playlists": "播放列表",
|
||||
"term.playlist": "播放列表",
|
||||
|
@ -38,22 +44,45 @@
|
|||
"term.share": "分享",
|
||||
"term.settings": "设置",
|
||||
"term.seeAll": "查看全部",
|
||||
"term.sortBy": "排序",
|
||||
"term.sortBy.album": "专辑",
|
||||
"term.sortBy.artist": "艺人",
|
||||
"term.sortBy.name": "歌名",
|
||||
"term.sortBy.genre": "类型",
|
||||
"term.sortBy.releaseDate": "发行日期",
|
||||
"term.sortBy.duration": "时长",
|
||||
"term.sortOrder": "字母排序",
|
||||
"term.sortOrder.ascending": "升序",
|
||||
"term.sortOrder.descending": "倒序",
|
||||
"term.viewAs": "显示模式",
|
||||
"term.viewAs.coverArt": "专辑封面",
|
||||
"term.viewAs.list": "列表",
|
||||
"term.size.normal": "正常",
|
||||
"term.size.compact": "紧凑",
|
||||
"term.enable": "启用",
|
||||
"term.disable": "禁用",
|
||||
"term.enabled": "已启用",
|
||||
"term.disabled": "已禁用",
|
||||
"term.connect": "连接",
|
||||
|
||||
// Home
|
||||
"home.title": "主页",
|
||||
"home.recentlyPlayed": "最近播放",
|
||||
"home.recentlyAdded": "最近添加",
|
||||
"home.artistsFeed": "您的歌手推荐",
|
||||
"home.madeForYou": "为您量身定制",
|
||||
"home.artistsFeed": "艺人推荐",
|
||||
"home.madeForYou": "专属推荐",
|
||||
"home.friendsListeningTo": "朋友正在听",
|
||||
"home.followedArtists": "关注的歌手",
|
||||
"home.followedArtists": "关注的艺人",
|
||||
|
||||
// Errors
|
||||
"error.appleMusicSubRequired": "需要订阅Apple Music以使用Cider",
|
||||
"error.appleMusicSubRequired": "需要订阅 Apple Music 以使用 Cider",
|
||||
|
||||
// Actions
|
||||
"action.addToLibrary": "加入音乐库",
|
||||
"action.addToLibrary.success": "成功加入音乐库",
|
||||
"action.addToLibrary.error": "加入音乐库的过程发生了错误",
|
||||
"action.removeFromLibrary": "从音乐库中移除",
|
||||
"action.removeFromLibrary.success": "已从音乐库中移除",
|
||||
"action.addToLibrary": "加入资料库",
|
||||
"action.addToLibrary.success": "成功加入资料库",
|
||||
"action.addToLibrary.error": "加入资料库的过程发生了错误",
|
||||
"action.removeFromLibrary": "从资料库中移除",
|
||||
"action.removeFromLibrary.success": "已从资料库中移除",
|
||||
"action.addToQueue": "加入队列",
|
||||
"action.addToQueue.success": "成功加入队列",
|
||||
"action.addToQueue.error": "加入队列的过程发生了错误",
|
||||
|
@ -69,27 +98,79 @@
|
|||
"action.playNext": "下一首播放",
|
||||
"action.playLater": "最后播放",
|
||||
"action.startRadio": "开始电台",
|
||||
"action.goToArtist": "前往歌手",
|
||||
"action.goToArtist": "前往艺人",
|
||||
"action.goToAlbum": "前往专辑",
|
||||
"action.share": "分享歌曲",
|
||||
"action.love": "喜欢",
|
||||
"action.unlove": "取消喜欢",
|
||||
"action.unlove": "踩",
|
||||
"action.dislike": "减少此类建议",
|
||||
"action.undoDislike": "撤销减少此类建议",
|
||||
// Settings
|
||||
"action.undoDislike": "增加此类建议",
|
||||
"action.showWebRemoteQR": "显示远程控制的二维码",
|
||||
// Settings - Audio
|
||||
"settings.header.audio": "音频",
|
||||
"settings.header.audio.description": "调整Cider的音质",
|
||||
"settings.header.audio.description": "调整 Cider 的音频设置",
|
||||
"settings.option.audio.quality": "音质", // Dropdown
|
||||
"settings.header.audio.quality.high": "高音质",
|
||||
"settings.header.audio.quality.low": "高效率",
|
||||
"settings.header.audio.quality.auto": "自动",
|
||||
"settings.option.audio.seamlessTransition": "无缝播放", // Toggle
|
||||
"settings.option.audio.enableAdvancedFunctionality": "进阶功能", // Toggle
|
||||
"settings.option.audio.enableAdvancedFunctionality.description": "启用 AudioContext 将解锁例如音量标准化和音频空间化的功能,但可能会在小部分设备上出现音频上的卡顿。",
|
||||
"settings.option.audio.enableAdvancedFunctionality.audioNormalization": "音量标准化", // Toggle
|
||||
"settings.option.audio.enableAdvancedFunctionality.audioNormalization.description": "使所感知到的音频响度统一",
|
||||
"settings.option.audio.enableAdvancedFunctionality.audioSpatialization": "音频空间化", // Toggle
|
||||
"settings.option.audio.enableAdvancedFunctionality.audioSpatialization.description": "使所感知到的音频更有立体感 (注: 这不是杜比全景声)",
|
||||
// Settings - Visual
|
||||
"settings.header.visual": "外观",
|
||||
"settings.header.visual.description": "调整Cider的外观",
|
||||
"settings.header.visual.description": "调整 Cider 的外观",
|
||||
"settings.option.visual.windowBackgroundStyle": "窗口背景样式", // Toggle
|
||||
"settings.header.visual.windowBackgroundStyle.none": "无",
|
||||
"settings.header.visual.windowBackgroundStyle.artwork": "专辑封面",
|
||||
"settings.option.visual.animatedArtwork": "动态专辑封面", // Dropdown
|
||||
"settings.header.visual.animatedArtwork.always": "总是显示",
|
||||
"settings.header.visual.animatedArtwork.limited": "只在艺人页面和专辑封面显示",
|
||||
"settings.header.visual.animatedArtwork.disable": "关闭",
|
||||
"settings.option.visual.animatedArtworkQuality": "动态专辑封面画质", // Dropdown
|
||||
"settings.header.visual.animatedArtworkQuality.low": "低",
|
||||
"settings.header.visual.animatedArtworkQuality.medium": "中",
|
||||
"settings.header.visual.animatedArtworkQuality.high": "高",
|
||||
"settings.header.visual.animatedArtworkQuality.extreme": "极高",
|
||||
"settings.option.visual.animatedWindowBackground": "动态窗口背景", // Toggle
|
||||
"settings.option.visual.hardwareAcceleration": "硬件加速", // Dropdown
|
||||
"settings.header.visual.hardwareAcceleration.default": "默认",
|
||||
"settings.header.visual.hardwareAcceleration.webGPU": "WebGPU",
|
||||
// Refer to term.disabled for the disabled option
|
||||
"settings.option.visual.showPersonalInfo": "显示个人资料", // Toggle
|
||||
// Settings - General (Reserved)
|
||||
"settings.header.general": "通用",
|
||||
"settings.header.general.description": "调整Cider的通用设置",
|
||||
"settings.header.general.description": "调整 Cider 的通用设置",
|
||||
|
||||
// Settings - Lyrics
|
||||
"settings.header.lyrics": "歌词",
|
||||
"settings.header.lyrics.description": "调整Cider的歌词设置",
|
||||
"settings.header.lyrics.description": "调整 Cider 的歌词设置",
|
||||
"settings.option.lyrics.enableMusixmatch": "启用 Musixmatch 歌词", // Toggle
|
||||
"settings.option.lyrics.enableMusixmatchKaraoke": "启用卡拉 OK 模式(仅 Musixmatch)", // Toggle
|
||||
"settings.option.lyrics.musixmatchPreferredLanguage": "Musixmatch 歌词语言偏好", // Dropdown
|
||||
"settings.option.lyrics.enableYoutubeLyrics": "播放 MV 时使用 YouTube 歌词", // Toggle
|
||||
|
||||
// Settings - Connectivity
|
||||
"settings.header.connectivity": "外部连接",
|
||||
"settings.header.connectivity.description": "调整Cider与外部的连接",
|
||||
"settings.header.connectivity.description": "调整Cider与外部应用的交互设置",
|
||||
"settings.option.connectivity.discordRPC": "Discord 动态", // Dropdown
|
||||
// Refer to term.disabled for the disabled option
|
||||
"settings.header.connectivity.discordRPC.cider": "显示正在玩 'Cider'",
|
||||
"settings.header.connectivity.discordRPC.appleMusic": "显示正在玩 'Apple Music'",
|
||||
"settings.header.connectivity.discordRPC.clearOnPause": "暂停时清除Discord 动态", // Toggle
|
||||
"settings.option.connectivity.lastfmScrobble": "LastFM Scrobbling 记录", // Option to Connect
|
||||
// Refer to term.connect for the connect button
|
||||
|
||||
// Settings - Experimental
|
||||
"settings.header.experimental": "实验性功能",
|
||||
"settings.header.experimental.description": "调整Cider的实验性功能",
|
||||
}
|
||||
"settings.option.experimental.compactUI": "紧凑型UI", // Toggle
|
||||
// Refer to term.disabled & term.enabled
|
||||
|
||||
// Web Remote
|
||||
"remote.web.title": "Cider 远程控制",
|
||||
"remote.web.description": "扫描以下的二维码以控制 Cider"
|
||||
}
|
||||
|
|
180
src/i18n/zh_HK.jsonc
Normal file
180
src/i18n/zh_HK.jsonc
Normal file
|
@ -0,0 +1,180 @@
|
|||
{
|
||||
// App info
|
||||
"app.name": "Cider",
|
||||
|
||||
// Dialogs
|
||||
"dialog.cancel": "取消",
|
||||
"dialog.ok": "確認",
|
||||
|
||||
// Notification
|
||||
"notification.updatingLibrarySongs": "正在更新資料庫的歌曲...",
|
||||
"notification.updatingLibraryAlbums": "正在更新資料庫的專輯...",
|
||||
"notification.updatingLibraryArtists": "正在更新資料庫的藝人...",
|
||||
// Terms
|
||||
"term.appleMusic": "Apple Music", // Follows brand term
|
||||
"term.applePodcasts": "Apple Podcasts", // Follows brand term
|
||||
"term.itunes": "iTunes", // Follows brand term
|
||||
"term.github": "GitHub", // Follows brand term
|
||||
"term.discord": "Discord", // Follows brand term
|
||||
"term.learnMore": "了解更多",
|
||||
"term.accountSettings": "帳號設定",
|
||||
"term.logout": "登出",
|
||||
"term.login": "登入",
|
||||
"term.about": "關於",
|
||||
"term.privateSession": "私人模式",
|
||||
"term.queue": "播放清單",
|
||||
"term.search": "搜尋",
|
||||
"term.library": "資料庫",
|
||||
"term.recentlyAdded": "最近加入",
|
||||
"term.songs": "歌曲",
|
||||
"term.albums": "專輯",
|
||||
"term.artists": "藝人",
|
||||
"term.podcasts": "Podcasts",
|
||||
"term.playlists": "播放列表",
|
||||
"term.playlist": "播放列表",
|
||||
"term.play": "播放",
|
||||
"term.pause": "暫停",
|
||||
"term.previous": "上一首",
|
||||
"term.next": "下一首",
|
||||
"term.shuffle": "隨機播放",
|
||||
"term.repeat": "重複播放",
|
||||
"term.volume": "音量",
|
||||
"term.mute": "靜音",
|
||||
"term.unmute": "取消靜音",
|
||||
"term.share": "分享",
|
||||
"term.settings": "設定",
|
||||
"term.seeAll": "顯示全部",
|
||||
"term.sortBy": "排序",
|
||||
"term.sortBy.album": "專輯",
|
||||
"term.sortBy.artist": "藝人",
|
||||
"term.sortBy.name": "歌名",
|
||||
"term.sortBy.genre": "音樂風格",
|
||||
"term.sortBy.releaseDate": "發行日期",
|
||||
"term.sortBy.duration": "時長",
|
||||
"term.sortOrder": "字母排序",
|
||||
"term.sortOrder.ascending": "順序",
|
||||
"term.sortOrder.descending": "倒序",
|
||||
"term.viewAs": "顯示模式",
|
||||
"term.viewAs.coverArt": "專輯封面",
|
||||
"term.viewAs.list": "列表",
|
||||
"term.size.normal": "正常",
|
||||
"term.size.compact": "緊凑",
|
||||
"term.enable": "啟用",
|
||||
"term.disable": "停用",
|
||||
"term.enabled": "已啟用",
|
||||
"term.disabled": "已停用",
|
||||
"term.connect": "連結",
|
||||
|
||||
// Home
|
||||
"home.title": "主頁",
|
||||
"home.recentlyPlayed": "最近播放",
|
||||
"home.recentlyAdded": "最近加入",
|
||||
"home.artistsFeed": "藝人動態",
|
||||
"home.madeForYou": "為您推薦",
|
||||
"home.friendsListeningTo": "朋友正在聆聽",
|
||||
"home.followedArtists": "追蹤的藝人",
|
||||
// Errors
|
||||
"error.appleMusicSubRequired": "需要訂閱Apple Music以使用Cider",
|
||||
// Actions
|
||||
"action.addToLibrary": "加入資料庫",
|
||||
"action.addToLibrary.success": "成功加入資料庫",
|
||||
"action.addToLibrary.error": "加入資料庫的過程發生錯誤",
|
||||
"action.removeFromLibrary": "從資料庫刪除",
|
||||
"action.removeFromLibrary.success": "已從資料庫刪除",
|
||||
"action.addToQueue": "加入播放清單",
|
||||
"action.addToQueue.success": "成功加入播放清單",
|
||||
"action.addToQueue.error": "加入播放清單的過程發生錯誤",
|
||||
"action.removeFromQueue": "從播放清單刪除",
|
||||
"action.removeFromQueue.success": "已從播放清單刪除",
|
||||
"action.removeFromQueue.error": "從播放清單刪除的過程中發生錯誤",
|
||||
"action.addToPlaylist": "加至播放列表",
|
||||
"action.addToFavorites": "加至收藏",
|
||||
"action.follow": "追蹤",
|
||||
"action.follow.success": "追蹤中",
|
||||
"action.follow.error": "追蹤的過程發生錯誤",
|
||||
"action.unfollow": "取消追蹤",
|
||||
"action.unfollow.success": "已取消追蹤",
|
||||
"action.unfollow.error": "取消追蹤的過程發生錯誤",
|
||||
"action.playNext": "下一首",
|
||||
"action.playLater": "稍後播放",
|
||||
"action.startRadio": "建立電台",
|
||||
"action.goToArtist": "前往藝人",
|
||||
"action.goToAlbum": "前往專輯",
|
||||
"action.moveToTop": "移動到頂部",
|
||||
"action.share": "分享歌曲",
|
||||
"action.rename": "重新命名",
|
||||
"action.love": "喜愛",
|
||||
"action.unlove": "取消喜愛",
|
||||
"action.dislike": "減少此類建議",
|
||||
"action.undoDislike": "還原減小此類建議",
|
||||
"action.showWebRemoteQR": "顯示遙距控制二維碼",
|
||||
|
||||
// Settings - Audio
|
||||
"settings.header.audio": "音訊",
|
||||
"settings.header.audio.description": "調整Cider的音訊設定",
|
||||
"settings.option.audio.quality": "音訊音質", // Dropdown
|
||||
"settings.header.audio.quality.high": "高素質",
|
||||
"settings.header.audio.quality.low": "高效率",
|
||||
"settings.header.audio.quality.auto": "自動",
|
||||
"settings.option.audio.seamlessTransition": "無縫播放", // Toggle
|
||||
"settings.option.audio.enableAdvancedFunctionality": "進階功能", // Toggle
|
||||
"settings.option.audio.enableAdvancedFunctionality.description": "啟用 AudioContext 將解鎖類似音量平衡和等化器的進階功能。但是會在一些電腦造成音樂卡頓。",
|
||||
"settings.option.audio.enableAdvancedFunctionality.audioNormalization": "音量平衡", // Toggle
|
||||
"settings.option.audio.enableAdvancedFunctionality.audioNormalization.description": "將平衡輕柔和響亮的歌曲,建立更統一的聆聽體驗。",
|
||||
"settings.option.audio.enableAdvancedFunctionality.audioSpatialization": "空間音訊", // Toggle
|
||||
"settings.option.audio.enableAdvancedFunctionality.audioSpatialization.description": "將音訊進行空間化處理來製造一個更立體的聆聽體驗(注:此功能不是官方的杜比全景聲)",
|
||||
// Settings - Visual
|
||||
"settings.header.visual": "外觀",
|
||||
"settings.header.visual.description": "調整Cider的外觀",
|
||||
"settings.option.visual.windowBackgroundStyle": "窗口背景樣式", // Toggle
|
||||
"settings.header.visual.windowBackgroundStyle.none": "空白",
|
||||
"settings.header.visual.windowBackgroundStyle.artwork": "專輯封面",
|
||||
"settings.option.visual.animatedArtwork": "動態專輯封面", // Dropdown
|
||||
"settings.header.visual.animatedArtwork.always": "總是顯示",
|
||||
"settings.header.visual.animatedArtwork.limited": "只在藝人頁面和專輯封面顯示",
|
||||
"settings.header.visual.animatedArtwork.disable": "關閉",
|
||||
"settings.option.visual.animatedArtworkQuality": "動態專輯封面品質", // Dropdown
|
||||
"settings.header.visual.animatedArtworkQuality.low": "低",
|
||||
"settings.header.visual.animatedArtworkQuality.medium": "中",
|
||||
"settings.header.visual.animatedArtworkQuality.high": "高",
|
||||
"settings.header.visual.animatedArtworkQuality.extreme": "極高",
|
||||
"settings.option.visual.animatedWindowBackground": "動態窗口背景", // Toggle
|
||||
"settings.option.visual.hardwareAcceleration": "硬體加速", // Dropdown
|
||||
"settings.header.visual.hardwareAcceleration.default": "默認",
|
||||
"settings.header.visual.hardwareAcceleration.webGPU": "WebGPU",
|
||||
// Refer to term.disabled for the disabled option
|
||||
"settings.option.visual.showPersonalInfo": "顯示個人檔案", // Toggle
|
||||
// Settings - General (Reserved)
|
||||
"settings.header.general": "一般",
|
||||
"settings.header.general.description": "調整Cider的一般設定",
|
||||
|
||||
// Settings - Lyrics
|
||||
"settings.header.lyrics": "歌詞",
|
||||
"settings.header.lyrics.description": "調整Cider的歌詞設定",
|
||||
"settings.option.lyrics.enableMusixmatch": "啟用 Musixmatch 歌詞", // Toggle
|
||||
"settings.option.lyrics.enableMusixmatchKaraoke": "啟用卡拉OK模式(僅限Musixmatch)", // Toggle
|
||||
"settings.option.lyrics.musixmatchPreferredLanguage": "Musixmatch 歌詞語言偏好", // Dropdown
|
||||
"settings.option.lyrics.enableYoutubeLyrics": "播放MV時使用YouTube歌詞", // Toggle
|
||||
|
||||
// Settings - Connectivity
|
||||
"settings.header.connectivity": "外部連結",
|
||||
"settings.header.connectivity.description": "調整Cider與外部的連結",
|
||||
"settings.option.connectivity.discordRPC": "Discord 狀態", // Dropdown
|
||||
// Refer to term.disabled for the disabled option
|
||||
"settings.header.connectivity.discordRPC.cider": "顯示為'Cider'",
|
||||
"settings.header.connectivity.discordRPC.appleMusic": "顯示為'Apple Music'",
|
||||
"settings.header.connectivity.discordRPC.clearOnPause": "暫停時清除 Discord 狀態", // Toggle
|
||||
"settings.option.connectivity.lastfmScrobble": "LastFM Scrobbling 記錄", // Option to Connect
|
||||
// Refer to term.connect for the connect button
|
||||
|
||||
// Settings - Experimental
|
||||
"settings.header.experimental": "實驗性功能",
|
||||
"settings.header.experimental.description": "調整Cider的實驗性功能",
|
||||
"settings.option.experimental.compactUI": "緊凑型UI", // Toggle
|
||||
// Refer to term.disabled & term.enabled
|
||||
|
||||
|
||||
// Web Remote
|
||||
"remote.web.title": "遙距控制 Cider",
|
||||
"remote.web.description": "掃描以下的二維碼以控制 Cider",
|
||||
}
|
|
@ -1,9 +1,15 @@
|
|||
{
|
||||
// App info
|
||||
"app.name": "Cider",
|
||||
|
||||
// Dialogs
|
||||
"dialog.cancel": "取消",
|
||||
"dialog.ok": "OK",
|
||||
|
||||
// Notification
|
||||
"notification.updatingLibrarySongs": "正在更新資料庫的歌曲...",
|
||||
"notification.updatingLibraryAlbums": "正在更新資料庫的專輯...",
|
||||
"notification.updatingLibraryArtists": "正在更新資料庫的藝人...",
|
||||
// Terms
|
||||
"term.appleMusic": "Apple Music", // Follows brand term
|
||||
"term.applePodcasts": "Apple Podcasts", // Follows brand term
|
||||
|
@ -38,6 +44,27 @@
|
|||
"term.share": "分享",
|
||||
"term.settings": "設定",
|
||||
"term.seeAll": "顯示全部",
|
||||
"term.sortBy": "排序",
|
||||
"term.sortBy.album": "專輯",
|
||||
"term.sortBy.artist": "藝人",
|
||||
"term.sortBy.name": "歌名",
|
||||
"term.sortBy.genre": "音樂風格",
|
||||
"term.sortBy.releaseDate": "發行日期",
|
||||
"term.sortBy.duration": "時長",
|
||||
"term.sortOrder": "字母排序",
|
||||
"term.sortOrder.ascending": "升序",
|
||||
"term.sortOrder.descending": "降序",
|
||||
"term.viewAs": "顯示模式",
|
||||
"term.viewAs.coverArt": "專輯封面",
|
||||
"term.viewAs.list": "列表",
|
||||
"term.size.normal": "正常",
|
||||
"term.size.compact": "緊凑",
|
||||
"term.enable": "啟用",
|
||||
"term.disable": "停用",
|
||||
"term.enabled": "已啟用",
|
||||
"term.disabled": "已停用",
|
||||
"term.connect": "連接",
|
||||
|
||||
// Home
|
||||
"home.title": "主頁",
|
||||
"home.recentlyPlayed": "最近播放",
|
||||
|
@ -76,20 +103,74 @@
|
|||
"action.unlove": "取消喜愛",
|
||||
"action.dislike": "減少此類建議",
|
||||
"action.undoDislike": "還原減小此類建議",
|
||||
// Settings
|
||||
"action.showWebRemoteQR": "顯示遠程遙控行動條碼",
|
||||
|
||||
// Settings - Audio
|
||||
"settings.header.audio": "音訊",
|
||||
"settings.header.audio.description": "調整Cider的音訊設定",
|
||||
"settings.option.audio.quality": "音訊音質", // Dropdown
|
||||
"settings.header.audio.quality.high": "高品質",
|
||||
"settings.header.audio.quality.low": "高效率",
|
||||
"settings.header.audio.quality.auto": "自動",
|
||||
"settings.option.audio.seamlessTransition": "無間斷播放", // Toggle
|
||||
"settings.option.audio.enableAdvancedFunctionality": "進階機能", // Toggle
|
||||
"settings.option.audio.enableAdvancedFunctionality.description": "啟用 AudioContext 將解鎖類似音訊標準化和等化器的進階機能。但是會在一些電腦造成音樂卡頓。",
|
||||
"settings.option.audio.enableAdvancedFunctionality.audioNormalization": "音訊標準化", // Toggle
|
||||
"settings.option.audio.enableAdvancedFunctionality.audioNormalization.description": "將平衡輕柔和響亮的歌曲,建立更統一的聆聽體驗。",
|
||||
"settings.option.audio.enableAdvancedFunctionality.audioSpatialization": "音訊空間化", // Toggle
|
||||
"settings.option.audio.enableAdvancedFunctionality.audioSpatialization.description": "將音訊進行空間化處理來製造一個更立體的聆聽體驗(注:此功能不是官方的杜比全景聲)",
|
||||
// Settings - Visual
|
||||
"settings.header.visual": "外觀",
|
||||
"settings.header.visual.description": "調整Cider的外觀",
|
||||
"settings.option.visual.windowBackgroundStyle": "窗口背景樣式", // Toggle
|
||||
"settings.header.visual.windowBackgroundStyle.none": "空白",
|
||||
"settings.header.visual.windowBackgroundStyle.artwork": "專輯封面",
|
||||
"settings.option.visual.animatedArtwork": "動態專輯封面", // Dropdown
|
||||
"settings.header.visual.animatedArtwork.always": "總是顯示",
|
||||
"settings.header.visual.animatedArtwork.limited": "只在藝人頁面和專輯封面顯示",
|
||||
"settings.header.visual.animatedArtwork.disable": "關閉",
|
||||
"settings.option.visual.animatedArtworkQuality": "動態專輯封面品質", // Dropdown
|
||||
"settings.header.visual.animatedArtworkQuality.low": "低",
|
||||
"settings.header.visual.animatedArtworkQuality.medium": "中",
|
||||
"settings.header.visual.animatedArtworkQuality.high": "高",
|
||||
"settings.header.visual.animatedArtworkQuality.extreme": "極高",
|
||||
"settings.option.visual.animatedWindowBackground": "動態窗口背景", // Toggle
|
||||
"settings.option.visual.hardwareAcceleration": "硬體加速", // Dropdown
|
||||
"settings.header.visual.hardwareAcceleration.default": "默認",
|
||||
"settings.header.visual.hardwareAcceleration.webGPU": "WebGPU",
|
||||
// Refer to term.disabled for the disabled option
|
||||
"settings.option.visual.showPersonalInfo": "顯示個人檔案", // Toggle
|
||||
// Settings - General (Reserved)
|
||||
"settings.header.general": "一般",
|
||||
"settings.header.general.description": "調整Cider的一般設定",
|
||||
|
||||
// Settings - Lyrics
|
||||
"settings.header.lyrics": "歌詞",
|
||||
"settings.header.lyrics.description": "調整Cider的歌詞設定",
|
||||
"settings.option.lyrics.enableMusixmatch": "啟用 Musixmatch 歌詞", // Toggle
|
||||
"settings.option.lyrics.enableMusixmatchKaraoke": "啟用K歌模式(僅限Musixmatch)", // Toggle
|
||||
"settings.option.lyrics.musixmatchPreferredLanguage": "Musixmatch 歌詞語言偏好", // Dropdown
|
||||
"settings.option.lyrics.enableYoutubeLyrics": "播放MV時使用YouTube歌詞", // Toggle
|
||||
|
||||
// Settings - Connectivity
|
||||
"settings.header.connectivity": "外部連接",
|
||||
"settings.header.connectivity.description": "調整Cider與外部的連接",
|
||||
"settings.option.connectivity.discordRPC": "Discord 動態", // Dropdown
|
||||
// Refer to term.disabled for the disabled option
|
||||
"settings.header.connectivity.discordRPC.cider": "顯示正在玩 'Cider'",
|
||||
"settings.header.connectivity.discordRPC.appleMusic": "顯示正在玩 'Apple Music'",
|
||||
"settings.header.connectivity.discordRPC.clearOnPause": "暫停時清除 Discord 動態", // Toggle
|
||||
"settings.option.connectivity.lastfmScrobble": "LastFM Scrobbling 記錄", // Option to Connect
|
||||
// Refer to term.connect for the connect button
|
||||
|
||||
// Settings - Experimental
|
||||
"settings.header.experimental": "實驗性功能",
|
||||
"settings.header.experimental.description": "調整Cider的實驗性功能",
|
||||
"settings.option.experimental.compactUI": "緊凑型UI", // Toggle
|
||||
// Refer to term.disabled & term.enabled
|
||||
|
||||
|
||||
// Web Remote
|
||||
"remote.web.title": "Cider 遠控",
|
||||
"remote.web.description": "掃描以下的行動條碼以控制 Cider"
|
||||
}
|
|
@ -9,7 +9,8 @@ export class ConfigStore {
|
|||
"close_behavior": 0, // 0 = close, 1 = minimize, 2 = minimize to tray
|
||||
"startup_behavior": 0, // 0 = nothing, 1 = open on startup
|
||||
"discord_rpc": 1, // 0 = disabled, 1 = enabled as Cider, 2 = enabled as Apple Music
|
||||
"discordClearActivityOnPause": 1 // 0 = disabled, 1 = enabled
|
||||
"discordClearActivityOnPause": 1, // 0 = disabled, 1 = enabled
|
||||
"language" : "en_US"
|
||||
},
|
||||
"home": {
|
||||
"followedArtists": [],
|
||||
|
|
|
@ -12,6 +12,7 @@ import * as os from "os";
|
|||
import * as mm from 'music-metadata';
|
||||
import fetch from 'electron-fetch'
|
||||
import {wsapi} from "./wsapi";
|
||||
import * as jsonc from "jsonc";
|
||||
|
||||
export class Win {
|
||||
win: any | undefined = null;
|
||||
|
@ -287,6 +288,24 @@ export class Win {
|
|||
event.returnValue = process.platform;
|
||||
});
|
||||
|
||||
console.warn(path.join(__dirname, "../../src/i18n/en_US.jsonc"))
|
||||
|
||||
electron.ipcMain.on("get-i18n", (event, key) => {
|
||||
let i18nBase = fs.readFileSync(path.join(__dirname, "../../src/i18n/en_US.jsonc"), "utf8");
|
||||
i18nBase = jsonc.parse(i18nBase)
|
||||
try {
|
||||
let i18n = fs.readFileSync(path.join(__dirname, `../../src/i18n/${key}.jsonc`), "utf8");
|
||||
i18n = jsonc.parse(i18n)
|
||||
Object.assign(i18nBase, i18n)
|
||||
}catch(e) {
|
||||
console.error(e);
|
||||
event.returnValue = e;
|
||||
}
|
||||
|
||||
event.returnValue = i18nBase;
|
||||
|
||||
});
|
||||
|
||||
electron.ipcMain.on("get-gpu-mode", (event) => {
|
||||
event.returnValue = process.platform;
|
||||
});
|
||||
|
@ -392,6 +411,10 @@ export class Win {
|
|||
this.win.maximize();
|
||||
}
|
||||
});
|
||||
electron.ipcMain.on("unmaximize", () => {
|
||||
// listen for maximize event
|
||||
this.win.unmaximize();
|
||||
});
|
||||
|
||||
electron.ipcMain.on("minimize", () => {
|
||||
// listen for minimize event
|
||||
|
@ -403,9 +426,12 @@ export class Win {
|
|||
this.win.webContents.setZoomFactor(parseFloat(scale));
|
||||
});
|
||||
|
||||
electron.ipcMain.on("windowmin", (event, width, height) => {
|
||||
this.win.setMinimumSize(width,height);
|
||||
})
|
||||
|
||||
// Set scale
|
||||
electron.ipcMain.on("windowresize", (event, width, height, lock = false) => {
|
||||
this.win.setMinimumSize(250,250);
|
||||
this.win.setContentSize(width, height);
|
||||
this.win.setResizable(!lock);
|
||||
});
|
||||
|
|
|
@ -134,9 +134,7 @@ const app = new Vue({
|
|||
platform: "",
|
||||
mk: {},
|
||||
quickPlayQuery: "",
|
||||
lz: {
|
||||
|
||||
},
|
||||
lz: ipcRenderer.sendSync("get-i18n", "en_US"),
|
||||
search: {
|
||||
term: "",
|
||||
hints: [],
|
||||
|
@ -339,6 +337,12 @@ const app = new Vue({
|
|||
},
|
||||
},
|
||||
methods: {
|
||||
setLz(lang) {
|
||||
if(lang == "") {
|
||||
lang = this.cfg.general.language
|
||||
}
|
||||
this.lz = ipcRenderer.sendSync("get-i18n", lang)
|
||||
},
|
||||
getLz(message) {
|
||||
if(this.lz[message]) {
|
||||
return this.lz[message]
|
||||
|
@ -499,6 +503,7 @@ const app = new Vue({
|
|||
},
|
||||
async init() {
|
||||
let self = this
|
||||
this.setLz(this.cfg.general.language)
|
||||
clearTimeout(this.hangtimer)
|
||||
this.mk = MusicKit.getInstance()
|
||||
let needsReload = (typeof localStorage["music.ampwebplay.media-user-token"] == "undefined")
|
||||
|
@ -3320,10 +3325,12 @@ const app = new Vue({
|
|||
if (flag) {
|
||||
this.tmpWidth = window.innerWidth;
|
||||
this.tmpHeight = window.innerHeight;
|
||||
ipcRenderer.send('setFullScreen', false);
|
||||
ipcRenderer.send('windowresize', 364, 364, false)
|
||||
ipcRenderer.send('unmaximize');
|
||||
ipcRenderer.send('windowmin', 250, 250)
|
||||
ipcRenderer.send('windowresize', 300, 300, false)
|
||||
app.appMode = 'mini';
|
||||
} else {
|
||||
ipcRenderer.send('windowmin', 844, 410)
|
||||
ipcRenderer.send('windowresize', this.tmpWidth, this.tmpHeight, false)
|
||||
app.appMode = 'player';
|
||||
}
|
||||
|
|
|
@ -3075,6 +3075,12 @@ input[type="range"].web-slider.display--small::-webkit-slider-thumb {
|
|||
transition: opacity 0.1s var(--appleEase);
|
||||
}
|
||||
|
||||
&.animated .artist-header .more-btn-round {
|
||||
position: absolute;
|
||||
bottom: 22px !important;
|
||||
right: 28px;
|
||||
}
|
||||
|
||||
.artist-header {
|
||||
//background: linear-gradient(45deg, var(--keyColor), #0e0e0e);
|
||||
color: white;
|
||||
|
@ -3088,6 +3094,7 @@ input[type="range"].web-slider.display--small::-webkit-slider-thumb {
|
|||
z-index: 1;
|
||||
}
|
||||
|
||||
|
||||
.artworkContainer {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
|
@ -3112,7 +3119,7 @@ input[type="range"].web-slider.display--small::-webkit-slider-thumb {
|
|||
|
||||
.more-btn-round {
|
||||
position: absolute;
|
||||
bottom: 84px;
|
||||
bottom: 82px;
|
||||
right: 28px;
|
||||
}
|
||||
|
||||
|
@ -3205,8 +3212,6 @@ input[type="range"].web-slider.display--small::-webkit-slider-thumb {
|
|||
}
|
||||
}
|
||||
.artist-title {
|
||||
position: relative;
|
||||
top: -19px;
|
||||
|
||||
.artist-play {
|
||||
transform: translateY(3px);
|
||||
|
@ -3229,7 +3234,12 @@ input[type="range"].web-slider.display--small::-webkit-slider-thumb {
|
|||
|
||||
.artist-body {
|
||||
padding: 0px var(--contentInnerPadding) 0px var(--contentInnerPadding);
|
||||
margin-top: -137px;
|
||||
margin-top: -140px;
|
||||
}
|
||||
|
||||
&.animated > .artist-body {
|
||||
padding: 0px var(--contentInnerPadding) 0px var(--contentInnerPadding);
|
||||
margin-top: -57px;
|
||||
}
|
||||
|
||||
.showmoreless {
|
||||
|
|
|
@ -3,6 +3,7 @@
|
|||
v-observe-visibility="{callback: visibilityChanged}">
|
||||
<img :src="app.getMediaItemArtwork(url, size, width)"
|
||||
decoding="async" loading="lazy"
|
||||
:style="{background: bgcolor}"
|
||||
class="mediaitem-artwork--img">
|
||||
<div v-if="video && isVisible && getVideoPriority()" class="animatedartwork-view-box">
|
||||
<animatedartwork-view :priority="getVideoPriority()" :video="video"></animatedartwork-view>
|
||||
|
@ -22,6 +23,10 @@
|
|||
type: [String, Number],
|
||||
required: false
|
||||
},
|
||||
bgcolor: {
|
||||
type: String,
|
||||
default: ''
|
||||
},
|
||||
url: {
|
||||
type: String,
|
||||
default: ''
|
||||
|
|
|
@ -28,6 +28,7 @@
|
|||
<mediaitem-artwork
|
||||
:url="item.attributes.artwork ? item.attributes.artwork.url : ''"
|
||||
:size="48"
|
||||
:bgcolor="getBgColor()"
|
||||
:type="item.type"></mediaitem-artwork>
|
||||
<button class="overlay-play" @click="playTrack()"><%- include("../svg/play.svg") %></button>
|
||||
</div>
|
||||
|
@ -102,6 +103,10 @@
|
|||
this.getClasses()
|
||||
},
|
||||
methods: {
|
||||
getBgColor() {
|
||||
let color = `#${(this.item.attributes.artwork != null && this.item.attributes.artwork.bgColor != null) ? (this.item.attributes.artwork.bgColor) : ``}`
|
||||
return color
|
||||
},
|
||||
async checkLibrary() {
|
||||
if(this.addedToLibrary) {return this.addedToLibrary}
|
||||
if(this.item.type.includes("library-playlists") || this.item.type.includes("station")) {
|
||||
|
|
|
@ -11,6 +11,7 @@
|
|||
:video="(item.attributes != null && item.attributes.editorialVideo != null) ? (item.attributes.editorialVideo.motionDetailSquare ? item.attributes.editorialVideo.motionDetailSquare.video : (item.attributes.editorialVideo.motionSquareVideo1x1 ? item.attributes.editorialVideo.motionSquareVideo1x1.video : '')) : '' "
|
||||
:size="size"
|
||||
shadow="subtle"
|
||||
:bgcolor="getBgColor()"
|
||||
:type="item.type"></mediaitem-artwork>
|
||||
</div>
|
||||
<button class="menu-btn" v-if="!nomenu.includes(item.type)"
|
||||
|
@ -75,22 +76,8 @@
|
|||
},
|
||||
methods: {
|
||||
getBgColor() {
|
||||
let color = `#${(this.item.attributes.artwork != null && this.item.attributes.artwork.bgColor != null) ? (this.item.attributes.artwork.bgColor) : `333333`}`
|
||||
let c = color.substring(1); // strip #
|
||||
var rgb = parseInt(c, 16); // convert rrggbb to decimal
|
||||
var r = (rgb >> 16) & 0xff; // extract red
|
||||
var g = (rgb >> 8) & 0xff; // extract green
|
||||
var b = (rgb >> 0) & 0xff; // extract blue
|
||||
|
||||
var luma = 0.2126 * r + 0.7152 * g + 0.0722 * b; // per ITU-R BT.709
|
||||
|
||||
if (luma > 140) {
|
||||
return "#aaaaaa"
|
||||
}else{
|
||||
return color
|
||||
}
|
||||
|
||||
|
||||
let color = `#${(this.item.attributes.artwork != null && this.item.attributes.artwork.bgColor != null) ? (this.item.attributes.artwork.bgColor) : ``}`
|
||||
return color
|
||||
},
|
||||
getSubtitle() {
|
||||
if(this.kind == 'card') {
|
||||
|
|
|
@ -204,32 +204,32 @@
|
|||
<div class="app-sidebar-header-text">
|
||||
Cider
|
||||
</div>
|
||||
<sidebar-library-item name="Home" svg-icon="./assets/feather/home.svg" page="home">
|
||||
<sidebar-library-item :name="$root.getLz('home.title')" svg-icon="./assets/feather/home.svg" page="home">
|
||||
</sidebar-library-item>
|
||||
<div class="app-sidebar-header-text">
|
||||
Apple Music
|
||||
</div>
|
||||
<sidebar-library-item name="Listen Now" svg-icon="./assets/feather/play-circle.svg"
|
||||
<sidebar-library-item :name="$root.getLz('term.listenNow')" svg-icon="./assets/feather/play-circle.svg"
|
||||
page="listen_now"></sidebar-library-item>
|
||||
<sidebar-library-item name="Browse" svg-icon="./assets/feather/globe.svg" page="browse">
|
||||
<sidebar-library-item :name="$root.getLz('term.browse')" svg-icon="./assets/feather/globe.svg" page="browse">
|
||||
</sidebar-library-item>
|
||||
<sidebar-library-item name="Radio" svg-icon="./assets/feather/radio.svg" page="radio">
|
||||
<sidebar-library-item :name="$root.getLz('term.radio')" svg-icon="./assets/feather/radio.svg" page="radio">
|
||||
</sidebar-library-item>
|
||||
<div class="app-sidebar-header-text">
|
||||
Library
|
||||
</div>
|
||||
<sidebar-library-item name="Recently Added" svg-icon="./assets/feather/plus-circle.svg"
|
||||
<sidebar-library-item :name="$root.getLz('term.recentlyAdded')" svg-icon="./assets/feather/plus-circle.svg"
|
||||
page="library-recentlyadded"></sidebar-library-item>
|
||||
<sidebar-library-item name="Songs" svg-icon="./assets/feather/music.svg"
|
||||
<sidebar-library-item :name="$root.getLz('term.songs')" svg-icon="./assets/feather/music.svg"
|
||||
page="library-songs"></sidebar-library-item>
|
||||
<sidebar-library-item name="Albums" svg-icon="./assets/feather/disc.svg"
|
||||
<sidebar-library-item :name="$root.getLz('term.albums')" svg-icon="./assets/feather/disc.svg"
|
||||
page="library-albums"></sidebar-library-item>
|
||||
<sidebar-library-item name="Artists" svg-icon="./assets/feather/user.svg"
|
||||
<sidebar-library-item :name="$root.getLz('term.artists')" svg-icon="./assets/feather/user.svg"
|
||||
page="library-artists"></sidebar-library-item>
|
||||
<sidebar-library-item name="Podcasts" svg-icon="./assets/feather/mic.svg" page="podcasts">
|
||||
<sidebar-library-item :name="$root.getLz('term.podcasts')" svg-icon="./assets/feather/mic.svg" page="podcasts">
|
||||
</sidebar-library-item>
|
||||
<div class="app-sidebar-header-text" @contextmenu="playlistHeaderContextMenu">
|
||||
Playlists
|
||||
{{ $root.getLz('term.playlists') }}
|
||||
</div>
|
||||
<sidebar-playlist v-for="item in getPlaylistFolderChildren('p.playlistsroot')" :item="item">
|
||||
</sidebar-playlist>
|
||||
|
@ -240,7 +240,7 @@
|
|||
<button class="usermenu-item" @click="showWebRemoteQR()">
|
||||
<div class="row nopadding">
|
||||
<div class="col nopadding">
|
||||
Show Web Remote QR
|
||||
{{$root.getLz('action.showWebRemoteQR')}}
|
||||
</div>
|
||||
</div>
|
||||
</button>
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
<script type="text/x-template" id="cider-artist">
|
||||
<div class="content-inner artist-page">
|
||||
<div class="content-inner artist-page" :class="[data.attributes.editorialVideo && (data.attributes.editorialVideo.motionArtistWide16x9 || data.attributes.editorialVideo.motionArtistFullscreen16x9) ? 'animated' : '']">
|
||||
<div class="artist-header" :key="data.id" v-observe-visibility="{callback: isHeaderVisible}">
|
||||
<animatedartwork-view
|
||||
:priority="true"
|
||||
|
@ -73,7 +73,7 @@
|
|||
<h3>Top Songs</h3>
|
||||
</div>
|
||||
<div class="col-auto flex-center" v-if="data.views['top-songs'].data.length >= 10" style="padding:0;">
|
||||
<button class="cd-btn-seeall" @click="app.showArtistView(data.id, data.attributes.name + ' - Top Songs', 'top-songs')">See All</button>
|
||||
<button class="cd-btn-seeall" @click="app.showArtistView(data.id, data.attributes.name + ' - Top Songs', 'top-songs')">{{app.getLz('term.seeAll')}}</button>
|
||||
</div>
|
||||
</div>
|
||||
<mediaitem-list-item
|
||||
|
@ -104,7 +104,7 @@
|
|||
</h3>
|
||||
</div>
|
||||
<div class="col-auto flex-center" v-if="data.views[view].data.length >= 10">
|
||||
<button class="cd-btn-seeall" @click="app.showArtistView(data.id, data.attributes.name + ' - ' + data.views[view].attributes.title, view)">See All</button>
|
||||
<button class="cd-btn-seeall" @click="app.showArtistView(data.id, data.attributes.name + ' - ' + data.views[view].attributes.title, view)">{{app.getLz('term.seeAll')}}</button>
|
||||
</div>
|
||||
</div>
|
||||
<template v-if="!((data.views[view].attributes.title ?
|
||||
|
|
|
@ -508,6 +508,22 @@
|
|||
</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="md-option-line">
|
||||
<div class="md-option-segment">
|
||||
Language
|
||||
</div>
|
||||
<div class="md-option-segment md-option-segment_auto">
|
||||
<select class="md-select" @change="$root.setLz('')" v-model="app.cfg.general.language">
|
||||
<option value="en_US">en_US</option>
|
||||
<option value="el_GR">el_GR</option>
|
||||
<option value="ja_JP">ja_JP</option>
|
||||
<option value="tr_TR">tr_TR</option>
|
||||
<option value="zh_CN">zh_CN</option>
|
||||
<option value="zh_TW">zh_TW</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div style="opacity: 0.5; pointer-events: none">
|
||||
<div class="md-option-header">
|
||||
|
|
|
@ -393,12 +393,12 @@ input[type=range].web-slider::-webkit-slider-runnable-track {
|
|||
}
|
||||
|
||||
.player-volume-glyph.decrease {
|
||||
background-image: url("./assets/volume.svg");
|
||||
background-image: url("./assets/volume-down.svg");
|
||||
opacity: 0.5;
|
||||
}
|
||||
|
||||
.player-volume-glyph.increase {
|
||||
background-image: url("./assets/volume-2.svg");
|
||||
background-image: url("./assets/volume-up.svg");
|
||||
opacity: 0.5;
|
||||
}
|
||||
|
||||
|
|
|
@ -29,20 +29,20 @@
|
|||
|
||||
</div>
|
||||
<div class="miniplayer-controls">
|
||||
<button class="md-btn playback-button--small shuffle" @click="shuffle()"
|
||||
v-if="player.currentMediaItem.shuffleMode == 0"></button>
|
||||
<button class="md-btn playback-button--small shuffle active" @click="shuffle()" v-else></button>
|
||||
<button class="md-btn playback-button previous" @click="previous()"></button>
|
||||
<button class="md-btn playback-button pause" @click="pause()"
|
||||
v-if="player.currentMediaItem.status"></button>
|
||||
<button class="md-btn playback-button play" @click="play()" v-else></button>
|
||||
<button class="md-btn playback-button next" @click="next()"></button>
|
||||
<button class="md-btn playback-button--small repeat" @click="repeat()"
|
||||
v-if="player.currentMediaItem.repeatMode == 0"></button>
|
||||
<button class="md-btn playback-button--small repeat active" @click="repeat()"
|
||||
v-else-if="player.currentMediaItem.repeatMode == 2"></button>
|
||||
<button class="md-btn playback-button--small repeat repeatOne" @click="repeat()"
|
||||
v-else-if="player.currentMediaItem.repeatMode == 1"></button>
|
||||
<button class="md-btn playback-button previous" @click="previous()"></button>
|
||||
<button class="md-btn playback-button pause" @click="pause()"
|
||||
v-if="player.currentMediaItem.status"></button>
|
||||
<button class="md-btn playback-button play" @click="play()" v-else></button>
|
||||
<button class="md-btn playback-button next" @click="next()"></button>
|
||||
<button class="md-btn playback-button--small shuffle" @click="shuffle()"
|
||||
v-if="player.currentMediaItem.shuffleMode == 0"></button>
|
||||
<button class="md-btn playback-button--small shuffle active" @click="shuffle()" v-else></button>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
@ -151,21 +151,20 @@
|
|||
</div>
|
||||
</div>
|
||||
<div class="md-footer playback-buttons">
|
||||
<button class="md-btn playback-button--small shuffle" @click="shuffle()"
|
||||
v-if="player.currentMediaItem.shuffleMode == 0"></button>
|
||||
<button class="md-btn playback-button--small shuffle active" @click="shuffle()" v-else></button>
|
||||
<button class="md-btn playback-button previous" @click="previous()"></button>
|
||||
<button class="md-btn playback-button pause" @click="pause()"
|
||||
v-if="player.currentMediaItem.status"></button>
|
||||
<button class="md-btn playback-button play" @click="play()" v-else></button>
|
||||
<button class="md-btn playback-button next" @click="next()"></button>
|
||||
<button class="md-btn playback-button--small repeat" @click="repeat()"
|
||||
v-if="player.currentMediaItem.repeatMode == 0"></button>
|
||||
<button class="md-btn playback-button--small repeat active" @click="repeat()"
|
||||
v-else-if="player.currentMediaItem.repeatMode == 2"></button>
|
||||
<button class="md-btn playback-button--small repeat repeatOne" @click="repeat()"
|
||||
v-else-if="player.currentMediaItem.repeatMode == 1"></button>
|
||||
<button class="md-btn playback-button previous" @click="previous()"></button>
|
||||
<button class="md-btn playback-button pause" @click="pause()"
|
||||
v-if="player.currentMediaItem.status"></button>
|
||||
<button class="md-btn playback-button play" @click="play()" v-else></button>
|
||||
<button class="md-btn playback-button next" @click="next()"></button>
|
||||
<button class="md-btn playback-button--small shuffle" @click="shuffle()"
|
||||
v-if="player.currentMediaItem.shuffleMode == 0"></button>
|
||||
<button class="md-btn playback-button--small shuffle active" @click="shuffle()"
|
||||
v-else></button>
|
||||
</div>
|
||||
<div class="md-footer">
|
||||
<div class="row volume-slider-container">
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue