diff --git a/.circleci/config.yml b/.circleci/config.yml index 0328f2b9..4222efc5 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -36,9 +36,6 @@ jobs: - run: name: Generate Builds (Linux) command: yarn dist -l -p never - - run: - name: Generate Builds (Linux pacman) - command: yarn dist -l --pacman -p never - run: name: Generate Builds (Windows) command: yarn dist -w --x64 -p never @@ -46,10 +43,11 @@ jobs: name: Move Build Files command: | mkdir ~/Cider/dist/artifacts/ - mv ~/Cider/dist/Cider\ Setup\ 1.1.0.exe ~/Cider/dist/artifacts - mv ~/Cider/dist/Cider-1.1.0.AppImage ~/Cider/dist/artifacts - mv ~/Cider/dist/cider_1.1.0_amd64.deb ~/Cider/dist/artifacts - mv ~/Cider/dist/cider_1.1.0_amd64.snap ~/Cider/dist/artifacts + mv ~/Cider/dist/*.exe ~/Cider/dist/artifacts + mv ~/Cider/dist/*.deb ~/Cider/dist/artifacts + mv ~/Cider/dist/*.AppImage ~/Cider/dist/artifacts + mv ~/Cider/dist/*.snap ~/Cider/dist/artifacts + mv ~/Cider/dist/*.yml ~/Cider/dist/artifacts - store_artifacts: path: ~/Cider/dist/artifacts diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md deleted file mode 100644 index 6cfbfc73..00000000 --- a/.github/ISSUE_TEMPLATE/bug_report.md +++ /dev/null @@ -1,39 +0,0 @@ ---- -name: Bug Report -about: If you encounter an issue whilst using our app, please use this template to help improve the app. -title: "[BUG] " -labels: bug -assignees: '' - ---- - -**Describe the bug** -A clear and concise description of what the bug is. - -**To Reproduce** -Steps to reproduce the behavior: -1. Go to '...' -2. Click on '....' -3. Scroll down to '....' -4. See error - -**Expected behavior** -A clear and concise description of what you expected to happen. - -**Screenshots** -If applicable, add screenshots to help explain your problem. - -**Environment Information** - - OS *(e.g. Linux/Mac/Windows)*: - - Application Version *(e.g. 2.5.0)*: - -**Additional context** -Add any other context about the problem here. - -**Have you followed the troubleshooting guide and checked for any outstanding/pinned issues that can help?** -*Troubleshooting guide can be found [here](https://github.com/Apple-Music-Electron/Apple-Music-Electron/wiki/Troubleshooting).* -Yes/No - -**Log File** -Follow [this](https://github.com/Apple-Music-Electron/Apple-Music-Electron/wiki/FAQs#2-how-to-find-the-log-file) to find your log file. -Attach your log file to the post but make sure to remove any LastFM keys that are in the file. \ No newline at end of file diff --git a/.github/ISSUE_TEMPLATE/bug_report.yaml b/.github/ISSUE_TEMPLATE/bug_report.yaml new file mode 100644 index 00000000..dc1856ec --- /dev/null +++ b/.github/ISSUE_TEMPLATE/bug_report.yaml @@ -0,0 +1,58 @@ +name: Bug Report +description: If you encounter an issue whilst using our app, please use this template to help improve the app. +title: "[Bug]: " +labels: ["bug", "triage"] +assignees: [] +body: + - type: markdown + attributes: + value: | + Thanks for taking the time to fill out this bug report! + - type: textarea + id: description + attributes: + label: Describe the Bug + description: A clear and concise description of the bug you encountered. Also tell us, what did you expect to happen? + placeholder: Tell us what you see! + value: "A bug happened!" + validations: + required: true + - type: textarea + id: replication + attributes: + label: Steps to Reproduce + description: How did you produce this bug, tell us how you did it so we can do it ourselves. + placeholder: Tell us how you did it + value: "1. Clicked on..." + validations: + required: true + - type: textarea + id: environment + attributes: + label: Environment Information + description: | + Examples: + - **OS**: Ubuntu 20.04 + - **App Version**: 1.0.0 + - **Commit ID**: c9d43be + value: | + - OS: + - App Version: + - Commit ID: + validations: + required: true + - type: textarea + attributes: + label: Anything else? + description: | + Links? References? Anything that will give us more context about the issue you are encountering! + + Tip: You can attach images or log files by clicking this area to highlight it and then dragging files in. + - type: checkboxes + id: terms + attributes: + label: Code of Conduct + description: By submitting this issue, you agree to follow our [Code of Conduct](https://github.com/ciderapp/Cider/blob/main/CODE_OF_CONDUCT.md) + options: + - label: I agree to follow this project's Code of Conduct + required: true diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml new file mode 100644 index 00000000..7c91e996 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/config.yml @@ -0,0 +1,11 @@ +blank_issues_enabled: false +contact_links: + - name: Discord Support + url: https://discord.com/invite/AppleMusic + about: For quick support, make a ticket or ask for community support here. + - name: GitHub Troublshooting + url: https://github.com/ciderapp/Cider/wiki/Troubleshooting + about: In most cases, these troubleshooting tips can resolve basic issues. Try them out before opening an issue. + - name: GitHub Issues + url: https://github.com/ciderapp/Cider/issues + about: Check to make sure there is not an issues already open that is related to your issue. \ No newline at end of file diff --git a/.github/ISSUE_TEMPLATE/feature_request.md b/.github/ISSUE_TEMPLATE/feature_request.md deleted file mode 100644 index 715514a3..00000000 --- a/.github/ISSUE_TEMPLATE/feature_request.md +++ /dev/null @@ -1,20 +0,0 @@ ---- -name: Feature request -about: Suggest an idea for this project -title: "[Enhancement]" -labels: enhancement -assignees: '' - ---- - -**Is your feature request related to a problem? Please describe.** -A clear and concise description of what the problem is. Ex. I'm always frustrated when [...] - -**Describe the solution you'd like** -A clear and concise description of what you want to happen. - -**Describe alternatives you've considered** -A clear and concise description of any alternative solutions or features you've considered. - -**Additional context** -Add any other context or screenshots about the feature request here. diff --git a/.github/ISSUE_TEMPLATE/feature_request.yaml b/.github/ISSUE_TEMPLATE/feature_request.yaml new file mode 100644 index 00000000..d4624c96 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/feature_request.yaml @@ -0,0 +1,34 @@ +name: Feature Request +description: Suggest an idea to improve Cider. +title: "[Enhancement]: " +labels: ["enhancement", "triage"] +assignees: [] +body: + - type: markdown + attributes: + value: | + Thanks for taking the time to fill out this report! + - type: textarea + id: description + attributes: + label: The feature you would like + description: A clear and concise description of what you would like to be added to the application. State if your request if related to an issue. + placeholder: A great addition to this project would be... + validations: + required: true + - type: textarea + id: other + attributes: + label: Alternatives and Other Information + description: If you have any alternative solutions to implement your request or other information that could help. + placeholder: Anything that can help us? + validations: + required: false + - type: checkboxes + id: terms + attributes: + label: Code of Conduct + description: By submitting this issue, you agree to follow our [Code of Conduct](https://github.com/ciderapp/Cider/blob/main/CODE_OF_CONDUCT.md) + options: + - label: I agree to follow this project's Code of Conduct + required: true diff --git a/.github/ISSUE_TEMPLATE/translation.yaml b/.github/ISSUE_TEMPLATE/translation.yaml new file mode 100644 index 00000000..1d2f0348 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/translation.yaml @@ -0,0 +1,44 @@ +name: Translation Report/Request +description: Request a language or report an issue with one. +title: "[Translation]: " +labels: ["🌐 Translations"] +assignees: [] +body: + - type: markdown + attributes: + value: | + Thanks for taking the time to fill out this report! + - type: input + id: language + attributes: + label: Relevant Language + description: The language you would like to request for or have an issue with. + placeholder: en_US + validations: + required: true + - type: dropdown + id: requestType + attributes: + label: Change or Addition or Both + multiple: true + options: + - Change a Language + - Add a Language + validations: + required: true + - type: textarea + id: description + attributes: + label: Change Requested / Any Additional Information + description: If you are requesting a change, place all the information here, or you can provide additional information to additions if you want. + placeholder: I would like ... changed to ... + validations: + required: false + - type: checkboxes + id: terms + attributes: + label: Code of Conduct + description: By submitting this issue, you agree to follow our [Code of Conduct](https://github.com/ciderapp/Cider/blob/main/CODE_OF_CONDUCT.md) + options: + - label: I agree to follow this project's Code of Conduct + required: true diff --git a/package.json b/package.json index 7c743eac..14f987ad 100644 --- a/package.json +++ b/package.json @@ -164,6 +164,7 @@ "target": [ "dmg" ] - } + }, + "artifactName" : "${productName}.${ext}" } } diff --git a/src/i18n/en_PISS.jsonc b/src/i18n/en_PISS.jsonc new file mode 100644 index 00000000..ddd831a0 --- /dev/null +++ b/src/i18n/en_PISS.jsonc @@ -0,0 +1,312 @@ +{ // Base File + + // i18n Info + "i18n.languageName": "piss", // name of language in native language + "i18n.languageNameEnglish": "English (piss)", // name of language in English + "i18n.category": "fun", // main = real language, fun = fun community languages + "i18n.authors": "@SoNothingMC", // Authors, if you contribute to this file feel free to add your name seperated with a space + + // App info + "app.name": "piss", + + "date.format": "${y}-${m}-${d}", // ISO 8601 for the win! + + // Dialogs + "dialog.cancel": "no piss", + "dialog.ok": "yes piss", + + // Notification + "notification.updatingLibrarySongs": "pisssing all over your songs", + "notification.updatingLibraryAlbums": "pissing all over your albums", + "notification.updatingLibraryArtists": "pissing all over your idols", + // Terms + "term.appleInc": "piss Inc.", + "term.appleMusic": "piss music", + "term.applePodcasts": "piss podcasts", + "term.itunes": "iPiss", + "term.github": "PissHub", + "term.discord": "Pisscord", + "term.learnMore": "piss more", + "term.accountSettings": "piss music settings", + "term.logout": "piss out", + "term.login": "piss in", + "term.about": "piss info", + "term.privateSession": "piss in private", + "term.queue": "to be pissed", + "term.search": "find piss", + "term.library": "obtained piss", + "term.listenNow": "piss now", + "term.browse": "find piss", + "term.radio": "piss everywhere", + "term.recentlyAdded": "recently obtained piss", + "term.songs": "piss list", // not to be confused with pisslist (playlist) + "term.albums": "piss collection", + "term.artists": "pissers", + "term.podcasts": "pisscasts", + "term.playlists": "pisslists", + "term.playlist": "pisslist", + "term.newPlaylist": "new pisslist", + "term.newPlaylistFolder": "new pisslist folder", + "term.createNewPlaylist": "create new pisslist", + "term.createNewPlaylistFolder": "create new pisslist folder", + "term.deletePlaylist": "obliterate pisslist?", + "term.play": "piss", + "term.pause": "hold your piss", + "term.previous": "piss", + "term.next": "piss", + "term.shuffle": "piss randomly", + "term.repeat": "piss at the same place", + "term.volume": "piss loudness", + "term.mute": "piss without sound", + "term.unmute": "piss with sound", + "term.share": "piss on your friends", + "term.settings": "pissettings", + "term.seeAll": "all of the piss", + "term.sortBy": "piss by", + "term.sortBy.album": "piss collection", + "term.sortBy.artist": "pissers", + "term.sortBy.name": "piss name", + "term.sortBy.genre": "way to piss", + "term.sortBy.releaseDate": "pissed date", + "term.sortBy.duration": "piss duration", + "term.sortOrder": "piss-PISS", + "term.sortOrder.ascending": "pissing upwards", + "term.sortOrder.descending": "pissing downwards", + "term.viewAs": "piss as", + "term.viewAs.coverArt": "piss art", + "term.viewAs.list": "piss list", // not to be confused with pisslist (playlist) + "term.size": "piss size", + "term.size.normal": "normal piss", + "term.size.compact": "compact piss", + "term.enable": "piss!", + "term.disable": "piss…", + "term.enabled": "pissed!", + "term.disabled": "pissed…", + "term.connect": "piss", + "term.connecting": "pissing", + "term.disconnect": "unpiss", + "term.authed": "pissed", + "term.confirm": "piss…?", + "term.more": "piss more", + "term.less": "piss less", + "term.showMore": "more piss", + "term.showLess": "less piss", + "term.topSongs" : "top piss", + "term.latestReleases": "latest piss collection", + "term.time.added": "pissed", + "term.time.released": "pissed", + "term.time.updated": "pissed", + "term.time.hours": "hours", + "term.time.hour": "hour", + "term.time.minutes": "minutes", + "term.time.minute": "minute", + "term.time.seconds": "seconds", + "term.time.second": "second", + "term.fullscreenView": "fullpiss view", + "term.defaultView": "normal piss view", + "term.audioSettings": "cool piss tricks", + "term.clearAll": "flush the toilet", + "term.recentStations": "recent pisses", + "term.language": "piss around the world", + "term.funLanguages": "piss languages", + "term.noLyrics": "piss…", + "term.copyright": "copypiss", + "term.rightsReserved": "all piss reserved.", + "term.sponsor": "piss on Cider", + "term.ciderTeam": "meet the pisseneers", + "term.developer": "pisseneer", + "term.socialTeam": "social pisser", + "term.socials": "our piss", + "term.contributors": "more pisseneers", + "term.equalizer": "advanced piss configuration", + "term.reset": "repiss", + "term.tracks": "pisses", // Assume x amount of tracks. e.g. 50 tracks + "term.videos": "piss videos 😳", + "term.menu": "piss menu", + "term.check": "piss!", + + // Home + "home.title": "piss central", + "home.recentlyPlayed": "recently pissed on", + "home.recentlyAdded": "recently obtained piss", + "home.artistsFeed": "your piss feed", + "home.artistsFeed.noArtist": "follow some pissers, their new piss will be here.", + "home.madeForYou": "pissed for you", + "home.friendsListeningTo": "friends pissing to", + "home.followedArtists": "followed pissers", + // Errors + "error.appleMusicSubRequired": "piss music requires, like y'know, an actual piss music subscription to actually use.", + "error.connectionError": "oh, piss.", + "error.noResults": "no piss found", + "error.noResults.description": "try pissing somewhere else (or press Enter/Return to search)", + + //Podcasts + "podcast.followOnCider": "piss on Cider", + "podcast.followedOnCider": "pissed on Cider", + "podcast.subscribeOnItunes": "piss on iPiss", + "podcast.subscribedOnItunes": "pissed On iPiss", + "podcast.itunesStore": "iPiss store", + "podcast.episodes": "pisses", + "podcast.playEpisode": "play piss", + "podcast.website": "pisscast site", + + // Actions + "action.addToLibrary": "obtain piss", + "action.addToLibrary.success": "piss obtained", + "action.addToLibrary.error": "error obtaining piss", + "action.removeFromLibrary": "unobtain piss", + "action.removeFromLibrary.success": "piss unobtained", + "action.addToQueue": "add to toilet", + "action.addToQueue.success": "added to toilet", + "action.addToQueue.error": "error adding to toilet", + "action.removeFromQueue": "flsuh from the toilet", + "action.removeFromQueue.success": "flushed from the toilet", + "action.removeFromQueue.error": "error flushing from toilet", + "action.createPlaylist": "create new pisslist", + "action.addToPlaylist": "add to pisslist", + "action.removeFromPlaylist": "flush from pisslist", + "action.addToFavorites": "add to favourite piss", + "action.follow": "follow pisser", + "action.follow.success": "pisser followed", + "action.follow.error": "error following pisser", + "action.unfollow": "unfollow pisser", + "action.unfollow.success": "pisser unfollowed", + "action.unfollow.error": "error unfollowing pisser", + "action.playNext": "piss next", + "action.playLater": "piss later", + "action.startRadio": "start pissing everywhere", + "action.goToArtist": "go to pisser", + "action.goToAlbum": "go to piss collection", + "action.moveToTop": "piss to top", + "action.share": "piss on your friends", + "action.rename": "rename piss", + "action.love": "love piss", + "action.unlove": "unlove piss", + "action.dislike": "dislike piss", + "action.undoDislike": "undislike piss", + "action.showWebRemoteQR": "piss remote", + "action.playTracksNext": "piss ${app.selectedMediaItems.length} pisses next", + "action.playTracksLater": "piss ${app.selectedMediaItems.length} pisses later", + "action.removeTracks": "flush ${self.selectedItems.length} pisses from toilet", + "action.import": "impiss", + "action.export": "expiss", + "action.showAlbum": "show complete piss collection", + // Waiting on Core for moving plugin to app.ts + "action.tray.minimize": "piss off to tray", + "action.tray.quit": "piss off", + "action.tray.show": "piss back", + + // Settings - General + "settings.header.general": "general", + "settings.header.general.description": "the dumping place for settings when there are no other places to put them into", + "settings.option.general.language": "piss around the world", + + // Language optgroups + "settings.option.general.language.main": "actaul human languages", + "settings.option.general.language.fun": "piss languages", + "settings.option.general.language.unsorted": "???? who put this here", + + // Settings - Audio + "settings.header.audio": "piss sounds", + "settings.header.audio.description": "change how your piss sounds", + "settings.option.audio.quality": "piss quality", // Dropdown + "settings.header.audio.quality.high": "nice piss", + "settings.header.audio.quality.low": "piss with blood", + "settings.header.audio.quality.auto": "automatic piss", + "settings.option.audio.seamlessTransition": "seamless piss-to-piss transition", // Toggle + "settings.option.audio.enableAdvancedFunctionality": "cool piss tricks", // Toggle + "settings.option.audio.enableAdvancedFunctionality.description": "enabling the AudioContext thingy allows you to do cool stuffs, however on some systems your song may stutter", + "settings.option.audio.enableAdvancedFunctionality.audioNormalization": "piss normaliztion", // Toggle + "settings.option.audio.enableAdvancedFunctionality.audioNormalization.description": "protect your eardrums from overly loud/slient pisses", + "settings.option.audio.enableAdvancedFunctionality.audioSpatialization": "3D piss", // Toggle + "settings.option.audio.enableAdvancedFunctionality.audioSpatialization.description": "this aint the dolby atmos you are looking for but its still pretty crazy so check it out", + // Settings - Visual + "settings.header.visual": "piss appearance", + "settings.header.visual.description": "change how your piss looks", + "settings.option.visual.windowBackgroundStyle": "background piss", // Toggle + "settings.header.visual.windowBackgroundStyle.none": "no piss", + "settings.header.visual.windowBackgroundStyle.artwork": "piss art", + "settings.header.visual.windowBackgroundStyle.image": "piss image", + "settings.option.visual.animatedArtwork": "moving piss art", // Dropdown + "settings.header.visual.animatedArtwork.always": "yes piss", + "settings.header.visual.animatedArtwork.limited": "only piss pages and special pisses", + "settings.header.visual.animatedArtwork.disable": "no piss", + "settings.option.visual.animatedArtworkQuality": "moving piss art quality", // Dropdown + "settings.header.visual.animatedArtworkQuality.low": "piss with blood", + "settings.header.visual.animatedArtworkQuality.medium": "okay piss", + "settings.header.visual.animatedArtworkQuality.high": "nice piss", + "settings.header.visual.animatedArtworkQuality.veryHigh": "good piss", + "settings.header.visual.animatedArtworkQuality.extreme": "literally 4k piss", + "settings.option.visual.animatedWindowBackground": "moving background piss", // Toggle + "settings.option.visual.hardwareAcceleration": "make Cider piss faster", // Dropdown + "settings.option.visual.hardwareAcceleration.description": "you need to relaunch Cider", + "settings.header.visual.hardwareAcceleration.default": "default piss", + "settings.header.visual.hardwareAcceleration.webGPU": "WebPISS", + // Refer to term.disabled for the disabled option + "settings.option.visual.showPersonalInfo": "show yourself to the pissiverse", // Toggle + + // Settings - Lyrics + "settings.header.lyrics": "piss lyrics", + "settings.header.lyrics.description": "change how your piss speaks to you", + "settings.option.lyrics.enableMusixmatch": "Musixpiss piss lyrics", // Toggle + "settings.option.lyrics.enableMusixmatchKaraoke": "pissraoke mode (Musixpiss only)", // Toggle + "settings.option.lyrics.musixmatchPreferredLanguage": "language for Musixpiss translations", // Dropdown + "settings.option.lyrics.enableYoutubeLyrics": "PissTube subtitles for piss videos", // Toggle + + // Settings - Connectivity + "settings.header.connectivity": "pisser-to-pisser connections", + "settings.header.connectivity.description": "change how Cider piss on other people, including you", + "settings.option.connectivity.discordRPC": "Pisscord rich pissence", // Dropdown + "settings.option.connectivity.playbackNotifications": "toilet notifications", // Toggle + // Refer to term.disabled for the disabled option + "settings.header.connectivity.discordRPC.cider": "piss as 'Cider'", + "settings.header.connectivity.discordRPC.appleMusic": "piss as 'piss music'", + "settings.option.connectivity.discordRPC.clearOnPause": "flush Pisscord rich pissence when holding your piss", // Toggle + "settings.option.connectivity.lastfmScrobble": "Piss.fm scrobbling", // Option to Connect + "settings.option.connectivity.lastfmScrobble.delay": "Piss.fm scrobble delay (%)", + "settings.option.connectivity.lastfmScrobble.nowPlaying": "push now playing data to Piss.fm", + "settings.option.connectivity.lastfmScrobble.removeFeatured": "remove featured pissers from piss names (Piss.fm)", + "settings.option.connectivity.lastfmScrobble.filterLoop": "filter same piss (Piss.fm)", + // Refer to term.connect for the connect button + + // Settings - Experimental + "settings.header.experimental": "piss lab", + "settings.header.experimental.description": "mitochondria is the powerhouse of the cell", + "settings.option.experimental.compactUI": "compact piss", // Toggle + "settings.option.experimental.closeButtonBehaviour": "piss off button behaviour", + "settings.option.experimental.closeButtonBehaviour.quit": "ask cider to piss off", + "settings.option.experimental.closeButtonBehaviour.minimizeTaskbar": "piss off to the taskbar", + "settings.option.experimental.closeButtonBehaviour.minimizeTray": "piss off to the tray", + // Refer to term.disabled & term.enabled + + // Spatialization Menu + "spatial.notTurnedOn": "3D piss is not on. turn it on lol", + "spatial.spatialProperties": "3D properties", + "spatial.width": "longness", + "spatial.height": "thiccness", + "spatial.depth": "longness, the other way", + "spatial.gain": "eardrum explosion level", + "spatial.roomMaterials": "toilet materials", + "spatial.roomDimensions": "toilet size", + "spatial.roomPositions": "toilet positions", + "spatial.setDimensions": "set size", + "spatial.setPositions": "set positions", + "spatial.up": "the piss on the ceiling", + "spatial.front": "the piss in front", + "spatial.left": "the piss on the left", + "spatial.right": "the piss on the right", + "spatial.back": "the piss at the back", + "spatial.down": "the piss on the floor", + "spatial.listener": "you", + "spatial.audioSource": "piss source", + + // Settings - Unfinished + "settings.header.unfinished": "DLC piss", + + // Web Remote + "remote.web.title": "piss remote", + "remote.web.description": "piss on your phone camera to connect to Cider.", + + // About + "about.thanks": "thanks to the Cider Collective team and all the pisseneers putting this together" +} diff --git a/src/i18n/en_US.jsonc b/src/i18n/en_US.jsonc index bf225f3b..cb697d77 100644 --- a/src/i18n/en_US.jsonc +++ b/src/i18n/en_US.jsonc @@ -123,6 +123,7 @@ "term.tracks": "tracks", // Assume x amount of tracks. e.g. 50 tracks "term.videos": "Videos", "term.menu": "Menu", + "term.check": "Check", // Home "home.title": "Home", @@ -261,11 +262,11 @@ "settings.header.connectivity.discordRPC.cider": "Display as 'Cider'", "settings.header.connectivity.discordRPC.appleMusic": "Display as 'Apple Music'", "settings.option.connectivity.discordRPC.clearOnPause": "Clear Discord Rich Presence on Pause", // Toggle - "settings.option.connectivity.lastfmScrobble": "LastFM Scrobbling", // Option to Connect - "settings.option.connectivity.lastfmScrobble.delay": "LastFM Scrobble Delay (%)", - "settings.option.connectivity.lastfmScrobble.nowPlaying": "Enable LastFM Now Playing", - "settings.option.connectivity.lastfmScrobble.removeFeatured": "Remove featuring artists from song title (LastFM)", - "settings.option.connectivity.lastfmScrobble.filterLoop": "Filter looped track (LastFM)", + "settings.option.connectivity.lastfmScrobble": "Last.fm Scrobbling", // Option to Connect + "settings.option.connectivity.lastfmScrobble.delay": "Last.fm Scrobble Delay (%)", + "settings.option.connectivity.lastfmScrobble.nowPlaying": "Enable Last.fm Now Playing", + "settings.option.connectivity.lastfmScrobble.removeFeatured": "Remove featuring artists from song title (Last.fm)", + "settings.option.connectivity.lastfmScrobble.filterLoop": "Filter looped track (Last.fm)", // Refer to term.connect for the connect button // Settings - Experimental @@ -277,24 +278,24 @@ // Spatialization Menu "spatial.notTurnedOn": "Audio Spatialization is disabled. To use, please enable it first.", - "spatial.spatialProperties" : "Spatial Properties", - "spatial.width" : "Width", - "spatial.height" : "Height", - "spatial.depth" : "Depth", - "spatial.gain" : "Gain", - "spatial.roomMaterials" : "Room Materials", - "spatial.roomDimensions" : "Room Dimensions", - "spatial.roomPositions" : "Room Positions", - "spatial.setDimensions" : "Set Dimensions", - "spatial.setPositions" : "Set Positions", - "spatial.up" : "Up", - "spatial.front" : "Front", - "spatial.left" : "Left", - "spatial.right" : "Right", - "spatial.back" : "Back", - "spatial.down" : "Down", - "spatial.listener" : "Listener", - "spatial.audioSource" : "Audio Source", + "spatial.spatialProperties": "Spatial Properties", + "spatial.width": "Width", + "spatial.height": "Height", + "spatial.depth": "Depth", + "spatial.gain": "Gain", + "spatial.roomMaterials": "Room Materials", + "spatial.roomDimensions": "Room Dimensions", + "spatial.roomPositions": "Room Positions", + "spatial.setDimensions": "Set Dimensions", + "spatial.setPositions": "Set Positions", + "spatial.up": "Up", + "spatial.front": "Front", + "spatial.left": "Left", + "spatial.right": "Right", + "spatial.back": "Back", + "spatial.down": "Down", + "spatial.listener": "Listener", + "spatial.audioSource": "Audio Source", // Settings - Unfinished "settings.header.unfinished": "Unfinished", diff --git a/src/i18n/hu_HU.jsonc b/src/i18n/hu_HU.jsonc index 1c30c053..04e95104 100644 --- a/src/i18n/hu_HU.jsonc +++ b/src/i18n/hu_HU.jsonc @@ -4,7 +4,7 @@ "i18n.languageName": "Magyar", // name of language in native language "i18n.languageNameEnglish": "Hungarian", // name of language in English "i18n.category": "main", // main = real language, fun = fun community languages - "i18n.authors": "@Greenoliv @Rias", // Authors, if you contribute to this file feel free to add your name seperated with a space + "i18n.authors": "@Greenoliv @Rias @BenjaminStonawski", // Authors, if you contribute to this file feel free to add your name seperated with a space // App info "app.name": "Cider", @@ -22,7 +22,7 @@ // Terms "term.appleInc": "Apple Inc.", "term.appleMusic": "Apple Music", - "term.applePodcasts": "Apple Podcastok", + "term.applePodcasts": "Apple Podcasts", "term.itunes": "iTunes", "term.github": "GitHub", "term.discord": "Discord", @@ -30,7 +30,7 @@ "term.accountSettings": "Fiókbeállítások", "term.logout": "Kijelentkezés", "term.login": "Bejelentkezés", - "term.about": "About", + "term.about": "Névjegy", "term.privateSession": "Privát hallgatás", "term.queue": "Várólista", "term.search": "Keresés", @@ -45,6 +45,11 @@ "term.podcasts": "Podcastok", "term.playlists": "Lejátszási listák", "term.playlist": "Lejátszási lista", + "term.newPlaylist": "Új lejátszási lista", + "term.newPlaylistFolder": "Új lejátszási lista mappa", + "term.createNewPlaylist": "Új lejátszási lista létrehozása", + "term.createNewPlaylistFolder": "Új lejátszási lista mappa létrehozása", + "term.deletePlaylist": "Biztosan szeretné törölni a lejátszási listát?", "term.play": "Lejátszás", "term.pause": "Megállítás", "term.previous": "Előző", @@ -80,14 +85,14 @@ "term.connect": "Csatlakoztatás", "term.connecting": "Csatlakozás", "term.disconnect": "Lecsatlakozatás", - "term.authed": "Authed", - "term.confirm": "Jóváhagyás ?", + "term.authed": "Hitelesítve", + "term.confirm": "Jóváhagyja?", "term.more": "Több", "term.less": "Kevesebb", "term.showMore": "Mutass többet", "term.showLess": "Mutass kevesebbet", "term.topSongs" : "A legjobb dalok", - "term.latestReleases": "Új megjelenések", + "term.latestReleases": "Új zenék", "term.time.added": "Hozzáadva", "term.time.released": "Kiadva", "term.time.updated": "Frissítve", @@ -99,33 +104,35 @@ "term.time.second": "másodperc", "term.fullscreenView": "Teljes képernyős mód", "term.defaultView": "Alapértelmezett nézet", - "term.spacializedAudioSetting": "Térbeli hang", + "term.spacializedAudioSetting": "Térbeli hangzás", "term.clearAll": "Összes törlése", "term.recentStations": "Nemrég játszott", "term.language": "Nyelv", - "term.funLanguages": "Játékos", + "term.funLanguages": "Mókás", "term.noLyrics": "Betöltés... / Dalszöveg nem található. / Instrumentális.", - "term.copyright": "Copyright", + "term.copyright": "Szerzői jog", "term.rightsReserved": "Minden jog fenntartva.", - "term.sponsor": "Támogasd ezt a projektet", - "term.ciderTeam": "A Cider Csapata", + "term.sponsor": "Támogasd a projektet", + "term.ciderTeam": "A Cider csapata", "term.developer": "Fejlesztő", - "term.socialTeam": "Social Team", - "term.contributors": "Contributors", - "term.equalizer": "Equalizer", - "term.reset": "Reset", + "term.socialTeam": "Szociális csapat", + "term.socials": "Szociális", + "term.contributors": "Közreműködők", + "term.equalizer": "Hangszínszabályozó", + "term.reset": "Visszaállítás", "term.tracks": "zeneszám", // Assume x amount of tracks. e.g. 50 tracks "term.videos": "Videók", "term.menu": "Menü", + "term.check": "Bejelöl", // Home "home.title": "Kezdőlap", "home.recentlyPlayed": "Nemrég játszott", "home.recentlyAdded": "Nemrég hozzáadott", "home.artistsFeed": "Az előadóid feedje", - "home.artistsFeed.noArtist": "Kövess néhány művészt, hogy a legújabb zenéik itt legyenek", - "home.madeForYou": "Személyre szabva", - "home.friendsListeningTo": "A barátok épp ezt hallgatják", + "home.artistsFeed.noArtist": "Kövess néhány előadót, hogy a legújabb zenéi itt megjelenhessenek.", + "home.madeForYou": "Neked készítve", + "home.friendsListeningTo": "A barátaid épp ezt hallgatják", "home.followedArtists": "Követett előadók", // Errors "error.appleMusicSubRequired": "Apple Music előfizetés szükséges.", @@ -141,20 +148,21 @@ "podcast.itunesStore": "iTunes Store", "podcast.episodes": "Epizódok", "podcast.playEpisode": "Epizód lejátszása", - "podcast.website": "Podcast Weboldala", + "podcast.website": "Podcast weboldala", // Actions - "action.addToLibrary": "Hozzáadás a Könyvtárhoz", - "action.addToLibrary.success": "Hozzáadva a Könyvtárhoz", - "action.addToLibrary.error": "Hiba történt! Sikertelen hozzáadás.", + "action.addToLibrary": "Hozzáadás a könyvtárhoz", + "action.addToLibrary.success": "Hozzáadva a könyvtárhoz", + "action.addToLibrary.error": "Hiba a hozzáadáskor.", "action.removeFromLibrary": "Törlés a Könytárból", - "action.removeFromLibrary.success": "Törölve a Könyvtárból", + "action.removeFromLibrary.success": "Törölve a könyvtárból", "action.addToQueue": "Hozzáadás a várólistához", "action.addToQueue.success": "Hozzáadva a várólistához", "action.addToQueue.error": "Sikertelen hozzáadás a várólistához", "action.removeFromQueue": "Törlés a várólistáról", "action.removeFromQueue.success": "Törölve a várólistáról", "action.removeFromQueue.error": "Sikertelen törlés a várólistáról", + "action.createPlaylist": "Új lejátszási lista létrehozása", "action.addToPlaylist": "Lejátszási listához adás", "action.removeFromPlaylist": "Törlés a lejátszási listáról", "action.addToFavorites": "Hozzáadás a kedvencekhez", @@ -166,52 +174,58 @@ "action.unfollow.error": "Sikertelen visszavonás", "action.playNext": "Lejátszás következőként", "action.playLater": "Lejátszás utolsóként", - "action.startRadio": "Állomás létrehozása", + "action.startRadio": "Rádióállomás létrehozása", "action.goToArtist": "Előadó megjelenítése", "action.goToAlbum": "Album megjelenítése", "action.moveToTop": "Mozgatás legfelülre", "action.share": "Megosztás", "action.rename": "Átnevezés", - "action.love": "Szeretem", - "action.unlove": "Mégsem szeretem", - "action.dislike": "Kevesebb ilyen javasolása", - "action.undoDislike": "A Kevesebb ilyen javasolása visszavonása", + "action.love": "Kedvelés", + "action.unlove": "Kedvelés visszavonása", + "action.dislike": "Nem kedvelem", + "action.undoDislike": "Nem kedvelés visszavonása", "action.showWebRemoteQR": "Távirányító QR kód megjelenítése", - "action.playTracksNext": "Play ${app.selectedMediaItems.length} tracks next", - "action.playTracksLater": "Play ${app.selectedMediaItems.length} tracks later", - "action.removeTracks": "Remove ${self.selectedItems.length} tracks from queue", + "action.playTracksNext": "${app.selectedMediaItems.length} zenék lejátszása következőnek", + "action.playTracksLater": "${app.selectedMediaItems.length} zenék lejátszása később", + "action.removeTracks": "${self.selectedItems.length} zenék eltávolítása a várólistáról", "action.import": "Importálás", "action.export": "Exportálás", + "action.showAlbum": "Teljes album megjelenítése", + // Waiting on Core for moving plugin to app.ts + "action.tray.minimize": "Kicsinyítés a tálcára", + "action.tray.quit": "Kilépés", + "action.tray.show": "Megjelenítés", // Settings - General - "settings.header.general": "General", - "settings.header.general.description": "Adjust the general settings for Cider.", - "settings.option.general.language": "Language", + "settings.header.general": "Általános", + "settings.header.general.description": "A Cider általános beállításainak módosítása", + "settings.option.general.language": "Nyelv", // Language optgroups - "settings.option.general.language.main": "Languages", - "settings.option.general.language.fun": "Fun Languages", - "settings.option.general.language.unsorted": "Unsorted", + "settings.option.general.language.main": "Nyelvek", + "settings.option.general.language.fun": "Mókás nyelvek", + "settings.option.general.language.unsorted": "Nem besorolható", // Settings - Audio "settings.header.audio": "Hang", - "settings.header.audio.description": "A Cider hangbeállításainak módosítása.", + "settings.header.audio.description": "A Cider hangbeállításainak módosítása", "settings.option.audio.quality": "Hangminőség", // Dropdown "settings.header.audio.quality.high": "Magas", "settings.header.audio.quality.low": "Alacsony", - "settings.header.audio.quality.auto": "Auto", + "settings.header.audio.quality.auto": "Automatikus", "settings.option.audio.seamlessTransition": "Szünetmentes lejátszás", // Toggle "settings.option.audio.enableAdvancedFunctionality": "Haladó funkcionalitás engedélyezése", // Toggle - "settings.option.audio.enableAdvancedFunctionality.description": "Az AudioContext funkció engedélyezése lehetővé teszi a fejlettebb hangfunkciókat, például a Normalizásást, az Equalizereket és a Visualizer funkciókat, azonban egyes számítógépeken ez akadozást okozhat a hangsávokban.", + "settings.option.audio.enableAdvancedFunctionality.description": "Az AudioContext funkció engedélyezése lehetővé teszi a fejlettebb hangfunkciókat, például a normalizásást, a hangszínszabályozót és a vizualizáció funkciókat, azonban egyes számítógépeken ez akadozást okozhat a hangsávokban.", "settings.option.audio.enableAdvancedFunctionality.audioNormalization": "Normalizálás", // Toggle "settings.option.audio.enableAdvancedFunctionality.audioNormalization.description": "Normalizálja az egyes zeneszámok hangosabb részeit, hogy egységesebb hallgatási élményt hozzon létre.", - "settings.option.audio.enableAdvancedFunctionality.audioSpatialization": "Térbeli hang", // Toggle - "settings.option.audio.enableAdvancedFunctionality.audioSpatialization.description": "Térbeli hang és a hang háromdimenziósabbá tétele (Ez nem összekeverendő a Dolby Atmos-szal!)", + "settings.option.audio.enableAdvancedFunctionality.audioSpatialization": "Térbeli hangzás", // Toggle + "settings.option.audio.enableAdvancedFunctionality.audioSpatialization.description": "Térbeli hangzás és a hang háromdimenziósabbá tétele (Ez nem összekeverendő a Dolby Atmos-szal!)", + // Settings - Visual "settings.header.visual": "Vizuális", "settings.header.visual.description": "A Cider vizuális beállításainak módosítása.", "settings.option.visual.windowBackgroundStyle": "Ablak háttér stílusa", // Toggle - "settings.header.visual.windowBackgroundStyle.none": "None", + "settings.header.visual.windowBackgroundStyle.none": "Egyik sem", "settings.header.visual.windowBackgroundStyle.artwork": "Borító", "settings.header.visual.windowBackgroundStyle.image": "Kép", "settings.option.visual.animatedArtwork": "Animált borító", // Dropdown @@ -236,12 +250,12 @@ "settings.header.lyrics": "Dalszöveg", "settings.header.lyrics.description": "A Cider dalszöveg beállításainak módosítása.", "settings.option.lyrics.enableMusixmatch": "MusixMatch dalszövegek engedélyezése", // Toggle - "settings.option.lyrics.enableMusixmatchKaraoke": "Karaoke mód bekapcsolása (Csak MusixMatch)", // Toggle + "settings.option.lyrics.enableMusixmatchKaraoke": "Karaoke mód bekapcsolása (Csak MusixMatch esetén)", // Toggle "settings.option.lyrics.musixmatchPreferredLanguage": "MusixMatch fordítás nyelve", // Dropdown "settings.option.lyrics.enableYoutubeLyrics": "YouTube dalszövegek engedélyezése a zenei videóknál", // Toggle // Settings - Connectivity - "settings.header.connectivity": "Csatlakozások", + "settings.header.connectivity": "Csatlakozhatóságok", "settings.header.connectivity.description": "A Cider csatlakozás beállításainak módosítása.", "settings.option.connectivity.discordRPC": "Discord Rich Presence", // Dropdown // Refer to term.disabled for the disabled option @@ -266,32 +280,33 @@ // Refer to term.disabled & term.enabled // Spatialization Menu - "spatial.spatialProperties" : "Térbeli hang", - "spatial.width" : "Szélesség", - "spatial.height" : "Magasság", - "spatial.depth" : "Hosszúság", - "spatial.gain" : "Gain", - "spatial.roomMaterials" : "Szoba felépítése", - "spatial.roomDimensions" : "Room Dimensions", - "spatial.roomPositions" : "Room Positions", - "spatial.setDimensions" : "Set Dimensions", - "spatial.setPositions" : "Set Positions", - "spatial.up" : "Fent", - "spatial.front" : "Elől", - "spatial.left" : "Balra", - "spatial.right" : "Jobbra", - "spatial.back" : "Hátul", - "spatial.down" : "Lent", - "spatial.listener" : "Listener", - "spatial.audioSource" : "Audio Source", + "spatial.notTurnedOn": "A térbeli hangzás ki van kapcsolva, használatához kapcsolja be.", + "spatial.spatialProperties": "Térbeli hangzás", + "spatial.width": "Szélesség", + "spatial.height": "Magasság", + "spatial.depth": "Hosszúság", + "spatial.gain": "Gain", + "spatial.roomMaterials": "Szoba felépítése", + "spatial.roomDimensions": "Szoba méretei", + "spatial.roomPositions": "Szoba pozíciói", + "spatial.setDimensions": "Méretek beállítása", + "spatial.setPositions": "Pozíciók beállítása", + "spatial.up": "Fent", + "spatial.front": "Elől", + "spatial.left": "Balra", + "spatial.right": "Jobbra", + "spatial.back": "Hátul", + "spatial.down": "Lent", + "spatial.listener": "Hallgató", + "spatial.audioSource": "Hangforrás", // Settings - Unfinished - "settings.header.unfinished": "Félkész", + "settings.header.unfinished": "Befejezetlen", // Web Remote "remote.web.title": "Cider Remote", "remote.web.description": "Olvasd be ezt a QR-kódot a telefonoddal, hogy tudd vezérelni a lejátszót.", // About - "about.thanks": "Köszönet a Cider Collective csapatának és minden hozzájárulónak." + "about.thanks": "Köszönet a Cider Collective csapatának és minden közreműködőnek." } diff --git a/src/i18n/it_IT.jsonc b/src/i18n/it_IT.jsonc new file mode 100644 index 00000000..5c3589f0 --- /dev/null +++ b/src/i18n/it_IT.jsonc @@ -0,0 +1,312 @@ +{ // Base File + + // i18n Info + "i18n.languageName": "Italiano", // name of language in native language + "i18n.languageNameEnglish": "Italian", // name of language in English + "i18n.category": "main", // main = real language, fun = fun community languages + "i18n.authors": "ConnectedR", // Authors, if you contribute to this file feel free to add your name seperated with a space + + // App info + "app.name": "Cider", + + "date.format": "${d} ${m}, ${y}", + + // Dialogs + "dialog.cancel": "Annulla", + "dialog.ok": "OK", + + // Notification + "notification.updatingLibrarySongs": "Aggiornamento raccolta brani...", + "notification.updatingLibraryAlbums": "Aggornamento raccolta album...", + "notification.updatingLibraryArtists": "Aggiornamento raccolta artisti...", + // Terms + "term.appleInc": "Apple Inc.", + "term.appleMusic": "Apple Music", + "term.applePodcasts": "Apple Podcasts", + "term.itunes": "iTunes", + "term.github": "GitHub", + "term.discord": "Discord", + "term.learnMore": "Impara di più", + "term.accountSettings": "Impostazioni Account", + "term.logout": "Disconnetti", + "term.login": "Accedi", + "term.about": "Informazioni", + "term.privateSession": "Sessione Privata", + "term.queue": "Coda", + "term.search": "Cerca", + "term.library": "Raccolta", + "term.listenNow": "Ascolta ora", + "term.browse": "Sfoglia", + "term.radio": "Radio", + "term.recentlyAdded": "Aggiunto di recente", + "term.songs": "Brani", + "term.albums": "Album", + "term.artists": "Artisti", + "term.podcasts": "Podcast", + "term.playlists": "Playlist", + "term.playlist": "Playlist", + "term.newPlaylist": "Nuova Playlist", + "term.newPlaylistFolder": "Nuova Cartella Playlist", + "term.createNewPlaylist": "Crea Nuova Playlist", + "term.createNewPlaylistFolder": "Crea Nuova Cartella Playlist", + "term.deletePlaylist": "Sei sicuro che vuoi eliminare questa playlist?", + "term.play": "Riproduci", + "term.pause": "Pausa", + "term.previous": "Precedente", + "term.next": "Avanti", + "term.shuffle": "Shuffle", + "term.repeat": "Ripeti", + "term.volume": "Volume", + "term.mute": "Muta", + "term.unmute": "Riattiva", + "term.share": "Condividi", + "term.settings": "Impostazioni", + "term.seeAll": "Vedi tutto", + "term.sortBy": "Ordina per", + "term.sortBy.album": "Album", + "term.sortBy.artist": "Artista", + "term.sortBy.name": "Nome", + "term.sortBy.genre": "Genere", + "term.sortBy.releaseDate": "Data di rilascio", + "term.sortBy.duration": "Durata", + "term.sortOrder": "A-Z", + "term.sortOrder.ascending": "Crescente", + "term.sortOrder.descending": "Decrescente", + "term.viewAs": "Visualizza come", + "term.viewAs.coverArt": "Copertina", + "term.viewAs.list": "Lista", + "term.size": "Dimensione", + "term.size.normal": "Normale", + "term.size.compact": "Compatto", + "term.enable": "Attive", + "term.disable": "Disattiva", + "term.enabled": "Attivo", + "term.disabled": "Disattivo", + "term.connect": "Connetti", + "term.connecting": "Connessione", + "term.disconnect": "Disconnetti", + "term.authed": "Connesso", + "term.confirm": "Conferma?", + "term.more": "Altro", + "term.less": "Meno", + "term.showMore": "Mostra altro", + "term.showLess": "Mostra menu", + "term.topSongs" : "Brani top", + "term.latestReleases": "Uscite Recenti", + "term.time.added": "Aggiunto", + "term.time.released": "Rilasciato", + "term.time.updated": "Aggiornato", + "term.time.hours": "ore", + "term.time.hour": "ora", + "term.time.minutes": "minuti", + "term.time.minute": "minuto", + "term.time.seconds": "secondi", + "term.time.second": "secondo", + "term.fullscreenView": "Vista schermo pieno", + "term.defaultView": "Vista normale", + "term.audioSettings": "Impostazioni Audio", + "term.clearAll": "Rimuovi Tutto", + "term.recentStations": "Stazioni recenti", + "term.language": "Lingua", + "term.funLanguages": "Scherzo", + "term.noLyrics": "Caricamento... / Testo non trovato. / Strumentale.", + "term.copyright": "Copyright", + "term.rightsReserved": "Tutti i diritti riservati.", + "term.sponsor": "Sponsorizza questo progetto", + "term.ciderTeam": "Team di Cider", + "term.developer": "Sviluppatore", + "term.socialTeam": "Team Sociale", + "term.socials": "Social", + "term.contributors": "Contribuenti", + "term.equalizer": "Equalizzatore", + "term.reset": "Reset", + "term.tracks": "brani", // Assume x amount of tracks. e.g. 50 tracks + "term.videos": "Video", + "term.menu": "Menu", + "term.check": "Controllo", + + // Home + "home.title": "Casa", + "home.recentlyPlayed": "Ascoltato di recente", + "home.recentlyAdded": "Aggiunto di recente", + "home.artistsFeed": "Feed di Artisti", + "home.artistsFeed.noArtist": "Segui alcuni artisti e le loro uscite recenti appariranno qui", + "home.madeForYou": "Per Te", + "home.friendsListeningTo": "Ascoltato da Amici", + "home.followedArtists": "Artisti Seguiti", + // Errors + "error.appleMusicSubRequired": "Apple Music ha bisogno di un abbonamento.", + "error.connectionError": "C'è stato un problema nella connessione a Apple Music.", + "error.noResults": "Nessun risultato.", + "error.noResults.description": "Prova un'altra ricerca.", + + //Podcasts + "podcast.followOnCider": "Segui in Cider", + "podcast.followedOnCider": "Seguiti in Cider", + "podcast.subscribeOnItunes": "Iscriviti in iTunes", + "podcast.subscribedOnItunes": "Iscritto in iTunes", + "podcast.itunesStore": "iTunes Store", + "podcast.episodes": "Episodi", + "podcast.playEpisode": "Ascolta Episodio", + "podcast.website": "Sito Podcast", + + // Actions + "action.addToLibrary": "Aggiungi a Raccolta", + "action.addToLibrary.success": "Aggiunto a Raccolta", + "action.addToLibrary.error": "Errore ad Aggiungere a Raccolta", + "action.removeFromLibrary": "Rimuovi da Raccolta", + "action.removeFromLibrary.success": "Rimosso da Raccolta", + "action.addToQueue": "Aggiungi a Coda", + "action.addToQueue.success": "Aggiunto a Coda", + "action.addToQueue.error": "Errore ad Aggiungere a Coda", + "action.removeFromQueue": "Rimuovi da Coda", + "action.removeFromQueue.success": "Rimosso da Coda", + "action.removeFromQueue.error": "Errore a Rimuovere da Coda", + "action.createPlaylist": "Crea Nuova Playlist", + "action.addToPlaylist": "Aggiungi a Playlist", + "action.removeFromPlaylist": "Rimuovi da Playlist", + "action.addToFavorites": "Aggiungi a Preferiti", + "action.follow": "Segui", + "action.follow.success": "Seguito", + "action.follow.error": "Errore a Seguire", + "action.unfollow": "Non Seguire", + "action.unfollow.success": "Rimosso dai Seguiti", + "action.unfollow.error": "Errore a Rimuovere dai Seguiti", + "action.playNext": "Riproduci Dopo", + "action.playLater": "Riprodici in Fine", + "action.startRadio": "Inizia Radio", + "action.goToArtist": "Vai all'Artista", + "action.goToAlbum": "Vai all'Album", + "action.moveToTop": "Torna in Alto", + "action.share": "Condividi", + "action.rename": "Rinomina", + "action.love": "Mi Piace", + "action.unlove": "Rimuovi Mi Piace", + "action.dislike": "Non Mi Piace", + "action.undoDislike": "Rimuovi Non Mi Piace", + "action.showWebRemoteQR": "Telecomando Web", + "action.playTracksNext": "Riproduci ${app.selectedMediaItems.length} brani Dopo", + "action.playTracksLater": "Riproduci ${app.selectedMediaItems.length} brani in fine", + "action.removeTracks": "Riproduci ${self.selectedItems.length} brani dalla coda", + "action.import": "Importa", + "action.export": "Esporta", + "action.showAlbum": "Mostra Album Intero", + // Waiting on Core for moving plugin to app.ts + "action.tray.minimize": "Minimizza nel tray", + "action.tray.quit": "Chiudi", + "action.tray.show": "Mostra", + + // Settings - General + "settings.header.general": "Generale", + "settings.header.general.description": "Cambia le impostazioni generali di Cider.", + "settings.option.general.language": "Lingua", + + // Language optgroups + "settings.option.general.language.main": "Lingue", + "settings.option.general.language.fun": "Lingue da Scherzo", + "settings.option.general.language.unsorted": "Non ordinato", + + // Settings - Audio + "settings.header.audio": "Audio", + "settings.header.audio.description": "Cambia le impostazioni di audio di Cider.", + "settings.option.audio.quality": "Qualità di audio", // Dropdown + "settings.header.audio.quality.high": "Alta", + "settings.header.audio.quality.low": "Bassa", + "settings.header.audio.quality.auto": "Automatica", + "settings.option.audio.seamlessTransition": "Transizioni Audio Immediate", // Toggle + "settings.option.audio.enableAdvancedFunctionality": "Attiva funzionalità avanzata", // Toggle + "settings.option.audio.enableAdvancedFunctionality.description": "Attiva AudioContext per funzionalià audio avanzata Normalizzazione Audio, Equalizzatori and Visualizzatori, però su alcuni sistemi potrebbero causare lag nei brani.", + "settings.option.audio.enableAdvancedFunctionality.audioNormalization": "Normalizzazione Audio", // Toggle + "settings.option.audio.enableAdvancedFunctionality.audioNormalization.description": "Normalizza il volume massimo nei brani per un'esperienza d'ascolto più uniforme.", + "settings.option.audio.enableAdvancedFunctionality.audioSpatialization": "Spazializzazione Audio", // Toggle + "settings.option.audio.enableAdvancedFunctionality.audioSpatialization.description": "Spazializza l'audio per dare un effetto più tridimensionale (nota: questo non è Dolby Atmos)", + // Settings - Visual + "settings.header.visual": "Visuale", + "settings.header.visual.description": "Cambia le impostazioni visuali per Cider.", + "settings.option.visual.windowBackgroundStyle": "Stile Sfondo Finestra", // Toggle + "settings.header.visual.windowBackgroundStyle.none": "Nessuno", + "settings.header.visual.windowBackgroundStyle.artwork": "Copertina", + "settings.header.visual.windowBackgroundStyle.image": "Immagine", + "settings.option.visual.animatedArtwork": "Copertina Animata", // Dropdown + "settings.header.visual.animatedArtwork.always": "Sempre", + "settings.header.visual.animatedArtwork.limited": "Limita ad alcune pagine", + "settings.header.visual.animatedArtwork.disable": "Disattiva dappertutto", + "settings.option.visual.animatedArtworkQuality": "Qualità Copertina Animata", // Dropdown + "settings.header.visual.animatedArtworkQuality.low": "Bassa", + "settings.header.visual.animatedArtworkQuality.medium": "Media", + "settings.header.visual.animatedArtworkQuality.high": "Alta", + "settings.header.visual.animatedArtworkQuality.veryHigh": "Molto Alta", + "settings.header.visual.animatedArtworkQuality.extreme": "Estrema", + "settings.option.visual.animatedWindowBackground": "Sfondo Finestra Animato", // Toggle + "settings.option.visual.hardwareAcceleration": "Accelerazione Hardware", // Dropdown + "settings.option.visual.hardwareAcceleration.description": "Richiede riavvio del'app", + "settings.header.visual.hardwareAcceleration.default": "Normale", + "settings.header.visual.hardwareAcceleration.webGPU": "WebGPU", + // Refer to term.disabled for the disabled option + "settings.option.visual.showPersonalInfo": "Mostra Informazione Personale", // Toggle + + // Settings - Lyrics + "settings.header.lyrics": "Testi", + "settings.header.lyrics.description": "Aggiusta le impostazioni dei testi per Cider.", + "settings.option.lyrics.enableMusixmatch": "Attiva Testi Musixmatch", // Toggle + "settings.option.lyrics.enableMusixmatchKaraoke": "Attiva Modalità Karaoke (solo Musixmatch)", // Toggle + "settings.option.lyrics.musixmatchPreferredLanguage": "Lingua di Traduzione MusixMatch Preferita", // Dropdown + "settings.option.lyrics.enableYoutubeLyrics": "Attiva Testi da YouTube Per i Video ", // Toggle + + // Settings - Connectivity + "settings.header.connectivity": "Connectività", + "settings.header.connectivity.description": "Cambia le impostazioni di connettività per Cider.", + "settings.option.connectivity.discordRPC": "Discord Rich Presence", // Dropdown + "settings.option.connectivity.playbackNotifications": "Notifiche di Riproduzione", // Toggle + // Refer to term.disabled for the disabled option + "settings.header.connectivity.discordRPC.cider": "Mostra come 'Cider'", + "settings.header.connectivity.discordRPC.appleMusic": "Mostra come 'Apple Music'", + "settings.option.connectivity.discordRPC.clearOnPause": "Pausare Disattiva la Rich Presence", // Toggle + "settings.option.connectivity.lastfmScrobble": "Scrobbling LastFM", // Option to Connect + "settings.option.connectivity.lastfmScrobble.delay": "Ritardo di Scrobbling LastFM (%)", + "settings.option.connectivity.lastfmScrobble.nowPlaying": "Attiva Now Playing in LastFM", + "settings.option.connectivity.lastfmScrobble.removeFeatured": "Rimouvi Artisti Extra dal Titolo del Brano (LastFM)", + "settings.option.connectivity.lastfmScrobble.filterLoop": "Filtra Brani Ripetuti (LastFM)", + // Refer to term.connect for the connect button + + // Settings - Experimental + "settings.header.experimental": "Sperimentale", + "settings.header.experimental.description": "Cambia impostazioni sperimentali per Cider.", + "settings.option.experimental.compactUI": "Interfaccia Compatta", // Toggle + "settings.option.experimental.closeButtonBehaviour": "Comportamento Tasto Chiudi", + "settings.option.experimental.closeButtonBehaviour.quit": "Chiudi Cider", + "settings.option.experimental.closeButtonBehaviour.minimizeTaskbar": "Minimizza", + "settings.option.experimental.closeButtonBehaviour.minimizeTray": "Minimizza Nel Tray", + // Refer to term.disabled & term.enabled + + // Spatialization Menu + "spatial.notTurnedOn": "Spazializzazione Audio è disattivata. Attivala prima.", + "spatial.spatialProperties" : "Proprietà Spaziali", + "spatial.width" : "Larghezza", + "spatial.height" : "Altezza", + "spatial.depth" : "Profondità", + "spatial.gain" : "Guadagno", + "spatial.roomMaterials" : "Materiali Stanza", + "spatial.roomDimensions" : "Dimensioni Stanza", + "spatial.roomPositions" : "Posizioni Stanza", + "spatial.setDimensions" : "Imposta Dimensioni", + "spatial.setPositions" : "Imposta Posizioni", + "spatial.up" : "Sopra", + "spatial.front" : "In fronte", + "spatial.left" : "Sinistra", + "spatial.right" : "Destra", + "spatial.back" : "Dietro", + "spatial.down" : "Sotto", + "spatial.listener" : "Utente", + "spatial.audioSource" : "Fonte Audio", + + // Settings - Unfinished + "settings.header.unfinished": "Incompleto", + + // Web Remote + "remote.web.title": "Telecomando Cider", + "remote.web.description": "Leggi il codice QR per connettere il tuo telefono con questa istanza di Cider", + + // About + "about.thanks": "Grazie mille alla Team di Cider Collective e tutti i nostri contribuenti." +} \ No newline at end of file diff --git a/src/i18n/ja_JP.jsonc b/src/i18n/ja_JP.jsonc index 33ca832c..cd3bc171 100644 --- a/src/i18n/ja_JP.jsonc +++ b/src/i18n/ja_JP.jsonc @@ -98,6 +98,7 @@ "term.time.second": "秒", "term.fullscreenView": "全画面表示", "term.defaultView": "ウィンドウ表示", + "term.audioSettings": "オーディオ設定", "term.spacializedAudioSetting": "オーディオ空間化設定", "term.clearAll": "消去", "term.recentStations": "最近の再生", diff --git a/src/i18n/zh_CN.jsonc b/src/i18n/zh_CN.jsonc index 4052ab9e..520083c1 100644 --- a/src/i18n/zh_CN.jsonc +++ b/src/i18n/zh_CN.jsonc @@ -98,6 +98,7 @@ "term.time.second": "秒", "term.fullscreenView": "全屏", "term.defaultView": "默认", + "term.audioSettings": "音频设置", "term.spacializedAudioSetting": "音频空间化设置", "term.clearAll": "清空", "term.recentStations": "最近播放的频道", diff --git a/src/i18n/zh_TW.jsonc b/src/i18n/zh_TW.jsonc index 8464491c..3f78c5d8 100644 --- a/src/i18n/zh_TW.jsonc +++ b/src/i18n/zh_TW.jsonc @@ -98,6 +98,7 @@ "term.time.second": "秒", "term.fullscreenView": "全螢幕顯示", "term.defaultView": "預設顯示", + "term.audioSettings": "音訊設定", "term.spacializedAudioSetting": "音頻空間化設置", "term.clearAll": "清空", "term.recentStations": "最近收聽的廣播", diff --git a/src/main/base/store.ts b/src/main/base/store.ts index d256e4c8..c26f429a 100644 --- a/src/main/base/store.ts +++ b/src/main/base/store.ts @@ -62,8 +62,15 @@ export class ConfigStore { 'Q' : [1,1,1,1,1,1,1,1,1,1], 'preamp' : 0, 'mix' : 1, + 'vibrantBass' : 0, 'presets': [], 'userGenerated': false + }, + "vibrantBass": { // Hard coded into the app. Don't include any of this config into exporting presets in store.ts + 'multiplier': 0, + 'frequencies': [17.182, 42.169, 53.763, 112.69, 119.65, 264.59, 336.57, 400.65, 505.48, 612.7, 838.7, 1155.3, 1175.6, 3406.8, 5158.6, 5968.1, 6999.9, 7468.6, 8862.9, 9666, 10109], + 'Q': [2.5, 0.388, 5, 5, 2.5, 7.071, 14.14, 10, 7.071, 14.14, 8.409, 0.372, 7.071, 10, 16.82, 7.071, 28.28, 20, 8.409, 40, 40], + 'gain': [-0.34, 2.49, 0.23, -0.49, 0.23, -0.12, 0.32, -0.29, 0.33, 0.19, -0.18, -1.27, -0.11, 0.25, -0.18, -0.53, 0.34, 1.32, 1.78, 0.41, -0.28] } }, "visual": { diff --git a/src/main/base/win.ts b/src/main/base/win.ts index 31b34442..1d6b1fc9 100644 --- a/src/main/base/win.ts +++ b/src/main/base/win.ts @@ -13,7 +13,7 @@ import * as mm from 'music-metadata'; import fetch from 'electron-fetch' import {wsapi} from "./wsapi"; import * as jsonc from "jsonc"; - +import { NsisUpdater, AppImageUpdater } from "electron-updater"; export class Win { private win: any | undefined = null; private app: any | undefined = null; @@ -529,6 +529,15 @@ export class Win { }) }); + electron.ipcMain.on('check-for-update', async (_event, url) => { + const options = { + provider: 'generic', + url: 'https://43-429851205-gh.circle-artifacts.com/0/%7E/Cider/dist/artifacts' //Base URL + } + const autoUpdater = new NsisUpdater(options) //Windows Only (for now) -q + autoUpdater.checkForUpdatesAndNotify() + }) + /* ********************************************************************************************* * Window Events * **********************************************************************************************/ diff --git a/src/renderer/audio/audio.js b/src/renderer/audio/audio.js index 948a4d7a..56b2ad01 100644 --- a/src/renderer/audio/audio.js +++ b/src/renderer/audio/audio.js @@ -7,6 +7,7 @@ var CiderAudio = { spatialInput: null, audioBands : null, preampNode : null, + vibrantbassNode: null, }, init: function (cb = function () { }) { //AudioOutputs.fInit = true; @@ -28,6 +29,7 @@ var CiderAudio = { try{ CiderAudio.audioNodes.spatialNode.disconnect();} catch(e){} try{ CiderAudio.audioNodes.preampNode.disconnect(); + CiderAudio.audioNodes.vibrantbassNode.disconnect(); CiderAudio.audioNodes.audioBands[0].disconnect(); CiderAudio.audioNodes.audioBands[9].disconnect(); } catch(e){} @@ -104,7 +106,10 @@ var CiderAudio = { let BANDS = app.cfg.audio.equalizer.frequencies; let GAIN = app.cfg.audio.equalizer.gain; let Q = app.cfg.audio.equalizer.Q; - CiderAudio.audioNodes.audioBands = []; + let VIBRANTBASSBANDS = app.cfg.audio.vibrantBass.frequencies; + let VIBRANTBASSGAIN = app.cfg.audio.vibrantBass.gain; + let VIBRANTBASSQ = app.cfg.audio.vibrantBass.Q; + CiderAudio.audioNodes.audioBands = []; CiderAudio.audioNodes.vibrantbassNode = []; for (i = 0; i < BANDS.length; i++) { CiderAudio.audioNodes.audioBands[i] = CiderAudio.context.createBiquadFilter(); @@ -119,6 +124,14 @@ var CiderAudio = { CiderAudio.audioNodes.preampNode.frequency.value = 0; // allow all CiderAudio.audioNodes.preampNode.gain.value = app.cfg.audio.equalizer.preamp; + for (i = 0; i < VIBRANTBASSBANDS.length; i++) { + CiderAudio.audioNodes.vibrantbassNode[i] = CiderAudio.context.createBiquadFilter(); + CiderAudio.audioNodes.vibrantbassNode[i].type = 'peaking'; // 'peaking'; + CiderAudio.audioNodes.vibrantbassNode[i].frequency.value = VIBRANTBASSBANDS[i]; + CiderAudio.audioNodes.vibrantbassNode[i].Q.value = VIBRANTBASSQ[i]; + CiderAudio.audioNodes.vibrantbassNode[i].gain.value = VIBRANTBASSGAIN[i] * app.cfg.audio.vibrantBass.multiplier; + } + if (app.cfg.audio.spatial) { try{ CiderAudio.audioNodes.spatialNode.output.disconnect(CiderAudio.context.destination); } catch(e){} @@ -129,7 +142,12 @@ var CiderAudio = { CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.preampNode); } - CiderAudio.audioNodes.preampNode.connect(CiderAudio.audioNodes.audioBands[0]); + CiderAudio.audioNodes.preampNode.connect(CiderAudio.audioNodes.vibrantbassNode[0]); + + for (i = 1; i < VIBRANTBASSBANDS.length; i ++) { + CiderAudio.audioNodes.vibrantbassNode[i-1].connect(CiderAudio.audioNodes.vibrantbassNode[i]); + } + CiderAudio.audioNodes.vibrantbassNode[VIBRANTBASSBANDS.length-1].connect(CiderAudio.audioNodes.audioBands[0]); for (i = 1; i < BANDS.length; i ++) { CiderAudio.audioNodes.audioBands[i-1].connect(CiderAudio.audioNodes.audioBands[i]); diff --git a/src/renderer/index.js b/src/renderer/index.js index 955d7246..55cd45ea 100644 --- a/src/renderer/index.js +++ b/src/renderer/index.js @@ -3534,9 +3534,11 @@ const app = new Vue({ }, closeWindow(){ ipcRenderer.send('close'); + }, + checkForUpdate(){ + ipcRenderer.send('check-for-update') } - } - + } }) Vue.component('animated-number', { diff --git a/src/renderer/style.less b/src/renderer/style.less index 6a54d27e..5b12b25a 100644 --- a/src/renderer/style.less +++ b/src/renderer/style.less @@ -5737,8 +5737,8 @@ body.no-gpu { .modal-window { height: 330px; max-height: 330px; - width: 720px; - max-width: 720px; + width: 800px; + max-width: 800px; overflow: hidden; .info-header { @@ -5790,7 +5790,7 @@ body.no-gpu { .input-container{ display: inline-grid; - width: 52px; + width: 54px; justify-items: center; font-size: 0.7em; } diff --git a/src/renderer/views/components/equalizer.ejs b/src/renderer/views/components/equalizer.ejs index 0f41e942..afcfd86e 100644 --- a/src/renderer/views/components/equalizer.ejs +++ b/src/renderer/views/components/equalizer.ejs @@ -5,7 +5,7 @@